Τι είναι η δοκιμή αντοχής στις δοκιμές λογισμικού; (με παράδειγμα)
⚡ Έξυπνη Σύνοψη
Η δοκιμή αντοχής εκτελεί μια εφαρμογή υπό κανονικό αναμενόμενο φορτίο για μεγάλο χρονικό διάστημα, για να αποκαλύψει εάν η απόδοση υποβαθμίζεται με την πάροδο του χρόνου. Είναι η δοκιμή που εντοπίζει τα ελαττώματα που δεν μπορούν να επιτευχθούν με μια λειτουργία φορτίου μίας ώρας.

Τι είναι το τεστ αντοχής;
Τεστ Αντοχής είναι μη λειτουργικός τύπος δοκιμής λογισμικού όπου ένα λογισμικό δοκιμάζεται με υψηλό φορτίο που εκτείνεται σε σημαντικό χρονικό διάστημα για την αξιολόγηση της συμπεριφοράς της εφαρμογής λογισμικού υπό συνεχή χρήση. Ο κύριος σκοπός της δοκιμής αντοχής είναι να διασφαλιστεί ότι η εφαρμογή είναι αρκετά ικανή να χειριστεί εκτεταμένο φορτίο χωρίς καμία επιδείνωση του χρόνου απόκρισης.
Αυτός ο τύπος δοκιμής εκτελείται στο τελευταίο στάδιο του κύκλου εκτέλεσης επιδόσεων. Το τεστ αντοχής είναι μια μακρά διαδικασία και μερικές φορές διαρκεί ακόμη και έως και ένα χρόνο. Αυτό μπορεί να περιλαμβάνει την εφαρμογή εξωτερικών φορτίων, όπως η κίνηση στο Διαδίκτυο ή οι ενέργειες χρήστη. Αυτό κάνει τις δοκιμές αντοχής να διαφέρουν από Δοκιμές φορτίου, το οποίο συνήθως τελειώνει σε μερικές ώρες περίπου.
Αντοχή σημαίνει χωρητικότητα, οπότε με άλλα λόγια, μπορείτε να ονομάσετε Δοκιμή Αντοχής ως Δοκιμή Ικανότητας.
Στόχοι Δοκιμών Αντοχής
- Ο πρωταρχικός στόχος της δοκιμής αντοχής είναι ο έλεγχος για διαρροές μνήμης.
- Για να ανακαλύψετε πώς λειτουργεί το σύστημα υπό συνεχή χρήση.
- Για να διασφαλιστεί ότι μετά από μεγάλο χρονικό διάστημα, ο χρόνος απόκρισης του συστήματος θα παραμείνει ίδιος ή καλύτερος από την έναρξη της δοκιμής.
- Για τον προσδιορισμό του αριθμού των χρηστών και/ή των συναλλαγών ένα δεδομένο σύστημα θα υποστηρίζει και θα εκπληρώνει τους στόχους απόδοσης.
- Για να διαχειριστούμε τα μελλοντικά φορτία, πρέπει να κατανοήσουμε πόσοι πρόσθετοι πόροι (όπως χωρητικότητα επεξεργαστή, χωρητικότητα δίσκου, χρήση μνήμης ή εύρος ζώνης δικτύου) είναι απαραίτητοι για την υποστήριξη της μελλοντικής χρήσης.
- Η δοκιμή αντοχής γίνεται γενικά είτε με υπερφόρτωση του συστήματος είτε με μείωση ορισμένων πόρων του συστήματος και αξιολόγηση των συνεπειών.
- Εκτελείται για να διασφαλιστεί ότι δεν θα συμβούν ελαττώματα ή διαρροές μνήμης μετά από μια σχετικά «κανονική» περίοδο χρήσης.
Τι πρέπει να παρακολουθείτε στις δοκιμές αντοχής
Στο Endurance Testing ελέγχονται τα ακόλουθα πράγματα.
- Δοκιμή διαρροής μνήμης– Γίνονται έλεγχοι για να επαληθευτεί εάν υπάρχει διαρροή μνήμης στην εφαρμογή, η οποία μπορεί να προκαλέσει διακοπή λειτουργίας του συστήματος ή του λειτουργικού συστήματος
- Δοκιμάστε το κλείσιμο σύνδεσης μεταξύ του στρώματος του συστήματος – Εάν η σύνδεση μεταξύ των στρωμάτων του συστήματος δεν κλείσει επιτυχώς, ενδέχεται να σταματήσει ορισμένες ή όλες οι μονάδες του συστήματος.
- Δοκιμαστική σύνδεση της βάσης δεδομένων κλείνει με επιτυχία– Εάν η σύνδεση της βάσης δεδομένων δεν κλείσει επιτυχώς, μπορεί να οδηγήσει σε κατάρρευση του συστήματος
- Χρόνος απόκρισης δοκιμής – Το σύστημα ελέγχεται για τον χρόνο απόκρισης του συστήματος καθώς η εφαρμογή γίνεται λιγότερο αποτελεσματική ως αποτέλεσμα της παρατεταμένης χρήσης του συστήματος.
Πώς να εκτελέσετε δοκιμές αντοχής
Παρακάτω είναι η βασική προσέγγιση δοκιμών για τεστ αντοχής
- Περιβάλλον δοκιμών – Προσδιορίστε το υλικό, το λογισμικό, το λειτουργικό σύστημα που απαιτούνται για τις δοκιμές αντοχής, την ανάθεση ρόλων και ευθυνών εντός της ομάδας κ.λπ. Το περιβάλλον θα πρέπει να είναι έτοιμο πριν από την εκτέλεση της δοκιμής. Πρέπει επίσης να υπολογίσετε το μέγεθος παραγωγής κοινής βάσης δεδομένων και την ετήσια ανάπτυξη. Αυτό απαιτείται ως εκ τούτου, πρέπει να ελέγξετε πώς θα ανταποκριθεί η αίτησή σας μετά από ένα, δύο ή πέντε χρόνια.
- Δημιουργία του σχεδίου δοκιμής, σενάρια – Με βάση τη φύση της δοκιμής - χειροκίνητο ή αυτοματισμό ή συνδυασμός και των δύο, Δοκιμαστική θήκη Ο σχεδιασμός, οι αναθεωρήσεις και η εκτέλεση πρέπει να προγραμματιστούν. Η δοκιμή για την πίεση του συστήματος, η δοκιμή σημείου διακοπής κ.λπ. πρέπει επίσης να είναι μέρος του σχεδίου δοκιμής. Η δοκιμή για την πίεση στο σύστημα καθορίζει το σημείο θραύσης στην εφαρμογή.
- Εκτίμηση δοκιμής - Δώστε την εκτίμηση του χρόνου που θα χρειαστεί για να ολοκληρωθεί η φάση της δοκιμής. Θα πρέπει να αναλυθεί με βάση έναν αριθμό εμπλεκόμενων ελεγκτών και τον αριθμό των κύκλων δοκιμής που απαιτούνται.
- Ανάλυση κινδύνου - Ανάλυση του κινδύνου και λήψη κατάλληλων μέτρων για την πρόληψη. Προτεραιοποίηση των περιπτώσεων δοκιμής σύμφωνα με τον παράγοντα κινδύνου και προσδιορισμός του παρακάτω ελεγκτή κινδύνου και προβλημάτων που μπορεί να σταδιακά κατά τη διάρκεια του τεστ αντοχής.
- Η απόδοση θα παραμείνει σταθερή με την πάροδο του χρόνου;
- Υπάρχουν άλλα δευτερεύοντα ζητήματα που δεν έχουν ακόμη εντοπιστεί;
- Υπάρχει εξωτερική παρέμβαση που δεν αντιμετωπίστηκε;
- Πρόγραμμα δοκιμών – Προσδιορίστε τον προϋπολογισμό, τα παραδοτέα εντός των χρονικών πλαισίων. Οπως και Τεστ Αντοχής εφαρμόζει μια τεράστια αλλά φυσική διάταξη φορτίου συναλλαγών στο σύστημα/εφαρμογή για συνεχές χρονικό διάστημα.
Παράδειγμα δοκιμής αντοχής
Ενώ Έλεγχος πίεσης φέρνει το δοκιμασμένο σύστημα στα όριά του, Δοκιμή αντοχής φτάνει την εφαρμογή στα όριά της στο περασμα του χρονου.
Για παράδειγμα, τα πιο σύνθετα προβλήματα – διαρροές μνήμης, χρήση του διακομιστή βάσης δεδομένων και μη ανταπόκριση του συστήματος – συμβαίνουν όταν το λογισμικό εκτελείται για μεγάλο χρονικό διάστημα. Εάν παραλείψετε τις δοκιμές αντοχής, οι πιθανότητες ανίχνευσης τέτοιων ελαττωμάτων πριν από την ανάπτυξη είναι αρκετά χαμηλές.
Εργαλεία δοκιμών αντοχής
- WebLOAD
- Φόρτωση ολοκλήρωσης
- Apache JMeter
- LoadRunner
- Appvance
- LoadUI
- OpenSTA
- Rational Performance Tester
Πλεονεκτήματα του τεστ αντοχής
- Βοηθά στον καθορισμό του φόρτου εργασίας που μπορεί να χειριστεί το System Under Load.
- Παρέχει ακριβή δεδομένα που μπορεί να χρησιμοποιήσει ο πελάτης για να επικυρώσει ή να βελτιώσει τις ανάγκες υποδομής του.
- Προσδιορίζει προβλήματα απόδοσης που μπορεί να προκύψουν αφού ένα σύστημα λειτουργεί σε υψηλό επίπεδο για μεγαλύτερο χρονικό διάστημα
- Τυπικά προβλήματα εντοπίζονται σε μικρότερες στοχευμένες δοκιμές απόδοσης, πράγμα που σημαίνει ότι διασφαλίζει ότι η εφαρμογή παραμένει διαθέσιμη ακόμα και όταν υπάρχει τεράστιο φορτίο σε πολύ σύντομο χρονικό διάστημα.
- Το τεστ αντοχής χρησιμοποιείται επίσης για να ελεγχθεί εάν υπάρχει υποβάθμιση της απόδοσης μετά από μια μακρά περίοδο εκτέλεσης
Μειονεκτήματα του τεστ αντοχής
- Συχνά είναι δύσκολο να ορίσουμε πόσο άγχος αξίζει να ασκηθεί.
- Η δοκιμή αντοχής θα μπορούσε να προκαλέσει αποτυχίες εφαρμογής ή/και δικτύου που μπορεί να οδηγήσουν σε σημαντική διακοπή εάν Περιβάλλον δοκιμής δεν απομονώνονται.
- Μόνιμη απώλεια δεδομένων ή καταστροφή μπορεί να προκληθεί με υπερβολική πίεση στο σύστημα.
- Η χρήση των πόρων παραμένει πολύ υψηλή μετά την αφαίρεση του στρες.
- Ορισμένα στοιχεία εφαρμογής αποτυγχάνουν να ανταποκριθούν.
- Οι μη χειρισμένες εξαιρέσεις παρατηρούνται από τον τελικό χρήστη.
Πώς ταιριάζει αυτή η δοκιμή στην οικογένεια δοκιμών απόδοσης
Ο έλεγχος απόδοσης είναι ένας γενικός όρος. Οι παρακάτω παραλλαγές διαφέρουν μόνο ως προς το σχήμα του εφαρμοζόμενου φορτίου και τη διάρκεια που αυτό διατηρείται, γι' αυτό και συγχέονται τόσο συχνά μεταξύ τους.
| Τύπος δοκιμής | Μοτίβο φόρτωσης | Ερώτηση που απαντά |
|---|---|---|
| Δοκιμή φόρτωσης | Αναμενόμενο μέγιστο φορτίο, μικρής διάρκειας | Επιτυγχάνει το σύστημα τους στόχους του υπό κανονικές ώρες αιχμής; |
| Έλεγχος πίεσης | Αυξημένη πέραν της χωρητικότητας μέχρι την αστοχία | Πού χαλάει και αποτυγχάνει ομαλά; |
| Δοκιμή ακίδων | Ξαφνική έντονη έξαρση, στη συνέχεια απόσυρση | Επιβιώνει και ανακάμπτει από ένα κυκλοφοριακό σοκ; |
| Δοκιμή αντοχής | Κανονικό φορτίο που διατηρείται για πολλές ώρες | Η απόδοση υποβαθμίζεται με την πάροδο του χρόνου; |
| Δοκιμή εμβάπτισης | Παρατεταμένο φορτίο για μεγάλο χρονικό διάστημα | Υπάρχουν διαρροές μνήμης ή εξάντληση πόρων; |
| Δοκιμή σταθερότητας | Μεταβαλλόμενο φορτίο ανάλογα με τις συνθήκες | Παραμένει το σύστημα αξιόπιστο καθώς αλλάζουν οι συνθήκες; |
| Δοκιμή όγκου | Κανονικοί χρήστες, πολύ μεγάλος όγκος δεδομένων | Τα καταφέρνει καθώς η βάση δεδομένων μεγαλώνει; |
Οι δοκιμές αντοχής και εμποτισμού αντιμετωπίζονται συχνά ως συνώνυμα. Στην κοινή χρήση, και οι δύο είναι: και οι δύο διατηρούν ένα συνεχές φορτίο για μεγάλο χρονικό διάστημα. Όπου οι ομάδες τις διακρίνουν, οι δοκιμές αντοχής επικεντρώνονται στο εάν οι χρόνοι απόκρισης αυξάνονται, ενώ οι δοκιμές soak επικεντρώνονται στην κατανάλωση πόρων, όπως η μνήμη, οι λαβές αρχείων και οι ομάδες σύνδεσης. Η εκτέλεση ενός από αυτά συνήθως σας δίνει τα στοιχεία και για τα δύο.
Βασικές μετρήσεις προς καταγραφή κατά τη διάρκεια της δοκιμής
Μια εκτέλεση απόδοσης είναι τόσο καλή όσο αυτό που καταγράφετε κατά την εκτέλεσή της. Καταγράψτε αυτά τα έξι στον διακομιστή και στον υπολογιστή-πελάτη και, στη συνέχεια, συγκρίνετέ τα με την αρχική τιμή και όχι με μια προαίσθηση.
| Μετρικός | Αυτό που σου λέει | Σημάδι προειδοποίησης |
|---|---|---|
| Μέσος χρόνος απόκρισης | Τυπική εμπειρία χρήστη | Οποιαδήποτε ανοδική απόκλιση κατά μήκος της διαδρομής |
| Χρόνος απόκρισης 95ου εκατοστημορίου | Η εμπειρία των πιο αργών χρηστών | Πολύ πάνω από τον μέσο όρο, που σημαίνει ασυνέπεια |
| Διακίνηση | Αιτήματα που διεκπεραιώνονται ανά δευτερόλεπτο | Πτώση ενώ το φορτίο παραμένει σταθερό |
| Ποσοστό σφάλματος | Ποσοστό αιτημάτων που έχουν αποτύχει ή έχουν λήξει με χρονικό όριο | Οποιαδήποτε αύξηση πάνω από το συμφωνημένο όριο |
| Χρήση CPU και μνήμης | Ελεύθερο περιθώριο πόρων διακομιστή | Μνήμη που ανεβαίνει και δεν επιστρέφει ποτέ |
| Συνδέσεις και νήματα βάσης δεδομένων | Εξάντληση πισίνας | Πλήθος που αυξάνεται σταθερά χωρίς απελευθέρωση |
Διαβάστε τον μέσο όρο και το εκατοστημόριο μαζί. Ένας μέσος χρόνος 800 ms με 95ο εκατοστημόριο 900 ms περιγράφει ένα συνεπές σύστημα. Ο ίδιος μέσος όρος με 95ο εκατοστημόριο 9 δευτερολέπτων σημαίνει ότι ένας χρήστης στους είκοσι περνάει άσχημα και ο μέσος όρος το κρύβει.
Παρακολουθήστε το σχήμα, όχι μόνο την αξία. Σε οποιαδήποτε δοκιμή μακράς διαρκείας, μια επίπεδη γραμμή πόρων αποτελεί επιτυχία και μια αυξανόμενη γραμμή αποτελεί διαρροή, ακόμη και όταν ο απόλυτος αριθμός εξακολουθεί να βρίσκεται άνετα εντός του ορίου τη στιγμή που τελειώνει η εκτέλεση.
Δοκιμές Αντοχής: Βασικά Συμπεράσματα
- In Τεχνολογία Λογισμικού, Η δοκιμή αντοχής είναι ένα υποσύνολο της δοκιμής φορτίου.
- Το τεστ αντοχής είναι μια μακρά διαδικασία και μερικές φορές διαρκεί ακόμη και ένα χρόνο
- Γίνονται έλεγχοι για επαλήθευση
- Δοκιμή διαρροής μνήμης
- Χρόνος απόκρισης δοκιμής
- Δοκιμή σύνδεσης βάσης δεδομένων κ.λπ.

