Τι είναι η δοκιμή τομέα στη δοκιμή λογισμικού; (με παράδειγμα)
Τι είναι το Domain Testing;
Δοκιμή τομέα είναι ένα Δοκιμές Λογισμικού διαδικασία κατά την οποία η εφαρμογή ελέγχεται δίνοντας έναν ελάχιστο αριθμό εισροών και αξιολογώντας τις κατάλληλες εξόδους της. Ο πρωταρχικός στόχος της δοκιμής τομέα είναι να ελέγξει εάν η εφαρμογή λογισμικού δέχεται εισόδους εντός του αποδεκτού εύρους και παρέχει την απαιτούμενη έξοδο.
Πρόκειται για μια Λειτουργική δοκιμή τεχνική κατά την οποία η έξοδος ενός συστήματος ελέγχεται με ελάχιστο αριθμό εισόδων για να διασφαλιστεί ότι το σύστημα δεν δέχεται μη έγκυρες και εκτός εύρους τιμές εισόδου. Είναι ένα από τα πιο σημαντικά Άσπρο Box Δοκιμές μεθόδους. Επίσης, επαληθεύει ότι το σύστημα δεν πρέπει να δέχεται εισόδους, συνθήκες και δείκτες εκτός του καθορισμένου ή έγκυρου εύρους.
Οι δοκιμές τομέα διαφέρουν για κάθε συγκεκριμένο τομέα, επομένως πρέπει να έχετε ειδικές γνώσεις τομέα για να δοκιμάσετε ένα σύστημα λογισμικού.
Απλούστερη πρακτική δοκιμής τομέα
Στη δοκιμή τομέα, χωρίζουμε έναν τομέα σε υποτομείς (κατηγορίες ισοδυναμίας) και στη συνέχεια δοκιμάζουμε χρησιμοποιώντας τιμές από κάθε υποτομέα. Για παράδειγμα, εάν ένας ιστότοπος (τομέας) έχει δοθεί για δοκιμή, θα χωρίσουμε τον ιστότοπο σε μικρά τμήματα (υποτομέας) για ευκολία δοκιμής.
Ο τομέας μπορεί να περιλαμβάνει δοκιμή οποιασδήποτε μεταβλητής εισόδου ή συνδυασμό μεταβλητών εισόδου.
Οι επαγγελματίες συχνά μελετούν τις απλούστερες περιπτώσεις δοκιμής τομέα λιγότερο από δύο άλλες ονομασίες, «δοκιμή ορίων» και «ανάλυση κλάσης ισοδυναμίας».
Δοκιμή ορίων – Η ανάλυση οριακών τιμών (BVA) βασίζεται σε δοκιμές στα όρια μεταξύ των κατατμήσεων. Θα δοκιμάσουμε τόσο τις έγκυρες όσο και τις μη έγκυρες τιμές εισόδου στο διαμέρισμα/τάξεις.
Δοκιμές τάξεων ισοδυναμίας – Η ιδέα πίσω από αυτήν την τεχνική είναι να διαιρεθεί (δηλαδή να διαιρεθεί) ένα σύνολο συνθηκών δοκιμής σε ομάδες ή σύνολα που μπορούν να θεωρηθούν ίδια (δηλαδή το σύστημα θα πρέπει να τις χειρίζεται ισοδύναμα), επομένως «διαμερισμός ισοδυναμίας».
Αυτή η απλοποιημένη φόρμα ισχύει για τη δοκιμή τομέα –
- Μόνο σε δοκιμές μεταβλητών εισόδου
- Μόνο όταν δοκιμάζεται σε επίπεδο συστήματος
- Μόνο όταν δοκιμάζεται ένα κάθε φορά
- Μόνο όταν δοκιμαστεί με πολύ επιφανειακό τρόπο
Μπορεί να απλοποιηθεί ως εξής:
Μεταβλητός | Έγκυρη κλάση ισοδυναμίας | Μη έγκυρη κλάση ισοδυναμίας | Όρια & Ειδικές περιπτώσεις | Σημειώσεις |
---|---|---|---|---|
X | 0-100 | 0 | ||
100 | ||||
<0 | -1 | |||
> 100 | 101 |
Επεξήγηση:
- Εάν ένα πεδίο δέχεται εύρη από 0-100, το πεδίο δεν πρέπει να δέχεται -1 και 101 καθώς είναι μη έγκυρες καταχωρήσεις και πέρα από τα όρια.
- Το πεδίο πρέπει να δέχεται τιμές όπως 0,100 και οποιονδήποτε αριθμό μεταξύ τους.
Τραπέζι κατασκευής σαν κι αυτό (στην πράξη)
- Για να δημιουργήσετε μια ανάλυση κλάσεων ισοδυναμίας με την πάροδο του χρόνου, τοποθετήστε τις πληροφορίες σε ένα υπολογιστικό φύλλο. Ξεκινήστε με τη λίστα μεταβλητών. Προσθέστε πληροφορίες σχετικά με αυτές καθώς τις λαμβάνετε.
- Ο πίνακας θα πρέπει τελικά να περιέχει όλες τις μεταβλητές. Αυτό σημαίνει ότι όλες οι μεταβλητές εισόδου, όλες οι μεταβλητές εξόδου και τυχόν ενδιάμεσες μεταβλητές που μπορείτε να παρατηρήσετε.
- Στην πράξη, οι περισσότεροι πίνακες που έχω δει είναι ημιτελείς. Οι καλύτερες που είδαμε απαριθμούν όλες τις μεταβλητές και προσθέτουν λεπτομέρειες για κρίσιμες μεταβλητές.
Στρατηγική δοκιμής τομέα
Κατά τη δοκιμή τομέα, πρέπει να λάβετε υπόψη τα ακόλουθα πράγματα:
- Τι τομέα δοκιμάζουμε;
- Πώς να ομαδοποιήσετε τις τιμές σε κλάσεις;
- Ποιες τιμές των κλάσεων που θα ελεγχθούν;
- Πώς να προσδιορίσετε το αποτέλεσμα;
Τι τομέα δοκιμάζουμε;
Κάθε τομέας που δοκιμάζουμε έχει κάποια λειτουργικότητα εισόδου και λειτουργία εξόδου. Θα πρέπει να εισαχθούν ορισμένες μεταβλητές εισόδου και η κατάλληλη έξοδος πρέπει να επαληθευτεί.
Παράδειγμα δοκιμής τομέα
- Εξετάστε ένα σενάριο δοκιμής μεμονωμένης εισαγωγής:
C = a+b, όπου a και b είναι μεταβλητές εισόδου και C είναι η μεταβλητή εξόδου.
Εδώ στο παραπάνω παράδειγμα, δεν απαιτείται ταξινόμηση ή συνδυασμός των μεταβλητών.
- Εξετάστε τις παρακάτω πολλαπλές εισόδους και το κατάλληλο σενάριο εξόδου:
Σκεφτείτε μια έκθεση παιχνιδιών για παιδιά, διοργανώνονται 6 διαγωνισμοί και τα εισιτήρια πρέπει να δίνονται ανάλογα με την ηλικία και το φύλο. Η έκδοση εισιτηρίων είναι μία από τις ενότητες που θα δοκιμαστούν για όλη τη λειτουργικότητα της έκθεσης Παιχνιδιών.
Σύμφωνα με το σενάριο, πήραμε έξι σενάρια με βάση την ηλικία και τους αγώνες:
- Ηλικία >5 και <10, το αγόρι πρέπει να συμμετέχει στο Storytelling.
- Ηλικία >5 και <10 , κορίτσι θα πρέπει να συμμετάσχει στον Διαγωνισμό Ζωγραφικής.
- Ηλικία >10 και <15, το αγόρι πρέπει να συμμετάσχει στο Κουίζ.
- Ηλικία >10 και <15 , κορίτσι θα πρέπει να συμμετέχει στη συγγραφή δοκιμίου.
- Ηλικία <5, τόσο αγόρια όσο και κορίτσια θα πρέπει να συμμετάσχουν στον Διαγωνισμό Rhymes.
- Ηλικία >15, αγόρια και κορίτσια θα πρέπει να συμμετέχουν στον διαγωνισμό ποίησης.
Εδώ η εισαγωγή θα είναι Ηλικία και Φύλο και ως εκ τούτου θα εκδοθεί το εισιτήριο για τον διαγωνισμό. Αυτή η κατάτμηση περίπτωσης των εισόδων ή απλώς η ομαδοποίηση των τιμών εμφανίζονται στην εικόνα.
Πώς να ομαδοποιήσετε τις τιμές σε κλάσεις;
Η κατάτμηση ορισμένων τιμών σημαίνει τον διαχωρισμό τους σε μη επικαλυπτόμενα υποσύνολα.
Όπως συζητήσαμε νωρίτερα, υπάρχουν δύο τύποι διαμερισμάτων:
- Διαμερισμός ισοδυναμίας – Ο διαχωρισμός ισοδυναμίας είναι α δοκιμές λογισμικού τεχνική που διαιρεί τα δεδομένα εισόδου μιας μονάδας λογισμικού σε διαμερίσματα ισοδύναμων δεδομένων από τα οποία μπορούν να προκύψουν περιπτώσεις δοκιμής. Κατ 'αρχήν, οι δοκιμαστικές περιπτώσεις έχουν σχεδιαστεί για να καλύπτουν κάθε διαμέρισμα τουλάχιστον μία φορά.
- Ανάλυση οριακής τιμής – Η ανάλυση οριακής τιμής είναι α δοκιμές λογισμικού τεχνική στην οποία οι δοκιμές έχουν σχεδιαστεί για να περιλαμβάνουν αντιπροσώπους οριακών τιμών σε ένα εύρος. Η ιδέα προέρχεται από το σύνορο.
Για το παραπάνω παράδειγμα, χωρίζουμε τις τιμές σε ένα υποσύνολο ή το υποσύνολο. Διαχωρίζουμε την ηλικία στις παρακάτω κατηγορίες:
- Κατηγορία 1: Παιδιά με ηλικιακή ομάδα 5 έως 10 ετών
- Κατηγορία 2: Παιδιά με ηλικιακή ομάδα κάτω των 5 ετών
- Κατηγορία 3: Παιδιά με ηλικιακή ομάδα ηλικίας 10 έως 15 ετών
- Κατηγορία 4: Παιδιά με ηλικιακή ομάδα άνω των 15 ετών.
Ποιες τιμές των κλάσεων που θα ελεγχθούν;
Οι τιμές που συλλέγονται για τη δοκιμή πρέπει να είναι οριακές τιμές:
- Τα όρια είναι εκπρόσωποι των τάξεων ισοδυναμίας από τις οποίες τα δειγματίζουμε. Είναι πιο πιθανό να αποκαλύψουν ένα σφάλμα από άλλα μέλη της τάξης, επομένως είναι καλύτεροι εκπρόσωποι.
- Ο καλύτερος εκπρόσωπος μιας κλάσης ισοδυναμίας είναι μια τιμή μεταξύ του εύρους.
Για το παραπάνω παράδειγμα έχουμε τις ακόλουθες κλάσεις προς δοκιμή:
Για παράδειγμα για το σενάριο #1:
- Κατηγορία 1: Παιδιά με ηλικιακή ομάδα 5 έως 10 ετών (Ηλικία >5 και <=10)
Οριακές τιμές:
- Οι τιμές πρέπει να είναι ίσες με ή μικρότερες από 10. Επομένως, η ηλικία 10 θα πρέπει να περιλαμβάνεται σε αυτήν την κατηγορία.
- Οι τιμές πρέπει να είναι μεγαλύτερες από 5. Ως εκ τούτου, η ηλικία 5 δεν πρέπει να περιλαμβάνεται σε αυτήν την κατηγορία.
- Οι τιμές πρέπει να είναι ίσες ή μικρότερες από 10. Επομένως, η ηλικία των 11 δεν πρέπει να περιλαμβάνεται σε αυτήν την κατηγορία.
- Οι τιμές πρέπει να είναι μεγαλύτερες από 5. Ως εκ τούτου, η ηλικία 6 θα πρέπει να περιλαμβάνεται σε αυτήν την κατηγορία.
Τιμές διαμερίσματος ισοδυναμίας:
Το διαμέρισμα ισοδυναμίας αναφέρεται όταν κάποιος πρέπει να δοκιμάσει μόνο μία συνθήκη από κάθε διαμέρισμα. Σε αυτό, υποθέτουμε ότι εάν μια συνθήκη σε ένα διαμέρισμα λειτουργεί, τότε όλες οι συνθήκες θα πρέπει να λειτουργούν. Με τον ίδιο τρόπο, εάν μια συνθήκη σε αυτό το διαμέρισμα δεν λειτουργεί, τότε υποθέτουμε ότι καμία από τις άλλες συνθήκες δεν θα λειτουργήσει. Για παράδειγμα,
(Ηλικία >5 και <=10)
Καθώς οι τιμές από 6 έως 10 είναι έγκυρες, πρέπει να ληφθεί μία από τις τιμές μεταξύ 6,7,8,9 και 10. Ως εκ τούτου, η επιλεγμένη ηλικία "8" είναι μια έγκυρη ηλικία εισαγωγής για την ηλικιακή ομάδα μεταξύ (Ηλικία >5 και <=10). Αυτό το είδος διαμερίσματος αναφέρεται ως κατάτμηση ισοδυναμίας.
σενάριο | Οριακές τιμές που πρέπει να λαμβάνονται | Τιμές διαμερισμάτων ισοδυναμίας |
---|---|---|
Αγόρι – Ηλικία >5 και <=10 | Ηλικία εισαγωγής = 6 Ηλικία εισαγωγής = 5 Ηλικία εισαγωγής = 11 Ηλικία εισαγωγής = 10 |
Ηλικία εισαγωγής = 8 |
Κορίτσι – Ηλικία >5 και <=10 | Ηλικία εισαγωγής = 6 Ηλικία εισαγωγής = 5 Ηλικία εισαγωγής = 11 Ηλικία εισαγωγής = 10 |
Ηλικία εισαγωγής = 8 |
Αγόρι – Ηλικία >10 και <=15 | Ηλικία εισαγωγής = 11 Ηλικία εισαγωγής = 10 Ηλικία εισαγωγής = 15 Ηλικία εισαγωγής = 16 |
Ηλικία εισαγωγής = 13 |
Κορίτσι – Ηλικία >10 και <=15 | Ηλικία εισαγωγής = 11 Ηλικία εισαγωγής = 10 Ηλικία εισαγωγής = 15 Ηλικία εισαγωγής = 16 |
Ηλικία εισαγωγής = 13 |
Ηλικία<=5 | Ηλικία εισαγωγής = 4 Ηλικία εισαγωγής = 5 |
Ηλικία εισαγωγής = 3 |
Ηλικία> 15 | Ηλικία εισαγωγής = 15 Ηλικία εισαγωγής = 16 |
Ηλικία εισαγωγής = 25 |
Πώς προσδιορίζουμε αν το πρόγραμμα πέρασε ή απέτυχε στη δοκιμή;
Η μετάβαση της λειτουργικότητας δεν εξαρτάται μόνο από τα αποτελέσματα των παραπάνω σεναρίων. Η είσοδος που δίνεται και η αναμενόμενη έξοδος θα μας δώσουν τα αποτελέσματα και αυτό απαιτεί γνώση του τομέα.
Προσδιορισμός των αποτελεσμάτων του παραδείγματος:
Επομένως, εάν περάσουν όλες οι δοκιμαστικές περιπτώσεις των παραπάνω, ο τομέας έκδοσης εισιτηρίων στον διαγωνισμό θα περάσει. Εάν όχι, ο τομέας αποτυγχάνει.
Δομή δοκιμής τομέα
Συνήθως, οι υπεύθυνοι δοκιμών ακολουθούν τα παρακάτω βήματα σε μια δοκιμή τομέα. Αυτά μπορούν να προσαρμοστούν/παραβλεφθούν σύμφωνα με τις ανάγκες δοκιμών μας.
- Προσδιορίστε τις δυνητικά ενδιαφέρουσες μεταβλητές.
- Προσδιορίστε τις μεταβλητές που μπορείτε να αναλύσετε τώρα και παραγγείλτε τις (από μικρότερη προς μεγαλύτερη και αντίστροφα).
- Δημιουργήστε και προσδιορίστε οριακές τιμές και τιμές κλάσεων ισοδυναμίας όπως παραπάνω.
- Προσδιορίστε δευτερεύουσες διαστάσεις και αναλύστε την καθεμία με κλασικό τρόπο. (Στο παραπάνω παράδειγμα, το Φύλο είναι η δευτερεύουσα διάσταση).
- Προσδιορίστε και δοκιμάστε μεταβλητές που διατηρούν αποτελέσματα (μεταβλητές εξόδου).
- Αξιολογήστε πώς το πρόγραμμα χρησιμοποιεί την τιμή αυτής της μεταβλητής.
- Προσδιορίστε πρόσθετες δυνητικά σχετικές μεταβλητές για δοκιμές συνδυασμού.
- Φανταστείτε κινδύνους που δεν αντιστοιχούν απαραίτητα σε μια προφανή διάσταση.
- Προσδιορίστε και απαριθμήστε μη αναλυμένες μεταβλητές. Συγκεντρώστε πληροφορίες για μεταγενέστερη ανάλυση.
- Συνοψίστε την ανάλυσή σας με έναν πίνακα κινδύνου/ισοδυναμίας.
Περίληψη
Η δοκιμή τομέα, όπως περιγράφεται παραπάνω, απαιτεί γνώση της παροχής σωστής εισόδου για την επίτευξη της επιθυμητής εξόδου. Έτσι, είναι δυνατή η χρήση του μόνο για μικρά κομμάτια κώδικα.