Je website automatisch testen

Geschreven door: Stijn Janssen

Elke aanpassing aan een website brengt risico’s met zich mee. Hoe weet je zeker dat je niet iets kapot maakt op een andere plaats? Hoe complexer de website hoe groter het risico. Ga je bij elke lancering elke functionaliteit overlopen en testen? Ontdek hier wat je kan doen om een lancering vlekkeloos te laten verlopen.

In een ideaal scenario ga je bij elke update de website volledig testen. Maar laten we eerlijk zijn: een website volledig testen is in sommige gevallen onbegonnen werk. Een beetje doelloos doorheen de website klikken, wat formulieren invullen en een testbestelling plaatsen. Iets wat je al tientallen keren hebt gedaan en elke keer gewoon werkte. Je zou bijna denken dat het tijdverspilling is. Maar net die ene keer dat je deze stap overslaat staat Murphy aan je deur. Er is toch iets mis in je bestelproces en je ontvangt geen enkele bestelling meer.

Hoe kan je dit voorkomen?

Weet wat je zeker moet testen

Kijk eerst en vooral naar het doel van je website. Genereer je leads via een contactformulier? Dan moet je er zeker voor zorgen dat dat blijft werken. Heb je een webwinkel? Dan zorg ervoor dat je een bestelling kan plaatsen.

Ga dus op zoek naar de belangrijkste taken van je website:

  • Contact opnemen (via het contact-formulier)
  • Producten verkopen (het bestelproces)
  • Leads verzamelen (via de nieuwsbrief inschrijving)

Wil je nog een stap verder gaan? Lees dan meer over hoe wij een scope document gebruiken om elke functionaliteit in kaart te brengen.

Kunnen we dat automatiseren?

Ja, je kan dat ook automatiseren.

1. Gebruik Gherkin om de te testen functionaliteiten te omschrijven

Gherkin is een eenvoudige omschrijvende taal die iedereen kan begrijpen.

“Gherkin is a Business Readable, Domain Specific Language that lets you describe software’s behaviour without detailing how that behaviour is implemented.”

Het is een taal die leesbaar is voor iedereen en gebruikt wordt om functionaliteiten van applicaties of websites te omschrijven.
Achterliggend kan Gherkin uitgebouwd worden door de ontwikkelaar met code die de omschreven functionaliteiten kan gebruiken in zijn programmeertaal.
Meestal wordt Gherkin in het Engels gebruikt, maar het is beschikbaar in 37 talen, waaronder ook in het Nederlands.

De functionaliteit van het invullen van een contactformulier kunnen we als volgt omschrijven:

Gegeven dat er een link "Contacteer ons" is op de homepagina
Als ik naar de pagina "Contacteer ons" ga
En ik het contactformulier invul
Dan krijg ik een bedankt pagina te zien

Op basis van deze omschrijving is het voor iedereen duidelijk wat er wordt verwacht. De klant weet wat hij zal krijgen en wij weten wat we moeten bouwen. Hier zie je ook duidelijk de gelijkenissen met een scope document.

2. Schrijf tests aan de hand van de omschreven functionaliteiten

Elke regel in de omschrijving van de functionaliteit kunnen we voorzien van de nodige logica.

Om dat te doen maken we gebruik van Behat en Mink. Behat is een tool die de Gherkin taal interpreteert, Mink wordt gebruikt om op de achtergrond naar de website te surfen en bepaalde acties uit te voeren.

Laten we even dieper ingaan op deze regel:

En ik het contactformulier invul

De ontwikkelaar schrijf hier achterliggende de code voor:

Deze code zal op de pagina op zoek gaan naar het formulier (regel 9), dit invullen (regel 11 t.e.m. 14) en het formulier verzenden (regel 16).

3. Laat de tests lopen bij iedere aanpassing van de website

Als we deze test uitvoeren krijgen we dit resultaat:
We zien dat de test gelukt is en we dus zeker zijn dat het contactformulier werkt. Je kan deze test natuurlijk nog verder uitbreiden door ook de controleren als deze gegevens ook in de database worden opgeslagen en dat er ook een e-mail wordt verzonden naar de juiste persoon.

Ben je nu 100% zeker?

Dat ben je nooit. Webdevelopment is complex en complexe zaken zijn nu eenmaal gevoelig voor fouten. Maar door tests te automatiseren en bij iedere update aan je website te laten lopen ben je wel zeker dat je geen conversies zal mislopen.

 

Schrijf je in op onze maandelijkse developers nieuwsbrief als je op de hoogte wil blijven van wat onze developers lezen over webdevelopment.

0 Reacties op deze blogpost:

Er zijn momenteel nog geen reacties op deze blogpost.

Reageer ook op dit artikel

U kan optioneel inloggen met Twitter of Facebook. U krijgt dan de mogelijk om uw reactie ook te delen via Twitter of Facebook
Login with twitter
Aanmelden
{* Remarketing tag *}