1. Δοκιμή μονάδας:
* Διαδικασία: Δοκιμή μεμονωμένων εξαρτημάτων (λειτουργίες, μέθοδοι, μονάδες) σε απομόνωση. Αυτό περιλαμβάνει τη δημιουργία δοκιμαστικών περιπτώσεων που ασκούν διάφορες εισροές και περιπτώσεις άκρων για να επαληθεύσουν ότι κάθε στοιχείο συμπεριφέρεται όπως αναμένεται.
* Εργαλεία: Junit (Java), Pytest (Python), Unittest (Python), Mocha (Javascript), Jest (JavaScript).
* Τεχνικές: Η ανάπτυξη με γνώμονα τη δοκιμή (TDD), όπου γράφονται οι δοκιμές * πριν * ο κώδικας, χλευάζοντας τις εξαρτήσεις για την απομόνωση της υπό δοκιμή μονάδας.
2. Δοκιμές ενσωμάτωσης:
* Διαδικασία: Δοκιμάζοντας την αλληλεπίδραση μεταξύ διαφορετικών εξαρτημάτων ή μονάδων για να εξασφαλιστεί ότι συνεργάζονται σωστά.
* Εργαλεία: Συχνά τα ίδια εργαλεία που χρησιμοποιούνται για τη δοκιμή μονάδων, αλλά με έμφαση στη δοκιμή των διεπαφών και των αλληλεπιδράσεων μεταξύ των μονάδων.
* Τεχνικές: Χρησιμοποιώντας το Mocking για την προσομοίωση εξωτερικών εξαρτήσεων μόνο όταν είναι απαραίτητο, εστιάζοντας στην επαλήθευση της ροής των δεδομένων και της λειτουργικότητας σε πολλαπλές μονάδες.
3. Δοκιμή συστήματος:
* Διαδικασία: Δοκιμάζοντας ολόκληρο το σύστημα στο σύνολό του για να διασφαλιστεί ότι πληροί τις συγκεκριμένες απαιτήσεις. Αυτό περιλαμβάνει τη δοκιμή της λειτουργικότητας, της απόδοσης και της ασφάλειας του συστήματος.
* Εργαλεία: Σελήνιο (εφαρμογές ιστού), Appium (εφαρμογές για κινητά), εργαλεία δοκιμής φόρτωσης όπως JMeter ή K6.
* Τεχνικές: Δοκιμές μαύρου κουτιού (δοκιμές χωρίς γνώση της εσωτερικής λειτουργίας), δοκιμή λευκού κουτιού (δοκιμές με γνώση της εσωτερικής λειτουργίας) και διάφορες τεχνικές σχεδιασμού δοκιμών όπως η κατανομή της ισοδυναμίας και η ανάλυση οριακής αξίας.
4. Δοκιμές παλινδρόμησης:
* Διαδικασία: Επανεξέταση του λογισμικού μετά από αλλαγές (π.χ. διορθώσεις σφαλμάτων, νέα χαρακτηριστικά) για να διασφαλιστεί ότι η υπάρχουσα λειτουργικότητα δεν έχει σπάσει. Αυτό είναι ζωτικής σημασίας για τη διατήρηση της ποιότητας του λογισμικού με την πάροδο του χρόνου.
* Εργαλεία: Τα πλαίσια αυτοματισμού δοκιμών (όπως το Selenium, Pytest, Junit) είναι απαραίτητα για την αποτελεσματική δοκιμή παλινδρόμησης. Τα εργαλεία διαχείρισης δοκιμών βοηθούν στην παρακολούθηση της εκτέλεσης και των αποτελεσμάτων των δοκιμών.
* Τεχνικές: Εκτέλεση υφιστάμενων δοκιμαστικών σουιτών, δίνοντας προτεραιότητα στις δοκιμές με βάση τον κίνδυνο και τον αντίκτυπο.
5. Δοκιμές απόδοσης:
* Διαδικασία: Αξιολόγηση της ανταπόκρισης, της σταθερότητας, της επεκτασιμότητας και της χρήσης των πόρων του συστήματος υπό διαφορετικές συνθήκες φορτίου.
* Εργαλεία: JMeter, K6, Gatling, LoadRunner.
* Τεχνικές: Δοκιμές φόρτωσης (προσομοίωση μεγάλου αριθμού χρηστών), δοκιμή στρες (πιέζοντας το σύστημα πέρα από τα όριά του), δοκιμή αντοχής (δοκιμή της ικανότητας του συστήματος να χειρίζεται το παρατεταμένο φορτίο).
6. Δοκιμές ασφαλείας:
* Διαδικασία: Προσδιορισμός των τρωτών σημείων και αδυναμιών στο σύστημα που θα μπορούσαν να αξιοποιηθούν από τους επιτιθέμενους.
* Εργαλεία: Στατικά και δυναμικά εργαλεία δοκιμών ασφαλείας εφαρμογών (SAST/DAST), εργαλεία δοκιμής διείσδυσης.
* Τεχνικές: Σάρωση ευπάθειας, δοκιμή διείσδυσης, ανασκόπηση κώδικα για ελαττώματα ασφαλείας.
7. Δοκιμές χρηστικότητας:
* Διαδικασία: Αξιολόγηση της φιλίας προς το χρήστη και της αποτελεσματικότητας του εργαλείου από την άποψη ενός χρήστη.
* Εργαλεία: Παρατήρηση, συνεντεύξεις χρηστών, έρευνες, λογισμικό δοκιμών χρηστικότητας.
* Τεχνικές: Εξαιρετική αξιολόγηση, γνωστικές αναλύσεις, συνεδρίες δοκιμών χρηστών.
Οι συγκεκριμένες διαδικασίες δοκιμών που χρησιμοποιούνται θα διαφέρουν επίσης ανάλογα με τη μεθοδολογία ανάπτυξης (π.χ. ευκίνητος, καταρράκτης). Οι ευέλικτες μεθοδολογίες συνήθως υπογραμμίζουν συνεχείς δοκιμές και ολοκλήρωση, ενώ ο καταρράκτης μπορεί να περιλαμβάνει πιο εκτεταμένες φάσεις δοκιμών στο τέλος του κύκλου ανάπτυξης. Εκτός από τα παραπάνω, πολλές ομάδες ενσωματώνουν την αναθεώρηση κώδικα και τη στατική ανάλυση ως μέρος της στρατηγικής δοκιμών τους.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα