Mitä on kestävyystestaus ohjelmistotestauksessa? (esimerkillä)

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ä seurata kestävyystestissä

Kestävyystesti

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.

Kuinka suorittaa kestävyystesti

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ö ja reagoimaton järjestelmä – tapahtuvat, kun ohjelmisto on käynnissä pitkän aikaa. Jos ohitat kestävyystestit, mahdollisuutesi havaita tällaiset viat ennen käyttöönottoa ovat melko alhaiset.

Kestävyystestaustyökalut

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.

Yhteenveto

  • 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.