Τι είναι το Volume Testing; Μάθετε με Παραδείγματα
⚡ Έξυπνη Σύνοψη
Η δοκιμή όγκου (Volume Testing) υποβάλλει μια εφαρμογή σε μια πολύ μεγάλη ποσότητα δεδομένων για να δει πώς συμπεριφέρονται ο χώρος αποθήκευσης, τα ερωτήματα και οι χρόνοι απόκρισης καθώς αυξάνεται η βάση δεδομένων. Ονομάζεται επίσης δοκιμή πλημμύρας (flood testing) και κλιμακώνει τα δεδομένα αντί για τον αριθμό των χρηστών.
Τι είναι το Volume Testing;
Δοκιμή όγκου είναι ένας τύπος δοκιμής λογισμικού, όπου το λογισμικό υποβάλλεται σε τεράστιο όγκο δεδομένων. Αναφέρεται επίσης ως δοκιμές πλημμύρας. Ο έλεγχος όγκου γίνεται για την ανάλυση της απόδοσης του συστήματος αυξάνοντας τον όγκο των δεδομένων στη βάση δεδομένων.
Με τη βοήθεια της δοκιμής όγκου, ο αντίκτυπος στον χρόνο απόκρισης και τη συμπεριφορά του συστήματος μπορεί να μελετηθεί όταν εκτίθεται σε μεγάλο όγκο δεδομένων.
Για παράδειγμα, μια υπηρεσία streaming μουσικής θα μπορούσε να δοκιμαστεί με έναν κατάλογο 50 εκατομμυρίων tracks και έναν πίνακα ιστορικού ακρόασης που περιέχει δισεκατομμύρια γραμμές, για να διαπιστωθεί εάν τα ερωτήματα αναζήτησης και προτάσεων εξακολουθούν να επιστρέφουν σε αποδεκτό χρόνο.
Σημειώστε τη διάκριση: η δοκιμή όγκου αυξάνει την ποσότητα δεδομένων το σύστημα διατηρεί. Η αύξηση του αριθμός ταυτόχρονων χρηστών είναι η δοκιμή φορτίου, η οποία είναι μια διαφορετική δοκιμή με διαφορετικό στόχο.
Οφέλη από τη δοκιμή όγκου
- Ο έγκαιρος εντοπισμός προβλημάτων χωρητικότητας αποφεύγει το πολύ υψηλότερο κόστος επίλυσής τους στην παραγωγή.
- Βοηθά στην ταχύτερη εκκίνηση των σχεδίων επεκτασιμότητας
- Έγκαιρη αναγνώριση των σημείων συμφόρησης
- Διαβεβαιώνει ότι το σύστημά σας είναι πλέον ικανό για χρήση σε πραγματικό κόσμο
Γιατί να κάνετε δοκιμές όγκου;
Ο στόχος της εκτέλεσης της δοκιμής όγκου είναι να
- Ελέγξτε την απόδοση του συστήματος με αυξανόμενο όγκο δεδομένων στη βάση δεδομένων
- Προσδιορίστε τα προβλήματα που είναι πιθανό να εμφανιστούν όταν το σύνολο δεδομένων γίνει μεγάλο
- Για να υπολογίσετε το σημείο στο οποίο υποβαθμίζεται η σταθερότητα του συστήματος
- Η δοκιμή όγκου θα βοηθήσει στον προσδιορισμό της χωρητικότητας του συστήματος ή της εφαρμογής – κανονικού και μεγάλου όγκου
Πώς να κάνετε δοκιμή όγκου
Στη δοκιμή όγκου, τα ακόλουθα πράγματα πρέπει να ελέγχονται
- Δοκιμή για να ελέγξετε εάν υπάρχει απώλεια δεδομένων
- Ελέγξτε τον χρόνο απόκρισης του συστήματος
- Ελέγξτε εάν τα δεδομένα έχουν αποθηκευτεί σωστά ή όχι
- Επαληθεύστε εάν τα δεδομένα έχουν αντικατασταθεί χωρίς καμία ειδοποίηση
- Ελέγξτε ότι οι προειδοποιήσεις και τα μηνύματα σφάλματος εμφανίζονται όταν επιτευχθεί ένα όριο έντασης ήχου
- Ελέγξτε εάν τα δεδομένα μεγάλου όγκου επηρεάζουν την ταχύτητα επεξεργασίας
- Επιβεβαιώστε ότι το σύστημα διαθέτει τη μνήμη και τους πόρους αποθήκευσης που απαιτεί ο τόμος
- Επιβεβαιώστε ότι η δοκιμή όγκου καλύπτει ολόκληρο το σύστημα και όχι ένα μόνο εξάρτημα
- Υπάρχει κίνδυνος εάν ο όγκος των δεδομένων είναι μεγαλύτερος από τον καθορισμένο
- Να διαπιστωθεί εάν υπάρχει εγγύηση ότι ο όγκος δεδομένων δεν θα υπερβεί το καθορισμένο μέγιστο όριο.
καλυτερα Practices for High Volume Testing
Αρκετές από τις παρακάτω πρακτικές είναι κοινές με τις δοκιμές φορτίου, επειδή οι δύο συνήθως εκτελούνται στο ίδιο περιβάλλον. Οι πρακτικές που αφορούν συγκεκριμένα τον τόμο αφορούν το ίδιο το σύνολο δεδομένων:
- Σταματήστε όλους τους διακομιστές και ελέγξτε όλα τα αρχεία καταγραφής
- Πριν από τη δοκιμή φόρτωσης, εκτελέστε χειροκίνητα το σενάριο της εφαρμογής
- Για τα πιο χρήσιμα αποτελέσματα κλιμακώστε τον αριθμό των χρηστών
- Για να ξεπεράσετε τους περιορισμούς άδειας χρήσης, ισορροπήστε τον χρόνο σκέψης
- Να είστε προσεκτικοί με τη νέα κατασκευή
- Αναλύστε την περίπτωση χρήσης για βελτίωση μόλις καθοριστεί μια βασική γραμμή
- Η επανάληψη συγκεκριμένων τμημάτων της δοκιμής όγκου γίνεται αναπόφευκτη σε περίπτωση που υπάρχει συμφόρηση απόδοσης
Δοκιμή όγκου έναντι δοκιμής φορτίου
| Δοκιμή όγκου | Δοκιμές φορτίου |
|---|---|
|
|
|
|
Προκλήσεις στη δοκιμή όγκου
- Ο κατακερματισμός της μνήμης είναι δύσκολο να δημιουργηθεί
- Δυναμική παραγωγή κλειδιών
- Σχετικός Integrity των παραγόμενων δεδομένων
Πώς συγκρίνεται αυτή η δοκιμή με άλλες δοκιμές απόδοσης
Οι δοκιμές απόδοσης είναι μια οικογένεια δοκιμών που διαφέρουν ως προς το σχήμα του εφαρμοζόμενου φορτίου, γι' αυτό και συγχέονται τόσο εύκολα.
| Τύπος δοκιμής | Τι αυξάνεται | Ερώτηση που απαντά |
|---|---|---|
| Δοκιμή φόρτωσης | Ταυτόχρονοι χρήστες, μέχρι την αναμενόμενη κορύφωση | Επιτυγχάνει τους στόχους υπό κανονικές συνθήκες αιχμής της κυκλοφορίας; |
| Δοκιμή όγκου | Δεδομένα που διατηρούνται στη βάση δεδομένων | Αντιμετωπίζει το πρόβλημα καθώς το σύνολο δεδομένων μεγαλώνει; |
| Έλεγχος πίεσης | Φόρτωση πέραν της χωρητικότητας, μέχρι βλάβης | Πού σπάει και πώς; |
| Δοκιμή ακίδων | Φόρτωση, άμεσα και εξαιρετικά | Επιβιώνει και συνέρχεται από ένα σοκ; |
| Δοκιμή αντοχής | Διάρκεια, σε κανονικό φορτίο | Η απόδοση υποβαθμίζεται με την πάροδο του χρόνου; |
| Δοκιμή εμβάπτισης | Διάρκεια, πόροι παρακολούθησης | Υπάρχουν διαρροές στη μνήμη ή στη λαβή; |
| Δοκιμή σταθερότητας | Διαφορετικές συνθήκες | Παραμένει αξιόπιστο καθώς αλλάζουν οι συνθήκες; |
Η διαφορά που έχει τη μεγαλύτερη σημασία εδώ: Ο έλεγχος όγκου κλιμακώνει τα δεδομένα, ο έλεγχος φορτίου κλιμακώνει τους χρήστες. Μια αναφορά που εκτελείται σε δύο δευτερόλεπτα έναντι δέκα χιλιάδων γραμμών και σε δύο λεπτά έναντι δέκα εκατομμυρίων γραμμών έχει πρόβλημα όγκου, όχι πρόβλημα φόρτου, και καμία επιπλέον χωρητικότητα διακομιστή δεν θα το διορθώσει.
Πώς να δημιουργήσετε δεδομένα δοκιμής για δοκιμή όγκου
Στην ενότητα «Προκλήσεις» επισημαίνεται ότι η δημιουργία ρεαλιστικών δεδομένων είναι το δύσκολο κομμάτι των δοκιμών όγκου. Στην πράξη χρησιμοποιούνται τέσσερις προσεγγίσεις και η καθεμία περιλαμβάνει έναν συμβιβασμό.
| Προσέγγιση | Ρεαλισμός | Κύριο μειονέκτημα |
|---|---|---|
| Αντίγραφο δεδομένων παραγωγής | Υψιστος | Έκθεση απορρήτου και συμμόρφωσης |
| Αντίγραφο παραγωγής με μάσκα | Ψηλά | Η κάλυψη μπορεί να διαταράξει την ακεραιότητα αναφοράς |
| Συνθετική παραγωγή | Μέτριας Δυσκολίας | Οι κατανομές ενδέχεται να μην αντιστοιχούν στην πραγματικότητα |
| Επαναλαμβανόμενη επισκεψιμότητα παραγωγής | Ψηλά | Απαιτείται υποδομή καταγραφής |
Όποια διαδρομή κι αν ακολουθήσετε, πρέπει να ισχύουν τρεις ιδιότητες, διαφορετικά η δοκιμή δεν θα μετρήσει τίποτα χρήσιμο.
- Ακεραιότητα αναφοράς. Κάθε ξένο κλειδί πρέπει να επιλυθεί. Ένα εκατομμύριο ορφανές γραμμές ασκούν τη μηχανή αποθήκευσης, αλλά ποτέ τις διαδρομές σύνδεσης που χρησιμοποιεί στην πραγματικότητα η εφαρμογή.
- Ρεαλιστική πληθικότητα. Εάν ο πίνακας παραγωγής έχει δέκα εκατομμύρια γραμμές σε διακόσιους πελάτες, η δημιουργία δέκα εκατομμυρίων γραμμών σε δέκα εκατομμύρια πελάτες παράγει εντελώς διαφορετικά σχέδια ερωτημάτων.
- Ρεαλιστική κατανομή. Τα πραγματικά δεδομένα είναι ασύμμετρα. Τα ομοιόμορφα τυχαία δεδομένα αποκρύπτουν τα θερμά διαμερίσματα και τις διαφωνίες ευρετηρίου που προκαλούν συμβάντα παραγωγής.
Μια πρακτική προειδοποίηση σχετικά με την ιδιωτικότητα. Η αντιγραφή δεδομένων παραγωγής σε ένα περιβάλλον δοκιμών είναι η πιο συνηθισμένη αιτία παραβίασης δεδομένων κατά τις δοκιμές. Αποκρύψτε τα προσωπικά πεδία πριν το αντίγραφο φύγει από την παραγωγή, όχι αργότερα.

