Suorituskykytestaus (englanniksi performance testing) on ohjelmistotestauksen osa-alue, joka keskittyy arvioimaan järjestelmän suorituskykyä erilaisissa olosuhteissa. Tavoitteena on määrittää, miten ohjelmisto tai järjestelmä toimii eri kuormitus- ja resurssiolosuhteissa sekä tunnistaa mahdolliset suorituskykyongelmat tai pullonkaulat.
Suorituskykytestauksen avulla pyritään vastaamaan seuraaviin kysymyksiin:
- Kuinka nopeasti sovellus reagoi käyttäjien toimiin?
- Miten sovellus suoriutuu tietyssä käyttäjämäärässä?
- Kuinka paljon resursseja (kuten CPU, muisti ja verkkokaista) sovellus käyttää kuormituksen alaisena?
- Miten sovellus käyttäytyy pitkän ajanjakson aikana?
Suorituskykytestauksen tyypillisiä alalajeja ovat:
- Kuormitustestaus (Load Testing): Tässä testissä sovellusta kuormitetaan simuloiduilla käyttäjillä tai tietomäärillä ja tarkastellaan, kuinka hyvin se suoriutuu.
- Stressitestaus (Stress Testing): Tämä testi vie järjestelmän yli sen suunnitelluista rajoista katsomalla, kuinka se käyttäytyy ylikuormituksen tai resurssipulan olosuhteissa. Tavoitteena on tunnistaa rajat, joiden yli järjestelmä ei enää toimi hyvin.
- Kestävyystestaus (Endurance Testing): Tämä testausmittari tutkii, kuinka hyvin sovellus suoriutuu pitkän aikavälin käytöstä ilman resurssiongelmia tai suorituskykyongelmia.
- Kapasiteettitestaus (Capacity Testing): Tämä testi auttaa määrittämään, kuinka paljon käyttäjiä järjestelmä voi palvella samanaikaisesti ennen kuin se alkaa näyttää suorituskykyongelmia.
- Skalautuvuustestaus (Scalability Testing): Tämän testin tavoitteena on arvioida, kuinka järjestelmä skaalautuu lisättäessä resursseja, kuten lisää laitteistoja tai tietokantapalvelimia.
Suorituskykytestaus voi auttaa tunnistamaan pullonkauloja, jotka voivat hidastaa sovelluksen suorituskykyä ja vaikuttaa käyttäjäkokemukseen. Testien tulokset voivat auttaa kehittäjiä ja järjestelmän ylläpitäjiä optimoimaan ohjelmistoa ja laitteistoa parantamaan suorituskykyä.
On tärkeää suorittaa suorituskykytestaus eri olosuhteissa, jotka vastaavat mahdollisia käyttötapauksia ja kuormitustilanteita, jotta varmistetaan sovelluksen luotettava ja tehokas toiminta. Suorituskykytestaus on erityisen tärkeä liiketoimintakriittisissä sovelluksissa, joissa suorituskykyongelmat voivat aiheuttaa taloudellisia tappioita ja mainehaittoja.