Zátěžové testování - Load testing
Zátěžové testování je proces kladení poptávky na systém a měření jeho odezvy.
Testování zátěže softwaru
Termín zátěžové testování se v profesionálu používá různými způsoby testování softwaru společenství. Zátěžové testování obecně označuje praxi modelování očekávaného využití softwarového programu simulací více uživatelů, kteří k programu přistupují souběžně.[1] Proto je toto testování nejdůležitější pro systémy s více uživateli; často vytvořený pomocí modelu klient / server, například webové servery. Lze však otestovat i jiné typy softwarových systémů. Například textový editor nebo grafický editor lze přinutit číst extrémně velký dokument; nebo lze finanční balíček přinutit ke generování zprávy na základě údajů za několik let. Nejpřesnější testování zátěže simuluje skutečné použití, na rozdíl od testování pomocí teoretického nebo analytického modelování.
Testování zátěže vám umožní měřit webové stránky kvalita služeb (QOS) výkon založený na skutečném chování zákazníka. Téměř všechny nástroje a rámce pro testování zátěže se řídí paradigmatem klasického testování zátěže: když zákazníci navštíví váš web, záznamník skriptů zaznamená komunikaci a poté vytvoří související skripty interakce. Generátor zátěže se pokusí přehrát zaznamenané skripty, které by bylo možné před přehráním upravit pomocí různých testovacích parametrů. V proceduře přehrání bude jak hardwarová, tak softwarová statistika sledována a shromažďována vodičem, tyto statistiky zahrnují CPU, paměť, IO disku fyzických serverů a dobu odezvy, propustnost testovaného systému (SUT) atd. Nakonec budou všechny tyto statistiky analyzovány a bude vygenerována zpráva o testování zátěže.
Analýzy zátěže a testování výkonu software určené pro publikum s více uživateli podrobením softwaru různým počtem virtuálních a živých uživatelů při sledování měření výkonu při těchto různých zatíženích. Testování zátěže a výkonu se obvykle provádí v testovacím prostředí, které je totožné s produkčním prostředím, než bude povoleno uvedení softwarového systému do provozu.
Jako příklad lze uvést web s nákupní košík je vyžadována schopnost podporovat 100 souběžných uživatelů rozdělených do následujících aktivit:
- 25 virtuálních uživatelů (VUsers) se přihlásí, prochází položky a poté se odhlásí
- 25 uživatelů se přihlásí, přidá položky do nákupního košíku, odhlásí se a poté se odhlásí
- Přihlásí se 25 uživatelů, vrátí dříve zakoupené položky a poté se odhlásí
- 25 uživatelů se pouze přihlásí bez jakékoli následné aktivity
Testovací analytik může k vytvoření těchto VUsers a jejich aktivit použít různé nástroje pro testování zátěže. Jakmile je test zahájen a dosáhne ustáleného stavu, je aplikace testována při zatížení 100 VUser, jak je popsáno výše. Poté lze sledovat a zaznamenávat výkon aplikace.
Specifika zatížení testovací plán nebo skript se bude v různých organizacích obecně lišit. Například ve výše uvedeném seznamu s odrážkami může první položka představovat 25 uživatelských jednotek procházejících jedinečné položky, náhodné položky nebo vybranou sadu položek v závislosti na vyvinutém plánu testu nebo skriptu. Všechny plány zátěžových testů se však pokoušejí simulovat výkon systému v celé řadě očekávaných špičkových pracovních toků a objemů. Kritéria pro splnění nebo neúspěšnost zátěžového testu (kritéria úspěšného / neúspěšného) se také v organizacích obecně liší. Neexistují žádné standardy specifikující přijatelné metriky výkonu při testování zátěže.
Běžnou mylnou představou je, že software pro testování zátěže poskytuje funkce záznamu a přehrávání jako regresní testování nástroje. Nástroje pro testování zátěže analyzují celek Zásobník protokolu OSI zatímco většina nástrojů pro regresní testování se zaměřuje na GUI výkon. Například nástroj pro regresní testování zaznamená a přehraje kliknutí myší na tlačítko ve webovém prohlížeči, ale nástroj pro testování zátěže odešle hypertext, který webový prohlížeč odešle poté, co uživatel klikne na tlačítko. V prostředí více uživatelů mohou nástroje pro testování zátěže odesílat hypertext pro více uživatelů, přičemž každý uživatel má jedinečné přihlašovací ID, heslo atd.
Populární dostupné nástroje pro testování zátěže také poskytují přehled o příčinách pomalého výkonu. Existuje mnoho možných příčin pomalého výkonu systému, mimo jiné včetně následujících:
- Aplikační server (y) nebo software
- Databázové servery
- Síť - latence, dopravní zácpy, atd.
- Zpracování na straně klienta
- Vyrovnávání zatížení mezi více servery
Zátěžové testování je obzvláště důležité, pokud bude aplikace, systém nebo služba podléhat dohoda o úrovni služeb nebo SLA.
Zátěžové testování se provádí za účelem zjištění chování systému za normálních i očekávaných podmínek špičkového zatížení. Pomáhá identifikovat maximální provozní kapacitu aplikace i případná úzká místa a určit, který prvek způsobuje degradaci. Když se zatížení umístěné v systému zvýší nad běžné vzorce používání, aby se otestovala odezva systému při neobvykle vysokém nebo špičkovém zatížení, je to známé jako zátěžové testování. Zátěž je obvykle tak velká, že očekávaným výsledkem jsou chybové podmínky, ale neexistuje jasná hranice, když aktivita přestane být zátěžovým testem a stane se zátěžovým testem.
Pojem „zátěžové testování“ se často používá jako synonymum pro souběžné testování, testování výkonu softwaru, testování spolehlivosti, a objemové testování pro konkrétní scénáře. To vše jsou typy nefunkční testování které nejsou součástí testování funkčnosti používaného k ověření vhodnosti pro použití daného softwaru.
Zážitek uživatele při zátěžovém testu
Ve výše uvedeném příkladu, když je testované zařízení (DUT) v produkčním zatížení - 100 VUsers, spusťte cílovou aplikaci. Výkon cílové aplikace by zde byl User Experience Under Load. Popisuje, jak rychle nebo pomalu DUT reaguje a jak spokojený nebo jak uživatel ve skutečnosti vnímá výkon.
Uživatelé na úrovni prohlížeče vs. na úrovni protokolu
Historicky byly všechny zátěžové testy prováděny s automatizovanými testy API, které simulovaly provoz prostřednictvím souběžných interakcí na vrstvě protokolu (často se tomu říká uživatelé na úrovni protokolu nebo PLU). S předstihem kontejnerů a cloudové infrastruktury je nyní k dispozici možnost testování s reálnými prohlížeči (často nazývanými uživatelé na úrovni prohlížeče nebo BLU).[2] Každý přístup má své výhody pro různé typy aplikací, ale obecně se uživatelé na úrovni prohlížeče budou více podobat skutečnému provozu, který web zažívá, a poskytnou realističtější profil zatížení a měření doby odezvy.[3] BLU jsou určitě dražší způsob provádění testů a nemohou fungovat se všemi typy aplikací, konkrétně s těmi, které nejsou přístupné prostřednictvím webového prohlížeče, jako je klient pro stolní počítače nebo aplikace založená na API.[4]
Nástroje pro testování zátěže
Název nástroje | Jméno společnosti | Licence | Typ | Ceny | Soustředit se | Poznámky |
---|---|---|---|---|---|---|
Apache JMeter | Open source projekt Apache Jakarta | Licence Apache 2.0 | Místní | Volný, uvolnit | Desktopová aplikace Java pro testování zátěže a měření výkonu. | |
BlazeMeter | BlazeMeter Ltd. | Proprietární | Cloudový | Zdarma plán k dispozici | Webové stránky, webové aplikace, mobilní zařízení, databáze a další scénáře | Škálovatelné načtení až 200 000 souběžných simulovaných uživatelů prohlížeče z osmi geografických umístění. Lze použít také pro integraci a funkční testování. |
Blitz | Spirent Communications | Proprietární | Cloudový | Zkušební verze k dispozici | Webové stránky, mobilní zařízení a rozhraní REST API | Umožňuje simulovat až 50 000 současných virtuálních uživatelů z různých míst po celém světě. |
Zaplavit | Tricentis Corp. | Proprietární | Cloudový | Úroveň bezplatného použití, úrovně placeného používání | Zátěžové testování založené na prohlížeči, API a aplikace založené na protokolu | Škálovatelné načtení až milionů souběžných uživatelů ze všech geografických oblastí dostupných v AWS a Azure plus místní nasazení. Ceny vycházejí z hodin virtuálního uživatele spotřebovaných každý měsíc.[5][6] |
Gatling | Otevřený zdroj | Licence Apache 2.0 | Místní | Volný, uvolnit | Webové aplikace Java | Přenosné zprávy HTML. |
Loader.io | Laboratoře SendGrid | Proprietární | Cloudový | Zdarma plán k dispozici | Webové aplikace a API | |
LoadRunner | Micro Focus | Proprietární | Místní | Zkušební verze k dispozici | Primárně se používá k provádění velkého počtu testů (nebo velkého počtu virtuálních uživatelů) současně. Lze použít také pro testování jednotek a integrace. | |
Zátěžový test (součástí dodávky SOAtest ) | Parasoft | Proprietární | Místní | Demo k dispozici | Nástroj pro testování výkonu, který ověřuje funkčnost a výkon při zatížení. Podporuje testy SOAtest, JUnits, lehké komponenty založené na soketu. Zjistí problémy se souběžností. | |
loadUI | Software SmartBear | EUPL | Místní | Demo k dispozici | Cross-platformový nástroj pro testování zátěže, zaměřený hlavně na webové služby. Integrace s soapUI. | |
Přihlášení VSI | Přihlásit se VSI, Inc. | Proprietární | Místní | Zkušební verze k dispozici | Virtuální pracovní plochy Windows | |
NeoLoad | Neotys | Proprietární | Místní | Zdarma plán k dispozici | Web a mobilní zařízení | Načíst lze generovat od místních agentů nebo z cloudu. |
OpenSTA | Otevřená architektura testování systému | GNU General Public License 2.0 | Místní | Volný, uvolnit | webový server | Využívá distribuovanou softwarovou architekturu založenou na CORBA. Binární soubory OpenSTA dostupné pro Windows. |
Rational Performance Tester | IBM | Proprietární | Místní | Zkušební verze k dispozici | Nástroj pro testování výkonu ve velkém měřítku založený na Eclipse se primárně používá k provádění testů výkonu ve velkém objemu k měření doby odezvy systému pro aplikace založené na serveru. | |
Obležení | Otevřený zdroj | Otevřený zdroj GPLv3 nebo novější | Místní | Volný, uvolnit | Webové servery | Podporuje základní ověřování, soubory cookie, protokoly HTTP, HTTPS a FTP. |
Silk Performer | Borland | Proprietární | Místní | Zkušební verze k dispozici | Nástroj pro výkon aplikací s cloudovými a místními virtuálními agenty. Podporuje většinu protokolů a aplikací. Licencováno. | |
Testovací studio | Telerik | Proprietární | Místní | Zkušební verze k dispozici | Posuďte, jak by si web vedl, kdyby jej navštívil velký počet uživatelů současně. | |
Vizuální studio Enterprise vydání | Microsoft | Proprietární | Místní | Zkušební verze k dispozici | Edice Visual Studio Enterprise obsahuje nástroj pro testování zátěže, který umožňuje vývojářům provádět různé testy (web, jednotky atd.) S kombinací konfigurací pro simulaci skutečného zatížení uživatele.[7] | |
WebLOAD | RadView | Proprietární | Místní | Zdarma plán k dispozici | Webové a mobilní aplikace a API | Nástroj pro testování zátěže pro webové a mobilní aplikace včetně Web Dashboard pro analýzu testu výkonu. Používá se pro velké zátěže, které lze generovat také z cloudu. Licencováno. |
Testování fyzického zatížení

Mnoho druhů strojů, motorů,[8] struktury,[9] a motory[10] jsou testovány na zátěž. Zátěž může být na určeném bezpečném pracovním zatížení (SWL), plném zatížení nebo na zvýšené úrovni zatížení. Řídící smlouva, technické specifikace nebo testovací metoda obsahuje podrobnosti o provedení zkoušky. Účelem zkoušky mechanickým zatížením je ověřit, zda jsou všechny součásti konstrukce včetně materiálů, upevnění základny vhodné pro daný úkol a zatížení, pro které je navrženo.
Je použito několik typů zátěžových testů
- Statické testování je, když je po stanovenou dobu aplikováno určené konstantní zatížení.
- Dynamické testování je, když je aplikováno proměnné nebo pohyblivé zatížení.
- Cyklické testování spočívá v opakovaném nakládání a vykládání pro stanovené cykly, doby trvání a podmínky.
The Nařízení o dodávkách strojních zařízení (bezpečnost) z roku 1992 ve Velké Británii uveďte, že před prvním uvedením zařízení do provozu se provádí zátěžové zkoušky. Testování výkonu aplikuje bezpečné pracovní zatížení (SWL) nebo jiné specifikované zatížení po stanovenou dobu v rozhodující zkušební metodě, specifikaci nebo smlouvě. Pod Předpisy pro zdvihací zařízení a zdvihací zařízení 1998 UK zkouška zátěže po počáteční zkoušce je nutná, pokud je vyměněna hlavní součástka, je-li předmět přemístěn z jednoho místa na druhé nebo podle pokynů kompetentní osoby.
Systém nabíjení automobilu
Zátěžový test lze použít k vyhodnocení zdravotního stavu automobilu baterie. Tester se skládá z velkého odporu, který má odpor podobný jako u automobilu startovací motor a měřič pro čtení výstupního napětí baterie v nezatíženém i nabitém stavu. Při použití testeru se nejprve zkontroluje napětí v otevřeném obvodu baterie. Pokud je napětí naprázdno pod specifikací (12,6 V pro plně nabitou baterii), baterie se nabije jako první. Po přečtení napětí otevřeného obvodu baterie se přivede zátěž. Když je aplikován, čerpá přibližně stejný proud, jaký by startovací motor vozu čerpal během natáčení. Na základě zadaného studené spouštěcí ampéry baterie, pokud napětí pod zátěží klesne pod určitý bod, je baterie špatná. Zátěžové testy se také používají u běžících automobilů ke kontrole výkonu vozu alternátor.
Viz také
Reference
- ^ Wescott, Bob (2013). Kniha Výkon každého počítače, Kapitola 6: Testování zátěže. CreateSpace. ISBN 978-1482657753.
- ^ Platz, Wolfgang. „Budoucnost zátěžového testování je BLU“. InfoWorld. Citováno 2018-11-23.
- ^ „Nyní jsme všichni testery zátěže (možná) - DevOps.com“. DevOps.com. 2018-02-08. Citováno 2018-11-23.
- ^ "Jak provést zátěžové testy se skutečnými prohlížeči pomocí Flood Element?". geekflare.com. 2018-11-17. Citováno 2018-11-23.
- ^ Erinle, Bayo (2014). Kuchařka JMeter. Packt Publishing. ISBN 978-1783988280.
- ^ Erinle, Bayo (2015). Testování výkonu pomocí JMeter. Packt Publishing. ISBN 978-1784394813.
- ^ „Testování aplikací ASP.NET s Visual Studio 2010“. Eggheadcafe.com. Citováno 2013-01-13.
- ^ Harper, David; Devin Martin, Harold Miller, Robert Grimley a Frédéric Greiner (2003), Design 6C Heavy-Duty Gas Turbine, ASME Turbo Expo 2003, společně s Mezinárodní konferencí o generování elektrické energie v roce 2003, svazek 2: Turbo Expo 2003, Atlanta GA: ASME 1., str. 833–841, ISBN 978-0-7918-3685-9, vyvoláno 2013-07-14CS1 maint: více jmen: seznam autorů (odkaz)
- ^ Raines, Richard; Garnier, Jacques (2004), 23. mezinárodní konference o offshore mechanice a arktickém inženýrství, svazek 1, části a a B 23. mezinárodní konference o offshore mechanice a arktickém inženýrství, 1, Vancouver, BC: ASME, s. 621–631, doi:10.1115 / OMAE2004-51343, ISBN 978-0-7918-3743-6, vyvoláno 2013-07-14
- ^ STANOVENÍ ZATÍŽENÍ A ÚČINNOSTI ELEKTRICKÝCH MOTORŮ (PDF)„DOE / GO-10097-517, americké ministerstvo energetiky, 2010, ISBN 978-0-9709500-6-2, vyvoláno 2013-07-14
externí odkazy
- Modelování reálného světa pro webové stránky pro testování zátěže Steven Splaine
- Co je testování zátěže? Tom Huston
- 4 typy zátěžových testů a kdy by měly být použity David Buch
- Test výkonu, zátěže, stresu nebo vytrvalosti? Které chcete? Chris Jones