Výkon vs zátěžové testování
V kontextu softwarového inženýrství se testování výkonu provádí za účelem zjištění úzkých míst systému. Testy výkonu lze také použít k ověření atributů, jako je spolehlivost, využití zdrojů a škálovatelnost, ak vytvoření základní linie pro výkon systému. Zátěžové testování je jedním z podžánrů testování výkonu. Provádí se za účelem měření chování systému při určeném pracovním zatížení. Testování zátěže je relevantnější pro víceuživatelské systémy založené na modelu klient-server, ale zátěžové testování lze provádět i u jiných softwarových systémů, jako jsou textové procesory nebo grafické editory.
Testování výkonu
Jak bylo uvedeno výše, testování výkonu se provádí za účelem určení a odstranění úzkých míst softwarového systému a stanovení základní linie jeho výkonu, která by byla užitečná pro další testování. Testování výkonu zahrnuje testy, jako jsou zátěžové testy, testy odolnosti (testy promočení), testy špiček, testy konfigurace a testy izolace. Testování výkonu vyžaduje získání pečlivě kontrolované sady měření systému. Chcete-li získat nejlepší výsledky z testování výkonu, mělo by být dobře naplánováno a mělo by být provedeno na stabilním systému, kde může proces testování probíhat hladce. Při testování výkonu je důležité jasně pochopit, co vlastně chcete měřit z hlediska výkonu systému. Pokud například testujete výkon webové aplikace, možná budete chtít znát přijatelnou dobu odezvy a počet souběžných uživatelů, které může systém zpracovat. S ohledem na tyto dva aspekty můžete začít test neustálým zvyšováním počtu uživatelů a identifikací úzkého místa.
Testování zátěže
Jak již bylo zmíněno, zátěžové testování je součástí testování výkonu a často se provádí zvýšením zátěže softwarového systému pomocí automatizovaných nástrojů. Zátěžové testování je někdy známé jako objemové testování. Některé příklady zátěžových testů mohou být testování poštovního serveru s velkým počtem uživatelských poštovních schránek nebo testování úpravy velmi velkého dokumentu pomocí textového procesoru. Zátěžové testy se provádějí pomocí předem definované úrovně zátěže, obvykle s využitím maximální zátěže, kterou systém dokáže zvládnout bez pádu. Zátěžové testování má obvykle za cíl odhalit chyby, které nejsou odhaleny při běžném testování, jako jsou problémy se správou paměti, úniky paměti, přetečení vyrovnávací paměti atd. Zátěžové testování také slouží jako prostředek k zajištění toho, že systém splňuje základní výkonnostní úroveň stanovenou během testování výkonu.
Rozdíl mezi výkonnostním a zátěžovým testováním
Přestože se termíny testování výkonu a zátěžové testování používají zaměnitelně, zátěžové testování je pouze jedním aspektem testování výkonu. Cíle obou testů jsou také odlišné. Testování výkonu využívá techniky zátěžového testování pro účely získávání měření a benchmarkingu a využívá několik úrovní zátěže. Testování zátěže však funguje na jedné předdefinované úrovni zátěže, obvykle na nejvyšší zátěži, kterou systém dokáže zvládnout, aniž by se zhroutil. V praxi se testy výkonu provádějí se záměrem najít úzká místa systému a odstranit je. A když už systém nelze optimalizovat, spustí se zátěžové testování, aby se zjistilo, co je potřeba do systému přidat (nejčastěji hardwarová rozšíření, jako je počet webových serverů nebo databázových serverů), aby byly splněny požadavky předem definované zákazníkem.