Šiame skyriuje sužinosime apie našumo testavimą, kodėl mums to reikia, našumo testavimo tipus ir veikimo testavimo procesą.
Toliau pateikiamos temos, kurias suprasime šiame skyriuje:
Kas yra našumo tikrinimas?
Tai svarbiausia nefunkcinio testavimo dalis.
Programos veikimo tikrinimas taikant tam tikrą apkrovą vadinamas našumo testavimu.
Paprastai šis testavimas apibrėžia, kaip greitai serveris atsako į vartotojo užklausą.
Atlikdami programos našumo testavimą, sutelksime dėmesį į įvairius veiksnius, pvz Reakcijos laikas, apkrova ir stabilumas paraiškos.
Atsakymo laikas: Atsakymo laikas – tai laikas, per kurį serveris atsako į kliento užklausą.
Įkelti: Čia įkelti reiškia, kad kada N skaičius vartotojų, naudojančių programą vienu metu arba siunčiančių užklausą serveriui vienu metu.
Stabilumas: Dėl stabilumo faktoriaus galime pasakyti, kad kai N skaičius vartotojų naudojasi programa vienu metu tam tikrą laiką.
Kada naudojame našumo testavimą?
Atliksime našumo testavimą, kai programinė įranga bus stabili ir perkelta į gamybinę versiją, o ją vienu metu gali pasiekti keli vartotojai, todėl gali kilti tam tikrų našumo problemų. Kad išvengtų šių našumo problemų, bandytojas atlieka vieną našumo tikrinimo etapą.
Kadangi tai yra nefunkcinis testavimas, o tai nereiškia, kad visada naudojame našumo testavimą, našumo testavimą atliekame tik tada, kai programa yra funkcionaliai stabili.
Pastaba: našumo testavimo negalima atlikti rankiniu būdu, nes negalima išlaikyti brangaus ir tikslaus rezultato.
Veiklos testavimo tipai
Toliau pateikiami našumo tikrinimo tipai:
java anoniminė funkcija
Leiskite mums aptarti po vieną, kad gautumėte išsamų supratimą apkrova, stresas, mastelio keitimas, ir Stabilumas veikimo testavimas.
Apkrovos bandymas
Apkrovos bandymas naudojamas patikrinti programos veikimą, taikant tam tikrą apkrovą, kuri yra mažesnė už norimą apkrovą arba lygi jai, vadinama apkrovos bandymu.
Pavyzdžiui: Žemiau esančiame paveikslėlyje 1000 vartotojų yra norima apkrova , kurią duoda klientas, ir 3/sekundę yra įvartis kuriuos norime pasiekti atlikdami apkrovos testavimą.
Testavimas nepalankiausiomis sąlygomis
Testavimas nepalankiausiomis sąlygomis yra testavimas, kurio metu tikrinamas programos elgesys, taikant didesnę nei norima apkrovą.
Pavyzdžiui: Jei paimtume aukščiau pateiktą pavyzdį ir padidintume norimą apkrovą nuo 1000 iki 1100 vartotojų, o tikslas yra 4 per sekundę. Atliekant testavimą nepalankiausiomis sąlygomis pagal šį scenarijų, jis bus sėkmingas, nes apkrova yra didesnė (100 daugiau) nei faktinė norima apkrova.
Mastelio keitimo testavimas
Programos našumo tikrinimas padidinant arba sumažinant apkrovą tam tikrose svarstyklėse (vartotojo nėra) vadinamas mastelio keitimo testavimas . Didėjančio mastelio ir mažėjančio mastelio testavimas vadinamas mastelio keitimo testavimu.
Mastelio keitimo testavimas yra padalintas į dvi dalis, kurios yra tokios:
Didėjančio mastelio testavimas
Tai yra bandymai, kur mes padidinti vartotojų skaičių tam tikru mastu kol sulauksime avarijos taško. Norėdami rasti didžiausią programos pajėgumą, naudosime didinimo mastelio testą.
Mažėjančio mastelio testavimas
Mažėjančio mastelio testavimas naudojamas, kai apkrovos bandymas nepraeina, tada pradėkite mažinant Nr. vartotojų tam tikru intervalu kol bus pasiektas tikslas. Kad būtų lengva nustatyti kliūtį (klaidą).
Stabilumo testas
Programos veikimą tikrina taikant apkrovą tam tikrą laiką yra žinomas kaip Stabilumo testas .
Našumo testavimo pavyzdys
Paimkime vieną pavyzdį, kur tai padarysime išbandyti programos elgseną, kai norima apkrova yra mažesnė nei 1000 arba lygi 1000 vartotojų .
Žemiau esančiame paveikslėlyje matome, kad 100 aukštyn vartotojų skaičius nuolat didėja, kad galėtų patikrinti maksimali apkrova , kuris taip pat vadinamas didinimo mastelio testavimas .
eilutėje yra java
1200 → 3,5sek: [jis ne mažesnis arba lygus norimai apkrovai, todėl ir bus Nepavyko ]
1300 → 4sek: [ji ne mažesnė arba lygi norimai apkrovai. t.y., Nepavyko ]
1400 → Sudužo
1 pastaba: tūrio ir mirkymo bandymas yra bandymo tipas, bet ne veikimo tikrinimas.
Tūrio bandymas
Apimties testavimas yra testavimas, kuris padeda mums patikrinti programos elgseną įterpiant didžiulį apkrovos kiekį duomenų atžvilgiu, vadinamas apimties testavimu, ir čia mes sutelksime dėmesį į duomenų perdavimo spartų skaičių, o ne į vartotojų skaičių. .
Užrašas 2:
Tūris yra talpa, o apkrova yra kiekis, ty apkrovos bandymas reiškia ne. vartotojų, o apimties testavimas reiškia duomenų kiekį.
Mirkymo bandymas
Atlikdami tokio tipo bandymus, mes patikrinsime programos elgseną aplinkoje, kuri ilgą laiką nepalaikoma, vadinama mirkymo testavimu.
Paprastai mirkymo testavimas yra neigiamas bandymo tipas, nes jau žinome, kad serveris arba aplinka nepalaiko.
Veikimo testavimo procesas
Veikimo testavimas negali būti atliekamas rankiniu būdu, nes:
- Mums reikia daug išteklių, ir tai tapo brangesniu metodu.
- Ir tikslumo nepavyks išlaikyti, kai atsako laiką stebime rankiniu būdu.
Našumo tikrinimo procesas bus baigtas šiais veiksmais:
- Nustatykite našumo scenarijus
- Planuoti ir projektuoti veikimo testo scenarijų
- Konfigūruokite bandymo aplinką ir paskirstykite apkrovą
- Vykdykite bandomuosius scenarijus
- Rezultatas
- Analizės rezultatas
- Nustatykite kliūtis
- Iš naujo paleiskite testą
Jei atliksime a teigiamas srautas našumo tikrinimo procesą, jis gali atlikti toliau nurodytą procesą:
Nustatykite našumo scenarijus
Pirmiausia nustatysime našumo scenarijus, atsižvelgdami į toliau nurodytus veiksnius:
Dažniausiai tokie scenarijai: Tai reiškia, kad galime rasti veikimo scenarijus pagal scenarijus, kurie dažniausiai naudojami kaip ir Gmail programa; mes atliksime prisijungti, gautieji, siųsti elementus, parašyti laišką ir atsijungti .
Svarbiausi scenarijai: Kritiniai scenarijai reiškia reguliariai naudojamus ir svarbius verslui „Gmail“ programoje prisijungti, kurti, gautieji ir atsijungti .
Didžiulis duomenų sandoris: Jei turime daug duomenų, tai reiškia, kad tuo pačiu metu programa naudojasi n skaičius vartotojų.
Kai nustatysime veiklos scenarijus, pereisime prie kito žingsnio.
Planuoti ir projektuoti veikimo testo scenarijų
Šiame žingsnyje įdiegsime įrankius „Test Engineer Machine“ ir pasiesime bandomąjį serverį, tada parašysime scenarijų pagal bandymo scenarijus ir paleisime įrankį.
Kai baigsime rašyti scenarijų, pereisime prie kito žingsnio.
Konfigūruokite bandymo aplinką ir paskirstykite apkrovą
Parašius testavimo scenarijus, prieš vykdymą sutvarkysime testavimo aplinką. Taip pat valdyti įrankius, kitus išteklius ir paskirstyti apkrovą pagal „Naudojimo modelį“ arba paminėti trukmę ir stabilumą.
Vykdykite bandomuosius scenarijus
Baigę paskirstyti apkrovą, vykdysime, patvirtinsime ir stebėsime bandomuosius scenarijus.
Rezultatas
Įvykdę bandomuosius scenarijus gausime testo rezultatą. Ir patikrinkite, ar rezultatas atitinka tikslą per nurodytą reakcijos laiką, ar ne, o atsako laikas gali būti maksimalus, vidutinis ir minimalus.
Jei atsakymas neatitiks reikiamo laiko atsakymo, mes pasirinksime neigiamas srautas kur bus atlikti šie veiksmai:
Analizės rezultatas
Pirmiausia išanalizuosime testo rezultatą, ar jis atitinka atsakymo laiką, ar ne.
java sąrašus
Nustatykite kliūtis
Po to mes nustatysime kliūtis (klaida arba našumo problema ). Ir kliūtis gali atsirasti dėl tokių aspektų, kaip kodo problema, techninės įrangos problema (standartinis diskas, RAM procesorius), tinklo problemos, ir programinės įrangos problema (operacinė sistema) . O radę butelio kaklelį, koncertuosime derinimas (taisymas arba reguliavimas) išspręsti šią kliūtį.
Iš naujo paleiskite testą
Kai pašalinsime kliūtis, iš naujo paleiskite bandomuosius scenarijus ir patikrinkite rezultatą, ar jis atitinka reikiamą tikslą, ar ne.
Problema kyla atliekant našumo testavimą
Atliekant programos našumo testavimą, gali kilti tam tikrų problemų, kurios taip pat vadinamos našumo problema .
Veikimo problemos yra tokios:
Reagavimo laiko problema
Atsakymo laikas reiškia, kaip greitai serveris reaguoja į kliento užklausą. Jei vartotojo užklausa neįvykdoma per nurodytą atsakymo laiką, gali būti, kad vartotojas gali prarasti susidomėjimą konkrečia programine įranga ar programa. Štai kodėl programa ar programinė įranga turi turėti puikų atsako laiką, kad greitai reaguotų į vartotojo užklausą.
Mastelio keitimo problema
Mastelio keitimo problemos kyla, kai programa negali vienu metu priimti n skaičiaus vartotojų ir numatomų vartotojų užklausų. Todėl ir darysime didinimo mastelio testavimas (patikrinkite didžiausią programos talpą) ir mažėjančio mastelio testavimas (kai numatomas laikas nesutampa su tikruoju laiku).
Butelio kaklelis
Butelio kaklelis yra neoficialus klaidos pavadinimas, kuris atsiranda, kai programa yra apribota vienu komponentu ir daro neigiamą poveikį sistemos veikimui.
Pagrindinės kliūčių priežastys yra programinės įrangos problemos (susijusios su operacine sistema), aparatinės įrangos problemos (susijusios su standžiuoju disku, RAM ir procesoriumi), ir kodavimo problema, ir tt
Toliau pateikiami dažniausiai pasitaikantys našumo trūkumai:
- Atminties panaudojimas
- Disko naudojimas
- CPU panaudojimas
- Operacinės sistemos apribojimai
- Tinklo panaudojimas
Greičio problemos
Kai atliekame programos našumo testavimą, programa turėtų būti greitesnė, kad sudomintų ir sudomintų vartotoją, nes jei programos greitis yra lėtas, ji gali prarasti vartotojo susidomėjimą programa.
Veikimo tikrinimo įrankiai
Rinkoje turime įvairių tipų našumo tikrinimo įrankių, kai kurie iš jų yra komerciniai ir atvirojo kodo įrankiai.
Komerciniai įrankiai: LoadRunner[HP], WebLOAD, NeoLoad
Atvirojo kodo įrankis: JMeter
von Neumann architektūra
LoadRunner
Tai vienas iš galingiausių našumo testavimo įrankių, kuris naudojamas siekiant palaikyti platų protokolų spektrą, technologijų skaičių ir taikomųjų programų aplinkų našumo testavimą.
Jis greitai nustato dažniausiai pasitaikančias našumo problemų priežastis. Taip pat tiksliai prognozuokite programos mastelį ir pajėgumus.
JMeter
„Apache JMeter“ programinė įranga yra atvirojo kodo įrankis, kuris yra visiškai „Java“ programa, skirta funkciniams bandymams įkelti ir našumui matuoti.
Paprastai jis buvo skirtas žiniatinklio taikomųjų programų testavimui, bet dabar išplėstas ir įtraukiant kitas testavimo funkcijas.
„Apache JMeter“ naudojamas statinių ir dinaminių išteklių bei dinaminių žiniatinklio programų našumui patikrinti.
Jis gali būti naudojamas norint atkurti didelę serverio, tinklo ar objekto, serverių grupės apkrovą, kad būtų galima patikrinti jo stiprumą arba analizuoti bendrą našumą esant skirtingiems apkrovų tipams.
WebLOAD
WebLOAD testavimo įrankis, naudojamas apkrovos testavimui, našumo testavimui ir žiniatinklio programų nepalankiausiomis sąlygomis testavimui.
WebLOAD įrankis sujungia našumą, mastelį ir vientisumą kaip vieną procesą, skirtą žiniatinklio ir mobiliųjų programų patvirtinimui.
NeoLoad
„Neotys“ kuria testavimo įrankį, vadinamą „NeoLoad“. „NeoLoad“ naudojama našumo bandymo scenarijams išbandyti. „NeoLoad“ pagalba galime rasti kliūties sritis žiniatinklyje ir mobiliųjų programėlių kūrimo procese.
NeoLoad testavimo įrankis yra greitesnis, palyginti su tradiciniais įrankiais.
Be jų, yra ir kitų įrankių Elektrinė apkrova, žiniatinklio streso įrankis, „LoadUI Pro“, „StressStimulus“, „LoadView“, „LoadNinja“ ir „RedLine13“, kuri padeda patikrinti programinės įrangos ar programos veikimą.