White-Box vs Black-Box Testing
Οι όροι White-Box και Black-Box χρησιμοποιούνται στη μηχανική λογισμικού. Αυτές είναι δύο από τις προσεγγίσεις δοκιμών που χρησιμοποιούνται στη δοκιμή λογισμικού, τη διαδικασία παροχής διασφάλισης για την ποιότητα του λογισμικού στον πελάτη. Η δοκιμή λογισμικού (η οποία συνήθως εκτελείται με την εκτέλεση του λογισμικού) διεξάγεται με σκοπό την εύρεση λαθών (γνωστά και ως σφάλματα λογισμικού) στο λογισμικό.
Τι είναι η δοκιμή White-Box;
Η δοκιμή λευκού κουτιού χρησιμοποιείται για τη δοκιμή ενός συστήματος λογισμικού που βασίζεται στη δομή του συστήματος. Μοιάζει περισσότερο με ένα διαφανές κουτί μέσα από το οποίο μπορούμε να δούμε τι συμβαίνει μέσα. Ελέγχει σε βάθος τον τρόπο με τον οποίο κάθε μονάδα του συστήματος αποκρίνεται σύμφωνα με τις δεδομένες εισόδους. Τέτοιες δοκιμές χρειάζονται πολύ χρόνο, καθώς είναι απαραίτητο να ελεγχθούν οι δομές ελέγχου, οι βρόχοι, οι συνθήκες, οι λειτουργίες κ.λπ. Οι τεχνικές δοκιμής αυτής της προσέγγισης περιλαμβάνουν δοκιμή ροής δεδομένων, έλεγχο ροής ελέγχου, δοκιμή διακλάδωσης και διαδρομής για κάθε μονάδα. Για τη διενέργεια αυτού του είδους δοκιμών απαιτούνται εξαιρετικά τεχνικοί ελεγκτές. Εκτελώντας μια δοκιμή λευκού κουτιού, είναι ευκολότερο να εντοπίσετε τα σφάλματα που είναι διαθέσιμα στο σύστημα. Η δοκιμή λευκού κουτιού προσθέτει ένα επιπλέον φορτίο σε ένα έργο, επειδή, σε ορισμένες περιπτώσεις, είναι απαραίτητο να δημιουργηθούν δοκιμαστικές περιπτώσεις ως ξεχωριστά έργα για μεμονωμένες περιοχές δοκιμών. Επομένως, αυτό τελικά έχει αρνητικές επιπτώσεις στο κόστος του έργου και στο χρονοδιάγραμμα.
Τι είναι η δοκιμή Black-Box;
Η δοκιμή μαύρου κουτιού χρησιμοποιείται για τον έλεγχο μόνο της λειτουργικότητας του συστήματος ανεξάρτητα από τον τρόπο με τον οποίο το σύστημα εκτελεί μια ενέργεια. Στοχεύει κυρίως στο να διασφαλίσει ότι ικανοποιούνται οι απαιτήσεις του συστήματος. Είναι παρόμοιο με ένα κλειστό κουτί όπου ξέρουμε μόνο τι τροφοδοτούμε και τελικά δίνει μια έξοδο, αλλά δεν ξέρουμε πώς παρήχθη αυτή η παραγωγή. Οι τεχνικές δοκιμών περιλαμβάνουν: δοκιμή πίνακα αποφάσεων, πίνακες μετάβασης καταστάσεων, ισοδύναμη κατάτμηση, κ.λπ. για δοκιμή υψηλότερου επιπέδου. Αυτή η δοκιμή διαρκεί λιγότερο χρόνο σε σύγκριση με τη δοκιμή λευκού κουτιού, καθώς εξετάζει μόνο τη δοκιμή εάν το σύστημα δίνει την αναμενόμενη έξοδο σύμφωνα με τη δεδομένη είσοδο. Οι δοκιμαστικές περιπτώσεις δημιουργούνται μόνο σύμφωνα με τις απαιτήσεις του συστήματος. Οι τεχνικές δεξιότητες του ελεγκτή δεν αναμένονται ιδιαίτερα. Εάν παρουσιαστεί κάποιο σφάλμα στο σύστημα, δεν είναι εύκολο να το παρακολουθήσετε καθώς δεν δοκιμάζει την εσωτερική διαδικασία.
Τυπικά, και οι δύο αυτές τεχνικές χρησιμοποιούνται σε περιβάλλον ανάπτυξης λογισμικού, για να βεβαιωθείτε ότι ολόκληρο το λογισμικό λειτουργεί σωστά. Δεν υπάρχει συγκεκριμένη σειρά για την εκτέλεση αυτών των δύο δοκιμών και οι προσεγγίσεις δεν ανήκουν σε κάποια συγκεκριμένη φάση του κύκλου ζωής ανάπτυξης λογισμικού. Ωστόσο, η δοκιμή μαύρου κουτιού μπορεί να πραγματοποιηθεί από μια ξεχωριστή ομάδα, ενώ η δοκιμή λευκού κουτιού κατά προτίμηση εκτελείται από τους ίδιους τους προγραμματιστές ή τους προγραμματιστές, εκτός από μια ξεχωριστή ομάδα δοκιμών.
Ποια είναι η διαφορά μεταξύ του White-Box Testing και του Black-Box Testing??
• Η δοκιμή White-box εκτελεί δοκιμές στη δομή του συστήματος
• Δοκιμές μαύρου κουτιού για την επαλήθευση της απαίτησης συστήματος ικανοποιείται αναλόγως
• Η δοκιμή White-box απαιτεί εξαιρετικά τεχνικούς ελεγκτές
• Οι τεχνικές γνώσεις του ελεγκτή δεν αναμένονται ιδιαίτερα για τη δοκιμή μαύρου κουτιού
• Εύκολη παρακολούθηση εσωτερικού σφάλματος στη δοκιμή λευκού κουτιού
• Εύκολη εκτέλεση μιας δοκιμής για να δείτε πώς θα λειτουργεί το σύστημα χρησιμοποιώντας τη δοκιμή μαύρου κουτιού