Τι είναι το Load Testing; (Παραδείγματα)

Δοκιμές φορτίου

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

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

Αυτή η δοκιμή συνήθως προσδιορίζει -

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

Είναι ένα είδος μη λειτουργικής δοκιμής. Στη Μηχανική Λογισμικού, η δοκιμή φόρτωσης χρησιμοποιείται συνήθως για τον Πελάτη/Διακομιστή, τις εφαρμογές που βασίζονται στο Web – τόσο στο Intranet όσο και στο Διαδίκτυο.

Ανάγκη δοκιμής φορτίου

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

Εξετάστε τα ακόλουθα παραδείγματα δοκιμών φορτίου

  • Το δημοφιλές κατάστημα παιχνιδιών Toysrus.com, δεν μπόρεσε να διαχειριστεί την αυξημένη επισκεψιμότητα που παρήγαγε η διαφημιστική τους καμπάνια, με αποτέλεσμα την απώλεια τόσο των δολαρίων μάρκετινγκ όσο και των πιθανών πωλήσεων παιχνιδιών.
  • Ένας ιστότοπος της αεροπορικής εταιρείας δεν ήταν σε θέση να χειριστεί 10000+ χρήστες κατά τη διάρκεια μιας προσφοράς φεστιβάλ.
  • Η Encyclopedia Britannica δήλωσε δωρεάν πρόσβαση στην ηλεκτρονική της βάση δεδομένων ως προωθητική προσφορά. Δεν ήταν σε θέση να συμβαδίσουν με την επίθεση της κυκλοφορίας για εβδομάδες.

Πολλοί ιστότοποι υφίστανται καθυστερήσεις φόρτωσης όταν αντιμετωπίζουν μεγάλη επισκεψιμότητα. Λίγα γεγονότα -

  • Οι περισσότεροι χρήστες κάνουν κλικ μακριά μετά από 8 δευτερόλεπτα καθυστέρηση στη φόρτωση μιας σελίδας
  • $ 4.4 Billion Χάνεται ετησίως λόγω κακής απόδοσης

Γιατί φόρτωση δοκιμής;

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

Στόχοι Δοκιμής Φορτίου

Η δοκιμή φόρτωσης εντοπίζει τα ακόλουθα προβλήματα πριν από τη μεταφορά της εφαρμογής στην αγορά ή την παραγωγή:

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

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

Προϋποθέσεις δοκιμής φορτίου

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

  • Εάν ο χρόνος απόκρισης έχει ήδη μετρηθεί και συγκριθεί – Ποσοτική
  • Εάν ο χρόνος απόκρισης ισχύει για την επιχειρηματική διαδικασία – Σχετικό
  • Εάν ο χρόνος απόκρισης είναι δικαιολογημένος - Ρεαλιστικό
  • Εάν ο χρόνος απόκρισης είναι εφικτός - Εφικτός
  • Είτε ο χρόνος απόκρισης είναι μετρήσιμος με χρήση εργαλείου ή χρονόμετρου – Μετρήσιμος

Πρέπει να ρυθμιστεί ένα περιβάλλον πριν από την έναρξη της δοκιμής φορτίου:

Πλατφόρμα υλικού Διαμόρφωση λογισμικού
  • Μηχανές διακομιστή
  • Επεξεργαστές
  • Μνήμη
  • Αποθήκευση δίσκων
  • Διαμόρφωση φόρτωσης μηχανών
  • Διαμόρφωση δικτύου
  • Operating System
  • Λογισμικό διακομιστή

Στρατηγικές δοκιμών φορτίου

Υπάρχουν πολλοί τρόποι για την εκτέλεση δοκιμών φορτίου. Ακολουθούν μερικές στρατηγικές δοκιμών φορτίου-

Στρατηγικές δοκιμών φορτίου

  • Δοκιμή χειροκίνητου φορτίου: Αυτή είναι μια από τις στρατηγικές για την εκτέλεση δοκιμών φορτίου, αλλά δεν παράγει επαναλαμβανόμενα αποτελέσματα, δεν μπορεί να παρέχει μετρήσιμα επίπεδα πίεσης σε μια εφαρμογή και είναι μια διαδικασία αδύνατο να συντονιστεί.
  • Εσωτερικά αναπτύχθηκαν εργαλεία δοκιμής φορτίου: Ένας οργανισμός, ο οποίος αντιλαμβάνεται τη σημασία της δοκιμής φορτίου, μπορεί να δημιουργήσει τα δικά του εργαλεία για την εκτέλεση δοκιμών φορτίου.
  • Εργαλεία δοκιμής φόρτωσης ανοιχτού κώδικα: Υπάρχουν πολλά εργαλεία δοκιμής φόρτωσης διαθέσιμα ως ανοιχτού κώδικα που είναι δωρεάν. Μπορεί να μην είναι τόσο εξελιγμένοι όσο οι αντίστοιχοι επί πληρωμή, αλλά αν έχετε προϋπολογισμό, είναι η καλύτερη επιλογή.
  • Εργαλεία δοκιμής φορτίου κατηγορίας επιχειρήσεων: Συνήθως συνοδεύονται από δυνατότητα λήψης/αναπαραγωγής. Υποστηρίζουν μεγάλο αριθμό πρωτοκόλλων. Μπορούν να προσομοιώσουν έναν εξαιρετικά μεγάλο αριθμό χρηστών.

Πώς να κάνετε Load Testing

Η διαδικασία δοκιμής φορτίου μπορεί να περιγραφεί εν συντομία ως εξής:

  1. Δημιουργήστε ένα ειδικό Περιβάλλον δοκιμής για δοκιμή φορτίου
  2. Προσδιορίστε τα ακόλουθα
  3. Φόρτωση σεναρίων δοκιμής
  4. Προσδιορίστε τις συναλλαγές δοκιμής φορτίου για μια εφαρμογή
    • Προετοιμάστε δεδομένα για κάθε συναλλαγή
    • Ο αριθμός των χρηστών που έχουν πρόσβαση στο σύστημα πρέπει να προβλεφθεί
    • Προσδιορίστε τις ταχύτητες σύνδεσης. Ορισμένοι χρήστες ενδέχεται να συνδέονται μέσω μισθωμένων γραμμών ενώ άλλοι μπορεί να χρησιμοποιούν σύνδεση μέσω τηλεφώνου
    • Προσδιορίστε διαφορετικά προγράμματα περιήγησης και λειτουργικά συστήματα που χρησιμοποιούνται από τους χρήστες 
    • Μια ρύθμιση παραμέτρων όλων των διακομιστών όπως διακομιστές web, εφαρμογών και DB
  5. Εκτέλεση και παρακολούθηση σεναρίου δοκιμής. Συλλογή διαφόρων μετρήσεων
  6. Αναλύστε τα αποτελέσματα. Κάντε συστάσεις
  7. Βελτιστοποιήστε το Σύστημα
  8. Επανεξέταση

Οδηγίες για τη δοκιμή φορτίου

Οδηγίες για τη δοκιμή φορτίου

  1. Η δοκιμή φόρτωσης θα πρέπει να προγραμματιστεί μόλις η εφαρμογή γίνει λειτουργικά σταθερή.
  2. Ένας μεγάλος αριθμός μοναδικών δεδομένων θα πρέπει να είναι έτοιμος στη δεξαμενή δεδομένων
  3. Ο αριθμός των χρηστών πρέπει να αποφασιστεί για κάθε σενάριο ή σενάρια
  4. Αποφύγετε τη δημιουργία λεπτομερών αρχείων καταγραφής για τη διατήρηση του χώρου IO του δίσκου
  5. Προσπαθήστε να αποφύγετε τη λήψη εικόνων στον ιστότοπο
  6. Κατά τη διαδικασία εκτέλεσης δοκιμών δοκιμής φορτίου, η συνέπεια του χρόνου απόκρισης κατά τη διάρκεια της περιόδου που έχει παρέλθει θα πρέπει να καταγράφεται και να συγκρίνεται με διάφορες δοκιμαστικές εκτελέσεις.

Διαφορά μεταξύ δοκιμών φορτίου και καταπόνησης

Δοκιμές φορτίου Έλεγχος πίεσης
Η δοκιμή φορτίου εντοπίζει τα σημεία συμφόρησης στο σύστημα κάτω από διάφορους φόρτους εργασίας και ελέγχει πώς αντιδρά το σύστημα όταν το φορτίο αυξάνεται σταδιακά Έλεγχος πίεσης καθορίζει το σημείο θραύσης του συστήματος για να αποκαλύψει το μέγιστο σημείο μετά το οποίο σπάει.
Για να αναγνωρίσετε το ανώτερο όριο του συστήματος, ορίστε το SLA της εφαρμογής και ελέγξτε πώς το σύστημα μπορεί να χειριστεί ένα μεγάλο φορτίο. Για να ελέγξετε πώς συμπεριφέρεται το σύστημα κάτω από ακραία φορτία και πώς ανακάμπτει από αστοχία.
Η δημιουργία αυξημένου φορτίου σε μια εφαρμογή Ιστού είναι ο κύριος στόχος της δοκιμής φορτίου. Η δοκιμή καταπόνησης στοχεύει να διασφαλίσει ότι κάτω από ένα ξαφνικό υψηλό φορτίο για μεγάλο χρονικό διάστημα οι διακομιστές δεν κολλάνε.
Τα χαρακτηριστικά που ελέγχονται σε μια δοκιμή φόρτωσης είναι η μέγιστη απόδοση, η ποσότητα διακομιστή και ο χρόνος απόκρισης. Αυτό το είδος δοκιμής ελέγχει τον χρόνο απόκρισης σταθερότητας κ.λπ.
Στη δοκιμή φορτίου το όριο φορτίου είναι ένα κατώφλι διακοπής. Σε δοκιμές ακραίων καταστάσεων το όριο φορτίου είναι πάνω από το όριο μιας διακοπής.

Διαφορά μεταξύ Λειτουργικής και Δοκιμής Φορτίου

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

Φόρτωση εργαλείων δοκιμής

Φόρτωση δρομέα:

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

Διαβάστε περισσότερα για το Loadrunner εδώ.

Πλεονεκτήματα και μειονεκτήματα της δοκιμής φορτίου

Ακολουθούν τα πλεονεκτήματα της δοκιμής φορτίου:

  • Προσδιορισμός σημείων συμφόρησης απόδοσης πριν από την παραγωγή
  • Βελτιώνει την επεκτασιμότητα του συστήματος
  • Ελαχιστοποιήστε τον κίνδυνο που σχετίζεται με το χρόνο διακοπής λειτουργίας του συστήματος
  • Μειωμένο κόστος αποτυχίας
  • Αυξήστε την ικανοποίηση των πελατών

Μειονεκτήματα της δοκιμής φορτίου:

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

Σύνοψη

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