Μέθοδος ελέγχου «Μαύρο Κουτί»
Εισαγωγή
Ας υποθέσουμε οτι μας ζητούν να βεβαιώσουμε οτι ένα αυτοκίνητο πληρεί τις προδιαγραφές του κατασκευαστή. Εδώ έχουμε τρείς επιλογές:
- να το κάνουμε φύλο και φτερό ελέγχωντας κάθε εξάρτημα σχολαστικά
- να μπούμε στο αμάξι και να κάνουμε τυχαίους ελέγχους στην οδηγική του συμπεριφορά. Ότι ιδέα μας έρθει εκείνη την στιγμή να την δοκιμάσουμε.
- να κάνουμε μια λίστα από πριν με το τι κατά την γνώμη μας πρέπει να ελέξουμε και ποιά είναι η αναμενόμενη τιμή που δίνει ο κατασκευαστής (π.χ. από 0-100 km σε 8,7 sec).
Η πρώτη περίπτωση είναι ίσως ότι πιο κουτό έχετε ακούσει αφού είναι χρονοβόρα, οικονομικά ασύμφορη, κοπιαστική και το σημαντικότερο μάλλον δεν θα μπορέσουμε να επαναφέρουμε το αμάξι στην αρχική του κατάσταση.
Η δεύτερη επιλογή θα έχει αποτέλεσμα μόνο από τύχη. Το πιο πιθανό είναι οτι θα μας διαφύγουν λάθη.
Η τελευταία επιλογή είναι και η καλύτερη. Η λίστα που θα φτιάξουμε ονομάζεται Σενάριο Ελέγχου.
Ένα σενάριο ελέγχου (test case) περιγράφει τα δεδομένα εισόδου ολόκληρου του προγράμματος ή τμήματος του προγράμματος (διαδικασία, συνάρτηση) και τα αναμενόμενα αποτελέσματα. Τα σενάρια ελέγχου εκτελούνται, είτε σε πραγματικό περιβάλλον προγραμματισμού είτε εικονικά με δημιουργία πίνακα τιμών των μεταβλητών. Σε περίπτωση αποκλίσεων μεταξύ των αναμενόμενων και των πραγματικών αποτελεσμάτων, υπάρχει λάθος το οποίο πρέπει να
εντοπιστεί και να διορθωθεί.
Υπάρχουν περιπτώσεις όπου καλούμαστε να εντοπίσουμε λάθη σε κώδικά χωρίς να μπορούμε ή να θέλουμε να ελέγξουμε τον κώδικα. Αυτό συμβαίνει συνήθως όταν ο κώδικας είναι πολύ μεγάλος (χιλιάδες ή εκκατομύρια γραμμές) ή όταν ο δημιουργός του φοβάται κλοπή. Σε αυτές τις περιπτώσεις ο έλγχος μαύρου κουτιού είναι μονόδρομος.
Μια δημοφιλής τεχνική ελέγχου είναι ο έλεγχος μαύρου κουτιού (black-box testing). Ονομάζεται έτσι επειδή τα δεδομένα εισόδου στα σενάρια ελέγχου προκύπτουν από τις προδιαγραφές του προγράμματος, αγνοώντας εντελώς τον κώδικα. Δηλαδή το πρόγραμμα μοιάζει σαν να βρίσκεται μέσα σε ένα μαύρο κουτί που κρύβει το περιεχόμενό του.εντοπιστεί και να διορθωθεί.
Η παρακάτω σχολική άσκηση μας ζητάει να φτιάξουμε ένα σενάριο ελέγχου προκειμένου να κάνουμε εντοπισμό λαθών σε πρόγραμμα που περιέχει περιπτώσεις και συνεπώς χρησιμοποιεί κάποια δομή επιλογής (ΑΝ ή ΕΠΙΛΕΞΕ).
Άσκηση
Βαθμός | Χαρακτηρισμός |
---|---|
(-∞ ,0) | Μη έγκυρη βαθμολογία |
[0, 10) | Ανεπιτυχής εξέταση |
[10, 20] | Επιτυχής εξέταση |
(20, ∞) | Μη έγκυρη βαθμολογία |
Είσοδος | Αναμενόμενο αποτέλεσμα | Περίπτωση που ελέγχεται |
---|---|---|
-1 | Μη έγκυρη βαθμολογία | Άνω άκρο διαστήματος βαθμός < 0 |
0 | Ανεπιτυχής εξέταση | Κάτω άκρο διαστήματος 0 <= βαθμός < 10 |
9 | Ανεπιτυχής εξέταση | Άνω άκρο διαστήματος 0 <= βαθμός < 10 |
10 | Επιτυχής εξέταση | Κάτω άκρο διαστήματος 10 <= βαθμός <= 20 |
20 | Επιτυχής εξέταση | Άνω άκρο διαστήματος 10 <= βαθμός <= 20 |
21 | Μη έγκυρη βαθμολογία | Κάτω άκρο διαστήματος βαθμός > 20 |
Είσοδος | Αναμενόμενο αποτέλεσμα | Περίπτωση που ελέγχεται |
---|---|---|
-0,01 | Μη έγκυρη βαθμολογία | Άνω άκρο διαστήματος βαθμός < 0 |
0 | Ανεπιτυχής εξέταση | Κάτω άκρο διαστήματος 0 <= βαθμός < 10 |
9,99 | Ανεπιτυχής εξέταση | Άνω άκρο διαστήματος 0 <= βαθμός < 10 |
10 | Επιτυχής εξέταση | Κάτω άκρο διαστήματος 10 <= βαθμός <= 20 |
20 | Επιτυχής εξέταση | Άνω άκρο διαστήματος 10 <= βαθμός <= 20 |
20,01 | Μη έγκυρη βαθμολογία | Κάτω άκρο διαστήματος βαθμός > 20 |
Ερωτήσεις ανάπτυξης απο Πανελλαδικές εξετάσεις
- xxxxxxxxxxxxxxxxxx