Τι είναι το Spike Testing στη δοκιμή λογισμικού; Μάθετε με το παράδειγμα

Τι είναι το Spike Testing;

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

Το Spike Testing εκτελείται για να εκτιμηθούν οι αδυναμίες των εφαρμογών λογισμικού.

Δοκιμή ακίδων
Δοκιμή ακίδων

Στόχος της δοκιμής Spike

Ο στόχος της δοκιμής Spike είναι να δούμε πώς το σύστημα ανταποκρίνεται σε απροσδόκητη άνοδο και πτώση του φορτίου χρήστη. Στη Μηχανική Λογισμικού, η δοκιμή Spike βοηθά στον προσδιορισμό της επιδείνωσης της απόδοσης του συστήματος όταν υπάρχει ξαφνικό υψηλό φορτίο.

Ένας άλλος στόχος του Spike Testing είναι ο προσδιορισμός του χρόνου αποκατάστασης. Ανάμεσα σε δύο διαδοχικές αιχμές φορτίου χρήστη, το σύστημα χρειάζεται λίγο χρόνο για να σταθεροποιηθεί. Αυτός ο χρόνος αποκατάστασης πρέπει να είναι όσο το δυνατόν χαμηλότερος.

Πώς να κάνετε το Spike Testing

Ακολουθούν τα απλά βήματα για να εκτελέσετε τη δοκιμή Spike:

Βήμα 1) Προσδιορίστε τη χωρητικότητα φορτίου

Προσδιορίστε τη μέγιστη χωρητικότητα φορτίου χρήστη της εφαρμογής λογισμικού σας.

Βήμα 2) Προετοιμάστε το περιβάλλον δοκιμής

Προετοιμάστε το Περιβάλλον Δοκιμών και διαμορφώστε το ώστε να καταγράφει τις παραμέτρους απόδοσης.

Βήμα 3) Καθορίστε το αναμενόμενο φορτίο

Εφαρμόστε το αναμενόμενο μέγιστο φορτίο στην Εφαρμογή Λογισμικού σας χρησιμοποιώντας α Εργαλείο δοκιμών απόδοσης της επιλογής σας.

Βήμα 4) Αυξήστε το φορτίο

Αυξήστε γρήγορα το φορτίο στο σύστημα για μια καθορισμένη περίοδο.

Βήμα 5) Επαναφέρετε το Load στο Normal

Μειώστε σταδιακά το φορτίο πίσω στο αρχικό του επίπεδο.

Βήμα 6) Αναλύστε τα αποτελέσματα

Αναλύστε τα γραφήματα απόδοσης και τις μετρήσεις όπως Αποτυχίες, Χρόνος που απαιτείται, Εικονικοί χρήστες κ.λπ.

Παραδείγματα σεναρίων δοκιμών Spike

  • Όταν ένα κατάστημα ηλεκτρονικού εμπορίου λανσάρει ειδικές προσφορές με μεγάλες εκπτώσεις, όπως τη Μαύρη Παρασκευή.
  • Όταν μια εφαρμογή Ιστού πραγματοποιεί ζωντανή ροή ενός αγαπημένου τηλεοπτικού προγράμματος.
  • Όταν μια εκπτωτική πώληση γίνεται σε έναν ιστότοπο καθημερινών συμφωνιών.
  • Όταν το συγκεκριμένο περιεχόμενο ενός ιστότοπου γίνεται viral μέσω του Διαδικτύου.
  • Ένα νέο σύστημα κυκλοφορεί για παραγωγή και πολλοί χρήστες θέλουν να έχουν πρόσβαση στο σύστημα.
  • Μια διακοπή ρεύματος μπορεί να έχει ως αποτέλεσμα όλοι οι χρήστες να χάσουν την πρόσβαση σε ένα σύστημα. Αφού επιλυθεί το πρόβλημα της διακοπής, όλοι οι χρήστες, στη συνέχεια, συνδεθείτε ξανά στο σύστημα ταυτόχρονα.

Σενάρια ανάκτησης σε φορτία Spike

Τρία κύρια σενάρια ανάκτησης που μπορούν να ρυθμιστούν για να προστατεύονται από Spikes είναι:

  1. Χρησιμοποιήστε πλατφόρμες cloud όπως AWS, Azure για δυναμική αύξηση της χωρητικότητας του διακομιστή παράλληλα με το φόρτο του χρήστη
  2. Μην επιτρέπετε την πρόσβαση της εφαρμογής σε ορισμένους χρήστες, έτσι ώστε το σύστημα να μην αντιμετωπίζει μεγάλο φορτίο. Αυτό εμποδίζει τα άτομα που υπερβαίνουν το μέγιστο σχεδιασμένο φορτίο να εισέλθουν στο σύστημα. Έτσι προστατεύει το σύστημα από την απειλή υπερβολικού φορτίου.
  3. Ο διαχειριστής του ιστότοπου επιτρέπει στους χρήστες να εγγραφούν στο σύστημα. Ωστόσο, με προειδοποίηση ότι ενδέχεται να αντιμετωπίσουν αργή απόκριση λόγω μεγάλου φορτίου. Αυτό μπορεί να έχει αρνητικές επιπτώσεις στην απόδοση του συστήματος. Ωστόσο, ο χρήστης θα μπορεί να εργαστεί με το σύστημα.

Πλεονεκτήματα και μειονεκτήματα της δοκιμής Spike

Παρακάτω είναι τα πλεονεκτήματα και τα μειονεκτήματα του Spike Testing:

Πλεονεκτήματα Μειονεκτήματα
Η απόδοση του λογισμικού πρέπει να διατηρηθεί με οποιοδήποτε κόστος. Ωστόσο, όταν υπάρχει μια ακραία αύξηση στο φορτίο οποιουδήποτε συστήματος, υπάρχουν μεγάλες πιθανότητες για προβλήματα. Το Spike Testing βοηθά στη δοκιμή αυτού του σεναρίου. Το μόνο μειονέκτημα του Spike Testing είναι ότι είναι μια δαπανηρή διαδικασία δοκιμών. Έτσι, χρειαζόταν τη δημιουργία ειδικών συνθηκών δοκιμής. Ωστόσο, κατά τη μεγαλύτερη διάρκεια, σίγουρα θα δώσει θετική απόδοση επένδυσης (ROI).
Στην τυπική μέθοδο δοκιμών, τα σενάρια από κακή έως χειρότερη περίπτωση ενδέχεται να μην αντιμετωπίζονται. Ωστόσο, αν τα αγνοήσετε δεν σημαίνει ότι δεν θα συμβούν ποτέ. Επομένως, κάθε λογισμικό θα πρέπει να είναι έτοιμο για τέτοιες δυνατότητες. Ένα τέτοιο χειρότερο σενάριο είναι η φόρτωση που μπορεί να κριθεί και να ελαχιστοποιηθεί με τη βοήθεια της δοκιμής ακίδων.  

Spike Testing Tools

1) JMeter

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

2) LoadRunner

Το LoadRunner είναι ένα εργαλείο δοκιμής φορτίου για Windows και Linux, το οποίο επιτρέπει δοκιμές ακίδας ιστού και άλλων εφαρμογών. Βοηθά στον προσδιορισμό της απόδοσης και του αποτελέσματος της εφαρμογής ακόμη και κάτω από το μεγάλο φορτίο.

Συμπέρασμα

  • δοκιμές λογισμικού είναι ένας τύπος δοκιμής λογισμικού κατά τον οποίο μια εφαρμογή λογισμικού ελέγχεται με ακραίες αυξήσεις και μειώσεις του κυκλοφοριακού φόρτου.
  • Η σωστή προσέγγιση για να κάνετε δοκιμές ακίδων είναι η απροσδόκητη αύξηση του αριθμού των χρηστών που ακολουθείται από μια άμεση μείωση του φορτίου.
  • Το απροσδόκητο φορτίο είναι το κύριο χαρακτηριστικό της συμφωνίας.
  • Παραδείγματα πραγματικών σεναρίων δοκιμών Spike είναι – όταν ένα κατάστημα ηλεκτρονικού εμπορίου λανσάρει ειδικές προσφορές με μεγάλες εκπτώσεις, όπως τη Μαύρη Παρασκευή. Εναλλακτικά, όταν μια εφαρμογή Ιστού πραγματοποιεί ζωντανή ροή ενός αγαπημένου τηλεοπτικού προγράμματος.
  • JMeter είναι ένα τέτοιο χρήσιμο εργαλείο για να κάνετε δοκιμές ακίδων.