what is thread testing software testing
Αυτό το σεμινάριο εξηγεί τι είναι το Thread Testing, πότε και πώς να το εκτελέσετε, τύποι δοκιμών βασισμένων σε νήματα και προκλήσεις που αντιμετωπίζετε:
Το Thread testing είναι μια τεχνική δοκιμής λογισμικού που χρησιμοποιείται για τον έλεγχο των εφαρμογών που βασίζονται σε διακομιστές.
Οι δοκιμές βάσει νήματος πρέπει να εκτελούνται στα αρχικά στάδια της δοκιμής ενοποίησης, έτσι ώστε οι βασικές λειτουργίες να μπορούν να δοκιμαστούν / επαληθευτούν για μια συγκεκριμένη εργασία / πρόγραμμα ή νήμα.
Τι θα μάθετε:
- Γιατί δοκιμή νημάτων
- Πότε και πώς εκτελείται η δοκιμή νημάτων
- Τύποι δοκιμών βάσει νήματος
- Διαφορά μεταξύ νήματος και διαδικασιών
- Διαφορά μεταξύ δοκιμών με βάση νήμα και βάσει χρήστη
- συμπέρασμα
Γιατί δοκιμή νημάτων
Όταν τα στοιχεία είναι ενσωματωμένα, είναι απαραίτητο να ελέγξετε αν το σύστημα θα λειτουργήσει όπως αναμενόταν ή όχι και όλες οι συναλλαγές θα γίνονταν σύμφωνα με την απαίτηση ή όχι. Έτσι, οι δοκιμές με βάση το νήμα έρχονται για να δοκιμάσουν το ίδιο.
Αυτός ο έλεγχος πραγματοποιείται ενσωματώνοντας σταδιακά τα νήματα σε όλα τα επίπεδα ξεκινώντας από το υποσύστημα έως το πλήρες σύστημα, δηλαδή ολόκληρο το σύστημα. Όλες οι δραστηριότητες του συστήματος προχωρούν μόνο με τα νήματα.
Ο ορισμός του νήματος συμβάλλει στην κοινή χρήση του λειτουργικού υποβάθρου και των λεπτομερειών εκτέλεσης νήματος μεταξύ των προγραμματιστών και των προγραμματιστών στους υπεύθυνους δοκιμών.
Σχετικά με τα νήματα
Ένα νήμα είναι η ροή ελέγχου σε μια διαδικασία. Είναι το μικρότερο έργο του συστήματος που μπορεί να εκτελεστεί.
πώς να κάνετε δέσμες ενεργειών μεταξύ ιστότοπων
Παράδειγμα
Ένα πρόγραμμα περιήγησης ιστού μπορεί να έχει ένα ή περισσότερα νήματα που λειτουργούν. ένα νήμα για την εμφάνιση εικόνων και κειμένου και ένα άλλο νήμα για την ανάκτηση δεδομένων. Σε ορισμένες περιπτώσεις, πρέπει να απαιτείται μία μόνο εφαρμογή για την εξυπηρέτηση όλων των διαδικασιών.
Η δημιουργία πολλαπλών νημάτων είναι η καλύτερη λύση για το ίδιο, διαφορετικά θα αποστέλλονται πολλαπλά αιτήματα στον διακομιστή από τον πελάτη και θα χρειαστεί χρόνος για την αναγνώριση των αιτημάτων ένα προς ένα. Το Multi-thread θα σας βοηθήσει να απαντήσετε ταυτόχρονα στα αιτήματα.
Πότε και πώς εκτελείται η δοκιμή νημάτων
Θα πρέπει να γίνει στο αρχικό στάδιο της δοκιμής ολοκλήρωσης συστήματος.
Ο έλεγχος ολοκλήρωσης πραγματοποιείται ενσωματώνοντας διαφορετικές ενότητες με προγραμματισμένο τρόπο. Το σχέδιο ολοκλήρωσης ακολουθείται για το ίδιο που καθορίζει τη σειρά με την οποία οι ενότητες θα ενσωματωθούν για να δημιουργήσει το πλήρες σύστημα.
Παρακάτω αναφέρονται οι τεχνικές εκτέλεσης δοκιμών ενοποίησης:
- Προσέγγιση Big-Bang
- Προσέγγιση από κάτω προς τα κάτω
- Από κάτω προς τα πάνω προσέγγιση
- Μικτή προσέγγιση
Ας δούμε κάθε τεχνική λεπτομερώς.
# 1) Προσέγγιση Big-Bang
Η προσέγγιση big bang χρησιμοποιείται για μικρά συστήματα μόνο καθώς όλες οι ενότητες είναι ενσωματωμένες και δοκιμασμένες μόνο με μία κίνηση.
Οποιοδήποτε ζήτημα εντοπιστεί κατά τη διάρκεια αυτής της προσέγγισης είναι δύσκολο να εντοπιστεί, καθώς το ζήτημα μπορεί να προέρχεται από οποιαδήποτε από τις ενσωματωμένες ενότητες. Επομένως, τα προβλήματα εντοπισμού σφαλμάτων που εντοπίστηκαν είναι πολύ δαπανηρά για την επίλυση σε αυτήν την προσέγγιση.
# 2) Προσέγγιση από πάνω προς τα κάτω
Η προσέγγιση από πάνω προς τα κάτω γίνεται χρησιμοποιώντας τα stubs, δηλαδή μόλις ελεγχθεί η μονάδα ανώτατου επιπέδου, οι άμεσες υπορουτίνες ενσωματώνονται και δοκιμάζονται.
Stubs είναι τα προγράμματα που προσομοιώνουν την επίδραση των ρουτίνων χαμηλότερου επιπέδου και καλούνται από τις υπό εξέταση ρουτίνες. Η δοκιμή νημάτων χρησιμοποιεί μια προσέγγιση από πάνω προς τα κάτω.
# 3) Προσέγγιση από κάτω προς τα πάνω
Στην προσέγγιση από κάτω προς τα πάνω, όλα τα υποσυστήματα ελέγχονται ξεχωριστά και στη συνέχεια δοκιμάζεται το πλήρες σύστημα. Ο λόγος για τον οποίο ελέγχονται ξεχωριστά όλα τα υποσυστήματα είναι ο έλεγχος της διεπαφής μεταξύ όλων των ενοτήτων που αποτελούν μέρος του υποσυστήματος.
Αυτή η τεχνική απαιτεί δοκιμαστικά προγράμματα οδήγησης, δηλαδή το πρόγραμμα που καλεί τις άλλες ενότητες και παρέχει την ίδια έξοδο με το πραγματικό προϊόν.
# 4) Δοκιμή μικτής ολοκλήρωσης
Αυτή η τεχνική είναι ένας συνδυασμός των προσεγγίσεων από πάνω προς τα κάτω και από κάτω προς τα πάνω. Ως εκ τούτου ονομάζεται Mixed Integration Testing.
Βασικά σημεία για την εκτέλεση δοκιμών με βάση το νήμα
- Κατά την εκτέλεση δοκιμών νήματος, τα νήματα ή οι μικρές λειτουργίες είναι ενσωματωμένες και δοκιμασμένες. Η δοκιμή που πραγματοποιείται είναι σταδιακή δοκιμή σε επίπεδο υποσυστήματος και στη συνέχεια ως πλήρες σύστημα.
- Στο αρχικό στάδιο, οι δοκιμαστές ολοκλήρωσης έχουν μια καλή ιδέα και γνώση για το τι πρέπει να δοκιμάσουν περαιτέρω.
- Οι δοκιμαστές ενοποίησης πρέπει να εφαρμόζουν και να εκτελούν σενάρια τόσο θετικά όσο και αρνητικά εντός των ορίων του νήματος. Πρέπει να αποφασίσουν για μια προσέγγιση δοκιμών νήματος που πρέπει να ακολουθηθεί για να καλύψει εξαιρετικές περιπτώσεις και περιπτώσεις ορίων.
- Ο ορισμός του νήματος που παρέχεται από τον προγραμματιστή στον ελεγκτή βοηθά στη δοκιμή του νήματος ανάλογα από τους δοκιμαστές ολοκληρωτή. Τυχόν περαιτέρω πληροφορίες που απαιτούνται από τον ελεγκτή μπορούν να απαντηθούν στη διαδικασία αναθεώρησης του νήματος.
- Οι διεργασίες νήματος λειτουργούν για διαδικασίες ολοκλήρωσης και όχι για διαδικασία ανάπτυξης από άκρο σε άκρο.
- Για να ελέγξετε τη λειτουργικότητα πολλαπλών νημάτων, αφήστε τις πολλαπλές εμφανίσεις της εφαρμογής ή του προγράμματος που θα δοκιμαστούν να είναι ταυτόχρονα ενεργές.
- Εκτελέστε το πρόγραμμα πολλαπλών νημάτων σε διαφορετικό υλικό.
- Το νήμα δοκιμής είναι μια μορφή δοκιμής συνεδρίας για την οποία οι συνεδρίες σχηματίζονται από νήματα. Δεν είναι απαραίτητο ένα διαμορφωμένο νήμα να είναι μια συνεδρία.
Τύποι δοκιμών βάσει νήματος
Πραγματοποιούνται δύο τύποι δοκιμών βάσει νήματος:
- Δοκιμή με ένα νήμα
- Δοκιμή πολλαπλών νημάτων
# 1) Δοκιμή με ένα νήμα
Η δοκιμή ενός νήματος δοκιμάζει μία συναλλαγή κάθε φορά. Ο χρόνος αναμονής για τον πελάτη να λάβει απάντηση στο αίτημά του θα μπορούσε να είναι λίγο μεγαλύτερος καθώς θα μπορεί να εξυπηρετεί ή να ανταποκρίνεται σε έναν πελάτη κάθε φορά.
Αυτή η δοκιμή βοηθά τον ελεγκτή να κατανοήσει και να ελέγξει τη λογική του προγράμματος ή του γραπτού κώδικα.
# 2) Δοκιμή πολλαπλών νημάτων
Η δοκιμή πολλαπλών νημάτων δοκιμάζει πολλές ενεργές συναλλαγές ταυτόχρονα. Σε αυτήν την περίπτωση, δημιουργούνται ξεχωριστά νήματα για τα αιτήματα του πελάτη. Κάθε φορά που υποβάλλεται ένα αίτημα, δημιουργείται ένα νήμα στην υπηρεσία ή ανταποκρίνεται στο αίτημα.
Μια συναλλαγή που λειτούργησε καλά στη δοκιμή ενός νήματος μπορεί να αποτύχει κατά τη δοκιμή σε πολλά νήματα και επίσης μπορεί να επηρεάσει άλλα νήματα και λειτουργίες και να σταματήσει να λειτουργεί όπως αναμενόταν.
Είναι μια προσέγγιση πολλαπλών νημάτων καλύτερη από μια προσέγγιση με ένα νήμα;
Οι εφαρμογές πολλαπλών σπειρωμάτων είναι καλύτερες από τις μονές σπείρες καθώς βελτιώνουν την απόδοση της εφαρμογής. Το Multi-threading επιτρέπει σε πολλούς πόρους να εργάζονται ταυτόχρονα σε ένα ζήτημα / αίτημα.
Προκλήσεις κατά τη διενέργεια δοκιμών βάσει νήματος
Κατά την εκτέλεση δοκιμών βάσει νήματος, ο υπεύθυνος δοκιμών αντιμετωπίζει πολλές προκλήσεις που επηρεάζουν την απόδοση, το χρόνο και το κόστος των δοκιμών.
- Η σύνταξη περιπτώσεων δοκιμής μονάδας για κώδικα πολλαπλών νημάτων είναι δύσκολη.
- Όταν πραγματοποιείται δοκιμή πολλαπλών νημάτων σε διαφορετικό υλικό, διαφέρει ανάλογα με το μέγεθος, τη χωρητικότητα αποθήκευσης, τη μνήμη, τα προβλήματα κ.λπ.
- Τα σενάρια δοκιμών τόσο για ένα νήμα όσο και για πολλά νήματα είναι διαφορετικά.
- Σε δοκιμές πολλαπλών νημάτων, θα πρέπει να προγραμματίζονται αναπαραγώγιμες δοκιμές για δοκιμές μονάδας.
Πλεονεκτήματα / Μειονεκτήματα του Multi-Threading
Το multi-threading έχει πολλά πλεονεκτήματα καθώς και μειονεκτήματα. Ως δοκιμαστής που γνωρίζει το ίδιο, τους βοηθά να δοκιμάσουν και να διακόψουν τη διαδικασία δοκιμής ανάλογα.
Πλεονεκτήματα
- Το multi-threading αυξάνει την ανταπόκριση στον χρήστη. Η εφαρμογή μπορεί να αφήσει το πρόγραμμα να εκτελεστεί ακόμα και αν μπλοκαριστεί μέρος της εφαρμογής.
- Η κοινή χρήση πόρων είναι ένα άλλο πλεονέκτημα καθώς τα νήματα μοιράζονται τους πόρους της διαδικασίας στην οποία σχετίζονται ή ανήκουν.
- Η δημιουργία νημάτων είναι οικονομική καθώς μοιράζεται τους πόρους στους οποίους ανήκουν.
Μειονεκτήματα
- Σύνθετη διαδικασία δοκιμών
- Τα αποτελέσματα είναι πολύ απρόβλεπτα.
- Η σύνταξη ενός προγράμματος γίνεται πιο δύσκολη.
- Αδιέξοδο.
Τι είναι το αδιέξοδο
Όταν ολοκληρωθεί το multi-threading, το νήμα μπαίνει σε κατάσταση αναμονής εάν ο πόρος δεν είναι διαθέσιμος.
Η κατάσταση αναμονής ενδέχεται να μην αλλάξει για το νήμα καθώς ο πόρος που ζητήθηκε διατηρείται από άλλα νήματα αναμονής. Όταν προκύπτει μια τέτοια κατάσταση, αυτό ονομάζεται αδιέξοδο.
Διαφορά μεταξύ νήματος και διαδικασιών
Ας κατανοήσουμε τις διαφορές μεταξύ του νήματος και των διαδικασιών:
ΝΟ | Νήμα | Επεξεργάζομαι, διαδικασία |
---|---|---|
7 | Τα νήματα δεν μπορούν να χωριστούν περαιτέρω. | Οι διαδικασίες μπορούν να έχουν πολλά νήματα. |
1 | Το νήμα είναι μια ελαφριά διαδικασία. | Η διαδικασία είναι μια διαδικασία βαρέων βαρών. |
δύο | Εάν το νήμα διακομιστή μπλοκαριστεί, ένα δεύτερο νήμα της ίδιας εργασίας μπορεί να εκτελεστεί και να ολοκληρώσει τη διαδικασία. | Εάν η διαδικασία διακομιστή μπλοκαριστεί, άλλες διεργασίες δεν μπορούν να εκτελεστούν έως ότου η διαδικασία διακομιστή που έχει αποκλειστεί ο χρόνος δεν είναι αποκλεισμένη. |
3 | Τα νήματα δεν απομονώνουν, μοιράζονται τη μνήμη. | Η διαδικασία είναι απομονωμένη. |
4 | Η δημιουργία νημάτων, η αλλαγή περιβάλλοντος, ο τερματισμός διαρκεί λιγότερο χρόνο στο νήμα. | Η δημιουργία νημάτων, η αλλαγή περιβάλλοντος, ο τερματισμός χρειάζονται περισσότερο χρόνο στις διαδικασίες. |
5 | Το νήμα αναφέρεται στη συγκεκριμένη εργασία μιας διαδικασίας. | Η διαδικασία αναφέρεται στην εκτέλεση οποιουδήποτε προγράμματος. |
6 | Οι πόροι που χρησιμοποιούνται είναι πολύ λίγοι στο νήμα. | Οι πόροι που χρησιμοποιούνται στις διαδικασίες είναι περισσότεροι. |
Διαφορά μεταξύ δοκιμών με βάση νήμα και βάσει χρήστη
S.No. | Δοκιμή βασισμένη σε νήματα | Δοκιμή με βάση τη χρήση |
---|---|---|
1 | Τα νήματα ενσωματώνονται και δοκιμάζονται ξεχωριστά. | Η δοκιμή ξεκινά με τάξεις που δεν εξαρτώνται το ένα από το άλλο, δηλαδή είναι ανεξάρτητες. |
δύο | Ο έλεγχος παλινδρόμησης πραγματοποιείται για να βεβαιωθείτε ότι δεν επηρεάζεται τίποτα. | Μόλις γίνει δοκιμή ανεξάρτητων τάξεων, τότε εξαρτώνται τάξεις εξαρτώμενες. Εξαρτώμενα είναι αυτά που εξαρτώνται από τις ανεξάρτητες τάξεις. Αυτή η σειρά συνεχίζεται έως ότου δημιουργηθεί το πλήρες σύστημα. |
3 | Ο έλεγχος βάσει νήματος ενσωματώνει τις κλάσεις που είναι απαραίτητες για την αναγνώριση της εισόδου ή του συμβάντος του συστήματος. | Η δοκιμή βάσης χρήσης ενσωματώνει τις τάξεις που είναι απαραίτητες για την απάντηση ή την αναγνώριση της περίπτωσης χρήσης. |
Συχνές Ερωτήσεις
Q # 1) Τι είναι η δοκιμή νημάτων;
Απάντηση: Η δοκιμή με βάση το νήμα είναι μια μεθοδολογία που εκτελείται κατά την πρώιμη φάση της δοκιμής ολοκλήρωσης. Τα νήματα ή τα προγράμματα ενσωματώνονται και δοκιμάζονται σταδιακά σε ένα υποσύστημα και στη συνέχεια ως ένα ολόκληρο σύστημα.
Q # 2) Ποια δοκιμή γίνεται πρώτα;
Απάντηση : Συνήθως πραγματοποιείται δοκιμή από τη βάση προς τα πάνω και μετά πραγματοποιείται δοκιμή από πάνω προς τα κάτω.
Q # 3) Τι είναι η δοκιμή από πάνω προς τα κάτω;
Απάντηση: Το top-down είναι μια τεχνική δοκιμών ενοποίησης όπου η δοκιμή γίνεται χρησιμοποιώντας stubs, δηλαδή όταν τα στοιχεία χαμηλότερου επιπέδου δεν είναι ακόμη έτοιμα να δοκιμάσουν την ενσωμάτωση, δημιουργούνται stubs (προσωρινές μονάδες) για να έχουν την ίδια έξοδο όπως στην περίπτωση των πραγματικών ενοτήτων.
συμπέρασμα
Η δοκιμή ενοποίησης με βάση το νήμα παίζει σημαντικό ρόλο στη δοκιμή των κύριων λειτουργιών ή του συγκεκριμένου έργου ή νήματος. Αυτή η μεθοδολογία είναι η καλύτερη για αρχιτεκτονική που βασίζεται σε διακομιστές πελατών.
Κατά τη διενέργεια δοκιμών νήματος, ο ελεγκτής πρέπει να αντιμετωπίσει πολλές προκλήσεις, ωστόσο έχει και πολλά πλεονεκτήματα, γεγονός που καθιστά εύκολη και αξιόπιστη την εκτέλεση. Επιτρέπει στους δοκιμαστές να δοκιμάσουν όλες τις συναλλαγές και να επαληθεύσουν εάν λειτουργεί όπως αναμενόταν και σύμφωνα με την απαίτηση.
Είναι αδύνατο να δοκιμάσετε όλες τις συναλλαγές / συμβάντα για να ολοκληρώσετε τη δοκιμή νήματος λόγω του οποίου χωρίζεται σε τύπους ενός και πολλαπλών νημάτων.
Τι είναι ο έλεγχος παλινδρόμησης στις δοκιμές λογισμικού
Συνιστώμενη ανάγνωση
- Επιλέγοντας Δοκιμή λογισμικού ως καριέρα σας
- Μερικές ενδιαφέρουσες ερωτήσεις συνέντευξης δοκιμής λογισμικού
- Είναι η δοκιμή λογισμικού μια συναισθηματική εργασία;
- Java Synchronized: Τι είναι ο συγχρονισμός νημάτων στην Java
- Νήματα Java με μεθόδους και κύκλο ζωής
- Multithreading σε C ++ με παραδείγματα
- Multithreading In Java - Εκμάθηση με παραδείγματα
- Thread.Sleep () - Thread Sleep () Μέθοδος στην Java με παραδείγματα