Δοκιμή Μετάβασης Κατάστασης με Παράδειγμα
⚡ Έξυπνη Σύνοψη
Η Δοκιμή Μετάβασης Κατάστασης είναι μια τεχνική μαύρου κουτιού που επικυρώνει τον τρόπο με τον οποίο μια εφαρμογή μετακινείται μεταξύ καταστάσεων καθώς αλλάζουν οι συνθήκες εισόδου. Αυτό το σεμινάριο εξηγεί τα τέσσερα μέρη του διαγράμματος, τη διαφορά μεταξύ διαγραμμάτων κατάστασης και πινάκων, καθώς και παραδείγματα ATM και σύνδεσης για δοκιμαστές.

Τι είναι το State Transition Testing;
Δοκιμή μετάβασης κατάστασης είναι μια τεχνική δοκιμής μαύρου κουτιού στην οποία οι αλλαγές στις συνθήκες εισόδου προκαλούν αλλαγές στην κατάσταση ή αλλαγές στην έξοδο στην Εφαρμογή υπό δοκιμή (AUT). Βοηθά στην ανάλυση της συμπεριφοράς μιας εφαρμογής για διαφορετικές συνθήκες εισόδου και οι δοκιμαστές μπορούν να παρέχουν θετικές και αρνητικές τιμές εισόδου ενώ καταγράφουν τη συμπεριφορά του συστήματος.
Βασίζεται στο μοντέλο πάνω στο οποίο έχουν κατασκευαστεί το σύστημα και οι δοκιμές. Οποιοδήποτε σύστημα όπου λαμβάνετε διαφορετική έξοδο για την ίδια είσοδο — ανάλογα με το τι συνέβη πριν — είναι ένα σύστημα πεπερασμένης κατάστασης. Η τεχνική Δοκιμής Μετάβασης Κατάστασης είναι χρήσιμη όπου χρειάζεται να δοκιμάστε διαφορετικές μεταβάσεις συστήματος.
Πότε να χρησιμοποιείτε τη δοκιμή μετάβασης κατάστασης
- Όταν ένας δοκιμαστής δοκιμάζει την εφαρμογή για ένα πεπερασμένο σύνολο τιμών εισόδου.
- Όταν ο ελεγκτής δοκιμάζει μια ακολουθία συμβάντων που συμβαίνουν στο AUT, επιτρέποντας τον έλεγχο της συμπεριφοράς της εφαρμογής για μια ακολουθία τιμών εισόδου.
- Όταν το υπό δοκιμή σύστημα εξαρτάται από γεγονότα ή τιμές του παρελθόντος.
Πότε δεν πρέπει να βασίζεστε στις δοκιμές μετάβασης σε κατάσταση
- Όταν η δοκιμή δεν γίνεται για διαδοχικούς συνδυασμούς εισόδου.
- Όταν οι δοκιμές στοχεύουν σε διαφορετικές λειτουργίες, όπως οι διερευνητικές δοκιμές.
Τέσσερα Μέρη ενός Διαγράμματος Μετάβασης Κατάστασης
Υπάρχουν τέσσερα κύρια στοιχεία του μοντέλου Μετάβασης Κατάστασης, τα οποία περιγράφονται παρακάτω.
1) Πολιτεία που μπορεί να φτάσει το λογισμικό.
2) Μετάβαση από τη μία πολιτεία στην άλλη.
3) Εκδηλώσεις που ενεργοποιούν μια μετάβαση, όπως το κλείσιμο ενός αρχείου ή την ανάληψη χρημάτων.
4) Δράσεις που προκύπτουν από μια μετάβαση, όπως ένα μήνυμα σφάλματος ή η λήψη μετρητών.
Διάγραμμα Μετάβασης Κατάστασης έναντι Πίνακα Μετάβασης Κατάστασης
Υπάρχουν δύο κύριοι τρόποι για να αναπαραστήσουμε ή να σχεδιάσουμε τη μετάβαση κατάστασης: το διάγραμμα μετάβασης κατάστασης και ο πίνακας μετάβασης κατάστασης.
| Άποψη | Διάγραμμα μετάβασης κατάστασης | Πίνακας μετάβασης κατάστασης |
|---|---|---|
| Επίσης λέγεται | Γράφημα κατάστασης / Γράφημα | Πίνακας κατάστασης |
| Αναπαράσταση | Boxes για καταστάσεις, βέλη για μεταβάσεις | Πλέγμα καταστάσεων (γραμμές) και συμβάντων (στήλες) |
| καλυτερα for identification | Έγκυρες μεταβάσεις | Μη έγκυρες μεταβάσεις |
| Κάθε κελί δείχνει | - | Η κατάσταση που επιτυγχάνεται μετά την εμφάνιση ενός συμβάντος |
Πώς να κάνετε μια μετάβαση κατάστασης (Παραδείγματα)
Παράδειγμα 1: Κλείδωμα PIN ATM
Θεωρήστε μια λειτουργία συστήματος ΑΤΜ όπου, εάν ο χρήστης εισάγει τον μη έγκυρο κωδικό πρόσβασης τρεις φορές, ο λογαριασμός κλειδώνεται.
Σε αυτό το σύστημα, εάν ο χρήστης εισαγάγει έναν έγκυρο κωδικό πρόσβασης σε οποιαδήποτε από τις τρεις πρώτες προσπάθειες, ο χρήστης συνδέεται με επιτυχία. Εάν ο χρήστης εισαγάγει τον μη έγκυρο κωδικό πρόσβασης στην πρώτη ή τη δεύτερη προσπάθεια, του ζητείται να τον εισαγάγει ξανά. Τέλος, εάν ο χρήστης εισαγάγει τον λανθασμένο κωδικό πρόσβασης για τρίτη φορά, ο λογαριασμός μπλοκάρεται.
Διάγραμμα Μετάβασης Κατάστασης (Παράδειγμα 1)
Στο διάγραμμα, κάθε φορά που ο χρήστης εισάγει το σωστό PIN, μεταβαίνει στην κατάσταση "Πρόσβαση επιτρεπόμενη". Εάν εισάγει λάθος κωδικό πρόσβασης, μεταβαίνει στην επόμενη προσπάθεια και, εάν κάνει το ίδιο για τρίτη φορά, μεταβαίνει στην κατάσταση "Αποκλεισμός λογαριασμού".
Πίνακας Μετάβασης Κατάστασης (Παράδειγμα 1)
| Κατάσταση | Σωστό PIN | Εσφαλμένο PIN |
|---|---|---|
| S1) Έναρξη | S5 | S2 |
| S2) 1η προσπάθεια | S5 | S3 |
| S3) 2η προσπάθεια | S5 | S4 |
| S4) 3η προσπάθεια | S5 | S6 |
| S5) Παραχωρήθηκε πρόσβαση | - | - |
| S6) Ο λογαριασμός είναι αποκλεισμένος | - | - |
Στον πίνακα, όταν ο χρήστης εισάγει το σωστό PIN, η κατάσταση μεταβαίνει σε S5 (Πρόσβαση Εγκρίθηκε). Εάν ο χρήστης εισάγει λάθος κωδικό πρόσβασης, μεταβαίνει στην επόμενη κατάσταση και μετά την τρίτη λανθασμένη προσπάθεια φτάνει στην κατάσταση Αποκλεισμός Λογαριασμού.
Παράδειγμα 2: Σύνδεση Κράτησης Πτήσης
Στην οθόνη σύνδεσης κράτησης πτήσης, πρέπει να εισαγάγετε το σωστό όνομα και κωδικό πρόσβασης του πράκτορα για να αποκτήσετε πρόσβαση στο αίτηση κράτησης πτήσης.
Γράφημα μετάβασης κατάστασης
Η εφαρμογή επιτρέπει τρεις προσπάθειες. Εάν ο χρήστης εισάγει λάθος κωδικό πρόσβασης στην τέταρτη προσπάθεια, το σύστημα κλείνει αυτόματα την εφαρμογή.
Το Γράφημα Κατάστασης σάς βοηθά να προσδιορίσετε έγκυρες μεταβάσεις που θα δοκιμαστούν. Η δοκιμή τόσο με τον σωστό όσο και με τον λανθασμένο κωδικό πρόσβασης είναι υποχρεωτική και για το σενάρια δοκιμής, η σύνδεση στη 2η, 3η ή 4η προσπάθεια θα μπορούσε να δοκιμαστεί. Μπορείτε να χρησιμοποιήσετε έναν Πίνακα Καταστάσεων για να προσδιορίσετε μη έγκυρες μεταβάσεις συστήματος.
Σε έναν Πίνακα Καταστάσεων, όλες οι έγκυρες καταστάσεις παρατίθενται στα αριστερά και τα συμβάντα που τις προκαλούν στην κορυφή. Κάθε κελί δείχνει την κατάσταση στην οποία μεταβαίνει το σύστημα όταν συμβαίνει το συμβάν. Για παράδειγμα, στην κατάσταση S1, ένας σωστός κωδικός πρόσβασης σας μεταφέρει στο S6 (Πρόσβαση Εγκρίθηκε). ένας λανθασμένος κωδικός πρόσβασης στην πρώτη προσπάθεια σας μεταφέρει στο S3 (2η Προσπάθεια). Ομοίως, μπορείτε να προσδιορίσετε όλες τις άλλες καταστάσεις.
Δύο μη έγκυρες καταστάσεις επισημαίνονται χρησιμοποιώντας αυτήν τη μέθοδο. Ας υποθέσουμε ότι βρίσκεστε στην κατάσταση S6 (ήδη συνδεδεμένοι) και ανοίγετε μια άλλη παρουσία κράτησης πτήσης και εισάγετε κωδικούς πρόσβασης για τον ίδιο πράκτορα. Η απόκριση του συστήματος για ένα τέτοιο σενάριο πρέπει να δοκιμαστεί.
Πλεονεκτήματα και μειονεκτήματα της Τεχνικής της Μεταβατικής Πολιτικής
| Πλεονεκτήματα | Μειονεκτήματα |
|---|---|
| Παρέχει μια εικονογραφική ή πινακοποιημένη αναπαράσταση της συμπεριφοράς του συστήματος, helping ο ελεγκτής καλύπτει και κατανοεί αποτελεσματικά το σύστημα. | Δεν μπορεί να χρησιμοποιηθεί κάθε φορά — για παράδειγμα, δεν είναι κατάλληλο για συστήματα που δεν είναι πεπερασμένα ή διαδοχικά. |
| Επιτρέπει στον δοκιμαστή να επαληθεύσει ότι καλύπτονται όλες οι συνθήκες και να καταγράφονται τα αποτελέσματα. | Απαιτεί τον ορισμό όλων των πιθανών καταστάσεων. Αυτό λειτουργεί για μικρά συστήματα, αλλά δεν λειτουργεί για μεγαλύτερα λόγω της εκθετικής αύξησης του αριθμού των καταστάσεων. |





