black box testing an depth tutorial with examples
Σε αυτό το σεμινάριο, χρησιμοποιώντας τη βιομηχανική μου εμπειρία στο Software Testing, ας εξοικειωθούμε με τους τύπους και τις τεχνικές του Black-box Testing μαζί με τη διαδικασία, τα πλεονεκτήματα, τα μειονεκτήματα και ορισμένα εργαλεία αυτοματοποίησης για να το δοκιμάσουμε εκτός από τη μη αυτόματη δοκιμή.
Θα μάθουμε επίσης για τις διαφορές μεταξύ του White Box Testing και του Black Box Testing.
Λίστα μαθημάτων «Τεχνικές δοκιμής μαύρου κουτιού»:
Εκμάθηση # 1: Τι είναι το Black Box Testing
Εκμάθηση # 2: Τι είναι η δοκιμή λευκού κουτιού
Εκμάθηση # 3: Απλοποιημένη λειτουργική δοκιμή
Εκμάθηση # 4: Τι είναι ο έλεγχος περίπτωσης χρήσης
Εκμάθηση # 5 : Τεχνική ορθογωνικής σειράς δοκιμών
Τεχνικές
Εκμάθηση # 6: Ανάλυση οριακής αξίας και κατανομή ισοδυναμίας
Εκμάθηση # 7: Δοκιμή Πίνακα Αποφάσεων
Εκμάθηση # 8: Δοκιμή μεταβατικής κατάστασης
Εκμάθηση # 9 : Σφάλμα μαντεύοντας
Εκμάθηση # 10: Μέθοδοι δοκιμής βάσει γραφημάτων
Σχεδόν όλοι μας πραγματοποιούμε δοκιμές Black Box κάθε μέρα!
Είτε έχουμε μάθει είτε όχι, όλοι έχουμε και εκτελέσουμε Black Box Testing πολλές φορές στην καθημερινή μας ζωή !!
Από το ίδιο το όνομα μπορείτε πιθανώς να καταλάβετε ότι συνεπάγεται αλληλεπίδραση με το σύστημα, ότι δοκιμάζετε ως κουτί μυστηρίου. Αυτό σημαίνει ότι δεν γνωρίζετε αρκετά την εσωτερική λειτουργία του συστήματος, αλλά γνωρίζετε πώς πρέπει να συμπεριφέρεται.
Εάν πάρουμε ένα παράδειγμα για να δοκιμάσουμε το αυτοκίνητο ή το ποδήλατό μας, το οδηγούμε πάντα για να βεβαιωθούμε ότι δεν συμπεριφέρεται με ασυνήθιστο τρόπο. Βλέπω? Έχουμε ήδη κάνει Black Box Testing.
Τι θα μάθετε:
- Τι είναι η δοκιμή Black Box;
- Τύποι δοκιμών μαύρου κουτιού
- Εργαλεία δοκιμής μαύρου κουτιού
- Τεχνικές δοκιμής μαύρου κουτιού
- Πώς να κάνετε Step-σοφός;
- Πλεονεκτήματα και μειονεκτήματα
- Διαφορά μεταξύ δοκιμής λευκού κουτιού και δοκιμής μαύρου κουτιού
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Τι είναι η δοκιμή Black Box;
Το Black Box Testing είναι επίσης γνωστό ως συμπεριφορικό, αδιαφανές κουτί, κλειστό κουτί, βασισμένο σε προδιαγραφές ή δοκιμές από μάτι σε μάτι.
Είναι μια μέθοδος δοκιμής λογισμικού που αναλύει τη λειτουργικότητα ενός λογισμικού / εφαρμογής χωρίς να γνωρίζει πολλά για την εσωτερική δομή / σχεδιασμό του αντικειμένου που δοκιμάζεται και συγκρίνει την τιμή εισόδου με την τιμή εξόδου.
είναι κλειδί δικτύου ίδιο με τον κωδικό πρόσβασης
Η κύρια εστίαση στο Black Box Testing είναι στη λειτουργικότητα του συστήματος στο σύνολό του. Ο όρος «Συμπεριφορική δοκιμή» χρησιμοποιείται επίσης για Black Box Testing. Ο σχεδιασμός συμπεριφοράς δοκιμής είναι ελαφρώς διαφορετικός από τον σχεδιασμό δοκιμών μαύρου κουτιού, επειδή η χρήση εσωτερικών γνώσεων δεν απαγορεύεται αυστηρά, αλλά εξακολουθεί να αποθαρρύνεται.
Κάθε μέθοδος δοκιμής έχει τα δικά της πλεονεκτήματα και μειονεκτήματα. Υπάρχουν κάποια σφάλματα που δεν μπορούν να βρεθούν χρησιμοποιώντας τη μοναδική τεχνική μαύρου κουτιού ή μόνο λευκού κουτιού.
Η πλειονότητα των εφαρμογών δοκιμάζεται με τη μέθοδο Black Box. Πρέπει να καλύψουμε την πλειονότητα των δοκιμαστικών περιπτώσεων, έτσι ώστε τα περισσότερα από τα σφάλματα θα εντοπιστούν από ένα Μαύρο κουτί μέθοδος.
Αυτός ο έλεγχος πραγματοποιείται καθ 'όλη τη διάρκεια ανάπτυξης του λογισμικού και του κύκλου ζωής δοκιμών, δηλαδή στα στάδια μονάδας, ενοποίησης, συστήματος, αποδοχής και παλινδρόμησης.
Αυτό μπορεί να είναι λειτουργικό ή μη λειτουργικό.
Τύποι δοκιμών μαύρου κουτιού
Πρακτικά, υπάρχουν διάφοροι τύποι Black Box Testing που είναι δυνατοί, αλλά αν λάβουμε υπόψη την κύρια παραλλαγή του, τότε αναφέρονται παρακάτω είναι οι δύο θεμελιώδεις.
# 1) Λειτουργική δοκιμή
Αυτός ο τύπος ασχολείται με τις λειτουργικές απαιτήσεις ή προδιαγραφές μιας εφαρμογής. Εδώ, δοκιμάζονται διαφορετικές ενέργειες ή λειτουργίες του συστήματος παρέχοντας την είσοδο και συγκρίνοντας την πραγματική έξοδο με την αναμενόμενη έξοδο.
Για παράδειγμα ,όταν δοκιμάζουμε μια αναπτυσσόμενη λίστα, κάνουμε κλικ σε αυτήν και επαληθεύουμε ότι επεκτείνεται και όλες οι αναμενόμενες τιμές εμφανίζονται στη λίστα.
Λίγοι βασικοί τύποι λειτουργικών δοκιμών είναι:
- Δοκιμή καπνού
- Δοκιμή υγιεινής
- Δοκιμή ολοκλήρωσης
- Δοκιμή συστήματος
- Δοκιμή παλινδρόμησης
- Δοκιμή αποδοχής χρήστη
=> Διαβάστε περισσότερα για Λειτουργική δοκιμή .
# 2) Μη λειτουργικές δοκιμές
Εκτός από τις λειτουργίες των απαιτήσεων, υπάρχουν και πολλές μη λειτουργικές πτυχές που απαιτούνται για δοκιμή για τη βελτίωση της ποιότητας και της απόδοσης της εφαρμογής.
Λίγοι βασικοί τύποι μη λειτουργικών δοκιμών περιλαμβάνουν:
java πώς να αντιγράψετε έναν πίνακα
- Δοκιμή χρηστικότητας
- Φόρτωση δοκιμής
- Δοκιμή απόδοσης
- Δοκιμή συμβατότητας
- Δοκιμή στρες
- Δοκιμή κλιμάκωσης
=> Διαβάστε περισσότερα για Μη λειτουργικές δοκιμές .
Εργαλεία δοκιμής μαύρου κουτιού
Τα εργαλεία δοκιμής Black Box είναι κυρίως εργαλεία εγγραφής και αναπαραγωγής. Αυτά τα εργαλεία χρησιμοποιούνται για τον έλεγχο παλινδρόμησης για να ελέγξετε αν η νέα έκδοση έχει δημιουργήσει κάποιο σφάλμα στην προηγούμενη λειτουργικότητα της εφαρμογής εργασίας.
Αυτά τα εργαλεία εγγραφής και αναπαραγωγής καταγράφουν περιπτώσεις δοκιμών με τη μορφή ορισμένων σεναρίων όπως TSL, VB script, Javascript, Perl κ.λπ.
Τεχνικές δοκιμής μαύρου κουτιού
Για να δοκιμάσετε συστηματικά ένα σύνολο λειτουργιών, είναι απαραίτητο να σχεδιάσετε δοκιμαστικές περιπτώσεις. Οι υπεύθυνοι δοκιμών μπορούν να δημιουργήσουν δοκιμαστικές θήκες από το έγγραφο προδιαγραφής απαιτήσεων χρησιμοποιώντας τις ακόλουθες τεχνικές δοκιμής Black Box.
- Διαχωρισμός ισοδυναμίας
- Ανάλυση οριακής αξίας
- Δοκιμή Πίνακα Αποφάσεων
- Δοκιμή μεταβατικής κατάστασης
- Σφάλμα μαντεύοντας
- Μέθοδοι δοκιμής βάσει γραφημάτων
- Δοκιμή σύγκρισης
Ας κατανοήσουμε κάθε τεχνική λεπτομερώς.
# 1) Διαχωρισμός ισοδυναμίας
Αυτή η τεχνική είναι επίσης γνωστή ως Equivalence Class Partitioning (ECP). Σε αυτήν την τεχνική, οι τιμές εισόδου στο σύστημα ή την εφαρμογή χωρίζονται σε διαφορετικές κατηγορίες ή ομάδες με βάση την ομοιότητά του στο αποτέλεσμα.
Ως εκ τούτου, αντί να χρησιμοποιήσουμε κάθε τιμή εισόδου, μπορούμε τώρα να χρησιμοποιήσουμε οποιαδήποτε τιμή από την ομάδα / τάξη για να δοκιμάσουμε το αποτέλεσμα. Με αυτόν τον τρόπο, μπορούμε να διατηρήσουμε τη δοκιμαστική κάλυψη, ενώ μπορούμε να μειώσουμε πολλές εργασίες και κυρίως το χρόνο που ξοδεύουμε.
Για παράδειγμα:
Όπως εμφανίζεται στην παραπάνω εικόνα, ένα πεδίο κειμένου 'AGE' δέχεται μόνο τους αριθμούς από 18 έως 60. Θα υπάρχουν τρία σύνολα τάξεων ή ομάδων.
Δύο άκυρα μαθήματα θα είναι:
α) Λιγότερο από ή ίσο με 17.
β) Μεγαλύτερο από ή ίσο με 61.
Ένα έγκυρο μάθημα θα είναι μεταξύ 18 και 60 ετών.
Έχουμε μειώσει έτσι τις δοκιμαστικές περιπτώσεις σε μόνο 3 περιπτώσεις δοκιμής με βάση τις διαμορφωμένες τάξεις καλύπτοντας έτσι όλες τις δυνατότητες. Επομένως, η δοκιμή με τιμή οποιουδήποτε από κάθε σύνολο της τάξης αρκεί για να δοκιμάσετε το παραπάνω σενάριο.
=> Συνιστώμενη ανάγνωση - Τι είναι το Equivalence Partitioning;
# 2) Ανάλυση οριακής τιμής
Από το ίδιο το όνομα, μπορούμε να καταλάβουμε ότι σε αυτήν την τεχνική εστιάζουμε στις τιμές στα όρια, καθώς διαπιστώνεται ότι πολλές εφαρμογές έχουν μεγάλο αριθμό ζητημάτων στα όρια.
Όριο σημαίνει τις τιμές κοντά στο όριο όπου αλλάζει η συμπεριφορά του συστήματος. Στην ανάλυση οριακής τιμής δοκιμάζονται τόσο οι έγκυρες όσο και οι μη έγκυρες είσοδοι για την επαλήθευση των ζητημάτων.
Για παράδειγμα:
Αν θέλουμε να δοκιμάσουμε ένα πεδίο όπου θα πρέπει να γίνουν αποδεκτές τιμές από 1 έως 100, τότε επιλέγουμε τις οριακές τιμές: 1-1, 1, 1 + 1, 100-1, 100 και 100 + 1. Αντί να χρησιμοποιούμε όλες τις τιμές από 1 έως 100, απλώς χρησιμοποιούμε 0, 1, 2, 99, 100 και 101.
# 3) Δοκιμή πίνακα αποφάσεων
Όπως το ίδιο το όνομα υποδηλώνει ότι, οπουδήποτε υπάρχουν λογικές σχέσεις όπως:
Αν
{
(Συνθήκη = True)
τότε δράση1;
}
αλλιώς δράση2; / * (συνθήκη = λάθος) * /
Στη συνέχεια, ένας δοκιμαστής θα εντοπίσει δύο εξόδους (action1 και action2) για δύο συνθήκες (True και False). Έτσι, με βάση τα πιθανά σενάρια, χαράζεται ένας πίνακας αποφάσεων για την προετοιμασία ενός συνόλου δοκιμαστικών περιπτώσεων.
Για παράδειγμα:
Πάρτε ένα παράδειγμα της τράπεζας XYZ που παρέχει το επιτόκιο για τον ηλικιωμένο άνδρα ανδρών ως 10% και για τους υπόλοιπους 9%.
Σε αυτό το παράδειγμα συνθήκης, το C1 έχει δύο τιμές ως αληθές και ψευδές, η συνθήκη C2 έχει επίσης δύο τιμές ως αληθές και ψευδές. Ο αριθμός των συνολικών πιθανών συνδυασμών θα είναι τότε τέσσερις. Με αυτόν τον τρόπο μπορούμε να αντλήσουμε υποθέσεις δοκιμής χρησιμοποιώντας έναν πίνακα αποφάσεων.
εφαρμογή μιας συνδεδεμένης λίστας στο java
# 4) Δοκιμή μετάβασης κατάστασης
Το State Transition Testing είναι μια τεχνική που χρησιμοποιείται για τη δοκιμή των διαφόρων καταστάσεων του υπό δοκιμή συστήματος. Η κατάσταση του συστήματος αλλάζει ανάλογα με τις συνθήκες ή τα συμβάντα. Τα συμβάντα ενεργοποιούν καταστάσεις που γίνονται σενάρια και ένας δοκιμαστής πρέπει να τις δοκιμάσει.
Ένα συστηματικό διάγραμμα μετάβασης κατάστασης δίνει μια σαφή εικόνα των αλλαγών κατάστασης, αλλά είναι αποτελεσματικό για απλούστερες εφαρμογές. Πιο περίπλοκα έργα μπορεί να οδηγήσουν σε πιο πολύπλοκα διαγράμματα μετάβασης, καθιστώντας το λιγότερο αποτελεσματικό.
Για παράδειγμα:
# 5) Σφάλμα μαντεύοντας
Αυτό είναι ένα κλασικό παράδειγμα δοκιμών βάσει εμπειρίας.
Σε αυτήν την τεχνική, ο υπεύθυνος δοκιμών μπορεί να χρησιμοποιήσει την εμπειρία του σχετικά με τη συμπεριφορά και τις λειτουργίες της εφαρμογής για να μαντέψει τις περιοχές που είναι επιρρεπείς σε σφάλματα. Πολλά ελαττώματα μπορούν να βρεθούν χρησιμοποιώντας μαντέψεις σφαλμάτων όπου οι περισσότεροι προγραμματιστές κάνουν συνήθως λάθη.
Λίγα κοινά λάθη που συνήθως ξεχνούν οι προγραμματιστές:
- Διαιρέστε με μηδέν.
- Διαχείριση μηδενικών τιμών σε πεδία κειμένου.
- Αποδοχή του κουμπιού Υποβολή χωρίς καμία τιμή.
- Μεταφόρτωση αρχείου χωρίς συνημμένο.
- Μεταφόρτωση αρχείου με μέγεθος μικρότερο ή μεγαλύτερο από το όριο.
# 6) Μέθοδοι δοκιμής βάσει γραφημάτων
Κάθε εφαρμογή είναι μια συσσώρευση ορισμένων αντικειμένων. Όλα αυτά τα αντικείμενα αναγνωρίζονται και το γράφημα προετοιμάζεται. Από αυτό το γράφημα αντικειμένων, κάθε σχέση αντικειμένου προσδιορίζεται και οι δοκιμαστικές περιπτώσεις γράφονται ανάλογα για να ανακαλύψουν τα σφάλματα.
# 7) Δοκιμή σύγκρισης
Για τη δοκιμή αυτής της μεθόδου χρησιμοποιούνται διαφορετικές ανεξάρτητες εκδόσεις του ίδιου λογισμικού.
Πώς να κάνετε Step-σοφός;
Σε γενικές γραμμές, όταν ακολουθείται μια συστηματική διαδικασία για τη δοκιμή ενός έργου / εφαρμογής, τότε η ποιότητα διατηρείται και είναι μακροπρόθεσμη χρήσιμη για περαιτέρω κύκλους δοκιμών.
- Το πρωταρχικό βήμα είναι να κατανοήσετε την προδιαγραφή Απαίτησης μιας εφαρμογής. Θα πρέπει να υπάρχει ένα κατάλληλο τεκμηριωμένο SRS (Προδιαγραφή Απαιτήσεων Λογισμικού).
- Χρησιμοποιώντας τις προαναφερθείσες τεχνικές δοκιμής Black Box, όπως Ανάλυση οριακής τιμής, διαχωρισμός ισοδυναμίας κ.λπ. έγκυρες και μη έγκυρες εισόδους προσδιορίζονται με τις επιθυμητές εξόδους τους και οι δοκιμαστικές περιπτώσεις σχεδιάζονται με βάση αυτό.
- Οι σχεδιασμένες δοκιμαστικές θήκες εκτελούνται για να ελέγξουν εάν περάσουν ή αποτύχουν επαληθεύοντας τα πραγματικά αποτελέσματα με τα αναμενόμενα αποτελέσματα.
- Οι αποτυχημένες περιπτώσεις δοκιμής εμφανίζονται ως ελαττώματα / σφάλματα και απευθύνονται στην ομάδα ανάπτυξης για να το διορθώσουν.
- Περαιτέρω βάσει των ελαττωμάτων που επιδιορθώνονται, ο ελεγκτής ελέγχει τα ελαττώματα για να επαληθεύσει εάν επαναλαμβάνεται ή όχι.
Πλεονεκτήματα και μειονεκτήματα
Πλεονεκτήματα
- Ο ελεγκτής δεν χρειάζεται να έχει τεχνικό υπόβαθρο. Είναι σημαντικό να δοκιμάσετε αν είστε στα παπούτσια του χρήστη και να σκεφτείτε από την άποψη του χρήστη.
- Η δοκιμή μπορεί να ξεκινήσει μόλις ολοκληρωθεί η ανάπτυξη του έργου / εφαρμογής. Τόσο οι δοκιμαστές όσο και οι προγραμματιστές λειτουργούν ανεξάρτητα χωρίς να παρεμβαίνουν στο χώρο του άλλου.
- Είναι πιο αποτελεσματικό για μεγάλες και περίπλοκες εφαρμογές.
- Τα ελαττώματα και οι ασυνέπειες μπορούν να εντοπιστούν στο αρχικό στάδιο της δοκιμής.
Μειονεκτήματα
- Χωρίς τεχνικές γνώσεις ή γνώσεις προγραμματισμού, υπάρχουν πιθανότητες να αγνοηθούν οι πιθανές συνθήκες του σεναρίου που θα δοκιμαστεί.
- Σε ένα καθορισμένο χρονικό διάστημα, υπάρχουν δυνατότητες λιγότερων δοκιμών και παράλειψης όλων των πιθανών εισόδων και των δοκιμών εξόδου τους.
- Δεν είναι δυνατή η πλήρης κάλυψη δοκιμών για μεγάλα και περίπλοκα έργα.
Διαφορά μεταξύ δοκιμής λευκού κουτιού και δοκιμής μαύρου κουτιού
Παρακάτω αναφέρονται μερικές διαφορές μεταξύ των δύο:
Δοκιμή μαύρου κουτιού | Δοκιμή λευκού κουτιού |
---|---|
Είναι μια μέθοδος δοκιμής χωρίς να γνωρίζουμε τον πραγματικό κώδικα ή την εσωτερική δομή της εφαρμογής | Είναι μια μέθοδος δοκιμής που έχει γνώση του πραγματικού κώδικα και της εσωτερικής δομής της εφαρμογής |
Πρόκειται για δοκιμή υψηλότερου επιπέδου, όπως λειτουργικές δοκιμές. | Αυτός ο τύπος δοκιμών πραγματοποιείται σε χαμηλότερο επίπεδο δοκιμών, όπως Δοκιμή μονάδας, Δοκιμή ολοκλήρωσης |
Επικεντρώνεται στη λειτουργικότητα του υπό δοκιμή συστήματος | Επικεντρώνεται στον πραγματικό κώδικα - πρόγραμμα και τη σύνταξή του |
Η δοκιμή μαύρου κουτιού απαιτεί προδιαγραφή απαιτήσεων για δοκιμή | Η δοκιμή White Box απαιτεί έγγραφα σχεδίασης με διαγράμματα ροής δεδομένων, διαγράμματα ροής κ.λπ. |
Η δοκιμή μαύρου κουτιού γίνεται από τους δοκιμαστές | Η δοκιμή λευκού κουτιού γίνεται από προγραμματιστές ή δοκιμαστές με γνώσεις προγραμματισμού. |
συμπέρασμα
Αυτά είναι μερικά από τα βασικά σημεία σχετικά με τη δοκιμή Black Box και την επισκόπηση των τεχνικών και μεθόδων του.
Δεδομένου ότι δεν είναι δυνατόν να δοκιμάσουμε τα πάντα με ανθρώπινη εμπλοκή με 100 τοις εκατό ακρίβεια, εάν οι παραπάνω τεχνικές και μέθοδοι χρησιμοποιούνται αποτελεσματικά, σίγουρα θα βελτιώσει την ποιότητα του συστήματος.
Εν κατακλείδι, αυτή είναι μια πολύ χρήσιμη μέθοδος για την επαλήθευση της λειτουργικότητας του συστήματος και τον εντοπισμό των περισσότερων ελαττωμάτων.
Ελπίζω να έχετε αποκτήσει μια βαθιά γνώση της τεχνικής Black Box Testing.
Συνιστώμενη ανάγνωση
- Βασικές διαφορές μεταξύ δοκιμής μαύρου κουτιού και δοκιμής λευκού κουτιού
- Τα καλύτερα εργαλεία δοκιμής λογισμικού 2021 (QA Test Automation Tools)
- Λειτουργική δοκιμή εναντίον μη λειτουργική δοκιμή
- Εκμάθηση Pairwise Test ή All-Pairs Testing με εργαλεία και παραδείγματα
- Δοκιμή λευκού κουτιού: Ένας πλήρης οδηγός με τεχνικές, παραδείγματα και εργαλεία
- Εκπαιδευτικός έλεγχος έντασης: Παραδείγματα και εργαλεία ελέγχου έντασης
- Εκμάθηση δοκιμών διαμόρφωσης με παραδείγματα
- Testing Primer eBook Λήψη