Suorituskykytestaus säästää yrityksiltä miljoonia dollareita. Dun & Bradstreetin raportin mukaan 59 % Fortune 500 -yrityksistä kokee vähintään 1,6 tuntia käyttökatkoja joka viikko. Lasketaanpa nopeasti. Fortune 500 -yrityksessä työskentelee keskimäärin 52 810 henkilöä. Jos jokainen työntekijä ansaitsisi vain 10 dollaria tunnissa, yritykselle aiheutuisi menetetystä tuottavuudesta 528 100 dollarin kustannukset viikossa – eli 27 461 200 dollaria vuodessa.
Se on paljon rahaa, joka vain... katoaa.

Ohjelmistojen suorituskykytestauksen perusteellinen toteuttaminen on kaikkien etu. Tarkastellaan suorituskykytestauksen merkitystä, eri tyyppejä, yleisiä ongelmia ja hyödyllisiä työkaluja.
Mitä suorituskykytestaus on?
Suorituskykytestauksella varmistetaan, että ohjelmisto toimii tehokkaasti odotetulla kuormituksella. Kehittäjät haluavat välttää ohjelmiston luomista, joka on responsiivinen ja nopea silloin, kun yhteydessä on vain yksi käyttäjä, mutta muuttuu hitaaksi useiden käyttäjien käsittelyssä.
Laadunvarmistustestauksessa ei keskitytä ainoastaan virheisiin. Myös ohjelmiston nopeus, reagointikyky ja resurssien käyttö ovat tärkeitä seikkoja. Suorituskykytestauksessa keskitytään suorituskyvyn pullonkaulojen tunnistamiseen ja ratkaisemiseen. Pullonkaulat tunnistetaan simuloimalla käyttäjäliikennettä. Ihannetapauksessa laadunvarmistuksen testaajat haluavat suorittaa suorituskykytestit todellista käyttöä vastaavissa olosuhteissa. Tämä on yksi ohjelmiston ensimmäisistä matkoista ihanteellisten olosuhteiden suojasta loppukäyttäjäkokemuksen epävarmaan maailmaan.
Miksi suorituskykyä pitäisi testata?
Se tarjoaa sidosryhmille konkreettista tietoa ohjelmiston nopeudesta, vakaudesta ja skaalautuvuudesta. Ilman suorituskykytestausta ohjelmistossa on julkaisun jälkeen riski ilmetä nopeus- ja luotettavuusongelmia.
Mainitsimme jo järjestelmän kaatumisen aiheuttamat tuottavuuskustannukset. Monissa tapauksissa se yksinään on riittävä syy. Vaikka kaikkia ohjelmistoja ei käytetä sisäisesti, niitä toimitetaan ja myydään asiakkaille. Tällaisessa tilanteessa suorituskykytestaus on vieläkin tärkeämpää, sillä viimeinen asia, jota haluat, on joukko tuotteesi laatuun tyytymättömiä asiakkaita.
Kehitysvaiheessa suorituskykytestaus antaa selkeämmän kuvan siitä, mitä nopeuden, vakauden ja resurssien käytön osalta on parannettava. Ilman sitä ohjelmisto saatetaan julkaista useiden vakavien virheiden kanssa, kuten hitaana useiden käyttäjien käytössä, käyttäjien liiallisen määrän aiheuttamien kaatumisten kera sekä eri käyttöjärjestelmissä ja selaimissa epäjohdonmukaisesti toimivana.
Virheiden testaaminen ei anna selkeää kuvaa siitä, miten ohjelmisto toimii kuormitettuna. On tärkeää, että suorituskykytestaus suoritetaan itsenäisesti ja yksinomaan pullonkaulojen löytämiseksi. Hyvät suorituskykytestaajat tietävät, ettei nopeus ole suorituskyvyn ainoa mittari. Esimerkiksi sovellus, joka latautuu nopeasti mutta käyttää 100 % käyttäjän suorittimesta, ei ole suorituskykyinen. Tällainen esimerkki aiheuttaisi loppukäyttäjälle monia ongelmia, kuten ylikuumenemista, suorittimen käyttöiän lyhenemistä, useiden sovellusten hitaampaa toimintaa ja satunnaisia kaatumisia.
Miten suorituskykytestausta tehdään
Suorituskykytestauksen toteutustapa vaihtelee ohjelmiston mukaan. Laadunvarmistuksen testaaja voi käyttää useita erilaisia lähestymistapoja. Kyseessä on ei-toiminnallinen testaus, mikä tarkoittaa, ettei käyttöliittymään yleensä kiinnitetä paljon huomiota.
Suorituskykytestaajat haluavat varmistaa, että sisäiset komponentit on hienosäädetty mahdollisimman hyvin. He ovat F1-kilpailun varikkotiimi.

Suoritettavan testauksen tyyppi riippuu organisaation käyttämästä menetelmästä. Jos organisaatio noudattaa perinteistä vesiputousmallia ohjelmistokehityksessä, suorituskykytestaajat pääsevät todennäköisesti käsiksi tuotteeseen vasta kehityksen päätyttyä. Jos organisaatio kuitenkin käyttää ketterää menetelmää, ketterää suorituskykytestausta tehdään todennäköisesti koko kehitysprosessin ajan.
Have an account? Log In
Suorituskykytestauksen tyypit
Jotkin vaativat manuaalista testausta, kun taas toiset vaativat automatisoitua testausta. Automatisoidun testauksen nopean yleistymisen ja päivittäin kehitettävien entistä tehokkaampien ja luotettavampien työkalujen ansiosta näissä tilanteissa suositaan huomattavasti automatisoitua testausta, koska se vaatii useita virtuaalisia käyttäjiä suorittamaan ohjelmistoa ikään kuin he olisivat todellisia loppukäyttäjiä. Tätä on vaikea jäljitellä manuaalisesti, sillä se vaatisi todennäköisesti paljon enemmän testaajia kuin tiimissä työskentelee.
Se, että koneet hoitavat suuren osan suorituskykytestauksesta, ei tarkoita, ettei testityyppien välillä olisi tärkeitä eroja. Laadunvarmistuksen testaajan tulisi ymmärtää suorituskykytestauksen eri tyypit, jotta hän tietää, mikä työkalu sopii parhaiten kuhunkin tehtävään.
Puretaanpa suorituskykytestauksen eri tyypit ja se, mitä kullakin testityypillä pyritään saavuttamaan.
Kapasiteettitestaus
Testataan, kuinka monta käyttäjää järjestelmä pystyy käsittelemään ennen kuin suorituskyky laskee hyväksyttävien tasojen alapuolelle. Ohjelmiston kapasiteetin testaaminen auttaa kehittäjiä ennakoimaan skaalautuvuuteen ja tulevaan käyttäjäkannan kasvuun liittyviä ongelmia.
Kuormitustestaus
Vahvistaa, että järjestelmä pystyy käsittelemään vaaditun käyttäjämäärän ja toimimaan edelleen erinomaisella suorituskyvyllä. Kuormitustestaustyökalut varmistavat, ettei päivittäisessä suorituskyvyssä ilmene ongelmia.
Volyymitestaus
Tarkistaa, että ohjelmisto pystyy käsittelemään ja prosessoimaan suuren määrän tietoa samanaikaisesti kaatumatta, hidastumatta tai menettämättä tietoja.
Stressitestaus
Ohjelmistoa yritetään tarkoituksellisesti rikkoa simuloimalla käyttäjämäärää, joka ylittää odotukset merkittävästi. Uuden iPhonen julkaisupäivä ja Apple-sivuston käyttäjäliikenteen äkillinen kasvu ovat erinomainen esimerkki tosielämän stressitestistä.
Kestotestaus
Simuloi suurta liikennemäärää pitkän ajanjakson ajan. Tarkistaa ohjelmiston kyvyn sietää suurta liikennemäärää pitkään.
4 yleistä suorituskykyongelmaa
Suorituskykytestaajat kohtaavat testauksen aikana tyypillisesti vähintään yhden näistä neljästä ongelmasta.
- Pitkä latausaika – Kukaan ei pidä siitä, että joutuu tuijottamaan näyttöään 30–60 sekuntia sovelluksen latautumista odottaessaan. Se on tylsää, erityisesti jos kyseessä on sovellus, jonka avaat useita kertoja päivässä. Joitakin erittäin raskaita ohjelmistoja lukuun ottamatta useimpien sovellusten, verkkosivujen ja ohjelmistojen pitäisi avautua muutamassa sekunnissa. Lataustestit havaitsevat yleensä ohjelmistot, joiden avautuminen kestää liian kauan.
- Hidas vasteaika – Tämä muistuttaa pitkien latausaikojen ongelmaa. On yhtä turhauttavaa, kun sovelluksen viimein avauduttua myös valikoiden välillä siirtyminen tai tietojen syöttäminen kestää 30–60 sekuntia. Ajattele päivittäin käyttämiäsi sovelluksia – kuinka moni niistä saa sinut odottamaan sivun latautumista? Todennäköisesti ei kovin moni. Pitkät latausajat saavat ihmiset menettämään kiinnostuksensa.
- Heikko skaalautuvuus – Tätä kutsutaan arkisesti Slashdot-ilmiöksi tai internetin kuolemanhaliksi. Oletko koskaan kuullut Facebookissa jonkun jakamasta kiinnostavasta verkkosivustosta ja napsauttanut linkkiä vain huomataksesi, ettei sivu lataudu? Se johtuu siitä, että sinä ja miljoona muuta halusitte tutustua kiinnostavaan pieneen sivustoon, eikä sen infrastruktuuri pystynyt käsittelemään käyttäjien äkillistä tulvaa. Kaavio sivuston liikenteestä näyttäisi jotakuinkin tältä:

4. Pullonkaulat – Pullonkauloja syntyy, kun järjestelmä jakaa prosessointitehoaan tehottomasti. Jos ohjelmisto vaatii käyttäjän suorittimen toimimaan 100 prosentin teholla, ylimääräisten tehtävien suorittamiseen ei jää vapaata muistia. Tämä on huono asia ja johtaa usein ylikuumenemiseen sekä suorituskyvyn huomattavaan heikkenemiseen. Pullonkauloja voi esiintyä useissa kohdissa. Yleisimpiä ovat:
- Suoritin
- Muisti
- GPU
- Levyn käyttö
More Articles
Parhaat suorituskykytestaustyökalut
Sinulle sopiva suorituskykytestaustyökalu riippuu projektistasi ja tavoitteistasi. Jotkin työkalut, kuten Jmeter, soveltuvat erittäin hyvin kuormitus- ja stressitestien suorittamiseen. Myös budjettisi vaikuttaa valintaan. Pienemmät yritykset voivat kustannusten vähentämiseksi valita jonkin monista laadukkaista, ilmaisista ja avoimen lähdekoodin suorituskykytestaustyökaluista.
Avoimen lähdekoodin suorituskykytestaustyökalut
Yksi parhaiksi arvioiduista avoimen lähdekoodin testaustyökaluista on Jmeter. Se on ollut pienille yrityksille luotettava vaihtoehto tehokkaiden testien suorittamiseen. Jmeterin suorituskykytestaus analysoi huolellisesti palvelimen suorituskykyä kuormituksen alaisena. Sen avulla voit suorittaa kuormitus- ja stressitestejä tarkistaaksesi, pystyykö ohjelmistosi käsittelemään normaalin ja odotetun enimmäiskäyttäjämäärän.
Kun suorituskykytestit on suoritettu, Jmeterin avulla voit tarkastella testituloksia useilla helposti ymmärrettävillä tavoilla. Yksi vaihtoehto on tulostaa tulokset kaaviona. Tältä Jmeterin kaaviot näyttävät:

Kaaviota luettaessa tärkein parametri on suorituskyky (vihreä viiva), joka näyttää testin aikana lähetettyjen pyyntöjen määrän. Mitä suurempi luku, sitä parempi. Se näyttää, kuinka monta pyyntöä ohjelmistosi pystyy käsittelemään minuutissa. Tässä esimerkissä luku on 8 003 pyyntöä minuutissa.
Muita huipputyökaluja:
Avoimen lähdekoodin suorituskykytestaukseen liittyy joitakin haittapuolia. Yksi niistä on se, että kaikki simuloidut käyttäjät toimivat yrityksen palvelimilla. Tämä tarkoittaa, että testit tehdään ihanteellisissa suorituskykyolosuhteissa eivätkä todellisen maailman olosuhteissa. Pienissä yrityksissä, jotka eivät odota merkittävää kuormitusta, tämä saattaa sopia niiden tarpeisiin hyvin. Yrityksen kasvaessa se saattaa kuitenkin alkaa harkita premium-tason suorituskykytestaustyökalun hankkimista.
Tässä on lyhyt luettelo joistakin premium-tason suorituskykytestaustyökaluista:
Suorituskykytestaus on yleensä samanlaista eri käyttöjärjestelmissä. Monet Mac-suorituskykytestaustyökalut toimivat Windowsissa.
Lopuksi
Suorituskykytestaus on välttämätön osa ohjelmiston luotettavuuden ja tehokkuuden varmistamista, erityisesti nopeasti kasvaville SaaS-yrityksille. Hyödyntämällä huippuluokan työkaluja laadunvarmistuksesta vastaavat henkilöt saavat korvaamattoman arvokasta tietoa järjestelmiensä skaalautuvuudesta, kestävyydestä ja kyvystä käsitellä suurta liikennemäärää. Tilaa uutiskirjeemme ja saat lisää näkemyksiä laadunvarmistuksen ammattilaisilta!



