Τι είναι η δοκιμή βάσει μοντέλου;

⚡ Έξυπνη Σύνοψη

Οι δοκιμές που βασίζονται σε μοντέλα ελέγχουν τη συμπεριφορά του λογισμικού κατά τον χρόνο εκτέλεσης σε σχέση με τις προβλέψεις που γίνονται από ένα abs.tract μοντέλο του συστήματος, δημιουργώντας αυτόματα δοκιμαστικές περιπτώσεις από μηχανές πεπερασμένων καταστάσεων, διαγράμματα καταστάσεων ή σημειογραφίες UML αντί για χειροκίνητα.

  • 🧭 Βασική ιδέα: Ένα μοντέλο περιγράφει την αναμενόμενη συμπεριφορά και κάθε δοκιμαστική περίπτωση προέρχεται από αυτό το μοντέλο αντί να γράφεται ξεχωριστά.
  • 🔀 Δύο πλαίσια: Η δημιουργία εκτός σύνδεσης δημιουργεί τη σουίτα πριν από την εκτέλεση, ενώ η δημιουργία online παράγει βήματα εν κινήσει κατά τη διάρκεια της εκτέλεσης.
  • 📐 Σημειώσεις μοντέλου: Μηχανές πεπερασμένων καταστάσεων, διαγράμματα καταστάσεων, πίνακες αποφάσεων, γραφήματα ροής δεδομένων και ροής ελέγχου και διαγράμματα UML.
  • ⚙️ Εργασία: Δημιουργήστε το μοντέλο, επιλέξτε κριτήρια κάλυψης, δημιουργήστε κοιλιακούςtract δοκιμές, συγκεκριμενοποίησέ τες σε σενάρια, εκτέλεσέ τες και στη συνέχεια εκχώρησε ετυμηγορίες.
  • Εργαλεία: Τα GraphWalker, fMBT, Conformiq, MaTeLo, MBTsuite και Spec Explorer δημιουργούν διαδρομές από κατευθυνόμενα γραφήματα ή μοντέλα κατάστασης.
  • Ανταλλαγή: Η συντήρηση μειώνεται και η κάλυψη αυξάνεται, αλλά η τεχνική απαιτεί δεξιότητες μοντελοποίησης και μια αρχική επένδυση στη μάθηση.

Δοκιμές βασισμένες σε μοντέλα, οι οποίες εξάγουν αυτόματα περιπτώσεις δοκιμών από ένα μοντέλο συμπεριφοράς του συστήματος

Τι είναι η δοκιμή βάσει μοντέλου;

Δοκιμή βάσει μοντέλου είναι μια τεχνική δοκιμής λογισμικού όπου η συμπεριφορά του υπό δοκιμή λογισμικού κατά τον χρόνο εκτέλεσης ελέγχεται σε σχέση με τις προβλέψεις που γίνονται από ένα μοντέλο. Ένα μοντέλο είναι μια περιγραφή της συμπεριφοράς ενός συστήματος, η οποία εκφράζεται με βάση τις ακολουθίες εισόδου, τις ενέργειες, τις συνθήκες, την έξοδο και τη ροή δεδομένων από την είσοδο στην έξοδο. Ένα χρησιμοποιήσιμο μοντέλο πρέπει να είναι πρακτικά κατανοητό, επαναχρησιμοποιήσιμο και κοινόχρηστο, και πρέπει να περιγράφει με ακρίβεια το υπό δοκιμή σύστημα.

Υπάρχουν πολλά διαθέσιμα μοντέλα και το καθένα περιγράφει μια διαφορετική πτυχή της συμπεριφοράς του συστήματος. Συνηθισμένα παραδείγματα είναι:

Η δοκιμή βάσει μοντέλου περιγράφει τον τρόπο με τον οποίο συμπεριφέρεται ένα σύστημα ως απόκριση σε μια ενέργεια που καθορίζεται από το μοντέλο. Παρέχετε την ενέργεια και, στη συνέχεια, ελέγξτε εάν το σύστημα ανταποκρίνεται όπως προβλέπει το μοντέλο. Οποιαδήποτε απόκλιση μεταξύ των δύο είναι είτε ελάττωμα στο λογισμικό είτε σφάλμα στο μοντέλο, και τα δύο αξίζει να εντοπιστούν.

Είναι μια ελαφριά, τυπική μέθοδος για την επικύρωση ενός συστήματος και εφαρμόζεται τόσο στις δοκιμές υλικού όσο και στις δοκιμές λογισμικού. Επειδή οι δοκιμές προέρχονται από μια προδιαγραφή συμπεριφοράς και όχι από τον κώδικα, η τεχνική βασίζεται στο δοκιμή μαύρου κουτιού οικογένεια τεχνικές δοκιμής λογισμικού.

Παράδειγμα δοκιμής βάσει μοντέλου

Ο απλούστερος τρόπος για να διαβάσετε ένα μοντέλο συμπεριφοράς είναι να το ακολουθήσετε. Το παρακάτω διάγραμμα μοντελοποιεί μια μικρή εργασία επεξεργασίας κειμένου, με κάθε πλαίσιο να αντιπροσωπεύει μια κατάσταση στην οποία μπορεί να βρίσκεται η εφαρμογή και κάθε βέλος να αντιπροσωπεύει μια ενέργεια που μπορεί να κάνει ένας χρήστης.

Παράδειγμα δοκιμής βασισμένο σε μοντέλο που μοντελοποιεί τις καταστάσεις και τις ενέργειες της συγγραφής ενός ποιήματος στο Σημειωματάριο

Το μοντέλο εξηγεί μια απλοποιημένη προσέγγιση για τη συγγραφή ποίησης στο Σημειωματάριο και τις πιθανές ενέργειες που σχετίζονται με κάθε βήμα. Για κάθε ενέργεια, όπως η εκκίνηση της εφαρμογής, η εισαγωγή ενός ποιήματος ή η αποθήκευση του αρχείου, ένα περίπτωση δοκιμής μπορούν να δημιουργηθούν και η έξοδος να επαληθευτεί. Η διανύση μιας διαφορετικής διαδρομής μέσω του ίδιου διαγράμματος, για παράδειγμα η έναρξη και το κλείσιμο χωρίς αποθήκευση, παράγει μια διαφορετική δοκιμαστική περίπτωση χωρίς επιπλέον κόστος σχεδιασμού, το οποίο είναι το οικονομικό επιχείρημα για ολόκληρη την τεχνική.

Τύποι MBT

Υπάρχουν δύο τύποι πλαισίων δοκιμών που βασίζονται σε μοντέλα και η διαφορά μεταξύ τους έγκειται απλώς στο πότε παράγονται τα βήματα δοκιμής:

  • Εκτός σύνδεσης / εκ των προτέρων: Δημιουργία σουιτών δοκιμών πριν από την εκτέλεσή τους. Μια σουίτα δοκιμών είναι μια συλλογή από δοκιμαστικές περιπτώσεις και σε αυτήν τη λειτουργία η σουίτα αποθηκεύεται, ελέγχεται και εκτελείται ξανά όπως οποιαδήποτε άλλη δοκιμές αυτοματισμού περιουσιακό στοιχείο.
  • Διαδικτυακά / άμεσα: Δημιουργία σουιτών δοκιμών κατά την εκτέλεση της δοκιμής, όπου το επόμενο βήμα επιλέγεται με βάση τον τρόπο με τον οποίο το σύστημα ανταποκρίθηκε στην προηγούμενη.

Η δημιουργία εκτός σύνδεσης (offline) είναι κατάλληλη για ρυθμιζόμενα περιβάλλοντα που χρειάζονται μια αναθεωρήσιμη και επαναλήψιμη σουίτα. Η online δημιουργία είναι κατάλληλη για μακροχρόνιες διερευνητικές συνεδρίες σε συστήματα με κατάσταση, επειδή η γεννήτρια μπορεί να αντιδράσει στην πραγματική απόκριση και όχι στην προβλεπόμενη.

Πώς λειτουργεί η δοκιμή βάσει μοντέλου

Όποιο πλαίσιο και αν χρησιμοποιηθεί, η τεχνική ακολουθεί τα ίδια πέντε στάδια. Κάθε στάδιο παράγει ένα τεχνούργημα που καταναλώνει το επόμενο στάδιο, γι' αυτό και το μοντέλο, και όχι το σενάριο δοκιμής, γίνεται αυτό που συντηρεί η ομάδα.

  • Βήμα 1: Κατασκευάστε το μοντέλο. Μεταφράστε τις απαιτήσεις ή μια προδιαγραφή σε κοιλιακούςtracμοντέλο t αναμενόμενης συμπεριφοράς, που ορίζει τις καταστάσεις, τις μεταβάσεις μεταξύ τους και τις εισόδους που ενεργοποιούν κάθε μετάβαση.
  • Βήμα 2: Επιλέξτε τα κριτήρια επιλογής της δοκιμής. Τα κριτήρια λένε στη γεννήτρια πότε να σταματήσει. Συνηθισμένα είναι η κάλυψη όλων των καταστάσεων, η οποία επισκέπτεται κάθε κατάσταση τουλάχιστον μία φορά, η κάλυψη όλων των μεταβάσεων, η οποία ασκεί κάθε βέλος τουλάχιστον μία φορά και η κάλυψη διαδρομής ή ροής δεδομένων για βαθύτερη εξερεύνηση.
  • Βήμα 3: Δημιουργήστε κοιλιακούςtract δοκιμαστικές περιπτώσεις. Το εργαλείο περπατά πάνω στο μοντέλο και εκπέμπει ακολουθίες κοιλιακών.tract βήματα που ικανοποιούν τα επιλεγμένα κριτήρια, μαζί με το αναμενόμενο αποτέλεσμα σε κάθε βήμα.
  • Βήμα 4: Στερεώστε τους κοιλιακούςtracδοκιμές t. Ένα στρώμα προσαρμογέα αντιστοιχίζει κάθε κοιλιακό αγγείοtract να προχωρήσει σε μια πραγματική ενέργεια εναντίον του συστήματος, όπως μια αλληλεπίδραση με το UI, ένα API κλήση ή ένα μήνυμα πρωτοκόλλου. Αυτός ο χάρτηςping γράφεται μία φορά και επαναχρησιμοποιείται από κάθε παραγόμενη δοκιμή.
  • Βήμα 5: Εκτέλεση και ανάθεση ετυμηγοριών. Οι συγκεκριμένες δοκιμές εκτελούνται σε σχέση με το υπό δοκιμή σύστημα, κάθε παρατηρούμενη απόκριση συγκρίνεται με την πρόβλεψη του μοντέλου και καταγράφεται μια ετυμηγορία επιτυχίας ή αποτυχίας. tracεπέστρεψε στο στοιχείο μοντέλου που το παρήγαγε.

The tracΗ δυνατότητα που δημιουργείται στο βήμα 5 είναι η πρακτική ανταμοιβή. Όταν αλλάζει μια απαίτηση, αλλάζει και το μοντέλο και οι επηρεαζόμενες δοκιμές αναγεννώνται αντί να ξαναγράφονται, γι' αυτό και οι ομάδες που κάνουν συχνά δοκιμή παλινδρόμησης έναντι μιας σταθερής προδιαγραφής ωφελούν τους περισσότερους.

Διαφορετικά μοντέλα σε δοκιμές

Για να κατανοήσουμε τη ΜΒΤ, είναι απαραίτητο να κατανοήσουμε ορισμένα από τα μοντέλα που εξηγούνται παρακάτω. Κάθε ένα ανταλλάσσει την εκφραστική δύναμη με την προσπάθεια, επομένως η επιλογή εξαρτάται από το πόσο περίπλοκη είναι στην πραγματικότητα η υπό δοκιμή συμπεριφορά.

Μηχανές πεπερασμένων κρατών

Αυτό το μοντέλο βοηθά τους δοκιμαστές να αξιολογήσουν το αποτέλεσμα ανάλογα με την επιλεγμένη είσοδο. Διάφοροι συνδυασμοί των εισόδων μπορούν να οδηγήσουν σε μια αντίστοιχη κατάσταση του συστήματος.

Το σύστημα θα έχει μια συγκεκριμένη κατάσταση και μια τρέχουσα κατάσταση, η οποία διέπεται από ένα σύνολο εισροών που δίνονται από τους δοκιμαστές.

Εξετάστε το παρακάτω παράδειγμα. Ένα σύστημα επιτρέπει στους υπαλλήλους να συνδέονται σε μια εφαρμογή. Η τρέχουσα κατάσταση του υπαλλήλου είναι «Εκτός» και γίνεται «Είσοδος» μόλις ο υπάλληλος συνδεθεί στο σύστημα. Στην κατάσταση «Είσοδος», ένας υπάλληλος μπορεί να προβάλει, να εκτυπώσει και να σαρώσει έγγραφα στο σύστημα.

Η μηχανή καταστάσεων για αυτό το παράδειγμα εμφανίζεται εδώ, με κάθε βέλος να επισημαίνεται από την είσοδο που προκαλεί τη μετάβαση.

Μοντέλο μηχανής πεπερασμένων καταστάσεων που δείχνει τις καταστάσεις εξόδου και εισόδου ενός συστήματος σύνδεσης υπαλλήλου

Διαγράμματα κατάστασης

Ένα διάγραμμα καταστάσεων είναι μια επέκταση της μηχανής πεπερασμένων καταστάσεων και μπορεί να χρησιμοποιηθεί για σύνθετα και συστήματα πραγματικού χρόνου. Τα διαγράμματα καταστάσεων περιγράφουν διάφορες συμπεριφορές του συστήματος, έχουν έναν ορισμένο αριθμό καταστάσεων και η συμπεριφορά του συστήματος αναλύεται και αναπαρίσταται με τη μορφή συμβάντων για κάθε κατάσταση. Η επέκταση που έχει σημασία στην πράξη είναι η ιεραρχία: ένα διάγραμμα καταστάσεων επιτρέπει ένθετες και παράλληλες καταστάσεις, επομένως μια μηχανή που θα χρειαζόταν δεκάδες επίπεδες καταστάσεις μπορεί να σχεδιαστεί συμπαγώς.

Για παράδειγμα, τα ελαττώματα εμφανίζονται στο εργαλείο διαχείρισης ελαττωμάτων με την κατάσταση Νέο. Μόλις ένα ελάττωμα διορθωθεί από τους προγραμματιστές, η κατάσταση πρέπει να αλλάξει σε Διορθώθηκε. Εάν ένα ελάττωμα δεν διορθωθεί, η κατάσταση αλλάζει σε Επανάνοιγμα. Τα γραφήματα καταστάσεων θα πρέπει να σχεδιάζονται έτσι ώστε να καλείται ένα συμβάν για κάθε κατάσταση.

Αυτός ο κύκλος ζωής ελαττώματος απεικονίζεται παρακάτω, με κάθε κατάσταση να εμφανίζεται ως κατάσταση και κάθε ενέργεια ροής εργασίας ως το συμβάν που μετακινεί το ελάττωμα μεταξύ τους.

Διάγραμμα καταστάσεων ενός κύκλου ζωής ελαττώματος που κινείται μεταξύ των καταστάσεων Νέα, Διορθωμένη και Επανέναρξη

Ενοποιημένη γλώσσα μοντελοποίησης (UML)

Ενοποιημένη γλώσσα μοντελοποίησης (UML) είναι μια τυποποιημένη γλώσσα μοντελοποίησης γενικής χρήσης. Η UML περιλαμβάνει ένα σύνολο τεχνικών γραφικής σημειογραφίας που χρησιμοποιούνται για τη δημιουργία οπτικών μοντέλων που μπορούν να περιγράψουν πολύ περίπλοκη συμπεριφορά συστήματος.

Το UML έχει σημειώσεις όπως:

  • Δραστηριότητες
  • Ηθοποιοί
  • Επιχειρηματική διαδικασία
  • Συστατικά
  • Γλώσσα προγραμματισμού

Τα διαγράμματα μηχανής δραστηριότητας και κατάστασης είναι αυτά που διαβάζονται συχνότερα από τις γεννήτριες δοκιμών, όπως απεικονίζει το παρακάτω δείγμα μοντέλου UML.

Σημειογραφία διαγράμματος UML που χρησιμοποιείται ως μοντέλο πηγής για τη δημιουργία περιπτώσεων δοκιμών

Εργαλεία Δοκιμών Βασισμένα σε Μοντέλα

Ένα μοντέλο σε χαρτί δεν παράγει τίποτα από μόνο του. Απαιτείται μια γεννήτρια για να διαχειρίζεται το μοντέλο και να εκπέμπει δοκιμαστικές διαδρομές, και η αγορά εργαλείων χωρίζεται σε γεννήτριες ανοιχτού κώδικα και εμπορικές πλατφόρμες σχεδιασμού δοκιμών.

  • GraphWalker — ένα εργαλείο ανοιχτού κώδικα που διαβάζει μοντέλα που έχουν διαμορφωθεί σύμφωνα με τις οδηγίες γραφημάτων και δημιουργεί δοκιμαστικές διαδρομές από αυτά, με επιλέξιμες γεννήτριες και συνθήκες διακοπής.
  • fMBT — ένα σύνολο εργαλείων δοκιμών ανοιχτού κώδικα που βασίζεται σε μοντέλα από την Intel, το οποίο υποστηρίζει τη δημιουργία και την εκτέλεση δοκιμών σε σχέση με μοντέλα κατάστασης.
  • Κονφόρμικ — ένα εμπορικό αυτοματοποιημένο προϊόν σχεδιασμού δοκιμών που παράγει δοκιμαστικές περιπτώσεις και σενάρια από γραφικά μοντέλα συμπεριφοράς.
  • MaTeLo και MBTsuite — εμπορικές πλατφόρμες που στοχεύουν σε στατιστικά μοντέλα χρήσης και στη δημιουργία δοκιμών σε υπάρχοντα πλαίσια αυτοματισμού.
  • Εξερεύνηση προδιαγραφών - MicrosoftΗ επέκταση δοκιμών που βασίζεται σε μοντέλα για το Visual Studio, η οποία αναφέρεται ευρέως στη βιβλιογραφία δοκιμών πρωτοκόλλων.

Η επιλογή εξαρτάται λιγότερο από τις λίστες χαρακτηριστικών και περισσότερο από δύο ερωτήματα: ποια σημειογραφία μπορεί στην πραγματικότητα να σχεδιάσει η ομάδα και αν το εργαλείο μπορεί να εκπέμψει δοκιμές στο πλαίσιο αυτοματισμού που ήδη χρησιμοποιείται. Μια γεννήτρια που παράγει σουίτες που κανείς δεν μπορεί να εκτελέσει προσθέτει ένα βήμα στη διαδικασία αντί να αφαιρεί ένα.

Δοκιμές που βασίζονται σε μοντέλα έναντι παραδοσιακού σχεδιασμού δοκιμών

Αξίζει να τονιστεί η αντίθεση με τον σχεδιασμό των χειρόγραφων εξετάσεων, επειδή οι δύο προσεγγίσεις αποτυγχάνουν σε διαφορετικά σημεία αντί η μία να είναι απλώς καλύτερη.

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

Η παρακάτω εξέλιξη τοποθετεί την τεχνική στο κατάλληλο πλαίσιο: η χειροκίνητη εκτέλεση δοκιμών έδωσε τη θέση της στην αυτοματοποιημένη εκτέλεση, και οι προσεγγίσεις που βασίζονται σε μοντέλα μετακινούν τον αυτοματισμό ένα επίπεδο νωρίτερα, στον ίδιο τον σχεδιασμό δοκιμών.

Εξέλιξη των δοκιμών λογισμικού από τη χειροκίνητη εκτέλεση μέσω αυτοματοποίησης σε δοκιμές που βασίζονται σε μοντέλα

Προκλήσεις της δοκιμής βάσει μοντέλου

Η ανάπτυξη του MBT σε έναν οργανισμό απαιτεί σημαντική επένδυση χρημάτων και προσπάθειας. Τα ακόλουθα είναι τα μειονεκτήματα του MBT σε: τεχνολογία λογισμικού:

  • Οι δοκιμαστές χρειάζονται δεξιότητες μοντελοποίησης που δεν απαιτεί ο παραδοσιακός σχεδιασμός δοκιμών.
  • Η καμπύλη μάθησης είναι μεγάλη και το πρώτο έργο συνήθως κοστίζει περισσότερο από όσο εξοικονομεί.
  • Το ίδιο το μοντέλο μπορεί να είναι δύσκολο να κατανοηθεί και να αναθεωρηθεί, ειδικά όταν αναπτυχθεί.
  • Ένα μοντέλο που παρεκκλίνει από τις προδιαγραφές δημιουργεί αξιόπιστες, λανθασμένες δοκιμές.
  • Το στρώμα προσαρμογέα που γυρίζει τους κοιλιακούςtracΤα βήματα που μετατρέπονται σε πραγματικές δράσεις πρέπει να γράφονται και να συντηρούνται ξεχωριστά.
  • Το μέγεθος του μοντέλου αυξάνεται γρήγορα, επομένως ένα μοντέλο κατάστασης χωρίς περιορισμούς μπορεί να παράγει περισσότερες διαδρομές από όσες μπορεί να εκτελέσει οποιαδήποτε ομάδα.

Κανένα από αυτά δεν αποτελεί λόγο για να αποφευχθεί η τεχνική, αλλά μαζί εξηγούν γιατί το MBT συνήθως εισάγεται πρώτα σε ένα σταθερό υποσύστημα και όχι σε ολόκληρο. κύκλος ζωής δοκιμής λογισμικού με τη μία.

Πλεονεκτήματα των δοκιμών που βασίζονται σε μοντέλα

Σε σύγκριση με αυτό το κόστος, τα οφέλη του MBT είναι:

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

Οι δοκιμαστές κατασκευάζουν νοητικά μοντέλα ούτως ή άλλως ενώ εργάζονται, και το MBT απλώς μεταφέρει αυτά τα νοητικά μοντέλα σε χαρτί όπου μπορούν να αναθεωρηθούν, να τροποποιηθούν και να επαναχρησιμοποιηθούν. Το πού ταιριάζει η τεχνική με τις άλλες διαθέσιμες προσεγγίσεις περιγράφεται στο είδη δοκιμών λογισμικού.

Συχνές Ερωτήσεις

Μαύρο κουτί. Οι δοκιμές προέρχονται από ένα μοντέλο καθορισμένης συμπεριφοράς, όχι από τον πηγαίο κώδικα. Η τεχνική γίνεται γκρι κουτί μόνο όταν το μοντέλο κατασκευάζεται από εσωτερικά έγγραφα σχεδιασμού και όχι από εξωτερικές απαιτήσεις.

Μόνο η συμπεριφορά για την οποία αξίζει να δημιουργηθούν δοκιμές. Μοντελοποιήστε μια ροή εργασίας με κατάσταση, όπως η ολοκλήρωση αγοράς ή ένας κύκλος ζωής ελαττωμάτων, στο πιο χονδροειδές επίπεδο που εξακολουθεί να διακρίνει τα πραγματικά αποτελέσματα. Η μοντελοποίηση των πάντων παράγει μια έκρηξη κατάστασης που κανείς δεν μπορεί να εκτελέσει.

Το μοντέλο ανήκει στον έλεγχο έκδοσης μαζί με τον κώδικα, με έναν κάτοχο με όνομα και ένα βήμα αναθεώρησης στην ίδια διαδικασία αλλαγής με την προδιαγραφή. Ένα μοντέλο χωρίς κάτοχο αποκλίνει και ένα μοντέλο που έχει αποκλίνει δημιουργεί αξιόπιστες αλλά λανθασμένες δοκιμές.

Όχι. Μια γεννήτρια εξερευνά μόνο ό,τι περιγράφει το μοντέλο, επομένως οτιδήποτε παραλείπει το μοντέλο παραμένει μη δοκιμασμένο. Οι διερευνητικές συνεδρίες παραμένουν ο τρόπος με τον οποίο οι ομάδες βρίσκουν συμπεριφορά που κανείς δεν έχει προσδιορίσει και συχνά αποκαλύπτουν τα κενά που στη συνέχεια απορροφά το μοντέλο.

Μακρόβια συστήματα με καταστατική ακρίβεια και γραπτή προδιαγραφή: πρωτόκολλα επικοινωνίας, ενσωματωμένοι και αυτοκινητιστικοί ελεγκτές, ιατρικές συσκευές, τραπεζικές ροές εργασίας και τηλεπικοινωνιακός εξοπλισμός. Αυτοί οι τομείς συνδυάζουν μια σταθερή προδιαγραφή με πάρα πολλές νομικές ακολουθίες για να απαριθμηθούν χειροκίνητα.

Όταν η προδιαγραφή αλλάζει ταχύτερα από ό,τι μπορεί να ακολουθήσει το μοντέλο, όταν το χαρακτηριστικό είναι μικρό ή βραχύβιο ή όταν κανείς στην ομάδα δεν μπορεί να διατηρήσει τη σημειογραφία. Σε αυτές τις περιπτώσεις, οι χειρόγραφες περιπτώσεις κοστίζουν λιγότερο σε όλο το έργο.

Η μηχανική μάθηση συνάγει μοντέλα κατάστασης προσχεδίων από αρχεία καταγραφής παραγωγής και καταγεγραμμένες συνεδρίες, επισημαίνει μεταβάσεις που το μοντέλο δεν καλύπτει ποτέ και κατατάσσει τις δημιουργούμενες διαδρομές με βάση το ιστορικό ελαττωμάτων, ώστε οι ακολουθίες με τον υψηλότερο κίνδυνο να εκτελούνται πρώτες. Οι μηχανικοί εξακολουθούν να επικυρώνουν το μοντέλο που προκύπτει.

Ναι, κυρίως για το επίπεδο προσαρμογέα: τις μεθόδους βημάτων, τα αντικείμενα σελίδας και τους ισχυρισμούς που συνδέουν το abs.tract μοντελοποιήστε τις ενέργειες σε πραγματικές κλήσεις. Η απόφαση για το τι πρέπει να περιέχει το μοντέλο και ποια κριτήρια κάλυψης έχουν σημασία παραμένει μια κρίση σχεδιασμού.

Συνοψίστε αυτήν την ανάρτηση με: