logo

Suorituskykytestaus

Tässä osiossa opimme suorituskyvyn testaamisesta, miksi tarvitsemme sitä, suorituskyvyn testaustyypeistä ja suorituskyvyn testausprosessista.

Seuraavat ovat aiheet, jotka ymmärrämme tässä osiossa:

Mitä suorituskykytestaus on?

Se on tärkein osa ei-toiminnallista testausta.

Sovelluksen toiminnan tarkistamista kuormittamalla tunnetaan suorituskykytestauksena.

Yleensä tämä testaus määrittää, kuinka nopeasti palvelin vastaa käyttäjän pyyntöön.

Kun suoritamme sovelluksen suorituskykytestauksen, keskitymme erilaisiin tekijöihin, kuten Vasteaika, kuormitus ja vakaus sovelluksesta.

Vasteaika: Vastausaika on aika, jonka palvelin vastaa asiakkaan pyyntöön.

Ladata: Tässä Load tarkoittaa sitä, että milloin N-numero käyttäjistä, jotka käyttävät sovellusta samanaikaisesti tai lähettävät pyynnön palvelimelle kerrallaan.

Vakaus: Vakaustekijän osalta voimme sanoa, että kun N-määrä käyttäjiä käyttää sovellusta samanaikaisesti tietyn ajan.

Milloin käytämme suorituskykytestausta?

Suoritamme suorituskykytestauksen, kun ohjelmisto on vakaa ja siirretty tuotantoon, ja useat käyttäjät voivat käyttää sitä samanaikaisesti, tästä syystä suorituskykyongelmia saattaa ilmetä. Näiden suorituskykyongelmien välttämiseksi testaaja suorittaa yhden suorituskyvyn testauskierroksen.

Koska kyseessä on ei-toiminnallinen testaus, mikä ei tarkoita, että käyttäisimme aina suorituskykytestausta, menemme suorituskykytestaukseen vain, kun sovellus on toiminnallisesti vakaa.

Huomautus: Suorituskykytestausta ei voi tehdä manuaalisesti, koska sen kallista ja tarkkaa tulosta ei voida ylläpitää.

Suorituskykytestauksen tyypit

Seuraavat ovat suorituskyvyn testaustyypit:

esimerkki avoimen lähdekoodin käyttöjärjestelmästä
    Kuormitustestaus Stressitesti Skaalautuvuuden testaus Stabiliteettitestaus
Suorituskykytestaus

Keskustelemme yksitellen antaaksemme sinulle täydellisen käsityksen Kuorma, stressi, skaalautuvuus, ja Vakaus suorituskyvyn testaus.

Kuormitustestaus

Kuormitustestausta käytetään sovelluksen suorituskyvyn tarkistamiseen käyttämällä kuormitusta, joka on joko pienempi tai yhtä suuri kuin haluttu kuormitus, jota kutsutaan kuormitustestaukseksi.

Esimerkiksi: Alla olevassa kuvassa 1000 käyttäjää ovat haluttu kuorma , jonka asiakas antaa, ja 3/sekunti on päämäärä jonka haluamme saavuttaa suoritettaessa kuormitustestausta.

Suorituskykytestaus

Stressitestaus

Stressitestaus on testausta, joka tarkistaa sovelluksen käyttäytymisen kohdistamalla haluttua kuormaa suurempaa kuormaa.

Esimerkiksi: Jos otamme yllä olevan esimerkin ja lisäsimme haluttua kuormitusta 1000 käyttäjästä 1100 käyttäjään, ja tavoite on 4/sekunti. Kun suoritat stressitestauksen tässä skenaariossa, se läpäisee, koska kuorma on suurempi (100 ylöspäin) kuin todellinen haluttu kuorma.

Suorituskykytestaus

Skaalautuvuuden testaus

Sovelluksen suorituskyvyn tarkistaminen lisäämällä tai vähentämällä kuormitusta tietyissä vaa'oissa (käyttäjän lukumäärä) tunnetaan nimellä skaalautuvuuden testaus . Ylöspäin ja alaspäin skaalautuvuuden testausta kutsutaan skaalautuvuustestaukseksi.

Skaalautuvuustestaus on jaettu kahteen osaan, jotka ovat seuraavat:

    Ylöspäin skaalautuvuuden testaus Alaspäin skaalautuvuuden testaus

Ylöspäin skaalautuvuuden testaus

Se testaa missä me lisätä käyttäjien määrää tietyssä mittakaavassa kunnes saamme törmäyspisteen. Käytämme ylöspäin skaalautuvuustestausta löytääksemme sovelluksen enimmäiskapasiteetin.

Alaspäin skaalautuvuuden testaus

Alaspäin skaalautuvuuden testausta käytetään, kun kuormitustestausta ei ole läpäisty, ja aloita sitten pienentämällä no. käyttäjistä tietyllä aikavälillä kunnes tavoite saavutetaan. Jotta pullonkaula (vika) on helppo tunnistaa.

Vakaustestaus

Sovelluksen suorituskyvyn tarkistaminen: kohdistamalla kuormaa tietyn ajan tunnetaan Vakaustestaus .

Esimerkki suorituskyvyn testauksesta

Otetaan yksi esimerkki, missä teemme testaa sovelluksen käyttäytymistä, jos haluttu kuormitus on joko alle 1000 tai yhtä suuri kuin 1000 käyttäjää .

Alla olevassa kuvassa voimme nähdä, että 100 ylöspäin käyttäjiä lisätään jatkuvasti tarkistaakseen maksimi kuormitus , jota myös kutsutaan ylöspäin skaalautuvuuden testaus .

    Skenaario 1:Kun meillä on 1000 käyttäjää halutulla kuormalla ja tavoiteaika on 2,7/s, nämä skenaariot menevät ohi kuormitustestauksen aikana, koska kuormitustestauksessa keskitymme no. käyttäjistä, ja vaatimuksen mukaan se on 1000 käyttäjää.Skenaario 2:Seuraavassa skenaariossa lisäämme haluttua kuormitusta 100 käyttäjällä ja tavoiteaika nousee 3,5sek. Tämä skenaario menee läpi, jos suoritamme stressitestauksen, koska tässä todellinen kuormitus on suurempi kuin (1100) haluttu kuorma (1000).Skenaario 3:Tässä, jos lisäämme haluttua kuormaa kolme kertaa
    1200 → 3,5sek: [se ei ole pienempi tai yhtä suuri kuin haluttu kuorma, siksi se on Epäonnistui ]
    1300 → 4sek: [se ei ole pienempi tai yhtä suuri kuin haluttu kuorma. eli Epäonnistui ]
    1400 → kaatui
Suorituskykytestaus

Huomautus1: Tilavuus- ja liotustestaus on eräänlainen testaus, mutta ei suorituskyvyn testaus.

Volyymitestaus

Volyymitestaus on testausta, joka auttaa meitä tarkistamaan sovelluksen käyttäytymisen lisäämällä massiivisen datamäärän kuormitusta tunnetaan volyymitestauksena, ja tässä keskitymme datanopeuksien määrään kuin käyttäjien määrään. .

Muistio 2:
Tilavuus on kapasiteetti, kun taas kuorma on määrä, eli kuormitustestaus tarkoittaa ei. käyttäjistä, ja volyymitestaus tarkoittaa datan määrää.

Liotustesti

Tämän tyyppisessä testauksessa tarkistamme sovelluksen käyttäytymisen ympäristössä, jota ei tueta pitkään aikaan, kutsutaan soak-testaukseksi.

Yleensä soak-testaus on negatiivinen testaustyyppi, koska tiedämme jo, että palvelin tai ympäristö ei tue.

Suorituskykytestausprosessi

Suorituskykytestausta ei voi tehdä manuaalisesti, koska:

  • Tarvitsemme paljon resursseja, ja siitä tuli kalliimpi lähestymistapa.
  • Ja tarkkuus ei säily, kun seuraamme vasteaikaa manuaalisesti.

Suorituskykytestausprosessi suoritetaan seuraavissa vaiheissa:

  • Tunnista suorituskykyskenaariot
  • Suunnittele ja suunnittele suorituskyvyn testiskripti
  • Määritä testiympäristö ja jaa kuorma
  • Suorita testiskriptit
  • Tulos
  • Analyysin tulos
  • Tunnista pullonkaula
  • Suorita testi uudelleen
Suorituskykytestaus

Jos suoritamme a positiivinen virtaus suorituskyvyn testausprosessissa, se voi seurata alla olevaa prosessia:

yhdistä lajittelualgoritmi

Tunnista suorituskykyskenaariot

Ensinnäkin tunnistamme suorituskykyskenaariot seuraavien tekijöiden perusteella:

Yleisimmät skenaariot: Se tarkoittaa, että voimme löytää suorituskykyskenaariot skenaarioiden perusteella, joita yleisesti käytetään, kuten Gmail-sovellus; me esiintymme kirjaudu sisään, postilaatikkoon, lähetä kohteita, kirjoita sähköposti ja kirjaudu ulos .

Kriittisimmät skenaariot: Kriittiset skenaariot tarkoittavat Gmail-sovelluksessa säännöllisesti käytettyjä ja tärkeitä liiketoiminnan kannalta kirjaudu sisään, kirjoita teksti, postilaatikko ja kirjaudu ulos .

Valtava datasiirto: Jos meillä on valtava data, tarkoittaa, että n-määrä käyttäjiä käyttää sovellusta samanaikaisesti.

Kun olemme tunnistaneet suorituskykyskenaariot, siirrymme seuraavaan vaiheeseen.

Suunnittele ja suunnittele suorituskyvyn testiskripti

Tässä vaiheessa asennamme työkalut Test Engineer Machineen ja käytämme testipalvelinta, minkä jälkeen kirjoitamme jonkin skriptin testiskenaarioiden mukaisesti ja suoritamme työkalun.

Kun käsikirjoituksen kirjoittaminen on valmis, siirrymme seuraavaan vaiheeseen.

täysi muoto ide

Määritä testiympäristö ja jaa kuorma

Testauskriptien kirjoittamisen jälkeen järjestämme testausympäristön ennen suoritusta. Ja myös hallita työkaluja, muita resursseja ja jakaa kuorma 'Käyttömallin' mukaan tai mainitse kesto ja vakaus.

Suorita testiskriptit

Kun olemme jakaneet kuorman, suoritamme, vahvistamme ja valvomme testiskriptejä.

Tulos

Kun testiskriptit on suoritettu, saamme testituloksen. Ja tarkista, että tulos täyttää tavoitteen annetussa vasteajassa vai ei, ja vasteaika voi olla maksimi, keskimääräinen ja pienin.

Jos vastaus ei vastaa vaadittua aikavastetta, ryhdymme siihen negatiivinen virtaus missä suoritetaan seuraavat vaiheet:

Analyysin tulos

Ensin analysoimme testituloksen, vastaako se vasteaikaa vai ei.

Tunnista pullonkaula

Sen jälkeen tunnistamme pullonkaula (vika tai suorituskykyongelma ). Ja pullonkaula voi ilmetä näiden näkökohtien, kuten ongelma koodissa, laitteisto-ongelma (kiintolevy, RAM-prosessori), verkko-ongelmat, ja ohjelmistoongelma (käyttöjärjestelmä) . Ja kun pullonkaula on löydetty, suoritamme viritys (korjaus tai säätö) ratkaista tämä pullonkaula.

Suorita testi uudelleen

Kun olemme korjaaneet pullonkaulat, suorita testiskriptit uudelleen ja tarkista tulos, täyttääkö se vaaditun tavoitteen vai ei.

Ongelma ilmenee suorituskyvyn testauksessa

Kun suoritat sovelluksen suorituskykytestausta, joitain ongelmia saattaa ilmetä, ja näitä ongelmia kutsutaan myös nimellä suorituskykyongelma .

Suorituskykyongelmat ovat seuraavat:

    Vastausajan ongelma Skaalautuvuusongelma Pullonkaula Nopeus ongelma

Vastausajan ongelma

Vastausaika tarkoittaa, kuinka nopeasti palvelin vastaa asiakkaan pyyntöön. Jos käyttäjän pyyntöä ei täytetä annetussa vastausajassa, on voinut olla mahdollista, että käyttäjä on menettänyt kiinnostuksensa tiettyä ohjelmistoa tai sovellusta kohtaan. Siksi sovelluksella tai ohjelmistolla tulee olla täydellinen vasteaika, jotta se vastaa käyttäjän pyyntöön nopeasti.

Skaalautuvuusongelma

Skaalautuvuusongelmat ilmenevät, kun sovellus ei voi ottaa vastaan ​​n-määrää käyttäjiä ja odotettuja käyttäjien pyyntöjä samanaikaisesti. Siksi teemme ylöspäin skaalautuvuuden testaus (tarkista sovelluksen enimmäiskapasiteetti) ja alaspäin skaalautuvuuden testaus (kun odotettu aika ei vastaa todellista aikaa).

Pullonkaula

Pullonkaula on virheen epävirallinen nimi, joka ilmenee, kun yksi komponentti rajoittaa sovellusta, ja se vaikuttaa huonosti järjestelmän suorituskykyyn.

Tärkeimmät pullonkaulojen syyt ovat ohjelmisto-ongelmat (käyttöjärjestelmään liittyvät ongelmat), laitteisto-ongelmat (kiintolevyyn, RAM-muistiin ja prosessoriin liittyvät ongelmat), ja koodausongelma, jne.

Seuraavassa on yleisimmät suorituskyvyn pullonkaulat:

  • Muistin käyttö
  • Levyn käyttö
  • CPU:n käyttö
  • Käyttöjärjestelmän rajoitukset
  • Verkon käyttö

Nopeusongelmia

Kun suoritamme sovelluksen suorituskykytestauksen, sovelluksen tulee olla nopeampi saadakseen käyttäjän kiinnostuksen ja huomion, koska jos sovelluksen nopeus on hidas, se voi menettää käyttäjän kiinnostuksen sovellusta kohtaan.

Suorituskyvyn testaustyökalut

Meillä on markkinoilla saatavilla erilaisia ​​suorituskyvyn testaustyökaluja, joista osa on kaupallisia työkaluja ja avoimen lähdekoodin työkaluja.

Kaupalliset työkalut: LoadRunner[HP], WebLOAD, NeoLoad

Avoimen lähdekoodin työkalu: JMeter

LoadRunner

Se on yksi tehokkaimmista suorituskyvyn testauksen työkaluista, jota käytetään tukemaan suorituskykytestausta laajalle valikoimalle protokollia, lukuisia teknologioita ja sovellusympäristöjä.

Se tunnistaa nopeasti yleisimmät suorituskykyongelmien syyt. Ja myös ennustaa tarkasti sovelluksen skaalautuvuus ja kapasiteetti.

JMeter

Apache JMeter -ohjelmisto on avoimen lähdekoodin työkalu, joka on kokonaan Java-sovellus, joka on suunniteltu lataamaan toiminnallista testikäyttäytymistä ja mittaamaan suorituskykyä.

Yleensä se on suunniteltu verkkosovellusten testaamiseen, mutta nyt se on laajennettu myös muihin testitoimintoihin.

Apache JMeteriä käytetään sekä staattisten että dynaamisten resurssien ja dynaamisten verkkosovellusten suorituskyvyn testaamiseen.
Sitä voidaan käyttää palvelimen, verkon tai objektin, palvelinryhmän raskaan kuormituksen toistamiseen sen vahvuuden testaamiseksi tai yleisen suorituskyvyn analysoimiseksi eri kuormitustyypeillä.

WebLOAD

WebLOAD-testaustyökalu, jota käytetään kuormitustestauksen, suorituskyvyn testauksen ja stressitestin verkkosovellusten testaamiseen.

WebLOAD-työkalu yhdistää suorituskyvyn, skaalautuvuuden ja eheyden yhdeksi prosessiksi verkko- ja mobiilisovellusten todentamiseen.

NeoLoad

Neotys kehittää testaustyökalun nimeltä NeoLoad. NeoLoadilla testataan suorituskykytestin skenaarioita. NeoLoadin avulla löydämme pullonkaula-alueet verkosta ja mobiilisovelluskehitysprosessista.

tallennettu ohjelman ohjaus

NeoLoad-testaustyökalu on nopeampi verrattuna perinteisiin työkaluihin.

Niiden lisäksi on joitain muita työkaluja Sähköinen kuormitus, verkkostressityökalu, LoadUI Pro, StressStimulus, LoadView, LoadNinja ja RedLine13, joka auttaa testaamaan ohjelmiston tai sovelluksen suorituskykyä.