Mitä on kestävyystestaus ohjelmistotestauksessa? (esimerkillä)
⚡ Älykäs yhteenveto
Kestävyystestaus suorittaa sovellusta normaalilla odotetulla kuormituksella pidemmän ajan selvittääkseen, heikkeneekö suorituskyky ajan myötä. Se on testi, joka havaitsee viat, joihin tunnin kuormitusajo ei pysty.

Mitä on kestävyystesti?
Kestävyystesti on ei-toiminnallinen ohjelmistotestaus, jossa ohjelmistoa testataan suurella kuormituksella ja pitkän ajan kuluessa ohjelmistosovelluksen toiminnan arvioimiseksi jatkuvassa käytössä. Kestävyystestauksen päätarkoituksena on varmistaa, että sovellus pystyy käsittelemään pitkäkestoista kuormitusta ilman, että vasteaika heikkenee.
Tämäntyyppinen testaus suoritetaan suorituskyvyn ajosyklin viimeisessä vaiheessa. Kestävyystesti on pitkä prosessi ja kestää joskus jopa vuoden. Tämä voi sisältää ulkoisen kuormituksen, kuten Internet-liikenteen tai käyttäjien toimien. Tämä tekee kestävyystestistä poikkeavan Kuormitustesti, joka yleensä päättyy parin tunnin sisällä.
Kestävyys tarkoittaa kapasiteettia, joten toisin sanoen voit kutsua kestävyystestauksen kapasiteettitestaukseksi.
Kestävyystestin tavoitteet
- Kestävyystestin ensisijainen tavoite on tarkistaa muistivuotoja.
- Selvittääksesi, kuinka järjestelmä toimii jatkuvassa käytössä.
- Sen varmistamiseksi, että pitkän ajan kuluttua järjestelmän vasteaika pysyy samana tai parempana kuin testin alussa.
- Käyttäjien ja/tai tapahtumien määrän määrittämiseksi tietty järjestelmä tukee ja täyttää suorituskykytavoitteet.
- Tulevien kuormien hallitsemiseksi meidän on ymmärrettävä, kuinka monta lisäresurssia (kuten prosessorin kapasiteetti, levykapasiteetti, muistin käyttö tai verkon kaistanleveys) tarvitaan käytön tukemiseksi tulevaisuudessa.
- Kestävyystestaus tehdään yleensä joko ylikuormittamalla järjestelmää tai vähentämällä tiettyjä järjestelmäresursseja ja arvioimalla seurauksia.
- Se suoritetaan sen varmistamiseksi, että vikoja tai muistivuotoja ei esiinny suhteellisen "normaalina" käyttöjakson jälkeen.
Mitä kestävyystestauksessa seurataan
Kestävyystesteissä testataan seuraavat asiat.
- Testaa muistivuoto– Tarkistukset tehdään sen varmistamiseksi, onko sovelluksessa muistivuotoja, jotka voivat aiheuttaa järjestelmän tai käyttöjärjestelmän kaatumisen
- Testaa järjestelmän kerroksen välisen yhteyden sulkeutumista – Jos järjestelmän kerrosten välistä yhteyttä ei suljeta onnistuneesti, se voi pysähtyä jotkin tai kaikki järjestelmän moduuleista.
- Testitietokantayhteys suljettiin onnistuneesti– Jos tietokantayhteyttä ei suljeta onnistuneesti, seurauksena voi olla järjestelmän kaatuminen
- Testin vasteaika – Järjestelmä testataan järjestelmän vasteajan suhteen, koska sovellus heikkenee järjestelmän pitkäaikaisen käytön seurauksena.
Kestävyystestien suorittaminen
Alla on kestävyystestin perustestausmenetelmä
- Testausympäristö – Tunnista laitteistot, ohjelmistot, käyttöjärjestelmät, joita tarvitaan kestävyystestaukseen, roolien ja vastuiden jakamiseen tiimissä jne. Ympäristön tulee olla valmis ennen testin suorittamista. Sinun on myös arvioitava yleinen tietokannan tuotannon koko ja vuotuinen kasvu. Tätä vaaditaan sinänsä, sinun on testattava, kuinka hakemuksesi vastaa vuoden, kahden tai viiden kuluttua.
- Testisuunnitelman luominen, skenaariot – Testauksen luonteen perusteella – manuaalinen tai automaattinen tai molempien yhdistelmä, Testitapaus suunnittelu, arvioinnit ja toteutus tulee suunnitella. Testaussuunnitelmaan tulisi kuulua myös testaus järjestelmän rasittamiseksi, taitepistetestaukset jne. Testaus järjestelmän rasittamiseksi määrittää sovelluksen katkeamispisteen.
- Testiarvio - Anna arvio siitä, kuinka kauan testivaiheen loppuun saattaminen kestää. Se olisi analysoitava useiden mukana olevien testaajien ja vaadittujen testisyklien määrän perusteella.
- Riskianalyysi - Riskien analysointi ja asianmukaisten toimenpiteiden toteuttaminen ennaltaehkäisemiseksi. Testitapausten priorisointi riskitekijän mukaan ja tunnistaa alla riskit ja ongelmat, jotka testaaja voi vaiheestella kestävyystestin aikana.
- Pysyykö suorituskyky tasaisena ajan myötä?
- Onko muita pieniä ongelmia, joita ei ole vielä havaittu?
- Onko olemassa ulkoista häiriötä, jota ei ole käsitelty?
- Testiaikataulu - Määritä budjetti, suoritteet määräajassa. Kuten Kestävyystesti soveltaa valtavaa mutta luonnollista tapahtumien kuormitusjärjestelyä järjestelmään/sovellukseen jatkuvan ajan.
Esimerkki kestävyystestauksesta
Vaikka Stressitestaus vie testatun järjestelmän äärirajoihinsa, Kestävyystesti vie sovelluksen äärimmilleen ajan myötä.
Esimerkiksi monimutkaisimmat ongelmat – muistivuodot, tietokantapalvelimen käyttöaste ja järjestelmän jumiutuminen – tapahtuvat, kun ohjelmistoa suoritetaan pitkään. Jos jätät kestävyystestit väliin, mahdollisuutesi havaita tällaiset viat ennen käyttöönottoa ovat melko pienet.
Kestävyystestaustyökalut
- WebLOAD
- Lataa täydellinen
- Apache JMeter
- Hienosäätö
- Appvance
- LoadUI
- OpenSTA
- Rational Performance Tester
Kestävyystestauksen edut
- Se auttaa määrittämään, kuinka kuormitettu järjestelmä voi käsitellä työkuormaa.
- Tarjoaa tarkkoja tietoja, joita asiakas voi käyttää infrastruktuuritarpeidensa vahvistamiseen tai parantamiseen.
- Tunnistaa suorituskykyongelmat, joita voi ilmetä sen jälkeen, kun järjestelmä on ollut korkealla tasolla pitkän ajan
- Tyypilliset ongelmat tunnistetaan pienemmissä kohdistetuissa suorituskykytesteissä, mikä tarkoittaa, että se varmistaa, että sovellus pysyy saatavilla, vaikka kuormitus on valtava erittäin lyhyessä ajassa.
- Kestävyystestiä käytetään myös tarkistamaan, onko suorituskyvyn heikkenemistä pitkän suoritusjakson jälkeen
Kestävyystestin haitat
- Usein on vaikea määritellä, kuinka paljon stressiä kannattaa käyttää.
- Kestävyystestaus voi aiheuttaa sovellus- ja/tai verkkovirheitä, jotka voivat aiheuttaa merkittäviä häiriöitä Testiympäristössä eivät ole eristettyjä.
- Pysyvä tietojen menetys tai vioittuminen voi tapahtua, jos järjestelmää kuormitetaan liikaa.
- Resurssien käyttöaste pysyy erittäin korkealla stressin poistamisen jälkeen.
- Jotkut sovelluskomponentit eivät vastaa.
- Loppukäyttäjä havaitsee käsittelemättömät poikkeukset.
Kuinka tämä testi sopii suorituskykytestausperheeseen
Suorituskykytestaus on yleiskäsite. Alla olevat variantit eroavat toisistaan vain käytetyn kuormituksen muodon ja sen keston suhteen, minkä vuoksi ne sekoitetaan niin usein toisiinsa.
| Testityyppi | Kuormituskuvio | Kysymys, johon se vastaa |
|---|---|---|
| Kuormitustestaus | Odotettu huippukuormitus, lyhytaikainen | Saavuttaako järjestelmä tavoitteensa normaalin ruuhka-ajan liikenneolosuhteissa? |
| Stressitestaus | Yli kapasiteetin, kunnes vika | Missä se katkeaa, ja pettääkö se tyylikkäästi? |
| Piikkitestaus | Äkillinen äärimmäinen nousu, sitten vieroitusoireet | Selviääkö se liikenneiskusta ja toipuuko siitä? |
| Kestävyystesti | Normaali kuormitus useita tunteja | Heikentyykö suorituskyky ajan myötä? |
| Liotustestaus | Jatkuva kuormitus pitkän ajan kuluessa | Onko muistivuotoja tai resurssien loppumista? |
| Stabiliteettitestaus | Vaihteleva kuormitus eri olosuhteissa | Pysyykö järjestelmä luotettavana olosuhteiden muuttuessa? |
| Volyymitestaus | Tavalliset käyttäjät, erittäin suuri tietomäärä | Selviytyykö se tietokannan kasvaessa? |
Kestävyys- ja liotuskokeita käsitellään usein synonyymeinä. Yleisesti ottaen ne ovat: molemmat pitävät yllä jatkuvaa kuormitusta pitkään. Siinä missä tiimit erottavat ne toisistaan, kestävyystestaus keskittyy siihen, nousevatko vasteajat, kun taas lyhyiden käyttöiän testaus keskittyy resurssien, kuten muistin, tiedostokahvojen ja yhteyspoolien, kulutukseen. Toisen suorittaminen antaa yleensä todisteita molemmista.
Testin aikana kerättävät keskeiset mittarit
Suorituskykytestaus on vain niin hyvä kuin se, mitä tallennat sen suorituksen aikana. Tallenna nämä kuusi palvelimen ja asiakkaan puolella ja vertaa niitä sitten lähtötilanteeseen mutu-tuntuman sijaan.
| metrinen | Mitä se kertoo sinulle | Varoitusmerkki |
|---|---|---|
| Keskimääräinen vasteaika | Tyypillinen käyttökokemus | Mikä tahansa ylöspäin suuntautuva ajautuminen juoksun poikki |
| 95. persentiilin vasteaika | Hitaimpien käyttäjien kokemukset | Paljon keskiarvon yläpuolella, mikä tarkoittaa epäjohdonmukaisuutta |
| suoritusteho | Käsiteltyjä pyyntöjä sekunnissa | Putoaminen kuorman pysyessä vakiona |
| Virheaste | Epäonnistuneiden tai aikakatkaistujen pyyntöjen osuus | Mikä tahansa sovitun kynnysarvon ylittävä nousu |
| Suorittimen ja muistin käyttö | Palvelimen resurssien käyttöoikeus | Muisto, joka kiipeää eikä koskaan palaa |
| Tietokantayhteydet ja säikeet | Uima-altaan uupumus | Lukemat, jotka kasvavat tasaisesti ilman julkaisua |
Lue keskiarvo ja persentiili yhdessä. Keskiarvo 800 ms ja 95. persentiili 900 ms kuvaavat yhdenmukaista järjestelmää. Sama keskiarvo, jonka 95. persentiili on 9 sekuntia, tarkoittaa, että joka kahdennellakymmenellä käyttäjällä on huonoja aikoja, ja keskiarvo peittelee niitä.
Katso muotoa, älä vain arvoa. Pitkäkestoisessa testissä tasainen resurssiviiva on läpäisty ja nouseva viiva vuoto, vaikka absoluuttinen luku olisikin vielä mukavasti rajan sisällä ajon päättymishetkellä.
Kestävyystestaus: Keskeiset tiedot
- In Ohjelmistotuotanto, Kestävyystestaus on osa kuormitustestausta.
- Kestävyystesti on pitkä prosessi ja kestää joskus jopa vuoden
- Tarkistuksia tehdään sen varmistamiseksi
- Testaa muistivuoto
- Testin vasteaika
- Testaa tietokantayhteyttä jne.

