Μη Καταστροφικές Δοκιμές Λογισμικού (NDT): Τι είναι η Στρατηγική Δοκιμών

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

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

  • 🔘 Θετικό εκ σχεδιασμού: Κάθε μη καταστροφική δοκιμή χρησιμοποιεί έγκυρα δεδομένα και μια γνωστή απαίτηση, επομένως η επιτυχία αποδεικνύει ότι η λειτουργία λειτουργεί όπως ορίζεται.
  • ☑️ Πρώιμη δοκιμή που θα εκτελεστεί: Η ευτυχής διαδρομή ελέγχεται πρώτα, επειδή μια διακεκομμένη κύρια ροή μπλοκάρει σχεδόν κάθε άλλη δοκιμή που την ακολουθεί.
  • Απαίτηση tracικανότητα: Κάθε περίπτωση δοκιμής αντιστοιχεί σε ένα κριτήριο αποδοχής, γεγονός που καθιστά εύκολη την υπεράσπιση των αποτελεσμάτων σε μια ανασκόπηση.
  • 🧪 Το αντίθετο των καταστροφικών δοκιμών: Οι καταστροφικές δοκιμές αναζητούν το σημείο θραύσης, ενώ οι μη καταστροφικές δοκιμές επιβεβαιώνουν ότι η επιδιωκόμενη συμπεριφορά ισχύει.
  • Χαμηλό κόστος εγκατάστασης: Δεν απαιτείται ειδικό περιβάλλον, αλλοιωμένα δεδομένα ή εισαγωγή σφαλμάτων, επομένως η τεχνική ταιριάζει σε σύντομα χρονοδιαγράμματα και περιορισμένους προϋπολογισμούς.
  • 📈 Γνωστός περιορισμός: Η διέλευση από κάθε ευτυχή διαδρομή δεν αποδεικνύει τίποτα σχετικά με τον χειρισμό σφαλμάτων, επομένως οι αρνητικές και καταστροφικές δοκιμές πρέπει να εκτελούνται παράλληλα με αυτήν.

Μη Καταστροφικός Έλεγχος Λογισμικού (NDT) εξηγείται με στρατηγική δοκιμών

Τι είναι η δοκιμή μη καταστροφικού λογισμικού;

Μη καταστρεπτική δοκιμή είναι ένας τύπος δοκιμής λογισμικού που περιλαμβάνει τη δοκιμή και τη σωστή αλληλεπίδραση με την εφαρμογή λογισμικού. Με άλλα λόγια, το Non Destructive Software Testing (NDT) μπορεί επίσης να ονομάζεται Positive Testing ή Happy path testing. Δίνει τα αναμενόμενα αποτελέσματα και αποδεικνύει ότι η εφαρμογή λογισμικού συμπεριφέρεται όπως αναμένεται.

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

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

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

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

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

Γιατί να κάνετε Δοκιμές Μη Καταστροφικού Λογισμικού (NDT);

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

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

Πότε εκτελείται η μη καταστροφική δοκιμή (NDT);

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

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

Στρατηγική δοκιμής για μη καταστροφικές δοκιμές

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

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

Το παρακάτω διάγραμμα συνοψίζει τον τρόπο με τον οποίο αυτή η στρατηγική οργανώνεται κανονικά σε έναν κύκλο δοκιμών.

Ροή στρατηγικής δοκιμών για μη καταστροφικές δοκιμές λογισμικού σε έναν κύκλο δοκιμών

Πώς να γράψετε μη καταστροφικές (θετικές) δοκιμαστικές περιπτώσεις

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

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

Βήμα 2) Επιλέξτε έγκυρα δεδομένα εισόδου. Επιλέξτε τιμές που βρίσκονται άνετα εντός του επιτρεπόμενου εύρους. Διαμερισμός ισοδυναμίας βοηθάει εδώ — μία αντιπροσωπευτική τιμή ανά έγκυρη κατάτμηση είναι συνήθως αρκετή.

Βήμα 3) Γράψτε το αναμενόμενο αποτέλεσμα πριν από την εκτέλεση. Το αναμενόμενο αποτέλεσμα πρέπει να γραφτεί από την προδιαγραφή. Η συγγραφή του μετά την εκτέλεση μετατρέπει τη δοκιμή σε μια περιγραφή οποιουδήποτε πράγματος έκανε η κατασκευή.

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

Βήμα 5) Καταγράψτε το αναγνωριστικό απαίτησης. TracΗ επαναφορά της υπόθεσης στο κριτήριό της είναι αυτό που επιτρέπει στην ομάδα να αποδείξει την κάλυψη κατά τη διάρκεια μιας αναθεώρησης.

Ένα λειτουργικό παράδειγμα για την ενότητα σύνδεσης μοιάζει με αυτό.

Πεδίο Μη καταστροφική δοκιμαστική περίπτωση
Απαίτηση Το όνομα χρήστη δέχεται 6–20 αλφαριθμητικούς χαρακτήρες
Στοιχεία δοκιμής Επωνυμία Φαρμακείου guru99tester, έγκυρος κωδικός πρόσβασης που ταιριάζει
Βήματα Ανοίξτε τη σελίδα σύνδεσης, εισαγάγετε τα διαπιστευτήρια, επιλέξτε Σύνδεση
Αναμενόμενο Αποτέλεσμα Τα διαπιστευτήρια γίνονται δεκτά και εμφανίζεται η αρχική σελίδα
Χαρακτηριστικά Θετική / ευτυχισμένη πορεία

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

Παραδείγματα μη καταστροφικών δοκιμών

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

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

Μη Καταστροφικές Δοκιμές έναντι Καταστροφικών Δοκιμών

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

Άποψη Μη καταστρεπτική δοκιμή Καταστροφική δοκιμή
Πρόθεση Αλληλεπιδράστε σωστά με την εφαρμογή και επαληθεύστε τα θετικά αποτελέσματα Παρέχετε ασυνήθιστα ή μη έγκυρα δεδομένα εισόδου για να βρείτε το σημείο αποτυχίας
Εισαγωγή δεδομένων Έγκυρα δεδομένα που αντλούνται από την απαίτηση Μη έγκυρα, κατεστραμμένα ή εκτός ακολουθίας δεδομένα
Απαιτήσεις που απαιτούνται Ναι — οι υποθέσεις γράφονται με βάση τα κριτήρια αποδοχής Όχι απαραίτητα. Οι δοκιμαστές εργάζονται χωρίς την προκατάληψη της ιστορίας του χρήστη.
Τι αποκαλύπτει Αδυναμίες στη λειτουργικότητα σε σχέση με την προδιαγραφή Αδυναμίες στον σχεδιασμό, την ανθεκτικότητα και την ανακτησιμότητα
Σχετικές τεχνικές Δοκιμή καπνού, λειτουργικές δοκιμές Δοκιμές σε πιθήκους, διερευνητικές δοκιμές

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

Πλεονεκτήματα και περιορισμοί των μη καταστροφικών δοκιμών λογισμικού

Το να γνωρίζουμε πού η τεχνική παύει να είναι χρήσιμη είναι εξίσου σημαντικό με το να γνωρίζουμε τι καλύπτει.

Πλεονεκτήματα

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

Περιορισμοί

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

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

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

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

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

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

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

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

GitHub Copilot Το scaffolds δημιουργεί γρήγορα σενάρια happy path από ένα υπάρχον αρχείο δοκιμής ή μια περιγραφόμενη ροή. RevΕξετάστε προσεκτικά τους ισχυρισμούς — οι δοκιμές που δημιουργούνται τείνουν να βεβαιώνουν τι κάνει ο κώδικας και όχι τι απαιτεί η απαίτηση.

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

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

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