Τι είναι το Volume Testing; Μάθετε με Παραδείγματα

⚡ Έξυπνη Σύνοψη

Η δοκιμή όγκου (Volume Testing) υποβάλλει μια εφαρμογή σε μια πολύ μεγάλη ποσότητα δεδομένων για να δει πώς συμπεριφέρονται ο χώρος αποθήκευσης, τα ερωτήματα και οι χρόνοι απόκρισης καθώς αυξάνεται η βάση δεδομένων. Ονομάζεται επίσης δοκιμή πλημμύρας (flood testing) και κλιμακώνει τα δεδομένα αντί για τον αριθμό των χρηστών.

  • 💾 Βασικός Ορισμός: Ο όγκος δεδομένων αυξάνεται ενώ το φόρτο εργασίας των χρηστών παραμένει κανονικό.
  • 🔍 Πρωτοβάθμιοι έλεγχοι: Απώλεια δεδομένων, αθόρυβη αντικατάσταση, ακρίβεια αποθήκευσης και χρόνος απόκρισης σε ένα μεγάλο σύνολο δεδομένων.
  • 📈 Σημείο Υποβάθμισης: Η δοκιμή εντοπίζει την ένταση ήχου στην οποία η σταθερότητα και η απόδοση αρχίζουν να μειώνονται.
  • ️ Δοκιμή χωρίς φορτίο: Ο τόμος κλιμακώνει τα μεγέθη γραμμών και αρχείων. Η φόρτωση κλιμακώνει τους ταυτόχρονους χρήστες. Και οι δύο εντοπίζουν διαφορετικά ελαττώματα.
  • 🧪 Ρεαλισμός Δεδομένων: Τα παραγόμενα δεδομένα πρέπει να σέβονται τα κλειδιά και την σχεσιακή ακεραιότητα, η οποία είναι το πιο δύσκολο μέρος της δοκιμής.
  • 💰 Επαγγελματική υπόθεση: Τα όρια χωρητικότητας που βρέθηκαν πριν από την κυκλοφορία κοστίζουν ένα κλάσμα των ίδιων ορίων που βρέθηκαν στην παραγωγή.

Τι είναι η δοκιμή όγκου

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

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

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

Για παράδειγμα, μια υπηρεσία streaming μουσικής θα μπορούσε να δοκιμαστεί με έναν κατάλογο 50 εκατομμυρίων tracks και έναν πίνακα ιστορικού ακρόασης που περιέχει δισεκατομμύρια γραμμές, για να διαπιστωθεί εάν τα ερωτήματα αναζήτησης και προτάσεων εξακολουθούν να επιστρέφουν σε αποδεκτό χρόνο.

Σημειώστε τη διάκριση: η δοκιμή όγκου αυξάνει την ποσότητα δεδομένων το σύστημα διατηρεί. Η αύξηση του αριθμός ταυτόχρονων χρηστών είναι η δοκιμή φορτίου, η οποία είναι μια διαφορετική δοκιμή με διαφορετικό στόχο.

Οφέλη από τη δοκιμή όγκου

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

Γιατί να κάνετε δοκιμές όγκου;

Ο στόχος της εκτέλεσης της δοκιμής όγκου είναι να

  • Ελέγξτε την απόδοση του συστήματος με αυξανόμενο όγκο δεδομένων στη βάση δεδομένων
  • Προσδιορίστε τα προβλήματα που είναι πιθανό να εμφανιστούν όταν το σύνολο δεδομένων γίνει μεγάλο
  • Για να υπολογίσετε το σημείο στο οποίο υποβαθμίζεται η σταθερότητα του συστήματος
  • Η δοκιμή όγκου θα βοηθήσει στον προσδιορισμό της χωρητικότητας του συστήματος ή της εφαρμογής – κανονικού και μεγάλου όγκου

Πώς να κάνετε δοκιμή όγκου

Στη δοκιμή όγκου, τα ακόλουθα πράγματα πρέπει να ελέγχονται

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

καλυτερα Practices for High Volume Testing

Αρκετές από τις παρακάτω πρακτικές είναι κοινές με τις δοκιμές φορτίου, επειδή οι δύο συνήθως εκτελούνται στο ίδιο περιβάλλον. Οι πρακτικές που αφορούν συγκεκριμένα τον τόμο αφορούν το ίδιο το σύνολο δεδομένων:

  • Σταματήστε όλους τους διακομιστές και ελέγξτε όλα τα αρχεία καταγραφής
  • Πριν από τη δοκιμή φόρτωσης, εκτελέστε χειροκίνητα το σενάριο της εφαρμογής
  • Για τα πιο χρήσιμα αποτελέσματα κλιμακώστε τον αριθμό των χρηστών
  • Για να ξεπεράσετε τους περιορισμούς άδειας χρήσης, ισορροπήστε τον χρόνο σκέψης
  • Να είστε προσεκτικοί με τη νέα κατασκευή
  • Αναλύστε την περίπτωση χρήσης για βελτίωση μόλις καθοριστεί μια βασική γραμμή
  • Η επανάληψη συγκεκριμένων τμημάτων της δοκιμής όγκου γίνεται αναπόφευκτη σε περίπτωση που υπάρχει συμφόρηση απόδοσης

Δοκιμή όγκου έναντι δοκιμής φορτίου

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

Προκλήσεις στη δοκιμή όγκου

  • Ο κατακερματισμός της μνήμης είναι δύσκολο να δημιουργηθεί
  • Δυναμική παραγωγή κλειδιών
  • Σχετικός Integrity των παραγόμενων δεδομένων

Πώς συγκρίνεται αυτή η δοκιμή με άλλες δοκιμές απόδοσης

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

Τύπος δοκιμής Τι αυξάνεται Ερώτηση που απαντά
Δοκιμή φόρτωσης Ταυτόχρονοι χρήστες, μέχρι την αναμενόμενη κορύφωση Επιτυγχάνει τους στόχους υπό κανονικές συνθήκες αιχμής της κυκλοφορίας;
Δοκιμή όγκου Δεδομένα που διατηρούνται στη βάση δεδομένων Αντιμετωπίζει το πρόβλημα καθώς το σύνολο δεδομένων μεγαλώνει;
Έλεγχος πίεσης Φόρτωση πέραν της χωρητικότητας, μέχρι βλάβης Πού σπάει και πώς;
Δοκιμή ακίδων Φόρτωση, άμεσα και εξαιρετικά Επιβιώνει και συνέρχεται από ένα σοκ;
Δοκιμή αντοχής Διάρκεια, σε κανονικό φορτίο Η απόδοση υποβαθμίζεται με την πάροδο του χρόνου;
Δοκιμή εμβάπτισης Διάρκεια, πόροι παρακολούθησης Υπάρχουν διαρροές στη μνήμη ή στη λαβή;
Δοκιμή σταθερότητας Διαφορετικές συνθήκες Παραμένει αξιόπιστο καθώς αλλάζουν οι συνθήκες;

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

Πώς να δημιουργήσετε δεδομένα δοκιμής για δοκιμή όγκου

Στην ενότητα «Προκλήσεις» επισημαίνεται ότι η δημιουργία ρεαλιστικών δεδομένων είναι το δύσκολο κομμάτι των δοκιμών όγκου. Στην πράξη χρησιμοποιούνται τέσσερις προσεγγίσεις και η καθεμία περιλαμβάνει έναν συμβιβασμό.

Προσέγγιση Ρεαλισμός Κύριο μειονέκτημα
Αντίγραφο δεδομένων παραγωγής Υψιστος Έκθεση απορρήτου και συμμόρφωσης
Αντίγραφο παραγωγής με μάσκα Ψηλά Η κάλυψη μπορεί να διαταράξει την ακεραιότητα αναφοράς
Συνθετική παραγωγή Μέτριας Δυσκολίας Οι κατανομές ενδέχεται να μην αντιστοιχούν στην πραγματικότητα
Επαναλαμβανόμενη επισκεψιμότητα παραγωγής Ψηλά Απαιτείται υποδομή καταγραφής

Όποια διαδρομή κι αν ακολουθήσετε, πρέπει να ισχύουν τρεις ιδιότητες, διαφορετικά η δοκιμή δεν θα μετρήσει τίποτα χρήσιμο.

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

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

Συχνές Ερωτήσεις

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

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

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

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

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

Συνοψίστε αυτήν την ανάρτηση με: