Άσπρο Box Δοκιμές – Τι είναι, Τεχνικές, Παράδειγμα & Τύποι

Άσπρο Box Δοκιμές

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

Είναι ένα από τα δύο μέρη του Box Δοκιμαστική προσέγγιση στη δοκιμή λογισμικού. Το αντίστοιχο, το Blackbox testing, περιλαμβάνει δοκιμές από την οπτική γωνία του εξωτερικού ή του τελικού χρήστη. Από την άλλη πλευρά, η δοκιμή White box στη μηχανική λογισμικού βασίζεται στην εσωτερική λειτουργία μιας εφαρμογής και περιστρέφεται γύρω από τις εσωτερικές δοκιμές.

Ο όρος «ΛευκόBox” χρησιμοποιήθηκε λόγω της έννοιας του διαφανούς κουτιού. Το διαφανές πλαίσιο ή ΛευκόBox Το όνομα συμβολίζει την ικανότητα να βλέπει κανείς μέσα από το εξωτερικό κέλυφος (ή το «κουτί») του λογισμικού στην εσωτερική του λειτουργία. Ομοίως, το «μαύρο κουτί» στο «Μαύρη Box Δοκιμές” συμβολίζει ότι δεν μπορείτε να δείτε τις εσωτερικές λειτουργίες του λογισμικού, έτσι ώστε να μπορεί να δοκιμαστεί μόνο η εμπειρία του τελικού χρήστη.

Άσπρο Box Δοκιμή βίντεο

Πατήστε εδώ εάν το βίντεο δεν είναι προσβάσιμο

Τι επαληθεύετε στο Λευκό Box Δοκιμές;

Η δοκιμή λευκού κουτιού περιλαμβάνει τη δοκιμή του κώδικα λογισμικού για τα ακόλουθα:

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

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

Πώς αποδίδεις το White Box Δοκιμές;

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

ΒΗΜΑ 1) ΚΑΤΑΝΟΗΣΗ ΤΟΥ ΠΗΓΟΥ ΚΩΔΙΚΟΥ

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

ΒΗΜΑ 2) ΔΗΜΙΟΥΡΓΗΣΤΕ ΠΕΡΙΠΤΩΣΕΙΣ ΔΟΚΙΜΩΝ ΚΑΙ ΕΚΤΕΛΕΣΤΕ

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

ΆσπροBox Δοκιμές

ΆσπροBox Παράδειγμα δοκιμής

Εξετάστε το ακόλουθο κομμάτι κώδικα

Printme (int a, int b) {                       ------------  Printme is a function 
    int result = a+ b; 
    If (result> 0)
    	Print ("Positive", result)
    Else
    	Print ("Negative", result)
    }                                        -----------   End of the source code

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

Για να ασκήσετε τις δηλώσεις στο παραπάνω παράδειγμα δοκιμής λευκού πλαισίου, WhiteBox περιπτώσεις δοκιμής θα ήταν

  • Α = 1, Β = 1
  • Α = -1, Β = -3

Άσπρο Box Τεχνικές δοκιμών

Μια σημαντική τεχνική δοκιμής White box είναι η ανάλυση Code Coverage. Η ανάλυση κάλυψης κώδικα εξαλείφει τα κενά στο α Δοκιμαστική θήκη σουίτα. Προσδιορίζει τομείς ενός προγράμματος που δεν ασκούνται από ένα σύνολο δοκιμαστικών περιπτώσεων. Μόλις εντοπιστούν κενά, δημιουργείτε δοκιμαστικές περιπτώσεις για να επαληθεύσετε μη δοκιμασμένα μέρη του κώδικα, αυξάνοντας έτσι την ποιότητα του προϊόντος λογισμικού

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

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

Κάλυψη υποκαταστήματος – Αυτή η τεχνική ελέγχει κάθε πιθανή διαδρομή (if-else και άλλους βρόχους υπό όρους) μιας εφαρμογής λογισμικού.

Εκτός από τα παραπάνω, υπάρχουν πολυάριθμοι τύποι κάλυψης, όπως Κάλυψη συνθηκών, Κάλυψη πολλαπλών συνθηκών, Κάλυψη διαδρομής, κάλυψη λειτουργιών κ.λπ. Κάθε τεχνική έχει τα δικά της πλεονεκτήματα και προσπαθεί να δοκιμάσει (κάλυψη) όλα τα μέρη του κώδικα λογισμικού. Χρησιμοποιώντας την κάλυψη δήλωσης και υποκαταστήματος, επιτυγχάνετε γενικά 80-90% κάλυψη κωδικού που είναι επαρκής.

Ακολουθούν σημαντικά WhiteBox Τεχνικές δοκιμών:

  • Κάλυψη δήλωσης
  • Κάλυψη απόφασης
  • Κάλυψη Υποκαταστήματος
  • Κάλυψη κατάστασης
  • Κάλυψη πολλαπλών καταστάσεων
  • Κάλυψη μηχανών πεπερασμένης κατάστασης
  • Κάλυψη διαδρομής
  • Έλεγχος δοκιμών ροής
  • Δοκιμή ροής δεδομένων

Τύποι Λευκού Box Δοκιμές

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

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

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

  • Άσπρο Box Δοκιμή διείσδυσης: Σε αυτήν τη δοκιμή, ο ελεγκτής/προγραμματιστής έχει πλήρεις πληροφορίες για τον πηγαίο κώδικα της εφαρμογής, λεπτομερείς πληροφορίες δικτύου, τις εμπλεκόμενες διευθύνσεις IP και όλες τις πληροφορίες διακομιστή στον οποίο εκτελείται η εφαρμογή. Ο στόχος είναι να επιτεθεί ο κώδικας από διάφορες γωνίες για να εκθέσει απειλές ασφαλείας.
  • Άσπρο Box Έλεγχος μετάλλαξης: Δοκιμή μετάλλαξης χρησιμοποιείται συχνά για την ανακάλυψη των καλύτερων τεχνικών κωδικοποίησης που πρέπει να χρησιμοποιηθούν για την επέκταση μιας λύσης λογισμικού.

Άσπρο Box Εργαλεία δοκιμών

Παρακάτω είναι μια λίστα με τα κορυφαία εργαλεία δοκιμής λευκού κουτιού.

Πλεονεκτήματα του Λευκού Box Δοκιμές

  • Βελτιστοποίηση κώδικα με εύρεση κρυφών σφαλμάτων.
  • Οι περιπτώσεις δοκιμών λευκού κουτιού μπορούν εύκολα να αυτοματοποιηθούν.
  • Η δοκιμή είναι πιο ενδελεχής καθώς συνήθως καλύπτονται όλες οι διαδρομές κώδικα.
  • Οι δοκιμές μπορούν να ξεκινήσουν νωρίς SDLC ακόμα κι αν το GUI δεν είναι διαθέσιμο.

Μειονεκτήματα του ΛευκούBox Δοκιμές

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

Συμπέρασμα

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