Suorituskykytestauksen opetusohjelma
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 painopiste on ohjelmiston tarkistaminen
- Nopeus – Määrittää, vastaako sovellus nopeasti
- skaalautuvuus – Määrittää enimmäismäärän käyttäjäkuormitusta, jonka ohjelmistosovellus voi käsitellä.
- Pysyvyys – Määrittää, onko sovellus vakaa vaihtelevilla kuormituksilla
Miksi suorituskykytestaus?
Ohjelmistojärjestelmän tukemat ominaisuudet ja toiminnallisuus eivät ole ainoa huolenaihe. Ohjelmistosovelluksen suorituskyky, kuten sen vasteaika, luotettavuus, resurssien käyttö ja skaalautuvuus, ovat tärkeitä. Suorituskykytestauksen tavoitteena ei ole löytää vikoja, vaan poistaa suorituskyvyn pullonkaulat.
Suorituskykytestauksen tarkoituksena on tarjota sidosryhmille tietoa sovelluksistaan nopeuden, vakauden ja skaalautuvuuden osalta. Vielä tärkeämpää on, että suorituskykytestaus paljastaa, mitä on parannettava ennen kuin tuote tulee markkinoille. Ilman suorituskykytestausta ohjelmisto kärsii todennäköisesti seuraavista ongelmista: hidas käynti useiden käyttäjien käyttäessä sitä samanaikaisesti, epäjohdonmukaisuudet eri käyttöjärjestelmissä ja huono käytettävyys.
Suorituskykytestaus määrittää, täyttääkö heidän ohjelmistonsa nopeus-, skaalautuvuus- ja vakausvaatimukset odotetuissa työkuormissa. Sovellukset, jotka on lähetetty markkinoille huonoilla suorituskykymittareilla, jotka johtuvat olemattomasta tai huonosta suoritustestauksesta, saavat todennäköisesti huonon maineen eivätkä täytä 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 Google.com-sivuston (19.-13. elokuuta) arvioidaan maksavan hakujättiläiselle yhtä paljon kuin $ 545,000.
Yritysten on arvioitu menettäneen myynnin arvoa 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.
- Piikkitestaus – testaa ohjelmiston reaktiota äkillisiin suuriin käyttäjien synnyttämiin kuormituspiikkeihin.
- Volyymitestaus – Tilavuustestauksen alla suuri no. /. Tiedot asetetaan tietokantaan, ja ohjelmistojärjestelmän yleistä käyttäytymistä seurataan. Tavoitteena on tarkistaa ohjelmistosovelluksen suorituskyky vaihtelevissa tietokantavolyymeissa.
- Skaalautuvuuden testaus – Skaalautuvuustestauksen tavoitteena on määrittää ohjelmistosovelluksen tehokkuus "skaalaus" tukemaan käyttäjäkuormituksen kasvua. Se auttaa suunnittelemaan ohjelmistojärjestelmän kapasiteetin lisäämistä.
Yleiset suorituskykyongelmat
Useimmat suorituskykyongelmat liittyvät nopeuteen, vasteaikaan, latausaikaan ja huonoon skaalautumiseen. Nopeus on usein yksi sovelluksen tärkeimmistä ominaisuuksista. Hitaasti käynnissä oleva sovellus menettää mahdolliset käyttäjät. Suorituskykytestaus varmistaa, että sovellus toimii riittävän nopeasti ylläpitääkseen käyttäjän huomion ja kiinnostuksen. Katso seuraavaa luetteloa yleisistä suorituskykyongelmista ja huomaa, kuinka nopeus on yleinen tekijä monissa niistä:
- Pitkä latausaika - Latausaika on yleensä aika, joka kuluu sovelluksen käynnistymiseen. Tämä tulisi yleensä pitää minimissä. Vaikka joidenkin sovellusten lataaminen on mahdotonta alle minuutissa, latausaika tulisi pitää muutaman sekunnin alle, jos mahdollista.
- Huono vasteaika - Vasteaika on aika, joka kuluu siitä, kun käyttäjä syöttää tietoja sovellukseen, kunnes sovellus antaa vastauksen tähän syötteeseen. Yleensä tämän pitäisi olla hyvin nopeaa. Jälleen, jos käyttäjä joutuu odottamaan 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 yleistä suorituskykyä. Pullonkaula on, kun joko koodausvirheet tai laitteisto-ongelmat aiheuttavat suorituskyvyn laskua tietyillä kuormituksilla. Pullonkaula johtuu usein yhdestä virheellisestä koodin osasta. Avain pullonkaulaongelman korjaamiseen on löytää hidastumisen aiheuttava koodiosio ja yrittää korjata se siellä. Pullonkaula korjataan yleensä joko korjaamalla huonot käynnissä olevat prosessit tai lisäämällä lisälaitteita. Jonkin verran yleisiä suorituskyvyn pullonkauloja olemme
- 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 suorituskyvyn testaamiseen
Vaihe 1) Tunnista testausympäristösi
Tunne fyysinen testiympäristösi, tuotantoympäristösi ja käytettävissä olevat testaustyökalut. Ymmärrä testauksen aikana käytettyjen laitteistojen, ohjelmistojen ja verkkokokoonpanojen yksityiskohdat ennen testausprosessin aloittamista. Se auttaa testaajia luomaan tehokkaampia testejä. Se auttaa myös tunnistamaan mahdolliset haasteet, joita testaajat voivat kohdata suorituskyvyn testausmenettelyjen aikana.
Vaihe 2) Tunnista suorituskyvyn hyväksymiskriteerit
Tämä sisältää suorituskyvyn, vasteaikojen ja resurssien allokoinnin tavoitteet ja rajoitukset. On myös tarpeen tunnistaa hankkeen onnistumiskriteerit näiden tavoitteiden ja rajoitusten ulkopuolella. Testaajilla tulisi olla valtuudet asettaa suorituskykykriteerit ja -tavoitteet, koska usein projektispesifikaatiot eivät sisällä riittävän laajaa valikoimaa suorituskyvyn vertailuarvoja. Joskus niitä ei ehkä ole ollenkaan. Jos mahdollista, samanlaisen sovelluksen löytäminen vertailua varten on hyvä tapa asettaa suorituskykytavoitteita.
Vaihe 3) Suunnittele ja suunnittele suorituskykytestit
Selvitä, kuinka käyttö todennäköisesti vaihtelee loppukäyttäjien välillä, ja tunnista keskeiset skenaariot testataksesi kaikkia mahdollisia käyttötapauksia. On tarpeen simuloida erilaisia loppukäyttäjiä, suunnitella suorituskykytestitiedot ja hahmotella, mitä mittareita kerätään.
Vaihe 4) Testiympäristön määrittäminen
Valmistele testausympäristö ennen suorittamista. Järjestä myös työkalut ja muut resurssit.
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 testituloksia. Hienosäädä sitten ja testaa uudelleen nähdäksesi, onko suorituskyky parantunut tai heikentynyt. Koska parannukset yleensä pienenevät jokaisella uusintatestillä, lopeta, kun CPU aiheuttaa pullonkauloja. Sitten saatat harkita prosessorin tehon lisäämistä.
Suorituskyvyn testausmittarit: Valvotut parametrit
Suorituskykytestauksen aikana seurattavia perusparametreja ovat:
- Prosessorin käyttö - aika, jonka prosessori käyttää ei-idle-säikeiden suorittamiseen.
- Muistin käyttö - tietokoneen prosesseille käytettävissä olevan fyysisen muistin määrä.
- Levyn aika - kuinka kauan 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ä, jota ei voida jakaa muiden prosessien kesken. Niitä käytetään muistivuotojen ja käytön mittaamiseen.
- Sitoutunut muisto - käytetyn virtuaalimuistin määrä.
- Muistisivut/sekunti – levylle kirjoitettujen tai levyltä luettujen sivujen lukumäärä kovien sivujen vikojen ratkaisemiseksi. Kovan sivun viat ovat, kun koodi, joka ei ole nykyisestä työjoukosta, kutsutaan muualta ja haetaan levyltä.
- Sivuvirheet/sekunti – kokonaisnopeus, jolla prosessori käsittelee vikasivuja. Tämä tapahtuu jälleen, kun prosessi vaatii koodia työjoukonsa ulkopuolelta.
- CPU-keskeytykset sekunnissa - on keskim. laitteistokeskeytyksiä, joita prosessori vastaanottaa ja käsittelee joka sekunti.
- Levyn jonon pituus - on keskim. ei. valitun levyn luku- ja kirjoituspyynnöistä näytevälin aikana.
- Verkon lähtöjonon pituus – lähtöpakettijonon pituus paketteina. Kaikki enemmän kuin kaksi tarkoittaa viivettä ja pullonkaulat on lopetettava.
- Verkkotavut yhteensä sekunnissa – nopeus, mitkä tavut lähetetään ja vastaanotetaan rajapinnassa, mukaan lukien kehysmerkit.
- Vasteaika - aika siitä, kun käyttäjä syöttää pyynnön siihen, kunnes vastauksen ensimmäinen merkki on vastaanotettu.
- Suorituskyky - arvioi 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 numeroon SQL lausekkeet, joita käsitellään välimuistilla kalliiden I/O-toimintojen sijaan. Tämä on hyvä paikka aloittaa pullonkaulaongelmien ratkaiseminen.
- Osumat sekunnissa – no. osumista verkkopalvelimella 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 kunto voidaan mitata numerolla. käynnissä olevista ja tällä hetkellä aktiivisista säikeistä.
- Roskakokoelma - Se liittyy käyttämättömän muistin palauttamiseen takaisin järjestelmään. Jätteiden keräämisen tehokkuutta on valvottava.
Suorituskykytestauksen testitapaukset Esimerkki
- Testitapaus 01: Varmista, että vasteaika on enintään 4 sekuntia, kun 1000 käyttäjää käyttää verkkosivustoa samanaikaisesti.
- Testitapaus 02: Varmista, että kuormitetun sovelluksen 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.
Suorituskyvyn testaustyökalut
Markkinoilla on laaja valikoima suorituskyvyn testaustyökaluja. Testaukseen valitsemasi työkalu riippuu monista tekijöistä, kuten tuetun protokollan tyypeistä, lisenssikustannuksista, laitteistovaatimuksista, alustan tuesta jne. Alla on luettelo yleisesti käytetyistä testaustyökaluista.
- HP LoadRunner - on markkinoiden suosituin suorituskyvyn testaustyökalu. Tämä työkalu pystyy simuloimaan satoja tuhansia käyttäjiä ja asettamalla sovelluksia tosielämän kuormituksille, jotta ne voivat määrittää niiden käyttäytymisen odotetuissa kuormituksissa. Loadrunner sisältää virtuaalisen käyttäjägeneraattorin, joka simuloi elävien ihmiskäyttäjien toimia.
- JMeter – yksi johtavista työkaluista, joita käytetään verkko- ja sovelluspalvelimien kuormitustestaukseen.
FAQ
Yhteenveto
In Ohjelmistotuotanto, Suorituskykytestaus on tarpeen ennen ohjelmistotuotteen markkinointia. Se varmistaa asiakastyytyväisyyden ja suojaa sijoittajan sijoitusta tuotteen epäonnistumiselta. Suorituskykytestauksen kustannukset korvataan yleensä parantuneella asiakastyytyväisyydellä, uskollisuudella ja säilyttämisellä.