stress testing guide
Ένας περιεκτικός οδηγός για το στρες για αρχάριους:
Το άγχος οτιδήποτε πέρα από ένα σημείο έχει σοβαρές συνέπειες για τον άνθρωπο, τη μηχανή ή ένα πρόγραμμα. Προκαλεί σοβαρές ζημιές ή καταστρέφει πλήρως.
Ομοίως, σε αυτό το σεμινάριο, θα μάθουμε πώς να δοκιμάζουμε τις δοκιμές εφαρμογών ιστού μαζί με το αποτέλεσμα.
Προκειμένου να αποφευχθεί οποιαδήποτε μόνιμη ζημιά στις εφαρμογές ή τους ιστότοπούς σας όταν είναι αγχωμένες, δηλαδή φορτωμένες, πρέπει να βρούμε το σπάσιμο και με τη σειρά της τη λύση για να αποφύγουμε τέτοιες συνθήκες. Απλώς σκεφτείτε πώς θα ήταν όταν ο ιστότοπος αγορών σας πέσει κατά τη διάρκεια των Χριστουγέννων. Πόση θα ήταν η απώλεια;
Παρατίθενται παρακάτω ορισμένα παραδείγματα πραγματικών περιπτώσεων όπου είναι πολύ σημαντικό να δοκιμάσετε το άγχος μια εφαρμογή ή έναν ιστότοπο:
ποιος τύπος δοκιμής χρησιμοποιείται για την επαλήθευση ότι το νέο σύστημα λειτουργεί με πραγματικά δεδομένα;
# 1) Οι εμπορικές εφαρμογές ή οι ιστότοποι αγορών πρέπει να πραγματοποιούν δοκιμές πίεσης καθώς το φορτίο γίνεται πολύ υψηλό κατά τη διάρκεια φεστιβάλ, πώλησης ή περιόδου ειδικής προσφοράς.
#δύο) Οι οικονομικές εφαρμογές ή οι ιστότοποι πρέπει να εκτελέσουν δοκιμασία πίεσης καθώς το φορτίο αυξάνεται σε περιόδους όπως όταν ανεβαίνει το μερίδιο μιας εταιρείας, πολλοί άνθρωποι συνδέονται στους λογαριασμούς τους για αγορά ή πώληση, οι ιστότοποι διαδικτυακών αγορών κατευθύνουν ξανά τους «Net-bankers» για πληρωμή και τα λοιπά.
# 3) Οι εφαρμογές ιστού ή ηλεκτρονικού ταχυδρομείου πρέπει να δοκιμαστούν με άγχος.
# 4) Οι ιστότοποι ή οι εφαρμογές κοινωνικής δικτύωσης, τα ιστολόγια κ.λπ., πρέπει να δοκιμαστούν με άγχος κ.λπ.
Τι θα μάθετε:
- Τι είναι το Stress Testing και γιατί κάνουμε Stress Test;
- Στρατηγική για τον έλεγχο του στρες
- Δοκιμή στρες για εφαρμογές για κινητά
- Διαφορά μεταξύ δοκιμής φορτίου και ελέγχου πίεσης
- Δείγμα Θήκες
- 5 καλύτερο λογισμικό δοκιμής πίεσης
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Τι είναι το Stress Testing και γιατί κάνουμε Stress Test;
Ο έλεγχος πίεσης ορίζεται ως η διαδικασία δοκιμής του υλικού ή του λογισμικού για τη σταθερότητά του υπό συνθήκες βαρύ φορτίου. Αυτός ο έλεγχος γίνεται για να βρεθεί το αριθμητικό σημείο πότε θα διακοπεί το σύστημα (όσον αφορά έναν αριθμό αιτημάτων χρηστών και διακομιστών κ.λπ.) και τον σχετικό χειρισμό σφαλμάτων για το ίδιο.
Κατά τη διάρκεια της δοκιμής πίεσης, η υπό δοκιμή εφαρμογή (AUT) βομβαρδίζεται με ένα βαρύ φορτίο για μια δεδομένη χρονική περίοδο για να επαληθευτεί το σημείο θραύσης και να δει πόσο καλά γίνεται ο χειρισμός σφαλμάτων.
Παράδειγμα: Το MS Word ενδέχεται να δώσει ένα μήνυμα σφάλματος «Δεν αποκρίνεται» όταν προσπαθείτε να αντιγράψετε ένα αρχείο 7-8 GB.
Έχετε βομβαρδίσει το Word με ένα τεράστιο μέγεθος αρχείου και δεν ήταν δυνατή η επεξεργασία ενός τόσο μεγάλου αρχείου και, ως εκ τούτου, κρεμάστηκε. Συνήθως σκοτώνουμε εφαρμογές από το Task Manager όταν σταματούν να αποκρίνονται, ο λόγος πίσω από αυτό είναι ότι οι εφαρμογές αγχώνονται και σταματούν να ανταποκρίνονται.
Ακολουθούν ορισμένοι τεχνικοί λόγοι για την εκτέλεση του Stress testing:
- Για να επαληθεύσετε τη συμπεριφορά του συστήματος υπό ανώμαλη ή ακραία κατάσταση φόρτωσης.
- Για να βρείτε την αριθμητική τιμή των χρηστών, των αιτημάτων κ.λπ., μετά την οποία το σύστημα ενδέχεται να σπάσει.
- Αντιμετωπίστε το σφάλμα ευγενικά δείχνοντας τα κατάλληλα μηνύματα.
- Να είστε καλά προετοιμασμένοι για τέτοιες συνθήκες και να λάβετε προληπτικά μέτρα όπως καθαρισμός κώδικα, καθαρισμός DB κ.λπ.
- Για να επαληθεύσετε τη διαχείριση δεδομένων πριν από το σπάσιμο του συστήματος, δηλαδή για να δείτε εάν τα δεδομένα διαγράφηκαν, αποθηκεύτηκαν ή όχι κ.λπ.
- Για να επαληθεύσετε την απειλή ασφάλειας υπό τέτοιες καταστροφικές συνθήκες κ.λπ.
Στρατηγική για τον έλεγχο του στρες
Αυτός είναι ένας τύπος μη λειτουργικών δοκιμών και αυτός ο έλεγχος πραγματοποιείται συνήθως μόλις ολοκληρωθεί η λειτουργική δοκιμή ενός ιστότοπου ή μιας εφαρμογής. Οι περιπτώσεις δοκιμών, ο τρόπος δοκιμής και ακόμη και τα εργαλεία δοκιμής ενδέχεται να διαφέρουν κατά καιρούς.
Ακολουθούν ορισμένοι δείκτες που θα σας βοηθήσουν να σχεδιάσετε τη διαδικασία δοκιμής σας:
- Προσδιορίστε τα σενάρια, τις λειτουργίες κ.λπ., στα οποία θα έχετε πρόσβαση περισσότερο και ενδέχεται να τείνουν να σπάσουν το σύστημα. Όπως για μια οικονομική εφαρμογή, η πιο συχνά χρησιμοποιούμενη λειτουργικότητα είναι η μεταφορά χρημάτων.
- Προσδιορίστε το φορτίο που μπορεί να αντιμετωπίσει το σύστημα μια δεδομένη ημέρα, δηλαδή τόσο το μέγιστο όσο και το ελάχιστο.
- Δημιουργήστε ένα ξεχωριστό σχέδιο δοκιμών , σενάριο, δοκιμαστική θήκη και δοκιμαστική σουίτα.
- Χρησιμοποιήστε 3-4 διαφορετικά συστήματα υπολογιστών για δοκιμές με διαφορετική μνήμη, επεξεργαστή κ.λπ.
- Χρήστης 3-4 διαφορετικά προγράμματα περιήγησης για εφαρμογές ιστού με διαφορετικές εκδόσεις.
- Στην ιδανική περίπτωση, βρείτε την τιμή κάτω από το σημείο διακοπής, στο σημείο διακοπής και την τιμή μετά το σημείο διακοπής (όταν το σύστημα δεν θα ανταποκριθεί καθόλου), δημιουργήστε μια δοκιμαστική κλίνη και δεδομένα γύρω από αυτά.
- Στην περίπτωση εφαρμογών ιστού, δοκιμάστε να δοκιμάσετε το άγχος με ένα αργό δίκτυο επίσης.
- Μην μεταβείτε στο τέλος των δοκιμών σε έναν γύρο ή δύο, εκτελέστε τις ίδιες δοκιμές για τουλάχιστον 5 γύρους και, στη συνέχεια, ολοκληρώστε τα ευρήματά σας.
- Βρείτε τον ιδανικό χρόνο απόκρισης του διακομιστή διαδικτύου και τι ώρα είναι στο σημείο διακοπής.
- Βρείτε τη συμπεριφορά της εφαρμογής στο σημείο διακοπής σε διαφορετικά σημεία της εφαρμογής, όπως απλώς κατά την εκκίνηση της εφαρμογής, τη σύνδεση, πραγματοποιώντας κάποια ενέργεια μετά τη σύνδεση κ.λπ.
Δοκιμή στρες για εφαρμογές για κινητά
Ο έλεγχος πίεσης για εγγενείς εφαρμογές για κινητά είναι λίγο διαφορετικός από αυτόν των εφαρμογών ιστού. Στις εγγενείς εφαρμογές, γίνεται έλεγχος πίεσης για τις οθόνες που χρησιμοποιούνται συνήθως με την προσθήκη τεράστιων δεδομένων.
Ακολουθούν ορισμένες επαληθεύσεις που πραγματοποιούνται ως μέρος αυτής της δοκιμής για εγγενείς εφαρμογές για κινητά:
- Η εφαρμογή δεν παρουσιάζεται σφάλμα όταν εμφανίζονται τεράστια δεδομένα. Όπως για μια εφαρμογή ηλεκτρονικού ταχυδρομείου, περίπου 4-5 εκατομμύριο ληφθέντων καρτών email, για εφαρμογές αγορών, το ίδιο ποσό καρτών αντικειμένων κ.λπ.
- Η κύλιση είναι χωρίς προβλήματα και η εφαρμογή δεν κρέμεται κατά την κύλιση προς τα πάνω ή προς τα κάτω.
- Ο χρήστης θα πρέπει να μπορεί να βλέπει τις λεπτομέρειες μιας κάρτας ή να εκτελεί κάποια ενέργεια στην κάρτα από την τεράστια λίστα.
- Αποστολή εκατομμυρίων ενημερώσεων από την εφαρμογή στον διακομιστή, όπως η επισήμανση ενός αντικειμένου ως «Αγαπημένο», η προσθήκη ενός αντικειμένου στο καλάθι αγορών κ.λπ.
- Δοκιμάστε να φορτώσετε την εφαρμογή με τεράστια δεδομένα σε ένα δίκτυο 2G, όταν η εφαρμογή κολλάει ή διακόπτεται, θα πρέπει να εμφανίζει ένα κατάλληλο μήνυμα.
- Δοκιμάστε ένα σενάριο από άκρο σε άκρο όταν υπάρχουν τεράστια δεδομένα και ένα αργό δίκτυο 2G κ.λπ.
Ακολουθεί η στρατηγική σας για δοκιμές σε εφαρμογές για κινητά:
- Προσδιορίστε τις οθόνες που έχουν κάρτες, εικόνες κ.λπ., για να στοχεύσετε αυτές τις οθόνες με τεράστια δεδομένα.
- Ομοίως, προσδιορίστε τις λειτουργίες που θα χρησιμοποιούνται πιο συχνά.
- Κατά τη δημιουργία του δοκιμαστικού κρεβατιού, δοκιμάστε να χρησιμοποιήσετε τηλέφωνα μεσαίου και χαμηλού επιπέδου.
- Προσπαθήστε να δοκιμάσετε ταυτόχρονα σε παράλληλες συσκευές.
- Αποφύγετε αυτόν τον έλεγχο σε εξομοιωτή και προσομοιωτές.
- Αποφύγετε τη δοκιμή σε συνδέσεις Wifi, καθώς είναι ισχυρές.
- Προσπαθήστε να εκτελέσετε τουλάχιστον ένα τεστ αντοχής στο γήπεδο κ.λπ.
Διαφορά μεταξύ δοκιμής φορτίου και ελέγχου πίεσης
S.No. | Δοκιμή στρες | Φόρτωση δοκιμών |
---|---|---|
1 | Αυτός ο έλεγχος γίνεται για να ανακαλυφθεί το σημείο θραύσης του συστήματος. | Αυτός ο έλεγχος πραγματοποιείται για την επαλήθευση της απόδοσης του συστήματος υπό αναμενόμενο φορτίο. |
δύο | Αυτός ο έλεγχος γίνεται για να διαπιστωθεί εάν το σύστημα θα συμπεριφέρεται όπως αναμένεται εάν το φορτίο υπερβαίνει το κανονικό όριο. | Αυτός ο έλεγχος γίνεται για να ελέγξει τον χρόνο απόκρισης του διακομιστή για το αναμενόμενο συγκεκριμένο φορτίο. |
3 | Ο χειρισμός σφαλμάτων επαληθεύεται επίσης σε αυτήν τη δοκιμή. | Ο χειρισμός σφαλμάτων δεν δοκιμάζεται έντονα. |
4 | Αυτό ελέγχει επίσης για απειλές ασφαλείας, διαρροές μνήμης κ.λπ. | Δεν είναι υποχρεωτική τέτοια δοκιμή. |
5 | Ελέγχει τη σταθερότητα των συστημάτων. | Ελέγχει την αξιοπιστία του συστήματος. |
6 | Ο έλεγχος γίνεται με περισσότερα από το μέγιστο. πιθανός αριθμός χρηστών, αιτήματα κ.λπ. | Ο έλεγχος γίνεται με το μέγιστο αριθμό χρηστών, αιτημάτων κ.λπ. |
Stress Testing Vs Load Testing
Δείγμα Θήκες
Οι περιπτώσεις δοκιμών που θα δημιουργήσετε για τη δοκιμή σας θα εξαρτηθούν από την εφαρμογή και τις απαιτήσεις της. Πριν από τη δημιουργία των δοκιμαστικών περιπτώσεων, βεβαιωθείτε ότι γνωρίζετε τις περιοχές εστίασης, δηλαδή τις λειτουργίες που θα τείνουν να σπάσουν υπό την κατάσταση ενός ανώμαλου φορτίου.
Ακολουθούν ορισμένα δείγματα δοκιμαστικών περιπτώσεων που μπορείτε να συμπεριλάβετε στις δοκιμές σας:
- Βεβαιωθείτε ότι εμφανίζεται ένα σωστό μήνυμα σφάλματος όταν το σύστημα φτάσει στο σημείο διακοπής, δηλαδή διασχίζει το μέγιστο αριθ. επιτρεπόμενων χρηστών ή αιτημάτων.
- Ελέγξτε την παραπάνω δοκιμαστική θήκη για διάφορους συνδυασμούς RAM, επεξεργαστή και δικτύου κ.λπ.
- Επαληθεύστε εάν το σύστημα λειτουργεί όπως αναμένεται όταν το μέγιστο όχι. επεξεργασία χρηστών ή αιτημάτων. Ελέγξτε επίσης την παραπάνω περίπτωση δοκιμής για διάφορους συνδυασμούς RAM, επεξεργαστή και δικτύου κ.λπ.
- Βεβαιωθείτε ότι ενώ είναι περισσότερα από το επιτρεπόμενο όχι. των χρηστών ή των αιτημάτων εκτελούν την ίδια λειτουργία (όπως αγοράζουν τα ίδια αντικείμενα από έναν ιστότοπο αγορών ή πραγματοποιούν μεταφορά χρημάτων κ.λπ.) και εάν το σύστημα γίνει ανεύθυνο, εμφανίζεται ένα κατάλληλο μήνυμα σφάλματος σχετικά με τα δεδομένα (δεν αποθηκεύονται; - εξαρτάται από το εκτέλεση).
- Ελέγξτε εάν περισσότερα από τα επιτρεπόμενα όχι. των χρηστών ή των αιτημάτων εκτελούν διαφορετική λειτουργία (όπως ένας χρήστης συνδέεται, ένας χρήστης ξεκινά την εφαρμογή ή τον σύνδεσμο ιστού, ένας χρήστης επιλέγει ένα προϊόν κ.λπ.) και εάν το σύστημα γίνει ανάρμοστο, εμφανίζεται ένα κατάλληλο μήνυμα σφάλματος σχετικά με τα δεδομένα (δεν έχει αποθηκευτεί; - εξαρτάται από την εφαρμογή).
- Επαληθεύστε εάν ο χρόνος απόκρισης για χρήστες ή αιτήματα αιχμής είναι σε τιμή αποδοχής.
- Επαληθεύστε την απόδοση της εφαρμογής ή του ιστότοπου όταν το δίκτυο είναι πολύ αργό, θα πρέπει να εμφανίζεται ένα κατάλληλο μήνυμα σφάλματος για την κατάσταση 'χρονικό όριο'.
- Επαληθεύστε όλες τις παραπάνω δοκιμαστικές περιπτώσεις για έναν διακομιστή που έχει περισσότερες από μία εφαρμογές σε αυτό για να ελέγξετε εάν επηρεάζεται η άλλη εφαρμογή κ.λπ.
Πριν εκτελέσετε δοκιμές, βεβαιωθείτε ότι:
- Όλες οι λειτουργικές αστοχίες της υπό δοκιμή εφαρμογής διορθώνονται και επαληθεύονται.
- Το πλήρες σύστημα από άκρο σε άκρο είναι έτοιμο και δοκιμάστηκε η ολοκλήρωση.
- Δεν γίνονται νέα check-in κώδικα που θα επηρεάσουν τη δοκιμή.
- Άλλες ομάδες ενημερώνονται για το πρόγραμμα δοκιμών σας.
- Τα εφεδρικά συστήματα δημιουργούνται σε περίπτωση σοβαρών προβλημάτων.
5 καλύτερο λογισμικό δοκιμής πίεσης
Όταν το Stress Testing γίνεται χειροκίνητα, είναι επίσης πολύ περίπλοκη και κουραστική δουλειά. Μπορεί επίσης να μην σας αποφέρει τα αναμενόμενα αποτελέσματα.
Τα εργαλεία αυτοματισμού μπορούν να σας προσφέρουν τα αναμενόμενα αποτελέσματα και είναι σχετικά εύκολο να δημιουργήσετε το απαιτούμενο δοκιμαστικό κρεβάτι χρησιμοποιώντας αυτά. Ενδέχεται να μην επαρκούν τα εργαλεία που χρησιμοποιείτε για τις κανονικές λειτουργικές δοκιμές σας για τον έλεγχο πίεσης.
Ως εκ τούτου, εναπόκειται σε εσάς και την ομάδα σας να αποφασίσετε εάν θέλουν ένα ξεχωριστό εργαλείο αποκλειστικά για αυτήν τη δοκιμή. Είναι επίσης ευεργετικό για τους άλλους να διαχειρίζεστε τη σουίτα τη νύχτα, ώστε να μην παρεμποδίζεται η εργασία τους. Χρησιμοποιώντας εργαλεία αυτοματισμού, μπορείτε να προγραμματίσετε τη λειτουργία της σουίτας τη νύχτα και τα αποτελέσματα θα είναι έτοιμα για εσάς την επόμενη μέρα.
Ακολουθεί μια λίστα με τα πιο συνιστώμενα εργαλεία:
# 1) Δρομέας φόρτωσης:
LoadRunner είναι ένα εργαλείο που έχει σχεδιαστεί από την HP για δοκιμές φορτίου, αλλά μπορεί επίσης να χρησιμοποιηθεί για δοκιμές πίεσης.
Χρησιμοποιεί το VuGen, δηλαδή το Virtual User Generator για τη δημιουργία των χρηστών και αιτήματα για φόρτωση και δοκιμή πίεσης. Αυτό το εργαλείο διαθέτει καλές αναφορές ανάλυσης που μπορούν να βοηθήσουν στην εξαγωγή των αποτελεσμάτων με τη μορφή γραφημάτων, διαγραμμάτων κ.λπ.
# 2) Neoload:
Το Neoload είναι ένα εργαλείο επί πληρωμή που βοηθά στη δοκιμή εφαρμογών ιστού και κινητών.
Μπορεί να προσομοιώσει περισσότερους από 1000 χρήστες για να επαληθεύσει την απόδοση του συστήματος και να βρει τον χρόνο απόκρισης του διακομιστή. Ενσωματώνεται επίσης με το Cloud για δοκιμή φόρτισης και πίεσης. Παρέχει καλή επεκτασιμότητα και είναι πολύ εύκολο στη χρήση.
# 3) JMeter:
JMeter είναι ένα εργαλείο ανοιχτού κώδικα που λειτουργεί με JDK 5 και νεότερες εκδόσεις. Το επίκεντρο αυτού του εργαλείου είναι κυρίως στη δοκιμή εφαρμογών ιστού. Μπορεί επίσης να χρησιμοποιηθεί για τον έλεγχο συνδέσεων βάσης δεδομένων LDAP, FTP, JDBC κ.λπ.
# 4) Μύλος:
Το Grinder είναι ένα εργαλείο ανοιχτού κώδικα και βασισμένο σε Java που χρησιμοποιείται για τον έλεγχο φορτίου και πίεσης.
Η παραμετροποίηση μπορεί να γίνει δυναμικά ενώ εκτελούνται οι δοκιμές. Έχει καλές αναφορές και ισχυρισμούς για να σας βοηθήσει να αναλύσετε τα αποτελέσματα με καλύτερο τρόπο. Έχει μια κονσόλα που μπορεί να χρησιμοποιηθεί ως IDE για τη δημιουργία και επεξεργασία των δοκιμών και των πρακτόρων για τη δημιουργία του φορτίου για σκοπούς δοκιμής.
# 5) Φόρτωση Web:
Φόρτωση Ιστού εργαλείο έχει μια δωρεάν, καθώς και μια πληρωμένη έκδοση. Αυτή η δωρεάν έκδοση επιτρέπει έως και 50 δημιουργία χρηστών.
πώς να ανοίξετε το αρχείο .bin
Αυτό το εργαλείο υποστηρίζει τον έλεγχο πίεσης εφαρμογών ιστού και εφαρμογών για κινητά. Υποστηρίζει διαφορετικά πρωτόκολλα όπως HTTP, HTTPS, PUSH, AJAX, HTML5, SOAP κ.λπ. Διαθέτει IDE, κονσόλα παραγωγής φορτίων, πίνακα ελέγχου ανάλυσης και ενσωματώσεις (για ενσωμάτωση με Jenkins, εργαλεία APM κ.λπ.).
συμπέρασμα
Η δοκιμή πίεσης εστιάζει πλήρως στη δοκιμή του συστήματος υπό ακραίες συνθήκες φόρτωσης για να βρει το σημείο διακοπής του και να δει εάν εμφανίζονται κατάλληλα μηνύματα όταν το σύστημα δεν ανταποκρίνεται. Τονίζει τη μνήμη, τον επεξεργαστή κ.λπ. κατά τη διάρκεια των δοκιμών και ελέγχει πόσο καλά ανακτώνται.
Η δοκιμή πίεσης είναι ένας τύπος μη λειτουργικών δοκιμών και συνήθως γίνεται μετά τη λειτουργική δοκιμή. Όταν υπάρχει και η απαίτηση δοκιμής φορτίου, τότε αυτή η δοκιμή μπορεί να γίνει ως η ακραία περίπτωση δοκιμών φορτίου. 90% του χρόνου, το ίδιο εργαλείο αυτοματισμού μπορεί να χρησιμοποιηθεί τόσο για τον έλεγχο φορτίου όσο και για τον έλεγχο πίεσης.
Ελπίζω να έχετε αποκτήσει μια καλή εικόνα για την έννοια του Stress Testing !!
Συνιστώμενη ανάγνωση
- Φόρτωση δοκιμής με HP LoadRunner Tutorials
- Δοκιμή απόδοσης έναντι δοκιμής φορτίου έναντι δοκιμής πίεσης (διαφορά)
- Φόρτωση πλήρους οδηγού δοκιμών για αρχάριους
- Τα καλύτερα εργαλεία δοκιμής λογισμικού 2021 (QA Test Automation Tools)
- Δοκιμή άλφα και δοκιμή beta (ένας πλήρης οδηγός)
- Οδηγός για αρχάριους για δοκιμές διείσδυσης εφαρμογών ιστού
- Φόρτωση εφαρμογών ιστού, έλεγχος πίεσης και απόδοσης χρησιμοποιώντας WAPT
- Λειτουργική δοκιμή Vs Μη λειτουργική δοκιμή