Test automatisch je performance met Pensum
Hoe borg je de beschikbaarheid, continuïteit en snelheid van je applicaties? Die vraag wordt steeds belangrijker bij het ontwikkelen van websites, online winkels, intranetten, mijn-omgevingen of maatwerksoftware. Daarom beschreven we al eerder welke vijf technische tests onderdeel vormen van ons ontwikkelproces. Stuk voor stuk leveren die waardevolle inzichten op. Maar er kleeft ook een nadeel aan: het ontwerpen, uitvoeren, analyseren en onderhouden van tests is tijdrovend. Daar verzonnen we iets op en die oplossing willen we graag met je delen.
Hoe mooi zou het zijn om de performance volledig automatisch te kunnen testen? En daar dus veel minder tijd aan kwijt te zijn? Vanuit die gedachte groeiden de ideeën voor een oplossing. Het resultaat: onze zelfontwikkelde tool Pensum, die het mogelijk maakt om de performance van je applicaties automatisch te testen. Snel en betrouwbaar. We leggen je in drie stappen uit hoe het werkt.
Stap 1: scenario's
De eerste stap van een performancetest is meestal het vormgeven van de scenario’s. Je stelt dan vragen als: Welke handelingen voeren gebruikers uit in de applicatie? Wat zijn de meest bewandelde paden? Hoeveel gebruikers verwacht ik en wat moet mijn applicatie aankunnen? Antwoorden op die vragen komen vaak uit data-analyses van tools voor application performance management. Op basis daarvan wordt een zo realistisch mogelijk scenario getest, dat overeenkomt met wat er in werkelijkheid gebeurt op de applicatieservers.
Pensum neemt je zo goed als het hele proces uit handen en bespaart je daarmee een hoop tijd. De tool genereert loadtestscenario’s op basis van Google Analytics-gegevens. Hierdoor zijn altijd de meest actuele scenario’s beschikbaar. Die hoef je dan zelf alleen nog maar te implementeren.
Stap 2: uitvoer
Zijn de scenario’s gegenereerd? Dan kun je starten met de uitvoer van de test. Klinkt eenvoudig, maar in de praktijk betekent dit dat je de hele infrastructuur moet inrichten zoals die er in productie uit komt te zien. Je hebt de juiste tooling nodig voor het opslaan van de resultaten, inzicht in de prestaties van applicatieservers en een visuele weergave van de juiste performance-indicatoren.
In Pensum integreerden we hiervoor drie krachtige tools: k6/LoadImpact voor het genereren van de load op de applicatieservers, InfluxDB voor het opslaan van de resultaten en Grafana voor het weergeven ervan.
Stap 3: rapportage en analyse
Nu de testresultaten zijn verzameld, wil je weten of de prestaties van de applicatie zijn verbeterd, verslechterd of gelijk gebleven. In deze fase stel je vast wat goede performance-indicatoren zijn en, als uit de resultaten een verslechtering blijkt, waar de vertragingen optreden.
Ook deze laatste stap maakt Pensum een stuk makkelijker, doordat je hiermee eenvoudig vergelijkingen kunt maken tussen testruns. Zeker als je bij iedere release een test uitvoert is dat handig: je legt de resultaten van de verschillende releases overzichtelijk naast elkaar. Pensum genereert na de test bovendien automatisch een rapportage in pdf.
Snel en foutloos
Je weet nu hoe Pensum het mogelijk maakt om ieder onderdeel van een technische kwaliteitstest – vormgeving, uitvoering en analyse – te automatiseren. Dat geeft je razendsnel inzicht in resultaten en pijnpunten. En dat bespaart je niet alleen tijd, het zorgt ook voor het minimaliseren van fouten. De testscenario’s zijn namelijk altijd gebaseerd op het daadwerkelijke gedrag van de applicatie.
En doordat Pensum een achteruitgang in de performance direct aan het licht brengt, en niet pas aan het einde van het ontwikkelproces, kun je daar meteen op inspelen. Door Pensum onderdeel te maken van de kwaliteitscontroles bij nieuwe releases bespaar je met weinig effort dus enorm veel tijd.
Heb je hulp nodig bij het uitvoeren van loadtesten? We helpen je graag. Neem contact met ons op via info@avivasolutions.nl of bel met 071 710 7474. Benieuwd naar de technische achtergrond of wil je Pensum zelf uitproberen? Kijk dan snel naar onze opensource repositories op GitHub. Of naar de Pensum extractortool om uit Google Analytics-gegevens een loadtestscenario te destilleren.
- performance
- testing
Softwaretesten en testmanagement dat is het expertisegebied van Michael. Hij deelt graag zijn lessons learned en hoe hij tot oplossingen voor geautomatiseerd testen, performance tuning en quality gatekeeping komt. Het helpen van organisaties bij het opzetten en/of verbeteren van hun testproces, dat is waar hij erg enthousiast van wordt.
Na zijn onderzoek naar het genereren en uitvoeren van loadtests aan de hand van historische data is Arjan onderdeel geweest van het opzetten van Pensum. Een manier om automatische load tests te genereren. Daarnaast werkt hij als back-end developer met certificering voor o.a. Kentico.