Mis on koormuse testimine? (Näited)

Koormuse testimine

Mis on koormuse testimine?

Koormuse testimine on mittefunktsionaalne tarkvara testimisprotsess, mille käigus testitakse tarkvararakenduse jõudlust kindla eeldatava koormuse all. See määrab, kuidas tarkvararakendus käitub, kui sellele pääseb juurde korraga mitu kasutajat. Koormustestimise eesmärk on parandada jõudluse kitsaskohti ning tagada tarkvararakenduse stabiilsus ja sujuv toimimine enne juurutamist.

See test tuvastab tavaliselt

  • Rakenduse maksimaalne töövõime
  • Tehke kindlaks, kas praegune infrastruktuur on rakenduse käitamiseks piisav
  • Rakenduse jätkusuutlikkus kasutaja maksimaalse koormuse suhtes
  • Samaaegsete kasutajate arv, keda rakendus toetab, ja skaleeritavus, et võimaldada rohkematel kasutajatel sellele juurde pääseda.

See on teatud tüüpi mittefunktsionaalne testimine. Tarkvaratehnikas kasutatakse koormustestimist tavaliselt kliendi/serveri, veebipõhiste rakenduste jaoks – nii sisevõrgus kui ka Internetis.

Koormustesti vajadus

Mõned ülipopulaarsed saidid on suure liiklusmahu tõttu kannatanud tõsiseid seisakuid. E-kaubanduse veebisaidid investeerivad palju reklaamikampaaniatesse, kuid mitte koormustestimisse, et tagada süsteemi optimaalne jõudlus, kui turundus toob liiklust.

Mõelge järgmistele koormustestimise näidetele

  • Populaarne mänguasjapood Toysrus.com ei saanud hakkama nende reklaamikampaaniast tingitud suurenenud liiklusega, mille tulemusel kaotati nii turundusdollarid kui ka võimalik mänguasjade müük.
  • Lennufirma veebisait ei suutnud festivali pakkumise ajal vastu võtta 10000 XNUMX+ kasutajat.
  • Encyclopedia Britannica kuulutas tasuta juurdepääsu oma veebiandmebaasile sooduspakkumisena. Nad ei suutnud nädalaid liikluse pealetungiga sammu pidada.

Paljud saidid kannatavad tiheda liikluse tõttu laadimisaja hilinemise all. vähe fakte –

  • Enamik kasutajaid klõpsab ära pärast 8-sekundilist viivitust lehe laadimisel
  • $ 4.4 Billioon Kaotatakse igal aastal halva jõudluse tõttu

Miks koormustestimine?

  • Koormustestimine annab kindlustunde süsteemi ja selle töökindluse ja jõudluse vastu.
  • Koormustestimine aitab tuvastada süsteemi kitsaskohad raskete kasutajate stressistsenaariumide korral enne, kui need tootmiskeskkonnas aset leiavad.
  • Koormustestimine pakub suurepärast kaitset kehva jõudluse eest ja hõlmab täiendavaid strateegiaid jõudluse juhtimiseks ja tootmiskeskkonna jälgimiseks.

Koormustestimise eesmärgid

Laadimistestimine tuvastab enne rakenduse turule või tootmisse viimist järgmised probleemid.

  • Iga tehingu puhul vastamisaeg
  • Süsteemi komponentide jõudlus erinevatel koormustel
  • Andmebaasi komponentide jõudlus erinevatel koormustel
  • Võrgu viivitus kliendi ja serveri vahel
  • Tarkvara disaini probleemid
  • Serveri konfiguratsiooniprobleemid, nagu veebiserver, rakendusserver, andmebaasiserver jne.
  • Riistvarapiiranguga seotud probleemid, nagu protsessori maksimeerimine, mälupiirangud, võrgu kitsaskoht jne.

Koormustestiga tehakse kindlaks, kas jõudluse parandamiseks on vaja süsteemi peenhäälestada või riist- ja tarkvara muutmist. Koormustestide tõhusaks läbiviimiseks saate kasutada erinevaid jõudluskontrolli tööriistad mis on saadaval, et aidata teil kindlaks teha parendusvaldkonnad.

Koormustestimise eeldused

Koormustestimise peamine mõõdik on reaktsiooniaeg. Enne koormustesti alustamist peate kindlaks tegema:

  • Kas reageerimisaega on juba mõõdetud ja võrreldud – kvantitatiivne
  • Kas reageerimisaeg on äriprotsessis rakendatav – asjakohane
  • Kas reageerimisaeg on õigustatud – realistlik
  • Kas reageerimisaeg on saavutatav – saavutatav
  • Kas reaktsiooniaeg on mõõdetav tööriista või stopperiga – Mõõdetav

Enne koormustesti alustamist tuleb seadistada keskkond:

Riistvaraplatvorm Tarkvara konfigureerimine
  • Serverimasinad
  • Protsessorid
  • Mälu
  • Kettaruum
  • Laadi masinate konfiguratsioon
  • Võrgu konfiguratsioon
  • Operating System
  • Serveritarkvara

Koormustestimise strateegiad

Koormustestide läbiviimiseks on palju võimalusi. Järgnevalt on toodud mõned koormuse testimise strateegiad -

Koormustestimise strateegiad

  • Käsitsi koormuse testimine: see on üks koormustestide läbiviimise strateegiatest, kuid see ei anna korratavaid tulemusi, ei suuda pakkuda rakendusele mõõdetavat stressitaset ja seda on võimatu koordineerida.
  • Majas välja töötatud koormustestimise tööriistad: organisatsioon, kes mõistab koormustestimise tähtsust, võib koormustestide läbiviimiseks luua oma tööriistad.
  • Avatud lähtekoodiga koormuse testimise tööriistad: avatud lähtekoodiga on saadaval mitmeid tasuta koormuse testimise tööriistu. Need ei pruugi olla nii kogenud kui nende tasulised kolleegid, kuid kui teil on eelarve, on need parim valik.
  • Ettevõtlusklassi koormuse testimise tööriistad: Tavaliselt on neil kaasas jäädvustamise/taasesituse võimalus. Nad toetavad suurt hulka protokolle. Need võivad simuleerida erakordselt suurt hulka kasutajaid.

Kuidas teha koormustesti

Koormustestimise protsessi saab lühidalt kirjeldada järgmiselt -

  1. Looge pühendatud Testi keskkond koormuse testimiseks
  2. Määrake järgmine
  3. Koormustesti stsenaariumid
  4. Määrake rakenduse koormustestimise tehingud
    • Valmistage ette andmed iga tehingu jaoks
    • Süsteemile juurde pääsevate kasutajate arv tuleb prognoosida
    • Määrake ühenduse kiirus. Mõned kasutajad võivad olla ühendatud püsiliinide kaudu, samas kui teised võivad kasutada sissehelistamist
    • Määrake kasutajate kasutatavad erinevad brauserid ja operatsioonisüsteemid 
    • Kõigi serverite konfiguratsioon, nagu veebi-, rakendus- ja DB-serverid
  5. Teststsenaariumi täitmine ja jälgimine. Erinevate mõõdikute kogumine
  6. Analüüsige tulemusi. Tehke soovitusi
  7. Süsteemi peenhäälestus
  8. Kontrollige uuesti

Koormustestimise juhised

Koormustestimise juhised

  1. Koormustestimine tuleks planeerida siis, kui rakendus muutub funktsionaalselt stabiilseks.
  2. Andmekogus peaks valmis olema suur hulk unikaalseid andmeid
  3. Iga stsenaariumi või skripti jaoks tuleks otsustada kasutajate arv
  4. Vältige üksikasjalike logide loomist, et säästa ketta IO-ruumi
  5. Püüdke vältida saidil olevate piltide allalaadimist
  6. Koormustestimise katsejuhtumite täitmise protsessis tuleks registreerida reageerimisaja järjepidevus möödunud perioodi jooksul ja võrrelda seda erinevate katsekäikudega.

Erinevus koormus- ja stressitestide vahel

Koormuse testimine Stressitestimine
Koormustestimine tuvastab süsteemi kitsaskohad erinevate töökoormuste korral ja kontrollib, kuidas süsteem reageerib koormuse järkjärgulisele suurendamisele Stressitestimine määrab süsteemi murdepunkti, et paljastada maksimaalne punkt, mille järel see puruneb.
Süsteemi ülempiiri tuvastamiseks määrake rakenduse SLA ja kontrollige, kuidas süsteem suure koormusega hakkama saab. Et kontrollida, kuidas süsteem käitub äärmuslike koormuste korral ja kuidas see taastub pärast rikkeid.
Koormustestimise peamine eesmärk on veebirakenduse koormuse suurendamine. Stressitestimise eesmärk on tagada, et serverid ei jookseks pika aja jooksul kokku järsu suure koormuse korral.
Koormustestis kontrollitavad atribuudid on tippjõudlus, serveri kogus ja reaktsiooniaeg. Selline testimine kontrollib stabiilsuse reaktsiooniaega jne.
Koormustestimisel on koormuspiir pausi lävi. Stressitestimisel on koormuspiir üle pausi läve.

Funktsionaalse ja koormustesti erinevus

Funktsionaalne testimine Koormuse testimine
Funktsionaalsete testide tulemused on kergesti prognoositavad, kuna meil on määratletud õiged sammud ja eeldused Koormustestide tulemused on ettearvamatud
Funktsionaalsete testide tulemused on veidi erinevad Koormustesti tulemused varieeruvad drastiliselt
Täitmise sagedus Funktsionaalne testimine on kõrge Koormustestide teostamise sagedus on madal
Funktsionaalsete testide tulemused sõltuvad testi andmetest Koormustestimine sõltub kasutajate arvust.

Koormuse testimise tööriistad

Laadimisjooksja:

Load Runner on HP tööriist, mida kasutatakse rakenduste testimiseks tava- ja tippkoormuse tingimustes. Load Runner genereerib koormuse, luues virtuaalseid kasutajaid, kes emuleerivad võrguliiklust. See simuleerib reaalajas kasutamist nagu tootmiskeskkond ja annab graafilisi tulemusi.

Loadrunneri kohta loe lähemalt siin.

Koormustesti eelised ja puudused

Koormustesti eelised on järgmised:

  • Toimivuse kitsaskohtade tuvastamine enne tootmist
  • Parandab süsteemi mastaapsust
  • Minimeerige süsteemi seisakutega seotud riske
  • Vähendatud ebaõnnestumise kulud
  • Suurendage klientide rahulolu

Koormustesti puudused:

  • Tarkvara testimise kontekstis koormustesti läbiviimiseks tööriistade kasutamiseks on vaja programmeerimisalaseid teadmisi.
  • Tööriistad võivad olla kallid, kuna hind sõltub toetatud virtuaalkasutajate arvust.

kokkuvõte

  • Koormustestimine on määratletud kui tarkvara testimise tüüp, mis määrab süsteemi jõudluse tegelikes koormustingimustes.
  • Koormustestimine parandab tavaliselt jõudluse kitsaskohti, mastaapsust ja rakenduse stabiilsust enne, kui see on tootmiseks saadaval.
  • See testimine aitab tuvastada nii rakenduste maksimaalset töövõimet kui ka süsteemi kitsaskohti.
  • Koormustestimine sisse tarkvara testimine on oluline, sest kui seda ignoreeritakse, võib see põhjustada organisatsioonile rahalist kahju.