Τι είναι το Adhoc Testing; Τύποι με Παράδειγμα

Τι είναι οι δοκιμές Adhoc;

Τι είναι οι Ad Hoc δοκιμές;

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

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

Παράδειγμα Δοκιμής Adhoc

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

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

Το παρακάτω βίντεο σάς καθοδηγεί πώς να κάνετε δοκιμές adhoc

Πατήστε εδώ εάν το βίντεο δεν είναι προσβάσιμο

Πότε πρέπει να εκτελείται ad hoc δοκιμή;

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

  • Πρώιμη ανάπτυξη: Λειτουργεί καλά όταν οι επίσημες περιπτώσεις δοκιμών δεν είναι ακόμη έτοιμες. Μπορείτε να εντοπίσετε γρήγορα σφάλματα σε νέες λειτουργίες πριν δημιουργηθούν τα επίσημα σχέδια δοκιμών.
  • Πριν από την έναρξη των επίσημων δοκιμών: Χρησιμοποιήστε ad hoc δοκιμές ως γρήγορη σάρωση για να βεβαιωθείτε ότι τα βασικά λειτουργούν. Αυτό βοηθά στην αποφυγή σπατάλης χρόνου σε προβληματικές εκδόσεις κατά τη διάρκεια των επίσημων κύκλων δοκιμών.
  • Μετά την ολοκλήρωση των επίσημων εξετάσεων: Ακόμα και μετά την παρακολούθηση όλων των περιπτώσεων δοκιμών, ορισμένα σφάλματα μπορεί να παρέλθουν. Οι δοκιμές ad hoc σάς επιτρέπουν να αναζητήσετε ελαττώματα που ενδέχεται να παραβλέψουν οι δομημένες δοκιμές, ειδικά εκείνα που δεν εμπίπτουν στις τεκμηριωμένες απαιτήσεις.
  • Όταν έχετε περιορισμένο χρόνο: Μερικές φορές, απλώς δεν υπάρχει αρκετός χρόνος για έναν πλήρη γύρο δοκιμών. Σε τέτοιες περιπτώσεις, οι έμπειροι δοκιμαστές μπορούν να χρησιμοποιήσουν ad hoc δοκιμές για να εντοπίσουν γρήγορα τα πιο σημαντικά ζητήματα.
  • Για να εξερευνήσετε σε βάθος μια λειτουργία: Αν θέλετε να κατανοήσετε πραγματικά πώς συμπεριφέρεται ένα συγκεκριμένο μέρος του λογισμικού, οι ad hoc δοκιμές σάς επιτρέπουν να ερευνήσετε ελεύθερα χωρίς να κολλήσετε σε ένα σενάριο.
  • Για ελέγχους χρηστικότητας: Μπορείτε να μπείτε στη θέση του χρήστη για να δείτε αν υπάρχουν σημεία του λογισμικού που προκαλούν σύγχυση ή δυσκολία. Αυτό βοηθά στη βελτίωση της συνολικής εμπειρίας.
  • Κατά τη διάρκεια των δοκιμών Beta: Πολλοί δοκιμαστές beta χρησιμοποιούν φυσικά ad hoc δοκιμές καθώς δοκιμάζουν το λογισμικό σε πραγματικές καταστάσεις, αποκαλύπτοντας προβλήματα που εμφανίζονται μόνο στην πραγματική χρήση.

Τύποι Ad Hoc Δοκιμών

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

Τύποι Ad Hoc Δοκιμών

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

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

Πλεονεκτήματα των Ad-Hoc Δοκιμών

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

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

Μειονεκτήματα των Ad-hoc Δοκιμών

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

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

καλυτερα Πρακτικές για Αποτελεσματικό Ad hoc Testing

Για να μεγιστοποιήσετε τα οφέλη των ad hoc δοκιμών, παρά τον άτυπο χαρακτήρα τους, λάβετε υπόψη τις ακόλουθες πρακτικές:

1) Καλή γνώση επιχειρήσεων

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

2) Δοκιμή Βασικών Ενοτήτων

Οι βασικές επιχειρηματικές ενότητες θα πρέπει να προσδιορίζονται και να στοχεύουν σε ad-hoc δοκιμές. Οι κρίσιμες για τις επιχειρήσεις ενότητες θα πρέπει πρώτα να δοκιμαστούν για να αποκτήσουν εμπιστοσύνη στην ποιότητα του συστήματος.

3) Ελαττώματα εγγραφής

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

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

4) Ζευγάρωμα

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

Παραδείγματα Δοκιμών Adhoc

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

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

Συγκριτική Ανάλυση με Εξερευνητικές Δοκιμές

Ενώ συχνά συγχέονται, οι ad hoc και οι διερευνητικές δοκιμές παρουσιάζουν ξεχωριστές λειτουργικές παραμέτρους:

Χαρακτηριστικός Ad Hoc Δοκιμές Διερευνητικές δοκιμές
Απόδειξη με έγγραφα Μόνο μετά την εκτέλεση Συνεχής εγγραφή
Σχεδιασμός Ν/Α Ελαφριά πτήση με βάση τη ναύλωση
Δομή συνεδρίας Εντελώς αδόμητο Επαναλήψεις με χρονικό πλαίσιο
Αναπαραγωγή ελαττωμάτων 33% αναπαραγωγιμότητα 78% αναπαραγωγιμότητα
Ενοποίηση αυτοματισμού Περιορισμένη δυνατότητα εφαρμογής 42% ενσωμάτωση εργαλείων

Συμπέρασμα

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

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

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