Τι είναι η δοκιμή τομέα στη δοκιμή λογισμικού; (με παράδειγμα)
⚡ Έξυπνη Σύνοψη
Ο έλεγχος τομέα ελέγχει μια εφαρμογή τροφοδοτώντας την με το μικρότερο χρήσιμο σύνολο εισόδων, καλύπτοντας έγκυρες, μη έγκυρες και οριακές τιμές, και επιβεβαιώνοντας ότι μόνο οι τιμές εντός του αποδεκτού εύρους παράγουν την απαιτούμενη έξοδο.
Τι είναι το Domain Testing;
Δοκιμή τομέα είναι ένα δοκιμές λογισμικού διαδικασία κατά την οποία η εφαρμογή δοκιμάζεται παρέχοντας έναν ελάχιστο αριθμό εισόδων και αξιολογώντας τις κατάλληλες εξόδους της. Ο πρωταρχικός στόχος των δοκιμών τομέα είναι να ελεγχθεί εάν η εφαρμογή λογισμικού δέχεται εισόδους εντός του αποδεκτού εύρους και παρέχει την απαιτούμενη έξοδο.
Πρόκειται για μια λειτουργικές δοκιμές τεχνική στην οποία η έξοδος ενός συστήματος δοκιμάζεται με έναν ελάχιστο αριθμό εισόδων για να διασφαλιστεί ότι το σύστημα δεν δέχεται μη έγκυρες και εκτός εύρους τιμές εισόδου. Θεωρείται επίσης ως ένα από τα σημαντικά δοκιμή λευκού κουτιού μεθόδους. Επιπλέον, επαληθεύει ότι το σύστημα δεν πρέπει να δέχεται εισόδους, συνθήκες και δείκτες εκτός του καθορισμένου ή έγκυρου εύρους.
Οι δοκιμές σε τομείς διαφέρουν για κάθε συγκεκριμένο τομέα, επομένως χρειάζεστε συγκεκριμένες γνώσεις για να δοκιμάσετε ένα σύστημα λογισμικού.
Απλούστερη πρακτική δοκιμής τομέα
Στη δοκιμή τομέα, χωρίζουμε έναν τομέα σε υποτομείς (κατηγορίες ισοδυναμίας) και στη συνέχεια δοκιμάζουμε χρησιμοποιώντας τιμές από κάθε υποτομέα. Για παράδειγμα, εάν ένας ιστότοπος (τομέας) έχει δοθεί για δοκιμή, θα χωρίσουμε τον ιστότοπο σε μικρά τμήματα (υποτομέας) για ευκολία δοκιμής.
Ο τομέας μπορεί να περιλαμβάνει τον έλεγχο οποιασδήποτε μεταβλητής εισόδου ή ενός συνδυασμού μεταβλητών εισόδου.
Οι επαγγελματίες συχνά μελετούν τις απλούστερες περιπτώσεις δοκιμών τομέα με δύο άλλες ονομασίες, «έλεγχος ορίων» και «ανάλυση κλάσης ισοδυναμίας».
Δοκιμή ορίων - Ανάλυση οριακών τιμών (BVA) βασίζεται σε δοκιμές στα όρια μεταξύ των διαμερισμάτων. Θα ελέγξουμε τόσο τις έγκυρες όσο και τις μη έγκυρες τιμές εισόδου στο διαμέρισμα/τις κλάσεις.
Δοκιμή ισοδυναμίας κλάσης – Η ιδέα πίσω από αυτήν την τεχνική είναι να διαιρεθεί (δηλαδή να διαιρεθεί) ένα σύνολο συνθηκών δοκιμής σε ομάδες ή σύνολα που μπορούν να θεωρηθούν ίδια (δηλαδή το σύστημα θα πρέπει να τις χειρίζεται ισοδύναμα), επομένως «διαμερισμός ισοδυναμίας».
Αυτή η απλοποιημένη μορφή ισχύει για τον έλεγχο τομέα –
- Μόνο σε δοκιμές μεταβλητών εισόδου
- Μόνο όταν δοκιμάζεται στο επίπεδο συστήματος
- Μόνο όταν δοκιμάζεται ένα κάθε φορά
- Μόνο όταν δοκιμαστεί με πολύ επιφανειακό τρόπο
Μπορεί να απλοποιηθεί ως εξής:
| Μεταβλητός | Έγκυρη κλάση ισοδυναμίας | Μη έγκυρη κλάση ισοδυναμίας | Όρια & Ειδικές περιπτώσεις | Σημειώσεις |
|---|---|---|---|---|
| X | 0-100 | 0 | ||
| 100 | ||||
| <0 | -1 | |||
| > 100 | 101 |
Επεξήγηση:
- Εάν ένα πεδίο δέχεται εύρη από 0-100, το πεδίο δεν θα πρέπει να δέχεται -1 και 101, καθώς πρόκειται για μη έγκυρες καταχωρήσεις και εκτός των ορίων.
- Το πεδίο θα πρέπει να δέχεται τιμές όπως 0, 100 και οποιονδήποτε αριθμό μεταξύ τους.
Κατασκευή πινάκων σαν αυτούς (στην πράξη)
- Για να δημιουργήσετε μια ανάλυση κλάσης ισοδυναμίας με την πάροδο του χρόνου, τοποθετήστε τις πληροφορίες σε ένα υπολογιστικό φύλλο. Ξεκινήστε απαριθμώντας μεταβλητές. Προσθέστε πληροφορίες σχετικά με αυτές καθώς τις λαμβάνετε.
- Ο πίνακας θα πρέπει τελικά να περιέχει όλες τις μεταβλητές. Αυτό σημαίνει όλες τις μεταβλητές εισόδου, όλες τις μεταβλητές εξόδου και οποιεσδήποτε ενδιάμεσες μεταβλητές που μπορείτε να παρατηρήσετε.
- Στην πράξη, οι περισσότεροι τέτοιοι πίνακες είναι ελλιπείς. Οι καλύτεροι απαριθμούν κάθε μεταβλητή και προσθέτουν λεπτομέρειες για τις κρίσιμες.
Στρατηγική δοκιμής τομέα
Κατά τη δοκιμή τομέα, πρέπει να λάβετε υπόψη τα ακόλουθα πράγματα:
- Τι τομέα δοκιμάζουμε;
- Πώς να ομαδοποιήσετε τις τιμές σε κλάσεις;
- Ποιες τιμές των κλάσεων που θα ελεγχθούν;
- Πώς να προσδιορίσετε το αποτέλεσμα;
Τι τομέα δοκιμάζουμε;
Οποιοσδήποτε τομέας που δοκιμάζουμε έχει κάποια λειτουργικότητα εισόδου και μια λειτουργικότητα εξόδου. Θα υπάρχουν ορισμένες μεταβλητές εισόδου που πρέπει να εισαχθούν και η κατάλληλη έξοδος πρέπει να επαληθευτεί. Το παρακάτω διάγραμμα δείχνει αυτή τη σχέση εισόδου-εξόδου.
Παράδειγμα δοκιμής τομέα
Εξετάστε ένα σενάριο δοκιμής μεμονωμένης εισαγωγής:
C = a+b, όπου a και b είναι μεταβλητές εισόδου και C είναι η μεταβλητή εξόδου.
Εδώ στο παραπάνω παράδειγμα, δεν υπάρχει ανάγκη ταξινόμησης, ούτε απαιτείται κάποιος συνδυασμός μεταβλητών.
Εξετάστε τις παρακάτω πολλαπλές εισόδους και το κατάλληλο σενάριο εξόδου:
Σκεφτείτε μια έκθεση παιχνιδιών για παιδιά. Έχουν προγραμματιστεί έξι διαγωνισμοί και τα εισιτήρια πρέπει να δίνονται ανάλογα με την ηλικία και το φύλο που δηλώνονται. Η έκδοση εισιτηρίων είναι μία από τις ενότητες που θα δοκιμαστούν για ολόκληρη τη λειτουργικότητα της έκθεσης παιχνιδιών.
Σύμφωνα με το σενάριο, πήραμε έξι σενάρια με βάση την ηλικία και τους αγώνες:
- Ηλικίας >5 και <10 ετών, το αγόρι θα πρέπει να συμμετέχει στην αφήγηση ιστοριών.
- Ηλικίας >5 και <10 ετών, τα κορίτσια πρέπει να συμμετάσχουν στον Διαγωνισμό Σχεδίου.
- Ηλικίας >10 και <15, το αγόρι πρέπει να συμμετάσχει στο Κουίζ.
- Ηλικία >10 και <15, κορίτσι θα πρέπει να συμμετέχει στη συγγραφή δοκιμίου.
- Ηλικία <5 ετών, τόσο αγόρια όσο και κορίτσια πρέπει να συμμετέχουν στον διαγωνισμό Rhymes.
- Ηλικία >15, αγόρια και κορίτσια θα πρέπει να συμμετέχουν στον διαγωνισμό ποίησης.
Εδώ τα δεδομένα εισόδου θα είναι Ηλικία και Φύλο, και ως εκ τούτου θα εκδοθεί το εισιτήριο για τον διαγωνισμό. Σε αυτήν την περίπτωση, η κατανομή των δεδομένων εισόδου, ή απλώς η ομαδοποίησηping των αξιών, μπαίνει στο προσκήνιο.
Πώς να ομαδοποιήσετε τις τιμές σε κλάσεις;
Η διαμέριση ορισμένων τιμών σημαίνει διαίρεσή τους σε μη επικαλυπτόμενεςping υποσύνολα.
Όπως συζητήσαμε νωρίτερα, υπάρχουν δύο τύποι διαμερισμάτων:
- Διαμερισμός ισοδυναμίας – Η διαμέριση ισοδυναμίας είναι μια τεχνική ελέγχου λογισμικού που διαιρεί τα δεδομένα εισόδου μιας μονάδας λογισμικού σε διαμερίσματα ισοδύναμων δεδομένων από τα οποία περιπτώσεις δοκιμής μπορούν να εξαχθούν. Κατ' αρχήν, οι δοκιμαστικές περιπτώσεις έχουν σχεδιαστεί για να καλύπτουν κάθε διαμέρισμα τουλάχιστον μία φορά.
- Ανάλυση οριακών τιμών – Η ανάλυση οριακών τιμών είναι μια τεχνική δοκιμών λογισμικού στην οποία οι δοκιμές σχεδιάζονται ώστε να περιλαμβάνουν εκπροσώπους οριακών τιμών σε ένα εύρος. Η ιδέα προέρχεται από το όριο.
Για το παραπάνω παράδειγμα, διαχωρίζουμε τις τιμές σε υποσύνολα. Διαχωρίζουμε την ηλικία στις παρακάτω κλάσεις:
- Τάξη 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 |
Πώς προσδιορίζουμε αν το πρόγραμμα πέρασε ή απέτυχε στη δοκιμή;
Η ολοκλήρωση της λειτουργικότητας δεν εξαρτάται μόνο από τα αποτελέσματα των παραπάνω σεναρίων. Τα δεδομένα εισόδου και η αναμενόμενη έξοδος θα μας δώσουν τα αποτελέσματα, και αυτό απαιτεί γνώση του τομέα.
Προσδιορισμός των αποτελεσμάτων του παραδείγματος: η παρακάτω οθόνη δείχνει το αποτέλεσμα έκδοσης εισιτηρίων για κάθε συνδυασμό ηλικίας και φύλου.
Επομένως, εάν όλες οι δοκιμαστικές περιπτώσεις των παραπάνω περάσουν, ο τομέας έκδοσης εισιτηρίων στον διαγωνισμό περνάει. Εάν όχι, ο τομέας αποτυγχάνει.
Δομή δοκιμής τομέα
Συνήθως, οι δοκιμαστές ακολουθούν τα παρακάτω βήματα στις δοκιμές τομέα. Αυτά μπορούν να προσαρμοστούν ή να παραλειφθούν ανάλογα με τις ανάγκες δοκιμών μας.
- Προσδιορίστε τις δυνητικά ενδιαφέρουσες μεταβλητές.
- Προσδιορίστε τις μεταβλητές που μπορείτε να αναλύσετε τώρα και παραγγείλτε τις (από μικρότερη προς μεγαλύτερη και αντίστροφα).
- Δημιουργήστε και προσδιορίστε οριακές τιμές και τιμές κλάσεων ισοδυναμίας όπως παραπάνω.
- Προσδιορίστε τις δευτερεύουσες διαστάσεις και αναλύστε την καθεμία με κλασικό τρόπο. (Στο παραπάνω παράδειγμα, το Φύλο είναι η δευτερεύουσα διάσταση.)
- Προσδιορίστε και δοκιμάστε μεταβλητές που διατηρούν αποτελέσματα (μεταβλητές εξόδου).
- Αξιολογήστε πώς το πρόγραμμα χρησιμοποιεί την τιμή αυτής της μεταβλητής.
- Προσδιορίστε πρόσθετες πιθανώς σχετικές μεταβλητές για δοκιμές συνδυασμού, όπου δοκιμή πίνακα αποφάσεων βοηθά.
- Φανταστείτε κινδύνους που δεν αντιστοιχούν απαραίτητα σε μια προφανή διάσταση.
- Προσδιορίστε και απαριθμήστε μη αναλυμένες μεταβλητές. Συγκεντρώστε πληροφορίες για μεταγενέστερη ανάλυση.
- Συνοψίστε την ανάλυσή σας με έναν πίνακα κινδύνου/ισοδυναμίας.


