Kan vi prestandatesta lite nu?

Många gånger har jag fått ställa kontrollfrågor till projektledare eller testledare om vad de tror att ett prestandatest är och dess syfte.  Jag har ibland fått vända på “steken” och förklara vad avsikten är med testet är och vilka mål vi skall uppnå och hur. Det verkar ibland vara så att det finns en tro om att ett prestandatest bara är att testa lite för att se att allt är ok och så. Så är det inte riktigt…

Ofta är det övergripande syftet med prestandatester att kontrollera om testobjektet är stabilt, skalbart och kan hantera flera samtida processer. Om testobjektet kan hantera dessa övergripande punkter har det troligen en god design. Naturligtvis måste prestandatesterna tas fram med hänsyn till vad ursprungsfunktionen var på framtagna designen.

Ett testfall i prestandatest är ett flöde eller anrop som skall genomföras mot objektet. Det kan förekomma flera testfall och deras funktion skall vara att generera anrop mot de delar som avses testas. Därefter designas ett scenario som körs och resultatet ger så svar på om testobjektet kan hantera de krav som specificerats. Scenariot kan vara uppsatt för att ge svar på om testobjektet kan hantera exempelvis 5 viktiga testflöden där samtidighet finns. Det kan exempelvis vara skrivning i en och samma tabell i en databas. Det kan vara en samtidighet av kod som exekveras vid inloggning i ett system.

Vi måste använda oss av gemensamma nämnare för att beskriva vad, hur och varförinnan vi tar fram testflöden för testfall, testscenarion för olika testtyper vid prestandatest.
Mitt förslag är att ställa följande frågor; “Varför skall vi prestandatesta, vad skall vi testa och hur?”

Sedan kan vi prestandatesta lite…

Några användbara testtermer vid prestandatest.
Testfall: Affärsflöde, användarflöde, testcase
Testtyp: Maximalbelastningstest, stabilitetstest, samtidighetstest
Testscenario: Urval av viktiga testfall med en belastningsprofil enligt Testtyp. Syftet kan vara att åstadkomma produktionslika antal och typer av anrop.