Výkon vs záťažové testovanie
V kontexte softvérového inžinierstva sa testovanie výkonu vykonáva s cieľom zistiť úzke miesta systému. Výkonnostné testy možno použiť aj na overenie atribútov, ako je spoľahlivosť, využitie zdrojov a škálovateľnosť, a na vytvorenie základnej línie pre výkon systému. Záťažové testovanie je jedným z podžánrov testovania výkonu. Vykonáva sa na meranie správania systému pri špecifikovanom 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 záťažové testovanie je možné vykonať aj pri iných softvérových systémoch, ako sú textové procesory alebo grafické editory.
Testovanie výkonu
Ako je uvedené vyššie, testovanie výkonu sa vykonáva na určenie a odstránenie prekážok softvérového systému a vytvorenie základnej línie jeho výkonu, ktorá by bola užitočná pre ďalšie testovanie. Testovanie výkonu zahŕňa testy ako záťažové testy, testy odolnosti (testy namočenia), hrotové testy, testy konfigurácie a testy izolácie. Testovanie výkonu vyžaduje získanie starostlivo kontrolovaného súboru meraní systému. Ak chcete dosiahnuť najlepšie výsledky z testovania výkonu, malo by byť dobre naplánované a malo by sa vykonávať na stabilnom systéme, kde môže proces testovania prebiehať hladko. Pri testovaní výkonu je dôležité jasne pochopiť, čo vlastne chcete merať z hľadiska výkonu systému. Napríklad, ak testujete výkon webovej aplikácie, možno budete chcieť poznať prijateľný čas odozvy a počet súbežných užívateľov, ktorých môže systém spracovať. S ohľadom na tieto dva aspekty môžete začať test neustálym zvyšovaním počtu používateľov a identifikáciou prekážok.
Testovanie záťaže
Ako už bolo spomenuté, testovanie záťaže je súčasťou testovania výkonu a často sa vykonáva zvýšením záťaže softvérového systému pomocou automatizovaných nástrojov. Záťažové testovanie je niekedy známe ako testovanie objemu. Príkladom záťažových testov je 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. Záťažové testy sa vykonávajú pomocou vopred definovanej úrovne záťaže, zvyčajne s použitím maximálnej záťaže, ktorú systém dokáže zvládnuť bez zrútenia. Cieľom testovania záťaže je zvyčajne odhaliť chyby, ktoré nie sú odhalené 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 tiež slúži ako prostriedok na zabezpečenie toho, aby systém spĺňal základnú líniu výkonu stanovenú počas testovania výkonu.
Rozdiel medzi testovaním výkonu a záťažovým testovaním
Aj keď sa pojmy testovanie výkonu a testovanie záťaže používajú zameniteľne, testovanie záťaže je iba jedným aspektom testovania výkonu. Ciele týchto dvoch testov sú tiež odlišné. Výkonnostné testovanie využíva techniky testovania záťaže na účely získavania meraní a benchmarkingu a využíva niekoľko úrovní záťaže. Testovanie záťaže však funguje na jednej vopred definovanej úrovni záťaže, zvyčajne najvyššej záťaži, ktorú systém dokáže zvládnuť bez zlyhania. V praxi sa výkonnostné testy robia so zámerom nájsť úzke miesta systému a odstrániť ich. A keď už systém nie je možné optimalizovať, spustí sa záťažové testovanie, aby sa zistilo, čo je potrebné do systému pridať (najčastejšie hardvérové rozšírenia, ako je počet webových serverov alebo databázových serverov), aby sa udržali požiadavky preddefinované zákazníkom.