Programinės įrangos kūrimo procese reikia atlikti išsamius nuolatinius bandymus, visų pirma judrius bandymus, kad būtų užtikrintas veiksmingas ir nuspėjamas veikimas. Tačiau judrus testavimas turi apribojimų, susijusių su galutinio vartotojo patirtimi kelių vartotojų sistemoje. Kai programinės įrangos projektas baigiamas, įmonės turi atlikti kitokio tipo bandymus, vadinamuosius apkrovos bandymus, kad nustatytų, kaip programa veiks realiame pasaulyje, esant skirtingam darbo krūviui ir eismo lygiui.
Kas yra apkrovos testavimas?
Apkrovos testavimas yra programinės įrangos, svetainių, programų ir susijusių sistemų našumo testavimo pogrupis. Tai nefunkcinis testas, kuriuo imituojamas kelių vienu metu prie sistemos prisijungusių naudotojų elgesys. Apkrovos testavimas, dar vadinamas „apimties testavimu”, atkartoja žiniatinklio sistemos veikimą, stabilumą ir funkcionalumą gyvomis sąlygomis, todėl tai yra vienas iš paskutinių ir svarbiausių prieš diegimą atliekamų testavimo tipų.
Atliekant apkrovos testavimą nustatomi keli svarbiausi žiniatinklio sistemos aspektai, įskaitant šiuos:
- Bendras taikomosios programos veikimo pajėgumas, įskaitant vienu metu veikiančių naudotojų, kuriuos galima aptarnauti, skaičių.
- Programos gebėjimas reaguoti į didžiausias naudotojų apkrovas
- Programos infrastruktūros stabilumas
- Programos atsako laikas, pralaidumas ir išteklių poreikis esant skirtingiems naudotojų apkrovos lygiams.
Apkrovos testavimas yra labai svarbus procesas, atliekamas prieš paleidžiant bet kokią kliento / serverio interneto ir intraneto programą. Jis taikomas ir pradinei programinei įrangai, pavyzdžiui, svetainei, ir galinėms sistemoms, pavyzdžiui, svetainės prieglobos serveriams.
Kam reikalingas apkrovos testavimas?
Funkciniai testai atlieka svarbų vaidmenį kuriant programinę įrangą, tačiau jie turi trūkumų prognozuojant našumą esant įvairiems naudotojų įsitraukimo lygiams. Atliekant apkrovos testavimą nustatomos kritinės našumo problemos, kurių negalima nustatyti atliekant kitus testus, todėl įmonės gali išspręsti problemas prieš paleisdamos programinę įrangą arba įgyvendindamos atnaujinimus.
Įmonėms reikia atlikti apkrovos testavimą dėl trijų pagrindinių priežasčių:
- Įvertinti programinės įrangos funkcionalumą
- gauti pajamų, teikti paslaugas ir saugoti įmonės reputaciją.
- Užtikrinti malonią ir veiksmingą naudotojo patirtį
Apkrovos testavimas yra būtinas norint nustatyti kliūtis, įvertinti svetainės operacijų atsako laiką ir pagerinti būsimą našumą. Žinoma, visus šiuos tikslus galima pasiekti reaguojant į veikiančios svetainės elgseną, tačiau tik didelio vartotojų trikdymo sąskaita.
Atkreipkite dėmesį, kad nors apkrovos testavimo programinė įranga paprastai siejama su interneto programomis, ji taip pat naudojama aparatinei įrangai testuoti.
Apkrovos testavimo privalumai
Įmonėms, siūlančioms interneto ar intraneto programas, apkrovos testavimas duos didžiulę naudą. Keletas geriausių priežasčių, kodėl reikia atlikti apkrovos testavimą, yra šios:
1. Užkerta kelią prastovoms ir programų gedimams
Naudojant apkrovos bandymus galima optimizuoti sistemą įprastinės ir didžiausios apkrovos metu ir nustatyti galimą prastovą dėl netikėto streso.
Be to, žiniatinklio apkrovos testavimas padeda pasirengti augimo ar neįprastai didelio naudojimo laikotarpiams, pvz., elektroninės prekybos pardavimui ar naujo produkto paleidimui.
2. Stebėti veiklos standartus
Atliekant apkrovos bandymus gaunami našumo duomenys, kuriuos įmonės naudoja programų kodo ir infrastruktūros pakeitimams įvertinti.
Organizacija gali nustatyti veiklos tikslus analizuodama eismo srautus vidutiniu ir piko valandomis.
3. Išlaidų mažinimas
Tinklo prastova įmonei vidutiniškai kainuoja 5600 JAV dolerių per minutę (300 000 JAV dolerių per valandą). Be to, vartotojai, dažnai susiduriantys su neveikiančia programa, vis dažniau į ją nebegrįžta.
Apkrovos testavimo sąnaudos yra nuolat mažesnės nei galimos išlaidos dėl pernelyg ilgos prastovos, svetainės neprieinamumo ir didesnių nuostolių, susijusių su klientų nepasitenkinimu.
4. Didina efektyvumą
Atliekant apkrovos bandymus nustatomos sistemos kliūtys, kurias pašalinus sistema gali veikti maksimaliai efektyviai. Pašalinus kliūtis ne tik pagerėja darbo našumas, bet ir sistemos mastelio keitimo galimybės.
Efektyvūs ir greitai įkeliami puslapiai didina naudotojų pasitenkinimą ir gerina svetainės paieškos reitingą.
5. Paslaugų lygio susitarimo laikymasis
Apkrovos testavimas leidžia organizacijai išmatuoti našumo kokybę, duomenis, naudojamus SLA (paslaugų lygio susitarimams), kurie naudotojams užtikrina garantuotas bazines vertes, kurti. Duomenys taip pat padeda palyginti veiklos rezultatus su vidaus lyginamaisiais rodikliais ir konkurentų veiklos rezultatais.
6. Pajėgumų planavimas
Apkrovos testavimas suteikia informacijos, kuri yra labai svarbi planuojant pajėgumus. Jei testas teigiamai atsiliepia į programą, organizacija gali atitinkamai planuoti plėtrą ir piko laiką. Jei programa fiksuoja metrikas, kurios neatitinka priimtinų parametrų, t. y. jei apkrovos testas nepavyksta, duomenys vis tiek yra naudingi kaip testavimas nepalankiausiomis sąlygomis.
(Daugiau informacijos apie skirtumus tarp apkrovos testo ir testavimo nepalankiausiomis sąlygomis rasite toliau šiame vadove.)
Apkrovos testavimo iššūkiai ir apribojimai
Apkrovos testavimas duoda daug naudos, nes jis plačiai taikomas įvairiose pramonės šakose ir sistemose. Tačiau, kaip ir bet kurioje kitoje programoje, esama trūkumų ir sunkumų.
1 iššūkis: neapčiuopiamumas
Apkrovos testavimas nebūtinai yra labiausiai matomas įrankis, nes vienas iš pagrindinių jo privalumų – nustatyti galimas problemas prieš joms atsirandant realioje situacijoje. Daugelis finansinių ir kitų neigiamų pasekmių, susijusių su svetainės prastova ir taikomosios programos gedimu, paprasčiausiai niekada nepasireiškia.
Testavimo tipai, kuriuose daugiausia dėmesio skiriama scenarijams „kas būtų, jeigu būtų”, dažniausiai lieka nepastebėti. Nors apkrovos testavimas gali padėti atlikti analizę po naudotojo perkrovos, jis daug naudingesnis organizacijai kaip prevencinė priemonė.
2 iššūkis: sudėtingumas
Tiek atvirojo kodo, tiek vidinės apkrovos testavimo įrankiai gali turėti didelį techninį barjerą. Priklausomai nuo organizacijos dydžio ir sudėtingumo, jos gali neturėti darbuotojų ar išteklių, kuriuos galėtų skirti apkrovos testavimui.
Išimtis yra profesionali apkrovos testavimo platforma, pavyzdžiui, ZAPTEST apkrovos testavimas, kuri daugiausia dėmesio skiria aiškios, patogios vartotojui sąsajos kūrimui. ZAPTEST LOAD suteikia galimybę kurti įrašytus ir API pagrįstus scenarijus, atliekančius galutinio vartotojo verslo procesus ir matuojančius galutinius sandorius per visą sistemos apkrovą (SUL).
Apkrovos testavimo tipai
Yra keli skirtingi apkrovos testavimo tipai, todėl organizacijos gali pritaikyti testavimo strategiją, atsižvelgdamos į biudžetą, projekto sudėtingumą, darbuotojų technines žinias ir kitus veiksnius.
1. Rankinis apkrovos testavimas
Rankinis apkrovos testavimas – kai sistema vertinama nenaudojant automatizuotų apkrovos testavimo įrankių, t. y. imituojami naudotojai kuriami rankiniu būdu.
Rankiniu būdu atliekamas apkrovos testavimas teikia mažai naudos, jei apskritai teikia. Be logistinių sunkumų, bandymų rezultatai paprastai yra nepatikimi ir beveik neįmanoma jų pakartoti. Jei organizacija neturi konkretaus poreikio atlikti rankinį testavimą, jos pastangas geriau sutelkti į automatinį programinės įrangos testavimą.
2. Vidinės testavimo priemonės
Kadangi apkrovos testavimas yra nuolatinis procesas, ypač augimo laikotarpiu, daugelis organizacijų pasirenka kurti savo apkrovos testavimo automatizavimo įrankius.
Pasirinktiniai įrankiai nuo pat pradžių kuriami taip, kad veiktų su konkrečiomis organizacijos taikomosiomis programomis, todėl įrankį ir sistemą galima lengvai ir visiškai integruoti. Papildomi privalumai – trumpesnis diegimo laikas, mažesnė techninės priežiūros poreikis, mažesnės eksploatacijos klaidos, trumpesnis mokymų laikas ir kt.
Tačiau yra keletas trūkumų. Didėjant naudotojų bazei, vidinių įrankių gali būti nelengva išplėsti. Be to, kuriant pasirinktinius įrankius, reikia investuoti daug laiko ir pinigų, o per tą laiką organizacija turi naudoti kitus testavimo įrankius arba visai jų nenaudoti.
3. Atvirojo kodo testavimo įrankiai
Yra daug atvirojo kodo testavimo įrankių. Kadangi tai atvirojo kodo programos, jomis galima naudotis nemokamai, jose yra daug modifikavimo galimybių ir jas remia stipri bendruomenė.
Populiariausi atvirojo kodo testavimo įrankiai yra „Locust”, „k6” ir „JMeter”. Kiekviena jų leidžia imituoti didelio masto naudotojų apkrovas, įrašyti bandymų scenarijus, peržiūrėti našumo ataskaitas ir dar daugiau.
Nors dauguma atvirojo kodo įrankių „atliks savo darbą”, jie gali turėti trūkumų, ypač įmonių organizacijoms. Atvirojo kodo įrankiai dažnai yra sudėtingi, nes nėra patogūs naudoti komerciniuose apkrovos testavimo automatizavimo įrankiuose. Be to, parama paprastai teikiama tik vikipedijose, forumuose ir panašiose svetainėse, kurios yra ribotai naudingos ekstremaliose situacijose.
4. Įmonių klasės apkrovos testavimo automatizavimo įrankiai
Įmonių testavimo įrankiai turi įvairias funkcijas, kad atitiktų e. prekybos svetainių, paslaugų platformų ir visų tipų profesinių organizacijų poreikius.
Įmonių apkrovos testavimo paslaugų privalumai:
- Galimybė generuoti didžiulį naudotojų srautą
- Įrašymo ir atkūrimo įrenginys
- Galimybė palaikyti kelis protokolus
- Galimybė atkurti prarastus dokumentus
- Bandymų dokumentacijos įvedimas 1 spustelėjimu
Populiariausios įmonių apkrovos testavimo įmonės yra ZAPTEST ir jų technologijų pramonės partneris „Gartner”. (Tie, kurie yra susipažinę su automatizavimo pramone, taip pat gali atpažinti ZAPTEST iš jų pripažintų darbų robotizuotų procesų automatizavimo srityje.) Be to, ZAPTEST NEMOKAMOJE versijoje siūloma nemokama LOAD funkcija, leidžianti naudotojams atlikti našumo testavimą naudojant naujausias funkcijas ir giluminę analizę.
Įmonių lygmens apkrovos testavimo automatizavimo įrankiai siūlo patikimus, palaikomus sprendimus, kuriems nereikia tiek daug techninių žinių, kiek atvirojo kodo įrankiams. Dauguma įmonių apkrovos testavimo paslaugų veikia pagal prenumeratos modelį.
Ką turėtume patikrinti atlikdami apkrovos testavimą?
Automatinės apkrovos testavimo priemonės generuoja duomenis, kurie padeda tiksliai atsakyti į keletą svarbių klausimų:
- Kiek naudotojų turi programa (svetainė, sistema ir pan.) įprastomis valandomis? Piko valandomis?
- Kokiems taikomosios programos elementams turi įtakos koks naudotojų skaičius?
- Dėl kokio naudotojų skaičiaus svetainė bus išjungta?
- Kada sistemoje baigsis ištekliai?
- Kaip greitai įkeliama svetainė?
Atlikdama nefunkcinį modeliavimą, organizacija gauna duomenų apie greitį, patikimumą ir gebėjimą mastelizuoti. Išbandžius atskirus pirmiau minėtus aspektus, galima susidaryti išsamesnį vaizdą, kuriame lengviau nustatyti kliūtis.
1. Baziniai rezultatai
Įmonės gali naudoti apkrovos testavimą, kad patikrintų bazinį programos našumą. Testo metu nuolat didėjant naudotojų skaičiui, sukurtuose duomenyse rodomas bazinis vidutinis ryšio greitis, failų atsisiuntimo laikas ir vėlinimas.
2. Lyginamasis našumas
Atliekant svetainės apkrovos testą taip pat surenkami lyginamieji našumo duomenys. Nors sąvokos „atskaitos taškas” ir „etalonas” dažnai vartojamos pakaitomis, jos iš esmės skiriasi. Atliekant lyginamąjį testavimą našumas vertinamas pagal konkuruojančių svetainių arba vidaus reikalavimus (pvz., galutinio vartotojo SLA).
Apkrovos testavimo metrikos / tikslai
Atskiros organizacijos sukurs testavimo rodiklius, atsižvelgdamos į savo unikalius poreikius. Vienas iš svarbių įmonės lygmens automatinio apkrovos testavimo įrankių privalumų yra galimybė pritaikyti stebimus rodiklius.
Nepaisant to, dauguma organizacijų, atlikdamos automatinį apkrovos testavimą, stebi šiuos rodiklius:
1. Reagavimo laikas
Reakcijos laikas yra pagrindinis rodiklis, matuojamas atliekant automatinį apkrovos testavimą. Per kiek laiko sistema atsako į naudotojo išsiųstą užklausą? (Jei atsakymo laikas yra ilgesnis nei 10 sekundžių, naudotojas greičiausiai paliks svetainę.)
2. Našumas
Srautas – tai išsiųstų ir gautų duomenų kiekis. Atliekant apkrovos bandymus, paprastai jis išreiškiamas paspaudimais per sekundę (hps) arba transakcijomis per sekundę (tps).
3. Specifiniai aparatinės įrangos rodikliai
Lėtas atsako laikas gali reikšti aparatinės įrangos apribojimus, todėl atliekant apkrovos testavimą stebimas procesoriaus naudojimas, turima operatyvioji atmintis, disko įvesties/išvesties ir panašios aparatinės įrangos funkcijos.
4. Duomenų bazė
Daugeliui įmonės lygmens programų veikti reikia kelių sistemų, tačiau didėjant duomenų bazių skaičiui, didėja ir kliūčių atsiradimo galimybės. Apkrovos testavimo programinė įranga matuoja duomenų bazės duomenų nuskaitymą ir įrašymą bei atvirų duomenų bazės jungčių skaičių.
Tam tikros painiavos išaiškinimas
Daugelis programinės įrangos kokybės užtikrinimo praktikų sutampa ir persipina tarpusavyje. Net ir turintys profesinės patirties gali pasijusti sutrikę dėl šių programinės įrangos testavimo paslaugų tipų.
Našumo testavimas ir apkrovos testavimas
Našumo testavimas – tai bendras terminas, apimantis visas praktikas, naudojamas programinės įrangos sistemos stabilumui, reakcijai, išteklių poreikiams ir kitiems našumo rodikliams, ypač susijusiems su naudotojo patirtimi, įvertinti.
Apkrovos testavimas yra našumo testavimo pakategorė. Kiti paplitę tipai:
- Ištvermės testavimas – taip pat žinomas kaip „soak” testavimas, atliekant ištvermės testavimą matuojama ilgalaikė numatoma naudotojo apkrova. Atliekant atsparumo bandymus aptinkami atminties nutekėjimai ir ilgalaikis atsako laiko pablogėjimas.
- Spike testavimas – Spike testavimas imituoja staigų, drastišką naudotojų skaičiaus padidėjimą arba sumažėjimą.
- Izoliacijos testavimas – bandymas, po kurio kilo sistemos problema, kartojamas, kad būtų galima nustatyti priežastį.
Veiklos testai – tai nefunkciniai testai, kurie paprastai atliekami kūrimo ciklo pabaigoje arba užbaigus kūrimą.
Testavimas nepalankiausiomis sąlygomis ir apkrovos testavimas
Apkrovos ir testavimas nepalankiausiomis sąlygomis daugeliu atžvilgių yra panašūs. Pakartokime, kad svetainės apkrovos testas matuoja sistemos reakciją į numatomą duomenų srautą, pvz., įprastą arba didžiausią duomenų srautą. Atliekate apkrovos bandymus, kad įvertintumėte našumo pablogėjimą ir jo ryšį su naudotojo patirtimi istoriškai numatomų apkrovų metu. Trumpai tariant, apkrovos testavimas nėra skirtas sistemai sugadinti.
Testavimas nepalankiausiomis sąlygomis turi kitą tikslą. Atliekant testavimą nepalankiausiomis sąlygomis, naudotojų skaičius didėja, kol pablogėja našumas ir pasiekiamas visiškas gedimas. Atliekant testavimą nepalankiausiomis sąlygomis ne tik matuojamas sistemos lūžio taškas, bet ir tikrinama, kaip sistema automatiškai atsistatys.
Kūrėjai gali nuspręsti atlikti testavimą nepalankiausiomis sąlygomis, tačiau tai gali atsitikti ir netyčia atliekant aukštesnio lygio apkrovos testą. Atliekant abiejų tipų bandymus, apkrovos bandymų automatizavimo įrankiai išstumia sistemą iš turimų išteklių, todėl gaunama daug vertingų duomenų.
Funkcinis testavimas ir apkrovos testavimas
Funkcinis testavimas ir apkrovos testavimas yra našumo testavimo tipai, ir nors abu jie yra būtini, kiekvienas jų turi skirtingą paskirtį.
Funkciniu testavimu nustatoma, ar konkretus sistemos aspektas atitinka iš anksto nustatytus reikalavimus. Jis naudojamas daug dažniau nei apkrovos testavimas, su aiškiai apibrėžtais parametrais ir etapais. Apkrovos testavimas yra labiau nenuspėjamas, todėl rezultatai gali labai skirtis nuo lūkesčių.
Be to, apkrovos testavimas priklauso tik nuo naudotojo apkrovos, o funkcinis testavimas grindžiamas testavimo duomenimis.
Efektyvaus apkrovos bandymo charakteristikos
Nors įmonių apkrovos testavimas yra galingas įrankis, jei įmonės nori maksimaliai padidinti testo veiksmingumą, jos turėtų laikytis šios geriausios praktikos.
1. Naudoja realius scenarijus
Testavimo scenarijai turėtų būti kuo panašesni į realią naudotojų elgseną. Atidžiai apsvarstykite naudotojų elgseną. Kodėl jie naudoja jūsų programą? Kokiais prietaisais jie naudojasi, kad galėtų prie jos prisijungti?
Į svetainės apkrovos testą įtraukite nenuspėjamą elgesį, nes tikri naudotojai elgsis netikėtais būdais, kurių negalite numatyti.
2. Neprasideda nuo nulio
Daugelis testuotojų pradeda testą nuo nulinės apkrovos ir palaipsniui prideda imituojamus naudotojus. Nors šis metodas yra naudingas, nepamirškite išbandyti ir tada, kai sistema jau yra įprastai apkrauta. Taip išvengsite klaidingų teigiamų rezultatų ir gausite tikslesnius rezultatus, nes realiame pasaulyje jūsų sistema retai kada, o gal ir niekada, bus visiškai neapkrauta.
3. Naudoja realius duomenis
Kaip matyti iš šios ankstesnės praktikos, kuo kokybiškesni duomenys gaunami prieš bandymą, tuo naudingesni bandymų rezultatai. Pasinaudokite stebėsenos priemonėmis anksčiau gautais duomenimis, kad galėtumėte parengti realistiškus scenarijus.
Dvi naudingos duomenų kategorijos:
- Vartotojo duomenys: naudojami įrenginiai ir naršyklės, nueiti keliai ir nutrūkimo taškai.
- Sistemos duomenys: pirmojo pasimatymo laikas, DOM apkrova
4. Analizė ir pakartojimas
Po apkrovos testo jūsų komanda norės nustatyti kliūtis ir jas atitinkantį kodą. Iš bandymų rezultatų gautą informaciją paversti tobulintinais rodikliais ne visada paprasta, ypač naudojant atvirojo kodo programinę įrangą, nors įmonės apkrovos testavimo automatizavimo įrankiai šį procesą gali padaryti daug paprastesnį ir efektyvesnį.
Nors apkrovos testavimas yra gyvybiškai svarbus prieš paleidžiant produktą, tai nėra „vienas ir tas pats” sprendimas. Vietoj to apkrovos testavimas turėtų tapti organizacijos judrios ir automatizavimo praktikos dalimi.
Kas dalyvauja apkrovos testavimo procese?
Nors apkrovos bandymai atliekami kūrimo pabaigoje, juose turi dalyvauti daugybė skirtingų komandų, įskaitant komandas, kurios pradeda dirbti kur kas anksčiau produkto gyvavimo ciklo metu.
1. Plėtros inžinieriai
Inžinieriai naudos integruotas kūrimo aplinkas procesams išbandyti kūrimo metu, todėl bus gaunami duomenys, kurie padės nustatyti apkrovos testavimo parametrus prieš išleidžiant versiją.
2. Kiti bandytojai
Agile ir funkciniai testuotojai suteikia vertingų žinių apie konkrečius programos komponentus. Be to, „Agile” testų duomenys padeda nustatyti bazines metrikas, naudojamas atliekant apkrovos testus.
3. Galutiniai vartotojai / suinteresuotosios šalys
Jų tikslai lemia jų elgesį su programa. Supratimas apie jų motyvaciją sistemoje padeda parengti bandymų scenarijus.
Apkrovos testavimo procesas
Apkrovos testavimo procesas gali būti gana sudėtingas, ypač jei naudojama atvirojo kodo arba vidinė testavimo programinė įranga. Nors įmonės klasės programinė įranga labai supaprastina testavimą, supratimas apie pagrindinius apkrovos testavimo etapus padeda užtikrinti geriausius įmanomus rezultatus.
Nors apkrovos testavimo ypatumai skiriasi priklausomai nuo verslo modelio, techninės įrangos, naudotojų bazės ir kitų individualių veiksnių, dauguma testų atliekami pagal šią pagrindinę struktūrą:
1. Tikslų nustatymas
Aiškūs tikslai padeda pasiekti naudingesnių rezultatų. Nustatykite svarbiausias testuotinas taikomosios programos funkcijas.
2. Bazinio lygio nustatymas
Jei atlikote ankstesnius bandymus, naudokite duomenis, kad sukurtumėte būsimo bandymo našumo atskaitos tašką. Bet koks nukrypimas nuo bazinio lygio rodo tolesnį tyrimą.
3. Apkrovos testavimo aplinkos kūrimas
Bandymų aplinka turėtų kuo tiksliau atspindėti realaus pasaulio sąlygas, todėl turėsite išbandyti panašius kompiuterių profilius, tinklo architektūrą, ugniasienes, duomenų bazes ir kt.
4. Apkrovos scenarijų rengimas
Dažniausiai apkrovos scenarijus kuriamas derinant scenarijus su įrašyta naudotojo veikla. Kiekviename scenarijuje bus numatyti matavimai, operacijos ir patvirtinimo taškai.
5. Bandymų vykdymas
Kai nustatote pagrindines linijas, apkrovos scenarijus ir sukūrėte bandymų aplinką, bandymus galima pradėti vykdyti. Vienu metu galite paleisti kelis scenarijus, koreguodami naudotojų lygius, vietas, naršykles ir kitus veiksnius.
6. Patikrinimas po testo
Atlikus testavimą gaunama įspūdinga duomenų, įskaitant atsako laiką, apkrovos laiką, klaidas, serverio našumą ir kt., gausa. Dauguma duomenų analizės atvejų apima pakartotinį scenarijų paleidimą, siekiant susiaurinti problemą ir nustatyti pagrindinę problemą.
Sėkmingo duomenų interpretavimo pagrindas – iš anksto nustatyti aiškius tikslus ir analizės metu tvarkyti išsamią dokumentaciją.
Apkrovos bandymų pavyzdžiai
Apkrovos testavimas naudojamas daugelyje scenarijų, įskaitant situacijas, kurių daugelis įmonių nepastebi. Pavyzdžiai:
1. Interneto svetainės
Ilgesnį laiką atsisiunčiant didelius failus išbandomos žiniatinklio programos galimybės.
2. Serveris
Serverių apkrovos testai atliekami vienu metu paleidžiant kelis programos egzempliorius arba daug skirtingų programų.
3. Kietieji diskai
Pakartotinai skaitant ir rašant duomenis bus išbandytos sistemos kietųjų diskų ribos.
4. Pašto serveris
Pašto serverių apkrova tikrinama imituojant naudotojų veiklą. Dauguma pašto serverio apkrovos testų imituoja bent 1 000 naudotojų.
5. Taikomųjų programų sąsaja
API apkrovos testavimas atliekamas operacinėms sistemoms, programinės įrangos bibliotekoms, programavimo kalboms, aparatinei įrangai ir kt.
6. Spausdintuvas
Atliekant spausdintuvo apkrovos bandymus į spausdintuvo eilę siunčiamas vis didesnis užduočių skaičius. Tai retai kada fizinis testas, kuriam reikia aparatinės įrangos veikimo.
Įkrovos bandymų atvejai
Apkrovos testavimas naudingas visų tipų ir dydžių organizacijoms. Kai kurie realūs atvejai, susiję su apkrovos testavimu:
1. Reklaminiai renginiai
Didelė e. prekybos svetainė nori įvertinti savo svetainės pajėgumus per didelį išpardavimą, pvz., juodojo penktadienio išpardavimą. Kitas pavyzdys – žaislų bendrovė, kuri ketina išplėsti savo svetainę ir pasiūlyti naują, labai laukiamą žaislą.
2. Viešieji interneto portalai
Testavimas padeda paruošti didelius portalus dideliems naudojimo pokyčiams, pavyzdžiui, kai mokesčių inspekcijos portale mokesčių sezono metu padidėja lankytojų srautas. Panašus pavyzdys galėtų būti interneto portalų apkrovos testavimas, siekiant padėti koledžui pasirengti internetinei registracijai semestro pradžioje.
3. Serverio testavimas
Išbandydama serverį dideliu duomenų srautu, įmonė gali nustatyti, ar jos infrastruktūra yra pakankama būsimai plėtrai. Serverio testavimas taip pat yra svarbi gerai veikiančios svetainės priežiūros dalis.
4. Failų perdavimo bandymas
Atliekant apkrovos bandymus galima išmatuoti failų perkėlimo į kietąjį diską ir iš jo greitį, pvz., tarp nešiojamojo kompiuterio ir stalinio kompiuterio arba tarp nešiojamojo kompiuterio ir stalinio kompiuterio. Be kita ko, ji gali padėti organizacijoms nustatyti, kokią techninę įrangą įsigyti darbuotojams.
Kaip parašyti apkrovos testavimo atvejį
Išmokti atlikti apkrovos testavimą gali būti sudėtinga net ir patyrusiems programinės įrangos specialistams, tačiau tai kur kas paprasčiau, nei daugelis mano.
Pirmasis apkrovos testavimo atvejo kūrimo etapas – tai rekomendacinio dokumento sukūrimas. Apkrovos testavimo planas neturi būti sudėtingas, gali būti naudingas net punktų sąrašas, tačiau jame turėtų būti nurodytos esminės testo sudedamosios dalys nuo pradžios iki pabaigos.
Užtikrinkite, kad į apkrovos testavimo planą būtų įtraukti šie elementai:
1. Tikslai ir reikalavimai
Kodėl atliekate šį testą? Kokius konkrečius rodiklius bandote ir kokie rezultatai nulems, kokio tipo atsakas bus susijęs su gamyba?
2. Ribos
Apibūdinkite sistemos arba naršyklės apkrovos testavimo apimtį. Ar atliekate komponentų bandymą, ar kompleksinį bandymą? Kokias eismo apkrovas testuojate (didžiausias, įprastas ar kitas)?
Bandymo metu taikymo sritis gali keistis, ypač jei susidursite su netikėtu įvykiu. Tačiau iš pradžių vis tiek norite nustatyti aiškias testavimo ribas.
3. Darbo krūvis
Turėsite išsamiai aprašyti savo apkrovos profilį, kurį sudaro:
- Pagrindiniai sandoriai
- Apkrovos pasiskirstymas pagal operaciją
- Sandorio sudarymo laikas
Apkrovos profilio / apkrovos modelio kūrimas yra bene svarbiausias apkrovos testavimo elementas, nes nuo jo priklauso, kaip tiksliai jūsų testas atspindi sistemos elgesį veikiant realiems naudotojams. Nepamirškite atlikti naršyklės apkrovos testavimo, nes nežinote, kokią naršyklę naudos lankytojai.
4. Serverio būklė
Aprašykite serverių stebėjimo planą bandymo metu. Turėsite stebėti abu taikomųjų programų serverius ir serverius, naudojamus apkrovos bandymams atlikti (nors pastarieji paprastai nėra didelė problema, kai naudojamos įmonių apkrovos testavimo priemonės).
5. Bandymo scenarijus
Galiausiai norėsite aprašyti savo bandymų scenarijų, kuris yra bendras planas, kaip įgyvendinti keletą bandymų atvejų.
6. Apkrovos testavimo atvejų pavyzdžiai
Kai kurie bendri įmonių lygmeniu naudojamų atvejų pavyzdžiai:
- API apkrovos testavimas siekiant nustatyti, ar mokėjimai per trečiosios šalies sistemą apdorojami greičiau nei per dvi minutes.
- Naršyklės apkrovos bandymai, kuriais siekiama nustatyti, ar naudotojams, atsižvelgiant į jų naršyklę, pakrovimo greitis skiriasi daugiau nei 10 sekundžių.
- Naujos svetainės funkcijos funkcionalumo komponentų bandymas, kai ji naudojama didžiausio srauto metu.
Atkreipkite dėmesį, kad pirmiau pateiktuose scenarijuose aiškiai apibrėžti tikslai, ribos ir rodikliai.
Apkrovos testavimo įrankiai
Įmonių organizacijos kartais pačios kuria apkrovos testavimo įrankius, tačiau tai procesas, reikalaujantis laiko ir investicijų, todėl tai labiau ilgalaikė strategija. Kol kuriamos pasirinktinės priemonės, organizacija turi kreiptis į nemokamas arba įmonės automatizuotas apkrovos testavimo priemones.
Organizacijoms rekomenduojama atidžiai rinktis apkrovos testavimo įrankius, net jei planuoja juos naudoti tik laikinai. Neretai įmonės arba atvirojo kodo svetainių apkrovos testavimo įrankiai pateikia visus reikiamus sprendimus, todėl nereikia kurti vidinės versijos.
1. Nemokami apkrovos testavimo įrankiai
Daugelis organizacijų pirmiausia svarsto atvirojo kodo testavimo įrankius. Galimybių netrūksta, įskaitant šias:
- „JMeter” – „Java” programa, pagrįsta įmonės įrankiu „LoadRunner”.
- Taurus – Įrankis, leidžiantis rašyti savo apkrovos testus.
- k6 – apkrovos testavimo įrankis, skirtas patyrusiems programuotojams, kuriame daugiausia dėmesio skiriama back-end infrastruktūrai.
- SoapUI – SoapUI apkrovos teste naudojamas paprastas objektų prieigos protokolas. Taip pat galima įsigyti komercinę šios programos versiją.
- „Locust” – apkrovos testavimo įrankis, žinomas dėl savo santykinio patogumo naudotojui ir nedidelių išteklių poreikių.
- „ZAPTEST FREE Edition” siūlo nemokamą našumo testavimą per „LOAD Studio”, kur naudotojai gali naudoti įrašytus ir API pagrįstus scenarijus ir netgi susieti juos su funkciniu testavimu.
Nors atvirojo kodo testavimo įrankiai neturi tiesioginių piniginių išlaidų, jų pasirinkimas vis tiek yra svarbus įsipareigojimas bet kuriai įmonei, todėl svarbu suprasti ir privalumus, ir galimus trūkumus.
Nemokamų apkrovos testavimo įrankių privalumai
Nemokami apkrovos testavimo įrankiai turi keletą reikšmingų privalumų.
1. Mažos sąnaudos
Didžiausias atvirojo kodo programinės įrangos privalumas yra tas, kad ji yra nemokama. Įmonės, ypač naujesnės, turinčios ribotus išteklius, gali atlikti apkrovos bandymus neprisiimdamos finansinių įsipareigojimų.
2. Lankstumas
Bendruomenė dažnai peržiūri, atnaujina ir tobulina atvirojo kodo programinę įrangą. Jei turite specifinių testavimo poreikių, gali būti papildinių.
3. Greitesnis atnaujinimas
Atvirojo kodo programinė įranga paprastai tobulėja greičiau nei komercinė programinė įranga. Klaidų taisymai, saugumo atnaujinimai, naujos funkcijos ir kiti dalykai paprastai pasirodo greičiau ir stabiliau.
Nemokamų apkrovos testavimo įrankių apribojimai
Nors nemokami apkrovos testavimo įrankiai turi daug privalumų, įmonės turėtų atkreipti dėmesį į galimus trūkumus.
1. Paramos trūkumas
Jei naudodamas atvirojo kodo apkrovos testavimo programinę įrangą naudotojas susidurs su kokiomis nors problemomis, jis turės pats rasti atsakymą naudodamasis bendruomenės šaltiniais, pvz., forumais ir vikiais. Skirtingai nei įmonių programinė įranga, nemokamose priemonėse nėra specialios palaikymo komandos, kuriai būtų galima skambinti arba rašyti el. laišką.
2. Sudėtingumas
Naudotojui patogus veikimas ne visada yra prioritetas naudojant atvirojo kodo apkrovos testavimo programinę įrangą. Daugelyje programų daroma prielaida, kad naudotojas turi gana sudėtingų kūrimo žinių. Išmokti atlikti apkrovos testavimą naudojant atvirojo kodo programinę įrangą paprastai yra sudėtinga.
3. Vartotojo apkrovos apribojimai
Atvirojo kodo testavimo programinė įranga dažnai susiduria su atminties ir procesoriaus problemomis, kai atliekami didelės talpos apkrovos testai. Įmonių lygio įmonės gali pastebėti, kad nemokamas apkrovos testavimas paprasčiausiai nėra pakankamai galingas jų poreikiams.
Įmonių apkrovos testavimo įrankiai
Įmonių testavimo įrankiai yra mokami produktai, skirti didelių ir sudėtingų organizacijų poreikiams. Dažnai jos yra prenumeruojamos, o kainos priklauso nuo imituojamų naudotojų skaičiaus ir kitų bandymų ypatumų.
Galima rinktis iš daugelio įmonių apkrovos testavimo įmonių, tačiau pirmaujanti įmonė yra ZAPTEST, pramonės lyderė hiperautomatizavimo srityje, ZAPTEST yra žinoma kaip viena geriausių apkrovos testavimo priemonių dėl patogios naudoti programinės įrangos ir neribotos pagalbos prieigos.
Įmonių apkrovos testavimo bendrovių siūloma kokybė ir funkcijos gali labai skirtis, todėl organizacijos raginamos atidžiai apsvarstyti kiekvieną paslaugų teikėją, prieš užsisakydamos paslaugą.
Įmonių testavimo įrankių privalumai
Nors konkrečios funkcijos ir naudojimo paprastumas priklauso nuo konkretaus produkto, geriausi apkrovos testavimo įrankiai turi šiuos privalumus.
1. Naudojimo paprastumas
Atvirojo kodo programinė įranga gali turėti painią vartotojo sąsają, sudėtingus procesus ir apskritai būti abejinga naudotojui. Tačiau įmonių įrankiuose pabrėžiamas intuityvus ir paprastas naudojimas.
2. Klientų aptarnavimas
Didelis įmonių testavimo privalumas – galimybė gauti kvalifikuotą pagalbą. Ekspertai, apmokyti ne tik apkrovos testavimo, bet ir jūsų turimo apkrovos testerio specifikos, yra pasirengę padėti išspręsti bet kokias problemas. Įmonių paslaugą teikiantys specialistai padės jums 24 valandas per parą, 7 dienas per savaitę.
3. Patikimumas
Įmonių testavimo įrankiai yra skirti įmonėms, vykdančioms didelės apimties veiklą, kai dėl bet kokios prastovos gali gerokai sumažėti pajamos ir klientų pasitenkinimas. Šios priemonės sukurtos taip, kad jomis būtų galima gauti tikslius ir veiksmingus duomenis, tinkamus ilgalaikiam planavimui ir sprendimų priėmimui.
Įmonių testavimo priemonių apribojimai
Nors įmonių testavimo įrankiai turi daug privalumų, palyginti su kitų tipų įrankiais, jie taip pat turi tam tikrų galimų apribojimų.
1. Išlaidos
Didžiausias trūkumas – kaina. Įmonių apkrovos testavimas vykdomas pagal prenumeratos modelį, o išlaidos priklauso nuo testo metu sukurtų virtualių naudotojų skaičiaus.
Galiausiai, šalinant kliūtis ir užkertant kelią programų prastovoms, apkrovos testavimas laikui bėgant tampa ekonomiškesniu pasirinkimu, tačiau organizacija vis tiek gali patirti nemažai pradinių išlaidų. Priešingai, nusistovėję apkrovos testavimo rinkiniai, tokie kaip ZAPTEST, siūlo vieną fiksuotą programinės įrangos ir paslaugų prenumeratą su neribotu naudojimu ir licencijomis… šis modelis sumažina nuolat augančias testavimo išlaidas, kai įmonės plečiasi.
2. Mokymosi kreivė
Nors įmonių įrankiai yra bene patogiausia naudotojui prieinama apkrovos testavimo galimybė, net ir geriausi apkrovos testavimo įrankiai turi bent šiek tiek mokymosi kreivę. Komandos nariams, geriausiai turintiems programavimo patirties, reikės skirti laiko mokytis, kaip maksimaliai išnaudoti įrankį. Vėlgi, pirmaujančios apkrovos testavimo priemonės, tokios kaip ZAPTEST, sušvelnina šį trūkumą, suteikdamos mažo kodo platformą, kuriai nereikia jokių kodavimo įgūdžių ir kuria gali naudotis dauguma organizacijos darbuotojų, o ne vien tik programuotojai.
Kada turėtumėte naudoti įmonės, o kada – nemokamus apkrovos testavimo įrankius?
Daugelyje organizacijų yra nemokamų apkrovos testavimo įrankių. Jie yra ekonomiškiausias variantas, todėl yra populiarūs tarp pradedančiųjų įmonių ir kitų ribotus išteklius turinčių įmonių.
Nemokami įrankiai taip pat yra veiksmingas būdas tobulinti asmens įgūdžius. Pavyzdžiui, testuotojas gali atlikti SoapUI apkrovos testą ne tik norėdamas išbandyti sistemą, bet ir pagerinti savo supratimą apie atvirojo kodo įrankį.
Daugumai komercinių programų ir didelių organizacijų geriausi apkrovos testavimo įrankiai yra įmonės lygio produktai, tokie kaip ZAPTEST ir panašūs pramonės lyderiai. Jie užtikrina patikimumą, tikslumą ir saugumą, apsaugantį jūsų įmonę ir galutinius vartotojus. Be to, jomis daug lengviau naudotis nei nemokamomis priemonėmis, o jų funkcionalumas neprilygstamas.
Įkrovos testavimo kontrolinis sąrašas
Vienas iš svarbiausių sėkmingo apkrovos testavimo raktų yra organizavimas. Daugelis įmonių pastebi, kad testavimas pagal kontrolinį sąrašą padeda komandoms išlaikyti užduotį. Toliau pateiktas kontrolinis sąrašas tinka kaip pradinis taškas įmonių lygmens organizacijoms.
1. Žiniatinklio serveris
- Ar turite pakankamą pralaidumą, kad išvengtumėte kliūčių?
- Ar sistema gali apdoroti pakankamai operacijų per sekundę?
- Ar turite pakankamai žiniatinklio serverių, kad galėtumėte valdyti užimtas ir neveikiančias grėsmes?
2. Šeimininkas
- Ar tinklo sąsajos turi procesoriaus, atminties ar disko vietos problemų?
- Kokie procesai vykdomi prieglobstyje?
3. Programėlių serveris
- Kokio procesoriaus naudojimo reikia kiekvienam apkrovos lygiui?
- Ar sistema praleidžia atmintį esant skirtingiems apkrovos lygiams?
- Ar taikomųjų programų serveriai tinkamai paskirsto apkrovą?
Nors šį kontrolinį sąrašą turėsite pakeisti, kad jis atitiktų konkrečius jūsų organizacijos poreikius, šie pagrindiniai elementai padės užtikrinti, kad aprėpsite svarbiausius sistemos veikimo ir eksploatavimo aspektus.
Išvada
Apkrovos testavimas yra labai svarbus bet kurio programinės įrangos kūrimo projekto sėkmei. Norėdamos iš tikrųjų išnaudoti apkrovos testavimo automatizavimo įrankių galimybes, organizacijos turėtų užmegzti partnerystę su įmonės lygio apkrovos testavimo įmone, pavyzdžiui, ZAPTEST.
Apkrovos testavimo įrankiai leidžia jūsų organizacijai nustatyti galimus paslaugų sutrikimus ir kliūtis, todėl maksimaliai padidėja efektyvumas, sutrumpėja prastovų laikas, padidėja pajamos ir pagerėja naudotojų patirtis.