fbpx

Proces vývoja softvéru si vyžaduje rozsiahle priebežné testovanie, predovšetkým agilné testovanie, ktoré pomáha zabezpečiť efektívny a predvídateľný výkon. Agilné testovanie má však obmedzenia, pokiaľ ide o skúsenosti koncových používateľov v systéme s viacerými používateľmi. Keď sa softvérový projekt blíži k dokončeniu, spoločnosti musia prejsť na iný typ testovania, známy ako záťažové testovanie, aby zistili, ako bude aplikácia fungovať v reálnom svete pri rôznych úrovniach pracovného zaťaženia a prevádzky.

Table of Contents

Čo je testovanie zaťaženia?

Testovanie záťaže je podmnožinou testovania výkonnosti, ktoré sa používa pri softvéri, webových stránkach, aplikáciách a súvisiacich systémoch. Ide o nefunkčný test, ktorý simuluje správanie viacerých používateľov pristupujúcich k systému súčasne. Záťažové testovanie, označované aj ako „objemové testovanie“, kopíruje výkon, stabilitu a funkčnosť webového systému v živých podmienkach, a preto je jedným z posledných a najdôležitejších typov testovania vykonávaného pred nasadením.

Testovanie záťaže identifikuje niekoľko kritických aspektov webového systému vrátane nasledujúcich:

  • Celková prevádzková kapacita aplikácie vrátane počtu súbežných používateľov, ktorých možno podporovať
  • Schopnosť aplikácie reagovať na špičkové zaťaženie používateľov
  • Stabilita infraštruktúry aplikácie
  • Časy odozvy aplikácie, priepustnosť a potreby zdrojov pri rôznych úrovniach zaťaženia používateľom

Testovanie záťaže je kľúčový proces, ktorý sa používa pred spustením akejkoľvek internetovej a intranetovej aplikácie typu klient/server. Vzťahuje sa na front-end softvér, ako je webová stránka, aj na back-end systémy, ako sú servery, na ktorých je stránka umiestnená.

Prečo potrebujeme testovanie zaťaženia?

Funkčné testy zohrávajú dôležitú úlohu pri vývoji softvéru, ale majú obmedzenia pri predpovedaní výkonu pri rôznych úrovniach zapojenia používateľov. Testovanie záťaže identifikuje kritické problémy s výkonom, ktoré iné testy nedokážu identifikovať, čo umožňuje spoločnostiam odstrániť problémy pred spustením softvéru alebo implementáciou aktualizácií.

Spoločnosti potrebujú vykonávať záťažové testy z troch hlavných dôvodov:

  • Posúdenie funkčnosti softvéru
  • generovanie príjmov, poskytovanie služieb a ochrana dobrého mena spoločnosti
  • Zabezpečenie príjemnej a efektívnej používateľskej skúsenosti

Testovanie záťaže je potrebné na identifikáciu úzkych miest, meranie času odozvy pri prevádzke webu a zlepšenie budúceho výkonu. Samozrejme, všetky tieto ciele sa dajú dosiahnuť v reakcii na správanie živého webu, ale len za cenu intenzívneho narušenia spotrebiteľov.

Všimnite si, že hoci sa softvér na testovanie záťaže bežne spája s internetovými aplikáciami, používa sa aj na testovanie hardvéru.

Výhody testovania zaťaženia

Podniky, ktoré ponúkajú internetové alebo intranetové aplikácie, budú mať z testovania záťaže obrovský úžitok. Medzi najlepšie dôvody na vykonanie záťažového testovania patria:

Automatické testovanie záťaže

1. Zabraňuje výpadkom a zlyhaniu aplikácie

Testovanie záťaže pomáha optimalizovať systém pre bežné a špičkové zaťaženie a identifikovať potenciálne prestoje spôsobené neočakávaným zaťažením.

Okrem toho testovanie zaťaženia webu pomáha pripraviť sa na obdobia rastu alebo neobvykle vysokého používania, ako je napríklad predaj v elektronickom obchode alebo uvedenie nového produktu na trh.

 

2. Monitorovanie výkonnostných noriem

Testovanie záťaže poskytuje údaje o výkonnosti, ktoré spoločnosti používajú na hodnotenie kódu aplikácie a zmien infraštruktúry.

Organizácia môže vypracovať výkonnostné ciele analýzou dopravy v priemerných hodinách aj v čase dopravnej špičky.

3. Zníženie nákladov

Prestoje siete stoja spoločnosť v priemere 5 600 dolárov za minútu (300 000 dolárov za hodinu). Okrem toho je čoraz pravdepodobnejšie, že používatelia, ktorí sa často stretávajú s nefunkčnou aplikáciou, sa k nej už nikdy nevrátia.

Náklady na testovanie záťaže sú neustále nižšie ako potenciálne náklady na nadmerné prestoje, nedostupnosť webu a väčšie straty súvisiace s nespokojnosťou zákazníkov.

4. Zvyšuje efektivitu

Testovanie záťaže identifikuje úzke miesta systému, ktoré po odstránení umožnia systému pracovať s maximálnou účinnosťou. Odstránením úzkych miest sa nielenže dosiahne vyšší prevádzkový výkon, ale zlepší sa aj škálovateľnosť systému.

Efektívne a rýchlo sa načítavajúce stránky zvyšujú spokojnosť používateľov a zlepšujú umiestnenie webu vo vyhľadávaní.

5. Dodržiavanie dohody o úrovni služieb

Testovanie záťaže umožňuje organizácii merať kvalitu výkonu, údaje, ktoré sa používajú na vypracovanie zmlúv o úrovni služieb ( SLA), ktoré poskytujú používateľom zaručené základné hodnoty. Údaje sú užitočné aj na porovnanie výkonnosti s internými referenčnými hodnotami a výkonnosťou konkurencie.

6. Plánovanie kapacity

Testovanie záťaže poskytuje informácie dôležité pre plánovanie kapacity. Ak aplikácia reaguje na test priaznivo, organizácia môže podľa toho naplánovať rozšírenie a časy špičky. Ak aplikácia zaznamená metriky mimo akceptovaných parametrov – ak „zlyhá“ v záťažovom teste – údaje sú stále prospešné ako záťažový test.

(Viac informácií o rozdieloch medzi záťažovým a stresovým testom nájdete neskôr v tejto príručke.)

Výzvy a obmedzenia testovania zaťaženia

Záťažové testovanie prináša značné výhody, čo sa prejavuje v jeho širokom rozšírení vo viacerých odvetviach a systémoch. Ako každá aplikácia má však aj táto svoje nevýhody a problémy.

výzvy testovanie záťaže

Výzva 1: Nehmatateľnosť

Testovanie záťaže nie je nevyhnutne najviditeľnejším nástrojom, pretože jedným z jeho hlavných prínosov je identifikácia potenciálnych problémov skôr, ako sa vyskytnú v reálnej situácii. Mnohé negatíva, finančné aj iné, spojené s výpadkami webu a zlyhaním aplikácie sa jednoducho nikdy neprejavia.

Typy testovania, ktoré sa zameriavajú na scenáre „čo ak“, bývajú prehliadané. Hoci testovanie záťaže môže pomôcť pri analýze po preťažení používateľov, pre organizáciu je oveľa prospešnejšie ako preventívny nástroj.

Výzva 2: Komplexnosť

Nástroje s otvoreným zdrojovým kódom aj vlastné nástroje na testovanie záťaže môžu mať vysokú vstupnú bariéru na technickej úrovni. V závislosti od veľkosti a zložitosti organizácie nemusia mať zamestnancov alebo zdroje, ktoré by mohli venovať testovaniu záťaže.

Výnimkou v tomto smere je profesionálna platforma na testovanie záťaže, ako je napríklad testovanie záťaže ZAPTEST, ktorá sa zameriava na poskytovanie prehľadného a používateľsky prívetivého rozhrania. ZAPTEST LOAD ponúka možnosť vytvárať zaznamenané skripty a skripty založené na API, ktoré vykonávajú obchodné procesy koncového používateľa a merajú transakcie end-to-end v rámci systému pod záťažou (SUL).

Typy testovania zaťaženia

K dispozícii je niekoľko rôznych typov testovania záťaže, ktoré organizáciám umožňujú prispôsobiť stratégiu testovania na základe rozpočtu, zložitosti projektu, technických znalostí zamestnancov a ďalších faktorov.

Často kladené otázky o automatizácii funkčného testovania

1. Manuálne testovanie zaťaženia

Manuálne záťažové testovanie je také, keď sa systém hodnotí bez automatizovaných nástrojov na záťažové testovanie, čo znamená, že simulovaní používatelia sa vytvárajú ručne.

Manuálne testovanie záťaže poskytuje len málo výhod, ak vôbec nejaké. Okrem logistických ťažkostí sú výsledky testovania zvyčajne nespoľahlivé a ich opakovanie je takmer nemožné. Ak organizácia nemá špecifickú potrebu manuálneho testovania, je lepšie zamerať jej úsilie na automatizované testovanie softvéru.

2. Interné testovacie nástroje

Keďže testovanie záťaže je nepretržitý proces, najmä v čase rastu, mnohé organizácie sa rozhodnú vytvoriť si vlastné nástroje na automatizáciu testovania záťaže.

Vlastné nástroje sú od základu navrhnuté tak, aby spolupracovali s konkrétnymi aplikáciami organizácie, čo umožňuje jednoduchú a úplnú integráciu medzi nástrojom a systémom. Medzi ďalšie výhody patrí skrátenie času nastavenia, potreby údržby, prevádzkových chýb, času školenia a ďalších výhod.

Existuje však niekoľko nevýhod. Vnútorné nástroje sa nemusia ľahko škálovať s rastúcou základňou používateľov. Vývoj vlastných nástrojov si navyše vyžaduje počiatočnú investíciu času a peňazí, počas ktorej musí organizácia používať iné testovacie nástroje alebo žiadne.

3. Testovacie nástroje s otvoreným zdrojovým kódom

Existuje mnoho testovacích nástrojov s otvoreným zdrojovým kódom. Keďže ide o programy s otvoreným zdrojovým kódom, je ich používanie bezplatné, ponúkajú rozsiahle možnosti úprav a majú silnú podporu komunity.

Medzi obľúbené testovacie nástroje s otvoreným zdrojovým kódom patria Locust, k6 a JMeter. Každá z nich umožňuje simulovať rozsiahle používateľské zaťaženie, zaznamenávať testovacie skripty, zobrazovať výkonnostné reporty a mnoho ďalšieho.

Hoci väčšina nástrojov s otvoreným zdrojovým kódom „urobí svoju prácu“, môžu mať nevýhody, najmä pre podnikové organizácie. Nástroje s otvoreným zdrojovým kódom sú často zložité a chýba im používateľská prívetivosť, akú majú komerčné nástroje na automatizáciu testovania záťaže. Okrem toho sa podpora zvyčajne obmedzuje na wiki, fóra a podobné stránky, ktoré majú v núdzových situáciách obmedzené využitie.

4. Nástroje na automatizáciu testovania záťaže podnikovej triedy

Podnikové testovacie nástroje poskytujú rôzne funkcie, ktoré sa dajú prispôsobiť potrebám webových stránok elektronického obchodu, platforiem služieb a profesionálnych organizácií všetkých typov.

Výhody používania služieb testovania záťaže v podnikoch zahŕňajú:

  • Schopnosť generovať obrovské množstvo používateľskej návštevnosti
  • Zariadenie na snímanie/prehrávanie
  • Schopnosť podporovať viacero protokolov
  • Možnosť obnoviť stratené dokumenty
  • Zadávanie testovacej dokumentácie na 1 kliknutie

Medzi obľúbené spoločnosti zaoberajúce sa testovaním záťaže v podnikoch patrí ZAPTEST a ich partner z technologického odvetvia, spoločnosť Gartner. (Tí, ktorí poznajú odvetvie automatizácie, môžu poznať spoločnosť ZAPTEST aj z jej uznávanej práce v oblasti automatizácie robotických procesov.) Okrem toho bezplatná edícia ZAPTEST ponúka bezplatnú funkciu LOAD, ktorá používateľom umožňuje vykonávať testovanie výkonnosti pomocou najnovších funkcií a hĺbkovej analýzy.

Nástroje na automatizáciu testovania záťaže na podnikovej úrovni ponúkajú spoľahlivé riešenia s podporou, ktoré nevyžadujú toľko technických znalostí ako nástroje s otvoreným zdrojovým kódom. Väčšina podnikových služieb testovania záťaže funguje na základe modelu predplatného.

Čo by sme mali testovať prostredníctvom testovania zaťaženia?

Kontrolný zoznam testovania softvéru

Automatizované nástroje na testovanie záťaže generujú údaje, ktoré slúžia na presné zodpovedanie niekoľkých dôležitých otázok:

  • Koľko používateľov má aplikácia (webová stránka, systém atď.) počas bežných hodín? V čase špičky?
  • Na ktoré prvky aplikácie má vplyv aký počet používateľov?
  • Aký počet používateľov spôsobí vypnutie webovej stránky?
  • Kedy sa v systéme vyčerpajú zdroje?
  • Ako rýchlo sa webová stránka načíta?

Spustením nefunkčných simulácií získa organizácia údaje o rýchlosti, spoľahlivosti a schopnosti škálovania. Testovanie jednotlivých vyššie uvedených aspektov vytvára komplexnejší obraz, v ktorom sa ľahšie identifikujú úzke miesta.

1. Základný výkon

Spoločnosti môžu použiť testovanie záťaže na otestovanie základného výkonu aplikácie. Keďže počet používateľov sa počas testu neustále zvyšuje, vytvorené údaje ukazujú základný výkon pre priemernú rýchlosť pripojenia, čas sťahovania súborov a latenciu.

2. Referenčná výkonnosť

Test zaťaženia webovej lokality tiež zhromažďuje údaje o výkonnosti. Hoci sa pojmy „základná úroveň“ a „referenčná hodnota“ často používajú zameniteľne, sú medzi nimi zásadné rozdiely. Porovnávacie testovanie meria výkonnosť v porovnaní s konkurenčnými lokalitami alebo internými požiadavkami (napríklad SLA koncových používateľov).

Metriky testovania zaťaženia / ciele

Jednotlivé organizácie si vytvoria testovacie metriky na základe svojich jedinečných potrieb. Jednou z významných výhod nástrojov na automatizované testovanie záťaže na podnikovej úrovni je možnosť prispôsobiť sledované metriky.

Bez ohľadu na to bude väčšina organizácií sledovať nasledujúce metriky pomocou automatického testovania záťaže:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Čo je automatizácia testovania softvéru

1. Doba odozvy

Čas odozvy je hlavnou metrikou meranou pri automatickom testovaní záťaže. Ako dlho trvá, kým používateľ odošle požiadavku, kým systém odpovie? (Čas odozvy dlhší ako 10 sekúnd pravdepodobne spôsobí odchod používateľa.)

2. Priepustnosť

Priepustnosť je množstvo odoslaných a prijatých údajov. Pri testovaní záťaže sa zvyčajne vyjadruje ako počet zobrazení za sekundu (hps) alebo transakcií za sekundu (tps).

3. Metriky špecifické pre hardvér

Pomalá odozva môže signalizovať obmedzenia hardvéru, takže súčasťou procesu testovania záťaže je aj monitorovanie využitia CPU, dostupnej pamäte RAM, diskových vstupov/výstupov a podobných hardvérových funkcií.

4. Databáza

Väčšina aplikácií na podnikovej úrovni vyžaduje na prevádzku viacero systémov, ale s rastúcim počtom databáz sa zvyšuje aj možnosť vzniku úzkych miest. Softvér na testovanie záťaže meria čítanie a zápis do databázy a počet otvorených databázových spojení.

Vyjasnenie niektorých nejasností

Mnohé postupy zabezpečenia kvality softvéru sa prekrývajú a vzájomne prelínajú. Dokonca aj tí, ktorí majú profesionálne skúsenosti, sa môžu cítiť zmätení z nasledujúcich typov služieb testovania softvéru.

Testovanie výkonu vs. testovanie zaťaženia

Testovanie výkonnosti je súhrnný pojem pre všetky postupy používané na meranie stability softvérového systému, jeho odozvy, potreby zdrojov a iných výkonnostných ukazovateľov, najmä pokiaľ ide o používateľskú skúsenosť.

Testovanie záťaže je podkategóriou testovania výkonnosti. Medzi ďalšie bežné typy patria:

  • Testovanie vytrvalosti – Testovanie vytrvalosti, známe aj ako testovanie záťaže, meria trvalé očakávané zaťaženie používateľa. Testovanie odolnosti odhalí úniky pamäte a dlhodobé zhoršenie času odozvy.
  • Spike testovanie – Spike testovanie simuluje náhly, prudký nárast alebo pokles počtu používateľov.
  • Testovanie izolácie – test, ktorý viedol k problému systému, sa opakuje, aby pomohol izolovať príčinu.

Testy výkonnosti sú nefunkčné testy, ktoré sa zvyčajne vykonávajú ku koncu vývojového cyklu alebo po dokončení vývoja.

Záťažové testovanie vs. testovanie záťaže

Záťažové a stresové testovanie sú si v mnohom podobné. Zopakujme si, že test zaťaženia webovej lokality meria odozvu systému na očakávaný objem prevádzky, napríklad bežnú alebo špičkovú prevádzku. Vykonávate testovanie záťaže, aby ste zistili zhoršenie výkonu a jeho vzťah k používateľskému zážitku počas historicky predpokladaných záťaží. Stručne povedané, záťažové testovanie nie je určené na rozbitie systému.

Záťažové testovanie má iný účel. Počas záťažového testu sa počet používateľov zvyšuje až po bod zníženia výkonu až po úplné zlyhanie. Záťažový test nemeria len „bod zlomu“ systému, ale skúma aj to, aký typ automatického zotavenia systém vykoná.

Vývojári sa môžu rozhodnúť vykonať záťažový test, ale môže k nemu dôjsť aj neúmyselne počas záťažového testu vyššej úrovne. V oboch typoch testov nástroje na automatizáciu záťažových testov tlačia systém nad rámec dostupných zdrojov, čím poskytujú množstvo cenných údajov.

Funkčné testovanie vs. testovanie zaťaženia

 

Funkčné testovanie a záťažové testovanie sú typy testovania výkonnosti, a hoci sú obe potrebné, každé slúži na iný účel.

Funkčné testovanie určuje, či konkrétny aspekt systému spĺňa vopred stanovené požiadavky. Používa sa oveľa častejšie ako záťažové testovanie s jasne definovanými parametrami a krokmi. Testovanie záťaže je nepredvídateľnejšie a výsledky sa môžu výrazne líšiť od očakávaní.

Okrem toho záťažové testovanie závisí výlučne od zaťaženia používateľa, zatiaľ čo funkčné testovanie je založené na testovacích údajoch.

Charakteristiky účinného testu zaťaženia

Podnikové testovanie záťaže je výkonný nástroj, ale ak chcú podniky maximalizovať účinnosť testu, mali by dodržiavať tieto osvedčené postupy.

1. Využíva realistické scenáre

Scenáre testovania by sa mali čo najviac podobať reálnemu správaniu používateľov. Dôkladne zvážte správanie používateľov. Prečo používajú vašu aplikáciu? Aké typy zariadení používajú na prístup?

Do testu zaťaženia webovej stránky zahrňte aj nepredvídateľné správanie, pretože skutoční používatelia sa budú správať neočakávaným spôsobom, ktorý nemôžete predvídať.

2. Nezačína od nuly

Mnohí testeri začínajú test s nulovým zaťažením a postupne pridávajú simulovaných používateľov. Hoci táto metóda má určitú hodnotu, nezabudnite testovať aj pri bežnom zaťažení systému. Takýto postup pomáha predchádzať falošne pozitívnym výsledkom a vedie k presnejším výsledkom, pretože váš systém bude mať v reálnom svete zriedka, ak vôbec, nulové zaťaženie.

3. Využíva reálne údaje

Ako ukazujú tieto predchádzajúce postupy, čím kvalitnejšie údaje získate pred testovaním, tým užitočnejšie budú výsledky testov. Využite údaje, ktoré ste predtým získali pomocou monitorovacích nástrojov, aby ste mohli vytvoriť realistické scenáre.

Dve užitočné kategórie údajov, ktoré treba zvážiť:

  • Údaje o používateľoch: používané zariadenia a prehliadače, prejdené cesty a miesta ukončenia
  • Systémové údaje: časovanie prvého rozlúčenia, zaťaženie DOM

4. Analýza a opakovanie

Po záťažovom teste bude váš tím chcieť identifikovať úzke miesta a im zodpovedajúci kód. Premena informácií získaných z výsledkov testov na zlepšiteľné metriky nie je vždy jednoduchá, najmä v prípade softvéru s otvoreným zdrojovým kódom, hoci nástroje na automatizáciu testovania záťaže v podnikoch môžu tento proces výrazne zjednodušiť a zefektívniť.

Hoci je testovanie záťaže pred uvedením produktu na trh veľmi dôležité, nie je to riešenie „jedenkrát a dosť“. Namiesto toho by sa testovanie záťaže malo stať súčasťou agilných a automatizačných postupov organizácie.

Kto je zapojený do procesu testovania zaťaženia?

kto by sa mal zaoberať nástrojmi na automatizáciu testovania softvéru a plánovaním.

Aj keď sa záťažové testovanie uskutočňuje na konci vývoja, vyžaduje si účasť mnohých rôznych tímov vrátane tímov, ktoré začínajú pracovať oveľa skôr v životnom cykle produktu.

1. Vývojoví inžinieri

Inžinieri budú používať integrované vývojové prostredia na testovanie procesov počas vývoja, výsledkom čoho budú údaje, ktoré pomôžu stanoviť parametre záťažového testovania pred vydaním.

2. Ostatní testeri

Agilní a funkční testeri poskytujú cenný pohľad na konkrétne komponenty aplikácie. Okrem toho údaje z agilných testov pomáhajú informovať o základných metrikách používaných pri testovaní záťaže.

3. Koncoví používatelia/zainteresované strany

Ich ciele určujú ich správanie v aplikácii. Pochopenie ich motivácie v rámci systému pomáha pri tvorbe testovacích scenárov.

Proces testovania zaťaženia

ako funguje automatické testovanie v odvetviach, ako je napríklad bankovníctvo

Proces testovania záťaže môže byť pomerne zložitý, najmä pri používaní softvéru s otvoreným zdrojovým kódom alebo vlastného testovacieho softvéru. Hoci softvér podnikovej triedy výrazne zjednodušuje testovanie, pochopenie základných krokov testovania záťaže pomáha zabezpečiť čo najlepšie výsledky.

Hoci sa špecifiká testovania záťaže líšia v závislosti od obchodného modelu, hardvéru, používateľskej základne a ďalších individuálnych faktorov, väčšina testov sa riadi touto základnou štruktúrou:

 

1. Určenie cieľov

Jasné ciele vedú k užitočnejším výsledkom. Určite najkritickejšie funkcie aplikácie, ktoré treba otestovať.

2. Stanovenie východiskového stavu

Ak ste vykonali predchádzajúce testy, použite tieto údaje na vytvorenie základnej úrovne výkonu pre nadchádzajúci test. Každá odchýlka od základnej úrovne naznačuje ďalšie skúmanie.

3. Vytvorenie záťažového testovacieho prostredia

Testovacie prostredie by malo čo najvernejšie odrážať podmienky reálneho sveta, takže budete musieť testovať na podobných profiloch počítačov, sieťovej architektúre, firewalloch, databázach a ďalších.

4. Vývoj scenárov zaťaženia

Najbežnejším spôsobom vytvorenia scenára zaťaženia je kombinácia skriptovania so zaznamenanou aktivitou používateľa. Každý scenár bude obsahovať merania, transakcie a body overovania.

5. Spustenie testov

Po vytvorení východísk, scenárov zaťaženia a testovacieho prostredia sú testy pripravené na vykonanie. Môžete spustiť niekoľko scenárov súčasne, upraviť úrovne používateľov, miesta, prehliadače a ďalšie faktory.

6. Vyšetrenie po teste

Dokončené testovanie poskytuje pôsobivé množstvo údajov vrátane času odozvy, času načítania, chýb, výkonu servera a ďalších údajov. Väčšina analýz údajov zahŕňa opakované spúšťanie scenárov s cieľom zúžiť problém a identifikovať jadro problému.

Kľúčom k úspešnej interpretácii údajov je stanovenie jasných cieľov vopred a vedenie rozsiahlej dokumentácie počas analýzy.

Príklady testov zaťaženia

Testovanie záťaže sa používa v mnohých scenároch vrátane situácií, ktoré mnohé spoločnosti prehliadajú. Príklady zahŕňajú:

1. Webové stránky

Sťahovanie veľkých súborov počas dlhšieho obdobia testuje možnosti webovej aplikácie.

2. Server

Servery sa testujú na zaťaženie buď spustením viacerých inštancií aplikácie, alebo mnohých rôznych aplikácií súčasne.

3. Pevné disky

Opakované čítanie a zápis údajov otestuje limity pevných diskov v systéme.

4. Poštový server

Poštové servery sa testujú na zaťaženie simuláciou činnosti používateľov. Väčšina testov zaťaženia poštového servera simuluje aspoň 1 000 používateľov.

5. Rozhranie pre programovanie aplikácií

Testovanie záťaže API sa vykonáva na operačných systémoch, softvérových knižniciach, programovacích jazykoch, hardvéri a ďalších.

6. Tlačiareň

Testy zaťaženia tlačiarne zahŕňajú odosielanie rastúceho počtu úloh do frontu tlačiarne. Zriedkavo ide o fyzický test, ktorý si vyžaduje prevádzku hardvéru.

Testovacie prípady zaťaženia

Testovanie záťaže je prínosom pre organizácie všetkých typov a veľkostí. Niektoré reálne prípady zahŕňajúce implementáciu záťažového testovania zahŕňajú:

1. Propagačné podujatia

Veľký elektronický obchod chce vyhodnotiť kapacitu svojej webovej stránky pre veľký výpredaj, napríklad výpredaj na Čierny piatok. Ďalším príkladom môže byť hračkárska spoločnosť, ktorá sa chystá rozšíriť svoje webové stránky o novú, veľmi očakávanú hračku.

2. Verejné webové portály

Testovanie pomáha pripraviť veľké portály na dramatické zmeny v používaní, napríklad keď sa počas daňovej sezóny zvýši návštevnosť portálu daňového úradu. Podobným príkladom by bolo testovanie záťaže webových portálov, ktoré má pomôcť vysokej škole pripraviť sa na online zápis na začiatku semestra.

3. Testovanie servera

Tým, že sa server vystaví veľkému objemu prevádzky, môže podniková organizácia zistiť, či je jej infraštruktúra dostatočná na akékoľvek nadchádzajúce rozšírenie. Testovanie servera je tiež dôležitou súčasťou udržiavania dobre fungujúcej webovej stránky.

4. Testovanie prenosu súborov

Testovaním záťaže možno merať rýchlosť prenosu súborov na pevný disk a z pevného disku, napríklad medzi prenosným počítačom a stolným počítačom alebo prenosným počítačom a prenosným počítačom. Okrem iného môže organizáciám pomôcť určiť, aký hardvér majú pre zamestnancov zakúpiť.

Ako napísať prípad testu zaťaženia

Naučiť sa testovať záťaž môže byť náročné aj pre skúsených softvérových profesionálov, ale je to oveľa jednoduchšie, ako si mnohí uvedomujú.

Vytvorenie riadiaceho dokumentu je prvou fázou vývoja prípadu záťažového testu. Plán testovania záťaže nemusí byť zložitý, užitočný môže byť aj zoznam bodov, ale mal by obsahovať základné zložky testu od začiatku až do konca.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Uistite sa, že plán testovania záťaže obsahuje tieto prvky:

1. Ciele a požiadavky

Prečo vykonávate tento test? Aké konkrétne metriky testujete a aké výsledky určia, aký typ reakcie sa bude týkať výroby?

2. Hranice

Opíšte rozsah testovania záťaže systému alebo prehliadača. Vykonávate test komponentov alebo komplexný test? Aké dopravné zaťaženie testujete (špičkové, normálne alebo iné)?

Rozsah sa môže počas testu zmeniť, najmä ak sa vyskytne neočakávaná udalosť. Na začiatku je však potrebné definovať jasné hranice testovania.

3. Pracovná záťaž

Musíte podrobne opísať svoj profil zaťaženia, ktorý pozostáva z nasledujúcich údajov:

  • Kľúčové transakcie
  • Rozdelenie zaťaženia na transakciu
  • Načasovanie transakcie

Vypracovanie profilu záťaže/modelu pracovného zaťaženia je pravdepodobne najdôležitejším prvkom testovania záťaže, pretože určuje, do akej miery váš test odráža správanie systému pod váhou skutočných používateľov. Nezabudnite na testovanie zaťaženia prehliadača, pretože neviete, aký prehliadač budú návštevníci používať.

4. Stav servera

Opíšte svoj plán monitorovania serverov počas testu. Budete musieť monitorovať oba aplikačné servery a servery používané na spustenie záťažových testov (hoci pri používaní podnikových nástrojov na testovanie záťaže to zvyčajne nie je hlavný problém).

5. Testovací scenár

Nakoniec budete chcieť opísať svoj testovací scenár, čo je váš zastrešujúci plán na realizáciu série testovacích prípadov.

6. Príklady testovacích prípadov zaťaženia

Niektoré všeobecné príklady prípadov používaných na podnikovej úrovni zahŕňajú:

  • Testovanie záťaže API na zistenie, či sa platby spracujú za menej ako dve minúty prostredníctvom systému tretej strany.
  • Testovanie zaťaženia prehliadača s cieľom zistiť, či používatelia pociťujú rozdiely v rýchlosti načítavania, ktoré sú väčšie ako 10 sekúnd v závislosti od ich prehliadača.
  • Testovanie funkčnosti novej funkcie webovej lokality pri jej používaní počas dopravnej špičky.

Všimnite si, že vyššie uvedené scenáre majú jasne definované ciele, hranice a metriky.

Nástroje na testovanie zaťaženia

Často kladené otázky o automatizácii funkčného testovania

Podnikové organizácie niekedy vyvíjajú vlastné nástroje na testovanie záťaže, ale je to proces, ktorý si vyžaduje čas aj investície, takže ide skôr o dlhodobú stratégiu. Zatiaľ čo sa vyvíjajú vlastné nástroje, organizácia sa musí obrátiť buď na bezplatné, alebo podnikové automatizované nástroje na testovanie záťaže.

Organizáciám sa odporúča, aby si nástroje na testovanie záťaže vyberali starostlivo, aj keď ich plánujú používať len dočasne. Nezriedka sa stáva, že nástroje na testovanie záťaže webových stránok pre podniky alebo open-source poskytujú všetky potrebné riešenia, takže nie je potrebné vyvíjať vlastnú verziu.

1. Bezplatné nástroje na testovanie zaťaženia

Mnohé organizácie najprv zvažujú testovacie nástroje s otvoreným zdrojovým kódom. Možností je neúrekom, vrátane týchto:

  • JMeter – aplikácia Java založená na podnikovom nástroji LoadRunner.
  • Taurus – Nástroj, ktorý vám umožňuje písať vlastné záťažové testy.
  • k6 – Nástroj na testovanie záťaže, ktorý sa zameriava na back-end infraštruktúru a je určený pre skúsených vývojárov.
  • SoapUI – Záťažový test SoapUI používa protokol Simple Object Access Protocol. K dispozícii je aj komerčná verzia tejto aplikácie.
  • Locust – Nástroj na testovanie záťaže známy svojou relatívnou používateľskou prívetivosťou a malými nárokmi na zdroje.
  • ZAPTEST FREE Edition ponúka bezplatné testovanie výkonu prostredníctvom LOAD Studio, kde môžu používatelia používať nahrané skripty a skripty založené na API a dokonca ich prepojiť s funkčným testovaním

Hoci testovacie nástroje s otvoreným zdrojovým kódom nemajú priame finančné náklady, ich výber je pre každú firmu významným záväzkom, preto je dôležité pochopiť ich výhody aj potenciálne nevýhody.

Výhody bezplatných nástrojov na testovanie zaťaženia

Bezplatné nástroje na testovanie zaťaženia majú niekoľko významných výhod.

1. Nízke náklady

Najväčšou výhodou softvéru s otvoreným zdrojovým kódom je, že je bezplatný. Spoločnosti, najmä novšie spoločnosti s obmedzenými zdrojmi, môžu vykonávať záťažové testy bez finančných záväzkov.

2. Flexibilita

Softvér s otvoreným zdrojovým kódom je často kontrolovaný, aktualizovaný a vylepšovaný komunitou. Ak máte špecifické potreby testovania, môžu existovať doplnky.

3. Rýchlejšie aktualizácie

Softvér s otvoreným zdrojovým kódom sa zvyčajne vyvíja rýchlejšie ako komerčný softvér. Opravy chýb, aktualizácie zabezpečenia, nové funkcie a ďalšie sa zvyčajne objavujú stabilnejším a rýchlejším tempom.

Obmedzenia bezplatných nástrojov na testovanie zaťaženia

Hoci bezplatné nástroje na testovanie záťaže majú významné výhody, spoločnosti by si mali uvedomiť potenciálne nevýhody.

1. Nedostatok podpory

Ak používateľ narazí na nejaké problémy pri používaní softvéru na testovanie záťaže s otvoreným zdrojovým kódom, bude musieť nájsť odpoveď sám pomocou komunitných zdrojov, ako sú fóra a wiki. Na rozdiel od podnikového softvéru nemajú bezplatné nástroje špecializovaný tím podpory, ktorému by ste mohli zavolať alebo poslať e-mail.

2. Zložitosť

Používateľsky prívetivé ovládanie nie je pri softvéri na testovanie záťaže s otvoreným zdrojovým kódom vždy vysokou prioritou. Mnohé aplikácie predpokladajú, že používateľ má pomerne pokročilé vývojárske znalosti. Naučiť sa testovať záťaž pomocou softvéru s otvoreným zdrojovým kódom je zvyčajne ťažké.

3. Obmedzenia zaťaženia používateľa

Testovací softvér s otvoreným zdrojovým kódom často naráža na problémy s pamäťou a procesorom pri vykonávaní veľkokapacitných záťažových testov. Spoločnosti na podnikovej úrovni môžu zistiť, že bezplatné testovanie záťaže jednoducho nie je dostatočne výkonné pre ich potreby.

Nástroje na testovanie zaťaženia podniku

Podnikové testovacie nástroje sú platené produkty určené pre potreby veľkých a komplexných organizácií. Často sú založené na predplatnom, pričom ceny zodpovedajú počtu simulovaných používateľov a ďalším špecifikám testu.

Na výber je mnoho podnikových spoločností na testovanie záťaže, ale vedúcim podnikom je ZAPTEST, líder v oblasti hyperautomatizácie, ZAPTEST je známy ako jeden z najlepších nástrojov na testovanie záťaže vďaka svojmu používateľsky prívetivému softvéru a neobmedzenému prístupu k podpore.

Kvalita a funkcie, ktoré ponúkajú spoločnosti zaoberajúce sa testovaním záťaže v podnikoch, sa môžu výrazne líšiť, preto sa organizáciám odporúča, aby pred objednaním dôkladne zvážili každého poskytovateľa.

Výhody nástrojov na podnikové testovanie

Hoci sa konkrétne funkcie a jednoduchosť ovládania menia v závislosti od konkrétneho produktu, najlepšie nástroje na testovanie záťaže majú tieto výhody.

1. Jednoduchosť používania

Softvér s otvoreným zdrojovým kódom môže mať mätúce používateľské rozhranie, komplikované procesy a všeobecnú ľahostajnosť voči používateľovi. Podnikové nástroje však kladú dôraz na intuitívne a jednoduché ovládanie.

2. Podpora zákazníkov

Hlavnou výhodou podnikového testovania je dostupnosť vyškolenej podpory. Odborníci vyškolení nielen v oblasti testovania záťaže, ale aj v oblasti špecifík záťažového testera, ktorý vlastníte, sú pripravení pomôcť vyriešiť akékoľvek problémy. Podniková služba bude mať podporu, ktorú môžete zastihnúť 24 hodín denne, 7 dní v týždni.

3. Spoľahlivosť

Podnikové testovacie nástroje sú určené na podporu spoločností s rozsiahlymi prevádzkami, kde akýkoľvek výpadok môže mať za následok výraznú stratu príjmov a spokojnosti zákazníkov. Tieto nástroje sú vytvorené tak, aby poskytovali použiteľné a presné údaje vhodné na dlhodobé plánovanie a rozhodovanie.

Obmedzenia nástrojov podnikového testovania

Hoci nástroje na podnikové testovanie ponúkajú viacero výhod oproti iným typom, obsahujú aj niektoré potenciálne obmedzenia.

1. Náklady

Najväčšou nevýhodou sú náklady. Podnikové testovanie záťaže funguje na základe modelu predplatného a náklady sa menia podľa počtu virtuálnych používateľov vytvorených počas testu.

Odstránenie úzkych miest a zabránenie výpadkom aplikácií je v konečnom dôsledku nákladovo efektívnejšou možnosťou, ale organizácii môžu stále vzniknúť značné počiatočné náklady. Naopak, zavedené balíky na testovanie záťaže, ako je ZAPTEST, ponúkajú jedno predplatné Software+Services s neobmedzeným používaním a licenciami… tento model zmierňuje neustále rastúce náklady na testovanie, keď sa spoločnosti rozširujú.

2. Krivka učenia

Hoci sú podnikové nástroje zďaleka najprívetivejšou možnosťou na testovanie záťaže, aj tie najlepšie nástroje na testovanie záťaže majú aspoň určitú krivku učenia. Členovia tímu, ideálne tí, ktorí majú skúsenosti s kódovaním, budú musieť stráviť čas tým, že sa naučia, ako tento nástroj maximálne využiť. Popredné nástroje na testovanie záťaže, ako je ZAPTEST, opäť zmierňujú túto nevýhodu tým, že poskytujú platformu s nízkym počtom kódov, ktorá nevyžaduje žiadne kódovacie zručnosti a môže ju používať väčšina ľudí v organizáciách, a nie iba vývojári.

Kedy by ste mali používať nástroje na testovanie záťaže pre podniky a kedy zadarmo?

Bezplatné nástroje na testovanie záťaže majú svoje miesto v mnohých organizáciách. Sú nákladovo najefektívnejšou možnosťou, vďaka čomu sú obľúbené medzi začínajúcimi firmami a inými podnikmi s obmedzenými zdrojmi.

Bezplatné nástroje sú tiež účinným spôsobom, ako rozšíriť súbor zručností jednotlivca. Napríklad tester môže vykonať záťažový test SoapUI nielen preto, aby otestoval systém, ale aj preto, aby lepšie porozumel tomuto open-source nástroju.

Pre väčšinu komerčných aplikácií a veľkých organizácií sú najlepšími nástrojmi na testovanie záťaže produkty podnikovej úrovne, ako napríklad ZAPTEST a podobné špičkové produkty. Poskytujú spoľahlivosť, presnosť a bezpečnosť, ktoré chránia vašu spoločnosť aj koncových používateľov. Okrem toho sa používajú oveľa jednoduchšie ako bezplatné nástroje a poskytujú bezkonkurenčnú úroveň funkčnosti.

Kontrolný zoznam testovania zaťaženia

Kontrolný zoznam testovania softvéru

Jedným z dôležitých kľúčov k úspešnému testovaniu záťaže je organizácia. Mnohé podniky zistili, že testovanie pomocou kontrolného zoznamu pomáha tímom udržať sa pri plnení úloh. Nasledujúci kontrolný zoznam slúži ako východiskový bod pre organizácie na podnikovej úrovni.

1. Webový server

  • Máte dostatočnú šírku pásma, aby ste zabránili preťaženiu?
  • Dokáže systém spracovať dostatočný počet transakcií za sekundu?
  • Máte dostatok webových serverov na zvládnutie obsadených a nečinných hrozieb?

2. Hostiteľ

  • Majú sieťové rozhrania problémy s procesorom, pamäťou alebo miestom na disku?
  • Aké procesy bežia na hostiteľovi?

3. Server aplikácií

  • Aké je využitie CPU potrebné pre každú úroveň zaťaženia?
  • Dochádza pri rôznych úrovniach zaťaženia k úniku pamäte?
  • Rozdeľujú aplikačné servery záťaž správne?

Hoci budete chcieť tento kontrolný zoznam upraviť podľa špecifických potrieb vašej organizácie, tieto základné prvky vám pomôžu zabezpečiť pokrytie kritických aspektov výkonu a prevádzky systému.

Záver

Testovanie záťaže zohráva zásadnú úlohu pri úspechu každého projektu vývoja softvéru. Ak chcú organizácie skutočne využiť možnosti nástrojov na automatizáciu testovania záťaže, mali by nadviazať partnerstvo so spoločnosťou na testovanie záťaže na podnikovej úrovni, ako je ZAPTEST.

Nástroje na testovanie záťaže umožňujú vašej organizácii identifikovať potenciálne poruchy služieb a úzke miesta, čo vedie k maximalizácii efektívnosti, zníženiu prestojov, zvýšeniu príjmov a zlepšeniu používateľskej skúsenosti.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo