Performance is de snelheid waarmee het informatiesysteem interactieve en batchtransacties afhandelt. Performancetesten is het proces van plannen, voorbereiden, uitvoeren en beoordelen, dat tot doel heeft het prestatieniveau van een informatiesysteem vast te stellen en het verschil tussen de actuele en vereiste prestatieniveau aan te tonen. Deze simulatie van die bepaalde belasting wordt gerealiseerd met behulp van tools.

Wat is performance testen niet?

Performance testen is niet het voorspellen op basis van testresultaten bij minimale belasting. Extrapoleren van resultaten is alleen mogelijk m.b.v. speciale tools. Indien bij 5 gebruikers een actie 6 seconden duurt, duurt bij 10 gebruikers de actie zelden 12 seconden. Indien je probeert te extrapoleren naar 100 of meer gebruikers, is het resultaat van onbetrouwbaar tot volledig onjuist.

Extrapoleren van resultaten is alleen mogelijk met behulp van speciale tools. Hiervoor zijn netwerkmanagementtools met voorspelmogelijkheden nodig. Deze tools maken gebruik van uitgebreide bestanden met meetgegevens uit benchmark tests waardoor meetdata geëxtrapoleerd kan worden voor diverse combinaties van technologie en hardware (bijvoorbeeld programma X op hardware van het type Y). Ook deze extrapolatietools kunnen niet direct in alle omstandigheden gebruikt worden. In sommige situaties kan echter op basis van metingen in productie uiteindelijk genoeg data worden verzameld voor het voorspellen van performance bottlenecks.

Performance testen is niet het voorspellen op basis van testresultaten die voortkomen uit testen op een niet productielijkende testomgeving.

Er achter komen dat twee (of 5, of 10) mensen niet tegelijkertijd kunnen inloggen, wegens gebrek aan mogelijke verbindingen met de database, is geen performance bevinding. Dit had ook door het functionele testteam getest kunnen worden. Er is pas sprake van een performancetest indien bij meerdere users (50, 100 of meer) de database sessies, in tegenstelling tot wat in het ontwerp staat niet snel genoeg weer worden vrijgegeven.

Constateren dat een databaserecord locked bij multi-user situaties en niet snel genoeg wordt vrijgegeven, is geen performance test resultaat. Het is goed dit te constateren, maar het kost alleen maar testtijd bij het komen tot een echt performance testresultaat.

Hardware oversizen is geen alternatief voor performancetesten. Het verdubbelen van de hoeveelheid geheugen betekent niet dat de verwerkingssnelheid verdubbeld. Bij het toekennen van meer geheugen is zelfs een performance verslechtering mogelijk.

Performance test soorten

Normale Load test

Het doel van de Normale Load test is het vaststellen van het prestatieniveau van het te testen systeem, dat wordt blootgesteld aan een normale belasting, en aan te tonen wat het verschil is tussen de gemeten en de vereiste situatie. Tijdens de Normale Load test worden de reactietijden gemeten van verwerkingen waarvan een risico is onderkend. Het systeem wordt in zijn geheel belast op een manier zoals dat na inproductiename van de release ook in productie plaats zal vinden.

Piek Load test

Het doel van de Piek Load test is het vaststellen van het prestatieniveau van het te testen systeem, dat wordt blootgesteld aan een maximaal verwachte belasting, en aan te tonen wat het verschil is tussen de gemeten en de vereiste situatie. Tijdens de Piek Load test worden de reactietijden gemeten van verwerkingen waarvan een risico is onderkend. Het systeem wordt in zijn geheel belast op een manier zoals dat na inproductiename van de release ook in productie plaats zal vinden.

Stress test

Het doel van de Stress test is het vaststellen van het breekpunt van het te testen systeem en aan te tonen wat het verschil is tussen de gemeten belasting op het moment dat het systeem niet meer naar behoren werkt en de vereiste maximale belasting die het systeem aan moet kunnen. Tijdens de Stress test worden de reactietijden gemeten van verwerkingen waarvan een risico is onderkend. Het systeem wordt in stappen steeds zwaarder belast. De belasting van het systeem wordt geleidelijk opgevoerd tot het breekpunt is bereikt. Deze test kan ook andere dan de te testen systemen raken.

Failover test

Het doel van de Failover test is het vaststellen van het prestatieniveau van het te testen systeem, dat wordt blootgesteld aan een vooraf vastgestelde belasting gedurende een langere periode, als er één of meerdere onderdelen van een in twee- of meervoud uitgevoerd systeem uitvallen.

Tuning test

Het doel van de Tuning test is het vaststellen van de invloed van een wijziging op systeem of applicatief gebied op het prestatieniveau van het te testen systeem. De eerste keer zal de Tuning test dus uitsluitend een benchmark (0-meting) opleveren en geen inzicht bieden in verbeteringen of verslechteringen van de performance.