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