Mis on vastupidavustestimine tarkvara testimises? (koos näitega)
⚡ Nutikas kokkuvõte
Kestvustestid käitavad rakendust tavapärase eeldatava koormuse all pikema aja jooksul, et teha kindlaks, kas jõudlus aja jooksul halveneb. See on test, mis tabab defekte, milleni ühetunnine koormus ei jõua.
Mis on vastupidavuse testimine?
Vastupidavuse testimine on mittefunktsionaalne tarkvara testimise tüüp, mille puhul tarkvara testitakse suure koormusega ja pika aja jooksul, et hinnata tarkvararakenduse käitumist püsival kasutamisel. Vastupidavuskatsete peamine eesmärk on tagada, et rakendus on piisavalt võimeline taluma pikemat koormust ilma reageerimisaja halvenemiseta.
Seda tüüpi testimine viiakse läbi jõudlustsükli viimases etapis. Vastupidavuse testimine on pikk protsess ja kestab mõnikord isegi kuni aasta. See võib hõlmata väliste koormuste (nt Interneti-liikluse või kasutajatoimingute) rakendamist. See erineb vastupidavustestide tegemisest Koormuse testimine, mis tavaliselt lõpeb paari tunni pärast.
Vastupidavus tähendab suutlikkust, nii et teisisõnu võite vastupidavuse testimist nimetada suutlikkuse testimiseks.
Kestvustesti eesmärgid
- Kestvustesti peamine eesmärk on kontrollida mälulekkeid.
- Et teada saada, kuidas süsteem püsival kasutamisel toimib.
- Tagamaks, et pärast pikka perioodi jääb süsteemi reaktsiooniaeg samaks või parem kui testi alguses.
- Kasutajate ja/või tehingute arvu määramiseks antud süsteem toetab ja täidab jõudluseesmärke.
- Tulevaste koormuste haldamiseks peame mõistma, kui palju täiendavaid ressursse (nt protsessori maht, ketta maht, mälukasutus või võrgu ribalaius) on tulevikus kasutamise toetamiseks vaja.
- Vastupidavustesti tehakse üldjuhul kas süsteemi ülekoormamise või teatud süsteemiressursside vähendamise ja tagajärgede hindamisega.
- Seda tehakse tagamaks, et pärast suhteliselt “normaalseks” peetud kasutusperioodi ei tekiks defekte ega mälulekkeid.
Mida vastupidavustestides jälgida
Vastupidavuskatsetes testitakse järgmisi asju.
- Testige mäluleket– Kontrollitakse, kas rakenduses on mälulekkeid, mis võivad põhjustada süsteemi või OS-i krahhi.
- Testige süsteemi kihi vahelist ühenduse sulgemist – Kui süsteemi kihtide vahelist ühendust ei õnnestu sulgeda, võib see osa või kõik süsteemi moodulid seiskuda.
- Testandmebaasi ühenduse sulgemine õnnestus– Kui andmebaasiühendust ei õnnestu sulgeda, võib see põhjustada süsteemi krahhi
- Testi reaktsiooniaeg – Süsteemi testitakse süsteemi reaktsiooniaja suhtes, kuna rakendus muutub süsteemi pikaajalise kasutamise tõttu vähem tõhusaks.
Kuidas vastupidavustesti teha
Allpool on toodud vastupidavustesti põhiline testimisviis
- Testimiskeskkond – Tehke kindlaks vastupidavustestimiseks vajalik riistvara, tarkvara, operatsioonisüsteem, meeskonnas rollide ja vastutuste määramine jne. Keskkond peab olema valmis enne testi läbiviimist. Samuti peate hindama ühist andmebaasi tootmismahtu ja iga-aastast kasvu. See on vajalik, sest peate testima, kuidas teie taotlus vastab aasta, kahe või viie pärast.
- Testiplaani koostamine, stsenaariumid – Testimise olemuse põhjal – käsitsi või automaatne või mõlema kombinatsioon, Testjuhtum kavandamine, ülevaatused ja teostus tuleks planeerida. Testimise kavasse peaksid kuuluma ka testimine süsteemi stressi tekitamiseks, murdepunktide testimine jne. Süsteemi pingestamise testimine määrab rakenduse murdepunkti.
- Testi hinnang – Esitage hinnang selle kohta, kui kaua kulub testimisetapi lõpuleviimiseks. Seda tuleks analüüsida kaasatud katsetajate arvu ja nõutavate katsetsüklite arvu põhjal.
- Riskianalüüs – Riskide analüüsimine ja ennetamiseks sobivate meetmete võtmine. Testijuhtumite tähtsuse järjekorda seadmine vastavalt riskitegurile ja alltoodud riskide ja probleemide kindlakstegemine, mida testija võib kestvustesti jooksul faasida.
- Kas jõudlus püsib aja jooksul ühtlane?
- Kas on muid väiksemaid probleeme, mida pole veel tuvastatud?
- Kas on väliseid häireid, mida ei käsitletud?
- Testi ajakava - Määrake eelarve ja lõpptulemused aja jooksul. Nagu Vastupidavuse testimine rakendab süsteemile/rakendusele tohutut, kuid loomulikku tehingute koormuskorraldust pidevaks perioodiks.
Kestvuskatse näide
Kui Stressitestimine viib testitud süsteemi oma piiridesse, Vastupidavuse testimine viib rakenduse lõpuni aja jooksul.
Näiteks kõige keerulisemad probleemid – mälulekked, andmebaasiserveri kasutamine ja reageerimatu süsteem – tekivad siis, kui tarkvara töötab pikka aega. Kui vastupidavustestid vahele jätta, on selliste defektide avastamise võimalus enne juurutamist üsna väike.
Vastupidavuse testimise tööriistad
- WebLOAD
- Laadimine lõpetatud
- Apache JMeter
- LoadRunner
- Appvance
- LoadUI
- OpenSTA
- Rational Performance Tester
Kestvustesti eelised
- See aitab kindlaks teha, kuidas koormusalune süsteem saab hakkama töökoormusega.
- Pakub täpseid andmeid, mida klient saab kasutada oma infrastruktuuri vajaduste kinnitamiseks või täiustamiseks.
- Tuvastab jõudlusprobleemid, mis võivad ilmneda pärast seda, kui süsteem on pikemat aega kõrgel tasemel töötanud
- Tüüpilised probleemid tuvastatakse väiksemate sihipäraste jõudlustestide käigus, mis tähendab, et see tagab, et rakendus jääb kättesaadavaks isegi siis, kui väga lühikese aja jooksul on suur koormus.
- Vastupidavustesti kasutatakse ka selleks, et kontrollida, kas pärast pikka täitmisperioodi ei esine jõudluse halvenemist
Vastupidavustesti miinused
- Sageli on raske määratleda, kui palju stressi tasub rakendada.
- Vastupidavuskatse võib põhjustada rakenduse ja/või võrgu tõrkeid, mis võivad põhjustada olulisi häireid Testi keskkond ei ole isoleeritud.
- Süsteemi ülekoormamine võib põhjustada püsivat andmete kadumist või riknemist.
- Ressursikasutus jääb pärast stressi kõrvaldamist väga kõrgeks.
- Mõned rakenduse komponendid ei reageeri.
- Käsitlemata erandeid jälgib lõppkasutaja.
Kuidas see test sobib jõudlustestide perekonda
Jõudlustestid on üldmõiste. Allpool loetletud variandid erinevad ainult rakendatava koormuse kuju ja selle kestuse poolest, mistõttu neid nii sageli segamini aetakse.
| Katse tüüp | Koormusmuster | Küsimus, millele see vastab |
|---|---|---|
| Koormustestimine | Eeldatav tippkoormus, lühiajaline | Kas süsteem saavutab oma eesmärgid tavapärase tippkoormuse korral? |
| Stressitestimine | Suurendatud üle võimekuse kuni rikkeni | Kus see puruneb ja kas see puruneb graatsiliselt? |
| Spike testimine | Äkiline äärmuslik tõus, seejärel võõrutusnähud | Kas see jääb ellu ja taastub liiklusšoki järel? |
| Vastupidavuse testimine | Tavaline koormus, mida hoitakse mitu tundi | Kas jõudlus aja jooksul halveneb? |
| Leotustestimine | Pidev koormus pikema aja jooksul | Kas esineb mälulekkeid või ressursside ammendumist? |
| Stabiilsuse testimine | Erinev koormus erinevates tingimustes | Kas süsteem jääb töökindlaks ka muutuvate tingimuste korral? |
| Mahu testimine | Tavakasutajad, väga suur andmemaht | Kas see saab andmebaasi kasvades hakkama? |
Vastupidavus- ja leotuskatseid käsitletakse sageli sünonüümidena. Üldkasutuses on need järgmised: mõlemad hoiavad pikka aega püsivat koormust. Seal, kus meeskonnad neid eristavad, keskendub vastupidavustestimine sellele, kas reageerimisajad pikenevad, samas kui leotustestimine keskendub ressursside tarbimisele, näiteks mälule, failikäepidemetele ja ühenduste kogumitele. Ühe käivitamine annab tavaliselt tõendeid mõlema kohta.
Testi ajal kogutavad peamised mõõdikud
Jõudluskäivituse kvaliteet sõltub sellest, mida sa selle käivitamise ajal salvestad. Salvesta need kuus tulemust serveri ja kliendi poolel ning võrdle neid seejärel pigem algtaseme kui kõhutunde põhjal.
| meetriline | Mida see teile ütleb | Hoiatusmärk |
|---|---|---|
| Keskmine reageerimisaeg | Tüüpiline kasutajakogemus | Igasugune ülespoole triiv jooksu ulatuses |
| 95. protsentiili reageerimisaeg | Kõige aeglasemate kasutajate kogemus | Kaugel üle keskmise, mis tähendab ebajärjekindlust |
| Läbilaskevõime | Sekundis töödeldud päringuid | Langeb, kui koormus jääb konstantseks |
| Veamäär | Ebaõnnestunud või aegunud taotluste osakaal | Igasugune tõus üle kokkulepitud läve |
| Protsessori ja mälu kasutamine | Serveri ressursi reserv | Mälu, mis ronib ja ei naase enam kunagi |
| Andmebaasiühendused ja lõimed | Basseini kurnatus | Loendused, mis kasvavad pidevalt ilma vabastamiseta |
Loe keskmist ja protsentiili koos. Keskmine 800 ms 95. protsentiiliga 900 ms kirjeldab järjepidevat süsteemi. Sama keskmine 95. protsentiiliga 9 sekundit tähendab, et ühel kahekümnest kasutajast on halb olla ja keskmine varjab seda.
Jälgi kuju, mitte ainult väärtust. Mis tahes pikas testis on lame ressursijoon läbitud ja tõusev joon leke, isegi kui absoluutarv on testi lõppedes endiselt mugavalt piiri sees.
Vastupidavustestid: peamised järeldused
- In Tarkvaraarendus, Vastupidavustest on koormustestide alamhulk.
- Vastupidavuse testimine on pikk protsess ja kestab mõnikord isegi kuni aasta
- Kontrollimiseks tehakse kontrolle
- Testige mäluleket
- Testi reaktsiooniaeg
- Testige andmebaasiühendust jne.


