Mis on koormuse testimine? (Näited)
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 |
---|---|
|
|
Koormustestimise strateegiad
Koormustestide läbiviimiseks on palju võimalusi. Järgnevalt on toodud mõned koormuse testimise 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 -
- Looge pühendatud Testi keskkond koormuse testimiseks
- Määrake järgmine
- Koormustesti stsenaariumid
- 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
- Teststsenaariumi täitmine ja jälgimine. Erinevate mõõdikute kogumine
- Analüüsige tulemusi. Tehke soovitusi
- Süsteemi peenhäälestus
- Kontrollige uuesti
Koormustestimise juhised
- Koormustestimine tuleks planeerida siis, kui rakendus muutub funktsionaalselt stabiilseks.
- Andmekogus peaks valmis olema suur hulk unikaalseid andmeid
- Iga stsenaariumi või skripti jaoks tuleks otsustada kasutajate arv
- Vältige üksikasjalike logide loomist, et säästa ketta IO-ruumi
- Püüdke vältida saidil olevate piltide allalaadimist
- 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.