Τεράστιες εταιρείες λογισμικού, όπως το Google, επιτυγχάνουν, παρά τα σφάλματα χαμηλής προτεραιότητας στο λογισμικό τους, αλλά οι μικρότερες εταιρείες και οι νεοσύστατες εταιρείες δεν έχουν αυτή την πολυτέλεια.
Οι πελάτες αναμένουν ότι τα προϊόντα θα κάνουν ό, τι ισχυρίζονται στη σελίδα πωλήσεων ή στην τεκμηρίωση. Με τόσες πολλές επιλογές εκεί έξω, δεν θα σκέφτονται δύο φορές για πηδώντας το πλοίο αν το προϊόν σπαταλάει το χρόνο και τα χρήματά τους. Ως εκ τούτου, το λογισμικό υποβάλλεται σε αυστηρές δοκιμές πριν από την απελευθέρωση προκειμένου:
υπογραμμίζουν τις διαφορές μεταξύ της αρχικής ιδέας και της τελικής παραγωγής
επαληθεύστε ότι το λογισμικό λειτουργεί με τον τρόπο που προγραμματίζουν οι σχεδιαστές
επικυρώστε το τελικό προϊόν - το προϊόν πρέπει να πληροί τις απαιτήσεις του πελάτη
να αξιολογήσει τα χαρακτηριστικά και την ποιότητα
Η δοκιμή ακολουθεί ένα αυστηρό σχέδιο. Αυτό βελτιστοποιεί τη χρήση πολύτιμων πόρων - δεξιοτήτων, χρόνου και χρημάτων, παρέχοντας παράλληλα στους ενδιαφερόμενους τις απαραίτητες πληροφορίες για να προωθήσουν το προϊόν. Ο στόχος είναι να διευκολυνθεί η καλή εμπειρία των τελικών χρηστών μέσω ενός ισχυρού προγράμματος διασφάλισης της ποιότητας . Με τα στοιχήματα τόσο υψηλά, οι διαχειριστές QA είναι μερικοί από τους κορυφαίους εργαζόμενους στην τεχνολογία. Η δοκιμή συνήθως ακολουθεί τα εξής βήματα:
Ανάλυση απαιτήσεων, όπου οι διαχειριστές σκιαγραφούν ένα σχέδιο για να θέσουν σε εφαρμογή μια κατάλληλη δοκιμαστική στρατηγική.
Οι δοκιμές ξεκινούν και τα αποτελέσματα υποβάλλονται σε ανάλυση.
Οποιεσδήποτε ελαττώματα διορθώνονται και το λογισμικό περνάει δοκιμές παλινδρόμησης - ένα σύστημα ελέγχου του προγράμματος εξακολουθεί να λειτουργεί μετά από τροποποιήσεις.
Μια αναφορά τερματισμού δοκιμής αναλύει στη συνέχεια ολόκληρη τη διαδικασία και τα αποτελέσματα.
Μέθοδοι Δοκιμής Λογισμικού
Ακολουθούν οι διάφορες μέθοδοι που χρησιμοποιούνται για να κρίνουμε τη συμπεριφορά και την απόδοση του προϊόντος.
Το μαύρο κιβώτιο και η δοκιμή λευκού κουτιού είναι οι δύο βασικές μέθοδοι.
- Δοκιμή μαύρου κουτιού - Επίσης ονομάζεται δοκιμή βάσει λειτουργικών χαρακτηριστικών ή βάσει προδιαγραφών, η μέθοδος αυτή επικεντρώνεται στην παραγωγή. Οι εξεταστές δεν ασχολούνται με τους εσωτερικούς μηχανισμούς. Ελέγχουν μόνο το λογισμικό που κάνει αυτό που υποτίθεται. Η γνώση της κωδικοποίησης δεν είναι απαραίτητη και οι δοκιμαστές εργάζονται σε επίπεδο διεπαφής χρήστη.
- Δοκιμή λευκού κουτιού - Αυτή η μέθοδος χρησιμοποιεί τεχνογνωσία κωδικοποίησης ως μέρος της διαδικασίας δοκιμής. Όταν ένα προϊόν αποτύχει, οι δοκιμαστές πηγαίνουν τόσο βαθιά στον κώδικα όσο χρειάζεται για να βρουν την αιτία. Οι προγραμματιστές λογισμικού το κάνουν αυτό καθόσον καθορίζουν τον τρόπο με τον οποίο το προϊόν πρέπει να λειτουργήσει. Δοκιμαστικές δομές και γυάλινα κουτιά είναι άλλα ονόματα για αυτήν τη μέθοδο.
- Στατικές δοκιμές - Οι δοκιμαστές εξετάζουν τον κώδικα και την τεκμηρίωση του λογισμικού, αλλά δεν εκτελούν το πρόγραμμα. Οι στατικές δοκιμές αρχίζουν νωρίς στην ανάπτυξη του προϊόντος κατά τη διάρκεια της διαδικασίας επαλήθευσης.
- Δυναμική δοκιμή - Το λογισμικό εκτελείται με διάφορες εισόδους και οι δοκιμαστές συγκρίνουν τα αποτελέσματα με την αναμενόμενη συμπεριφορά με αυτή τη μέθοδο.
- Δοκιμή GUI - Αυτό δοκιμάζει τα χαρακτηριστικά GUI - μορφοποίηση κειμένου, πλαίσια κειμένου, κουμπιά, λίστες, διάταξη, χρώματα, γραμματοσειρές, μεγέθη γραμματοσειρών κ.ο.κ. Οι δοκιμές GUI είναι χρονοβόρες και οι τρίτες εταιρείες συχνά αναλαμβάνουν το καθήκον αντί των προγραμματιστών.
Επίπεδα δοκιμής
Αυτά είναι απαραίτητα για τον εντοπισμό των περιοχών αδυναμίας και αλληλεπικάλυψης σε κάθε φάση του κύκλου ζωής του λογισμικού ανάπτυξης.
- Δοκιμή μονάδων - Οι προγραμματιστές δοκιμάζουν τα πιο βασικά μέρη του κώδικα όπως κλάσεις, διεπαφές και λειτουργίες / διαδικασίες. Γνωρίζουν πώς ο κωδικός τους πρέπει να ανταποκρίνεται και μπορεί να κάνει προσαρμογές ανάλογα με την παραγωγή.
- Δοκιμή εξαρτημάτων - Άλλα ονόματα είναι δοκιμές μονάδων ή προγραμμάτων. Είναι παρόμοιο με τη δοκιμή μονάδων αλλά περιέχει ένα υψηλότερο επίπεδο ολοκλήρωσης. Οι ενότητες του λογισμικού ελέγχονται για ελαττώματα για να επαληθεύσουν την ατομική τους λειτουργία.
- Έλεγχος ενσωμάτωσης - Αυτό προσδιορίζει τα σφάλματα κατά την ολοκλήρωση ενοτήτων. Διαφορετικές δοκιμές ενσωμάτωσης είναι από κάτω προς τα πάνω, από την κορυφή προς τα κάτω και λειτουργικές αυξανόμενες.
- Δοκιμή συστήματος - Τα συστατικά του έργου δοκιμάζονται συνολικά σε διαφορετικά περιβάλλοντα με αυτή τη μέθοδο. Ανήκει στη μέθοδο του μαύρου κιβωτίου και είναι μία από τις τελικές δοκιμές στη διαδικασία. Καθορίζει αν το σύστημα λειτουργεί όπως πρέπει για να καλύψει τις ανάγκες των επιχειρήσεων και των χρηστών.
- Δοκιμή Alpha - Το εσωτερικό προσωπικό δοκιμάζει το λογισμικό στον ιστότοπο του προγραμματιστή σε ένα προσομοιωμένο ή πραγματικό περιβάλλον. Μετά από αυτό, οι προγραμματιστές διορθώνουν σφάλματα και άλλα θέματα.
- Δοκιμή beta - Γνωστή και ως δοκιμή πεδίου, ο πελάτης ελέγχει το προϊόν στη δική του τοποθεσία σε πραγματικές συνθήκες. Ο πελάτης μπορεί να προσφέρει μια ομάδα τελικών χρηστών την ευκαιρία να δοκιμάσουν το λογισμικό μέσω εκδόσεων προ-εκδόσεων ή beta. Στη συνέχεια, αποστέλλεται ανάδραση σχετικά με πιθανές βελτιώσεις στον προγραμματιστή.
- Δοκιμή αποδοχής - Επίσης, στο πλαίσιο της δοκιμής μαύρου κουτιού, ο πελάτης δοκιμάζει το λογισμικό για να διαπιστώσει εάν ο προγραμματιστής έχει δημιουργήσει το πρόγραμμα στις επιθυμητές προδιαγραφές.
Τύποι δοκιμών
Αυτές οι δοκιμές λογισμικού επικεντρώνονται σε συγκεκριμένους στόχους.
- Δοκιμή εγκατάστασης - Ο μηχανικός δοκιμών λογισμικού και ο διαχειριστής διαμόρφωσης διεξάγουν αυτήν τη δοκιμή για να διασφαλίσουν ότι ο τελικός χρήστης μπορεί να εγκαταστήσει και να εκτελέσει το πρόγραμμα. Καλύπτει τομείς όπως αρχεία εγκατάστασης, τοποθεσίες εγκατάστασης και δικαιώματα διαχειριστή.
- Ανάπτυξη δοκιμών - Αυτό υλοποιεί μια σειρά συγχρονισμένων στρατηγικών για την ανίχνευση και πρόληψη των ελαττωμάτων. Περιλαμβάνει ανάλυση στατικού κώδικα, αξιολογήσεις από ομότιμους, ανιχνευσιμότητα και ανάλυση μετρήσεων. Στόχος είναι η μείωση των κινδύνων και η εξοικονόμηση κόστους.
- Δοκιμασία ευχρηστίας - Η εμπειρία του χρήστη έρχεται κάτω από το προσκήνιο με αυτό το τεστ. Μετράει πόσο καλά έχει σχεδιαστεί το GUI και την ευκολία χρήσης του. Η δοκιμή ελέγχει την ακρίβεια και την αποτελεσματικότητα των λειτουργιών και τις συναισθηματικές απαντήσεις των υποκειμένων δοκιμής.
- Έλεγχος υγιεινής - Αυτό δείχνει εάν το λογισμικό αξίζει τον χρόνο και το κόστος για να συνεχίσει τις περαιτέρω δοκιμές. Δεν ακολουθούν πάρα πολλά λάθη και πιο επιθετικές δοκιμές.
- Δοκιμή καπνού - Ο έλεγχος καπνού αποκαλύπτει βασικές βλάβες που είναι αρκετά σοβαρές για να αποτρέψουν την απελευθέρωση. Όταν αυτό γίνεται σε μια νέα έκδοση, ονομάζεται δοκιμή επαλήθευσης κατασκευής.
- Δοκιμή παλινδρόμησης - Όταν το σύστημα υφίσταται τροποποίηση, η δοκιμή παλινδρόμησης παρακολουθεί την απροσδόκητη συμπεριφορά. Επισημαίνει τις δυσμενείς επιπτώσεις στις ενότητες ή τα στοιχεία.
- Καταστροφικές δοκιμές - Οι δοκιμαστές εισάγουν μη φυσιολογικές καταχωρίσεις και διακρίνουν την ικανότητα του λογισμικού να διαχειρίζεται τις απρόσμενες εισόδους. Αυτό δείχνει στους προγραμματιστές πόσο ισχυρό είναι το πρόγραμμα στη διαχείριση σφαλμάτων.
- Δοκιμή ανάκτησης - Όταν αποτύχει το υλικό ή άλλες λειτουργίες, αυτό το τεστ δείχνει πόσο καλά το λογισμικό μπορεί να ανακτήσει και να συνεχίσει τη λειτουργία του.
- Αυτόματη δοκιμή - Αυτό εκτελεί λειτουργίες που είναι δύσκολο να εφαρμοστούν με το χέρι. Χρησιμοποιεί ειδικό λογισμικό για τη διεξαγωγή των δοκιμών και την παροχή δεδομένων σχετικά με τα πραγματικά έναντι των αναμενόμενων αποτελεσμάτων.
- Δοκιμή συμβατότητας - Το λογισμικό πρέπει να λειτουργεί σε διαφορετικά περιβάλλοντα υπολογιστών, έτσι ώστε να ελέγχεται η συμβατότητα με διαφορετικά συστήματα. Για παράδειγμα, το λογισμικό λειτουργεί με διάφορα λειτουργικά συστήματα και προγράμματα περιήγησης ιστού;
- Δοκιμή απόδοσης - Πρόκειται για μια σε βάθος δοκιμή που εξετάζει την απόδοση του λογισμικού σε διάφορα σενάρια. Παρέχονται πληροφορίες σχετικά με την ανταπόκριση, τη σταθερότητα, την κατανομή πόρων και την ταχύτητα. Επιπλέον, οι υπο-δοκιμές, όπως ο όγκος, η χωρητικότητα και οι δοκιμές ακίδων, συμβάλλουν στη διαδικασία αυτή.
- Δοκιμές ασφάλειας - Μετράει την ικανότητα του λογισμικού να προστατεύει την ασφάλεια των χρηστών. Αυτό σημαίνει λειτουργίες εξουσιοδότησης, πιστοποίηση ταυτότητας, εμπιστευτικότητα, ακεραιότητα, διαθεσιμότητα και μη αποκήρυξη.
- Δοκιμές προσβασιμότητας - Αυτό δεν είναι το ίδιο με τη δοκιμή ευχρηστίας. Αυτό καθορίζει το βαθμό στον οποίο οι χρήστες των διαφορετικών δυνατοτήτων - μαθησιακές και σωματικές αναπηρίες που περιλαμβάνονται, μπορούν να χρησιμοποιήσουν το λογισμικό.
- Δοκιμές διεθνοποίησης και εντοπισμού - Τα αποτελέσματα δείχνουν πως το λογισμικό μπορεί να προσαρμοστεί σε διαφορετικές γλώσσες και περιφερειακές απαιτήσεις. Αυτό περιλαμβάνει την προσθήκη στοιχείων για συγκεκριμένες τοποθεσίες και τη μετάφραση κειμένου.
Η δοκιμή του λογισμικού αποτελεί ουσιαστικό μέρος της διάθεσης ενός προϊόντος στην αγορά. Και χωρίς δοκιμαστές, το τεράστιο φάσμα του διαθέσιμου λογισμικού δεν θα υπήρχε. Γίνετε πιστοποιημένος δοκιμαστής λογισμικού μέσω οργανισμών όπως το BCS, το Chartered Institute for IT, το ISTQB® και το ASQ (πρώην η Αμερικανική Εταιρεία Ποιότητας).