logo

Testiranje delovanja

V tem razdelku bomo spoznali testiranje zmogljivosti, zakaj ga potrebujemo, vrste testiranja zmogljivosti in postopek testiranja zmogljivosti.

Sledijo teme, ki jih bomo razumeli v tem razdelku:

Kaj je testiranje delovanja?

Je najpomembnejši del nefunkcionalnega testiranja.

Preverjanje obnašanja aplikacije z uporabo določene obremenitve je znano kot testiranje zmogljivosti.

Na splošno to testiranje določa, kako hitro se strežnik odzove na uporabnikovo zahtevo.

Med testiranjem zmogljivosti aplikacije se bomo osredotočili na različne dejavnike, kot so Odzivni čas, obremenitev in stabilnost aplikacije.

Odzivni čas: Odzivni čas je čas, ki ga potrebuje strežnik, da odgovori na zahtevo odjemalca.

obremenitev: Tukaj Load pomeni, da kdaj N-število uporabnikov, ki istočasno uporabljajo aplikacijo ali pošljejo zahtevo strežniku hkrati.

Stabilnost: Za faktor stabilnosti lahko rečemo, da N-število uporabnikov istočasno uporablja aplikacijo v določenem času.

Kdaj uporabljamo testiranje zmogljivosti?

Preizkušanje zmogljivosti bomo izvedli, ko bo programska oprema stabilna in se premakne v produkcijo, do nje pa lahko hkrati dostopa več uporabnikov, zato se lahko pojavijo nekatere težave z zmogljivostjo. Da bi se izognil tem težavam z zmogljivostjo, preizkuševalec izvede en krog testiranja zmogljivosti.

Ker gre za nefunkcionalno testiranje, kar ne pomeni, da vedno uporabljamo testiranje zmogljivosti, se za testiranje učinkovitosti odločimo samo, ko je aplikacija funkcionalno stabilna.

Opomba: Preizkušanja zmogljivosti ni mogoče izvesti ročno, ker dragih in natančnih rezultatov ni mogoče ohraniti.

Vrste testiranja zmogljivosti

Sledijo vrste testiranja zmogljivosti:

kako izvesti skript
    Obremenitveno testiranje Stresno testiranje Testiranje razširljivosti Testiranje stabilnosti
Testiranje delovanja

Dovolite, da razpravljamo enega za drugim, da boste v celoti razumeli Obremenitev, stres, razširljivost, in Stabilnost testiranje delovanja.

Testiranje obremenitve

Preizkušanje obremenitve se uporablja za preverjanje delovanja aplikacije z uporabo določene obremenitve, ki je manjša ali enaka želeni obremenitvi, kar je znano kot testiranje obremenitve.

Na primer: Na spodnji sliki je 1000 uporabnikov so želeno obremenitev , ki ga poda stranka, in 3/sekundo ali je cilj kar želimo doseči pri izvajanju obremenitvenega testiranja.

Testiranje delovanja

Stresno testiranje

Stresno testiranje je testiranje, ki preverja obnašanje aplikacije z uporabo obremenitve, ki je večja od želene.

Na primer: Če vzamemo zgornji primer in povečamo želeno obremenitev s 1000 na 1100 uporabnikov, cilj pa je 4/sekundo. Med izvajanjem stresnega testiranja v tem scenariju bo uspešno, ker je obremenitev večja (100 navzgor) od dejanske želene obremenitve.

Testiranje delovanja

Testiranje razširljivosti

Preverjanje delovanja aplikacije s povečanjem ali zmanjšanjem obremenitve v določenih lestvicah (brez uporabnika) je znano kot testiranje razširljivosti . Testiranje razširljivosti navzgor in navzdol se imenuje testiranje razširljivosti.

Testiranje razširljivosti je razdeljeno na dva dela, ki sta naslednja:

    Testiranje razširljivosti navzgor Testiranje razširljivosti navzdol

Testiranje razširljivosti navzgor

Preizkuša se tam, kjer smo povečati število uporabnikov v določenem obsegu dokler ne dobimo točke zrušitve. Za iskanje največje zmogljivosti aplikacije bomo uporabili testiranje razširljivosti navzgor.

Testiranje razširljivosti navzdol

Testiranje razširljivosti navzdol se uporabi, ko preizkus obremenitve ni opravljen, nato se začne zmanjševanje št. uporabnikov v določenem intervalu dokler cilj ni dosežen. Tako, da je enostavno prepoznati ozko grlo (hrošč).

Testiranje stabilnosti

Preverjanje delovanja aplikacije s uporaba obremenitve za določeno časovno obdobje je znan kot Testiranje stabilnosti .

Primer testiranja zmogljivosti

Vzemimo en primer, kjer bomo preizkusite obnašanje aplikacije, kjer je želena obremenitev manjša od 1000 ali enaka 1000 uporabnikom .

Na spodnji sliki lahko vidimo, da je 100 gor število uporabnikov se nenehno povečuje, da preverijo največja obremenitev , ki se imenuje tudi testiranje razširljivosti navzgor .

android.process.acore se kar naprej ustavlja
    Scenarij 1:Ko imamo 1000 uporabnikov kot želeno obremenitev in je ciljni čas 2,7/s, bodo ti scenariji med izvajanjem obremenitvenega testa uspešni, ker se bomo pri obremenitvenem testiranju osredotočili na št. uporabnikov, glede na zahtevo pa je enaka 1000 uporabnikom.Scenarij 2:V naslednjem scenariju bomo želeno obremenitev povečali za 100 uporabnikov, ciljni čas pa se bo povečal na 3,5sek. Ta scenarij bo uspešen, če izvedemo stresno testiranje, ker je tukaj dejanska obremenitev večja od (1100) želene obremenitve (1000).Scenarij 3:Pri tem, če povečamo želeno obremenitev trikrat
    1200 → 3,5s: [ni manjša ali enaka želeni obremenitvi, zato bo neuspeh ]
    1300 → 4sek: [ni manjša ali enaka želeni obremenitvi. tj. neuspeh ]
    1400 → Strmoglavilo
Testiranje delovanja

Opomba 1: Testiranje prostornine in namakanja je vrsta testiranja, ne pa tudi testiranje delovanja.

Volumensko testiranje

Volumensko testiranje je testiranje, ki nam pomaga preveriti obnašanje aplikacije z vstavljanjem ogromne količine obremenitve v smislu podatkov, kar je znano kot količinsko testiranje, in tukaj se bomo osredotočili na število podatkovnih hitrosti kot na število uporabnikov .

Opomba 2:
Prostornina je zmogljivost, medtem ko je obremenitev količina, tj. testiranje obremenitve pomeni št. uporabnikov, obseg testiranja pa pomeni količino podatkov.

Testiranje namakanja

Pri tej vrsti testiranja bomo preverili obnašanje aplikacije v okolju, ki je dolgo časa ne podpira, kar je znano kot preizkušanje vpijanja.

Na splošno je preizkušanje vpijanja negativna vrsta testiranja, saj že vemo, da strežnik ali okolje ne podpira.

Postopek testiranja zmogljivosti

Testiranja delovanja ni mogoče izvesti ročno, ker:

  • Potrebujemo veliko sredstev in postal je dražji pristop.
  • In natančnosti ni mogoče ohraniti, če odzivni čas spremljamo ročno.

Postopek testiranja zmogljivosti bo zaključen v naslednjih korakih:

  • Ugotovite scenarije uspešnosti
  • Načrtujte in načrtujte testni skript uspešnosti
  • Konfigurirajte testno okolje in porazdelite obremenitev
  • Izvedite testne skripte
  • Rezultat
  • Rezultat analize
  • Prepoznajte ozko grlo
  • Ponovno zaženite test
Testiranje delovanja

Če izvajamo a pozitiven tok postopka testiranja učinkovitosti, bi lahko sledil spodnjemu postopku:

Ugotovite scenarije uspešnosti

Najprej bomo identificirali scenarije uspešnosti na podlagi naslednjih dejavnikov:

Najpogostejši scenariji: To pomeni, da lahko najdemo scenarije uspešnosti na podlagi scenarijev, ki se običajno uporabljajo kot v aplikacija Gmail; bomo izvajali prijava, prejeto pošto, pošiljanje predmetov in sestavljanje e-pošte ter odjava .

Najbolj kritični scenariji: Kritični scenariji pomenijo redno uporabo in so pomembni za poslovno podobno aplikacijo Gmail prijava, sestavljanje, prejeto sporočilo in odjava .

Ogromne podatkovne transakcije: Če imamo ogromno podatkov, to pomeni, da n-število uporabnikov uporablja aplikacijo hkrati.

Ko identificiramo scenarije uspešnosti, se premaknemo na naslednji korak.

Načrtujte in načrtujte testni skript uspešnosti

V tem koraku bomo namestili orodja v Test Engineer Machine in dostopali do testnega strežnika, nato pa bomo napisali skript v skladu s testnimi scenariji in zagnali orodje.

Ko končamo s pisanjem scenarija, gremo na naslednji korak.

Konfigurirajte testno okolje in porazdelite obremenitev

Po pisanju testnih skriptov bomo pred izvedbo uredili testno okolje. Prav tako upravljajte orodja, druge vire in porazdelite obremenitev glede na 'vzorec uporabe' ali navedite trajanje in stabilnost.

Izvedite testne skripte

Ko končamo z razdelitvijo obremenitve, bomo izvedli, preverili in nadzirali testne skripte.

Rezultat

Po izvedbi testnih skriptov bomo dobili rezultat testa. In preverite, ali rezultat izpolnjuje cilj v danem odzivnem času ali ne, odzivni čas pa je lahko največji, povprečni in najmanjši.

Če odziv ne ustreza zahtevanemu časovnemu odzivu, se bomo odločili za negativni tok kjer bo izvedel naslednje korake:

Rezultat analize

Najprej bomo analizirali rezultat testa, ali ustreza odzivnemu času ali ne.

koliko mest je pri nas

Prepoznajte ozko grlo

Po tem bomo identificirali ozko grlo (napaka ali težava z delovanjem ). In ozko grlo bi lahko nastalo zaradi teh vidikov, kot je težava v kodi, težava s strojno opremo (trdi disk, RAM procesor), težave z omrežjem, in težava s programsko opremo (operacijski sistem) . In ko najdemo ozko grlo, bomo nastopili nastavitev (popravek ali prilagoditev) za rešitev tega ozkega grla.

Ponovno zaženite test

Ko odpravimo ozka grla, ponovno zaženemo testne skripte in preverimo rezultat, ali izpolnjuje zahtevani cilj ali ne.

Težava se pojavi pri testiranju zmogljivosti

Med izvajanjem testiranja delovanja aplikacije se lahko pojavijo nekatere težave, ki se imenujejo tudi težave težava z zmogljivostjo .

Težave z zmogljivostjo so naslednje:

    Težava z odzivnim časom Težava z razširljivostjo ozko grlo Težava s hitrostjo

Težava z odzivnim časom

Odzivni čas pomeni, kako hitro se strežnik odzove na zahtevo odjemalca. Če se uporabnikova zahteva ne dokonča v danem odzivnem času, je možno, da uporabnik izgubi zanimanje za določeno programsko opremo ali aplikacijo. Zato mora imeti aplikacija ali programska oprema popoln odzivni čas za hiter odziv na zahtevo uporabnika.

Težava z razširljivostjo

Težave z razširljivostjo se pojavijo, ko aplikacija ne more sprejeti n-števil uporabnikov in pričakovanih zahtev uporabnikov hkrati. Zato bomo storili testiranje razširljivosti navzgor (preverite največjo zmogljivost aplikacije) in testiranje razširljivosti navzdol (če se pričakovani čas ne ujema z dejanskim časom).

ozko grlo

Ozko grlo je neformalno ime hrošča, ki se pojavi, ko je aplikacija omejena z eno samo komponento in slabo vpliva na delovanje sistema.

Glavni vzroki ozkih grl so težave s programsko opremo (težave v zvezi z operacijskim sistemom), težave s strojno opremo (težave v zvezi s trdim diskom, RAM-om in procesorjem), in težava s kodiranjem, itd.

Sledijo najpogostejša ozka grla pri delovanju:

  • Poraba pomnilnika
  • Poraba diska
  • Izkoriščenost procesorja
  • Omejitve operacijskega sistema
  • Uporaba omrežja

Težave s hitrostjo

Ko izvajamo testiranje delovanja aplikacije, bi morala biti aplikacija hitrejša, da bi pritegnila zanimanje in pozornost uporabnika, ker če je hitrost aplikacije počasna, lahko izgubi zanimanje uporabnika za aplikacijo.

Orodja za testiranje zmogljivosti

Na trgu imamo na voljo različne vrste orodij za testiranje zmogljivosti, med katerimi so nekatera komercialna orodja in odprtokodna orodja.

Komercialna orodja: LoadRunner[HP], WebLOAD, NeoLoad

Odprtokodno orodje: JMeter

čas večerje proti večerji

LoadRunner

Je eno najmočnejših orodij za testiranje zmogljivosti, ki se uporablja za podporo testiranja zmogljivosti za širok nabor protokolov, število tehnologij in aplikacijskih okolij.

Hitro prepozna najpogostejše vzroke za težave z delovanjem. In tudi natančno napovedati razširljivost in zmogljivost aplikacije.

JMeter

Programska oprema Apache JMeter je odprtokodno orodje, ki je v celoti aplikacija Java, zasnovana za nalaganje funkcionalnega testnega obnašanja in merjenje zmogljivosti.

Na splošno je bil zasnovan za testiranje spletnih aplikacij, zdaj pa je razširjen tudi na druge testne funkcije.

Apache JMeter se uporablja za testiranje zmogljivosti za statične in dinamične vire ter dinamične spletne aplikacije.
Uporablja se lahko za reprodukcijo velike obremenitve strežnika, omrežja ali objekta, skupine strežnikov, da se preizkusi njegova moč ali analizira splošno delovanje pri različnih vrstah obremenitev.

WebLOAD

Orodje za testiranje WebLOAD, ki se uporablja za testiranje spletnih aplikacij za testiranje obremenitve, testiranje zmogljivosti in stresno testiranje.

Orodje WebLOAD združuje zmogljivost, razširljivost in celovitost kot en sam postopek za preverjanje spletnih in mobilnih aplikacij.

NeoLoad

Neotys je razvil orodje za testiranje, ki se imenuje NeoLoad. NeoLoad se uporablja za testiranje scenarijev testiranja zmogljivosti. S pomočjo NeoLoad lahko najdemo ozka grla v procesu razvoja spleta in mobilnih aplikacij.

Testno orodje NeoLoad je hitrejše v primerjavi s tradicionalnimi orodji.

Poleg njih so še nekatera druga orodja Električna obremenitev, spletno orodje za stres, LoadUI Pro, StresStimulus, LoadView, LoadNinja in RedLine13, ki pomaga preizkusiti delovanje programske opreme ali aplikacije.