Τι είναι η δοκιμή αντοχής στις δοκιμές λογισμικού; (με παράδειγμα)

Τεστ Αντοχής

Τεστ Αντοχής είναι μη λειτουργικός τύπος δοκιμής λογισμικού όπου ένα λογισμικό δοκιμάζεται με υψηλό φορτίο που εκτείνεται σε σημαντικό χρονικό διάστημα για την αξιολόγηση της συμπεριφοράς της εφαρμογής λογισμικού υπό συνεχή χρήση. Ο κύριος σκοπός της δοκιμής αντοχής είναι να διασφαλιστεί ότι η εφαρμογή είναι αρκετά ικανή να χειριστεί εκτεταμένο φορτίο χωρίς καμία επιδείνωση του χρόνου απόκρισης.

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

Αντοχή σημαίνει χωρητικότητα, οπότε με άλλα λόγια, μπορείτε να ονομάσετε Δοκιμή Αντοχής ως Δοκιμή Ικανότητας.

Στόχοι Δοκιμών Αντοχής

  • Ο πρωταρχικός στόχος της δοκιμής αντοχής είναι ο έλεγχος για διαρροές μνήμης.
  • Για να ανακαλύψετε πώς λειτουργεί το σύστημα υπό συνεχή χρήση.
  • Για να διασφαλιστεί ότι μετά από μεγάλο χρονικό διάστημα, ο χρόνος απόκρισης του συστήματος θα παραμείνει ίδιος ή καλύτερος από την έναρξη της δοκιμής.
  • Για τον προσδιορισμό του αριθμού των χρηστών και/ή των συναλλαγών ένα δεδομένο σύστημα θα υποστηρίζει και θα εκπληρώνει τους στόχους απόδοσης.
  • Για να διαχειριστούμε τα μελλοντικά φορτία, πρέπει να κατανοήσουμε πόσοι πρόσθετοι πόροι (όπως χωρητικότητα επεξεργαστή, χωρητικότητα δίσκου, χρήση μνήμης ή εύρος ζώνης δικτύου) είναι απαραίτητοι για την υποστήριξη της μελλοντικής χρήσης.
  • Η δοκιμή αντοχής γίνεται γενικά είτε με υπερφόρτωση του συστήματος είτε με μείωση ορισμένων πόρων του συστήματος και αξιολόγηση των συνεπειών.
  • Εκτελείται για να διασφαλιστεί ότι δεν θα συμβούν ελαττώματα ή διαρροές μνήμης μετά από μια σχετικά «κανονική» περίοδο χρήσης.

Τι πρέπει να παρακολουθείτε στο τεστ αντοχής

Τεστ Αντοχής

Στο Endurance Testing ελέγχονται τα ακόλουθα πράγματα.
  • Δοκιμή διαρροής μνήμης– Γίνονται έλεγχοι για να επαληθευτεί εάν υπάρχει διαρροή μνήμης στην εφαρμογή, η οποία μπορεί να προκαλέσει διακοπή λειτουργίας του συστήματος ή του λειτουργικού συστήματος
  • Δοκιμάστε το κλείσιμο σύνδεσης μεταξύ του στρώματος του συστήματος – Εάν η σύνδεση μεταξύ των στρωμάτων του συστήματος δεν κλείσει επιτυχώς, ενδέχεται να σταματήσει ορισμένες ή όλες οι μονάδες του συστήματος.
  • Δοκιμαστική σύνδεση της βάσης δεδομένων κλείνει με επιτυχία– Εάν η σύνδεση της βάσης δεδομένων δεν κλείσει επιτυχώς, μπορεί να οδηγήσει σε κατάρρευση του συστήματος
  • Χρόνος απόκρισης δοκιμής – Το σύστημα ελέγχεται για τον χρόνο απόκρισης του συστήματος καθώς η εφαρμογή γίνεται λιγότερο αποτελεσματική ως αποτέλεσμα της παρατεταμένης χρήσης του συστήματος.

Πώς να κάνετε τεστ αντοχής

Παρακάτω είναι η βασική προσέγγιση δοκιμών για τεστ αντοχής
  • Περιβάλλον δοκιμών – Προσδιορίστε το υλικό, το λογισμικό, το λειτουργικό σύστημα που απαιτούνται για τις δοκιμές αντοχής, την ανάθεση ρόλων και ευθυνών εντός της ομάδας κ.λπ. Το περιβάλλον θα πρέπει να είναι έτοιμο πριν από την εκτέλεση της δοκιμής. Πρέπει επίσης να υπολογίσετε το μέγεθος παραγωγής κοινής βάσης δεδομένων και την ετήσια ανάπτυξη. Αυτό απαιτείται ως εκ τούτου, πρέπει να ελέγξετε πώς θα ανταποκριθεί η αίτησή σας μετά από ένα, δύο ή πέντε χρόνια.
  • Δημιουργία του σχεδίου δοκιμής, σενάρια – Με βάση τη φύση της δοκιμής - χειροκίνητο ή αυτοματισμό ή συνδυασμός και των δύο, Δοκιμαστική θήκη Ο σχεδιασμός, οι αναθεωρήσεις και η εκτέλεση πρέπει να προγραμματιστούν. Η δοκιμή για την πίεση του συστήματος, η δοκιμή σημείου διακοπής κ.λπ. πρέπει επίσης να είναι μέρος του σχεδίου δοκιμής. Η δοκιμή για την πίεση στο σύστημα καθορίζει το σημείο θραύσης στην εφαρμογή.
  • Εκτίμηση δοκιμής - Δώστε την εκτίμηση του χρόνου που θα χρειαστεί για να ολοκληρωθεί η φάση της δοκιμής. Θα πρέπει να αναλυθεί με βάση έναν αριθμό εμπλεκόμενων ελεγκτών και τον αριθμό των κύκλων δοκιμής που απαιτούνται.
  • Ανάλυση κινδύνου - Ανάλυση του κινδύνου και λήψη κατάλληλων μέτρων για την πρόληψη. Προτεραιοποίηση των περιπτώσεων δοκιμής σύμφωνα με τον παράγοντα κινδύνου και προσδιορισμός του παρακάτω ελεγκτή κινδύνου και προβλημάτων που μπορεί να σταδιακά κατά τη διάρκεια του τεστ αντοχής.
  • Η απόδοση θα παραμείνει σταθερή με την πάροδο του χρόνου;
  • Υπάρχουν άλλα δευτερεύοντα ζητήματα που δεν έχουν ακόμη εντοπιστεί;
  • Υπάρχει εξωτερική παρέμβαση που δεν αντιμετωπίστηκε;
  • Πρόγραμμα δοκιμών – Προσδιορίστε τον προϋπολογισμό, τα παραδοτέα εντός των χρονικών πλαισίων. Οπως και Τεστ Αντοχής εφαρμόζει μια τεράστια αλλά φυσική διάταξη φορτίου συναλλαγών στο σύστημα/εφαρμογή για συνεχές χρονικό διάστημα.

Παράδειγμα δοκιμής αντοχής

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

Εργαλεία δοκιμών αντοχής

  • WebLOAD
  • Φόρτωση ολοκλήρωσης
  • Apache JMeter
  • LoadRunner
  • Appvance
  • LoadUI
  • OpenSTA
  • Rational Performance Tester

Πλεονεκτήματα του τεστ αντοχής

  • Βοηθά στον καθορισμό του φόρτου εργασίας που μπορεί να χειριστεί το System Under Load.
  • Παρέχει ακριβή δεδομένα που μπορεί να χρησιμοποιήσει ο πελάτης για να επικυρώσει ή να βελτιώσει τις ανάγκες υποδομής του.
  • Προσδιορίζει προβλήματα απόδοσης που μπορεί να προκύψουν αφού ένα σύστημα λειτουργεί σε υψηλό επίπεδο για μεγαλύτερο χρονικό διάστημα
  • Τυπικά προβλήματα εντοπίζονται σε μικρότερες στοχευμένες δοκιμές απόδοσης, πράγμα που σημαίνει ότι διασφαλίζει ότι η εφαρμογή παραμένει διαθέσιμη ακόμα και όταν υπάρχει τεράστιο φορτίο σε πολύ σύντομο χρονικό διάστημα.
  • Το τεστ αντοχής χρησιμοποιείται επίσης για να ελεγχθεί εάν υπάρχει υποβάθμιση της απόδοσης μετά από μια μακρά περίοδο εκτέλεσης

Μειονεκτήματα του τεστ αντοχής

  • Συχνά είναι δύσκολο να ορίσουμε πόσο άγχος αξίζει να ασκηθεί.
  • Η δοκιμή αντοχής θα μπορούσε να προκαλέσει αποτυχίες εφαρμογής ή/και δικτύου που μπορεί να οδηγήσουν σε σημαντική διακοπή εάν Περιβάλλον δοκιμής δεν απομονώνονται.
  • Μόνιμη απώλεια δεδομένων ή καταστροφή μπορεί να προκληθεί με υπερβολική πίεση στο σύστημα.
  • Η χρήση των πόρων παραμένει πολύ υψηλή μετά την αφαίρεση του στρες.
  • Ορισμένα στοιχεία εφαρμογής αποτυγχάνουν να ανταποκριθούν.
  • Οι μη χειρισμένες εξαιρέσεις παρατηρούνται από τον τελικό χρήστη.

Σύνοψη

  • In Τεχνολογία Λογισμικού, Η δοκιμή αντοχής είναι ένα υποσύνολο της δοκιμής φορτίου.
  • Το τεστ αντοχής είναι μια μακρά διαδικασία και μερικές φορές διαρκεί ακόμη και ένα χρόνο
  • Γίνονται έλεγχοι για επαλήθευση
  • Δοκιμή διαρροής μνήμης
  • Χρόνος απόκρισης δοκιμής
  • Δοκιμή σύνδεσης βάσης δεδομένων κ.λπ.