soak testing tutorial what is soak testing
Αυτός ο περιεκτικός οδηγός για το Soak Testing εξηγεί τι είναι το Soak Testing, γιατί το χρειαζόμαστε, την εφαρμογή του, τα πλεονεκτήματα, τις βέλτιστες πρακτικές και τα μειονεκτήματα:
Πρέπει να εκτελούνται διάφοροι τύποι δοκιμών κατά τη δοκιμή μιας εφαρμογής λογισμικού. Οι λειτουργικές και μη λειτουργικές δοκιμές είναι οι δύο ευρείες κατηγορίες στις οποίες μπορούμε να κατηγοριοποιήσουμε τους τύπους δοκιμών.
Η λειτουργική δοκιμή, όπως υποδηλώνει το ίδιο το όνομα, σχετίζεται με τον έλεγχο της λειτουργικότητας της εφαρμογής. Οι μη λειτουργικές δοκιμές, από την άλλη πλευρά, καλύπτουν όλες τις άλλες δοκιμές (χρηστικότητα, απόδοση κ.λπ.), εκτός από τις λειτουργικές δοκιμές.
Τι θα μάθετε:
Soak Testing - Ένας πλήρης οδηγός
Αυτό το σεμινάριο σας παρουσιάζει τις έννοιες του Soak testing που είναι ένας τύπος Δοκιμή απόδοσης.
Όπως φαίνεται στην παραπάνω εικόνα, μπορούμε να πούμε ότι το Soak testing είναι ένας τύπος μη λειτουργικών δοκιμών.
Τι είναι η δοκιμή απορρόφησης
Είναι ένας τύπος δοκιμής απόδοσης για να ελέγξετε εάν μια εφαρμογή υπό δοκιμή (AUT) μπορεί να αντέξει συνεχές φορτίο για ένα προκαθορισμένο χρονικό πλαίσιο. Αυτός είναι ένας μη λειτουργικός τύπος δοκιμών. Ονομάζεται επίσης ως «Δοκιμή αντοχής» ή «Δοκιμή μακροζωίας» .
Εάν πηγαίνετε με το κυριολεκτικό του όνομα, τότε η λέξη «εμποτίζει» από μόνη της έχει την έννοια του τι σκοπεύει να κάνει αυτή η δοκιμή. Επομένως, η υποβολή μιας αίτησης για μια συγκεκριμένη περίοδο σε ένα υψηλό φορτίο είναι αυτή η δοκιμή.
Κάποιος μπορεί να αναρωτηθεί, ποια θα μπορούσε να είναι η διαφορά εάν μια εφαρμογή υποβάλλεται σε φόρτωση για μια ώρα ή ίσως 20 ώρες. Αλλά ναι, έχει σημασία.
Αυτό μπορεί να εξηγηθεί καλύτερα με ένα σενάριο πραγματικού κόσμου. Εάν ένα σχοινί τραβιέται και από τα δύο άκρα από δύο άτομα για κάποιο χρονικό διάστημα, τότε μπορεί απλώς να αντισταθεί στην πίεση, ωστόσο, εάν το ίδιο συνεχιστεί για μέρες, τότε το σχοινί μπορεί να σπάσει παραδίδοντας την πίεση και από τα δύο άκρα.
(εικόνα πηγή )
Το ίδιο ισχύει και για το λογισμικό. Όταν υποβάλλουμε μια εφαρμογή σε υψηλό φορτίο (μερικές εκατοντάδες ή χιλιάδες χρήστες) τότε μπορεί να λειτουργήσει καλά για μια ώρα. Ωστόσο, όταν η ίδια εφαρμογή υποβάλλεται στο φορτίο για 20 ώρες, ενδέχεται να καταρρεύσει εντελώς.
(εικόνα πηγή )
Η συνεχής έντονη κυκλοφορία για μεγάλο χρονικό διάστημα μπορεί να προκαλέσει διαφορετικά προβλήματα στην εφαρμογή. Έτσι, προκύπτει η ανάγκη για Soak Testing.
Σε αυτήν τη δοκιμή, η βασική ιδέα είναι η φόρτωση της εφαρμογής με τους αναμενόμενους χρήστες αλλά για μεγάλο χρονικό διάστημα. Αυτό βοηθά στον εντοπισμό των διαφόρων υποκείμενων ζητημάτων που διαφορετικά δεν θα εντοπίζονταν έως ότου εμφανιστεί το πραγματικό σενάριο στη ζωντανή εφαρμογή.
Ανάγκη για δοκιμή απορρόφησης
Για να κατανοήσουμε την ανάγκη πρέπει επίσης να γνωρίζουμε τα πιθανά ζητήματα που μπορεί να αντιμετωπίσει μια εφαρμογή σε περίπτωση που αντιμετωπίζει μεγάλο φορτίο για μεγάλο χρονικό διάστημα.
Ας δούμε τους διάφορους λόγους που καθιστούν απαραίτητη τη δοκιμή Soak.
# 1) Απαιτείται κυρίως για τον εντοπισμό ζητημάτων όπως εσφαλμένη διαχείριση μνήμης, ζητήματα σύνδεσης βάσης δεδομένων, υποβαθμισμένος χρόνος απόκρισης εφαρμογών κ.λπ.
Καθένα από αυτά τα θέματα εξηγείται παρακάτω:
- Η εσφαλμένη διαχείριση μνήμης μπορεί να περιλαμβάνει ζητήματα όπως η μνήμη που εκχωρείται για χρήση, αλλά δεν κυκλοφόρησε ποτέ ή όταν οι πόροι χρησιμοποιούν περισσότερη μνήμη από ό, τι απαιτείται. Όταν τέτοια σενάρια συνεχίζονται για μεγάλο χρονικό διάστημα, τότε μπορεί να οδηγήσει σε εξάντληση της μνήμης του συστήματος με αποτέλεσμα μια εφαρμογή να σταματήσει να ανταποκρίνεται.
- Ζητήματα σύνδεσης βάσης δεδομένων - Σφάλμα που προέκυψε κατά το κλείσιμο μιας σύνδεσης βάσης δεδομένων μπορεί, μακροπρόθεσμα, να οδηγήσει σε πλήρη διακοπή της εφαρμογής.
- Υποβαθμισμένος χρόνος απόκρισης εφαρμογής - Μερικές φορές μια εφαρμογή για κάποιο λόγο ενδέχεται να καταστεί λιγότερο αποτελεσματική και ο χρόνος απόκρισης μπορεί να αυξηθεί. Με την πάροδο του χρόνου, αυτό μπορεί να προκαλέσει τη διακοπή της απόκρισης της εφαρμογής.
Για να αποφευχθούν τέτοιες καταστάσεις, θα προτιμούσαμε να δοκιμάσουμε την εφαρμογή μας. Βοηθά στον εντοπισμό τέτοιων θεμελιωδών ζητημάτων που διαφορετικά θα μπορούσαν να μην εντοπιστούν.
#δύο) Το Soak Test βοηθά να προσδιοριστεί εάν η εφαρμογή μας είναι έτοιμη να αναλάβει το φορτίο για παρατεταμένη περίοδο.
# 3) Επιτρέπει στην ομάδα να λάβει διορθωτικά μέτρα με βάση τον τρόπο με τον οποίο το σύστημα ανταποκρίνεται στις δοκιμές Soak.
Πότε να ξεκινήσετε τη δοκιμή απορρόφησης;
(εικόνα πηγή )
Στην ιδανική περίπτωση, όπως και κάθε άλλη δοκιμή απόδοσης, αυτή η δοκιμή θα πρέπει να γίνει κατά τη διάρκεια της ανάπτυξης προϊόντων μαζί με λειτουργικές δοκιμές. Ωστόσο, αυτό γίνεται σπάνια. Ο λόγος είναι προφανής, δηλαδή η διαχείριση του κόστους του έργου.
Έτσι, το επίκεντρο έγκειται κυρίως στις λειτουργικές δοκιμές και σε όλες τις μορφές δοκιμών απόδοσης γενικά δίνεται πίσω θέση και πλησιάζει κοντά στην ημερομηνία κυκλοφορίας της εφαρμογής.
Σε γενικές γραμμές, το Soak testing πραγματοποιείται λίγο πριν από την έκδοση της εφαρμογής στον πελάτη. Αυτό όμως έχει ένα μεγάλο μειονέκτημα που σχετίζεται με την επίλυση του ζητήματος.
Όταν εντοπιστεί κάποιο πρόβλημα απόδοσης σε μεταγενέστερο στάδιο, μπορεί να είναι δύσκολο να το επιδιορθώσετε, καθώς αυτό θα μπορούσε να συνεπάγεται μια σημαντική αλλαγή κώδικα που ενδέχεται να μην είναι δυνατή λαμβάνοντας υπόψη την εγγύτητα της ημερομηνίας παράδοσης της εφαρμογής.
Επομένως, είναι πάντοτε σκόπιμο αυτή η δοκιμή να εκτελείται σωστά εγκαίρως, έτσι ώστε τα εντοπισμένα ζητήματα να μπορούν να αντιμετωπιστούν.
Ενυδατώστε τη στρατηγική δοκιμών
(εικόνα πηγή )
Ακριβώς όπως προετοιμάζεται μια δοκιμαστική στρατηγική για τη δοκιμή μιας εφαρμογής, μια στρατηγική προετοιμάζεται εκ των προτέρων για να εκτελέσει δοκιμές ενυδάτωσης, και αυτό είναι πολύ απαραίτητο.
Ας ρίξουμε μια ματιά σε αυτό που εντάσσεται στην προετοιμασία της στρατηγικής Soak Testing.
Πριν ξεκινήσει το Soak Test, η ομάδα πρέπει να καθορίσει το φορτίο για το οποίο η εφαρμογή πρέπει να είναι Soak Tested. Η διάρκεια για την οποία πρέπει να δοκιμαστεί πρέπει επίσης να είναι προκαθορισμένη. Γενικά, αυτό παρέχεται από την ομάδα ανάπτυξης.
Η ομάδα δοκιμής θα πρέπει να αποφασίσει για τα σενάρια που σκοπεύουν να δοκιμάσουν το Soak Test. Αυτό, με τη σειρά του, θα εξαρτηθεί από τη δέσμευση του πελάτη και την απαίτηση της Εφαρμογής υπό δοκιμή.
Καθώς το Soak testing επικεντρώνεται κυρίως στον εντοπισμό ζητημάτων διαρροής μνήμης και πόρων, είναι σημαντικό να γνωρίζετε εκ των προτέρων τη μνήμη και την κατανάλωση βάσης δεδομένων έναντι αυτών που είναι διαθέσιμες.
Θα πρέπει επίσης να αποφασίζονται οι λεπτομέρειες του περιβάλλοντος όπως το λειτουργικό σύστημα, η συσκευή κ.λπ., στις οποίες θα εκτελούνται οι δοκιμές απορρόφησης.
Τέλος, θα πρέπει επίσης να ληφθούν υπόψη οι κίνδυνοι που ενέχονται. Ένα εφεδρικό σχέδιο πρέπει πάντα να γίνεται για τέτοιες καταστάσεις. Για παράδειγμα, εάν η βάση δεδομένων διακοπεί κατά τη δοκιμή, τότε ποιες άλλες εναλλακτικές είναι διαθέσιμες στη θέση της και ούτω καθεξής.
Σενάρια για δοκιμή εμποτισμού
Όταν ένας ιστότοπος ηλεκτρονικού εμπορίου ανακοινώνει μια διαδικτυακή πώληση των προϊόντων του, είναι φυσικό να φορτώνεται ο ιστότοπος κατά τη διάρκεια της περιόδου πώλησης που μπορεί να διαρκέσει για 3-5 ημέρες. Σε μια τέτοια περίπτωση, ο ιστότοπος θα πρέπει να δοκιμαστεί για να αποφευχθεί τυχόν απροσδόκητο σφάλμα.
Κατά το κλείσιμο ενός οικονομικού έτους, ένας ιστότοπος τράπεζας ενδέχεται να χρειαστεί να αντιμετωπίσει πολύ υψηλό φορτίο για συνεχή περίοδο. Σε μια τέτοια περίπτωση, ο ιστότοπος πρέπει να έχει δοκιμαστεί για να αποφευχθεί τυχόν απροσδόκητη συντριβή της εφαρμογής ιστού.
Όταν μια εφαρμογή έχει σχεδιαστεί για να χειρίζεται ένα προκαθορισμένο φορτίο για μια συνεχή προκαθορισμένη περίοδο, τότε καθίσταται απαραίτητο να ελεγχθεί η εφαρμογή για ένα φορτίο τουλάχιστον 2Χ της γνωστής ικανότητάς του να χειρίζεται φορτίο.
Για παράδειγμα, Εάν ένας ιστότοπος είναι γνωστό ότι χειρίζεται ένα φορτίο 500 χρηστών για μια συνεχή περίοδο 15 ωρών, τότε η εφαρμογή θα πρέπει επίσης να δοκιμαστεί για 1.000 χρήστες για 15 ώρες. Αυτό θα μας βοηθούσε να μάθουμε αν η εφαρμογή θα ανταποκρίνεται ασυνήθιστα όταν αναγκάζεται να διπλασιάσει τη χωρητικότητά της.
Βέλτιστες πρακτικές
(εικόνα πηγή )
- Το Soak Testing πρέπει πάντα να γίνεται γνωρίζοντας το όριο αδράνειας της εφαρμογής, τόσο από την άποψη των χρηστών όσο και από τη διάρκεια του χρόνου. Αυτό πρέπει να είναι γνωστό, καθώς ο στόχος είναι η φόρτωση της εφαρμογής με τους αναμενόμενους χρήστες αλλά για μεγάλο χρονικό διάστημα.
- Συνιστάται να εκτελείτε δοκιμές Soak τη νύχτα ή εάν πρέπει να κάνετε ακόμη μεγαλύτερες δοκιμές διάρκειας, τότε συνιστάται να το κάνετε τα σαββατοκύριακα. Ο λόγος είναι προφανής, δηλ. Κατά τη διάρκεια των ωρών εργασίας οι πόροι συνδέονται, ενώ τη νύχτα ή τις ώρες εργασίας οι δοκιμαστικοί διακομιστές ενδέχεται να είναι διαθέσιμοι για χρήση για μεγάλες χρονικές περιόδους. Συνεπώς, οι ώρες εκτός εργασίας είναι ο ιδανικός χρόνος για τέτοιες δοκιμές.
- Οι κίνδυνοι που συνδέονται όταν δοκιμάζετε μια εφαρμογή πρέπει πάντα να αναλύονται και ένα σχέδιο μετριασμού θα πρέπει να είναι έτοιμο για το ίδιο κάθε συμβάν.
Μουλιάστε τους περιορισμούς των δοκιμών
πώς να ανοίξετε το αρχείο δεδομένων στο iphone
(εικόνα πηγή )
- Η μεγάλη διάρκεια που απαιτείται για τη δοκιμή μιας εφαρμογής είναι ένας μεγάλος περιορισμός γενικά λόγω της έλλειψης χρόνου. Έτσι, οι δοκιμές απορρόφησης μπορεί μερικές φορές να αποφεύγονται λόγω έλλειψης χρόνου.
- Το περιβάλλον δοκιμής πρέπει να επιλεγεί προσεκτικά ώστε να μην επηρεαστεί οποιοσδήποτε άλλος τύπος δοκιμών που εκτελείται στην Εφαρμογή. Αυτό μπορεί να συμβεί, καθώς ο έλεγχος της εφαρμογής για μεγάλο φορτίο για μεγάλη διάρκεια θα μπορούσε να οδηγήσει σε προβλήματα.
- Ο χρόνος για τις δοκιμές Soak πρέπει να αποφασιστεί προσεκτικά και θα πρέπει να είναι κυρίως ώρες εκτός εργασίας (όπως ένα σαββατοκύριακο ή νυχτερινές ώρες μετά το κλείσιμο της εργασίας).
- Γενικά, απαιτούνται εργαλεία αυτοματισμού για τις δοκιμές Soak, καθώς οι δοκιμές πρέπει να εκτελούνται για μεγάλες χρονικές περιόδους με μεγάλο αριθμό χρηστών.
Μειονεκτήματα της δοκιμής εμποτισμού
- Τα χρονοδιαγράμματα του έργου ενδέχεται να επηρεαστούν λόγω των δοκιμών απορρόφησης καθώς ο χρόνος που απαιτείται για το ίδιο είναι γενικά υψηλός.
- Οι πόροι δεσμεύονται για τη διάρκεια της δοκιμής καθώς υπάρχει υψηλή χρήση μνήμης λόγω του μεγάλου αριθμού χρηστών που έχουν πρόσβαση στην εφαρμογή.
συμπέρασμα
Μέσα από αυτό το σεμινάριο, μάθαμε τι είναι το Soak testing και τι καθιστά απαραίτητο να εκτελέσουμε αυτόν τον έλεγχο.
Τώρα με αυτήν την κατανόηση του τι είναι το Soak Testing και τι είδους ζητήματα βοηθά στον εντοπισμό, μπορούμε πολύ καλά να κατανοήσουμε την ανάγκη εκτέλεσης του ίδιου. Ειδικά σε περιόδους όπου ολόκληρος ο κόσμος είναι πάντα συνδεδεμένος, αυτή η δοκιμή γίνεται απαραίτητη.
Είδαμε πότε θα πρέπει να αρχίσουμε να δοκιμάζουμε τη δοκιμή μαζί με την προσέγγιση που πρέπει να ακολουθηθεί. Τα σενάρια, οι βέλτιστες πρακτικές και οι περιορισμοί που σχετίζονται με αυτό συζητήθηκαν επίσης εδώ.
Ελπίζουμε ότι αυτό το σεμινάριο σας βοήθησε να κατανοήσετε τι είναι το Soak testing και πρέπει να έχει βελτιώσει τις γνώσεις σας σχετικά.
Συνιστώμενη ανάγνωση
- Φόρτωση δοκιμής με HP LoadRunner Tutorials
- Εγχειρίδιο καταστροφικών δοκιμών και μη καταστροφικών δοκιμών
- Testing Primer eBook Λήψη
- Συσχέτιση - Δοκιμή φορτίου με LoadRunner
- Λειτουργική δοκιμή εναντίον μη λειτουργική δοκιμή
- Διαφορά μεταξύ Desktop, Client Server Testing και Web Testing
- Load Testing Using LoadUI - Ένα δωρεάν και ανοιχτού κώδικα εργαλείο δοκιμής φόρτωσης
- Εκμάθηση δοκιμών SOA: Μεθοδολογία δοκιμών για ένα μοντέλο αρχιτεκτονικής SOA