Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door Bas de Ruiter en Jesse van Muijden

Bdd op Tweakers

Hoe Tweakers Behat integreerde

Inleiding

Jargonwaarschuwing

In dit artikel delen we onze ervaringen met de implementatie van Behat voor het automatiseren van acceptatietests. Het is dus bedoeld voor softwareontwikkelaars en geïnteresseerden. In de loop van het artikel worden de begrippen uitgelegd.

Er wordt bij Tweakers tegenwoordig flink ingezet op het geautomatiseerd testen van de eigen software. We zijn in de afgelopen sprints bezig geweest het bdd-framework Behat aan de teststack toe te voegen, waarbij we veel hebben geleerd. Omdat lang niet ieder bedrijf daar zoveel tijd voor kan vrijmaken, delen we onze bevindingen, zodat anderen er hun voordeel mee kunnen doen.

We hadden al een uitgebreide unit en integration test suite, maar we misten nog een geautomatiseerd end-to-endtestframework. Omdat Tweakers voor een groot deel in php is gebouwd, lag de keuze voor Behat voor de hand. Voor bdd is het belangrijk om de testomgeving volledig onder controle te hebben. Daarvoor hebben we een mini-Tweakers in Docker-containers ingericht.

Er zijn verschillende opensourcetools en voorbeeldimplementaties beschikbaar waarvan we best practices hebben afgeleid. Een belangrijk onderdeel van het project bestond uit het werkend krijgen van de website in Docker-containers, zodat alle developers makkelijk Behat-scenario’s op hun computer kunnen uitvoeren. We zijn begonnen met het breed en oppervlakkig testen van de bestaande functionaliteit van de website. Dit gaf ons tegelijk inzicht in welke onderdelen van de website moeilijk geautomatiseerd kunnen worden getest.

We ervoeren al vroeg in het project dat bdd vooral een communicatietool is. Het verder ontwikkelen van de ubiquitous language heeft momenteel onze aandacht.

Het was een grote investering om een bdd-framework te introduceren in dit bestaande project. Net als bij tdd voelt het schrijven van tests achteraf aan als veel werk. Bovendien mis je de flexibiliteit om de structuur van je applicatie te verbeteren, zoals je die wel hebt als je een nieuw project tegelijk met bdd begint. In de nabije toekomst willen we de set-up eventueel nog uitbreiden met Selenium om JavaScript- en php-functionaliteit buiten Symfony te kunnen testen.


Apple iPhone 11 Nintendo Switch Lite LG OLED C9 Google Pixel 4 FIFA 20 Samsung Galaxy S10 Sony PlayStation 5 Games

'14 '15 '16 '17 2018

Tweakers vormt samen met Tweakers Elect, Hardware Info, Autotrack, Nationale Vacaturebank, Intermediair en Independer de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True