Τι είναι το Γκρι Box Δοκιμές; Τεχνικές, Παράδειγμα
⚡ Έξυπνη Σύνοψη
Γκρί Box Οι δοκιμές εξετάζουν μια εφαρμογή με μερική γνώση της εσωτερικής της δομής, συνδυάζοντας την οπτική γωνία του χρήστη κατά τη δοκιμή μαύρου κουτιού με επαρκή αρχιτεκτονική γνώση για να εξηγήσουν γιατί συνέβη μια αποτυχία και όχι μόνο ότι συνέβη.

Τι είναι το Γκρι Box Δοκιμές;
Γκρί Box Δοκιμές (γράφεται και γκρι) Box (Testing) είναι μια τεχνική δοκιμών λογισμικού που δοκιμάζει ένα προϊόν ή μια εφαρμογή λογισμικού με μερική γνώση της εσωτερικής δομής της εφαρμογής. Ο σκοπός του Grey Box Η δοκιμή γίνεται για την αναζήτηση και τον εντοπισμό ελαττωμάτων που προκαλούνται από ακατάλληλη δομή κώδικα ή ακατάλληλη χρήση της εφαρμογής.
Σε αυτήν τη διαδικασία, εντοπίζονται συνήθως σφάλματα που σχετίζονται με συγκεκριμένα συμφραζόμενα και σχετίζονται με συστήματα ιστού. Η τεχνική αυξάνεται κάλυψη δοκιμών εστιάζοντας σε όλα τα επίπεδα ενός πολύπλοκου συστήματος αντί για ένα από αυτά.
Γκρί Box Η δοκιμή είναι μια μέθοδος δοκιμής λογισμικού που συνδυάζει Λευκό Box Δοκιμές και Μαύρο Box ΔοκιμέςΗ διαφορά μεταξύ των τριών καταλήγει στο πόσο από την εσωτερική δομή μπορεί να δει ο δοκιμαστής:
- Στα λευκά Box Η δοκιμή της εσωτερικής δομής (κώδικα) είναι γνωστή.
- Στα μαύρα Box Η δοκιμή της εσωτερικής δομής (κώδικας) είναι άγνωστη.
- Στο Γκρι Box Η δοκιμή της εσωτερικής δομής (κώδικα) είναι εν μέρει γνωστή.
Το παρακάτω διάγραμμα τοποθετεί τις τρεις μεθόδους στην ίδια κλίμακα ορατότητας.
In τεχνολογία λογισμικού, Γκρι Box Η δοκιμή δίνει τη δυνατότητα δοκιμής και των δύο πλευρών μιας εφαρμογής, του επιπέδου παρουσίασης καθώς και του κώδικα πίσω από αυτό. Είναι χρήσιμη κυρίως σε δοκιμή ολοκλήρωσης και δοκιμή διείσδυσης.
Παράδειγμα γκρι Box δοκιμή: Κατά τη δοκιμή μιας λειτουργίας ιστότοπου, όπως σύνδεσμοι ή ορφανοί σύνδεσμοι, εάν ο υπεύθυνος δοκιμών αντιμετωπίσει κάποιο πρόβλημα με αυτούς τους συνδέσμους, η αλλαγή μπορεί να γίνει αμέσως στον κώδικα HTML και να ελεγχθεί σε πραγματικό χρόνο.
Γιατί γκρι Box Δοκιμές
Γκρί Box Οι δοκιμές πραγματοποιούνται για τους ακόλουθους λόγους:
- Παρέχει τα συνδυασμένα οφέλη τόσο της δοκιμής μαύρου κουτιού όσο και της δοκιμής λευκού κουτιού.
- Συνδυάζει τη συμβολή των προγραμματιστών καθώς και των δοκιμαστών και βελτιώνει τη συνολική ποιότητα του προϊόντος.
- Μειώνει το φόρτο της μακράς διαδικασίας δοκιμής λειτουργικών και μη λειτουργικών τύπων.
- Δίνει στον προγραμματιστή αρκετό ελεύθερο χρόνο για να διορθώσει τυχόν ελαττώματα.
- Οι δοκιμές γίνονται από την οπτική γωνία του χρήστη και όχι του σχεδιαστή.
- Μια αποτυχία μπορεί να εξηγηθεί αντί να αναφερθεί απλώς, επειδή ο ελεγκτής μπορεί να δει το επίπεδο όπου συνέβη.
Γκρί Box Δοκιμές εναντίον Μαύρων Box εναντίον Λευκού Box Δοκιμές
Οι τρεις μέθοδοι δεν αποτελούν τόσο ανταγωνιστικές εναλλακτικές λύσεις όσο τρία επίπεδα πρόσβασης, και η καθεμία απαντά σε ένα διαφορετικό είδος ερώτησης. Η τοποθέτησή τους δίπλα-δίπλα καθιστά την επιλογή συγκεκριμένη.
| Βάση | Μαύρο Box Δοκιμές | Γκρί Box Δοκιμές | Λευκό Box Δοκιμές |
|---|---|---|---|
| Γνώση της εσωτερικής δομής | Ν/Α | Μερική | Πλήρης |
| Εκτελεσμένο από | Δοκιμαστές και τελικοί χρήστες | Δοκιμαστές και προγραμματιστές που συνεργάζονται με δοκιμαστές | Προγραμματιστές και μηχανικοί δοκιμών |
| Βάση σχεδιασμού δοκιμών | Απαιτήσεις και προδιαγραφές | Archiτεχνολογία, αλγόριθμοι, δομές δεδομένων και διεπαφές | Πηγαίος κώδικας και ροή ελέγχου |
| Τυπικό επίπεδο | Δοκιμές συστήματος και αποδοχής | Ενσωμάτωση, διείσδυση και δοκιμή διαδικτυακών υπηρεσιών | Δοκιμές μονάδων και εξαρτημάτων |
| Κάλυψη μετρούμενη ως | Κάλυψη απαιτήσεων | Διεπαφή, δεδομένα και κάλυψη διαδρομής | Κάλυψη δήλωσης, υποκαταστήματος και διαδρομής |
| Κύριος περιορισμός | Η αιτία της αποτυχίας παραμένει κρυφή | Το βάθος περιορίζεται από την πρόσβαση που παρέχεται | Δαπανηρό, και μπορεί να μην λείπουν οι απαιτήσεις |
Οι περισσότερες ομάδες χρησιμοποιούν και τα τρία σε όλη την κύκλος ζωής δοκιμής λογισμικού, και το επίπεδο του γκρι κουτιού είναι το σημείο όπου συνήθως εντοπίζονται τα ελαττώματα που εμπίπτουν μεταξύ της διεπαφής χρήστη και του χώρου αποθήκευσης δεδομένων.
Γκρί Box Στρατηγική Δοκιμών
Για να εκτελέσετε το Grey Box Κατά τη δοκιμή, δεν είναι απαραίτητο ο υπεύθυνος δοκιμής να έχει πρόσβαση στον πηγαίο κώδικα. Μια δοκιμή σχεδιάζεται με βάση τη γνώση των αλγορίθμων, των αρχιτεκτονικών, των εσωτερικών καταστάσεων ή άλλων περιγραφών υψηλού επιπέδου της συμπεριφοράς του προγράμματος.
Για να εκτελέσετε το Grey Box δοκιμή:
- Εφαρμόζει τις απλές τεχνικές του ελέγχου μαύρου κουτιού.
- Βασίζεται στη δημιουργία δοκιμαστικών περιπτώσεων βάσει απαιτήσεων, επομένως προκαθορίζει όλες τις συνθήκες πριν το πρόγραμμα δοκιμαστεί με τη μέθοδο ισχυρισμού.
Τεχνικές που χρησιμοποιούνται για το γκρι Box Οι δοκιμές είναι:
- Δοκιμή Matrix: Αυτή η τεχνική περιλαμβάνει τον ορισμό όλων των μεταβλητών που υπάρχουν στο πρόγραμμα, μαζί με τον κίνδυνο που φέρει η καθεμία, έτσι ώστε να είναι ορατές οι αχρησιμοποίητες μεταβλητές και οι μεταβλητές υψηλού κινδύνου.
- Δοκιμή παλινδρόμησης: Ελέγχει εάν μια αλλαγή στην προηγούμενη έκδοση έχει υποχωρήσει σε άλλες πτυχές του προγράμματος στη νέα έκδοση. Αυτό γίνεται με στρατηγικές όπως η επανάληψη όλων των ελέγχων, η επανάληψη επικίνδυνων περιπτώσεων χρήσης και η επανάληψη του ελέγχου εντός ενός τείχους προστασίας.
- Δοκιμή ορθογωνικής διάταξης ή Βρώμη: παρέχει μέγιστη κάλυψη κώδικα με ελάχιστο αριθμό δοκιμαστικών περιπτώσεων.
- Δοκιμή προτύπων: πραγματοποιήθηκε σε ιστορικά δεδομένα προηγούμενων ελαττωμάτων του συστήματος. Σε αντίθεση με τις δοκιμές μαύρου κουτιού, το Grey Box Οι δοκιμές εμβαθύνουν στον κώδικα και προσδιορίζουν την αιτία της αποτυχίας.
Γκρί Box η μεθοδολογία συνήθως χρησιμοποιεί αυτοματοποιημένους εργαλεία δοκιμής λογισμικού για τη διεξαγωγή των δοκιμών. Τα stubs και τα προγράμματα οδήγησης μονάδων δημιουργούνται έτσι ώστε ο δοκιμαστής να μην χρειάζεται να δημιουργήσει τον κώδικα χειροκίνητα.
Βήματα για την εκτέλεση του Grey Box Οι δοκιμές είναι:
- Βήμα 1: Προσδιορίστε τα δεδομένα εισόδου.
- Βήμα 2: Προσδιορίστε τα αποτελέσματα.
- Βήμα 3: Προσδιορίστε τις κύριες διαδρομές.
- Βήμα 4: Προσδιορίστε τις υποσυναρτήσεις.
- Βήμα 5: Ανάπτυξη δεδομένων εισόδου για τις υποσυναρτήσεις.
- Βήμα 6: Ανάπτυξη εξόδων για τις υποσυναρτήσεις.
- Βήμα 7: Εκτελέστε την δοκιμαστική περίπτωση για τις υποσυναρτήσεις.
- Βήμα 8: Επαληθεύστε το σωστό αποτέλεσμα για τις υποσυναρτήσεις.
- Βήμα 9: Επαναλάβετε τα βήματα 4 έως 8 για τις υπόλοιπες υπολειτουργίες.
- Βήμα 10: Επαναλάβετε τα βήματα 7 και 8 για τις υπόλοιπες υπολειτουργίες.
Οι δοκιμαστικές περιπτώσεις για το Grey Box Οι δοκιμές ενδέχεται να καλύπτουν, μεταξύ άλλων, ζητήματα που αφορούν το γραφικό περιβάλλον χρήστη (GUI), την ασφάλεια, τη βάση δεδομένων, το πρόγραμμα περιήγησης και το λειτουργικό σύστημα. Κάθε περίπτωση που δημιουργείται εξακολουθεί να χρειάζεται τις συνήθεις περίπτωση δοκιμής χαρακτηριστικά, καθώς μια περίπτωση που δεν μπορεί να αναπαραχθεί από τη δική της περιγραφή έχει μικρή χρησιμότητα κατά την παλινδρόμηση.
Όπου γκρι Box Χρησιμοποιείται δοκιμή
Η τεχνική κερδίζει τη θέση της όπου ένα ελάττωμα μπορεί να διαγνωστεί μόνο εξετάζοντας δύο επίπεδα ταυτόχρονα. Τα ακόλουθα σενάρια είναι αυτά στα οποία εφαρμόζεται συχνότερα:
- Ροές εργασίας που υποστηρίζονται από βάση δεδομένων: Μια ενέργεια εκτελείται μέσω της διεπαφής χρήστη και οι γραμμές που προκύπτουν στη συνέχεια ερωτώνται απευθείας για να επιβεβαιωθεί ότι οι τιμές, οι τύποι και οι σχέσεις αποθηκεύτηκαν όπως προβλέπεται.
- Υπηρεσίες ιστού και API: Αποστέλλεται ένα αίτημα και η κατάσταση απόκρισης, οι κεφαλίδες και το ωφέλιμο φορτίο ελέγχονται σε σχέση με τη δημοσιευμένη αναφορά.tract, η οποία είναι η καθημερινή μορφή του Δοκιμή API.
- Σημεία ενσωμάτωσης: Τα μηνύματα που διασχίζουν ένα όριο μεταξύ δύο ενοτήτων ελέγχονται, ενώ και οι δύο ενότητες αντιμετωπίζονται ως τρέχοντα συστήματα και όχι ως αρχεία πηγαίου κώδικα.
- Αξιολόγηση ασφάλειας: Ένας δοκιμαστής διείσδυσης με έναν κανονικό λογαριασμό χρήστη και μια επισκόπηση αρχιτεκτονικής αναπαράγει τη θέση ενός εσωτερικού χρήστη, η οποία είναι το τυπικό μοντέλο εμπλοκής στο γκρι κουτί.
- Εφαρμογές ιστού και γραφικά περιβάλλοντα χρήστη (GUI): Οι κατεστραμμένοι σύνδεσμοι, οι ορφανές σελίδες, ο χειρισμός περιόδων σύνδεσης και η επικύρωση από την πλευρά του πελάτη ελέγχονται όλα με μερική ορατότητα της σήμανσης και της ροής αιτημάτων.
Σε όλα αυτά, το συνολικό κόστος των ελαττωμάτων του συστήματος μειώνεται επειδή τα προβλήματα εντοπίζονται και εξηγούνται προτού περάσουν περαιτέρω στη διαδικασία. δοκιμή συστήματος ή παραγωγή.
Γκρί Box Εργαλεία δοκιμών
Κανένα εργαλείο δεν λειτουργεί Γκρι Box Δοκιμή από μόνη της. Αυτό που χρειάζεται η κατηγορία είναι ένας συνδυασμός ενός προγράμματος οδήγησης διεπαφής, ενός εργαλείου επιθεώρησης για το επίπεδο από κάτω και ενός τρόπου για να δημιουργηθούν σενάρια για τα δύο μαζί.
- API και πελάτες υπηρεσιών ιστού όπως το πορτοκαλί και το κίτρινο μπορούν να φωτίσουν τα έπιπλά σας και να τα αναδείξουν. Αυτά τα χρώματα ταιριάζουν καλά με ξύλα ανοιχτών τόνων, προσθέτοντας ζεστασιά και ζωντάνια στον χώρο. Postman και SoapUI, που χρησιμοποιείται για την έκδοση αιτημάτων και την επαλήθευση κωδικών κατάστασης και φορέων απόκρισης.
- Πελάτες βάσεων δεδομένων και εργαλεία ερωτημάτων SQL, χρησιμοποιείται για την επαλήθευση της μόνιμης κατάστασης μετά από μια ενέργεια διεπαφής.
- Εργαλεία προγραμματιστών προγραμμάτων περιήγησης και διακομιστές μεσολάβησης HTTP όπως το πορτοκαλί και το κίτρινο μπορούν να φωτίσουν τα έπιπλά σας και να τα αναδείξουν. Αυτά τα χρώματα ταιριάζουν καλά με ξύλα ανοιχτών τόνων, προσθέτοντας ζεστασιά και ζωντάνια στον χώρο. Burp Suite, που χρησιμοποιείται για την επιθεώρηση και τροποποίηση αιτημάτων κατά τη διάρκεια συνεδριών που επικεντρώνονται στην ασφάλεια.
- Πλαίσια αυτοματοποίησης UI όπως το πορτοκαλί και το κίτρινο μπορούν να φωτίσουν τα έπιπλά σας και να τα αναδείξουν. Αυτά τα χρώματα ταιριάζουν καλά με ξύλα ανοιχτών τόνων, προσθέτοντας ζεστασιά και ζωντάνια στον χώρο. Selenium, που χρησιμοποιείται για την οδήγηση του επιπέδου παρουσίασης μέσα σε ένα δοκιμές αυτοματισμού για.
- Εργαλεία καταγραφής και παρακολούθησης, που χρησιμοποιείται για τη συσχέτιση μιας παρατηρούμενης αποτυχίας με αυτό που κατέγραψε εσωτερικά η εφαρμογή εκείνη τη στιγμή.
Η επιλογή έχει λιγότερη σημασία από την καλωδίωση: εκτός εάν το πρόγραμμα οδήγησης διεπαφής και το βήμα επιθεώρησης εκτελούνται με την ίδια ροή σεναρίου, το αποτέλεσμα είναι δύο ξεχωριστοί χειροκίνητοι έλεγχοι αντί για μία δοκιμή γκρι κουτιού.
Γκρί Box Προκλήσεις δοκιμής
Η μερική ορατότητα εισάγει προβλήματα που καμία από τις καθαρές μεθόδους δεν αντιμετωπίζει και τα ακόλουθα είναι αυτά που συναντούν οι ομάδες πιο συχνά:
- Όταν ένα στοιχείο που υπό δοκιμή παρουσιάσει κάποιο είδος σφάλματος, μπορεί να διακόψει την τρέχουσα λειτουργία και να αφήσει την υπόλοιπη ακολουθία ανεκτελεσμένη.
- Μια δοκιμή μπορεί να εκτελεστεί πλήρως ενώ το περιεχόμενο του αποτελέσματος είναι λανθασμένο, επομένως το βήμα επαλήθευσης πρέπει να ελέγξει τις τιμές και όχι την ολοκλήρωσή της.
- Η πλήρης κάλυψη της διαδρομής κώδικα δεν είναι εφικτή, επειδή ο ελεγκτής δεν βλέπει ποτέ κάθε κλάδο που θα έφτανε η δοκιμή white box.
- Η τεκμηρίωση σχεδιασμού στην οποία βασίζονται οι δοκιμές ενδέχεται να είναι παρωχημένη και ένα παρωχημένο σχήμα ή προδιαγραφή διεπαφής ακυρώνει σιωπηρά τον σχεδιασμό της δοκιμής.
- Οι δοκιμαστές χρειάζονται τόσο κατανόηση του τομέα όσο και τεχνικό βάθος, το οποίο είναι ένα πιο περιορισμένο προφίλ δεξιοτήτων για το οποίο πρέπει να προσληφθούν.
- Κατανεμημένοι και έντονα κοιλιακοίtracΟι αρχιτεκτονικές TED δυσκολεύουν την απόδοση μιας παρατηρούμενης αστοχίας σε ένα συγκεκριμένο εσωτερικό στοιχείο.
Αυτοί οι περιορισμοί συνηγορούν υπέρ της αντιμετώπισης του Grey Box Δοκιμή ως ένα επίπεδο μεταξύ πολλών και όχι ως αντικατάσταση των άλλων, κάτι που επισημαίνεται σε όλο το ευρύτερο σύνολο τεχνικές δοκιμής λογισμικού και είδη δοκιμών λογισμικούΒρίσκεται φυσικά δίπλα λειτουργικές δοκιμές και προσεγγίσεις που βασίζονται σε προδιαγραφές, όπως δοκιμές βάσει μοντέλου.

