
Vroeger moesten ontwikkelaars bij elke wijziging - groot of klein - manueel nakijken of de wijziging behoorlijk werkte door (eigenlijk) de hele site te testen d.m.v. steekproeven.
Omdat het te duur en te tijdrovend zou zijn om echt alles na te kijken bij elke wijziging, testen we door middel van steekproeven. Deze methode biedt echter geen 100% garantie. Bovendien is de ontwikkelaar die de recente wijziging uitvoert niet noodzakelijk diegene die de andere functionaliteiten heeft geschreven, wat de kans op menselijke fouten vergroot.
Door Behat te gebruiken in het automatisch deployment process (Drupal Lambda) besparen we veel tijd. Waar een manuele test vroeger een uur duurde, neemt het automatisch testen slechts een minuut tijd in beslag.

Behat is een open source framework waarmee een scenario kan uitgevoerd worden. Om de scenario’s in verstaanbare taal te schrijven, maakt Behat gebruik van Gherkin.
Voorbeelden van scenario's die door HB-plus getest worden zijn:
- Kan een gebruiker zich nog aanmelden op de applicatie?
- Kan een gebruiker een bestelling plaatsen op een bestelapplicatie?
- Werkt de integratie met online betalingsprovider Ingenico nog?
Voor elke nieuwe ontwikkeling schrijven we standaardtesten voor de belangrijkste functionaliteiten. Alle testen draaien automatisch tijdens een deployment naar de development server. Als deze falen gaat er een alarmbelletje af in de communicatietool zodat de ontwikkelaars snel op de hoogte zijn.
Voor sommige applicaties draaien de testen zelfs elke nacht, los van het feit of er een codewijzing was (bijvoorbeeld integratie met een derde partij).

Binnen het Drupalteam zijn we ervan overtuigd dat een test schrijven geen extraatje is, maar een essentieel onderdeel van de ontwikkeling van een applicatie.
En dat een tikje meer tijd spenderen tijdens ontwikkeling, om te vermijden dat er later veel tijd gespendeerd wordt aan bugfixing, absoluut de moeite loont. Het is een win-win situatie voor zowel de ontwikkelaars als de klant!
Voor meer informatie kan je terecht bij Kevin Thiels, Drupal team lead & Agile Coach.