Skillnad mellan prestanda och belastningstestning
Prestanda vs lastningstestning
I samband med mjukvaruutveckling görs prestandatestning för att ta reda på flaskhalsarna i ett system. Prestandatester kan också användas för att verifiera attribut som tillförlitlighet, resursanvändning och skalbarhet och upprätta en baslinje för systemets prestanda. Lasttestning är en av delarna av prestandatestning. Det utförs för att mäta beteendet hos ett system under en angiven arbetsbelastning. Lasttestning är mer relevant för fleranvändarsystem baserat på klient-servermodell, men andra mjukvarusystem som ordbehandlare eller grafikredigerare kan också laddas.
Prestandatestning
Som nämnts ovan görs prestandatestning för att bestämma och eliminera flaskhalsar i ett mjukvarusystem och fastställa en baslinje av prestanda som skulle vara användbar för ytterligare testning. Prestandatestning innefattar test som lasttester, uthållighetstester (blötprov), spikprov, konfigurationstest och isolationstester. Prestandatest kräver att man får en noggrant kontrollerad uppsättning mätningar av systemet. För att få bästa resultat utifrån prestationstestning, bör det vara väl planerat och ska göras på ett stabilt system där testprocessen kan fortsätta smidigt. Det är viktigt att klart förstå vad du faktiskt vill mäta när det gäller prestanda hos systemet när du gör prestandatestning. Om du t ex testar prestanda för en webbapplikation kanske du vill veta den acceptabla svarstiden och antalet samtidiga användare som kan hanteras av systemet. Med tanke på dessa två aspekter kan du starta testet genom att ständigt öka antalet användare och identifiera flaskhalsen.
Lasttestning
Som tidigare nämnts är lasttestning en del av prestandatestning och det utförs ofta genom att öka belastningen på ett mjukvarusystem med hjälp av automatiserade verktyg. Lasttestning kallas ibland volymtestning. Några exempel på laddningstester skulle vara att testa en mailserver med ett stort antal användarpostlådor eller prova att redigera ett mycket stort dokument med en ordbehandlare. Lasttest utförs med en fördefinierad belastningsnivå, vanligtvis med den maximala belastningen som systemet kan hantera utan att krascha. Vanligtvis innebär laddningstest att exponera fel som inte utsätts för vanliga test, t.ex. minnehanteringsproblem, minnesläckor, buffertöverflöden etc. Laddningstestning fungerar också som ett medel för att säkerställa att systemet uppfyller prestanda baslinjen som fastställdes under prestandatestning.
Skillnad mellan prestanda och laddningstestning
Även om villkoren för prestandatestning och belastningstestning används omväxlande är laddningstestning bara en enda aspekt av prestandatestning.Målen för de två testen är också olika. Prestandatestning använder lasttesttekniker för att erhålla mätningar och benchmarking och det använder flera belastningsnivåer. Men lasttestning fungerar på en enda fördefinierad belastningsnivå, vanligtvis den högsta belastningen som systemet kan hantera utan att krascha. I praktiken utförs prestationstest med avsikt att hitta flaskhalsarna i systemet och eliminera dem. Och när systemet inte kan optimeras längre, startar laddningstestning, för att bestämma vad du behöver lägga till i systemet (oftast hårdvaruförlängningar som antal webbservrar eller databasservrar) för att behålla de krav som fördefinierats av kunden.