Stressitestaus on yksi ohjelmistotestaustyypeistä , jotka arvioivat järjestelmän luotettavuutta ja vakautta normaalin toiminnan rajat ylittävissä olosuhteissa. Stressitestaus on erityisen tarpeellinen "kriittisille" ohjelmistoille, mutta sitä käytetään myös muihin ohjelmistoihin. Yleensä stressitestaus havaitsee paremmin järjestelmän pysyvyyden, saatavuuden ja poikkeuksien käsittelyn raskaan kuormituksen alaisena kuin se, mitä pidetään oikeana käyttäytymisenä normaaleissa olosuhteissa.
Termiä "stressitestaus" käytetään usein synonyyminä " kuormitustestaukselle " sekä " suorituskykytestaukselle ", mikä on virheellinen, koska tämäntyyppiset testaukset vastaavat erilaisiin liiketoimintakysymyksiin ja käyttävät erilaisia menetelmiä .
Yleensä stressitestausmetodologia perustuu sovelluksen suorituskykyindikaattoreiden tallentamiseen ja analysointiin kuormituksessa, joka on huomattavasti suurempi kuin ylläpitovaiheessa odotettiin, ja sen tavoitteena on määrittää sovelluksen kestävyys tai vakaus aktiviteettipurskeen sattuessa. sen käyttöä.
Stressitestauksen tarpeen sanelevat seuraavat tekijät:
Stressitestauksen pääasialliset käyttöalueet:
Stressitestausta, kuten kuormitustestausta , voidaan käyttää myös suorituskyvyn muutosten arvioimiseen säännöllisesti, jotta saadaan lisäanalyysiä järjestelmän käyttäytymisen muutosten dynamiikasta pitkän ajanjakson aikana.
Stressitestausta voidaan soveltaa sekä itsenäisiin sovelluksiin että hajautettuihin järjestelmiin, joissa on asiakas-palvelin-arkkitehtuuri. Yksinkertaisin esimerkki erillisen sovelluksen stressitestauksesta on 50 Mt:n tiedoston avaaminen Notepadilla, joka sisältyy Windowsin mukana. Sovelluksen stressitestauksen ehdot muodostetaan yleensä sen toiminnallisuuden kriittisten liiketoimintaprosessien perusteella, jotka suorituskykytiimi määrittelee vaatimusten kehittämis- ja riskianalyysivaiheessa .
Yleensä lineaarisesti kasvanutta odotettua kuormitusta voidaan käyttää stressitestauksen ehtona.
Testattaessa monilinkkejä hajautettuja järjestelmiä , on tarpeen ottaa huomioon paitsi monista elementeistä koostuvan kuorman todellinen tilavuus, myös niiden osuudet kokonaistilavuudesta.
Esimerkki 1:
Verkkopalvelu on suunniteltu käsittelemään ja näyttämään käyttäjien luomia sivuja, joista jokainen voi sisältää pelkkää tekstiä ja dynaamisia ohjaimia. Tiedetään, että yksi käyttäjä luo päivässä 1 sivun, joka sisältää keskimäärin 1000 merkkiä tekstiä ja yhden lomakkeen. Tiedetään myös, että järjestelmä vastaanottaa 1 pyynnön näyttää lähdesivu minuutissa. Samalla sivun näyttönopeus on kriittinen liiketoimintaprosessi. Käyttämällä yllä kuvattua järjestelmää käyttävien käyttäjien käyttäytymismallia on helppo mallintaa kuormituksen dynamiikan muutos niiden kasvaessa. Tällaiseen kuormitusmalliin perustuva stressitesti ei ota huomioon riskejä, jotka liittyvät siihen, että järjestelmä ei enää täytä suorituskykyvaatimuksia sen käyttöskenaarion muuttuessa. Esimerkiksi sivun näyttönopeutta voidaan vähentää merkittävästi, jos käyttäjät lisäävät siihen kymmeniä lomakkeita yhden sijasta. |
Suhteettoman suuren kuormituksen käyttöä stressitesteissä voidaan käyttää myös yksittäisten järjestelmän komponenttien pullonkaulojen tunnistamiseen.
Kapasiteettitestaus on yksi tärkeimmistä stressitestauksen osa-alueista liiketoiminnan kehittämisen kannalta ja vaikein suorittaa ja analysoida. Kapasiteettitestauksella määritetään järjestelmän turvamarginaali suorituskyvyn vaatimusten mukaisesti.
Kuormitusta mallinnettaessa järjestelmän kapasiteetin testaamiseksi otetaan huomioon sekä nykyinen kuormitus järjestelmään samanaikaisesti tulevien pyyntöjen lukumäärän ja osien muodossa että odotettavissa oleva kuormitus tulevaisuudessa.
Esimerkki 2:
Verkkopalvelu on suunniteltu näyttämään rekisteröityjen käyttäjien tiedot .docx-muodossa. Kehitysyhtiö on julkaisemassa tietojen näyttämisen .pdf-muodossa, kun taas nykyisten käyttäjien odotetaan jatkavan työskentelyä vanhalla ja uusien .pdf-muodossa. Kun mallinnetaan järjestelmien kuormitusta kapasiteetin testauksen aikana, sen nykyisen käytön skenaario ei huomioida (tietojen näyttäminen .docx-muodossa), vaan myös odotettu käyttötapaus tulevaisuudessa (jotkut käyttäjät työskentelevät samanaikaisesti järjestelmän kanssa .docx ja jotkut käyttävät .pdf-tiedostoa) |
Sovelluksen tai järjestelmän kapasiteettitestin tulos on joukko suurinta sallittua järjestelmän kuormitusominaisuuksia, joissa sovellus tai järjestelmä täyttää arkkitehtuurin suunnitteluvaiheessa kehitetyt ja dokumentoidut suorituskykyvaatimukset.