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.

  • 🕒 Püsiv koormus: Eeldatav tootmisliiklus püsis tunde või päevi, mitte minuteid.
  • 📉 Lagunemise fookus: Küsimus on selles, kas reageerimisajad pikenevad, mitte selles, kas eesmärk saavutatakse üks kord.
  • 💧 Levinud leiud: Mälu lekked, ühenduste kogumi ammendumine ja piiramatu logi või vahemälu kasv.
  • 📊 Jälgimiskomplekt: Mälu, protsessori, reageerimisaeg, läbilaskevõime ja andmebaasiühendused kogu tsükli vältel.
  • 🛠️ tööriistad: Standardsed koormustööriistad juhivad liiklust, samas kui APM-tööriistad salvestavad ressursikõveraid.
  • 🇧🇷 Kompromiss: Tulemused on väärtuslikud, kuid nende saamine on aeglane, mis piirab testi läbiviimise sagedust.

Mis on vastupidavustestimine

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

Vastupidavuse testimine

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

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.

KKK

Koormustestid kontrollivad, kas süsteem saavutab oma eesmärgid lühikese tsükli jooksul tippkoormusel. Vastupidavustestid hoiavad tavapärast koormust tundide kaupa, et näidata, kas need eesmärgid kehtivad ka tsükli lõpus.

Igasugune püsiv kasvutrend reageerimisajas või ressursikasutuses, isegi kui ühtegi läve ei ületata. Defekt ise ongi triiv, sest see ületab lõpuks tootmises piiri.

Pärast funktsionaalse ja koormustesti läbimist ning piisavalt vara, et avastatud leket saaks veel parandada, ei jäta testi käivitamine eelmisel õhtul enne väljalaset aega tulemuste põhjal tegutsemiseks.

Tehisintellektil põhinev jälgimine tuvastab punkti, kus mõõdik muudab trendi, ja seostab seda juurutuste või ajastatud töödega, muutes tundidepikkused graafikud konkreetseks kahtlusaluseks.

See aitab prioriseerida. Riskimudelid toovad esile, millised avaldavad puutetundliku koodi, seega reserveeritakse täisversioonid muudatustele, mis neid kõige tõenäolisemalt vajavad.

Võta see postitus kokku järgmiselt: