Het VNSG Magazine, het vakblad voor alle SAP gebruikers in Nederland en Vlaanderen, verschijnt 5 keer per jaar. PTWEE geeft in iedere editie een praktische tip over testen in een SAP omgeving. Deze tip gaat over het voorkomen van performance problemen.

Voorkom performance problemen!


Bij SAP implementaties of upgrades wordt vaak te weinig aandacht gegeven aan het testen van de performance. Helaas zijn er veel schrijnende praktijkvoorbeelden van business schade als gevolg van performance problemen. In een vroeg stadium nadenken over performance requirements, uitvoeren van een risicoanalyse en gestructureerd testen van de performance kan problemen voorkomen. In deze tip wordt uitgelegd wat een goede aanpak is voor het testen van performance en welke (betaalbare) tools daarbij gebruikt kunnen worden.

Risico’s


Om tot een gedegen aanpak te komen, is het noodzakelijk om in eerste instantie de performance risico’s te identificeren. Hierbij worden de volgende risico categorieën onderkend:

  • Business performance risico’s gaan vooral om tijdigheid in ketens, waarbij de bedrijfsvoering in het gedrang komt als niet voldaan wordt aan de tijdigheid
  • De risico’s voor gebruikers liggen vooral in de response snelheid van de applicatie. Als deze te hoog is, zullen gebruikers geen gebruik maken van de applicatie of vertraging oplopen in de uitvoering van hun taken.
  • De technische risico’s moeten worden gezocht in de technische componenten van de applicaties en het resource gebruik.

Bovenstaande risico’s zijn het startpunt voor de rest van het traject. Deze moeten zo specifiek mogelijk opgesteld worden met mensen vanuit IT én business die over de juiste kennis beschikken. 

Soorten performancetesten


Op basis van de risico’s wordt bepaald welke type performancetesten er uitgevoerd moeten worden. Als er bijvoorbeeld een risico wordt gezien bij de hoeveelheid transacties op een piekmoment, zal er een piekbelasting test uitgevoerd moeten worden.

Performancetesten zijn er in verschillende ‘smaken’ en typen, zowel online als via batchverwerking. Deze testen kunnen zowel apart als in combinatie worden uitgevoerd. Hieronder de meest gebruikte testen: 

Online

  • Gemiddelde belasting; Performancetest waarbij de gemiddelde belasting over een periode wordt getest. Doel is het achterhalen van de responsetijden.
  • Piekbelasting; Performancetest waarbij de belasting op het drukste moment wordt getest. Doel is het achterhalen van de responsetijden.
  • Stresstest; Performancetest waarbij het maximum van de omgeving wordt opgezocht totdat er ergens een bottleneck ontstaat. Hierbij ligt de scope vooral op resourcegebruik.

Batch

  • Performancetesten van batchruns op tijdigheid; Hierbij wordt het batchschema getest op het op tijd afronden van de batches, zodat het batchschema niet uitloopt.

Requirements


De requirements (bijvoorbeeld: te behalen responsetijden per schermwisseling) worden gekoppeld aan de geïdentificeerde performancetests. Ook hierbij geldt dezelfde verdeling als bij risico’s: business requirements, user requirements en technical requirements. Door deze verdeling aan te houden is goed te zien welke risico’s worden afgedekt door welke requirements.

Het is belangrijk om requirements zo SMART mogelijk vorm te geven. Veelal hebben bedrijven moeite met het opstellen van requirements en worden er requirements gebruikt als “Het moet snel genoeg zijn!”. Het spreekt voor zich dat je op deze manier geen requirements kan testen. Een voorbeeld van een goede requirement is: “De schermwisseling tussen scherm 1 en scherm 2 bedraagt bij piek load in 95% van de gevallen minimaal 3 seconden.”

Eén van de speciale requirements is de samenstelling van de load die gehaald moet worden in de testen. Om deze helder en overzichtelijk in kaart te brengen wordt vaak een loadmodel gebruikt.

Loadmodel


Per type performancetest moet de load geïdentificeerd worden, om uiteindelijk in de uitvoer een realistisch en ‘productie-like’ load op het systeem te zetten. In SAP is dit prima te achterhalen door in transactie ST03N te kijken en de load op het piekmoment helder te krijgen. Hieronder een voorbeeld.

Loadmodel SAP voorbeeld

Voor elk van de transacties in het loadmodel zal in principe een toolscript gemaakt moeten worden. De combinaties van toolscripts worden op het testsysteem gezet om de test uit te voeren.

Tool


Voor het uitvoeren van de performance tests zijn tools nodig. Bij SAP komt men dan al snel uit op commerciële tools, zoals HP Loadrunner of SilkPerformer. Deze tools zijn erg goed voor de uitvoer en analyse van performancetesten, maar ook niet goedkoop. Daarom loont het om ook naar alternatieve tools te kijken.

Als er bijvoorbeeld gebruik wordt gemaakt van SAP XI of web portals om SAP heen, is ook prima performance te testen met een open source tool als JMeter. Deze tool volstaat prima om load op het systeem te zetten en is ook nog eens gratis te downloaden. Voor veel van de tools zijn bovendien trials te vinden op het internet:
JMeter: http://jmeter.apache.org/download_jmeter.cgi
Loadrunner: http://www8.hp.com/nl/nl/software-solutions
SilkPerformer: http://www.borland.com/products/silkperformer/try/

Uitvoer en analyse


Wanneer de toolscripts zijn gemaakt, kan er gestart worden met de uitvoer en analyse van de testen. Hierbij spelen de volgende aandachtspunten een rol:

‘Productie-like’ omgeving
Om de juiste resultaten te krijgen is het noodzakelijk een ‘productie-like’ omgeving te hebben. Het uitvoeren van performancetesten op een kleine testomgeving is helaas niet voldoende, omdat het onmogelijk is de resultaten te extrapoleren naar productie. Een ‘productie-like’ omgeving houdt in dat zowel de hardware, software als testdata in de omgeving ‘productie-like’ moet zijn.

Multidisciplinair team
Om de juiste analyses te kunnen doen is het belangrijk om de juiste kennis in een multidisciplinair team te hebben. In dit team nemen veelal beheerders, een architect, iemand met functionele kennis en de performancetesters plaats. Gezamenlijk kunnen deze mensen bij performance issues de problemen tackelen.

Conclusie


Performancetesten is niet goedkoop, complex en vooral een technische vorm van testen. Echter door de grote complexiteit van SAP omgevingen en de impact die performance problemen kunnen hebben op de business is het toch vaak noodzakelijk om de performance goed te testen. Door in de opzet van performancetesten rekening te houden met bovenstaande tips, wordt de kwaliteit van de performancetesten beter en door het slim aan te pakken kan geld bespaard worden!

Deze tip is in samenwerking met Maarten Metselaar opgesteld. Voor vragen kunt u contact opnemen met Frank Paymans van PTWEE via 073 711 45 20 of frank.paymans@ptwee.nl.