Η διερευνητική δοκιμή είναι ένας ειδικός τύπος δοκιμής λογισμικού που έχει πολλά οφέλη για μια εφαρμογή, επιτρέποντάς της να αξιοποιήσει πλήρως τις δυνατότητές της.
Ο τρόπος με τον οποίο μια ομάδα ενσωματώνει τις διερευνητικές δοκιμές στους συνήθεις ελέγχους της μπορεί να καθορίσει ακόμη και το πόσο καλά λειτουργεί το λογισμικό, ιδίως καθώς προσεγγίζει τις διαδικασίες ελέγχου με νέους και απροσδόκητους τρόπους. Αυτό βοηθά τους δοκιμαστές να αποκαλύψουν ζητήματα εντός της εφαρμογής, τα οποία διαφορετικά μπορεί να περάσουν απαρατήρητα μέχρι την έναρξη λειτουργίας και να οδηγήσουν στη μη λειτουργία βασικών χαρακτηριστικών.
Η κατανόηση των διαδικασιών, των τύπων και των προσεγγίσεων των διερευνητικών δοκιμών θα μπορούσε να σας βοηθήσει να κατευθύνετε τον οργανισμό και τις ομάδες δοκιμών του σχετικά με το πώς να τις ενσωματώσουν στους συνήθεις ελέγχους τους.
Υπάρχει επίσης ένας αριθμός δωρεάν εργαλείων που μπορεί να χρησιμοποιήσει η ομάδα για να διευκολύνει αυτές τις επιθεωρήσεις και να παρατηρήσει τα προβλήματα προτού γίνουν εμπόδια στην ανάπτυξη.
Σε αυτόν τον οδηγό, παρουσιάζουμε τα οφέλη των διερευνητικών δοκιμών μαζί με τις βασικές εκτιμήσεις που πρέπει να λάβει υπόψη της μια ομάδα πριν από την εφαρμογή.
Τι είναι η διερευνητική δοκιμή;
Η διερευνητική δοκιμή συνδυάζει τα στάδια σχεδιασμού και εκτέλεσης της δοκιμής, εξασφαλίζοντας πλήρη επιχειρησιακή ελευθερία για τον ελεγκτή και επιτρέποντάς του να βελτιώνει συνεχώς το έργο του.
Καθώς αυτές οι ομάδες ελέγχουν το λογισμικό, είναι πιθανό να ανακαλύψουν νέα στοιχεία που απαιτούν ενδελεχείς ελέγχους και μπορούν εύκολα να προτείνουν νέες δοκιμές που θα ωφελήσουν την εφαρμογή.
Η διερευνητική δοκιμή είναι παρόμοια με τη δοκιμή ad hoc, αλλά ακολουθεί πολύ πιο αυστηρή τεκμηρίωση, ενσωματώνοντας επίσης μια πιο ενεργή διαδικασία μάθησης.
Η λιγότερο δομημένη προσέγγιση βοηθά τους ελεγκτές να διαπιστώσουν πώς μια εφαρμογή είναι πιθανό να ανταποκριθεί σε ρεαλιστικά σενάρια και περιπτώσεις δοκιμών και αποτελεί ζωτικό συμπλήρωμα των δοκιμών με σενάρια.
Η ποιότητα των διερευνητικών δοκιμών μιας ομάδας εξαρτάται συχνά από τις ικανότητες των μεμονωμένων ελεγκτών, καθώς οι έλεγχοι απαιτούν δημιουργικότητα και βαθιά κατανόηση του λογισμικού. Πρόκειται για μια διαδικασία συνεχούς ανακάλυψης – όπου οι δοκιμαστές χρησιμοποιούν επαγωγικό συλλογισμό για να καθοδηγήσουν τη συνολική τεχνική τους.
Οι διερευνητικές δοκιμές είναι ιδιαίτερα χρήσιμες, καθώς αντικατοπτρίζουν τον τρόπο με τον οποίο οι χρήστες θα μπορούσαν να χρησιμοποιήσουν το λογισμικό. Οι περισσότεροι χρήστες βρίσκουν σφάλματα και ζητήματα κατά λάθος, οπότε αυτές οι μη σεναριοποιημένες διαδικασίες μπορούν να βοηθήσουν τους ελεγκτές να βρουν ζητήματα που προκαθορισμένοι έλεγχοι δεν μπορούν να αποκαλύψουν.
Μια ομάδα μπορεί επίσης να αυτοματοποιήσει αυτή τη διαδικασία για να εξασφαλίσει μεγαλύτερο επίπεδο αποτελεσματικότητας.
1. Πότε πρέπει να κάνετε διερευνητικές δοκιμές;
Η διερευνητική δοκιμή είναι γενικά χρήσιμη σε σχεδόν κάθε διαδικασία δοκιμής λογισμικού, αν και υπερέχει ιδιαίτερα στην παροχή γρήγορης ανατροφοδότησης σχετικά με μια εφαρμογή.
Η ομάδα μπορεί επίσης να ενσωματώσει αυτούς τους ελέγχους εάν δεν έχει πλέον αρκετές δοκιμές με σενάρια. Χωρίς σαφή κατεύθυνση για τις επιθεωρήσεις του λογισμικού τους, οι διερευνητικές δοκιμές μπορούν να βοηθήσουν στην αποκάλυψη ζητημάτων που δεν εμπίπτουν στους τυπικούς ελέγχους.
Η εξασφάλιση διαφορετικών διαδικασιών δοκιμών επιτρέπει στους ελεγκτές να κατανοήσουν αυτό το λογισμικό σε πολύ βαθύτερο επίπεδο σε οποιοδήποτε στάδιο, αλλά η διεξαγωγή τους νωρίς μπορεί να προσφέρει περισσότερα οφέλη.
Οι ομάδες είναι δυνατόν να διεξάγουν εκ νέου διερευνητικές δοκιμές αργότερα, εφόσον είναι απαραίτητο, για να έχουν περισσότερη ασφάλεια.
2. Όταν δεν χρειάζεται να κάνετε διερευνητικές δοκιμές
Υπάρχουν μερικά σενάρια στα οποία η διερευνητική δοκιμή δεν προσφέρει κανένα όφελος, αν και μπορεί να είναι πιο χρήσιμο για τους ελεγκτές να περιμένουν μέχρι το λογισμικό να αποκτήσει τη βασική του λειτουργικότητα.
Τα χαρακτηριστικά μιας εφαρμογής συνήθως διασταυρώνονται ή αλληλεπιδρούν μεταξύ τους, πράγμα που σημαίνει ότι οι διερευνητικές δοκιμές σε μια λειτουργία μπορεί να είναι παρωχημένες μόλις η ομάδα ανάπτυξης προσθέσει περισσότερα σε αυτό το λογισμικό.
Είναι επίσης δυνατό να διεξάγονται αυτές οι δοκιμές παράλληλα με ελέγχους με σενάρια χωρίς πρόβλημα, με την προϋπόθεση ότι οι ελεγκτές μπορούν να εξασφαλίσουν ένα ισχυρό επίπεδο τεκμηρίωσης για την αποφυγή σύγχυσης.
Οι διερευνητικές δοκιμές είναι ιδιαίτερα ευέλικτες σε σύγκριση με άλλους τύπους δοκιμών, καθιστώντας τους ελέγχους αυτούς ιδιαίτερα εφαρμόσιμους.
3. Ποιος συμμετέχει στις διερευνητικές δοκιμές;
Οι διερευνητικές δοκιμές περιλαμβάνουν πολλά μέλη του προσωπικού από κάποια άποψη, όπως:
– Οι ελεγκτές λογισμικού οποιουδήποτε επιπέδου δεξιοτήτων μπορούν να διεξάγουν αυτές τις δοκιμές, αν και τα μέλη της ομάδας με καλύτερη κατανόηση του λογισμικού μπορούν να σχεδιάσουν μεγαλύτερη ποικιλία ελέγχων.
Η εμπειρία μπορεί επίσης να επηρεάσει την ικανότητά τους να καθορίζουν τις πιο χρήσιμες δοκιμές.
– Οι προγραμματιστές λογισμικού που αναγνωρίζουν τα αποτελέσματα αυτών των δοκιμών, θα αναλάβουν δράση σε οποιεσδήποτε προτάσεις και συχνά θα αναπτύξουν τη δική τους λύση στο πρόβλημα.
Η ανταπόκρισή τους στις δοκιμές είναι αυτή που επιτρέπει στην εφαρμογή να φτάσει σε μια κατάλληλη κατάσταση για μια επιτυχημένη κυκλοφορία.
– Διαχειριστές έργων που επιβλέπουν όλη αυτή τη διαδικασία και θα μπορούσαν ακόμη και να είναι αυτοί που αποφασίζουν ποιους τύπους δοκιμών θα χρησιμοποιήσουν οι ομάδες.
Μπορεί επίσης να είναι υπεύθυνοι για την προμήθεια λογισμικού για τις ομάδες που μπορεί να βελτιώσει ή ακόμη και να αυτοματοποιήσει τις δοκιμές.
Κύκλος ζωής διερευνητικών δοκιμών
Η διαδικασία διερευνητικών δοκιμών δίνει μεγάλη έμφαση στην ελευθερία του δοκιμαστή, αλλά εξακολουθεί να ακολουθεί μια συγκεκριμένη δομή.
Τα τρία βασικά στάδια αυτής της προσέγγισης είναι:
Στάδιο 1: Μάθηση
Οι δοκιμαστές ξεκινούν με την ανάπτυξη μιας ισχυρής κατανόησης του λογισμικού και της λειτουργικότητάς του – αναλύοντάς το κριτικά για να καθορίσουν πώς ταιριάζει μεταξύ του.
Αυτό επιτρέπει στον ελεγκτή να υπολογίσει τις συνήθεις εισόδους που θα μπορούσε να κάνει ένας χρήστης, αν και μπορεί να γνωρίζει ήδη την εφαρμογή και τον τρόπο λειτουργίας της.
Το στάδιο της εκμάθησης μπορεί να απαιτεί ακόμη και ένα σεμινάριο για τον τρόπο λειτουργίας του λογισμικού. Αυτό είναι το στάδιο της διερεύνησης και εφοδιάζει τον δοκιμαστή με όλες τις πληροφορίες που είναι απαραίτητες για να σχεδιάσει ένα ευρύ φάσμα χρήσιμων δοκιμών.
Στάδιο 2: Σχεδιασμός δοκιμών
Ο σχεδιασμός διερευνητικών δοκιμών περιλαμβάνει διάφορους κανόνες και παραμέτρους, αλλά εξακολουθεί να προσφέρει σημαντικά μεγαλύτερη ελευθερία σε σύγκριση με τις δοκιμές με σενάριο – οι λεπτομέρειες των οποίων είναι ήδη γνωστές πριν από την έναρξη των δοκιμών.
Ο δοκιμαστής μπορεί να σχεδιάσει ελέγχους που πιστεύει ότι ταιριάζουν στην εφαρμογή με μεγαλύτερη ακρίβεια και μπορεί ενδεχομένως να αποκαλύψει πολύτιμα δεδομένα για την ομάδα ανάπτυξης, συμπεριλαμβανομένων αξιοσημείωτων σφαλμάτων που πρέπει να διορθώσουν.
Οι ομάδες δοκιμών χρησιμοποιούν αυτό το στάδιο για να καθορίσουν ποια προσέγγιση θα ακολουθήσουν και πώς θα κατανείμουν την εργασία μεταξύ των διαφόρων δοκιμαστών με τρόπο που να εκμεταλλεύονται τα δυνατά τους σημεία.
Στάδιο 3: Εκτέλεση
Αφού σχεδιάσουν τους ελέγχους που θα χρησιμοποιήσουν, οι ελεγκτές μπορούν τώρα να επιθεωρήσουν την εφαρμογή με τους τρόπους που θεωρούν πιο αποτελεσματικούς – μπορούν να το κάνουν αυτό αμέσως μετά την επινόηση του συγκεκριμένου ελέγχου.
Αυτό είναι το στάδιο όπου οι δοκιμαστές αναζητούν ενεργά ζητήματα και τον τρόπο με τον οποίο τα προβλήματα που αποκαλύπτουν θα μπορούσαν να τροφοδοτήσουν άλλα χαρακτηριστικά και λειτουργίες.
Ενώ υπάρχει κάποιο μέτρο διαισθητικής εργασίας που εμπλέκεται στις διερευνητικές εκτελέσεις δοκιμών, εξακολουθούν να ακολουθούν καθορισμένες διαδικασίες και στόχους, επιτρέποντας μια ρευστή δοκιμή που μπορεί εύκολα να προσαρμοστεί στους συγκεκριμένους στόχους δοκιμών.
Διερευνητικές δοκιμές έναντι σεναριακών δοκιμών
Οι διερευνητικές δοκιμές είναι ουσιαστικά το αντίθετο των δοκιμών με σενάρια, αν και οι δύο μπορεί να είναι σημαντικές για να διασφαλιστεί ότι μια εφαρμογή είναι έτοιμη για κυκλοφορία. Ο τελευταίος είναι συνήθως πιο τυπικός και δομημένος, περιλαμβάνοντας πολλές ευρείες δοκιμές σε σύγκριση με τους διερευνητικούς ελέγχους, οι οποίοι συχνά είναι πιο συγκεκριμένοι για τη λειτουργικότητα της εφαρμογής.
Στο πλαίσιο αυτό, οι διερευνητικές δοκιμές είναι επίσης σημαντικά πιο προσαρμόσιμες, ενώ οι δοκιμές με σενάρια μπορεί να δυσκολευτούν εάν υπάρχουν σημαντικές αλλαγές στο λογισμικό. Οι διερευνητικές δοκιμές μπορούν να αποκαλύψουν σφάλματα και να δράσουν ταχύτερα εναντίον τους, καθιστώντας τις πρώτες ιδιαίτερα χρήσιμες σε περιπτώσεις όπου η γρήγορη ανατροφοδότηση είναι υψίστης σημασίας.
1. Ενεργή διερευνητική δοκιμή
Οι ενεργές διερευνητικές δοκιμές περιλαμβάνουν ένα δοκιμαστή που σχεδιάζει ένα αυτοματοποιημένο σενάριο για τους ελέγχους του, το οποίο εκτελεί ένας άλλος δοκιμαστής. Αυτά τα σενάρια λαμβάνουν υπόψη τις προηγούμενες δοκιμές, εφόσον ισχύουν.
Οι δύο ελεγκτές συνήθως αλλάζουν ρόλους καθ’ όλη τη διάρκεια της διαδικασίας επιθεώρησης για να ελέγξουν εκ νέου την αξιοπιστία αυτών των σεναρίων και διαδικασιών.
Οι ενεργές δοκιμές έχουν ευρύτερη κάλυψη χωρίς να θυσιάζουν την εξειδίκευση του εμπορικού σήματος των διερευνητικών ελέγχων. Αυτά τα σενάρια επιτρέπουν επίσης την καλύτερη τεκμηρίωση, διευκολύνοντας την αναπαραγωγή τυχόν προβλημάτων που εντοπίζουν οι ελεγκτές.
Η τεκμηρίωση αποτελεί ουσιαστικό στοιχείο των ενεργών δοκιμών, καθώς βοηθά επίσης τους ενδιαφερόμενους να βλέπουν τη συνολική πρόοδο της εφαρμογής.
2. Παθητική διερευνητική δοκιμή
Η παθητική διερευνητική δοκιμή απαιτεί μόνο έναν ελεγκτή, αν και η εργασία σε ζεύγη μπορεί να βελτιώσει ακόμη περισσότερο τη διαδικασία.
Αυτή η προσέγγιση περιλαμβάνει ειδικό λογισμικό που καταγράφει τις ενέργειες των δοκιμαστών – παρέχοντάς τους εύκολα βήματα για την αναπαραγωγή οποιουδήποτε προβλήματος που αποκαλύπτουν. Συνήθως πρόκειται για ένα βίντεο με τον δοκιμαστή να σχολιάζει τις ενέργειές του βήμα προς βήμα.
Η καταγραφή της διαδικασίας δοκιμής δίνει επίσης πληροφορίες για την απόδοση της εφαρμογής, συμπεριλαμβανομένου του πόσο γρήγορα ανταποκρίνεται στα αιτήματα εισαγωγής.
Η παθητική δοκιμή παρέχει τόσο στους ελεγκτές όσο και στην ομάδα ανάπτυξης πλήθος λεπτομερών πληροφοριών σχετικά με τον τρόπο λειτουργίας του λογισμικού.
Τεχνικές διερευνητικών δοκιμών
Οι διερευνητικές δοκιμές ακολουθούν συνήθως τη μορφή “περιήγησης” – όπου ο δοκιμαστής εξερευνά το λογισμικό με τον πιο αποτελεσματικό τρόπο.
Υπάρχουν διάφορες εκδρομές από τις οποίες θα μπορούσε να επιλέξει η ομάδα, όπως:
– Ξεναγήσεις με οδηγό
Αυτή η προσέγγιση δίνει προτεραιότητα στις λειτουργίες της εφαρμογής, αναπαράγοντας τον τρόπο με τον οποίο ένας μέσος χρήστης χειρίζεται το λογισμικό και αποκαλύπτοντας προβλήματα που θα έβρισκε με φυσικό τρόπο.
– Περιηγήσεις στην ιστορία
Αυτή η περιήγηση ελέγχει τα παλαιότερα χαρακτηριστικά της εφαρμογής για να βεβαιωθεί ότι εξακολουθούν να λειτουργούν- αυτό είναι ιδιαίτερα σημαντικό εάν οι προγραμματιστές έχουν προσθέσει νέα χαρακτηριστικά που έρχονται σε σύγκρουση με αυτήν.
– Περιήγηση με χρήματα
Αυτή η διερευνητική δοκιμή ελέγχει τα κρίσιμα χαρακτηριστικά της εφαρμογής, συγκεκριμένα αυτά για τα οποία οι πελάτες και οι πελάτες πληρώνουν χρήματα για να έχουν πρόσβαση – αυτά είναι συνήθως οι υψηλότερες προτεραιότητες της ομάδας δοκιμών.
– Περιοδεία για το έγκλημα
Οι δοκιμαστές μερικές φορές εργάζονται ενεργά για να σπάσουν μια εφαρμογή ή να προκαλέσουν αρνητικά σενάρια, όπως εισάγοντας άκυρες πληροφορίες και διερευνώντας πώς ανταποκρίνεται η εφαρμογή σε αυτό.
– Ξενάγηση στο πίσω δρομάκι
Αυτή η διαδικασία περιλαμβάνει λειτουργίες που είναι πιθανό να χρησιμοποιούν λιγότεροι πελάτες- αυτές είναι εξίσου σημαντικές για κάθε προσέγγιση δοκιμών, ειδικά επειδή θα αλληλεπιδρούν με άλλες λειτουργίες.
– Πνευματική περιήγηση
Αυτή η περιήγηση ωθεί την εφαρμογή περισσότερο, δοκιμάζοντας τις πιο περίπλοκες λειτουργίες με υψηλότερες (μερικές φορές τις μέγιστες) τιμές για να καθορίσει την ταχύτητα επεξεργασίας του λογισμικού.
Προσεγγίσεις διερευνητικών δοκιμών
Υπάρχουν δύο κύριες προσεγγίσεις στη διερευνητική δοκιμή:
1. Διερευνητική δοκιμή με βάση τη συνεδρία
Πρόκειται για μια τεχνική βασισμένη στο χρόνο, η οποία αποσκοπεί στην ποσοτικοποίηση της διαδικασίας δοκιμών με τη διαίρεσή της σε “συνεδρίες” με δύο στοιχεία: αποστολές και χάρτες.
Η αποστολή είναι ο σκοπός και η διάρκεια της συγκεκριμένης συνεδρίας, παρέχοντας στον εξερευνητικό δοκιμαστή μια σαφή εστίαση.
Ένας χάρτης καθορίζει το πεδίο εφαρμογής κάθε συνεδρίας και περιγράφει λεπτομερώς τυχόν συγκεκριμένους στόχους που ο ελεγκτής σκοπεύει να εκπληρώσει. Αυτό έχει ως αποτέλεσμα υψηλότερο επίπεδο λογοδοσίας (και τεκμηρίωσης) με τη διάσπαση αυτών των ελέγχων σε πιο εύκολα διαχειρίσιμα στοιχεία.
Οι δοκιμές με βάση τη συνεδρία βελτιώνουν επίσης την παραγωγικότητα και παρέχουν στον ελεγκτή σαφείς μετρήσεις και πληροφορίες για την αντιμετώπιση προβλημάτων.
2. Διερευνητικές δοκιμές με βάση το ζεύγος
Η δοκιμή σε ζεύγη είναι παρόμοια με την ενεργή διερευνητική δοκιμή, καθώς περιλαμβάνει κυρίως την εργασία σε ζεύγη – συνήθως στην ίδια συσκευή – για τον συνεχή και ταυτόχρονο έλεγχο της εφαρμογής. Σε αυτή τη ρύθμιση, ο ένας ελεγκτής προτείνει μια σειρά περιπτώσεων δοκιμής και κρατά σημειώσεις σχετικά με την πρόοδο, ενώ ο άλλος ελέγχει το λογισμικό.
Η επικοινωνία είναι απαραίτητη κατά τη διάρκεια των δοκιμών σε ζεύγη, καθώς έτσι διασφαλίζεται ότι και οι δύο δοκιμαστές γνωρίζουν τους ελέγχους και τον σκοπό τους.
Εάν αναθέτετε εσείς οι ίδιοι αυτά τα ζεύγη, φροντίστε να λαμβάνετε υπόψη τα δυνατά και αδύνατα σημεία κάθε ελεγκτή, καθώς αυτό σας επιτρέπει να οικοδομήσετε ισχυρότερες διαδικασίες διερευνητικών δοκιμών.
Ποιοι παράγοντες επηρεάζουν τις διερευνητικές δοκιμές;
Οι παράγοντες που θα μπορούσαν να επηρεάσουν την ποιότητα των διερευνητικών δοκιμών μιας ομάδας περιλαμβάνουν:
– Ο γενικός στόχος και η βασική λειτουργικότητα του λογισμικού.
– Οι συγκεκριμένοι στόχοι δοκιμών για την παρούσα φάση μιας εφαρμογής.
– Οι επιμέρους ρόλοι και ικανότητες κάθε ελεγκτή στην ομάδα.
– Τα διαθέσιμα εργαλεία, όπως το δωρεάν λογισμικό για την αυτοματοποίηση των δοκιμών.
– Η υποστήριξη που λαμβάνουν οι δοκιμαστές από τους συναδέλφους ή τη διοίκηση.
– Τα αιτήματα του πελάτη και οι τρέχουσες γενικές τάσεις της αγοράς.
– Η ευκολία χρήσης της εφαρμογής, όπως η ρευστότητα της διεπαφής.
– Ο χρόνος που έχουν στη διάθεσή τους οι δοκιμαστές για να ολοκληρώσουν τη φάση της δοκιμής.
– Οι είσοδοι και άλλα διάφορα δεδομένα που σκοπεύουν να χρησιμοποιήσουν οι ελεγκτές.
– Τα χαρακτηριστικά που προσθέτουν οι προγραμματιστές στο λογισμικό με την πάροδο του χρόνου.
Τύποι διερευνητικών δοκιμών
Οι τρεις κύριοι τύποι διερευνητικών δοκιμών που μπορεί να ενσωματώσει μια ομάδα είναι οι εξής:
1. Ελεύθερη διερευνητική δοκιμή
Η δοκιμή ελεύθερου στυλ περιλαμβάνει την ad hoc προσέγγιση για τον έλεγχο μιας εφαρμογής. Αυτή η μέθοδος έχει λίγους κανόνες για να ληφθεί υπόψη, οπότε η αποτελεσματικότητά της μπορεί να ποικίλλει- ορισμένα λογισμικά και εξαρτήματα απαιτούν μια πιο ισχυρή μεθοδολογία.
Αυτοί οι έλεγχοι θα μπορούσαν να προσφέρουν πολλά οφέλη, βοηθώντας τους ελεγκτές να εξοικειωθούν με αυτή την εφαρμογή και να επικυρώσουν τη δουλειά ενός προηγούμενου ελεγκτή.
Ακόμη και χωρίς αυστηρούς κανόνες, οι έμπειροι και εξειδικευμένοι ελεγκτές μπορούν εύκολα να χρησιμοποιήσουν αυτό το σχήμα προς όφελός τους. Μπορούν να κινηθούν σε κάθε πτυχή του λογισμικού με ευκολία – σε ορισμένες περιπτώσεις, οι κανόνες δοκιμών είναι περιοριστικοί και μπορεί να περιορίσουν ακούσια τα αποτελέσματα της ομάδας.
2. Διερευνητικές δοκιμές βάσει σεναρίων
Η δοκιμή βάσει σεναρίων χρησιμοποιεί ρεαλιστικές καταστάσεις ως βάση για κάθε δοκιμή, όπως με τον έλεγχο των εισόδων που είναι πιθανό να κάνουν οι χρήστες κατά τη διάρκεια της τυπικής λειτουργίας του λογισμικού.
Οι δοκιμαστές εργάζονται σκληρά για να διασφαλίσουν ότι κάθε σενάριο που σχεδιάζουν ταιριάζει με τον τρόπο με τον οποίο ο χρήστης ασχολείται με την εφαρμογή.
Ο χρόνος θα μπορούσε να αποτελέσει περιορισμό, καθώς στόχος της ομάδας είναι να δοκιμάσει όσο το δυνατόν περισσότερα σενάρια- ανάλογα με τις προθεσμίες που θα ακολουθήσουν, αυτό πιθανότατα δεν θα είναι σε θέση να καλύψει κάθε πιθανότητα.
Οι δοκιμαστές πρέπει να χρησιμοποιούν ένα ευρύ φάσμα δοκιμών σε διάφορες κατηγορίες.
3. Διερευνητικές δοκιμές με βάση τη στρατηγική
Ο έλεγχος με βάση τη στρατηγική περιλαμβάνει ένα ευρύ φάσμα ειδικών μεθόδων, όπως ο έλεγχος οριακής αξίας, τεχνικές ισοδυναμίας, τεχνικές με βάση τον κίνδυνο και άλλες. Αυτό γενικά δίνει προτεραιότητα στους δοκιμαστές που είναι ήδη εξοικειωμένοι με την εφαρμογή, καθώς μπορούν να αναπτύξουν προσαρμοσμένες στρατηγικές που ενσωματώνουν αυτές τις επιμέρους μεθόδους.
Η προσέγγιση με βάση τη στρατηγική επικεντρώνεται κυρίως στη λειτουργικότητα (και την εσωτερική λειτουργία) του λογισμικού χωρίς να εξετάζει τα πιθανά σενάρια που θα μπορούσαν να οδηγήσουν έναν χρήστη να αντιμετωπίσει τα προβλήματα που προκύπτουν. Αυτό θα μπορούσε να οδηγήσει σε μια ευρύτερη ανάλυση μιας εφαρμογής και των διαφόρων χαρακτηριστικών της, ενδεχομένως σε μεγαλύτερο βάθος από διάφορες άλλες προσεγγίσεις.
Χειροκίνητες ή αυτοματοποιημένες διερευνητικές δοκιμές;
Οι ομάδες δοκιμών μπορούν να διεξάγουν διερευνητικούς ελέγχους είτε χειροκίνητα είτε να τους αυτοματοποιήσουν. Και οι δύο επιλογές έχουν τη δυνατότητα να προσφέρουν τεράστια οφέλη- η σωστή επιλογή εξαρτάται συχνά από τις ιδιαιτερότητες του έργου.
Χειροκίνητες διερευνητικές δοκιμές
Οι χειροκίνητες διερευνητικές δοκιμές επιτρέπουν μεγαλύτερο εύρος εξατομικευμένων ελέγχων. Παρόλο που αυτό μπορεί να διαρκέσει περισσότερο λόγω του ότι οι ανθρώπινοι δοκιμαστές είναι πιο αργοί από τους υπολογιστές, η χειροκίνητη επιθεώρηση μπορεί να συμβάλει καθοριστικά στον προσδιορισμό της εμπειρίας του χρήστη.
Ένας δοκιμαστής εργάζεται όχι μόνο για να διασφαλίσει ότι όλα τα χαρακτηριστικά μιας εφαρμογής λειτουργούν όπως πρέπει, αλλά και για να διαπιστώσει αν η βάση χρηστών μπορεί να τη χειριστεί με ευκολία. Αυτή είναι ίσως η πιο συνηθισμένη μορφή διερευνητικών δοκιμών – αν και αυτό δεν σημαίνει απαραίτητα ότι είναι και η πιο αποτελεσματική.
1. Πλεονεκτήματα της εκτέλεσης διερευνητικών δοκιμών με το χέρι
Τα οφέλη των χειροκίνητων διερευνητικών δοκιμών περιλαμβάνουν:
Ισχυρότερη εστίαση στη χρηστικότητα
Οι αυτοματοποιημένες διερευνητικές δοκιμές μπορεί να παρατηρήσουν αποκλίσεις στο λογισμικό, αλλά μπορεί να μην είναι σε θέση να ερμηνεύσουν αυτά τα προβλήματα με τον ίδιο τρόπο όπως ένας ανθρώπινος δοκιμαστής.
Αυτό περιλαμβάνει την κατανόηση του τρόπου με τον οποίο οι χρήστες του λογισμικού είναι πιθανό να πλοηγηθούν ή να αλληλεπιδράσουν με την εφαρμογή, κάτι που η αυτοματοποίηση δεν μπορεί να λάβει υπόψη της.
Οι χειροκίνητοι διερευνητικοί δοκιμαστές μπορούν να προσφέρουν μεγαλύτερο επίπεδο ανατροφοδότησης, συμπεριλαμβανομένων συγκεκριμένων λεπτομερειών σχετικά με τον τρόπο με τον οποίο τα προβλήματα που εντοπίζουν επηρεάζουν το συνολικό λογισμικό ή τη γενική εμπειρία.
Μπορεί να κάνει αλλαγές σε πραγματικό χρόνο
Ένα από τα βασικά πλεονεκτήματα των διερευνητικών δοκιμών είναι ότι είναι δυνατόν να εντοπιστεί η ανάγκη για μια δοκιμή και να εκτελεστεί σχετικά γρήγορα πριν από τη δημοπράτηση των απαραίτητων βελτιώσεων.
Οι αυτοματοποιημένες δοκιμές είναι γενικά μια πολύ ταχύτερη διαδικασία, αλλά οι ελεγκτές πρέπει να περιμένουν μέχρι να ολοκληρωθούν όλα πριν κάνουν αλλαγές – οι χειροκίνητοι ελεγκτές μπορούν να το κάνουν αυτό ενώ η διαδικασία διερευνητικών δοκιμών βρίσκεται ακόμη σε εξέλιξη.
Ωστόσο, αυτό είναι συχνά εφικτό μόνο για σφάλματα που επηρεάζουν δευτερεύοντα τμήματα του λογισμικού.
Μεγαλύτερη προσοχή στη λεπτομέρεια
Η διερευνητική δοκιμή αφορά κυρίως την ανακάλυψη νέων τρόπων δοκιμής μιας εφαρμογής, ενώ παράλληλα την κατανοεί- αυτό μπορεί μερικές φορές να σημαίνει ότι η μία δοκιμή οδηγεί σε άλλη, δίνοντας ιδέες στον ελεγκτή.
Οι αυτοματοποιημένες δοκιμές μπορεί να μην το λαμβάνουν υπόψη αυτό, επειδή είναι σχετικά απρόσκοπτες για την ομάδα δοκιμών. Οι χειροκίνητοι δοκιμαστές βελτιώνουν συνεχώς τις γνώσεις τους για το λογισμικό και επινοούν νέες, αλλά εξίσου σημαντικές δοκιμές – αλλά αυτό μπορεί να είναι δύσκολο αν το λογισμικό τρίτων τις αυτοματοποιεί.
Μπορεί να βρει σφάλματα εκτός του κώδικα
Οι χειροκίνητοι διερευνητικοί έλεγχοι επιτρέπουν στους ελεγκτές να εξετάσουν κάθε πτυχή της εφαρμογής και του λογισμικού, και πέραν του ίδιου του κώδικα.
Πολλές αυτοματοποιημένες προσεγγίσεις περιορίζονται στον κώδικα και στον τρόπο λειτουργίας του, με αποτέλεσμα οι ομάδες δοκιμών να μην παρατηρούν προβλήματα που μπορεί να εμφανιστούν σε άλλα τμήματα της εφαρμογής.
Αυτό εξαρτάται κυρίως από το λογισμικό αυτοματοποίησης που διαθέτετε, καθώς ορισμένες λύσεις θα μπορούσαν να προσφέρουν μια ευρύτερη προσέγγιση στις διερευνητικές δοκιμές.
Διασφαλίζει την ποιότητα σε όλο το έργο
Οι αυτοματοποιημένοι διερευνητικοί έλεγχοι αναζητούν μόνο σφάλματα και μετρήσεις εντός της εφαρμογής- οι χειροκίνητοι ελεγκτές θα μπορούσαν αντίθετα να επιθεωρήσουν το λογισμικό και να προσφέρουν τα δικά τους ολοκληρωμένα σχόλια.
Για παράδειγμα, μπορούν να ελέγξουν τον κώδικα και να διαπιστώσουν ότι είναι πολύ περίπλοκος – ιδιαίτερα σημαντικός, καθώς ο νεκρός κώδικας μπορεί να επιβραδύνει τις επιδόσεις, αλλά ουσιαστικά δεν θα μπορούσε να εντοπιστεί από τις αυτοματοποιημένες διαδικασίες.
Οι γνώσεις ενός δοκιμαστή σχετικά με το λογισμικό μπορεί να συμβάλουν καθοριστικά στη διάγνωση ζητημάτων που προκύπτουν κατά τη διάρκεια άλλων φάσεων της δοκιμής.
2. Προκλήσεις των χειροκίνητων διερευνητικών δοκιμών
Οι προκλήσεις των χειροκίνητων διερευνητικών δοκιμών περιλαμβάνουν:
Πιθανότητα ανθρώπινων σφαλμάτων
Οι αυτοματοποιημένες διερευνητικές δοκιμές μπορούν να εκτελέσουν τον ίδιο ακριβώς έλεγχο όσες φορές χρειάζεται χωρίς αλλαγές στην ακριβή πρόοδο, εξασφαλίζοντας συνέπεια και αξιόπιστα αποτελέσματα.
Η χειροκίνητη διερευνητική δοκιμή είναι ευάλωτη σε ανθρώπινα λάθη, δηλαδή ο ελεγκτής μπορεί να εισάγει λάθος τιμή. Συνήθως μπορείτε να ελέγξετε ξανά αυτές τις δοκιμές και να διορθώσετε τυχόν αποκλίσεις, καθώς αυτές μπορεί να φαίνονται προφανείς ακόμη και με την πρώτη ματιά.
Ωστόσο, η επανάληψη ενός τεστ μετά τη διαπίστωση ενός λάθους μπορεί να απαιτεί περισσότερο χρόνο.
Γενικά πιο χρονοβόρα
Ακόμη και αν οι ελεγκτές διεξάγουν κάθε διερευνητικό έλεγχο σωστά χωρίς ανθρώπινα λάθη, η συνολική διαδικασία απαιτεί σημαντικό χρόνο σε σύγκριση με το αυτοματοποιημένο λογισμικό που μπορεί να υπολογίσει τις δοκιμές πολύ πιο γρήγορα.
Αυτή μπορεί να είναι μια διαφορά αρκετών ωρών τουλάχιστον, χρόνος που οι δοκιμαστές θα μπορούσαν να ξοδέψουν σε τμήματα της εφαρμογής που δεν θα είχαν κανένα όφελος από την αυτοματοποίηση.
Οι διερευνητικές δοκιμές απαιτούν επίσης συνεχή επίβλεψη, ενώ η αυτοματοποίηση επιτρέπει την εκτέλεση των δοκιμών κατά τη διάρκεια της νύχτας.
Μακροχρόνια διαδικασία τεκμηρίωσης
Σε παρόμοιες γραμμές, η χειροκίνητη τεκμηρίωση κατά τη διάρκεια και μετά τη χειροκίνητη δοκιμή θα μπορούσε να αποτελέσει περιττή επιβάρυνση για τη διαδικασία διερευνητικών δοκιμών.
Αυτό καθιστά πιο δύσκολη την παρακολούθηση των αλλαγών και των επεξεργασιών του λογισμικού με την πάροδο του χρόνου – το αυτοματοποιημένο λογισμικό είναι συνήθως σε θέση να το λάβει διαισθητικά υπόψη του κατά την εκτέλεση των δοκιμών.
Πρόκειται για ένα ακόμη διοικητικό ζήτημα που αφαιρεί χρόνο και ενέργεια από άλλα θέματα, γεγονός που μειώνει ουσιαστικά το πεδίο εφαρμογής και το εύρος της συνολικής διαδικασίας δοκιμής λογισμικού.
Πρέπει να γνωρίζει καλά το λογισμικό
Οι χειροκίνητοι ελεγκτές οποιουδήποτε επιπέδου δεξιοτήτων μπορούν να επιθεωρήσουν την εφαρμογή και να τη δοκιμάσουν διεξοδικά. Αυτό οφείλεται στην εργασία που καταβάλλουν για την κατανόηση του λογισμικού – το πρώτο στάδιο της διερευνητικής διαδικασίας.
Ωστόσο, αν ένας δοκιμαστής δυσκολεύεται ή παραμελεί να μάθει πώς λειτουργεί αυτή η εφαρμογή, είναι πιθανό να δυσκολευτεί να επινοήσει και να εκτελέσει ένα κατάλληλο φάσμα δοκιμών.
Η καλή γνώση του λογισμικού επιτρέπει στους δοκιμαστές να υπερβαίνουν τις συνήθεις παραμέτρους δοκιμής.
Υψηλό κόστος συντήρησης
Η εξάρτηση από χειροκίνητες διερευνητικές δοκιμές απαιτεί συνήθως μεγαλύτερη ομάδα δοκιμών, γεγονός που μπορεί να οδηγήσει σε υψηλότερο μακροπρόθεσμο κόστος σε σύγκριση με τους αυτοματοποιημένους ελέγχους. Το λογισμικό τρίτου μέρους που διεξάγει αυτές τις διερευνητικές δοκιμές μπορεί να παρέχει τεράστια αξία ή μπορεί ακόμη και να είναι εντελώς δωρεάν.
Ανάλογα με την πολυπλοκότητα των εργασιών, μια εταιρεία μπορεί να χρειαστεί εξειδικευμένους ελεγκτές με πολυετή εμπειρία για τον πλήρη έλεγχο της εφαρμογής. Αυτό μπορεί να αυξήσει σημαντικά τα έξοδα δοκιμών σε σύγκριση με τη χρήση δωρεάν λογισμικού αυτοματοποίησης.
3. Πότε να χρησιμοποιείτε χειροκίνητες διερευνητικές δοκιμές
Οι χειροκίνητες διερευνητικές δοκιμές συχνά συνοδεύονται από διάφορες προκλήσεις, αλλά εξακολουθούν να αποτελούν ζωτικής σημασίας συστατικό στοιχείο των διεξοδικών δοκιμών λογισμικού. Αυτό οφείλεται στο γεγονός ότι υπάρχουν πτυχές του λογισμικού που δεν μπορούν να ληφθούν πλήρως υπόψη από την αυτοματοποίηση και οι οποίες απαιτούν επίσης ισχυρή εστίαση.
Για παράδειγμα, το λογισμικό δεν μπορεί να παρέχει αξιόπιστα ανατροφοδότηση σχετικά με τις διεπαφές χρήστη ή τις δοκιμές εμπειρίας χρήστη. Οι δοκιμαστές μπορούν να έχουν μια καλή ιδέα για το πώς λειτουργεί μια εφαρμογή στην πράξη μόνο αν τη δοκιμάσουν χειροκίνητα. Αυτό σημαίνει ότι τόσο οι προγραμματιστές όσο και οι ομάδες δοκιμών πρέπει να εξετάσουν την ενσωμάτωση τουλάχιστον κάποιου βαθμού χειροκίνητων διερευνητικών δοκιμών στους ελέγχους τους.
Αυτοματοποιημένη διερευνητική δοκιμή
Οι αυτοματοποιημένες δοκιμές χρησιμοποιούν λογισμικό τρίτου μέρους για την αυτοματοποίηση ορισμένων ελέγχων – οι ελεγκτές μπορούν συνήθως να το προσαρμόσουν ώστε να εξυπηρετεί σχεδόν κάθε δοκιμή.
Ωστόσο, αυτό γενικά απαιτεί από την ομάδα να εκτελέσει τον έλεγχο χειροκίνητα τουλάχιστον μία φορά για να βαθμονομήσει την αυτοματοποίηση. Αυτό μπορεί να βελτιώσει σημαντικά τη διαδικασία τόσο για τις ομάδες δοκιμών όσο και για τις ομάδες ανάπτυξης.
Αν και η αυτοματοποίηση των διερευνητικών δοκιμών μπορεί να είναι ασυνήθιστη, υπάρχουν πολλά σαφή οφέλη για την εφαρμογή σας και την απόδοσή της.
1. Οφέλη του αυτοματισμού διερευνητικών δοκιμών
Τα κύρια οφέλη της αυτοματοποίησης διερευνητικών δοκιμών περιλαμβάνουν:
Συνεπής εκτέλεση δοκιμών
Το ανθρώπινο λάθος μπορεί εύκολα να οδηγήσει σε λάθη δοκιμών που απαιτούν χρόνο και χρήμα για να διορθωθούν- οι αυτοματοποιημένοι διερευνητικοί έλεγχοι επιτρέπουν στις ομάδες δοκιμών να παρακάμψουν αυτό το ζήτημα.
Οι δοκιμαστές διδάσκουν αποτελεσματικά στο λογισμικό αυτοματισμού πώς να εκτελεί σωστά μια δοκιμή, διασφαλίζοντας ότι την εκτελεί με τον ίδιο τρόπο κάθε φορά. Αυτό βελτιώνει τη συνολική αξιοπιστία των δοκιμών και μειώνει το χρόνο που οι προγραμματιστές ξοδεύουν περιμένοντας τα αποτελέσματα – ειδικά καθώς οι δοκιμαστές μπορούν να το ρυθμίσουν να εκτελείται κατά τη διάρκεια της νύχτας με ευκολία.
Εξοικονομεί χρόνο για όλους
Οι αυτοματοποιημένες δοκιμές επιτρέπουν στους προγραμματιστές να αρχίσουν να εργάζονται για την επίλυση προβλημάτων πολύ πιο γρήγορα, ενώ παράλληλα επιτρέπουν στους ελεγκτές να καλύψουν ένα ευρύτερο φάσμα διερευνητικών ελέγχων. Υπάρχουν μόνο τόσα πολλά σενάρια που η ομάδα μπορεί να λάβει υπόψη της, ανεξάρτητα από την προθεσμία, που σημαίνει ότι είναι σημαντικό οι δοκιμαστές να χωρέσουν όσο το δυνατόν περισσότερους ελέγχους στο επιτρεπόμενο χρονικό πλαίσιο.
Η αυτοματοποίηση βοηθάει με τη διεξαγωγή αυτών των διερευνητικών δοκιμών με πολύ ταχύτερο ρυθμό από ό,τι οι χειροκίνητοι ελεγκτές.
Μια οικονομικά αποδοτική προσέγγιση
Ανάλογα με το λογισμικό που επιλέγει η ομάδα, η αυτοματοποίηση μπορεί να είναι πολύ πιο αποδοτική από τις χειροκίνητες δοκιμές – μπορεί να είναι ακόμη και δωρεάν.
Ενώ οι χειροκίνητοι δοκιμαστές εξακολουθούν να είναι κρίσιμο να προσληφθούν και ορισμένοι από αυτούς θα είναι υπεύθυνοι για τη βαθμονόμηση των διαδικασιών αυτοματοποίησης, η αυτοματοποίηση όσο το δυνατόν περισσότερων διερευνητικών δοκιμών δίνει στην εταιρεία την ευκαιρία να μειώσει το κόστος του προσωπικού.
Μόλις η ομάδα κατανοήσει το λογισμικό αυτοματισμού, μπορεί να το προσαρμόσει σε ένα ευρύ φάσμα εργασιών.
Προσαρμόσιμο για πολλαπλές συσκευές
Οι χειροκίνητες δοκιμές μπορεί να απαιτούν προσωπικό με εμπειρία σε διάφορες συσκευές, όπως γνώση των διαφόρων λειτουργικών συστημάτων τηλεφώνων, συμπεριλαμβανομένων των Android και iOS, εάν πρόκειται για την κατασκευή μιας εφαρμογής για κινητά.
Το αυτοματοποιημένο λογισμικό μπορεί να λάβει υπόψη αυτό το γεγονός και να δοκιμάσει σε πολλές συσκευές για να διασφαλίσει ότι η εφαρμογή μπορεί να αποδίδει σταθερά καλά. Οι ομάδες δοκιμών με γνώση αυτών των συσκευών μπορούν να βρουν τη διαδικασία κουραστική- η αυτοματοποίηση είναι και πάλι σε θέση να εξορθολογήσει τις συνήθεις διερευνητικές διαδικασίες δοκιμών και να δοκιμάσει κάθε επανάληψη ταυτόχρονα.
Επαναχρησιμοποιήσιμα σενάρια
Εάν η ομάδα δοκιμάζει διάφορες εκδόσεις του ίδιου λογισμικού ή ακόμη και πολλαπλά προϊόντα με παρόμοια αρχιτεκτονική ή χαρακτηριστικά, είναι δυνατή η επαναχρησιμοποίηση σεναρίων από τον ένα κύκλο δοκιμών στον επόμενο.
Εάν υπάρχουν οποιεσδήποτε προσαρμογές που είναι απαραίτητες για να εξασφαλιστεί η συμβατότητα, οι χειροκίνητοι ελεγκτές μπορούν να τις κάνουν πολύ πιο γρήγορα από τη συγγραφή ενός ολοκαίνουργιου σεναρίου.
Η αυτοματοποίηση βελτιστοποιεί σχεδόν κάθε στάδιο της διαδικασίας διερευνητικών δοκιμών, καθώς είναι εύκολο να ρυθμιστεί σε όλες τις διαφορετικές διαμορφώσεις λογισμικού.
2. Προκλήσεις της αυτοματοποίησης διερευνητικών δοκιμών
Η διαδικασία αυτή περιλαμβάνει επίσης διάφορες προκλήσεις, όπως:
Αντιπροσωπεύει μόνο τη μία πλευρά των δοκιμών
Δεν είναι πρακτικό ή συνετό να αυτοματοποιήσετε κάθε έλεγχο κατά τη δοκιμή της εφαρμογής, επειδή υπάρχουν ορισμένες πτυχές για τις οποίες μόνο ένας χειροκίνητος ελεγκτής μπορεί να παρέχει αξιόπιστα ανατροφοδότηση.
Αυτό περιλαμβάνει την εμπειρία του χρήστη, αν και μπορεί να είναι δυνατό να λάβετε λεπτομερείς αναλύσεις απόδοσης και δοκιμών φορτίου μέσω αυτοματοποίησης, ανάλογα με το λογισμικό που επιλέγετε.
Η αυτοματοποίηση διερευνητικών δοκιμών δεν διαθέτει ανθρώπινη κρίση και θα μπορούσε να λειτουργήσει καλύτερα παράλληλα με έναν χειροκίνητο ελεγκτή για ορισμένους ελέγχους.
Μη ρεαλιστικές προσδοκίες των δυνατοτήτων
Σε παρόμοιες γραμμές, οι αυτοματοποιημένες διαδικασίες διερευνητικών δοκιμών μπορούν να προσφέρουν τεράστια οφέλη για μια εφαρμογή παράλληλα με το συνολικό έργο.
Ωστόσο, αυτή η προσέγγιση δεν είναι πάντα η λύση. Οι οργανισμοί που βασίζονται σε μεγάλο βαθμό στην αυτοματοποίηση σε κάθε στάδιο μπορεί να έχουν μια ελλιπή προοπτική του λογισμικού.
Ο αυτοματισμός εντοπίζει τα προβλήματα, αλλά οι ομάδες δοκιμών και ανάπτυξης είναι υπεύθυνες για τη διόρθωσή τους. Είναι σημαντικό να καθοριστεί μια συνολική στρατηγική αυτοματοποίησης, ώστε όλοι οι συμμετέχοντες στο έργο να κατανοούν τις δυνατότητες και τους περιορισμούς της.
Υψηλότερες απαιτήσεις δεξιοτήτων
Η αυτοματοποίηση συνήθως περιλαμβάνει τη γνώση του τρόπου εκτέλεσης πολύπλοκων ελέγχων, παράλληλα με τον τρόπο προγραμματισμού και πραγματικής αυτοματοποίησής τους. Αυτό συχνά απαιτεί πολυετή εμπειρία στη δημιουργία σεναρίων, αν και το λογισμικό αυτοματοποίησης θα μπορούσε να βοηθήσει σημαντικά στη βελτιστοποίηση αυτών των διαδικασιών.
Είναι κρίσιμο η εταιρεία να προσλαμβάνει δοκιμαστές με ποικίλες και ισχυρές δεξιότητες για να διευκολύνει την αποτελεσματική αυτοματοποίηση.
Οι δοκιμαστές με εμπειρία στην αυτοματοποίηση γνωρίζουν επίσης τις λειτουργίες που πρέπει να ιεραρχήσουν κατά την επιλογή από τις διαθέσιμες επιλογές λογισμικού τρίτων, διασφαλίζοντας ότι η ομάδα θα λάβει ένα καλό προϊόν.
Ακατάλληλες στρατηγικές και επικοινωνία
Η επικοινωνία μιας συνεκτικής στρατηγικής είναι υψίστης σημασίας για κάθε επιτυχή αυτοματοποίηση- οι προγραμματιστές, οι ελεγκτές, ακόμη και οι διαχειριστές του έργου πρέπει να βρίσκονται στην ίδια σελίδα καθ’ όλη τη διάρκεια των δοκιμών.
Οι ομάδες πρέπει να συνεργαστούν για να προσδιορίσουν το πεδίο εφαρμογής και το χρονοδιάγραμμα των επερχόμενων διαδικασιών τους. Αυτό ισχύει για κάθε διαδικασία δοκιμών, αλλά είναι ιδιαίτερα σημαντικό λόγω της πρόσθετης πολυπλοκότητας της αυτοματοποίησης. Οι καλύτερες γραμμές επικοινωνίας και η έλλειψη σιλό πληροφοριών επιτρέπουν στις ομάδες σας να διεξάγουν τις δοκιμές τους πιο αποτελεσματικά.
Επιλογή του σωστού λογισμικού αυτοματισμού
Η αυτοματοποίηση συνήθως περιλαμβάνει την επιλογή μιας εφαρμογής τρίτου μέρους που είναι συμβατή με τους στόχους δοκιμών της ομάδας. Κάθε επιλογή έχει διαφορετικά σχέδια τιμολόγησης και λειτουργικότητα. Αυτό μπορεί να είναι ένα σημαντικό μακροπρόθεσμο κόστος, ακόμη και αν το λογισμικό εκτελεί με επιτυχία τις αυτοματοποιημένες δοκιμές, παρέχοντας παράλληλα σημαντική αξία.
Υπάρχουν πολλές δωρεάν επιλογές που προσφέρουν εντυπωσιακή λειτουργικότητα συγκρίσιμη με εναλλακτικές λύσεις premium. Είναι σημαντικό η ομάδα δοκιμών να ερευνά όλες τις διαθέσιμες επιλογές, συμπεριλαμβανομένου του δωρεάν λογισμικού.
Συμπέρασμα: Χειροκίνητη διερευνητική δοκιμή
Υπάρχουν λίγα έργα που επωφελούνται είτε από πλήρως χειροκίνητες δοκιμές είτε από πλήρως αυτοματοποιημένες δοκιμές, καθώς οι εφαρμογές όλων των ειδών αποδίδουν καλύτερα με ένα συνδυασμό και των δύο.
Ενώ οι αυτοματοποιημένες δοκιμές μπορούν να βελτιστοποιήσουν τη διαδικασία για τις ομάδες ανάπτυξης και διασφάλισης ποιότητας, ορισμένες πτυχές του σχεδιασμού απαιτούν χειροκίνητες διερευνητικές δοκιμές- αυτός είναι ο μόνος τρόπος για να λάβετε ανατροφοδότηση με γνώμονα τη συνείδηση του χρήστη.
Με την πάροδο του χρόνου, όλο και περισσότεροι οργανισμοί εργάζονται για την εφαρμογή της υπεραυτοματοποίησης, μιας διαδικασίας που στοχεύει στη μεγιστοποίηση της αυτοματοποίησης με έξυπνο τρόπο, διασφαλίζοντας ότι η επιχείρηση έχει μια αποτελεσματική στρατηγική – αυτό θα μπορούσε να εξακολουθεί να υπάρχει παράλληλα με τις χειροκίνητες δοκιμές.
Οι αυτοματοποιημένες δοκιμές γίνονται όλο και πιο προσιτές για τις εταιρείες λόγω της αυξημένης επικράτησης του λογισμικού αυτοματοποίησης, ιδίως με τις διάφορες δωρεάν επιλογές που είναι διαθέσιμες με πολλές δυνατότητες. Αυτό διευκολύνει τις επιχειρήσεις να υιοθετήσουν μια συνδυασμένη προσέγγιση χειροκίνητων/αυτοματοποιημένων διερευνητικών δοκιμών.
Η αυξανόμενη δημοτικότητα της ευέλικτης ανάπτυξης (μια τεχνική διαχείρισης έργων που επικεντρώνεται σε σταδιακή αλλά σημαντική πρόοδο) στην ανάπτυξη υπήρξε επίσης ένας παράγοντας, καθώς απαιτεί σύντομους κύκλους δοκιμών. Μια συνδυασμένη στρατηγική δοκιμών θα μπορούσε να φιλοξενήσει αυτή και διάφορες άλλες στρατηγικές ανάπτυξης, όπως η συνεχής ολοκλήρωση, η οποία ομοίως απαιτεί επαναλαμβανόμενες δοκιμές για να εξασφαλιστεί η επιτυχία σε πολλές επαναλήψεις του ίδιου λογισμικού.
Τι χρειάζεστε για να ξεκινήσετε τις διερευνητικές δοκιμές
Οι προϋποθέσεις των διερευνητικών δοκιμών είναι:
1. Σαφείς στόχοι δοκιμών
Αν και η διερευνητική δοκιμή είναι συνώνυμη της ελευθερίας και μερικές φορές συγχέεται με τη δοκιμή ad hoc, αυτή εξακολουθεί να ακολουθεί συγκεκριμένους κανόνες ή καθορισμένους στόχους. Ο μόνος τρόπος για να μπορέσει μια ομάδα QA να πλοηγηθεί με επιτυχία σχεδόν σε οποιαδήποτε δομή δοκιμών είναι να γνωρίζει το αναμενόμενο αποτέλεσμα κάθε δοκιμής, ιδίως καθώς οι ελεγκτές συνήθως σχεδιάζουν οι ίδιοι αυτούς τους ελέγχους.
2. Δημιουργικοί, διαισθητικοί δοκιμαστές
Οι διερευνητικές δοκιμές επικεντρώνονται στο σχεδιασμό νέων και δημιουργικών δοκιμών που μπορεί να αποκαλύψουν προβλήματα με μια εφαρμογή. Ακόμη και δοκιμαστές με περιορισμένη εμπειρία μπορούν να το κάνουν αυτό, εφόσον κατανοούν το λογισμικό.
Είναι σημαντικό οι ελεγκτές να κατανοούν την εφαρμογή και τον τρόπο λειτουργίας της- αυτό τους επιτρέπει να αναπτύξουν διαισθητικά μια σειρά από χρήσιμους ελέγχους.
3. Συνεκτική τεκμηρίωση
Κάθε τύπος δοκιμών πρέπει να διαθέτει ισχυρή τεκμηρίωση, ώστε να διασφαλίζεται ότι κάθε μέλος της ομάδας ακολουθεί το αναμενόμενο πρόγραμμα δοκιμών και ότι κανείς δεν επαναλαμβάνει κατά λάθος έναν έλεγχο.
Αυτή είναι μια ζωτικής σημασίας πτυχή της επικοινωνίας σε ένα τμήμα και σε πολλά τμήματα, όπως οι προγραμματιστές που απαιτούν τακτικές ενημερώσεις δοκιμών για να καταλάβουν πώς να διορθώνουν προβλήματα.
4. Η προοπτική του πελάτη
Οι διερευνητικές δοκιμές καλύπτουν πολλές στρατηγικές και σενάρια, συμπεριλαμβανομένων εκείνων που αντικατοπτρίζουν τον τρόπο με τον οποίο οι χρήστες θα ασχοληθούν πρακτικά με την εφαρμογή. Είναι ζωτικής σημασίας οι ομάδες δοκιμών να το λαμβάνουν υπόψη αυτό κατά τη διάρκεια των ελέγχων τους, ακόμη και αν δεν διεξάγουν δοκιμές βάσει σεναρίων.
Η υιοθέτηση αυτού του τρόπου επιτρέπει στον ελεγκτή να προσεγγίσει τον έλεγχο από διαφορετικές οπτικές γωνίες, βελτιώνοντας την ποιότητα αυτών των ελέγχων.
5. Λογισμικό αυτοματοποιημένων δοκιμών
Καθώς η ομάδα μπορεί πιθανότατα να αυτοματοποιήσει ένα σημαντικό μέρος των δοκιμών που σχεδιάζει, είναι σημαντικό να μπορεί να προμηθεύεται υψηλής ποιότητας λογισμικό αυτοματοποιημένων δοκιμών πριν από το στάδιο της εκτέλεσης.
Οι προγραμματιστές και η ομάδα δοκιμών μπορούν να χρησιμοποιήσουν την κατανόηση του έργου για να καθορίσουν την εφαρμογή τρίτου μέρους που θα ταίριαζε στις δικές τους απαιτήσεις.
Διαδικασία διερευνητικών δοκιμών
Τα συγκεκριμένα βήματα για τις διερευνητικές δοκιμές έχουν ως εξής:
1. Ταξινόμηση της διαδικασίας δοκιμής
Το πρώτο βήμα των διερευνητικών δοκιμών είναι να κατανοήσουν τα αρμόδια μέλη της ομάδας πώς μπορούν να προσεγγίσουν αυτούς τους ελέγχους, όπως με την ταξινόμηση των κοινών σφαλμάτων και τη διενέργεια ανάλυσης της αιτίας.
Εδώ οι ελεγκτές αναπτύσσουν οι ίδιοι τις ιδέες τους για τις δοκιμές- ανάλογα με την ακριβή μεθοδολογία τους, μπορεί επίσης να σχεδιάσουν έναν χάρτη δοκιμών.
Αυτό καθορίζει το πεδίο εφαρμογής και τις δοκιμές για τη συγκεκριμένη συνεδρία ή ημέρα εργασίας.
2. Έναρξη των δοκιμών
Ενώ οι ακριβείς παράμετροι (όπως ο χρόνος για κάθε δοκιμή ή μια συνολική συνεδρία) εξαρτώνται από τις προτιμήσεις της ομάδας και τις απαιτήσεις του έργου, όλες οι διερευνητικές ακολουθούν ορισμένα κοινά στοιχεία.
Μετά την ταξινόμηση των σχετικών ελέγχων, το προσωπικό διασφάλισης ποιότητας αρχίζει να διενεργεί τους ελέγχους και να καταγράφει τα αποτελέσματα.
Εάν οι έλεγχοι απαιτούν αυτοματοποίηση, οι ελεγκτές θα μπορούσαν να το ρυθμίσουν ώστε να λειτουργεί κατά τη διάρκεια της νύχτας ή να το παρακολουθούν οι ίδιοι κατά τη διάρκεια της ημέρας.
3. Επανεξέταση των αποτελεσμάτων
Το επόμενο στάδιο είναι η επανεξέταση των αποτελεσμάτων, συγκρίνοντας τα με τα προκαθορισμένα και αναμενόμενα αποτελέσματα. Εάν αυτές οι δοκιμές οδηγήσουν σε σημαντικές απροσδόκητες αποκλίσεις οποιουδήποτε είδους, οι ελεγκτές θα μπορούσαν να επαναλάβουν τον έλεγχο ή να αρχίσουν αμέσως να βρίσκουν τρόπο να το διορθώσουν. Οι προτάσεις που κάνουν στους προγραμματιστές μπορεί να είναι καθοριστικές για τον καθορισμό της σωστής προσέγγισης που πρέπει να ακολουθηθεί – και οι αναφορές σφαλμάτων τους μπορούν να το περιγράψουν λεπτομερώς.
4. Ο απολογισμός της δοκιμής
Μετά τη δημοπράτηση των αποτελεσμάτων των δοκιμών, η ομάδα διασφάλισης ποιότητας αρχίζει να επανεξετάζει την ίδια τη διαδικασία δοκιμών και τη χρησιμοποιεί για να διαπιστώσει αν η προσέγγιση διερευνητικών δοκιμών ήταν κατάλληλη.
Αυτή η συνοπτική έκθεση δοκιμής μπορεί ακόμη και να καταλήξει στο συμπέρασμα ότι υπήρξαν λειτουργικά σφάλματα κατά τη διάρκεια των ελέγχων που απαιτούν επανάληψη της δοκιμής. Η ομάδα δοκιμών μπορεί επίσης να ελέγξει ξανά την εφαρμογή μόλις οι προγραμματιστές επιδιορθώσουν αυτά τα ζητήματα για να διαπιστώσει αν ήταν επιτυχής η επιδιόρθωση.
Βέλτιστες πρακτικές για διερευνητικές δοκιμές
Οι πιο αποτελεσματικές πρακτικές για διερευνητικές δοκιμές περιλαμβάνουν:
1. Σύζευξη δοκιμαστών
Πολλές μορφές διερευνητικών δοκιμών επωφελούνται από τη συνεργασία των ελεγκτών – αυτό εξορθολογίζει περαιτέρω τη διαδικασία και επιτρέπει πολλαπλές οπτικές γωνίες για τους ίδιους ελέγχους.
Η δοκιμή ζεύγους αποφεύγει επίσης την πιθανότητα οπτικής σήραγγας, ενθαρρύνοντας τον πιο δημιουργικό σχεδιασμό δοκιμών.
Πολλοί άνθρωποι που εργάζονται στις ίδιες δοκιμές μπορεί να οδηγήσουν σε μεγαλύτερη ακρίβεια σε όλους τους τομείς, ενώ ο καταμερισμός του φόρτου εργασίας βοηθά επίσης στο να γίνουν οι δοκιμές πολύ πιο γρήγορες για ολόκληρη την ομάδα.
2. Συνδυασμός χειροκίνητων και αυτοματοποιημένων δοκιμών
Ορισμένες εταιρείες εξακολουθούν να δυσκολεύονται να υιοθετήσουν την αυτοματοποίηση, ενώ άλλες την χρησιμοποιούν υπερβολικά, ακόμη και όταν οι χειροκίνητες προοπτικές θα μπορούσαν να είναι πιο επωφελείς. Η εξισορρόπηση αυτών των ελέγχων μαζί επιτρέπει στην ομάδα δοκιμών να καλύψει περισσότερες βάσεις και να διασφαλίσει την ποιότητα σε όλη την εφαρμογή, συμπεριλαμβανομένων των πιο υποκειμενικών πτυχών, όπως η διεπαφή του λογισμικού.
Η διενέργεια χειροκίνητων και αυτοματοποιημένων δοκιμών μαζί είναι ο μόνος τρόπος για να εγγυηθείτε την πλήρη κάλυψη κάθε χαρακτηριστικού ή λειτουργίας με δοκιμές.
3. Κατανόηση της αγοράς
Είναι σημαντικό οι δοκιμαστές να γνωρίζουν τόσο το κοινό-στόχο όσο και τους ανταγωνιστές τους κατά τη διάρκεια της διαδικασίας δοκιμών- αυτό τους βοηθά να εκτιμήσουν τον τρόπο με τον οποίο οι άνθρωποι θα ανταποκριθούν στην τρέχουσα λειτουργικότητα της εφαρμογής.
Ορισμένα χαρακτηριστικά έχουν μεγάλη ζήτηση και η ομάδα δοκιμών μπορεί να επωφεληθεί από την ιεράρχηση αυτών των χαρακτηριστικών κατά τη διάρκεια των ελέγχων. Αν και πρέπει επίσης να διατηρούν ευρεία κάλυψη δοκιμών. Αυτό θα μπορούσε να καθορίσει την κατεύθυνση των δοκιμών παράλληλα με την πιθανή επιτυχία του λογισμικού κατά την κυκλοφορία.
4. Χρήση πραγματικών συσκευών για δοκιμές
Οι ομάδες δοκιμών λογισμικού μπορεί να χρησιμοποιούν εξομοιωτές για να διευκολύνουν τους διερευνητικούς ελέγχους τους- αυτό μπορεί να είναι χρήσιμο, αλλά σπάνια αντικατοπτρίζει ένα πρακτικό περιβάλλον χρήστη.
Οι πραγματικές συσκευές συμβάλλουν στη βελτίωση της αξιοπιστίας των διερευνητικών δοκιμών, δημιουργώντας μια πιο ρεαλιστική εμπειρία – οι εξομοιωτές είναι ατελείς και ενδέχεται να έχουν σφάλματα που δεν υπάρχουν στους πελάτες.
Η εξομοίωση είναι ένας γρήγορος τρόπος για να δοκιμάσετε πολλαπλές πλατφόρμες, αλλά δεν υποκαθιστά τις πραγματικές συσκευές.
Τύποι αποτελεσμάτων από μια διερευνητική δοκιμή
Υπάρχουν διάφορες έξοδοι που μπορούν να λάβουν οι ελεγκτές μετά τη διενέργεια ενός ελέγχου, όπως:
1. Αποτελέσματα δοκιμών
Τα ίδια τα αποτελέσματα παίρνουν πολλές μορφές, καθώς οι διερευνητικές δοκιμές μπορεί να περιλαμβάνουν εκατοντάδες μοναδικές δοκιμές. Αυτά τα αποτελέσματα αποτελούν το μεγαλύτερο μέρος των αποτελεσμάτων μιας ρουτίνας δοκιμών, προσφέροντας ζωτικές πληροφορίες σχετικά με την κατάσταση της εφαρμογής και την ικανότητά της να ικανοποιεί τις ανάγκες του χρήστη.
Οι δοκιμαστές θα μπορούσαν να επανελέγξουν το σύστημα και να επικυρώσουν τις πληροφορίες μετά τη λήψη αυτών των αποτελεσμάτων για να καθορίσουν την επόμενη ενέργειά τους.
2. Ημερολόγια δοκιμών
Τα ίδια τα αρχεία καταγραφής μιας εφαρμογής συχνά αποκαλύπτουν σφάλματα και προβλήματα κατά τη διάρκεια της διαδικασίας δοκιμής- αυτά παρέχουν τις ισχυρότερες ενδείξεις για το γιατί το λογισμικό απέτυχε σε μια δοκιμή. Οι ανώτεροι δοκιμαστές είναι ιδιαίτερα ικανοί στην ερμηνεία των αρχείων καταγραφής μιας εφαρμογής, επιτρέποντάς τους να εντοπίζουν την αιτία περίπλοκων προβλημάτων.
Όσο περισσότερες πληροφορίες συλλέγουν οι δοκιμαστές από αυτά τα αρχεία καταγραφής, τόσο περισσότερο μπορούν να βοηθήσουν τους προγραμματιστές.
3. Εκθέσεις δοκιμών
Ανάλογα με τη διαδικασία αυτοματοποίησης της ομάδας, τα αποτελέσματά τους μπορεί να δημιουργούν αυτόματα μια αναφορά σφάλματος. Εδώ αναφέρονται τυχόν σφάλματα που υπάρχουν σε μια εφαρμογή, ενδεχομένως συμπεριλαμβανομένων των αιτιών τους και τυχόν άλλων δεδομένων που αφορούν τους προγραμματιστές.
Οι δοκιμαστές μπορούν να το χρησιμοποιήσουν για να εκφράσουν τη δική τους γνώμη σχετικά με το αν το λογισμικό είναι έτοιμο για κυκλοφορία, κάτι που είναι ευρέως γνωστό ως απόφαση go/no-go.
Παραδείγματα διερευνητικών δοκιμών
Ακολουθούν τρία παραδείγματα για το πώς μια εταιρεία θα μπορούσε να χρησιμοποιήσει τις διερευνητικές δοκιμές:
1. Μια εφαρμογή παιχνιδιών για κινητά
Εάν μια εταιρεία τυχερών παιχνιδιών επιθυμεί να κυκλοφορήσει μια σημαντική ενημέρωση για μια εφαρμογή για κινητά, οι διερευνητικοί δοκιμαστές μπορούν να ελέγξουν τόσο τα παλιά όσο και τα νέα χαρακτηριστικά για να διαπιστώσουν εάν η εφαρμογή εξακολουθεί να είναι σταθερή. Αυτό μπορεί να αυξήσει την πολυπλοκότητα του λογισμικού σε σημείο που να μην μπορεί να εκτελεστεί σε ορισμένες συσκευές.
Οι δοκιμαστές εργάζονται για να ελαχιστοποιήσουν τις επιπτώσεις αυτού του γεγονότος, εξασφαλίζοντας παράλληλα τη χρηστικότητα σε όσο το δυνατόν περισσότερες πλατφόρμες.
Οι διερευνητικοί δοκιμαστές ελέγχουν διεξοδικά το παιχνίδι και τα πολλά περίπλοκα σενάριά του για να διασφαλίσουν ότι κάθε λειτουργία λειτουργεί όπως προβλέπεται.Αυτή η διαδικασία απαιτεί συνήθως έναν χειροκίνητο δοκιμαστή.
2. Ιστοσελίδα παρόχου υπηρεσιών
Οι ιστότοποι υποβάλλονται επίσης σε διερευνητικές δοκιμές για να βεβαιωθούν ότι λειτουργούν τόσο για τους χρήστες όσο και για το προσωπικό, οπότε οι δοκιμαστές μπορούν να ξεκινήσουν με την είσοδο στον ιστότοπο. Με τον τρόπο αυτό ελέγχεται η ικανότητα του ιστότοπου να δημιουργεί νέα προφίλ χρηστών και ελέγχεται ότι οι χρήστες δεν μπορούν να έχουν πρόσβαση σε διοικητικές λειτουργίες.
Στη συνέχεια, οι δοκιμαστές προχωρούν στον έλεγχο της υπηρεσίας, ο οποίος μπορεί να έχει τη μορφή κράτησης ραντεβού ή παραγγελίας. Στη συνέχεια, θα ολοκληρώσουν την αγορά για να βεβαιωθούν ότι το ταμείο λειτουργεί επαρκώς, και στη συνέχεια θα εξετάσουν την επιβεβαίωση της παραγγελίας μέσω ηλεκτρονικού ταχυδρομείου και το ιστορικό του λογαριασμού.
3. Το σύστημα διαχείρισης ενός νοσοκομείου
Εφαρμογές και συστήματα όλων των ειδών μπορούν να επωφεληθούν από διερευνητικές δοκιμές. Για τα συστήματα διαχείρισης νοσοκομείων, ένας ελεγκτής μπορεί να εξετάσει τον τρόπο με τον οποίο η ενότητα πληρωμών αλληλεπιδρά με άλλες λειτουργίες.
Υψηλότερα επίπεδα ολοκλήρωσης μπορεί να οδηγήσουν σε σημαντικά σφάλματα χωρίς αυστηρές δοκιμές. Αυτοί οι έλεγχοι θα μπορούσαν να περιλαμβάνουν ένα αρχιτεκτονικό διάγραμμα που να παρακολουθεί τα πολλά στοιχεία του συστήματος και τον τρόπο με τον οποίο αυτά διασταυρώνονται.
Οι δοκιμαστές εξετάζουν επίσης τα προβλήματα σε προηγούμενες επαναλήψεις του συστήματος και δοκιμάζουν συγκεκριμένα για να δουν αν αυτά εξακολουθούν να υπάρχουν, αναλαμβάνοντας ταχεία δράση αν αποκαλύψουν σφάλματα.
Τύποι σφαλμάτων και σφαλμάτων που εντοπίζονται μέσω διερευνητικών δοκιμών
Τα σφάλματα που μπορεί να αποκαλύψουν οι ελεγκτές κατά τη διάρκεια των διερευνητικών δοκιμών περιλαμβάνουν:
1. Μη συμβατά χαρακτηριστικά
Ορισμένες λειτουργίες της εφαρμογής ενδέχεται να μην αλληλεπιδρούν μεταξύ τους όπως αναμενόταν – με αποτέλεσμα οι χρήστες να μην μπορούν να ολοκληρώσουν τις αγορές τους ή να χρησιμοποιήσουν την εφαρμογή. Οι δοκιμαστές ελέγχουν τις λειτουργίες μεμονωμένα και σε συνδυασμό μεταξύ τους για να βεβαιωθούν ότι όλα ταιριάζουν μεταξύ τους.
2. Ακατάλληλος σχεδιασμός UI
Η διεπαφή χρήστη μιας εφαρμογής καθορίζει ακριβώς πώς κάποιος χρησιμοποιεί το λογισμικό. Για παράδειγμα, εάν τα σημαντικά χαρακτηριστικά δεν είναι εμφανή στους πελάτες, μπορεί να μην παρατηρήσουν την ύπαρξη αυτών των χαρακτηριστικών, γεγονός που περιορίζει την απόλαυση της εφαρμογής.
Ο χειροκίνητος έλεγχος UI εντοπίζει και διορθώνει τον μη φιλικό προς τον χρήστη σχεδιασμό.
3. Σφάλματα ελέγχου ταυτότητας
Πολλές εφαρμογές και ιστότοποι επιτρέπουν τη δημιουργία ενός προφίλ χρήστη με συγκεκριμένα προνόμια. Είναι ζωτικής σημασίας οι ελεγκτές να ελέγχουν αν οι μέσοι χρήστες μπορούν με κάποιο τρόπο να έχουν πρόσβαση σε ευαίσθητα δεδομένα ή ακόμη και σε διοικητικές λειτουργίες, ενώ χρησιμοποιούν το λογισμικό με απροσδόκητους τρόπους.
4. Νεκρός κώδικας
Οι δοκιμαστές μπορεί να βρουν παρωχημένο κώδικα που εξακολουθεί να υπάρχει στην εφαρμογή, ο οποίος μπορεί να είναι η αιτία για σημαντικά προβλήματα απόδοσης. Ο νεκρός κώδικας περιπλέκει υπερβολικά τις εσωτερικές λειτουργίες της εφαρμογής και μπορεί να οδηγήσει σε σφάλματα που θα μπορούσαν να αποφευχθούν. Ο εντοπισμός και η βελτιστοποίηση αυτού του γεγονότος καθιστά το λογισμικό πιο ευέλικτο για το προσωπικό και τους χρήστες.
Κοινές μετρικές διερευνητικών δοκιμών
Οι συνήθεις μετρήσεις που μπορεί να συναντήσουν οι ελεγκτές κατά τη διάρκεια των διερευνητικών δοκιμών τους περιλαμβάνουν:
1. Μετρικές δοκιμής επιδόσεων
Οι διερευνητικές δοκιμές που εξετάζουν τη γενική απόδοση μιας εφαρμογής μπορούν να οδηγήσουν σε ένα ευρύ φάσμα μετρήσεων. Αυτό μπορεί να περιλαμβάνει ελάχιστους, μέσους και μέγιστους χρόνους απόκρισης, καθώς και ποσοστά αποτυχίας και επιτυχίας για τον προσδιορισμό της σταθερότητας.
2. Μετρικές κάλυψης δοκιμών
Η κάλυψη των δοκιμών είναι σημαντική επειδή καθορίζει πόσες κατηγορίες και πτυχές μιας εφαρμογής περιλαμβάνουν οι δοκιμές. Το ποσοστό κάλυψης απαιτήσεων, για παράδειγμα, αξιολογεί εάν υπάρχουν λειτουργίες που απαιτούν περαιτέρω γύρους δοκιμών.
3. Συνολική αποτελεσματικότητα της δοκιμής
Η παρακολούθηση του αριθμού των επιτυχημένων και αποτυχημένων ελέγχων βοηθά τους ελεγκτές να καταλάβουν τη γενική κατάσταση της εφαρμογής. Επιπλέον, η ομάδα μπορεί να παρακολουθεί πόσα από τα σφάλματα που εντοπίζει είναι κρίσιμα.
4. Κατανομή των ελαττωμάτων
Σε παρόμοιες γραμμές, ο έλεγχος της κατανομής των ελαττωμάτων δείχνει τα εξαρτήματα ή τις λειτουργίες που είναι πιο επιρρεπή σε σφάλματα. Αυτά μπορεί να είναι τμήματα της εφαρμογής που αλληλεπιδρούν συχνά με άλλα, καθιστώντας απαραίτητη την ιεράρχηση αυτών των δοκιμών.
5. Μετρικές παλινδρόμησης
Η διερευνητική δοκιμή παλινδρόμησης επιτρέπει στους ελεγκτές να δουν πώς συμπεριφέρονται οι διαφορετικές επαναλήψεις του ίδιου λογισμικού και πώς αυτό μπορεί να επηρεάσει την απόδοση.
Ο ρυθμός εισαγωγής ελαττωμάτων και τα ελαττώματα ανά κατασκευή είναι οι συγκεκριμένες μετρήσεις που βοηθούν σε αυτό.
Ξεκαθαρίζοντας κάποια σύγχυση: Δοκιμές Ad Hoc
Με μεγάλη έμφαση στην ελευθερία του δοκιμαστή, ορισμένοι συχνά συγχέουν τις διερευνητικές δοκιμές με τις δοκιμές ad hoc. Οι δύο μορφές μοιράζονται αρκετές βασικές ομοιότητες, αλλά τελικά εξυπηρετούν διαφορετικούς σκοπούς.
1. Τι είναι η δοκιμή Ad Hoc;
Η δοκιμή ad hoc είναι μια εντελώς αδόμητη προσέγγιση που σπάει τον συμβατικό σχεδιασμό δοκιμών για να βρει ελαττώματα που διαφορετικά δεν θα εμφανίζονταν.
Αυτή η μορφή δοκιμών συνήθως δεν περιλαμβάνει τεκμηρίωση, καθιστώντας δύσκολη την αναπαραγωγή προβλημάτων, εκτός εάν ο ελεγκτής είναι απολύτως βέβαιος για την αιτία.
Ένα παράδειγμα αυτού είναι η “δοκιμή μαϊμού”, ένας έλεγχος που περιλαμβάνει τυχαίες εισόδους και τελικά αποσκοπεί στο να σπάσει το σύστημα.
Παρόμοια με τις διερευνητικές δοκιμές, πολλοί δοκιμαστές ad hoc εργάζονται σε ζευγάρια για να ολοκληρώσουν αυτούς τους ελέγχους- αυτό βελτιώνει την αξιοπιστία τους. Μια ad hoc προσέγγιση θα μπορούσε να είναι χρήσιμη μετά την επίσημη εκτέλεση δοκιμών για να διασφαλιστεί ότι οι έλεγχοι λαμβάνουν υπόψη κάθε πιθανότητα- αυτό βοηθά επίσης όταν υπάρχει περιορισμένος χρόνος για τη διεξαγωγή περαιτέρω δοκιμών. Με τη σωστή εκτέλεση, οι δοκιμές ad hoc είναι ιδιαίτερα επωφελείς.
2. Διαφορές μεταξύ διερευνητικών δοκιμών και δοκιμών Ad Hoc
Οι δοκιμές ad hoc γενικά δεν περιλαμβάνουν επίσημη τεκμηρίωση. Αυτό έρχεται σε πλήρη αντίθεση με τις διερευνητικές δοκιμές, όπου ο αυτοσχέδιος χαρακτήρας αυτών των ελέγχων καθιστά την τήρηση αρχείων ακόμη πιο σημαντική.
Οι διερευνητικές δοκιμές χρησιμοποιούν μεγαλύτερη ποικιλία τεχνικών επίσημων δοκιμών, ενώ οι έλεγχοι ad hoc το αποφεύγουν αυτό, καθώς δεν ακολουθούν τη συμβατική εθιμοτυπία των δοκιμών. Αυτό τους βοηθά να αποκαλύψουν σφάλματα που διαφορετικά οι ελεγκτές δεν θα έβρισκαν ποτέ.
Οι διερευνητικές δοκιμές έχουν σαφείς στόχους και όρια, αλλά εξακολουθούν να επιτρέπουν στα μέλη της ομάδας να χρησιμοποιούν δημιουργικές δοκιμές. Οι ad-hoc δοκιμές συνήθως δεν έχουν καθορισμένους τελικούς στόχους πέρα από το να πιέζουν το λογισμικό όπως μπορεί. Οι δοκιμές ad hoc συχνά περιλαμβάνουν επίσης μια προϋπάρχουσα γνώση του λογισμικού και των λειτουργιών του, ενώ οι διερευνητικές δοκιμές ενσωματώνουν την εκμάθηση της εφαρμογής στις συνήθεις διαδικασίες της.
Διερευνητικές δοκιμές στην ευέλικτη διαδικασία
Η ευέλικτη μεθοδολογία προωθεί σε μεγάλο βαθμό τη συνεχή βελτίωση. Αυτό σημαίνει ότι συνδυάζεται καλά με διερευνητικές δοκιμές, ειδικά καθώς αυξάνεται η ζήτηση για συχνές ενημερώσεις λογισμικού.
Ο συνδυασμός των διερευνητικών δοκιμών με την ευέλικτη διαδικασία μπορεί να δώσει στα μέλη της ομάδας μια ισχυρότερη δομή δοκιμών, ενσωματώνοντας τον προγραμματισμό της έκδοσης και την εκτέλεση των σπριντ στα χρονοδιαγράμματά τους. Μια εταιρεία που ασπάζεται τις ευέλικτες τεχνικές θα μπορούσε να το εκμεταλλευτεί ακόμη περισσότερο, συνδυάζοντάς το με διερευνητικές δοκιμές- αυτός είναι ένας πολύ καλός τρόπος για τη δοκιμή κάθε επιμέρους στοιχείου λογισμικού μιας εφαρμογής. Καθώς οι ελεγκτές μπορούν να διεξάγουν διερευνητικούς ελέγχους χωρίς σενάρια, αυτό εξοικονομεί πολύτιμο χρόνο τόσο για το προσωπικό διασφάλισης ποιότητας όσο και για τους προγραμματιστές.
Οι αυτοματοποιημένες διερευνητικές δοκιμές επιτείνουν αυτές τις εξοικονομήσεις, βοηθώντας τις εταιρείες να ελέγχουν τις τελευταίες επαναλήψεις της εφαρμογής τους πολύ πιο γρήγορα, ενδεχομένως εν μία νυκτί. Οι διερευνητικοί έλεγχοι παρέχουν γρήγορα, αξιοποιήσιμα αποτελέσματα και οι προγραμματιστές μπορούν να αναλάβουν δράση για τυχόν απαραίτητες αλλαγές στο πλαίσιο του επόμενου σπριντ.
Οι χειροκίνητες διερευνητικές δοκιμές εξακολουθούν να προσφέρουν πολλά οφέλη σε συνδυασμό με την ευέλικτη ανάπτυξη, λόγω της ικανότητάς τους να εντοπίζουν ζητήματα που θα μπορούσαν να διαφύγουν από μια αυτοματοποιημένη προσέγγιση. Άλλες μορφές δοκιμών απλά διαρκούν πολύ ή παρέχουν πολύ λίγα οφέλη για να χωρέσουν άνετα στο ευέλικτο πλαίσιο. Οι διερευνητικοί έλεγχοι μπορούν να διασφαλίσουν ότι κάθε ευέλικτο στάδιο βελτιώνει σημαντικά το λογισμικό και τη λειτουργικότητά του.
7 λάθη και παγίδες που πρέπει να αποφύγετε κατά την εφαρμογή διερευνητικών δοκιμών
Ακολουθούν επτά κοινά λάθη που κάνουν συχνά οι εταιρείες κατά την εφαρμογή διερευνητικών δοκιμών, καθώς και ο τρόπος με τον οποίο οι εταιρείες μπορούν να αποφύγουν αυτά τα ζητήματα:
1. Ανισοβαρής χειροκίνητη/αυτοματοποιημένη δοκιμή
Η εύρεση των δοκιμών που λειτουργούν καλύτερα με χειροκίνητους ελέγχους και των δοκιμών που θα επωφελούνταν από την αυτοματοποίηση απαιτεί χρόνο, αλλά επιτρέπει στις ομάδες να δοκιμάζουν πολύ πιο αποτελεσματικά.
Η αυτοματοποίηση πάρα πολλών δοκιμών μπορεί να οδηγήσει σε μια εφαρμογή που είναι δύσχρηστη ή μη φιλική προς το χρήστη λόγω της έλλειψης ανθρώπινου δοκιμαστή.
2. Χρονικοί περιορισμοί
Οι διερευνητικές δοκιμές είναι ταχύτερες από πολλές άλλες μορφές δοκιμών, αλλά η πραγματικότητα των προθεσμιών του έργου σημαίνει ότι εξακολουθούν να υπάρχουν όρια στο πόσες δοκιμές μπορεί να διεξάγει η ομάδα.
Η διαχείριση του χρόνου και η δέσμευση για κάλυψη των δοκιμών βοηθούν την ομάδα δοκιμών να εκτελεί όσο το δυνατόν περισσότερους ελέγχους σε πολλές ευρείες κατηγορίες.
3. Ευέλικτοι ελεγκτές
Ενώ οι διερευνητικοί ελεγκτές δεν απαιτούν προϋπάρχουσα γνώση του λογισμικού ή ιδιαίτερα βαθιές δεξιότητες, οι έλεγχοι εξακολουθούν να βασίζονται στις ικανότητες και την πρωτοβουλία των μεμονωμένων μελών της ομάδας.
Ο διαχειριστής του έργου πρέπει να αναθέσει αυτούς τους ρόλους δοκιμών με σύνεση, επιφυλάσσοντάς τους για τα πιο δημιουργικά και διαισθητικά μέλη της ομάδας, εάν είναι απαραίτητο.
4. Δυσκολία αναπαραγωγής αποτυχιών
Δεν είναι πάντα προφανές ποιες ενέργειες συμβάλλουν στην αποτυχία μιας δοκιμής- μπορεί επίσης να είναι ασαφές ποιες πτυχές της εφαρμογής ευθύνονται.
Αυτός είναι ο λόγος για τον οποίο πολλές διερευνητικές προσεγγίσεις περιλαμβάνουν τη σύζευξη των δοκιμαστών ή ακόμη και την απευθείας καταγραφή της οθόνης ενός δοκιμαστή για να κατανοήσουν καλύτερα τα προβλήματα και τις ακριβείς αιτίες τους.
5. Ασαφής τεκμηρίωση
Είτε πρόκειται για μια αυτοματοποιημένη αναφορά σφαλμάτων είτε για μια χειροκίνητη καταγραφή των ολοκληρωμένων δοκιμών, η καλή τεκμηρίωση διευκολύνει τους προγραμματιστές να ενεργούν βάσει των ευρημάτων της ομάδας δοκιμών.
Η ομάδα δοκιμών πρέπει να δεσμευτεί να διασφαλίζει την τήρηση αρχείων υψηλής ποιότητας σε κάθε έλεγχο, προσφέροντας όσο το δυνατόν περισσότερες λεπτομέρειες σε κάθε αναφορά.
6. Υψηλές προσδοκίες
Η διερευνητική δοκιμή είναι επωφελής για σχεδόν κάθε έργο λογισμικού, αλλά εξακολουθεί να είναι περιορισμένη στο πεδίο εφαρμογής της – λειτουργεί καλύτερα σε συνδυασμό με άλλες μεθόδους δοκιμής.
Οι ομάδες δοκιμών πρέπει να εκτελούν αυτούς τους ελέγχους παράλληλα με τις συνήθεις δοκιμές με σενάρια- αυτός είναι ο μόνος τρόπος με τον οποίο τα τμήματα διασφάλισης ποιότητας μπορούν να εξασφαλίσουν σταθερά ευρεία κάλυψη των δοκιμών.
7. Ακατάλληλος αυτοματισμός
Είναι σημαντικό η ομάδα δοκιμών και ο διαχειριστής του έργου να κατανοήσουν ποιο λογισμικό αυτοματισμού παρέχει τα περισσότερα οφέλη για τη συγκεκριμένη εφαρμογή.
Διαφορετικές επιλογές τρίτων προσφέρουν τα δικά τους μοναδικά χαρακτηριστικά, οπότε η επιλογή της ομάδας μπορεί να καθορίσει την επιτυχία της ρομποτικής αυτοματοποίησης των διαδικασιών της- πρέπει να εξετάσει κάθε επιλογή που έχει μπροστά της.
5 Καλύτερα δωρεάν εργαλεία διερευνητικών δοκιμών
Τα πέντε καλύτερα εργαλεία διερευνητικών δοκιμών που μπορούν να χρησιμοποιήσουν δωρεάν οι ομάδες διασφάλισης ποιότητας περιλαμβάνουν:
1. ZAPTEST ΔΩΡΕΑΝ έκδοση
Το ZAPTEST Free παρέχει λειτουργικότητα υψηλού επιπέδου με απολύτως μηδενικό κόστος, επιτρέποντας σε κάθε οργανισμό να επωφεληθεί από την εύκολη εφαρμογή διερευνητικών δοκιμών.
Αυτή η εφαρμογή μπορεί να αυτοματοποιήσει οποιαδήποτε πλατφόρμα, συσκευή και πρόγραμμα περιήγησης με την καινοτόμο τεχνολογία 1SCRIPT.
Το ZAPTEST παρέχει επίσης ευέλικτη αυτοματοποίηση RPA, επιτρέποντάς σας να τη συνδυάσετε με μια χειροκίνητη προσέγγιση.
2. Διερευνητική εφαρμογή XRAY
Το XEA επιτρέπει στους χρήστες να δημιουργούν ολοκληρωμένους χάρτες δοκιμών και να καταγράφουν εύκολα την πρόοδό τους, απλοποιώντας το στάδιο της αναφοράς σφαλμάτων των διερευνητικών δοκιμών.
Αυτή η επιλογή επικεντρώνεται εξ ολοκλήρου στην οπτική γωνία του χρήστη και προσφέρει έναν κεντρικό κόμβο αποτελεσμάτων για την ενημέρωση άλλων δοκιμαστών.
Ωστόσο, το XRAY δεν διαθέτει επί του παρόντος ολοκληρωμένο αυτοματισμό, γεγονός που ενδέχεται να περιορίσει τη μακροπρόθεσμη αποτελεσματικότητά του.
3. Μαγνήτης ζωυφίων
Μια επέκταση του προγράμματος περιήγησης που προσφέρει διεξοδικές διερευνητικές δοκιμές, το Bug Magnet επιτρέπει στους ελεγκτές να ελέγχουν περιπτώσεις ακμών και άλλες προβληματικές τιμές.
Αυτή η επέκταση παρέχει επίσης απλή ενσωμάτωση εικονικού κειμένου, διευθύνσεων ηλεκτρονικού ταχυδρομείου και πολλαπλών συνόλων χαρακτήρων.
Ωστόσο, αυτό είναι διαθέσιμο μόνο για τα προγράμματα περιήγησης που βασίζονται στον Firefox και τον Chrome, καθιστώντας το λιγότερο ευέλικτο από τους ανταγωνιστές του.
4. Σχέδια δοκιμών Azure
Το Azure Test Plans αποτελεί βασικό μέρος της πλατφόρμας Azure της Microsoft και επιτρέπει στους δοκιμαστές να καταγράφουν πλούσια δεδομένα σε πολλά σενάρια.
Αυτή η επιλογή είναι κατάλληλη τόσο για εφαρμογές γραφείου όσο και για διαδικτυακές εφαρμογές, ενώ παράλληλα παρέχει ιχνηλασιμότητα από άκρη σε άκρη, η οποία έχει σαφή καταγραφή της ανάπτυξης του λογισμικού.
Ωστόσο, αυτή η προσέγγιση απαιτεί συχνά βαθύτερη ενσωμάτωση με το Azure, και ως εκ τούτου έχει ως κόστος την ευελιξία.
5. Testiny
Το Testiny ειδικεύεται στις χειροκίνητες διερευνητικές δοκιμές, προσφέροντας έναν έξυπνο επεξεργαστή που επιτρέπει στους ελεγκτές να σχεδιάζουν ελέγχους χρησιμοποιώντας μια δενδρική δομή για μέγιστη ευελιξία.
Κάθε αλλαγή σε μια εκτέλεση ή περίπτωση δοκιμής παραμένει στο ιστορικό της εφαρμογής, ώστε να διασφαλίζεται πλήρης υπευθυνότητα και ιχνηλασιμότητα.
Ωστόσο, αυτό είναι δωρεάν μόνο για μικρές ομάδες και έργα ανοικτού κώδικα.
Πότε θα πρέπει να χρησιμοποιείτε εργαλεία διερευνητικών δοκιμών Enterprise vs. Free;
Παρόλο που οι διερευνητικές δοκιμές είναι μια αξιόλογη επένδυση και οι premium εφαρμογές προσφέρουν συνήθως μεγαλύτερη λειτουργικότητα, υπάρχουν πολλές δωρεάν επιλογές που παρέχουν περισσότερες από αρκετές δυνατότητες.
Οι διερευνητικές δοκιμές θα μπορούσαν να αποτελέσουν σημαντική λειτουργική δαπάνη, αν δεσμευτείτε για ένα premium μοντέλο, αλλά δεν έχει κάθε εταιρεία ή ομάδα ανάπτυξης λογισμικού τα χρήματα για κάτι τέτοιο. Η καλύτερη επιλογή λογισμικού τρίτου μέρους εξαρτάται συχνά από τις συγκεκριμένες απαιτήσεις της επιχείρησης.
Μια λύση επί πληρωμή μπορεί να είναι ο μόνος τρόπος για την ικανοποίηση των αναγκών του συγκεκριμένου έργου- η ομάδα πρέπει να διερευνήσει τις διάφορες επιλογές πριν δεσμευτεί για μια εφαρμογή.
Οι εταιρείες με μικρότερες ομάδες μπορούν να επωφεληθούν περισσότερο από τα δωρεάν εργαλεία δοκιμών, καθώς πολλές από τις επιλογές είναι δωρεάν για περιορισμένο αριθμό χρηστών.
Εναλλακτικά, μπορούν να επιλέξουν επιλογές χωρίς αυτόν τον περιορισμό και αυτές που μπορούν να φιλοξενήσουν την κλίμακα της ομάδας δοκιμών. Αυτό θα μπορούσε να καταστήσει ακόμη πιο βιώσιμη τη δημιουργία ζευγαριών διερευνητικών δοκιμαστών για να εξασφαλιστούν ακριβέστερα αποτελέσματα – η ομάδα θα χρειαστεί φυσικά λιγότερα προφίλ χρηστών.
Πολλές υπηρεσίες προσφέρουν μια δωρεάν δοκιμή του λογισμικού τους, ώστε οι οργανισμοί να μπορούν να δουν αν αυτό ανταποκρίνεται στις ανάγκες τους- αυτές συνήθως διαρκούν μόνο για μερικές εβδομάδες.
Λίστα ελέγχου, συμβουλές και κόλπα διερευνητικών δοκιμών
Υπάρχουν πολλές πρόσθετες συμβουλές που μπορούν να λάβουν υπόψη τους οι ελεγκτές κατά την έναρξη των διερευνητικών ελέγχων τους, όπως:
1. Διαχωρίστε κατάλληλα τα χαρακτηριστικά και τις ενότητες
Για την αποφυγή παρεξηγήσεων, οι ομάδες δοκιμών θα πρέπει να συντάσσουν σαφή κατάλογο κάθε χαρακτηριστικού και των ελέγχων που σκοπεύουν να εκτελέσουν. Αυτό σημαίνει επίσης ότι οι δοκιμές πρέπει να κατανέμονται επαρκώς στις λειτουργίες του λογισμικού.
Για καλύτερα αποτελέσματα, είναι υψίστης σημασίας η ομάδα δοκιμών να διαπραγματεύεται ποια μέλη θα διεξάγουν κάθε δοκιμή με βάση τις αντίστοιχες δεξιότητες και τα δυνατά τους σημεία.
2. Εργασία για την κατανόηση του λογισμικού
Το στάδιο της εκμάθησης αποτελεί κρίσιμο μέρος της διερευνητικής δοκιμής. Αυτό σημαίνει ότι οι δοκιμαστές πρέπει να ασχοληθούν ενεργά με το λογισμικό και να καταλάβουν πώς λειτουργεί πριν σχεδιάσουν δοκιμές.
Η εκμάθηση των εσωτερικών λειτουργιών αυτού του λογισμικού μπορεί να είναι μια συνεργατική διαδικασία, εξασφαλίζοντας μεγαλύτερη κατανόηση σε όλη την ομάδα. Αυτό επιτρέπει στους ελεγκτές να αναπτύξουν καλύτερους ελέγχους και περιπτώσεις δοκιμών.
3. Καθορισμός προβληματικών περιοχών
Κάθε εφαρμογή έχει χαρακτηριστικά ή στοιχεία που διασταυρώνονται με άλλα. Καθώς το λογισμικό γίνεται όλο και πιο πολύπλοκο, είναι πιο πιθανό να εμφανιστούν σφάλματα- αυτό μπορεί να απαιτεί περισσότερες δοκιμές. Η ομάδα πρέπει να εργαστεί ενεργά για να καταλάβει ποια στοιχεία χρειάζονται πρόσθετη βοήθεια.
Μπορεί να χρησιμοποιούν συγκεκριμένες περιηγήσεις δοκιμών που αντικατοπτρίζουν καλύτερα τις ανάγκες της εφαρμογής και τις συνολικές προτεραιότητες δοκιμών της ομάδας.
4. Ξεκινήστε με βασικά σενάρια χρηστών
Οι ομάδες διασφάλισης ποιότητας μπορούν να διεξάγουν διερευνητικές δοκιμές με οποιαδήποτε σειρά, εάν είναι απαραίτητο, αλλά ίσως είναι πιο χρήσιμο να ξεκινήσουν με ευκολότερους ελέγχους πριν εμβαθύνουν σε πιο περίπλοκα χαρακτηριστικά.
Αυτό επιτρέπει μια ομαλή εξέλιξη όσον αφορά την πολυπλοκότητα, δίνοντας στους ελεγκτές την ευκαιρία να κατανοήσουν το λογισμικό. Βοηθά επίσης να ελέγξετε αν οι βασικές λειτουργίες λειτουργούν όπως αναμένεται.
5. Συνδυάστε τους δοκιμαστές μεταξύ τους
Η συνδυασμένη διερευνητική δοκιμή βελτιώνει και επικυρώνει το στάδιο της διασφάλισης ποιότητας, επιτρέποντας στους ελεγκτές να εργάζονται με απόλυτη εμπιστοσύνη σε κάθε έλεγχο. Η συνεργασία καθιστά οποιαδήποτε μορφή δοκιμών πιο αποτελεσματική βελτιώνοντας την εξοικείωση κάθε μέλους της ομάδας με το λογισμικό.
Μπορούν επίσης να παρέχουν αναφορές σφαλμάτων με πολύ μεγαλύτερο βάθος λόγω των ατομικών τους προοπτικών, δίνοντας στους προγραμματιστές περισσότερες πληροφορίες προς επεξεργασία.
6. Εκτέλεση διαφόρων δοκιμών
Η ικανότητα της ομάδας να ελέγξει εκ νέου μια εφαρμογή εξαρτάται από το χρονοδιάγραμμα και τις προθεσμίες που έχει μπροστά της. Εάν όμως είναι δυνατόν, ο διπλός έλεγχος ιδιαίτερα προβληματικών εξαρτημάτων μπορεί να είναι χρήσιμος.
Επιπλέον, η επανάληψη των δοκιμών μπορεί να επαληθεύσει ότι ένα πρόβλημα που είχε εντοπιστεί προηγουμένως έχει πλέον διορθωθεί και δεν θα επηρεάσει περαιτέρω το λογισμικό. Αυτή η επιμέλεια είναι μερικές φορές απαραίτητη για να εξασφαλιστεί η επιτυχία των δοκιμών.
Συμπέρασμα
Οι διερευνητικές δοκιμές έχουν πολλά να προσφέρουν στις εταιρείες ανάπτυξης λογισμικού όλων των ειδών, λειτουργώντας συμπληρωματικά προς τις δοκιμές με σενάρια και πολλούς άλλους ελέγχους.
Με τη βοήθεια των διερευνητικών δοκιμών, οι ομάδες διασφάλισης ποιότητας μπορούν να ελέγχουν τις εφαρμογές σε υψηλότερα πρότυπα, βελτιώνοντας την ποιότητα του τελικού λογισμικού και βοηθώντας τους προγραμματιστές να διορθώσουν τυχόν σφάλματα, αν υπάρχουν.
Ένας συνδυασμός χειροκίνητων και αυτοματοποιημένων διερευνητικών δοκιμών μπορεί να εξασφαλίσει τα περισσότερα οφέλη, επιτρέποντας την ίση προσοχή σε όλα τα στοιχεία του λογισμικού.
Εάν η εταιρεία σας απαιτεί λογισμικό διερευνητικού αυτοματισμού, η έκδοση ZAPTEST FREE Edition προσφέρει πολύ ευρύτερη και πιο ευέλικτη λειτουργικότητα από άλλες εφαρμογές premium, επιτρέποντας στους ελεγκτές να βελτιστοποιήσουν εύκολα αυτούς τους ελέγχους.
Συχνές ερωτήσεις και πόροι
1. Καλύτερα μαθήματα για την αυτοματοποίηση διερευνητικών δοκιμών
Τόσο οι νέοι όσο και οι έμπειροι ερευνητικοί δοκιμαστές θα μπορούσαν να επωφεληθούν από μαθήματα για τη βελτίωση των δεξιοτήτων τους. Αυτό περιλαμβάνει την εξεύρεση τρόπου προσέγγισης νέου λογισμικού.
Χρήσιμα μαθήματα που μπορούν να σας βοηθήσουν σε αυτό περιλαμβάνουν:
– Το Complete 2023 Software Testing Bootcamp του Udemy- αυτό διδάσκει ευρεία δοκιμή λογισμικού σε 28 ώρες.
– Εξερευνητικές δοκιμές του Coveros- αυτό επικεντρώνεται στον τρόπο ανάπτυξης χαρτών και εφαρμογής διερευνητικών δοκιμών σε API.
– Η διήμερη εκπαίδευση διερευνητικών δοκιμών της Polteq εξετάζει πώς λειτουργούν οι διερευνητικές δοκιμές σε ένα ευέλικτο πλαίσιο.
– LinkedIn’s Exploratory Testing- αυτό δείχνει πώς η σύγχρονη δοκιμή λογισμικού έχει αγκαλιάσει τους διερευνητικούς ελέγχους.
– Εισαγωγή στις δοκιμές λογισμικού του Coursera- αυτό βοηθά τους δοκιμαστές που ξεκινούν για πρώτη φορά να κατανοήσουν τις τυπικές διαδικασίες.
2. Ποιες είναι οι 5 κορυφαίες ερωτήσεις συνέντευξης σχετικά με τις διερευνητικές δοκιμές;
Κατά τη συνέντευξη για θέσεις διερευνητικών δοκιμών, είναι σημαντικό οι υπεύθυνοι προσλήψεων να κάνουν καλές ερωτήσεις για να αξιολογήσουν με ακρίβεια τις δεξιότητες και την εμπειρία του υποψηφίου.
Οι πέντε κορυφαίες ερωτήσεις που πρέπει να κάνετε είναι οι εξής:
– Συμπεριλαμβανομένης της καταλληλότητάς τους, ποιες είναι οι κύριες διαφορές μεταξύ των σεναριακών και των διερευνητικών δοκιμών;
– Ποιες προκλήσεις αντιμετωπίσατε ως διερευνητικός δοκιμαστής και πώς τις ξεπεράσατε;
– Δώστε παραδείγματα διερευνητικών δοκιμών που θα επωφελούνταν περισσότερο από την αυτοματοποίηση ρομποτικών διαδικασιών.
– Κατά τη γνώμη σας, ποια είναι η σημαντικότερη δεξιότητα (τεχνική ή άλλη) για έναν ερευνητικό δοκιμαστή;
– Ποια συμβουλή θα δίνατε σε έναν ελεγκτή που αγωνίζεται να κατανοήσει το λογισμικό και πώς να το ελέγξει;
3. Τα καλύτερα σεμινάρια στο YouTube για τις διερευνητικές δοκιμές
Υπάρχουν πολλά δωρεάν σεμινάρια σε ιστότοπους κοινής χρήσης βίντεο, όπως το YouTube, τα οποία μπορούν να βοηθήσουν τους υποψήφιους δοκιμαστές να κατανοήσουν τις βασικές αρχές της. Ορισμένα αποτελούν μέρος μιας σειράς, ενώ άλλα είναι μεμονωμένα βίντεο που εμβαθύνουν στο θέμα.
Τα κανάλια που προσφέρουν αυτά τα σεμινάρια περιλαμβάνουν:
– Η Ακαδημία Δοκιμών, παρέχει εκατοντάδες βίντεο που καλύπτουν κάθε πτυχή των δοκιμών λογισμικού.
– Software Testing Mentor, το οποίο ομοίως προσφέρει εκτεταμένα βίντεο σχετικά με τις βασικές αρχές της δοκιμής λογισμικού.
– QAFox, το οποίο παρέχει επίσης παραδείγματα από τον πραγματικό κόσμο και ζωντανά έργα που συμπληρώνουν όλα τα βίντεο.
– SDET-QA Automation Techie, το οποίο διαθέτει πολλά περιεκτικά βίντεο σχετικά με διαφορετικές προσεγγίσεις δοκιμών.
– GlitchITSystem, το οποίο εξετάζει διάφορους ιστότοπους με διερευνητικές δοκιμές για να προσπαθήσει να αποκαλύψει δυσλειτουργίες.
4. Πώς να διατηρήσετε διερευνητικές δοκιμές;
Οι καλά εκτελεσμένες διερευνητικές δοκιμές περιλαμβάνουν ισχυρή τεκμηρίωση στην οποία οι προγραμματιστές και οι μελλοντικοί δοκιμαστές θα ανατρέχουν για τις νεότερες επαναλήψεις του λογισμικού.
Όταν υπάρχουν σημαντικές ενημερώσεις σε μια εφαρμογή, η επανεξέταση των πρωταρχικών λειτουργιών της καθίσταται αναγκαία για να διασφαλιστεί ότι οι προσθήκες αυτές δεν έχουν αρνητικές επιπτώσεις στις προϋπάρχουσες λειτουργίες.
Αυτός είναι ο μόνος τρόπος για να εξασφαλιστεί ότι οι διερευνητικές δοκιμές θα παραμείνουν επιτυχείς μακροπρόθεσμα. Βοηθά επίσης να λαμβάνονται υπόψη μελλοντικά σχέδια, όπως προκαταρκτικά χαρακτηριστικά, κατά το σχεδιασμό της αρχικής εφαρμογής και των ελέγχων της.
Το προσωπικό QA πρέπει να σχεδιάζει επαρκώς αυτές τις δοκιμές και να υπολογίζει πότε πρέπει να επανελέγξει την εφαρμογή- τα αυτοματοποιημένα εργαλεία δοκιμών μπορούν να βοηθήσουν την ομάδα σε αυτό.
5. Είναι ο διερευνητικός έλεγχος black-box testing;
Η διερευνητική δοκιμή μοιάζει πολύ με τη δοκιμή μαύρου κουτιού, η οποία αναφέρεται στον έλεγχο μιας εφαρμογής εξετάζοντας τα χαρακτηριστικά της χωρίς να επιθεωρείται άμεσα ο κώδικας.
Δεν υπάρχει σαφές όριο στους τύπους ελέγχων που εμπίπτουν στις διερευνητικές δοκιμές- η προσέγγιση αυτή μπορεί να περιλαμβάνει κάθε πτυχή του λογισμικού, συμπεριλαμβανομένου του κώδικα.
Μία από τις βασικές ομοιότητες μεταξύ αυτών των δύο τύπων δοκιμών είναι η έλλειψη πρόβλεψης από τον ελεγκτή. Οι δοκιμαστές “μαύρου κουτιού” συνήθως δεν είναι εξοικειωμένοι με το λογισμικό πριν το δοκιμάσουν, ενώ οι διερευνητικοί δοκιμαστές μαθαίνουν πώς λειτουργεί το λογισμικό στο πλαίσιο της αρχικής τους εξέτασης.
Αν και οι διερευνητικές δοκιμές γενικά δεν κατατάσσονται πάντα στις δοκιμές μαύρου κουτιού, είναι αλήθεια ότι υπάρχει σημαντική διασταύρωση μεταξύ αυτών των δύο προσεγγίσεων.