Mitä on STRESS-testaus ohjelmistotestauksessa?
Stressitestaus
Stressitestaus on eräänlainen ohjelmistotestaus, joka varmistaa ohjelmistosovelluksen vakauden ja luotettavuuden. Stressitestauksen tavoitteena on mitata ohjelmiston kestävyyttä ja virheenkäsittelykykyä erittäin raskaassa kuormituksessa ja varmistaa, että ohjelmisto ei kaatu kriisitilanteissa. Se jopa testaa normaalien toimintapisteiden ulkopuolella ja arvioi, kuinka ohjelmisto toimii äärimmäisissä olosuhteissa.
Ohjelmistosuunnittelussa stressitestaus tunnetaan myös nimellä Kestävyystesti. Stressitestauksen alla AUT:ta stressataan lyhyen aikaa, jotta se tietää sen kestävyyden. Näkyvin käyttö Stressitestauksen tarkoituksena on määrittää raja, jolla järjestelmä tai ohjelmisto tai laitteisto rikkoutuu. Se myös tarkistaa, osoittaako järjestelmä tehokasta virheenhallintaa äärimmäisissä olosuhteissa.
Testattava sovellus stressaantuu, kun 5GB dataa kopioidaan verkkosivulta ja liitetään muistilehtiöön. Muistio on stressaantunut ja antaa "Ei vastattu" -virheilmoituksen.
Stressitestauksen tarve
Harkitse seuraavia reaaliaikaisia esimerkkejä, joissa voimme löytää stressitestauksen käytön
- Festivaalin aikana verkkokauppasivustolla voi olla liikennepiikkiä tai kun se ilmoittaa alennuksesta.
- Kun blogi mainitaan johtavassa sanomalehdessä, se kokee äkillisen liikenteen nousun.
On välttämätöntä suorittaa stressitestaus tällaisten epänormaalien liikennepiikkien huomioon ottamiseksi. Jos tätä äkillistä liikennettä ei käsitellä, seurauksena voi olla tulojen ja maineen menetys.
Stressitestaus on myös erittäin arvokasta seuraavista syistä:
- Tarkistaa, toimiiko järjestelmä epänormaaleissa olosuhteissa.
- Näytetään asianmukainen virheilmoitus, kun järjestelmä on rasituksessa.
- Järjestelmävika äärimmäisissä olosuhteissa voi johtaa valtaviin tulonmenetyksiin
- On parempi varautua ääriolosuhteisiin suorittamalla stressitesti.
Stressitestauksen tavoitteet
Stressitestauksen tavoitteena on analysoida järjestelmän käyttäytymistä vian jälkeen. Jotta stressitesti onnistuisi, järjestelmän tulee näyttää asianmukainen virheilmoitus, kun se on äärimmäisissä olosuhteissa.
Stressitestauksen suorittamiseen voidaan joskus käyttää valtavia tietojoukkoja, jotka voivat kadota stressitestauksen aikana. Testaajien ei pitäisi menettää näitä turvallisuuteen liittyviä tietoja tehdessään stressitestausta.
Stressitestauksen päätarkoituksena on varmistaa, että järjestelmä toipuu vian jälkeen, jota kutsutaan nimellä hyödynnettävyyden.
Kuormitustestaus vs stressitestaus
Kuormitustesti | Stressitestaus |
---|---|
Kuormitustesti on testata järjestelmän toimintaa normaaleissa työkuormitusolosuhteissa, ja se on vain testausta tai simulointia todellisen työmäärän kanssa | Stressitestauksen tarkoituksena on testata järjestelmän käyttäytymistä äärimmäisissä olosuhteissa ja sitä suoritetaan järjestelmävikaan asti. |
Kuormitustestaus ei riko järjestelmää | stressitestaus yrittää murtaa järjestelmän testaamalla ylivoimaisilla tiedoilla tai resursseilla. |
Stressitestauksen tyypit
Seuraavat ovat stressitestien tyypit, ja ne selitetään seuraavasti:
Hajautettu stressitestaus:
Hajautetuissa asiakas-palvelinjärjestelmissä testaus tehdään kaikille asiakkaille palvelimelta. Stressipalvelimen tehtävänä on jakaa stressitestit kaikille stressiasiakkaille ja seurata asiakkaan tilaa. Kun asiakas ottaa yhteyttä palvelimeen, palvelin lisää asiakkaan nimen ja alkaa lähettää tietoja testausta varten.
Sillä välin asiakaskoneet lähettävät signaalia tai sykettä, että se on yhteydessä palvelimeen. Jos palvelin ei saa signaaleja asiakaskoneelta, sitä on tutkittava tarkemmin virheenkorjausta varten. Kuvasta palvelin voi muodostaa yhteyden kahteen asiakkaaseen (Client2 ja Client1), mutta se ei voi lähettää tai vastaanottaa signaalia asiakaskoneista 2 ja 3.
Yöjuoksu on paras vaihtoehto näiden stressitestien skenaarioiden suorittamiseen. Suuret palvelinfarmit tarvitsevat tehokkaamman menetelmän selvittääkseen, missä tietokoneissa on ollut stressihäiriöitä, jotka on tutkittava.
Sovelluksen stressitesti:
Tämä testaus keskittyy tietojen lukitsemiseen ja estoon, verkkoongelmiin ja suorituskyvyn pullonkauloihin liittyvien vikojen etsimiseen sovelluksessa.
Tapahtuman stressitesti:
Se tekee stressitestauksen yhdelle tai useammalle tapahtumalle kahden tai useamman sovelluksen välillä. Sitä käytetään järjestelmän hienosäätöön ja optimointiin.
Systeeminen stressitesti:
Tämä on integroitua stressitestausta, jota voidaan testata useissa järjestelmissä, jotka toimivat samalla palvelimella. Sitä käytetään sellaisten vikojen etsimiseen, joissa yksi sovellusdata estää toisen sovelluksen.
Tutkiva stressitestaus:
Tämä on yksi stressitestaustyypeistä, joita käytetään järjestelmän testaamiseen epätavallisilla parametreilla tai olosuhteilla, joita ei todennäköisesti tapahdu todellisessa skenaariossa. Sitä käytetään vikojen etsimiseen odottamattomissa skenaarioissa, kuten
- Suuri määrä käyttäjiä kirjautui samaan aikaan
- Jos virustarkistus käynnistyy kaikissa koneissa samanaikaisesti
- Jos tietokanta on siirtynyt offline-tilaan, kun sitä käytetään verkkosivustolta,
- Kun tietokantaan lisätään samanaikaisesti suuri määrä tietoa
Kuinka tehdä stressitesti?
Stressitestiprosessi voidaan tehdä viidessä suuressa vaiheessa:
Vaihe 1) Stressitestin suunnittelu: Täällä keräät järjestelmätiedot, analysoit järjestelmää ja määrität stressitestin tavoitteet
Vaihe 2) Luo automaatiokomentosarjat: Tässä vaiheessa luot stressitestauksen automaatiokomentosarjat, luot testitiedot stressiskenaarioihin.
Vaihe 3) Komentosarjan suoritus: Tässä vaiheessa suoritat stressitestauksen automaatiokomentosarjat ja tallennat stressitulokset.
Vaihe 4) Tulosanalyysi: Tässä vaiheessa analysoit stressitestin tuloksia ja tunnistat pullonkaulat.
Vaihe 5) Säätäminen ja optimointi: Tässä vaiheessa hienosäädät järjestelmää, muutat konfiguraatioita, optimoit koodin tavoitteena saavuttaa haluttu vertailuarvo.
Lopuksi suoritat uudelleen koko syklin varmistaaksesi, että säädöt ovat tuottaneet halutut tulokset. Esimerkiksi ei ole epätavallista, että joudut suorittamaan 3–4 stressitestisykliä suoritustavoitteiden saavuttamiseksi.
Stressitestaukseen suositellut työkalut
Hienosäätö
HP:n LoadRunner on laajalti käytetty kuormitustestaustyökalu. Loadrunnerin muokkaamia kuormitustestituloksia pidetään vertailukohtana.
JMeter
Jmeter on avoimen lähdekoodin testaustyökalu. Se on puhdasta Java sovellus stressiin ja Suorituskykytestaus. Jmeter on tarkoitettu kattamaan erilaisia testejä, kuten kuormitus-, toiminta-, rasitustestit jne. Se tarvitsee JDK 5:n tai uudemman toimiakseen.
Stressitesteri
Tämä työkalu tarjoaa laajan analyysin verkkosovelluksen suorituskyvystä, tarjoaa tuloksia graafisessa muodossa ja sitä on erittäin helppo käyttää. Korkeatasoista komentosarjaa ei tarvita, ja se antaa hyvän tuoton sijoitukselle.
Neo kuormitus
Tämä on suosittu työkalu, joka on saatavilla markkinoilla verkon testaamiseen ja Puhelinnumero sovellukset. Tämä työkalu voi simuloida tuhansia käyttäjiä arvioidakseen sovelluksen suorituskykyä kuormitettuna ja analysoidakseen vasteaikoja. Se tukee myös pilviintegroitua suorituskykyä, kuormitusta ja stressitestausta. Se on helppokäyttöinen, kustannustehokas ja tarjoaa hyvän skaalautuvuuden.
Stressitestauksen mittarit
Mittarit auttavat arvioimaan järjestelmän suorituskykyä, ja niitä tutkitaan yleensä stressitestin lopussa. Yleisimpiä mittareita ovat -
Skaalautuvuuden ja suorituskyvyn mittaaminen
- Sivua sekunnissa: Mittaa kuinka monta sivua on pyydetty / sekunti
- Suorituskyky: Perusmetriikka – Vastaustietojen koko/sekunti
- Kierrokset: testiskenaarioiden suunnittelukertojen määrä verrattuna asiakkaan suorittamien käyntien lukumäärään
Sovelluksen vastaus
- Osumaaika: Keskimääräinen aika kuvan tai sivun hakemiseen
- Aika ensimmäiseen tavuun: Datan tai tiedon ensimmäisen tavun palauttamiseen kuluu aika
- Sivuaika: Aika kuluu kaikkien sivun tietojen hakemiseen
epäonnistumiset
- Epäonnistuneet yhteydet: Asiakkaan hylkäämien epäonnistuneiden yhteyksien määrä (heikko Signal)
- Epäonnistuneet kierrokset: epäonnistuneiden kierrosten lukumäärä
- Epäonnistuneet osumat: järjestelmän epäonnistuneiden yritysten määrä (rikkinäiset linkit tai näkymätön kuvat)
Yhteenveto
Stressitestauksen tavoitteena on tarkistaa järjestelmä äärimmäisissä olosuhteissa. Se valvoo järjestelmän resursseja, kuten muistia, prosessoria, verkkoa jne., ja tarkistaa järjestelmän kyvyn palautua takaisin normaalitilaan. Se tarkistaa, näyttääkö järjestelmä asianmukaisia virheilmoituksia stressin aikana.
Esimerkki stressitestauksesta
- Verkkokauppasivusto julkistaa festivaalimyynnin
- Uutissivusto joidenkin suurten tapahtumien aikaan
- Opetushallituksen tulossivusto
- Sosiaaliset verkostot tai blogit, sovellukset jne