load testing complete guide
Popoln vodnik za testiranje obremenitve za začetnike:
V tej vadnici bomo izvedeli, zakaj izvajamo preizkušanje obremenitve, kaj je s tem doseženo, arhitektura, kakšen pristop je treba uporabiti za uspešno izvedbo preizkusa obremenitve, kako nastaviti okolje preizkusa obremenitve, najboljše prakse, skupaj z najboljša orodja za testiranje obremenitve, ki so na voljo na trgu.
Slišali smo tako za funkcionalno kot nefunkcionalno preskušanje. Pri nefunkcionalnem preskušanju imamo različne vrste preskušanj, kot so preizkušanje zmogljivosti, varnostno testiranje, testiranje uporabniškega vmesnika itd.
Zato je preskušanje obremenitve nefunkcionalna vrsta preskušanja, ki je podskupina preizkušanja zmogljivosti.
Ko torej rečemo, da preizkušamo aplikacijo za uspešnost, kaj vse tukaj testiramo? Preizkušamo aplikacijo za obremenitev, prostornino, nosilnost, stres itd.
Kaj se boste naučili:
- Kaj je preskušanje obremenitve?
- Arhitektura preskusa obremenitve
- Zakaj testiranje obremenitve?
- Okolje
- Pristop
- Najboljše prakse
- Zaključek
- Priporočeno branje
Kaj je preskušanje obremenitve?
Preizkušanje obremenitve je podskupina preizkušanja zmogljivosti, kjer testiramo odziv sistema v različnih pogojih obremenitve s simulacijo več uporabnikov, ki hkrati dostopajo do aplikacije. To testiranje običajno meri hitrost in zmogljivost aplikacije.
Kadar koli spremenimo obremenitev, spremljamo obnašanje sistema pod različnimi pogoji.
Primer :Predpostavimo, da je zahteva naših strank za prijavno stran 2-5 sekund, ta 2-5 sekunda pa mora biti dosledna ves čas, dokler ni obremenitev 5000 uporabnikov. Torej, kaj naj opazimo slišati? Ali gre zgolj za zmožnost sistema za obvladovanje tovora ali gre le za zahtevo odzivnega časa?
Odgovor je oboje. Želimo sistem, ki zmore 5000 uporabnikov z odzivnim časom 2-5 sekund za vse sočasne uporabnike.
Kaj torej pomeni sočasni uporabnik in virtualni uporabnik?
Sočasni uporabniki so tisti, ki se prijavijo v aplikacijo in hkrati opravijo nabor dejavnosti skupaj in se hkrati odjavijo iz aplikacije. Po drugi strani pa navidezni uporabniki preprosto vstopijo in skočijo iz sistema ne glede na druge uporabniške dejavnosti.
Arhitektura preskusa obremenitve
Na spodnjem diagramu lahko vidimo, kako različni uporabniki dostopajo do aplikacije. Tu vsak uporabnik prek interneta odda zahtevo, ki se kasneje prenese skozi požarni zid.
Po požarnem zidu imamo Load balancer, ki razdeli obremenitev na katerega koli od spletnih strežnikov, nato pa preide na aplikacijski strežnik in kasneje na strežnik zbirke podatkov, kjer pridobi potrebne informacije na podlagi zahteve uporabnika.

Preskušanje obremenitve lahko opravite ročno in z orodjem. Toda ročno testiranje obremenitve ni priporočljivo, saj aplikacije ne testiramo za manjšo obremenitev.
Primer: Predpostavimo, da želimo preizkusiti spletno nakupovalno aplikacijo, da vidimo odzivni čas aplikacije za vsakega uporabniškega klika, tj. Step1 –Launch URL, odzivni čas, prijava v aplikacijo in beleženje odzivnega časa itd. izdelka, dodajanje v košarico, plačilo in odjava. Vse to je treba opraviti za 10 uporabnikov.
Torej, zdaj, ko moramo preizkusiti obremenitev aplikacije za 10 uporabnikov, lahko to dosežemo tako, da namesto z orodjem ročno naložimo 10 fizičnih uporabnikov iz različnih strojev. V tem primeru je priporočljivo, da se namesto vlaganja v orodje in nastavitve okolja za orodje preizkusite ročno obremenitev.
Medtem ko si predstavljamo, če moramo naložiti test za 1500 uporabnikov, potem moramo avtomatizirati test obremenitve s katerim koli razpoložljivim orodjem, ki temelji na tehnologijah, v katerih je vgrajena aplikacija, in tudi na podlagi proračuna, ki ga imamo za projekt.
Če imamo proračun, se lahko odločimo za komercialna orodja, kot je Load runner, če pa proračuna nimamo veliko, lahko uporabimo odprtokodna orodja, kot je JMeter itd.
anime tv vse brezplačno za vas
Ne glede na to, ali gre za komercialno orodje ali odprtokodno orodje, je treba pred dokončanjem orodja deliti podatke s stranko. Običajno se pripravi dokaz o konceptu, kjer z orodjem ustvarimo vzorčni skript in pred dokončanjem prikažemo vzorčna poročila stranki v odobritev orodja.
Pri samodejnem testiranju obremenitve uporabnike nadomestimo s pomočjo avtomatiziranega orodja, ki posnema dejanska dejanja uporabnikov v realnem času. Z avtomatizacijo obremenitve lahko prihranimo vire in čas.
Spodaj je diagram, ki prikazuje, kako uporabnike zamenjamo z orodjem.

Zakaj testiranje obremenitve?
Predpostavimo, da obstaja spletno mesto za spletno nakupovanje, ki v običajnih delovnih dneh deluje precej dobro, tj. Uporabniki se lahko prijavijo v aplikacijo, brskajo po različnih kategorijah izdelkov, izbirajo izdelke, dodajajo izdelke v košarico, se odjavi in odjavi v sprejemljiv obseg in ni napak na straneh ali velikih odzivnih časov.
Medtem nastopi vrhunec, recimo Dan zahvale in v sistem je prijavljenih na tisoče uporabnikov, sistem se nenadoma zruši in uporabniki se počutijo zelo počasi, nekateri ne morejo niti se prijavijo na spletno mesto, nekaj jih ni uspelo dodati v košarico, nekateri pa se niso odjavili.
Na ta velik dan se je moralo podjetje soočiti z veliko izgubo, saj je izgubilo veliko kupcev in veliko posla. Vse to se je zgodilo samo zato, ker niso napovedali obremenitve uporabnika za konice dni, tudi če bi predvideli, da na spletnem mestu podjetja ni bil opravljen test obremenitve, zato ne vedo, koliko obremenitve bo zmogla aplikacija v konicah.
Tako je za obvladovanje takšnih situacij in za premagovanje velikih prihodkov priporočljivo opraviti test obremenitve za takšne vrste aplikacij.
- Preskušanje obremenitve pomaga zgraditi močne in zanesljive sisteme.
- Ozko grlo v sistemu je opredeljeno že vnaprej, preden aplikacija začne delovati.
- Pomaga pri prepoznavanju zmogljivosti aplikacije.
Kaj se doseže med preskusom obremenitve?
S pravilnim testom obremenitve lahko natančno razumemo naslednje:
- Število uporabnikov, ki jih sistem lahko obravnava ali jih lahko poveča.
- Odzivni čas vsake transakcije.
- Kako se obnaša vsaka komponenta celotnega sistema pri Load i.e komponentah aplikacijskega strežnika, komponentah spletnega strežnika, komponentah baze podatkov itd.
- Katera konfiguracija strežnika je najboljša za obremenitev?
- Ali je obstoječa strojna oprema dovolj ali je potrebna dodatna strojna oprema.
- Ugotovljena so ozka grla, kot so izkoriščenost procesorja, uporaba pomnilnika, zamude v omrežju itd.
Okolje
Za izvajanje testov potrebujemo namensko okolje za testiranje obremenitve. Ker bo večina časa okolje za preskus obremenitve enako proizvodnemu okolju, pa tudi podatki, ki so na voljo v okolju za preskus obremenitve, bodo enaki proizvodnemu, čeprav to niso isti podatki.
Obstajalo bo več testnih okolij, kot so okolje SIT, QA itd., Ta okolja niso enaka, saj za razliko od testiranja obremenitve ne potrebujejo toliko strežnikov ali toliko testnih podatkov za izvedbo funkcionalnega testiranja ali integracijskega testiranja.
Primer:
V proizvodnem okolju imamo 3 aplikacijske strežnike, 2 spletna strežnika in 2 strežnika baz podatkov. V QA imamo samo 1 aplikacijski strežnik, 1 spletni strežnik in 1 strežnik baz podatkov. Če torej opravimo test obremenitve v okolju QA, ki ni enak produkcijskemu, potem naši testi niso veljavni in so tudi napačni, zato teh rezultatov ne moremo upoštevati.
Zato vedno poskušajte imeti namensko okolje za testiranje obremenitve, ki je podobno okolju proizvodnega okolja.
Včasih imamo tudi programe tretjih oseb, ki jih bo poklical naš sistem, zato lahko v takih primerih uporabimo klice, saj ne moremo vedno sodelovati s tretjimi ponudniki za osvežitev podatkov ali kakršne koli druge težave ali podporo.
Poskusite narediti posnetek okolja, ko je pripravljeno, tako da lahko kadar koli želite obnoviti okolje, uporabite ta posnetek, ki bi pomagal pri upravljanju časa. Na trgu je na voljo nekaj orodij za nastavitev okolja, kot so Lutka, Docker itd.
Pristop
Preden začnemo s testom obremenitve, moramo razumeti, ali je v sistemu že opravljen test obremenitve ali ne. Če je bilo prej opravljeno preskušanje obremenitve, moramo vedeti, kakšen je bil odzivni čas, zbrane meritve odjemalca in strežnika, kolikšna je bila uporabniška nosilnost itd.
Prav tako potrebujemo informacije o tem, kolikšna je trenutna sposobnost upravljanja aplikacij. Če gre za novo aplikacijo, moramo razumeti zahteve, kakšna je ciljna obremenitev, kakšen je pričakovani odzivni čas in ali je to res mogoče doseči ali ne.
Če gre za obstoječo aplikacijo, lahko zahteve za nalaganje in vzorce uporabniškega dostopa dobite iz dnevnikov strežnika. Če pa gre za novo aplikacijo, morate za vse informacije stopiti v stik s poslovno skupino.
Ko imamo zahteve, moramo določiti, kako bomo izvedli test obremenitve. Ali se to izvaja ročno ali z uporabo orodij? Ročni preskus obremenitve zahteva veliko sredstev in je tudi zelo drag. Tudi ponavljanje testa, vedno znova, bo težko.
Za premagovanje tega lahko uporabimo odprtokodna ali komercialna orodja. Odprtokodna orodja so na voljo brezplačno, ta orodja morda nimajo vseh funkcij, kot so druga komercialna orodja, če pa ima projekt proračunsko omejitev, lahko uporabimo odprtokodna orodja.
Medtem ko imajo komercialna orodja številne funkcije, podpirajo številne protokole in so zelo uporabniku prijazna.
Naš pristop k preskusu obremenitve bo naslednji:
# 1) Določite merila sprejemljivosti preskusa obremenitve
Na primer:
- Odzivni čas strani za prijavo ne sme biti daljši od 5 sekund, tudi v pogojih največje obremenitve.
- Izkoristek procesorja ne sme biti večji od 80%.
- Prepustnost sistema mora biti 100 transakcij na sekundo.
# 2) Ugotovite poslovne scenarije, ki jih je treba preizkusiti.
Ne preizkušajte vseh tokov, poskusite razumeti glavne poslovne tokove, ki naj bi se zgodili v proizvodnji. Če gre za obstoječo aplikacijo, lahko njegove podatke dobimo iz strežniških dnevnikov produkcijskega okolja.
Če gre za novo zgrajeno aplikacijo, moramo skupaj s poslovnimi skupinami razumeti vzorce pretoka, uporabo aplikacij itd. Včasih bo projektna skupina izvedla delavnice, na katerih bo predstavila pregled ali podrobnosti o vsaki komponenti aplikacije.
Udeležiti se moramo prijavne delavnice in si zabeležiti vse potrebne podatke za izvedbo preizkusa obremenitve.
# 3) Modeliranje delovne obremenitve
Ko dobimo podrobnosti o poslovnih tokovih, vzorcih dostopa uporabnikov in številu uporabnikov, moramo delovno obremenitev oblikovati tako, da posnema dejansko uporabniško navigacijo v proizvodnji ali po pričakovanjih v prihodnosti, ko bo aplikacija bo v proizvodnji.
Ključne točke, ki si jih je treba zapomniti pri oblikovanju modela delovne obremenitve, je videti, koliko časa bo potreben določen poslovni tok. Tu moramo čas razmišljanja določiti tako, da bo uporabnik bolj realistično krmaril po aplikaciji.

Vzorec delovne obremenitve je običajno z rampo navzgor, navzdol navzdol in v stanju dinamičnega ravnovesja. Počasi bi morali naložiti sistem in tako uporabimo vzpenjanje navzgor in navzdol. V stanju dinamičnega ravnovesja je običajno enourni preskus obremenitve z rampo do 15 minut in ramom do 15 minut.
Vzemimo primer modela delovne obremenitve:
Pregled aplikacije - Predpostavimo spletno nakupovanje, kjer se bodo uporabniki prijavili v aplikacijo in imeli na voljo široko paleto oblek ter lahko krmarili po posameznih izdelkih.
Če si želijo ogledati podrobnosti o posameznem izdelku, morajo klikniti izdelek. Če so jim všeč stroški in izdelava izdelka, jih lahko dodajo v košarico in kupijo izdelek tako, da se odjavijo in plačajo.
Spodaj je seznam scenarijev:
- Brskaj - Tu uporabnik zažene aplikacijo, se prijavi v aplikacijo, brska po različnih kategorijah in se odjavi iz aplikacije.
- Brskaj, pogled izdelka, dodaj v košarico - Tu se uporabnik prijavi v aplikacijo, brska po različnih kategorijah, si ogleduje podrobnosti o izdelku, doda izdelek v košarico in se odjavi.
- Brskaj, pogled izdelka, dodaj v košarico in odjavi - V tem primeru se uporabnik prijavi v aplikacijo, brska po različnih kategorijah, si ogleduje podrobnosti o izdelku, doda izdelek v košarico, se odjavi in odjavi.
- Brskaj, pogled izdelka, Dodaj v košarico Odjavi in izvede plačilo - Tu se uporabnik prijavi v aplikacijo, brska po različnih kategorijah, si ogleduje podrobnosti o izdelku, doda izdelek v košarico, se odjavi, izvede plačilo in se odjavi.
| S. Št | Poslovni tok | Število transakcij | Nalaganje navideznega uporabnika | Odzivni čas (sek) | % Dovoljenih stopenj napak | Transakcije na uro |
|---|---|---|---|---|---|---|
| 1. | Brskaj | 17. | 1600 | 3. | Manj kot 2% | 96000 |
| dva | Brskaj, pogled izdelka, dodaj v košarico | 17. | 200 | 3. | Manj kot 2% | 12000 |
| 3. | Brskaj, pogled izdelka, dodaj v košarico in odjavi | 18. | 120 | 3. | Manj kot 2% | 7200 |
| 4. | Brskaj, pogled izdelka, Dodaj v košarico Odjavi in izvede plačilo | dvajset | 80 | 3. | Manj kot 2% | 4800 |
Zgornje vrednosti so bile pridobljene na podlagi naslednjih izračunov:
- Transakcije na uro = Število uporabnikov * Transakcije, ki jih je en uporabnik opravil v eni uri.
- Število uporabnikov = 1600.
- Skupno število transakcij v scenariju brskanja = 17.
- Odzivni čas za vsako transakcijo = 3.
- Skupni čas, ko en sam uporabnik opravi 17 transakcij = 17 * 3 = 51, zaokroženo na 60 sekund (1 min).
- Transakcije na uro = 1600 * 60 = 96000 transakcij.
# 4) Oblikujte preskuse obremenitve- Test obremenitve mora biti zasnovan s podatki, ki smo jih doslej zbrali, tj. Poslovni tokovi, število uporabnikov, vzorci uporabnikov, meritve, ki jih je treba zbrati in analizirati. Poleg tega bi morali biti testi zasnovani na precej realističen način.
# 5) Izvedite preskus obremenitve - Preden izvedemo test nalaganja, se prepričajte, da je aplikacija zagnana in deluje. Okolje za preskus obremenitve je pripravljeno. Aplikacija je funkcionalno preizkušena in je stabilna.
Preverite nastavitvene nastavitve preskusnega okolja Load. Moral bi biti enak proizvodnemu okolju. Prepričajte se, da so na voljo vsi podatki o preskusu. Ne pozabite dodati števcev za spremljanje delovanja sistema med izvajanjem preizkusa.
Vedno začnite z majhno obremenitvijo in postopoma povečajte obremenitev. Nikoli ne začnite s polno obremenitvijo in prekinite sistema.
# 6) Analizirajte rezultate testa obremenitve - Pripravite osnovni test, ki ga boste vedno primerjali z drugimi preizkusi. Po preizkusu zaženite meritve in dnevnike strežnika, da poiščete ozka grla.
Nekateri projekti uporabljajo orodja za spremljanje delovanja aplikacij za nadzor sistema med preizkusom, ta orodja APM pomagajo lažje prepoznati glavni vzrok in prihranijo veliko časa. Ta orodja je zelo enostavno najti glavni vzrok ozkega grla, saj imajo širok pogled, da natančno določijo, kje je težava.
Nekatera orodja APM na trgu vključujejo DynaTrace, Wily Introscope, App Dynamics itd.
# 7) Poročanje - Ko je preizkus končan, zberite vse meritve in pošljite poročilo o povzetku testa zadevni skupini s svojimi opažanji in priporočili.

Najboljše prakse
Spodaj je navedenih nekaj najboljših praks testiranja obremenitve:
# 1) Pred začetkom preskusa obremenitve vedno preverite stabilnost aplikacije. Ekipa za funkcionalno testiranje mora funkcijo funkcionalno stabilno podpisati, vse večje napake pa je treba odpraviti in preizkusiti, preden je gradnja kopirana v okolje za preskus obremenitve.
#two) Prepričajte se, da je preskusno okolje nalaganja replika ali blizu proizvodnemu okolju, vključno s številom strežnikov, izravnalniki obremenitve, konfiguracijami strežnikov in požarnimi zidovi.
# 3) Pred izvedbo preskusa obremenitve preverite, ali so testni podatki enolični in imamo vse preskusne podatke kopirane v obremenitvenem okolju.
# 4) Testne scenarije oblikujte tako, da posnemajo dejansko uporabniško dejanje, ki se dogaja v produkciji.
# 5) Oblikujte delovno obremenitev glede na proizvodne obremenitve uporabnikov in poslovne tokove, v primeru stare aplikacije pa preverite, ali gre za nov pogovor s poslovno skupino glede poslovnih tokov in obremenitve uporabnikov.
# 6) Zberite vse pomembne meritve, kot so odzivni čas, zadetki na sekundo, pretočnost, procesor, pomnilnik, omrežje in zagon uporabnikov.
Priporočeno branje => Seznam orodij za preizkušanje zmogljivosti, ki so na voljo na trgu za izvajanje ekskluzivnih preskusov obremenitve.
Zaključek
V tej vadnici smo se naučili, kako ima testiranje obremenitve pomembno vlogo pri preizkušanju zmogljivosti aplikacije, kako pomaga razumeti učinkovitost in zmogljivost aplikacije itd.
Prav tako smo izvedeli, kako pomaga napovedati, ali je za aplikacijo potrebna dodatna strojna oprema, programska oprema ali nastavitev.
Veselo branje !!
Priporočeno branje
- Testiranje obremenitve z vadnicami HP LoadRunner
- Alfa testiranje in beta testiranje (popoln vodnik)
- Vodič za preizkušanje varnosti spletnih aplikacij
- Vodnik za testiranje izjemnih situacij za začetnike
- Priročnik za začetnike do testiranja prodora spletnih aplikacij
- Popoln nefunkcionalni priročnik za testiranje za začetnike
- Popoln vodnik za preizkušanje preverjanja gradnje (testiranje BVT)
- Preskušanje učinkovitosti v primerjavi s preskusom obremenitve v primerjavi s testiranjem izjemnih situacij (razlika)