Performancetesten door een dummy - Meerdere HTML pagina's performance test

Niet altijd wil je slechts 1 pagina meenemen in de performancetest. Soms wil je een gebruiker wat uitgebreider simuleren. Stel nu, dat je wil weten hoe de performance is, als een gebruiker eerst naar de homepage gaat enhierna een keuze maakt. En deze stappen vervolgens een aantal keer herhaald. Bij deze variant gaan we nog wel uit van een vast aantal keer de pagina's oproepen per gebruiker. Dus zeker nog niet echt realistisch. Maar je kan al wel zien hoe de site zich houdt, als een gebruiker langer op de site bezig is.

Plannen van je performancetest

Voordat je begint, moet je bedenken welke pagina's je op wilt roepen. In veel gevallen, en dat zullen wij voor deze test ook doen, zal de gebruiker binnen komen op de homepage. Hier zal hij een keuze maken, om een andere pagina te openen. Probeer te achterhalen hoeveel een klant gemiddeld vanuit de homepage een pagina opent. Als je dit gemiddelde aanhoudt voor het herhalen van het opvragen van de pagina's, dan wordt je test een stuk realistischer.

De beschreven test heeft slechts 1 herhaling. Als je echter het hieronder beschreven principe snapt, kan je helemaal zelf bepalen welke pagina's je opvraagt, in welke volgorde en hoe vaak je pagina's wilt herhalen. Het wat nu nog niet te wijzigen is, is het aantal keer herhalen.

Start op de homepage of met een link uit bijvoorbeeld een actie. Bedenk naar welke pagina's je de gebruiker daarna wil gaan. En bedenk of er hier sprake is van een herhaling. Dit is het geval als je steeds dezelfde handelingen uitvoert, maar alleen de data varieert. Hierboven is dit: een homepage openen en vanuit de homepage naar een andere pagina gaan. Omdat je op de vervolgpagina geen actie uitvoert, is het enige verschil het pad. En dat is in een bestand in te lezen.

JMeter - Standaard HTTP request instellingen

Nu we met meerdere requests gaan werken, kunnen we gebruik gaan maken van een element dat ervoor zorgt dat elk request dezelfde waardes meekrijgt.

  • Maak een test aan met 1 HTML pagina
  • Klik met de rechtermuisknop op Thread Group
  • Klik in het menu op Add > Config Element > HTTP Request Defaults
  • Klik op het net toegevoegde element HTTP Request Defaults

De invoervelden die je hier ziet, zijn bovenin grotendeels gelijk aan de velden bij een HTTP request. Wanneer je hier een waarde invult, wordt deze automatisch aangehouden bij alle HTTP requests. Pas als je bij een HTTP request bewust zelf een andere waarde invoert, worden de waardes uit dit default element genegeerd.

Deze manier heeft een heel belangrijk voordeel. Wijzigingen moeten maar op een plaats ingevoerd worden en vervolgens worden ze automatisch door de andere requests overgenomen
  • Voer Server Name or IP de URL in van de website
  • Klik op HTTP Request
  • Verwijder hier bij Server Name or IP de ingevoerde waarde

JMeter - Requests herhalen

Wanneer je in JMeter meerdere requests toevoegt, is de uitvoering eenvoudig te voorspellen. De requests worden altijd van boven naar onderen uitgevoerd, zolang ze in dezelfde thread group staan. Om nu bepaalde requests te herhalen, maak je gebruik van controllers.

  • Klik met de rechtermuisknop op Thread Group
  • Klik in het menu op Add > Logic Controller > Loop Controller
  • Versleep de HTTP Request naar binnen de Loop Controller
  • Klik op het element Loop Controller


  • Vul bij Loop Count het aantal gewenste herhalingen in


JMeter - Tweede request toevoegen


Het tweede request gaat van data variëren m.b.v. een CSV file. Zie voor meer informatie het onderdeel Data variëren in een URL.

  • Maak een CSV bestand met padnamen gevolgd door een controle waarde die op de op te vragen pagina voorkomt.

  • Klik met de rechtermuisknop op Loop Controller
  • Klik in het menu op Add > Config Element > CSV Data Set Config
Let op: de volgorde maakt niet uit. Een Config element wordt altijd voor de requests uitgevoerd. Maar voor de duidelijkheid kan het verstandig zijn dit element boven het HTTP request te slepen.


  • Klik op de net toegevoegde CSV Data Set Config
  • Voer bij Filename de naam van je CSV bestand in
  • Voer bij Variable Names de volgende waarde in: keuzes, controle
Het kan handig zijn om te weten of de eerste, tweede of derde request overduidelijk langzamer gaat, dan de anderen. Dit gaan we bijhouden door een teller toe te voegen en de waarde van de teller in de naam van het HTTP request te zetten.



  • Klik met de rechtermuisknop op Loop Controller
  • Klik in het menu op Add > Confic Element > Counter

Counter element

Het counter element kan je gebruiken als teller. Bij Start geef je aan vanaf welk getal je wilt beginnen. Bij Maximum bij welke gebruiker je wilt stoppen. Increment is de waarde die elke keer bij het getal wordt opgeteld. Bij een start van 3 en een increment van 2, worden de stappen opeenvolgend dus 3, 5, 7, enz. . De naam van de variabele wordt weergegeven bij Reference Name


  • Voer bij Start de waarde 1 in
  • Voer bij Increment de waarde 1 in
  • Voer bij Maximum de waarde in die hoger ligt dan het maximum aantal keer dat je de loop wilt herhalen
  • Voer bij Reference Name de waarde "nummer" in


    • Klik met de rechtermuisknop op Loop Controller
    • Klik in het menu op Add > Sampler > HTTP Request
    • Klik op de net toegevoegde HTTP Request
    • Wijzig Name naar de waarde "HTTP Request ${nummer}"
      Hier wordt dus de variabele uit de counter gebruikt
    • Wijzig Path naar de waarde "${keuze}
      Dit is de variabele voor het pad uit het CSV bestand

    • Klik met de rechtermuisknop op het element "HTTP Request ${nummer}"
    • Klik in het menu op Add > Assertions > Response Assertion
    • Klik onder Patterns to Test op de knop Add
    • Voer in de toegevoegde regel de waarde "${controle}" in
      Dit is de variabele voor de controletekst uit het CSV bestand
    Door deze stappen naar wens te herhalen, krijg je een performancetest met het gewenste aantal requests en loops.










      Geen opmerkingen:

      Een reactie posten

      Opmerking: Alleen leden van deze blog kunnen een reactie posten.