Τι είναι το Γκρι Box Δοκιμές; Τεχνικές, Παράδειγμα

⚡ Έξυπνη Σύνοψη

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

  • 🔍 Επίπεδο γνώσεων: Η εσωτερική δομή είναι εν μέρει γνωστή, σε αντίθεση με την πλήρως γνωστή για τη δοκιμή λευκού κουτιού και την άγνωστη για τη δοκιμή μαύρου κουτιού.
  • 🧪 Τέσσερις τεχνικές: Οι δοκιμές πινάκων, οι δοκιμές παλινδρόμησης, οι δοκιμές ορθογώνιων πινάκων και οι δοκιμές μοτίβων αποτελούν το βασικό σύνολο εργαλείων.
  • 🪜 Δέκα βήματα: Προσδιορίστε τις εισόδους, τις εξόδους και τις κύριες διαδρομές και, στη συνέχεια, χωρίστε το σύστημα σε υποσυναρτήσεις και επαληθεύστε την καθεμία.
  • 🔗 καλύτερη εφαρμογή: Δοκιμές ενσωμάτωσης, δοκιμές διείσδυσης, ροές εργασίας που υποστηρίζονται από βάσεις δεδομένων, υπηρεσίες ιστού και API contracts.
  • Ανταλλαγή: Η μερική ορατότητα μειώνει την προσπάθεια, αλλά περιορίζει επίσης το βάθος που μπορεί να έχει οποιαδήποτε μεμονωμένη διαδρομή κώδικα. traced.
  • 📋 Προαπαιτούμενο: Η ακριβής τεκμηρίωση σχεδιασμού έχει σημασία, επειδή ένα παρωχημένο σχήμα ή προδιαγραφή ακυρώνει σιωπηρά το σχεδιασμό της δοκιμής.

Γκρί Box Δοκιμές που συνδυάζουν μερική εσωτερική γνώση με σχεδιασμό δοκιμών που απευθύνεται στον χρήστη

Τι είναι το Γκρι Box Δοκιμές;

Γκρί Box Δοκιμές (γράφεται και γκρι) Box (Testing) είναι μια τεχνική δοκιμών λογισμικού που δοκιμάζει ένα προϊόν ή μια εφαρμογή λογισμικού με μερική γνώση της εσωτερικής δομής της εφαρμογής. Ο σκοπός του Grey Box Η δοκιμή γίνεται για την αναζήτηση και τον εντοπισμό ελαττωμάτων που προκαλούνται από ακατάλληλη δομή κώδικα ή ακατάλληλη χρήση της εφαρμογής.

Σε αυτήν τη διαδικασία, εντοπίζονται συνήθως σφάλματα που σχετίζονται με συγκεκριμένα συμφραζόμενα και σχετίζονται με συστήματα ιστού. Η τεχνική αυξάνεται κάλυψη δοκιμών εστιάζοντας σε όλα τα επίπεδα ενός πολύπλοκου συστήματος αντί για ένα από αυτά.

Γκρί Box Η δοκιμή είναι μια μέθοδος δοκιμής λογισμικού που συνδυάζει Λευκό Box Δοκιμές και Μαύρο 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 Δοκιμή ως ένα επίπεδο μεταξύ πολλών και όχι ως αντικατάσταση των άλλων, κάτι που επισημαίνεται σε όλο το ευρύτερο σύνολο τεχνικές δοκιμής λογισμικού και είδη δοκιμών λογισμικούΒρίσκεται φυσικά δίπλα λειτουργικές δοκιμές και προσεγγίσεις που βασίζονται σε προδιαγραφές, όπως δοκιμές βάσει μοντέλου.

Συχνές Ερωτήσεις

Και οι δύο αναφέρονται στην ίδια τεχνική. Το Grey είναι η βρετανική ορθογραφία και το gray η αμερικανική, και οι δύο εμφανίζονται εναλλακτικά στην τεκμηρίωση εργαλείων και στα προγράμματα σπουδών πιστοποίησης. Καμία από τις δύο δεν έχει διαφορετική τεχνική σημασία.

Αρκετά για να συλλογιστούμε τα εσωτερικά στοιχεία χωρίς να διαβάσουμε κάθε γραμμή: διαγράμματα αρχιτεκτονικής, το μοντέλο δεδομένων, η διεπαφή.tracts και έναν λογαριασμό μόνο για ανάγνωση στη βάση δεδομένων δοκιμών. Η πλήρης πρόσβαση στο αποθετήριο μετατρέπει την άσκηση σε δοκιμή white box.

Συνήθως ένας μηχανικός δοκιμών με υπόβαθρο στην ανάπτυξη ή ένας δοκιμαστής σε συνδυασμό με έναν προγραμματιστή για την περίοδο λειτουργίας. Οι εργασίες ασφαλείας εκτελούνται από δοκιμαστές διείσδυσης στους οποίους παρέχεται ένας τυπικός λογαριασμός χρήστη και μια ενημέρωση αρχιτεκτονικής.

Ενάντια σε διεπαφές και δεδομένα αντί για δηλώσεις: κάθε τελικό σημείο και κωδικός κατάστασης που ασκήθηκε, κάθε μετάβαση πίνακα και κατάστασης που άγγιξε, κάθε διαδρομή ολοκλήρωσης που διανύθηκε. Τα ποσοστά δηλώσεων και διακλαδώσεων ανήκουν σε μέτρηση λευκού κουτιού.

Ένα stub αντιπροσωπεύει ένα στοιχείο, τη μονάδα κατά τις δοκιμαστικές κλήσεις, ενώ ένα driver αντιπροσωπεύει το στοιχείο που θα την καλούσε. Μαζί, επιτρέπουν την άσκηση μιας υποσυνάρτησης μεμονωμένα πριν δημιουργηθεί το πλήρες σύστημα.

Όταν απαιτείται μια ανεξάρτητη ετυμηγορία από την οπτική γωνία του χρήστη, καθώς η μερική γνώση προκαταλαμβάνει τον δοκιμαστή προς τις αναμενόμενες διαδρομές. Οι δοκιμές αποδοχής και η χρηστικότητα παραμένουν ένα «μαύρο κουτί» ακριβώς για αυτόν τον λόγο, και ο κώδικας που είναι κρίσιμος για την ασφάλεια εξακολουθεί να χρειάζεται πλήρη ανάλυση «λευκού κουτιού».

Η μηχανική μάθηση εξορύσσει το ιστορικό ελαττωμάτων για το βήμα δοκιμής προτύπων, κατατάσσει τις διεπαφές με βάση τον προβλεπόμενο κίνδυνο, ώστε η περιορισμένη πρόσβαση να αξιοποιείται σωστά και ομαδοποιεί τα αρχεία καταγραφής για να συνδέσει μια παρατηρούμενη αποτυχία με το εσωτερικό στοιχείο που την προκάλεσε.

Ναι, για τα επαναλαμβανόμενα μέρη: εργαλεία δημιουργίας αιτημάτων, ισχυρισμοί απόκρισης, ερωτήματα επαλήθευσης, stubs και προγράμματα οδήγησης που έχουν συνταχθεί από έναν ορισμό διεπαφής. Η απόφαση για το ποια εσωτερική κατάσταση αποδεικνύει ότι η συμπεριφορά είναι σωστή παραμένει μια σχεδιαστική κρίση για τον μηχανικό.

Συνοψίστε αυτήν την ανάρτηση με: