fbpx

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

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

 

Table of Contents

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

Αυξητικός έλεγχος στον έλεγχο λογισμικού - Μια βαθιά κατάδυση στο τι είναι, τύποι, διαδικασία, προσεγγίσεις, εργαλεία και πολλά άλλα!

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

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

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

 

Διαφορά μεταξύ θετικών και αρνητικών δοκιμών

δοκιμή στον έλεγχο λογισμικού

οφέλη του rpa

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

Με άλλα λόγια:

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

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

 

Γιατί είναι ζωτικής σημασίας η αρνητική δοκιμή λογισμικού;

γιατί είναι κρίσιμες οι αρνητικές δοκιμές;

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

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

 

Ποιος είναι ο σκοπός των αρνητικών δοκιμών

στον τομέα των δοκιμών λογισμικού;

Το μέλλον της αυτοματοποίησης ρομποτικών διαδικασιών στην υγειονομική περίθαλψη

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

 

1. Αποκάλυψη ελαττωμάτων

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

 

2. Ασφάλεια

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

 

3. Χειρισμός σφαλμάτων

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

 

4. Βελτίωση της κάλυψης των δοκιμών

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

 

5. Καλύτερη εμπειρία χρήστη

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

 

Διαφορά μεταξύ θετικού και αρνητικού

δοκιμές στη μηχανική λογισμικού

δοκιμές άλφα vs δοκιμές βήτα

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

Η διαφορά μεταξύ θετικής και αρνητικής δοκιμής περιλαμβάνει:

 

1. Στόχοι:

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

 

2. Δεδομένα:

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

 

3. Εστίαση:

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

 

Διαφορετικοί τύποι αρνητικών δοκιμών

Beta Testing - Τι είναι, Τύποι, Διαδικασίες, Προσεγγίσεις, Εργαλεία, σε σχέση με το Alpha testing & περισσότερα!

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

 

#1. Δοκιμή οριακών τιμών

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

Παράδειγμα: Ένα πεδίο εισαγωγής δέχεται αριθμούς μεταξύ 1-9. Μια δοκιμή οριακών τιμών θα εισάγει τόσο το 1 όσο και το 9, αλλά θα ελέγξει επίσης το 0 και το 10.

 

#2. Δοκιμή τιμών εισόδου

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

  • Λανθασμένοι τύποι δεδομένων
  • Τιμές εκτός εύρους τιμών
  • Ειδικοί χαρακτήρες
  • Κενά πεδία.

Παράδειγμα: Έτσι, η δοκιμή θα εισάγει ένα γράμμα και θα δει πώς ανταποκρίνεται το σύστημα.

 

#3. Δοκιμή φορτίου


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

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

 

#4. Δοκιμή εξαιρέσεων

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

  • Προσομοίωση συντριβών του συστήματος
  • Αποτυχίες δικτύου
  • Σφάλματα βάσης δεδομένων
  • Ζητήματα χώρου στο δίσκο
  • Λείπουν αρχεία.

Παράδειγμα: Η δοκιμή μπορεί να διερευνήσει τι συμβαίνει όταν ένας χρήστης κατεβάζει ένα αρχείο από την εφαρμογή και το διαδίκτυο διακόπτεται.

 

#5. Δοκιμές ασφαλείας

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

  • Έγχυση SQL
  • Cross-site scripting (XSS)
  • Υπερχείλιση ρυθμιστικού διαστήματος.

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

 

#6. Δοκιμές διεπαφής χρήστη

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

  • Απροσδόκητες αντιδράσεις στις αλληλεπιδράσεις του χρήστη
  • Λανθασμένα μηνύματα σφάλματος
  • Προβλήματα πλοήγησης

Παράδειγμα: Η δοκιμή θα διερευνήσει τι συμβαίνει όταν συγκεκριμένες ενέργειες εκτελούνται εκτός σειράς.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

 

#7. Δοκιμές ακεραιότητας δεδομένων

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

  • Πιθανές αλλοιώσεις δεδομένων
  • Σενάρια απώλειας δεδομένων
  • Ακούσιες τροποποιήσεις δεδομένων

Παράδειγμα: Η δοκιμή θα επαληθεύσει ότι τα δεδομένα παραμένουν τα ίδια μετά από μια μετάδοση.

 

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

 

Πλεονεκτήματα των αρνητικών δοκιμών

πλεονεκτήματα για αρνητικές δοκιμές

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

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

 

Μειονεκτήματα των αρνητικών δοκιμών

λίστα ελέγχου uat, εργαλεία ελέγχου εφαρμογών ιστού, αυτοματοποίηση και άλλα

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

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

 

Προκλήσεις των αρνητικών δοκιμών

Σύγκριση των δοκιμών UAT με τις δοκιμές παλινδρόμησης και άλλες

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

Ας αναλύσουμε μερικές από τις πιο επίμονες προκλήσεις.

 

1. Εντοπισμός αρνητικών σεναρίων στη δοκιμή λογισμικού

 

Επαρκής κάλυψη:

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

 

Ιεράρχηση προτεραιοτήτων:

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

  1. Καταστάσεις με υψηλή πιθανότητα ελαττωμάτων
  2. Η σοβαρότητα του αποτελέσματος των ελαττωμάτων.

 

2. Σχεδιασμός κατάλληλων αρνητικών περιπτώσεων δοκιμής

 

Επικύρωση εισόδου:

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

 

Ποικιλομορφία δεδομένων:

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

 

3. Αποδοτικότητα και αυτοματοποίηση δοκιμών

 

Χρονοβόρα:

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

 

Πολυπλοκότητα αυτοματισμού:

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

 

4. Αξιολόγηση των αποτελεσμάτων

 

Ψευδώς θετικά αποτελέσματα:

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

 

Διφορούμενα αποτελέσματα:

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

 

Διαχείριση δεδομένων:

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

 

5. Οργανωτικά θέματα

 

Έλλειψη τεχνογνωσίας αρνητικών δοκιμών:

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

 

Επιχειρηματική πίεση:

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

 

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

 

Πώς να γράψετε αρνητικές περιπτώσεις δοκιμών ελέγχου λογισμικού

ξεκαθαρίζοντας κάποια σύγχυση στην αυτοματοποίηση δοκιμών λογισμικού

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

 

#1. Καθορίστε τους στόχους σας

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

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

 

#2. Περιγράψτε πιθανά αρνητικά σενάρια

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

  • Απαιτήσεις συστήματος
  • Τυπικές περιπτώσεις χρήσης
  • Χαρακτηριστικά και λειτουργίες της εφαρμογής

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

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

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

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

 

#3. Περιγράψτε τα αναμενόμενα αποτελέσματα

 

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

Ορισμένα από τα πιθανά αποτελέσματα μπορεί να περιλαμβάνουν:

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

 

#4. Επιλέξτε εισόδους για δοκιμή

 

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

Ορισμένες εισροές που πρέπει να συμπεριλάβετε είναι:

  • Τιμές εκτός εύρους (αρνητικές τιμές σε ένα πεδίο ηλικίας κ.λπ.)
  • Μη έγκυρα δεδομένα (γράμματα σε αριθμητικό πεδίο κ.λπ.)
  • Μη αναμενόμενοι χαρακτήρες ή σύμβολα
  • Ειδικοί χαρακτήρες
  • Λείπουν δεδομένα

 

#5. Γράψτε τις περιπτώσεις δοκιμής σας

 

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

Όπως πάντα, γράψτε τις περιπτώσεις δοκιμών σας σε σαφή, συνοπτική και αντικειμενική γλώσσα. Δεν υπάρχει περιθώριο για ασάφεια εδώ.

Εδώ είναι μια καλή μορφή για τις αρνητικές περιπτώσεις δοκιμών σας.

  • Χρησιμοποιήστε ένα αναγνωριστικό περίπτωσης δοκιμής
  • Περιγράψτε ακριβώς τι δοκιμάζεται
  • Σημειώστε τυχόν προϋποθέσεις για την αρνητική δοκιμή σας
  • Περιγράψτε το σύνολο των εμπλεκόμενων βημάτων
  • Καθορισμός σαφών και αντικειμενικών αποτελεσμάτων
  • Σημειώστε το πραγματικό αποτέλεσμα της δοκιμής σας

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

#6. Προγραμματίστε τη δοκιμή

 

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

 

Παράδειγμα αρνητικής περίπτωσης δοκιμής

 

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

Αναγνωριστικό περίπτωσης δοκιμής: TC001

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

Προϋποθέσεις: Ο χρήστης πρέπει να βρίσκεται στη σελίδα σύνδεσης της εφαρμογής

Βήματα: 1. Εισάγετε μια άκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου. 2. Πατήστε “Σύνδεση”

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

Αποτελέσματα: Καταγράψτε τι συνέβη όταν επιλέχθηκε η επιλογή “Σύνδεση”.

 

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

διαδικασίες ελέγχου δοκιμών λογισμικού

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

 

1. Τύποι δεδομένων και πεδίων

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

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

 

2. Υποχρεωτικά πεδία

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

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

 

3. Κατάλληλος αριθμός χαρακτήρων

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

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

 

4. Όρια και όρια δεδομένων

Ορισμένες φόρμες θα έχουν πεδία με σταθερά όρια. Για παράδειγμα, αν θέλατε κάποιος να βαθμολογήσει κάτι με 100, τα όρια δεδομένων θα ήταν 1-100.

Δημιουργήστε μια αρνητική περίπτωση δοκιμής όπου θα προσπαθήσετε να εισαγάγετε 0, 101 ή άλλες αρνητικές ή θετικές τιμές από 1-100.

 

Βέλτιστες πρακτικές για αρνητικές δοκιμές

διαφορές και ομοιότητες μεταξύ δοκιμών άλφα και βήτα

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

 

1. Ορίστε τις άκυρες εισόδους σας:

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

 

2. Χρήση της ανάλυσης οριακών τιμών:

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

 

3. Κατάτμηση ισοδυναμίας εργαζομένων:

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

 

4. Μιμηθείτε τους κακούς χρήστες:

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

 

5. Αφήστε τον κίνδυνο και τον αντίκτυπο να καθοδηγήσουν τις δοκιμές σας:

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

 

6. Επαλήθευση χειρισμού σφαλμάτων:

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

 

7. Αυτοματοποιήστε όσο το δυνατόν περισσότερο:

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

 

Τα καλύτερα εργαλεία αρνητικών δοκιμών για το 2024

τα καλύτερα δωρεάν και επιχειρησιακά εργαλεία αυτοματοποίησης δοκιμών λογισμικού + RPA

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

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

Δοκιμές βάσει δεδομένων και
δοκιμή μετάλλαξης
λειτουργικότητα καθιστούν το ZAPTEST ιδανικό για αρνητικές δοκιμές. Επιπλέον, χάρη στην RPA χαρακτηριστικά, μπορείτε να προσομοιώσετε πραγματικούς χρήστες, να επαναχρησιμοποιήσετε δοκιμές και να δημιουργήσετε αναφορές και τεκμηρίωση με ευκολία. Με λίγα λόγια, η ικανότητα του ZAPTEST να εκτελεί τελευταίας τεχνολογίας λογισμικό αυτοματισμού λογισμικού και λογισμικό αυτοματισμού ρομποτικών διαδικασιών το καθιστά ένα one-stop shop για οποιαδήποτε εργασία αυτοματισμού, συμπεριλαμβανομένων των αρνητικών δοκιμών.

 

Τελικές σκέψεις

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

 

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo