Programmatūras izstrādes procesā ir nepieciešama plaša pastāvīga testēšana, galvenokārt elastīga testēšana, lai nodrošinātu efektīvu un paredzamu veiktspēju. Tomēr elastīgai testēšanai ir ierobežojumi attiecībā uz galalietotāja pieredzi daudzlietotāju sistēmā. Kad programmatūras projekts tuvojas noslēgumam, uzņēmumiem jāpāriet uz cita veida testēšanu, kas pazīstama kā slodzes testēšana, lai noteiktu, kā lietojumprogramma darbosies reālajā pasaulē, izmantojot dažādus darba slodzes un datplūsmas līmeņus.
Kas ir slodzes testēšana?
Slodzes testēšana ir veiktspējas testēšanas apakšgrupa, ko izmanto programmatūrai, tīmekļa vietnēm, lietojumprogrammām un saistītām sistēmām. Tas ir nefunkcionāls tests, kas simulē vairāku lietotāju uzvedību, kuri vienlaicīgi piekļūst sistēmai. Slodzes testēšana, ko dēvē arī par “apjoma testēšanu”, atkārto tīmekļa sistēmas veiktspēju, stabilitāti un funkcionalitāti reālos apstākļos, tāpēc tā ir viens no pēdējiem un vissvarīgākajiem testēšanas veidiem, kas tiek veikts pirms izvietošanas.
Veicot slodzes testēšanu, tiek identificēti vairāki kritiski tīmekļa sistēmas aspekti, tostarp šādi:
- lietojumprogrammas kopējā darbības jauda, tostarp vienlaicīgi apkalpojamo lietotāju skaits.
- Lietojumprogrammas spēja reaģēt uz lietotāju maksimālo slodzi.
- lietojumprogrammas infrastruktūras stabilitāte
- Lietojumprogrammas reakcijas laiks, caurlaides ātrums un vajadzīgie resursi dažādos lietotāju noslodzes līmeņos.
Slodzes testēšana ir svarīgs process, ko izmanto pirms jebkuras klienta/servera interneta un intraneta lietojumprogrammas palaišanas. Tas attiecas gan uz front-end programmatūru, piemēram, tīmekļa vietni, gan back-end sistēmām, piemēram, vietnes mitināšanas serveriem.
Kāpēc mums ir nepieciešama slodzes testēšana?
Funkcionālajiem testiem ir svarīga loma programmatūras izstrādē, taču tiem ir ierobežojumi attiecībā uz veiktspējas prognozēšanu, ja lietotājs ir iesaistīts dažādos līmeņos. Veicot slodzes testēšanu, tiek identificētas kritiskas veiktspējas problēmas, ko nevar konstatēt ar citiem testiem, tādējādi ļaujot uzņēmumiem novērst problēmas pirms programmatūras palaišanas vai atjauninājumu ieviešanas.
Uzņēmumiem ir jāveic slodzes testēšana trīs galveno iemeslu dēļ:
- Programmatūras funkcionalitātes novērtēšana
- Lai gūtu ienākumus, sniegtu pakalpojumus un aizsargātu uzņēmuma reputāciju.
- Lai nodrošinātu patīkamu un efektīvu lietošanas pieredzi
Slodzes testēšana ir nepieciešama, lai noteiktu vājās vietas, novērtētu vietnes darbību reakcijas laiku un uzlabotu turpmāko veiktspēju. Protams, visus šos mērķus var sasniegt, reaģējot uz dzīvotspējīgas vietnes uzvedību, taču tikai uz patērētāju intensīvu traucējumu rēķina.
Ņemiet vērā, ka, lai gan slodzes testēšanas programmatūru parasti saista ar interneta lietojumprogrammām, to izmanto arī aparatūras testēšanai.
Slodzes testēšanas priekšrocības
Uzņēmumi, kas piedāvā interneta vai intraneta lietojumprogrammas, gūs milzīgu labumu no slodzes testēšanas. Daži no labākajiem iemesliem veikt slodzes testēšanu ir šādi:
1. Novērš dīkstāves un lietojumprogrammu kļūmes
Slodzes testēšana palīdz optimizēt sistēmu normālai un maksimālai slodzei un noteikt iespējamās dīkstāves neparedzētas slodzes dēļ.
Turklāt tīmekļa slodzes testēšana palīdz sagatavoties izaugsmes periodiem vai neparasti augstam lietošanas apjomam, piemēram, e-komercijas pārdošanai vai jauna produkta laišanai tirgū.
2. Darbības standartu uzraudzība
Slodzes testēšana nodrošina veiktspējas datus, ko uzņēmumi izmanto, lai novērtētu lietojumprogrammas kodu un infrastruktūras izmaiņas.
Organizācija var izstrādāt veiktspējas mērķus, analizējot satiksmi gan vidējās, gan maksimālās noslodzes stundās.
3. Izmaksu samazināšana
Tīkla dīkstāve uzņēmumam izmaksā vidēji 5600 USD minūtē (300 000 USD stundā). Turklāt lietotāji, kuri bieži saskaras ar nefunkcionējošu lietojumprogrammu, visticamāk, nekad vairs neatgriezīsies.
Slodzes testēšanas izmaksas vienmēr ir zemākas nekā iespējamie izdevumi, kas saistīti ar pārmērīgu dīkstāvi, vietnes nepieejamību un plašākiem zaudējumiem, kas saistīti ar klientu neapmierinātību.
4. Palielina efektivitāti
Veicot slodzes testēšanu, tiek identificētas sistēmas vājās vietas, kuras novēršot, sistēma var darboties maksimāli efektīvi. Šaurās vietas novēršana ne tikai nodrošina labāku darbības veiktspēju, bet arī uzlabo sistēmas mērogojamību.
Efektīvas un ātri ielādējamas lapas palielina lietotāju apmierinātību un uzlabo vietnes meklēšanas reitingu.
5. Pakalpojumu līmeņa līguma atbilstība
Slodzes testēšana ļauj organizācijai izmērīt veiktspējas kvalitāti, datus, ko izmanto, lai izstrādātu SLA (Service Level Agreements), kas nodrošina lietotājiem garantētus bāzes rādītājus. Dati ir noderīgi arī, lai salīdzinātu sniegumu ar iekšējiem standartiem un konkurentu sniegumu.
6. Jaudas plānošana
Slodzes testēšana sniedz informāciju, kas ir būtiska jaudas plānošanai. Ja lietojumprogrammas reakcija uz testu ir pozitīva, organizācija var attiecīgi plānot paplašināšanu un pīķa laikus. Ja lietojumprogramma reģistrē rādītājus ārpus pieņemtajiem parametriem – ja tā “neiztur” slodzes testu – dati joprojām ir noderīgi kā stresa tests.
(Vairāk par atšķirībām starp slodzes testu un stresa testu atradīsiet tālāk šajā rokasgrāmatā.)
Slodzes testēšanas izaicinājumi un ierobežojumi
Slodzes testēšana sniedz ievērojamas priekšrocības, ko apliecina tās plašā izplatība dažādās nozarēs un sistēmās. Tomēr, tāpat kā jebkurā lietojumprogrammā, arī šajā gadījumā pastāv trūkumi un problēmas.
1. izaicinājums: neaptveramība
Slodzes testēšana ne vienmēr ir visredzamākais rīks, jo viena no tās galvenajām priekšrocībām ir identificēt iespējamās problēmas, pirms tās rodas reālajā darbībā. Daudzas finansiālās un citas negatīvās sekas, kas saistītas ar vietnes dīkstāvēm un lietojumprogrammu kļūmēm, vienkārši nekad nerodas.
Testēšanas veidi, kas koncentrējas uz “kas, ja” scenārijiem, mēdz palikt nepamanīti. Lai gan slodzes testēšana var palīdzēt veikt analīzi pēc lietotāju pārslodzes, tā ir daudz noderīgāka organizācijai kā preventīvs rīks.
2. izaicinājums: sarežģītība
Gan atvērtā koda, gan iekšējiem slodzes testēšanas rīkiem var būt augsta piekļuves barjera tehniskajā līmenī. Atkarībā no organizācijas lieluma un sarežģītības tām var nebūt darbinieku vai resursu, ko veltīt slodzes testēšanai.
Izņēmums šajā jautājumā ir profesionāla slodzes testēšanas platforma, piemēram, ZAPTEST slodzes testēšana, kas koncentrējas uz skaidras, lietotājam draudzīgas saskarnes nodrošināšanu. ZAPTEST LOAD piedāvā iespēju izveidot ierakstītus un uz API balstītus skriptus, kas izpilda galalietotāja biznesa procesus un mēra starpposma darījumus visā sistēmas slodzes režīmā (SUL).
Slodzes testēšanas veidi
Ir pieejami vairāki dažādi slodzes testēšanas veidi, kas ļauj organizācijām pielāgot testēšanas stratēģiju, pamatojoties uz budžetu, projekta sarežģītību, darbinieku tehniskajām zināšanām un citiem faktoriem.
1. Manuālā slodzes testēšana
Manuālā slodzes testēšana ir tad, kad sistēma tiek novērtēta bez automatizētiem slodzes testēšanas rīkiem, t. i., simulētie lietotāji tiek veidoti ar rokām.
Manuālā slodzes testēšana sniedz tikai dažas priekšrocības, ja vispār kādas. Papildus loģistikas grūtībām testēšanas rezultāti parasti ir neuzticami un gandrīz neiespējami atkārtot. Ja vien organizācijai nav īpašas vajadzības pēc manuālas testēšanas, tās centienus labāk koncentrēt uz automatizētu programmatūras testēšanu.
2. Iekšējie testēšanas rīki
Tā kā slodzes testēšana ir nepārtraukts process, jo īpaši izaugsmes laikā, daudzas organizācijas izvēlas izveidot savus slodzes testēšanas automatizācijas rīkus.
Pielāgotie rīki ir izstrādāti no pašiem pamatiem, lai tie darbotos ar konkrētām organizācijas lietojumprogrammām, nodrošinot vieglu un pilnīgu rīka un sistēmas integrāciju. Papildu priekšrocības ir arī mazāks iestatīšanas laiks, mazāka nepieciešamā apkope, ekspluatācijas kļūdas, apmācības laiks un citas priekšrocības.
Tomēr ir daži trūkumi. Iekšējie rīki var nebūt viegli mērogojami, ja lietotāju bāze pieaug. Turklāt pielāgotu rīku izstrāde prasa sākotnējus laika un naudas ieguldījumus, kuru laikā organizācijai ir jāizmanto citi testēšanas rīki vai arī tie nav jāizmanto vispār.
3. Atvērtā koda testēšanas rīki
Pastāv daudzi atvērtā koda testēšanas rīki. Tā kā tās ir atvērtās programmas, tās var izmantot bez maksas, tām ir plašas modificēšanas iespējas un spēcīgs kopienas atbalsts.
Populāri atvērtā koda testēšanas rīki ir Locust, k6 un JMeter. Katrs no tiem ļauj simulēt liela mēroga lietotāju slodzes, ierakstīt testēšanas skriptus, skatīt veiktspējas pārskatus un daudz ko citu.
Lai gan lielākā daļa atvērtā koda rīku “paveiks darbu”, tiem var būt trūkumi, jo īpaši uzņēmumu organizācijām. Atvērtā koda rīki bieži vien ir sarežģīti, un tiem trūkst lietotājam draudzīguma, kas raksturīgs komerciālajiem slodzes testu automatizācijas rīkiem. Turklāt atbalsts parasti tiek sniegts tikai wiki, forumos un tamlīdzīgās vietnēs, kuras ārkārtas situācijās ir ierobežoti izmantojamas.
4. Uzņēmuma klases slodzes testēšanas automatizācijas rīki
Uzņēmumu testēšanas rīki nodrošina dažādas funkcijas, kas atbilst e-komercijas vietņu, pakalpojumu platformu un visu veidu profesionālo organizāciju vajadzībām.
Uzņēmumu slodzes testēšanas pakalpojumu izmantošanas priekšrocības ir šādas:
- Spēja ģenerēt milzīgu lietotāju datplūsmu
- Uzņemšanas/atskaņošanas iespēja
- Iespēja atbalstīt vairākus protokolus
- Iespēja atgūt zaudētos dokumentus
- Testa dokumentācijas ievadīšana ar 1 klikšķi
Populāri uzņēmumu slodzes testēšanas uzņēmumi ir ZAPTEST un to tehnoloģiju nozares partneris Gartner. (Automatizācijas nozares pazinēji varētu pazīt ZAPTEST arī no viņu slavenā darba robotizētās procesu automatizācijas jomā.) Turklāt ZAPTEST BEZMAKSAS izdevums piedāvā bezmaksas LOAD funkcionalitāti, kas ļauj lietotājiem veikt veiktspējas testēšanu, izmantojot jaunākās funkcijas un padziļinātu analīzi.
Uzņēmumu līmeņa slodzes testēšanas automatizācijas rīki piedāvā uzticamus, atbalsta nodrošinātus risinājumus, kuriem nav nepieciešamas tik plašas tehniskās zināšanas kā atvērtā koda rīkiem. Lielākā daļa uzņēmumu slodzes testēšanas pakalpojumu darbojas saskaņā ar abonēšanas modeli.
Ko mums vajadzētu pārbaudīt, izmantojot slodzes testēšanu?
Automatizēti slodzes testēšanas rīki ģenerē datus, ko izmanto, lai precīzi atbildētu uz vairākiem būtiskiem jautājumiem:
- Cik lietotāju ir lietojumprogrammai (tīmekļa vietnei, sistēmai utt.) parastajā darba laikā? Pīķa stundās?
- Kādus lietojumprogrammas elementus ietekmē lietotāju skaits?
- Kāda lietotāju skaita dēļ tīmekļa vietne pāries bezsaistē?
- Kad sistēmā beigsies resursi?
- Cik ātri ielādējas vietne?
Veicot nefunkcionālas simulācijas, organizācija iegūst datus par ātrumu, uzticamību un mērogojamību. Iepriekš minēto atsevišķu aspektu testēšana ļauj iegūt visaptverošāku priekšstatu, kurā ir vieglāk identificēt vājās vietas.
1. Bāzes darbības rādītāji
Uzņēmumi var izmantot slodzes testēšanu, lai pārbaudītu lietojumprogrammas bāzes veiktspēju. Tā kā testa laikā lietotāju skaits nepārtraukti palielinās, izveidotie dati parāda bāzes veiktspēju attiecībā uz vidējo savienojuma ātrumu, failu lejupielādes laiku un latentumu.
2. Salīdzinošais sniegums
Veicot tīmekļa vietnes slodzes testu, tiek iegūti arī etalona veiktspējas dati. Lai gan jēdzienus “bāzes līnija” un “etalons” bieži lieto savstarpēji aizvietojami, tiem ir būtiskas atšķirības. Veicot salīdzinošo testēšanu, veiktspēja tiek mērīta, salīdzinot ar konkurējošām vietnēm vai iekšējām prasībām (piemēram, galalietotāju SLA).
Slodzes testēšanas metrikas / mērķi
Atsevišķas organizācijas izstrādās testēšanas rādītājus, pamatojoties uz savām unikālajām vajadzībām. Viena no uzņēmuma līmeņa automatizēto slodzes testēšanas rīku nozīmīgām priekšrocībām ir iespēja pielāgot izsekojamās metrikas.
Neatkarīgi no tā lielākā daļa organizāciju, veicot automātisko slodzes testēšanu, noteiks šādus rādītājus:
1. Reakcijas laiks
Reakcijas laiks ir galvenais rādītājs, ko mēra, veicot automātiskās slodzes testēšanu. Cik ilgā laikā pēc tam, kad lietotājs ir nosūtījis pieprasījumu, sistēma sniedz atbildi? (Ja atbildes laiks ir ilgāks par 10 sekundēm, lietotājs, visticamāk, atstās vietni.)
2. Caurlaidspēja
Caurlaidība ir nosūtīto un saņemto datu apjoms. Slodzes testēšanā to parasti izsaka kā hps (hits per second) vai tps (transactions per second).
3. Ar aparatūru saistīti rādītāji
Lēns reakcijas laiks var liecināt par aparatūras ierobežojumiem, tāpēc daļa no slodzes testēšanas procesa ietver CPU izmantošanas, pieejamās RAM, diska I/O un līdzīgu aparatūras funkciju uzraudzību.
4. Datu bāze
Lielākajai daļai uzņēmuma līmeņa lietojumprogrammu darbībai ir nepieciešamas vairākas sistēmas, taču, palielinoties datubāzu skaitam, palielinās arī sastrēgumu iespējas. Slodzes testēšanas programmatūra mēra datubāzes nolasījumus un ierakstus, kā arī atvērto datubāzes savienojumu skaitu.
Dažu neskaidrību noskaidrošana
Daudzas programmatūras kvalitātes nodrošināšanas prakses pārklājas un savstarpēji pārklājas. Pat tie, kam ir profesionāla pieredze, var justies apjukuši par šādiem programmatūras testēšanas pakalpojumu veidiem.
Veiktspējas testēšana pret slodzes testēšanu
Veiktspējas testēšana ir termins, kas aptver visas prakses, ko izmanto, lai novērtētu programmatūras sistēmas stabilitāti, reaģēšanas spēju, vajadzīgos resursus un citus veiktspējas rādītājus, jo īpaši saistībā ar lietotāja pieredzi.
Slodzes testēšana ir veiktspējas testēšanas apakškategorija. Citi izplatītākie veidi ir:
- Izturības testēšana – testēšana, kas pazīstama arī kā testēšana, mēra ilgstošu, paredzamo lietotāja slodzi. Izturības testēšana atklāj atmiņas noplūdes un ilgstošu reakcijas laika pasliktināšanos.
- Spaika testēšana – Spaika testēšana imitē pēkšņu, krasu lietotāju skaita pieaugumu vai samazināšanos.
- Izolācijas testēšana – tiek atkārtots tests, kura rezultātā radusies sistēmas problēma, lai palīdzētu izolēt tās cēloni.
Veiktspējas testi ir nefunkcionāli testi, ko parasti veic izstrādes cikla beigās vai pēc izstrādes pabeigšanas.
Stresa testēšana pret slodzes testēšanu
Slodzes un stresa testēšana daudzējādā ziņā ir līdzīgas. Atkārtojam, ka tīmekļa vietnes slodzes testā tiek mērīta sistēmas reakcija uz paredzamo datplūsmas apjomu, piemēram, parasto vai maksimālo datplūsmu. Veicat slodzes testēšanu, lai novērtētu veiktspējas pasliktināšanos un tās saistību ar lietotāja pieredzi vēsturiski paredzamo slodžu laikā. Īsāk sakot, slodzes testēšana nav paredzēta sistēmas bojāšanai.
Stresa testēšanai ir cits mērķis. Stresa testa laikā lietotāju skaits palielinās, kad veiktspējas pasliktināšanās vairs nav iespējama līdz pat pilnīgai atteicei. Stresa tests ne tikai mēra sistēmas “lūzuma punktu”, bet arī pārbauda, kāda veida automātisku atjaunošanos sistēma spēs veikt.
Izstrādātāji var iestatīt stresa testu, taču tas var notikt arī nejauši, veicot augstākā līmeņa slodzes testu. Abos testēšanas veidos slodzes testēšanas automatizācijas rīki izspiež sistēmu ārpus pieejamajiem resursiem, sniedzot daudz vērtīgu datu.
Funkcionālā testēšana pret slodzes testēšanu
Funkcionālā testēšana un slodzes testēšana ir veiktspējas testēšanas veidi, un, lai gan abi ir nepieciešami, katram no tiem ir atšķirīgs mērķis.
Funkcionālā testēšana nosaka, vai konkrēts sistēmas aspekts atbilst iepriekš noteiktām prasībām. To izmanto daudz biežāk nekā slodzes testēšanu ar skaidri definētiem parametriem un soļiem. Slodzes testēšana ir neparedzamāka, un rezultāti var krasi atšķirties no gaidītajiem.
Turklāt slodzes testēšana ir pilnībā atkarīga no lietotāja slodzes, savukārt funkcionālā testēšana ir balstīta uz testa datiem.
Efektīvas slodzes testa raksturlielumi
Lai gan uzņēmuma slodzes testēšana ir spēcīgs rīks, ja uzņēmumi vēlas maksimāli palielināt testa efektivitāti, tiem jāievēro šī labākā prakse.
1. Izmanto reālistiskus scenārijus
Testēšanas scenārijiem pēc iespējas precīzāk jāatbilst reālajai lietotāju uzvedībai. Rūpīgi apsveriet lietotāja uzvedību. Kāpēc viņi izmanto jūsu lietojumprogrammu? Kāda veida ierīces viņi izmanto, lai tam piekļūtu?
Tīmekļa vietnes slodzes testā iekļaujiet neparedzētu uzvedību, jo reālie lietotāji rīkosies neparedzēti, un jūs to nevarat paredzēt.
2. Nesākas no nulles
Daudzi testētāji sāk testu ar nulles slodzi un pakāpeniski pievieno simulētus lietotājus. Lai gan šai metodei ir zināma vērtība, neaizmirstiet pārbaudīt arī tad, kad sistēma jau ir normāli noslogota. Tas palīdz izvairīties no viltus pozitīviem rezultātiem un ļauj iegūt precīzākus rezultātus, jo reālajā pasaulē jūsu sistēmai reti vai pat nekad nebūs nulles slodzes.
3. Izmanto reālus datus
Kā redzams no iepriekš minētās prakses, jo kvalitatīvāki dati iegūti pirms testēšanas, jo noderīgāki ir testēšanas rezultāti. Lai palīdzētu izstrādāt reālus scenārijus, izmantojiet uzraudzības rīku iepriekš iegūtos datus.
Divas noderīgas datu kategorijas, kas jāņem vērā:
- Lietotāja dati: izmantotās ierīces un pārlūkprogrammas, veiktie ceļi un izkrišanas punkti.
- Sistēmas dati: pirmais pa laikam, DOM slodze
4. Analīze un atkārtošana
Pēc slodzes testa jūsu komanda vēlēsies identificēt vājās vietas un tām atbilstošo kodu. No testu rezultātiem iegūtās informācijas pārvēršana uzlabojamos rādītājos ne vienmēr ir vienkārša, jo īpaši ar atvērtā koda programmatūru, lai gan uzņēmumu slodzes testēšanas automatizācijas rīki var padarīt šo procesu daudz vienkāršāku un efektīvāku.
Lai gan slodzes testēšana ir ļoti svarīga pirms produkta palaišanas, tas nav “viens un tas pats” risinājums. Tā vietā slodzes testēšanai ir jākļūst par daļu no organizācijas elastīgās un automatizācijas prakses.
Kas ir iesaistīts slodzes testēšanas procesā?
Lai gan slodzes testēšana notiek izstrādes beigās, tajā ir jāiesaistās daudzām dažādām komandām, tostarp komandām, kas sāk darbu daudz agrāk produkta dzīves ciklā.
1. Attīstības inženieri
Inženieri izmantos integrētās izstrādes vides, lai testētu procesus izstrādes laikā, iegūstot datus, kas palīdz noteikt slodzes testēšanas parametrus pirms izlaišanas.
2. Citi testētāji
Agile un funkcionālie testētāji sniedz vērtīgu ieskatu par konkrētām lietojumprogrammas sastāvdaļām. Turklāt dati, kas iegūti, veicot elastīgus testus, palīdz iegūt informāciju par slodzes testēšanā izmantotajiem bāzes rādītājiem.
3. Galalietotāji/ieinteresētās personas
Viņu mērķi nosaka viņu uzvedību lietojumprogrammā. Izpratne par viņu motivāciju sistēmā palīdz izstrādāt testēšanas scenārijus.
Slodzes testēšanas process
Slodzes testēšanas process var kļūt diezgan sarežģīts, jo īpaši, ja tiek izmantota atvērtā koda vai iekšējā testēšanas programmatūra. Lai gan uzņēmuma līmeņa programmatūra ievērojami vienkāršo testēšanu, izpratne par galvenajiem slodzes testēšanas soļiem palīdz nodrošināt labākos iespējamos rezultātus.
Lai gan slodzes testēšanas specifika atšķiras atkarībā no uzņēmējdarbības modeļa, aparatūras, lietotāju bāzes un citiem individuāliem faktoriem, lielākā daļa testēšanas notiek pēc šīs pamatstruktūras:
1. Mērķu noteikšana
Skaidri mērķi nodrošina noderīgākus rezultātus. Nosakiet kritiskākās testējamās lietojumprogrammas funkcijas.
2. Pamatlīnijas noteikšana
Ja esat veicis iepriekšējos testus, izmantojiet iegūtos datus, lai izveidotu veiktspējas atskaites punktu nākamajam testam. Jebkura atkāpe no bāzes līnijas norāda uz turpmāku izpēti.
3. Slodzes testa vides izveide
Testēšanas videi pēc iespējas precīzāk jāatspoguļo reālās pasaules apstākļi, tāpēc jums būs jātestē līdzīgi mašīnu profili, tīkla arhitektūra, ugunsmūri, datubāzes un citi.
4. Slodzes scenāriju izstrāde
Visizplatītākais veids, kā izveidot slodzes scenāriju, ir kombinēt skriptu rakstīšanu ar reģistrētu lietotāja darbību. Katrā scenārijā tiks iekļauti mērījumi, darījumi un validācijas punkti.
5. Testu veikšana
Pēc tam, kad esat izveidojis bāzes līnijas, slodzes scenārijus un izveidojis testēšanas vidi, testi ir gatavi izpildei. Varat vienlaicīgi izmantot vairākus scenārijus, pielāgojot lietotāju līmeņus, atrašanās vietas, pārlūkprogrammas un citus faktorus.
6. Pārbaude pēc testa
Pabeigta testēšana sniedz iespaidīgu datu apjomu, tostarp atbildes laikus, ielādes laikus, kļūdas, servera veiktspēju un citus datus. Lielākā daļa datu analīzes ietver atkārtotu scenāriju īstenošanu, lai sašaurinātu problēmu un noteiktu tās būtību.
Veiksmīgas datu interpretācijas atslēga ir iepriekš noteikt skaidrus mērķus un analīzes laikā uzturēt plašu dokumentāciju.
Slodzes testa piemēri
Slodzes testēšana tiek izmantota daudzos scenārijos, tostarp situācijās, ko daudzi uzņēmumi neievēro. Piemēram, var minēt šādus piemērus:
1. Tīmekļa vietnes
Lielu failu lejupielāde ilgākā laika posmā pārbauda tīmekļa lietojumprogrammas iespējas.
2. Serveris
Serveri tiek pārbaudīti slodzes testos, vienlaicīgi darbinot vairākus lietojumprogrammas eksemplārus vai daudzas dažādas lietojumprogrammas.
3. Cietie diski
Atkārtoti lasot un rakstot datus, tiks pārbaudītas sistēmas cieto disku iespējas.
4. Pasta serveris
Pasta serveri tiek testēti, simulējot lietotāja darbību. Lielākā daļa pasta servera slodzes testu simulē vismaz 1000 lietotāju.
5. Lietojumprogrammu saskarne
API slodzes testēšana tiek veikta operētājsistēmām, programmatūras bibliotēkām, programmēšanas valodām, aparatūrai un citiem elementiem.
6. Printeris
Printera noslodzes testos printerim tiek nosūtīts arvien lielāks uzdevumu skaits. Tas reti ir fizisks tests, kam nepieciešama aparatūras darbība.
Slodzes testa gadījumi
Slodzes testēšana ir noderīga visu veidu un lielumu organizācijām. Daži reāli gadījumi, kas saistīti ar slodzes testēšanas īstenošanu, ir šādi:
1. Reklāmas pasākumi
Liela e-komercijas vietne vēlas novērtēt savas vietnes jaudu, lai veiktu lielu izpārdošanu, piemēram, melnās piektdienas izpārdošanu. Cits piemērs varētu būt rotaļlietu uzņēmums, kas gatavojas paplašināt savu tīmekļa vietni, piedāvājot jaunu, ļoti gaidītu rotaļlietu.
2. Publiskie tīmekļa portāli
Testēšana palīdz sagatavot lielos portālus krasām lietošanas izmaiņām, piemēram, kad nodokļu maksātāju portāla apmeklētība nodokļu sezonas laikā palielinās. Līdzīgs piemērs varētu būt tīmekļa portālu slodzes testēšana, lai palīdzētu koledžai sagatavoties tiešsaistes uzņemšanai semestra sākumā.
3. Servera testēšana
Pārbaudot serveri ar lielu datplūsmas apjomu, uzņēmuma organizācija var noteikt, vai tās infrastruktūra ir pietiekama gaidāmajai paplašināšanai. Servera testēšana ir arī būtiska labi funkcionējošas vietnes uzturēšanas daļa.
4. Failu pārsūtīšanas testēšana
Veicot slodzes testēšanu, var izmērīt failu pārsūtīšanas ātrumu uz cieto disku un no tā, piemēram, starp klēpjdatoru un galddatoru vai klēpjdatoru un klēpjdatoru. Cita starpā tā var palīdzēt organizācijām noteikt, kādu aparatūru iegādāties darbiniekiem.
Kā uzrakstīt slodzes testa gadījumu
Mācīšanās veikt slodzes testēšanu var šķist biedējoša pat pieredzējušiem programmatūras profesionāļiem, taču tas ir daudz vienkāršāk, nekā daudzi domā.
Vadošā dokumenta izveide ir pirmais slodzes testa gadījuma izstrādes posms. Jūsu slodzes testēšanas plānam nav jābūt sarežģītam, noderīgs var būt pat punktu saraksts, taču tajā jānorāda būtiskākie testa komponenti no sākuma līdz beigām.
Pārliecinieties, ka slodzes testēšanas plānā ir iekļauti šādi elementi:
1. Mērķi un prasības
Kāpēc jūs veicat šo testu? Kādus konkrētus rādītājus testējat un kādi rezultāti noteiks, kāda veida atbildes reakciju attiecībā uz ražošanu?
2. Robežas
Aprakstiet sistēmas vai pārlūkprogrammas slodzes testēšanas jomu. Vai jūs veicat komponenta testu vai visaptverošu testu? Kādas datplūsmas slodzes testējat (maksimālā, normālā vai kāda cita)?
Testa laikā darbības joma var mainīties, jo īpaši, ja rodas neparedzēts notikums. Tomēr sākotnēji joprojām ir nepieciešams noteikt skaidras testēšanas robežas.
3. Darba slodze
Jums būs detalizēti jāizklāsta slodzes profils, kas sastāv no šādiem elementiem:
- Galvenie darījumi
- Slodzes sadalījums pa darījumiem
- Darījuma veikšanas laiks
Slodzes profila/darbslodzes modeļa izstrāde, iespējams, ir vissvarīgākais slodzes testēšanas elements, jo tas nosaka, cik tuvu jūsu tests atspoguļo sistēmas uzvedību reālu lietotāju slodzes ietekmē. Neaizmirstiet veikt pārlūkprogrammas slodzes testēšanu, jo jūs nezināt, kādu pārlūkprogrammu izmantos apmeklētāji.
4. Servera veselība
Aprakstiet savu plānu serveru uzraudzībai testa laikā. Jums būs jāuzrauga gan lietojumprogrammu serveri, gan serveri, kas tiek izmantoti slodzes testu veikšanai (lai gan, izmantojot uzņēmuma slodzes testēšanas rīkus, pēdējais parasti nav būtiska problēma).
5. Testa scenārijs
Visbeidzot, jūs vēlaties aprakstīt savu testa scenāriju, kas ir jūsu visaptverošais plāns, lai īstenotu virkni testa gadījumu.
6. Slodzes testa gadījumu piemēri
Daži vispārīgi piemēri gadījumiem, ko izmanto uzņēmuma līmenī, ir šādi:
- API slodzes testēšana, lai noteiktu, vai maksājumi tiek apstrādāti mazāk nekā divās minūtēs, izmantojot trešās puses sistēmu.
- Pārlūkprogrammas slodzes testēšana, lai noteiktu, vai lietotājiem atkarībā no viņu pārlūkprogrammas iekraušanas ātrums atšķiras par vairāk nekā 10 sekundēm.
- Jaunas tīmekļa vietnes funkcijas funkcionalitātes komponenta tests, kad to izmanto satiksmes maksimuma laikā.
Ievērojiet, ka iepriekš minētajos scenārijos ir skaidri definēti mērķi, robežas un rādītāji.
Slodzes testēšanas rīki
Uzņēmumu organizācijas dažkārt izstrādā iekšējos slodzes testēšanas rīkus, taču tas ir process, kas prasa gan laiku, gan ieguldījumus, padarot to vairāk par ilgtermiņa stratēģiju. Kamēr tiek izstrādāti pielāgotie rīki, organizācijai ir jāvēršas pie bezmaksas vai uzņēmuma automatizētiem slodzes testēšanas rīkiem.
Organizācijas tiek aicinātas rūpīgi izvēlēties slodzes testēšanas rīkus, pat ja tās plāno tos izmantot tikai uz laiku. Nereti var konstatēt, ka uzņēmuma vai atvērtā koda tīmekļa vietņu slodzes testēšanas rīki nodrošina visus nepieciešamos risinājumus, tāpēc nav nepieciešams izstrādāt iekšēju versiju.
1. Bezmaksas slodzes testēšanas rīki
Daudzas organizācijas vispirms apsver atvērtā koda testēšanas rīkus. Iespēju netrūkst, tostarp šādas:
- JMeter – Java lietojumprogramma, kuras pamatā ir uzņēmuma rīks LoadRunner.
- Taurus – rīks, kas ļauj rakstīt savus slodzes testus.
- k6 – slodzes testēšanas rīks, kas koncentrējas uz back-end infrastruktūru, kas paredzēta pieredzējušiem izstrādātājiem.
- SoapUI – SoapUI slodzes testā tiek izmantots vienkāršais objektu piekļuves protokols. Ir pieejama arī šīs lietojumprogrammas komerciālā versija.
- Locust – slodzes testēšanas rīks, kas pazīstams ar relatīvu lietošanas ērtumu un nelielām resursu vajadzībām.
- ZAPTEST BEZMAKSAS izdevums piedāvā bezizmaksas veiktspējas testēšanu, izmantojot LOAD Studio, kur lietotāji var izmantot ierakstītus un uz API balstītus skriptus un pat sasaistīt tos ar funkcionālo testēšanu.
Lai gan atvērtā koda testēšanas rīkiem nav tiešu finansiālu izmaksu, to izvēle tomēr ir nozīmīgs ieguldījums jebkurā uzņēmumā, tāpēc ir svarīgi saprast gan ieguvumus, gan iespējamos trūkumus.
Bezmaksas slodzes testēšanas rīku priekšrocības
Bezmaksas slodzes testēšanas rīkiem ir vairākas ievērojamas priekšrocības.
1. Zemas izmaksas
Lielākā atvērtā pirmkoda programmatūras priekšrocība ir tā, ka tā ir bezmaksas. Uzņēmumi, jo īpaši jaunāki uzņēmumi ar ierobežotiem resursiem, var veikt slodzes testus, neuzņemoties finansiālas saistības.
2. Elastība
Atvērtā koda programmatūru bieži pārskata, atjaunina un uzlabo kopiena. Ja jums ir īpašas testēšanas vajadzības, var būt pieejami papildinājumi.
3. Ātrāki atjauninājumi
Atvērtā koda programmatūra parasti attīstās ātrāk nekā komerciālā programmatūra. Kļūdu labojumi, drošības atjauninājumi, jaunas funkcijas un citas funkcijas parasti tiek ieviestas vienmērīgāk un ātrāk.
Bezmaksas slodzes testēšanas rīku ierobežojumi
Lai gan bezmaksas slodzes testēšanas rīkiem ir ievērojamas priekšrocības, uzņēmumiem jāņem vērā iespējamie trūkumi.
1. Atbalsta trūkums
Ja lietotājs saskaras ar jebkādām problēmām, izmantojot atvērtā koda slodzes testēšanas programmatūru, viņam būs jāatrod atbilde pašam, izmantojot tādus kopienas avotus kā forumi un viki. Atšķirībā no uzņēmumu programmatūras bezmaksas rīkiem nav īpašas atbalsta komandas, kurai zvanīt vai rakstīt e-pastu.
2. Sarežģītība
Lietotājam draudzīga darbība ne vienmēr ir augsta prioritāte, izmantojot atvērtā koda slodzes testēšanas programmatūru. Daudzās lietojumprogrammās tiek pieņemts, ka lietotājam ir diezgan sarežģītas izstrādes zināšanas. Iemācīties veikt slodzes testēšanu ar atvērtā koda programmatūru parasti ir sarežģīti.
3. Lietotāja slodzes ierobežojumi
Atvērtā koda testēšanas programmatūra bieži saskaras ar atmiņas un procesora problēmām, kad tiek veikti lielas jaudas slodzes testi. Uzņēmumu līmeņa uzņēmumi var konstatēt, ka bezmaksas slodzes testēšana vienkārši nav pietiekami jaudīga, lai apmierinātu to vajadzības.
Uzņēmumu slodzes testēšanas rīki
Uzņēmumu testēšanas rīki ir maksas produkti, kas paredzēti lielu un sarežģītu organizāciju vajadzībām. Bieži vien tie ir abonēšanas pakalpojumi, un to cenas atbilst simulēto lietotāju skaitam un citām testa īpatnībām.
Ir pieejami daudzi uzņēmumu slodzes testēšanas uzņēmumi, bet vadošais uzņēmums ir ZAPTEST, nozares līderis hiperautomatizācijas jomā, ZAPTEST ir pazīstams kā viens no labākajiem slodzes testēšanas rīkiem, pateicoties lietotājam draudzīgai programmatūrai un neierobežotai atbalsta piekļuvei.
Uzņēmumu slodzes testēšanas uzņēmumu piedāvātā kvalitāte un funkcijas var ievērojami atšķirties, tāpēc organizācijas tiek aicinātas rūpīgi apsvērt katru pakalpojumu sniedzēju pirms abonēšanas.
Uzņēmumu testēšanas rīku priekšrocības
Lai gan konkrētās funkcijas un darbības ērtums mainās atkarībā no konkrētā produkta, labākajiem slodzes testēšanas rīkiem ir šādas priekšrocības.
1. Lietošanas vieglums
Atvērtā koda programmatūrai var būt neskaidra lietotāja saskarne, sarežģīti procesi un vispārēja vienaldzība pret lietotāju. Tomēr uzņēmumu rīkos uzsvars tiek likts uz intuitīvu un vienkāršu pieredzi.
2. Klientu atbalsts
Galvenais uzņēmuma testēšanas ieguvums ir apmācīta atbalsta pieejamība. Eksperti, kas ir apmācīti ne tikai slodzes testēšanā, bet arī jūsu īpašumā esošā slodzes testera specifikā, ir gatavi palīdzēt atrisināt visas problēmas. Uzņēmuma pakalpojums nodrošinās atbalstu, ar kuru varat sazināties 24 stundas diennaktī, 7 dienas nedēļā, 7 dienas nedēļā.
3. Uzticamība
Uzņēmumu testēšanas rīki ir izstrādāti, lai atbalstītu uzņēmumus, kas veic plaša mēroga darbības, kurās jebkura dīkstāve var radīt ievērojamus ieņēmumu un klientu apmierinātības zaudējumus. Šie rīki ir veidoti tā, lai nodrošinātu lietderīgus un precīzus datus, kas piemēroti ilgtermiņa plānošanai un lēmumu pieņemšanai.
Uzņēmumu testēšanas rīku ierobežojumi
Lai gan uzņēmuma testēšanas rīki piedāvā vairākas priekšrocības salīdzinājumā ar citiem veidiem, tiem ir arī daži iespējami ierobežojumi.
1. Izmaksas
Lielākais trūkums ir izmaksas. Uzņēmumu slodzes testēšana darbojas pēc abonēšanas modeļa, un izmaksas tiek mainītas atkarībā no testa laikā ģenerēto virtuālo lietotāju skaita.
Galu galā, novēršot sastrēgumus un novēršot lietojumprogrammu dīkstāvi, slodzes testēšana laika gaitā kļūst rentablāka, taču organizācijai joprojām var rasties ievērojamas sākotnējās izmaksas. Turpretī tādi atzīti slodzes testēšanas komplekti kā ZAPTEST piedāvā vienu fiksētu programmatūras+pakalpojumu abonementu ar neierobežotu lietošanu un licencēm… šis modelis mazina aizvien pieaugošās testēšanas izmaksas, jo uzņēmumi mērogo.
2. Mācīšanās līkne
Lai gan uzņēmuma rīki ir lietotājam visērtāk pieejamā slodzes testēšanas iespēja, pat vislabākajiem slodzes testēšanas rīkiem ir vismaz neliela mācību līkne. Komandas locekļiem, ideālā gadījumā tiem, kuriem ir pieredze kodēšanas jomā, būs jāpavada laiks, mācoties, kā maksimāli izmantot rīku. Vēlreiz jāatgādina, ka vadošie slodzes testēšanas rīki, piemēram, ZAPTEST, mazina šo trūkumu, piedāvājot zema koda platformu, kurai nav nepieciešamas programmēšanas prasmes un kuru var izmantot lielākā daļa organizāciju darbinieku, nevis tikai izstrādātāji.
Kādos gadījumos jāizmanto uzņēmumu un bezmaksas slodzes testēšanas rīki?
Bezmaksas slodzes testēšanas rīkiem ir sava vieta daudzās organizācijās. Tie ir visizdevīgākais risinājums, tāpēc tos iecienījuši jaunuzņēmumi un citi uzņēmumi ar ierobežotiem resursiem.
Bezmaksas rīki ir arī efektīvs veids, kā uzlabot indivīda prasmju kopumu. Piemēram, testētājs var veikt SoapUI slodzes testu ne tikai, lai pārbaudītu sistēmu, bet arī lai uzlabotu savu izpratni par atklātā koda rīku.
Lielākajai daļai komerciālo lietojumprogrammu un liela mēroga organizācijām labākie slodzes testēšanas rīki ir uzņēmuma līmeņa produkti, piemēram, ZAPTEST un līdzīgi nozares līderi. Tie nodrošina uzticamību, precizitāti un drošību, kas aizsargā gan jūsu uzņēmumu, gan galalietotājus. Turklāt tie ir daudz vieglāk lietojami nekā bezmaksas rīki un nodrošina nepārspējamu funkcionalitātes līmeni.
Slodzes testēšanas pārbaudes kontrolsaraksts
Viena no svarīgākajām veiksmīgas slodzes testēšanas atslēgām ir organizācija. Daudzi uzņēmumi konstatē, ka testēšana, izmantojot kontrolsarakstu, palīdz komandām saglabāt uzdevumu izpildi. Turpmāk sniegtais kontrolsaraksts ir labs sākumpunkts uzņēmumu līmeņa organizācijām.
1. Tīmekļa serveris
- Vai jums ir pietiekams joslas platums, lai novērstu sastrēgumus?
- Vai sistēma spēj apstrādāt pietiekami daudz darījumu sekundē?
- Vai jums ir pietiekami daudz tīmekļa serveru, lai pārvaldītu aizņemtības un dīkstāves draudus?
2. Saimnieks
- Vai tīkla saskarnēm ir CPU, atmiņas vai diska vietas problēmas?
- Kādi procesi tiek palaisti resursdatorā?
3. Lietojumprogrammu serveris
- Kāds ir procesora noslogojuma līmenis?
- Vai sistēmā ir atmiņas noplūde pie dažādiem slodzes līmeņiem?
- Vai lietojumprogrammu serveri pareizi sadala slodzi?
Lai gan šo kontrolsarakstu vēlaties modificēt, lai tas atbilstu jūsu organizācijas īpašajām vajadzībām, šie pamatelementi palīdzēs nodrošināt, ka tiek aptverti kritiski svarīgi sistēmas veiktspējas un darbības aspekti.
Secinājums
Slodzes testēšanai ir būtiska nozīme ikviena programmatūras izstrādes projekta panākumu nodrošināšanā. Lai patiesi izmantotu slodzes testēšanas automatizācijas rīku iespējas, organizācijām ir jāizveido sadarbība ar uzņēmumu līmeņa slodzes testēšanas uzņēmumu, piemēram, ZAPTEST.
Slodzes testēšanas rīki ļauj jūsu organizācijai identificēt iespējamos pakalpojumu traucējumus un vājās vietas, tādējādi maksimāli palielinot efektivitāti, samazinot dīkstāves laiku, palielinot ieņēmumus un uzlabojot lietotāju pieredzi.