Suorituskykytestauksen opetusohjelma
โก รlykรคs yhteenveto
Suorituskykytestaus on ohjelmistotestausprosessi, joka arvioi sovelluksen nopeutta, vasteaikaa, vakautta, skaalautuvuutta ja resurssien kรคyttรถรค tietyillรค tyรถkuormilla. Se tunnistaa ja poistaa pullonkaulat ennen kรคyttรถรถnottoa varmistaen luotettavuuden todellisissa olosuhteissa.

Mitรค suorituskykytestaus on?
Suorituskykytestaus on ohjelmistotestausprosessi, jota kรคytetรครคn ohjelmistosovelluksen nopeuden, vasteajan, vakauden, luotettavuuden, skaalautuvuuden ja resurssien kรคytรถn testaamiseen tietyssรค tyรถkuormassa. Suorituskykytestauksen pรครคtarkoituksena on tunnistaa ja poistaa ohjelmistosovelluksen suorituskyvyn pullonkaulat. Se on suorituskyvyn suunnittelun osajoukko ja tunnetaan myรถs nimellรค "Tรคydellinen testaus".
Suorituskykytestauksen keskipisteenรค on ohjelmiston seuraavien ominaisuuksien tarkistaminen:
- Nopeus โ Mรครคrittรครค, vastaako sovellus nopeasti
- skaalautuvuus โ Mรครคrittรครค ohjelmiston kรคsittelemรคn enimmรคiskรคyttรคjรคkuorman
- Pysyvyys โ Mรครคrittรครค, onko sovellus vakaa vaihtelevilla kuormituksilla
PFLB keskittyy tarkkuuspohjaiseen suorituskykytestaukseen, joka auttaa jรคrjestelmiรค pysymรครคn vakaina ennakoimattomien tyรถkuormien alla. Sen palvelut kattavat kuormitustestauksen, piikkitestauksen ja latenssimittauksen, ja vahva painopiste on suorituskyvyn heikkenemisen tunnistamisessa ennen kuin se vaikuttaa loppukรคyttรคjiin.
Miksi suorituskyvyn testaus on tรคrkeรครค?
Ohjelmistojรคrjestelmรคn tukemat ominaisuudet ja toiminnallisuudet eivรคt ole ainoa huolenaihe. Ohjelmistosovelluksen suorituskyvyllรค, kuten sen vasteajalla, luotettavuudella, resurssien kรคyttรถasteella ja skaalautuvuudella, on merkitystรค. Suorituskykytestauksen tavoitteena ei ole lรถytรครค virheitรค, vaan poistaa suorituskyvyn pullonkauloja.
Suorituskykytestauksen tarkoituksena on antaa sidosryhmille tietoa sovelluksen nopeudesta, vakaudesta ja skaalautuvuudesta. Vielรค tรคrkeรคmpรครค on, ettรค suorituskykytestaus paljastaa, mitรค on parannettava ennen tuotteen markkinoille tuloa. Ilman suorituskykytestausta ohjelmisto kรคrsii todennรคkรถisesti ongelmista, kuten hitaasta toiminnasta useiden kรคyttรคjien kรคyttรคessรค sitรค samanaikaisesti, epรคjohdonmukaisuuksista eri kรคyttรถjรคrjestelmien vรคlillรค ja heikosta kรคytettรคvyydestรค.
Suorituskykytestaus mรครคrittรครค, tรคyttรครคkรถ ohjelmisto nopeus-, skaalautuvuus- ja vakausvaatimukset odotettujen tyรถkuormien alla. Sovellukset, jotka lรคhetetรครคn markkinoille heikoilla suorituskykymittareilla olemattoman tai heikon suorituskykytestauksen vuoksi, saavat todennรคkรถisesti huonon maineen eivรคtkรค saavuta odotettuja myyntitavoitteita.
Myรถs, kriittiset sovellukset Kuten avaruuteen laukaisuohjelmat tai hengenpelastuslaitteet, tulee testata suorituskykyรค sen varmistamiseksi, ettรค ne toimivat pitkรคn ajan ilman poikkeamia.
Dunn & Bradstreetin mukaan 59 % Fortune 500 -yrityksistรค kokee arviolta 1.6 tunnin seisokkeja viikossa. Kun otetaan huomioon, ettรค keskimรครคrรคinen Fortune 500 -yritys, jossa on vรคhintรครคn 10,000 56 tyรถntekijรครค, maksaa 896,000 dollaria tunnilta, tรคllaisen organisaation seisokkien tyรถvoimaosuus olisi 46 XNUMX dollaria viikoittain, mikรค tarkoittaa yli XNUMX miljoonaa dollaria vuodessa.
Vain a 5 minuutin seisokki of Google.comin (19. elokuuta 13) arvioidaan maksavan hakukonejรคtille jopa $ 545,000.
Yritysten arvioidaan menettรคneen myyntiarvoaan 1100 dollaria sekunnissa รคskettรคisen takia Amazon Verkkopalvelukatkos.
Siksi suorituskyvyn testaus on tรคrkeรครค. Auttaaksesi sinua tรคssรค prosessissa, tutustu tรคhรคn luetteloon suorituskyvyn testaustyรถkalut.
Suorituskyvyn testauksen tyypit
Ohjelmistotestauksessa on pรครคasiassa kuusi tyyppiรค suorituskyvyn testausta, jotka selitetรครคn alla.
- kuormitustestaus - tarkistaa sovelluksen kyvyn toimia odotettavissa olevien kรคyttรคjien kuormituksissa. Tavoitteena on tunnistaa suorituskyvyn pullonkaulat ennen ohjelmistosovelluksen kรคyttรถรถnottoa.
- Stressitestaus - sisรคltรครค sovelluksen testaamisen รครคrimmรคisissรค tyรถkuormissa sen selvittรคmiseksi, kuinka se kรคsittelee suurta liikennettรค tai tietojenkรคsittelyรค. Tavoitteena on tunnistaa sovelluksen murtumiskohta.
- Kestรคvyystestit - tehdรครคn sen varmistamiseksi, ettรค ohjelmisto pystyy kรคsittelemรครคn odotetun kuormituksen pitkรคn ajan kuluessa. Se auttaa havaitsemaan ongelmia, kuten muistivuotoja ja resurssien ehtymistรค, jotka ilmenevรคt vasta jatkuvan kรคytรถn aikana.
- Piikkitestaus โ testaa ohjelmiston reaktiota kรคyttรคjien aiheuttamiin รคkillisiin kuormituksen piikkeihin. Toisin kuin stressitestaus, piikkitestaus keskittyy erityisesti siihen, miten jรคrjestelmรค kรคsittelee ja toipuu รคkkinรคisistรค, lyhytaikaisista liikennepiikeistรค.
- Volyymitestaus โ sisรคltรครค tietokannan tรคyttรคmisen suurella tietomรครคrรคllรค ja koko ohjelmistojรคrjestelmรคn toiminnan seurannan. Tavoitteena on tarkistaa ohjelmistosovelluksen suorituskyky vaihtelevilla tietokantamรครคrillรค.
- Skaalautuvuustestaus โ mรครคrittรครค ohjelmistosovelluksen tehokkuuden skaalautumisessa kรคyttรคjรคkuormituksen kasvun tukemiseksi. Se auttaa suunnittelemaan ohjelmistojรคrjestelmรคn kapasiteetin lisรครคmistรค.
Yleiset suorituskykyongelmat
Useimmat suorituskykyongelmat liittyvรคt nopeuteen, vasteaikaan, latausaikaan ja huonoon skaalautuvuuteen. Nopeus on usein yksi sovelluksen tรคrkeimmistรค ominaisuuksista. Hitaasti toimiva sovellus menettรครค potentiaalisia kรคyttรคjiรค. Suorituskykytestaus varmistaa, ettรค sovellus toimii riittรคvรคn nopeasti pitรครคkseen kรคyttรคjรคn huomion ja mielenkiinnon yllรค. Seuraavat ovat yleisiรค suorituskykyongelmia, joissa nopeus on toistuva tekijรค:
- Pitkรค latausaika โ Latausaika on yleensรค se aika, joka sovelluksen kรคynnistymiseen kuluu. Tรคmรค tulisi yleensรค pitรครค mahdollisimman lyhyenรค. Vaikka joidenkin sovellusten lataaminen alle minuutissa on mahdotonta, latausaika tulisi pitรครค alle muutamassa sekunnissa, jos mahdollista.
- Huono vasteaika - Vastausaika on aika, joka kuluu siitรค, kun kรคyttรคjรค syรถttรครค tietoja sovellukseen, siihen, kun sovellus antaa vastauksen kyseiseen syรถtteeseen. Yleensรค tรคmรคn tulisi olla erittรคin nopea. Jos kรคyttรคjรคn on odotettava liian kauan, hรคn menettรครค kiinnostuksensa.
- Huono skaalautuvuus - Ohjelmistotuote kรคrsii huonosta skaalautumisesta, kun se ei pysty kรคsittelemรครคn odotettua kรคyttรคjรคmรครคrรครค tai kun siihen ei mahdu tarpeeksi laajaa kรคyttรคjรคkuntaa. Kuormitustesti tulee tehdรค varmistaaksesi, ettรค sovellus pystyy kรคsittelemรครคn odotetun mรครคrรคn kรคyttรคjiรค.
- Pullonkaula โ Pullonkaulat ovat jรคrjestelmรคn esteitรค, jotka heikentรคvรคt jรคrjestelmรคn kokonaissuorituskykyรค. Pullonkauloista aiheutuu, ettรค joko koodausvirheet tai laitteisto-ongelmat aiheuttavat suorituskyvyssรค laskua tietyillรค kuormituksilla. Pullonkaulan aiheuttaa usein yksi viallinen koodin osa. Pullonkaulan korjaamisen avain on lรถytรครค hidastumista aiheuttava koodin osa ja yrittรครค korjata se sieltรค. Pullonkaulat korjataan yleensรค joko korjaamalla huonosti toimivia prosesseja tai lisรครคmรคllรค laitteistoa. Jotkut yleisiรค suorituskyvyn pullonkauloja ovat:
- CPU: n kรคyttรถ
- Muistin kรคyttรถ
- Verkon kรคyttรถ
- Operajรคrjestelmรคn rajoituksia
- Levyn kรคyttรถ
Suorituskykytestauksen tekeminen
Suorituskykytestauksen menetelmรคt voivat vaihdella suuresti, mutta suorituskykytestien tavoite pysyy samana. Se voi auttaa osoittamaan, ettรค ohjelmistojรคrjestelmรคsi tรคyttรครค tietyt ennalta mรครคritellyt suorituskykyvaatimukset. Tai se voi auttaa vertailemaan kahden ohjelmistojรคrjestelmรคn suorituskykyรค. Se voi myรถs auttaa tunnistamaan ohjelmistojรคrjestelmรคsi osia, jotka heikentรคvรคt sen suorituskykyรค.
Alla on yleinen prosessi suorituskykytestauksen suorittamiseksi.

Vaihe 1) Tunnista testausympรคristรถsi
Tunne fyysinen testiympรคristรถsi, tuotantoympรคristรถsi ja kรคytettรคvissรค olevat testaustyรถkalut. Ymmรคrrรค testauksessa kรคytettyjen laitteisto-, ohjelmisto- ja verkkokokoonpanojen yksityiskohdat ennen testausprosessin aloittamista. Tรคmรค auttaa testaajia luomaan tehokkaampia testejรค. Se auttaa myรถs tunnistamaan mahdolliset haasteet, joita testaajat saattavat kohdata suorituskykytestausmenettelyjen aikana.
Vaihe 2) Tunnista suorituskyvyn hyvรคksymiskriteerit
Tรคmรค sisรคltรครค tavoitteet ja rajoitukset lรคpimenolle, vasteajoille ja resurssien allokoinnille. On myรถs tarpeen tunnistaa projektin onnistumiskriteerit nรคiden tavoitteiden ja rajoitusten ulkopuolella. Testaajille tulisi antaa valtuudet asettaa suorituskykykriteerejรค ja -tavoitteita, koska usein projektin mรครคritykset eivรคt sisรคllรค riittรคvรคn laajaa valikoimaa suorituskyvyn vertailuarvoja. Joskus niitรค ei ehkรค ole ollenkaan. Hyvรค tapa asettaa suorituskykytavoitteita on lรถytรครค vastaava sovellus vertailukohteeksi, kun se on mahdollista.
Vaihe 3) Suunnittele ja suunnittele suorituskykytestit
Mรครคritรค, miten kรคyttรถ todennรคkรถisesti vaihtelee loppukรคyttรคjien vรคlillรค, ja tunnista keskeiset testattavat skenaariot kaikissa mahdollisissa kรคyttรถtapauksissa. On tarpeen simuloida useita loppukรคyttรคjiรค, suunnitella suorituskykytestien dataa ja hahmotella, mitรค mittareita kerรคtรครคn.
Vaihe 4) Testiympรคristรถn mรครคrittรคminen
Valmistele testausympรคristรถ ennen suoritusta. Jรคrjestรค myรถs tyรถkalut ja muut resurssit. Peilaa tuotantoympรคristรถรค mahdollisimman tarkasti varmistaaksesi, ettรค testitulokset ovat realistisia ja kรคytรคnnรถllisiรค.
Vaihe 5) Toteuta testisuunnittelu
Luo suorituskykytestit testisuunnitelmasi mukaan.
Vaihe 6) Suorita testit
Suorita ja seuraa testejรค.
Vaihe 7) Analysoi, viritรค ja testaa uudelleen
Yhdistรค, analysoi ja jaa testitulokset. Hienosรครคdรค ja testaa sitten uudelleen nรคhdรคksesi, onko suorituskyvyssรค parannusta vai heikkenemistรค. Koska parannukset yleensรค pienenevรคt jokaisen uudelleentestauksen myรถtรค, lopeta, kun suorittimen pullonkaula aiheuttaa sen. Tรคllรถin sinun on ehkรค harkittava suorittimen tehon lisรครคmistรค.
Suorituskyvyn testausmittarit: Valvotut parametrit
Suorituskykytestauksen aikana seurattavia perusparametreja ovat:
- Prosessorin kรคyttรถ - aika, jonka prosessori kรคyttรครค ei-tyhjรคkรคyntisรคikeiden suorittamiseen.
- Muistin kรคyttรถ - tietokoneen prosessien kรคytettรคvissรค olevan fyysisen muistin mรครคrรค.
- Levyn aika - aika, jonka levy on varattu luku- tai kirjoituspyynnรถn suorittamiseen.
- Kaistanleveys - nรคyttรครค verkkoliitรคnnรคn kรคyttรคmรคt bitit sekunnissa.
- Yksityiset tavut โ Prosessin varaamien tavujen mรครคrรค, joita ei voida jakaa muiden prosessien kesken. Nรคitรค kรคytetรครคn muistivuotoja ja -kรคyttรถรค mittaamaan.
- Sitoutunut muisto - kรคytetyn virtuaalimuistin mรครคrรค.
- Muistisivut/sekunti โ levylle kirjoitettujen tai levyltรค luettujen sivujen mรครคrรค sivuvirheiden ratkaisemiseksi. Sivuvirheitรค esiintyy, kun muualta kuin nykyisestรค tyรถjoukosta perรคisin olevaa koodia kutsutaan ja noudetaan levyltรค.
- Sivuvirheet/sekunti โ Suorittimen suorittaman vikasivujen kรคsittelyn kokonaisnopeus. Tรคmรค tapahtuu, kun prosessi vaatii koodia tyรถjoukkonsa ulkopuolelta.
- CPU-keskeytykset sekunnissa - prosessorin vastaanottamien ja kรคsittelemien laitteistokeskeytysten keskimรครคrรคinen mรครคrรค sekunnissa.
- Levyn jonon pituus - valitun levyn jonossa olevien luku- ja kirjoituspyyntรถjen keskimรครคrรคinen mรครคrรค nรคytteenottovรคlin aikana.
- Verkon lรคhtรถjonon pituus โ lรคhtรถpakettijonon pituus paketteina. Yli kaksi tarkoittaa viivettรค, ja pullonkaulat on lopetettava.
- Verkkotavut yhteensรค sekunnissa โ Rajapinnan kautta lรคhetettyjen ja vastaanotettujen tavujen nopeus, mukaan lukien kehystysmerkit.
- Vasteaika - aika kรคyttรคjรคn syรถttรคmรคstรค pyynnรถstรค vastauksen ensimmรคisen merkin vastaanottamiseen.
- Suorituskyky - nopeus, jolla tietokone tai verkko vastaanottaa pyyntรถjรค sekunnissa.
- Yhteyden yhdistรคmisen mรครคrรค โ poolattujen yhteyksien tรคyttรคmien kรคyttรคjien pyyntรถjen mรครคrรค. Mitรค enemmรคn pyynnรถt poolissa olevat yhteydet tรคyttรคvรคt, sitรค parempi suorituskyky on.
- Aktiivisten istuntojen enimmรคismรครคrรค โ istuntojen enimmรคismรครคrรค, jotka voivat olla aktiivisia kerralla.
- Osumasuhteet โ tรคmรค liittyy lukumรครคrรครคn SQL lausekkeet, joita kรคsitellรครคn vรคlimuistilla kalliiden I/O-toimintojen sijaan. Tรคmรค on hyvรค paikka aloittaa pullonkaulaongelmien ratkaiseminen.
- Osumat sekunnissa โ verkkopalvelimen osumien mรครคrรค kuormitustestin jokaisen sekunnin aikana.
- Palautussegmentti โ datamรครคrรค, joka voidaan palauttaa milloin tahansa.
- Tietokannan lukitukset - Taulukoiden ja tietokantojen lukitsemista on valvottava ja sรครคdettรคvรค huolellisesti.
- Parhaat odotukset - seurataan sen mรครคrittรคmiseksi, mitรค odotusaikoja voidaan lyhentรครค, kun kรคsitellรครคn sitรค, kuinka nopeasti tiedot haetaan muistista.
- ketjujen mรครคrรค - Sovelluksen kuntoa voidaan mitata kรคynnissรค olevien ja aktiivisten sรคikeiden lukumรครคrรคllรค.
- Roskakokoelma - sisรคltรครค kรคyttรคmรคttรถmรคn muistin palauttamisen takaisin jรคrjestelmรครคn. Roskakorin tehokkuutta on seurattava.
Suorituskykytestauksen testitapaukset Esimerkki
Alla on esimerkkisuorituskykytestauksen testitapauksia:
- Testitapaus 01: Varmista, ettรค vasteaika ei ole yli 4 sekuntia, kun verkkosivustolla on samanaikaisesti 1000 kรคyttรคjรครค.
- Testitapaus 02: Varmista, ettรค sovelluksen kuormituksen aikainen vasteaika on hyvรคksyttรคvรคllรค alueella, kun verkkoyhteys on hidas.
- Testitapaus 03: Tarkista sovelluksen kรคsittelemien kรคyttรคjien enimmรคismรครคrรค ennen kuin se kaatuu.
- Testitapaus 04: Tarkista tietokannan suoritusaika, kun 500 tietuetta luetaan/kirjoitetaan samanaikaisesti.
- Testitapaus 05: Tarkista sovelluksen ja tietokantapalvelimen suorittimen ja muistin kรคyttรถ huippukuormitusolosuhteissa.
- Testitapaus 06: Tarkista sovelluksen vasteaika alhaisessa, normaalissa, kohtalaisessa ja raskaassa kuormituksessa.
Varsinaisen suorituskykytestin aikana epรคmรครคrรคiset termit, kuten hyvรคksyttรคvรค alue, raskas kuorma jne., korvataan konkreettisilla numeroilla. Suorituskykyinsinรถรถrit asettavat nรคmรค luvut liiketoimintavaatimusten ja sovelluksen teknisen maiseman mukaan.
Suorituskykytestauksen parhaat kรคytรคnnรถt
Vakiintuneiden parhaiden kรคytรคntรถjen noudattaminen varmistaa, ettรค suorituskykytestaus tuottaa luotettavia tuloksia. Nรคmรค ohjeet auttavat tiimejรค vรคlttรคmรครคn yleisiรค sudenkuoppia.
- Peilaa tuotantoympรคristรถรค โ Mรครคritรค testiasetukset vastaamaan mahdollisimman tarkasti tuotantoa. Laitteisto- tai ohjelmistoversioiden erot voivat tuottaa harhaanjohtavia tuloksia.
- Suunnittele realistisia testiskenaarioita โ Luo testitapauksia, jotka simuloivat todellista kรคyttรคjรคn kรคyttรคytymistรค, mukaan lukien ajatteluajat ja samanaikaiset tapahtumayhdistelmรคt.
- Kรคytรค persentiilipohjaisia โโmittareita โ Kรคytรค mieluummin 90. ja 95. persentiilin vasteaikoja kuin pelkkiรค keskiarvoja. Persentiilit paljastavat loppupรครคn latenssin, jonka keskiarvot voivat piilottaa.
- Testaa ajoissa ja jatkuvasti โ Integroi suorituskykytestaus CI/CD-prosessiin sen sijaan, ettรค kรคsittelisit sitรค viimeisen vaiheen aktiviteettina.
- Dokumentoi ja lรคhtรถtilanteen tulokset โ Tallenna jokaisen testiajon tulokset. Uusien tulosten vertaaminen lรคhtรถtilanteisiin helpottaa regressien havaitsemista eri versioissa.
Kuinka tekoรคly mullistaa suorituskykytestausta
Tekoรคly on uudistumistaping suorituskykytestausta automatisoimalla monimutkaisia โโanalyysitehtรคviรค ja mahdollistamalla ennustavia ominaisuuksia. Tekoรคlypohjaiset tyรถkalut analysoivat historiallista dataa, havaitsevat malleja ja tarjoavat toimintasuosituksia ilman ihmisen puuttumista jokaiseen vaiheeseen.
- Ennakoiva poikkeavuuksien havaitseminen โ Tekoรคlyalgoritmit analysoivat suorituskykymittareita reaaliajassa kuormitustestien aikana ja merkitsevรคt poikkeamat ennen kuin ne eskaloituvat kriittisiksi vioiksi.
- Automaattinen perussyyanalyysi โ Tekoรคlyllรค toimivat tyรถkalut korreloivat hajautettujen jรคrjestelmien dataa paikantaakseen tarkasti suorituskyvyn heikkenemistรค aiheuttavat komponentit.
- รlykรคs testioptimointi โ Koneoppimismallit tunnistavat tarpeettomat testiskenaariot ja ehdottavat optimaalisia konfiguraatioita, mikรค lyhentรครค suoritusaikaa ja sรคilyttรครค samalla kattavuuden.
- Itsekorjautuvat testiskriptit โ Tekoรคly mukauttaa testiskriptejรค sovellusrajapintojen muuttuessa, mikรค vรคhentรครค suorituskykytestaussarjojen yllรคpitokustannuksia.
Suorituskyvyn testaustyรถkalut
Markkinoilla on saatavilla laaja valikoima suorituskykytestaustyรถkaluja. Valitsemasi testaustyรถkalu riippuu monista tekijรถistรค, kuten tuettujen protokollien tyypeistรค, lisenssin hinnasta, laitteistovaatimuksista ja alustatuesta. Alla on luettelo yleisesti kรคytetyistรค testaustyรถkaluista.
- HP LoadRunner - on yksi markkinoiden suosituimmista suorituskykytestaustyรถkaluista. Tรคmรค tyรถkalu pystyy simuloimaan satojatuhansia kรคyttรคjiรค ja asettamaan sovelluksia tosielรคmรคn kuormituksen alaiseksi mรครคrittรครคkseen niiden kรคyttรคytymisen odotettavissa olevissa kuormissa. Hienosรครคtรถ sisรคltรครค virtuaalisen kรคyttรคjรคgeneraattorin, joka simuloi elรคvien ihmiskรคyttรคjien toimia.
- JMeter - yksi johtavista avoimen lรคhdekoodin tyรถkaluista, joita kรคytetรครคn web- ja sovelluspalvelimien kuormitustestaukseen. Se tukee useita protokollia ja tarjoaa laajat raportointiominaisuudet.


