Δοκιμή Λογισμικού

Εκμάθηση δοκιμής Black Box για αρχάριους

30 Οκτωβρίου 2021

Το Black Box Testing είναι μία από τις μεθόδους δοκιμής λογισμικού που ελέγχει τη λειτουργικότητα της εφαρμογής με βάση τις διαθέσιμες προδιαγραφές.

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

Δοκιμή μαύρου κουτιού

Πίνακας περιεχομένων

Παράδειγμα:

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

Βήματα για να ξεκινήσετε τη δοκιμή Black Box

  1. Κατανόηση των προδιαγραφών απαιτήσεων της εφαρμογής
    Αυτό μπορεί να γίνει με τη βοήθεια εγγράφων SRS
  2. Ζητήστε την αξιολόγηση των έγκυρων εισροών και των σεναρίων δοκιμών
  3. Προετοιμάστε το δοκιμές
  4. Εκτελέστε τις περιπτώσεις δοκιμής για να δημιουργήσετε την έξοδο
  5. Τα βήματα που τείνουν να αποτύχουν επισημαίνονται και αποστέλλονται στην ομάδα ανάπτυξης για να τα διορθώσει
  6. Ελέγξτε ξανά το σύστημα για να βεβαιωθείτε ότι το ελάττωμα το fix δουλεύει μια χαρά και δεν υπάρχουν άλλα ελαττώματα

Τύποι δοκιμών μαύρου κουτιού

Υπάρχουν τρεις τύποι δοκιμών Black Box και αναφέρονται παρακάτω:

    Λειτουργικός Έλεγχος
    Δοκιμή μαύρου κουτιού δοκιμάζει συγκεκριμένες λειτουργίες του λογισμικού κατά τη διαδικασία της δοκιμής. Η λειτουργική δοκιμή επικεντρώνεται στις πιο κρίσιμες πτυχές του λογισμικού και στην ενοποίηση μεταξύ βασικών στοιχείων.
  • Μη λειτουργικο Τ esting
    Η δοκιμή μαύρου κουτιού δεν χρησιμοποιείται μόνο για τον έλεγχο των χαρακτηριστικών και της λειτουργικότητας, αλλά μπορεί να προχωρήσει και να ελέγξει τις πρόσθετες πτυχές του λογισμικού.
    Μια μη λειτουργική δοκιμή ελέγχει εάν το λογισμικό μπορεί να εκτελέσει μια συγκεκριμένη ενέργεια ή όχι αντί να ελέγχει πώς εκτελεί αυτήν την ενέργεια.
  • Δοκιμή παλινδρόμησης
    Η δοκιμή μαύρου κουτιού είναι χρήσιμη για τον έλεγχο του εάν μια νέα έκδοση του λογισμικού παρουσιάζει ελαττώματα από τη μια έκδοση στην άλλη. Ο έλεγχος παλινδρόμησης μπορεί να εφαρμοστεί τόσο σε λειτουργικές όσο και σε μη λειτουργικές πτυχές του λογισμικού.

ΕΡΓΑΛΕΙΑ ΓΙΑ ΔΟΚΙΜΗ ΜΑΥΡΟΥ ΚΟΥΤΙΟΥ

Για δοκιμές λειτουργίας και παλινδρόμησης

    UFT – είναι προϊόν της Micro Focus (Πρώην HP) και σημαίνει Ενιαία Λειτουργική Δοκιμή . Βοηθά τον ελεγκτή να εκτελέσει μια αυτοματοποιημένη δοκιμή χωρίς παρακολούθηση μόλις ολοκληρωθεί η ανάπτυξη του σεναρίου. Συγκρίνει τα αποτελέσματα και τις εκθέσεις στην περίληψη. Σελήνιο – είναι μια σουίτα δοκιμής αυτοματισμού UI ανοιχτού κώδικα. Μπορεί να αναπτυχθεί εύκολα σε πλατφόρμες όπως Macintosh, Windows, Linux και πολλά άλλα.

Για μη λειτουργικές δοκιμές

    LoadRunner – είναι προϊόν της MicroFocus. Χρησιμοποιείται για τη δοκιμή εφαρμογών και τη μέτρηση της συμπεριφοράς του συστήματος. Αναλύει επίσης την απόδοση βασικών στοιχείων της εφαρμογής. JMeter – είναι ένα εργαλείο δοκιμών που χρησιμοποιείται για την ανάλυση και τη μέτρηση της απόδοσης των εφαρμογών. Διαθέτει φιλικό περιβάλλον εργασίας χρήστη και είναι ανεξάρτητο από την πλατφόρμα. Μπορεί επίσης να ενσωματωθεί με σελήνιο.

Επίπεδα που ισχύουν για τη δοκιμή Black Box

Η δοκιμή μαύρου κουτιού εφαρμόζεται στα ακόλουθα επίπεδα

    Έλεγχος ολοκλήρωσης : Είναι ένα επίπεδο δοκιμής λογισμικού όπου μεμονωμένες μονάδες συνδυάζονται και δοκιμάζονται ως ομάδα. Ο σκοπός είναι να αποκαλυφθούν σφάλματα μεταξύ των ενσωματωμένων μονάδων. Είναι το δεύτερο επίπεδο δοκιμής που εκτελείται μετά τη δοκιμή μονάδας και πριν από τη δοκιμή του συστήματος.
    Δοκιμή συστήματος : Επίπεδο δοκιμής λογισμικού όπου δοκιμάζεται ένα ενσωματωμένο λογισμικό. Σκοπός είναι η αξιολόγηση της συμμόρφωσης του συστήματος. Είναι το τρίτο επίπεδο δοκιμών που πραγματοποιείται μετά τη δοκιμή ολοκλήρωσης και πριν από τη δοκιμή αποδοχής.
    Δοκιμή αποδοχής : Επίπεδο δοκιμής λογισμικού όπου ένα σύστημα ελέγχεται για αποδοχή. Ο κύριος σκοπός είναι η αξιολόγηση της συμμόρφωσης του συστήματος με τις επιχειρηματικές απαιτήσεις. Το Acceptance Testing είναι το τελευταίο επίπεδο δοκιμής λογισμικού που πραγματοποιείται μετά τη δοκιμή συστήματος.

Τεχνικές δοκιμής μαύρου κουτιού

Αυτές είναι οι τεχνικές δοκιμής Black box:

    Ανάλυση οριακής αξίας Διαμερισμός ισοδυναμίας Δοκιμή πίνακα αποφάσεων Δοκιμές μετάβασης κατάστασης Σφάλμα εικασίας

Ας τα συζητήσουμε αναλυτικά.

    Ανάλυση οριακής τιμής:Αυτή η τεχνική προσδιορίζει τα ελαττώματα των τιμών εισόδου αντί να εστιάζει στο εύρος των τιμών εισόδου. Βοηθά επίσης στην αντιμετώπιση ακραίων τιμών εξόδου. Είναι επίσης χρήσιμο κατά την εκτέλεση διαμερισμάτων ισοδυναμίας.
Δοκιμή μαύρου κουτιού
ΠλεονεκτήματαΜειονεκτήματα
Λειτουργεί καλά με μεταβλητές
Λιγότερο κόστος για τη δημιουργία δοκιμών
Μπορεί να χρησιμοποιηθεί σε όλα τα επίπεδα δοκιμών
Δημιουργεί μεγάλο αριθμό δοκιμών
Δεν μπορεί να χρησιμοποιηθεί για δυαδικές μεταβλητές
Δεν μπορεί να χρησιμοποιηθεί για λογικές μεταβλητές
Δεν είναι χρήσιμο για δυνατές γλώσσες
    Διαμερισμός ισοδυναμίας: Αυτή η τεχνική χρησιμοποιείται κυρίως για τη σύνταξη δοκιμαστικών περιπτώσεων. Σε αυτό, χωρίζετε τις δοκιμαστικές περιπτώσεις σε διαφορετικά μέρη που θεωρούνται ίδια. Μπορεί να εφαρμοστεί σε όλα τα επίπεδα δοκιμών όπως μονάδα, ενοποίηση, σύστημα. Για παράδειγμα: Εάν κάνετε δοκιμές για ένα πλαίσιο εισαγωγής που δέχεται αριθμούς από το 1 έως το 50, τότε δεν χρειάζεται να γράψετε 100 περιπτώσεις δοκιμής και για τους 100 έγκυρους αριθμούς εισαγωγής. Έτσι, χρησιμοποιώντας τη μέθοδο Equivalence Partitioning, οι περιπτώσεις δοκιμής μπορούν να χωριστούν σε τέσσερα σύνολα δεδομένων εισόδου που ονομάζονται κλάσεις.
Δοκιμή μαύρου κουτιού

Στο παραπάνω παράδειγμα, μπορείτε να διαιρέσετε τις περιπτώσεις δοκιμής σε τέσσερις κατηγορίες ισοδυναμίας ορισμένων έγκυρων και μη έγκυρων εισόδων.

ΠλεονεκτήματαΜειονεκτήματα
Παρέχει πλήρη δοκιμή
Επιτρέπει μεγάλους τομείς εισόδων και εξόδων
Αποφεύγει τον πλεονασμό των τεστ
Προσανατολισμένη στη διαδικασία
Δεν είναι δυνατός ο χειρισμός σφαλμάτων οριακής τιμής
Χρονοβόρος
    Δοκιμή πίνακα αποφάσεων: Όταν πρέπει να δοκιμάσετε τη συμπεριφορά του συστήματος για διαφορετικούς συνδυασμούς, τότε η τεχνική δοκιμής λογισμικού που χρησιμοποιείται είναι η δοκιμή πίνακα αποφάσεων. Είναι μια συστηματική προσέγγιση όπου οι διαφορετικές εισροές και η συμπεριφορά του συστήματος καταγράφονται σε μορφή πίνακα. Αυτό ονομάζεται επίσης πίνακας αιτίου-αποτελέσματος.
    Για παράδειγμα: παρακάτω είναι το διάγραμμα ροής μιας οθόνης σύνδεσης επιχείρησης.
Δοκιμή μαύρου κουτιού
  • Το πρώτο βήμα είναι να ονομάσουμε όλα τα κλαδιά και τα φύλλα.
  • Τα a,b,c είναι τα κλαδιά ενώ τα 1,2,3 τα φύλλα.
Δοκιμή μαύρου κουτιού
ΠλεονεκτήματαΜειονεκτήματα
Τα εργαλεία παρέχουν πλήρη κάλυψη των περιπτώσεων δοκιμής
Λειτουργεί επαναληπτικά
Έχει μια πληρότητα
Εάν ο αριθμός των εισόδων αυξάνεται, ο πίνακας αποδεικνύεται λίγο πιο περίπλοκος
Δοκιμές μετάβασης κατάστασης

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

Δοκιμή μαύρου κουτιού

Διάγραμμα μετάβασης κατάστασης

Δείχνει πώς αλλάζει το σύστημα σε συγκεκριμένες εισόδους. Έχει τέσσερα κύρια συστατικά:

  • κατάσταση
  • Μετάβαση
  • Εκδήλωση
  • Δράση

μεταβατικά κράτη

    Αλλαγή λειτουργίας:Όταν ενεργοποιηθεί, η λειτουργία εμφάνισης μετακινείται από ώρα σε ημερομηνία.Ορισμός χρόνου:Όταν ενεργοποιηθεί, η λειτουργία εμφάνισης αλλάζει από καιρό σε καιρόΟρίστηκε ημερομηνία:Όταν ενεργοποιηθεί, η λειτουργία εμφάνισης αλλάζει από αλλαγή ημερομηνίας σε ημερομηνίαΕπαναφορά:Όταν η λειτουργία εμφάνισης είναι ώρα ή ημερομηνία, τους ρυθμίζει να αλλάζουν την ώρα ή να αλλάζουν την ημερομηνία
ΠλεονεκτήματαΜειονεκτήματα
Επιτρέπει στους δοκιμαστές να καλύπτουν μη έγκυρες καταστάσεις
Δίνει μια σωστή αναπαράσταση της συμπεριφοράς του συστήματος
Καλύπτει όλες τις προϋποθέσεις
Δεν μπορεί να εκτελεστεί παντού
Δεν είναι αξιόπιστο

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

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

ΠλεονεκτήματαΜειονεκτήματα
Συμπληρώνει άλλες προσεγγίσεις δοκιμών
Κάνει τη δοκιμή πολύ πιο αποτελεσματική και αποδοτική
Αποκαλύπτει γρήγορα τα ελαττώματα
Κάποιος απαιτεί εμπειρία δοκιμών
Βασίζεται στη διαίσθηση των δοκιμαστών

Πλεονεκτήματα και μειονεκτήματα της δοκιμής Black Box

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

Ποιο είναι το καλύτερο Testing Black Box ή White Box Testing;

Για αυτό, πρέπει να γνωρίζετε λίγα πράγματα για τη δοκιμή λευκού κουτιού

Δοκιμή λευκού κουτιού

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

Άλλα ονόματα για τη δοκιμή λευκού κουτιού είναι δοκιμή γυάλινων κιβωτίων, δοκιμή καθαρού κουτιού, δομική δοκιμή.

Δοκιμή λευκού κουτιού

Για παράδειγμα:

|_+_|
  • Αρχικά, εκχωρήστε την τιμή των A και B. ας υποθέσουμε ότι A=60 και B=50.
  • Δεύτερον, τώρα στο C αποδίδεται η τιμή A+B, A=60, B=50 άρα C=110.
  • Τρίτον, θα ελέγξουμε αν C>100 και σε αυτή την περίπτωση είναι αλήθεια, επομένως θα έχουμε το αποτέλεσμα ΕΓΙΝΕ.

Βήματα για να ξεκινήσετε τη δοκιμή White Box

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

Τεχνικές δοκιμών White Box

    Κάλυψη δήλωσης: Εξασφαλίζει εάν κάθε γραμμή εκτελείται τουλάχιστον μία φορά.Κάλυψη υποκαταστήματος: Εξασφαλίζει ότι κάθε κλάδος από κάθε σημείο απόφασης εκτελείται.Κάλυψη διαδρομής: Εξασφαλίζει ότι κάθε μονοπάτι διανύεται τουλάχιστον μία φορά.

Τύποι δοκιμών White Box

Υπάρχουν τρεις τύποι δοκιμών White Box και αναφέρονται παρακάτω:

    Δοκιμή μονάδας Ασπρο κουτί Δοκιμή διείσδυσης Έλεγχος για διαρροές μνήμης Δοκιμή μετάλλαξης White Box

Εργαλεία για δοκιμή λευκού κουτιού

    JsuNit.net: Είναι ένα εργαλείο δοκιμής JavaScript που χρησιμοποιείται για τη δοκιμή λευκού κουτιού. Είναι ένα λογισμικό ανοιχτού κώδικα που σημαίνει ότι μπορεί επίσης να χρησιμοποιηθεί για εμπορικούς σκοπούς.
    CppUnit: Το CppUnit είναι μέρος του JsuNit. Το εργαλείο μπορεί να δώσει έξοδο με τη μορφή απλού κειμένου ή σε μορφή XML, αλλά εξαρτάται απόλυτα από τον κωδικοποιητή πώς το θέλει.
    Κωδικός Βέρα: Είναι ιδιόκτητο λογισμικό και χρησιμοποιείται για τον έλεγχο ορισμένων ισχυρών γλωσσών όπως . ΚΑΘΑΡΑ , C++, JAVA και πολλά άλλα.

Πλεονεκτήματα και μειονεκτήματα της δοκιμής White Box

ΠλεονεκτήματαΜειονεκτήματα
Ενημερώστε τον ελεγκτή όταν ολοκληρωθεί η δοκιμή.
Οι τεχνικές είναι σχετικά εύκολο να αυτοματοποιηθούν.
Η βελτιστοποίηση γίνεται εύκολη για τον προγραμματιστή.
Είναι λίγο εύκολο να αφαιρέσετε το μέρος του κώδικα που δεν χρειάζεται για τη λειτουργικότητα του προγράμματος.
Είναι σχετικά ακριβότερο.
Δεν είναι δυνατός ο έλεγχος κάθε συνθήκης του κώδικα.
Δεν είναι δυνατή η εύρεση της λειτουργικότητας του προγράμματος που λείπει.

Διαφορά μεταξύ δοκιμής White Box και Black Box

ΒάσηΔοκιμή μαύρου κουτιούΔοκιμή λευκού κουτιού
ΟΡΙΣΜΟΣ Χρησιμοποιείται για τη δοκιμή του λογισμικού χωρίς τη γνώση της εσωτερικής δομής.Η εσωτερική δομή του λογισμικού είναι γνωστή στον ελεγκτή.
ΑΛΛΑ ΟΝΟΜΑΤΑ Δοκιμές βάσει προδιαγραφών, Δοκιμές συμπεριφοράς, Δοκιμές αδιαφανούς κουτιού, Δοκιμές κλειστού κουτιού και Δοκιμές Eye to eye.Δοκιμή γυάλινων κιβωτίων, δοκιμή καθαρού κουτιού, δομική δοκιμή.
ΒΑΣΗ ΔΟΚΙΜΩΝ Οι δοκιμές βασίζονται σε εξωτερικές προσδοκίες.Η εσωτερική λειτουργία είναι γνωστή στον κωδικοποιητή.
ΧΡΗΣΗ Κατάλληλο για υψηλού επιπέδου δοκιμές.Κατάλληλο για το χαμηλό επίπεδο δοκιμών.
ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δεν χρειάζεται γλώσσα προγραμματισμού.Απαιτείται η γλώσσα προγραμματισμού.
ΓΝΩΣΕΙΣ ΕΦΑΡΜΟΓΗΣ Δεν απαιτείται στη δοκιμή μαύρου κουτιού.Απαιτείται πλήρης κατανόηση της εφαρμογής.
ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ Δύσκολο να αυτοματοποιηθεί.Εύκολο στην αυτοματοποίηση.
ΣΚΟΠΟΣ Στόχος είναι ο έλεγχος της λειτουργικότητας του συστήματοςΟ στόχος είναι να ελέγξετε την ποιότητα του κώδικα.
ΔΟΚΙΜΑΣΜΕΝΟ ΑΠΟ Εκτελείται από τον ελεγκτή, τελικό χρήστη.Συνήθως γίνεται από τον ελεγκτή και τους προγραμματιστές.
ΒΑΘΜΟΣ ΛΕΠΤΟΜΕΡΕΙΑΣ Η κοκκοποίηση είναι χαμηλή.Η ευαισθησία είναι υψηλή.
ΜΕΘΟΔΟΣ ΔΟΚΙΜΗΣ Βασισμένο σε μεθόδους δοκιμής και λάθους.Τα εσωτερικά όρια μπορούν να δοκιμαστούν.
ΧΡΟΝΟΣ Λιγότερο χρονοβόρο.Περισσότερο χρονοβόρο.
ΚΩΔΙΚΟΣ ΠΡΟΣΒΑΣΗΣ Δεν απαιτείται πρόσβαση στον κωδικόΑπαιτείται πρόσβαση στον κωδικό.

ΣΥΜΠΕΡΑΣΜΑ

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