Testovanie výkonu verzus zaťaženie
V kontexte softvérového inžinierstva sa vykonáva testovanie výkonu, aby sa zistili úzke miesta systému. Testy výkonnosti sa môžu tiež použiť na overenie atribútov, ako sú spoľahlivosť, využitie zdrojov a škálovateľnosť, a na stanovenie základnej línie pre výkon systému. Testovanie záťaže je jedným z podžánrov testovania výkonnosti. Vykonáva sa na meranie správania systému pri určenom pracovnom zaťažení. Testovanie záťaže je relevantnejšie pre systémy s viacerými používateľmi založené na modeli klient-server, ale testovať sa môžu aj iné softvérové systémy, ako sú textové procesory alebo grafické editory..
Testovanie výkonu
Ako je uvedené vyššie, testovanie výkonu sa vykonáva s cieľom určiť a odstrániť prekážky softvérového systému a vytvoriť základňu jeho výkonnosti, ktorá by bola užitočná pre ďalšie testovanie. Testovanie výkonu zahŕňa testy, ako sú záťažové testy, testy odolnosti (namáčacie testy), testy špičiek, testy konfigurácie a izolačné testy. Testovanie výkonu vyžaduje získanie starostlivo kontrolovaného súboru meraní systému. Na dosiahnutie najlepších výsledkov z testovania výkonnosti by malo byť dobre naplánované a malo by sa to robiť na stabilnom systéme, v ktorom proces testovania môže pokračovať hladko. Pri testovaní výkonnosti je dôležité jasne porozumieť tomu, čo skutočne chcete merať z hľadiska výkonnosti systému. Napríklad, ak testujete výkon webovej aplikácie, možno budete chcieť poznať prijateľný čas odozvy a počet súčasných používateľov, s ktorými môže systém pracovať. Berúc do úvahy tieto dva aspekty, môžete test spustiť neustálym zvyšovaním počtu používateľov a identifikáciou prekážky.
Testovanie zaťaženia
Ako už bolo uvedené, testovanie záťaže je súčasťou testovania výkonnosti a často sa vykonáva zvyšovaním záťaže na softvérový systém pomocou automatizovaných nástrojov. Testovanie záťaže je niekedy známe ako test objemu. Príkladom záťažových testov by bolo testovanie poštového servera s veľkým počtom poštových schránok používateľov alebo testovanie úpravy veľmi veľkého dokumentu pomocou textového procesora. Testy zaťaženia sa vykonávajú s použitím preddefinovanej úrovne zaťaženia, zvyčajne s použitím maximálneho zaťaženia, ktoré systém dokáže zvládnuť bez zlyhania. Cieľom testovania záťaže je zvyčajne odhaliť chyby, ktoré nie sú vystavené pri bežnom testovaní, ako sú problémy so správou pamäte, úniky pamäte, pretečenie vyrovnávacej pamäte atď. Testovanie záťaže slúži tiež ako prostriedok na zabezpečenie toho, aby systém spĺňal základnú úroveň výkonnosti stanovenú počas testovania výkonnosti..
Rozdiel medzi testovaním výkonu a zaťaženia
Aj keď sa pojmy testovanie výkonu a testovanie záťaže používajú vzájomne zameniteľné, testovanie záťaže je iba jedným aspektom testovania výkonnosti. Ciele týchto dvoch testov sú tiež rôzne. Testovanie výkonnosti využíva techniky testovania záťaže na účely získania meraní a porovnávania a používa niekoľko úrovní záťaže. Testovanie záťaže však funguje na jednej preddefinovanej úrovni záťaže, zvyčajne na najvyššiu záťaž, ktorú systém dokáže zvládnuť bez toho, aby došlo k zlyhaniu. V praxi sa testy výkonnosti vykonávajú s úmyslom nájsť prekážky systému a odstrániť ich. A keď už systém nie je možné optimalizovať, spustí sa testovanie záťaže, aby sa zistilo, čo je potrebné do systému pridať (najčastejšie hardvérové rozšírenia, ako je napríklad počet webových serverov alebo databázových serverov), aby sa dodržali požiadavky vopred definované zákazníkom..