Automatisch testen met Selenium framework

Synetic ziet testen niet als een taak maar als een vak en om het testen naar een nog hoger niveau te tillen, zijn we aan de slag gegaan met het automatiseren van onze testprocessen.

Man achter een computer in een kantooromgeving
23 december 2016

Inzet Selenium framework

Testautomatisering zorgt er voor dat er sneller en efficiënter getest kan worden, waarbij de belangrijkste delen van het product direct worden gedocumenteerd.

Om geautomatiseerd te testen maken we gebruik van het Selenium framework. Dit framework wordt veelal ingezet om complexe en grote projecten beheersbaar te houden en tegelijkertijd de kwaliteit te kunnen waarborgen.

Wat je binnen testautomatisering vaak nog wel eens fout ziet gaan is dat het niet schaalbaar blijkt te zijn. Er wordt bijvoorbeeld een goed begin gemaakt, maar vervolgens staat er een testset die niet meer te onderhouden is wanneer er een wijziging plaatsvindt binnen een website.

Het belangrijkste doel voor de inzet van het Selenium framework is dan ook om op een schaalbare en onderhoudsvriendelijke wijze geautomatiseerd te testen.

Het fijne van het Selenium framework is daarnaast dat het platformonafhankelijk is en daardoor uitstekend samenwerkt met Drupal. Een van de voordelen van Drupal is dat veel standaardfunctionaliteiten binnen het CMS overkoepelend kunnen worden bewerkt. Als bijvoorbeeld voor een project een login is geautomatiseerd, kan deze ook worden gebruikt voor een ander project. Op deze manier wordt efficiëntie in het ontwikkelingsproces gerealiseerd.

Een positief neveneffect van testautomatisering is dat testers dichter op de code komen te zitten. De HTML-code wordt doorgrond en er komen eerder zaken voor het voetlicht die kunnen worden voorgelegd aan een ontwikkelaar. Hierdoor wordt de samenwerking tussen testers en ontwikkelaars nog hechter en efficiënter.

Stappenplan geautomatiseerd testen

Aan de hand van een al opgebouwde regressieset hebben we testcases neergezet en zijn deze vervolgens gaan automatiseren in het framework.

We hebben dit gedaan door eerst objecten te identificeren die we wilden gaan automatiseren. Daarna hebben we middels verschillende mappenstructuren de testcases ondergebracht in een regressieset en een testfeed, om als laatste stap de testcase te realiseren.

Tijdens dit proces was Paco Stoelman nauw betrokken. Hij heeft een groot deel van de uitvoering voor zijn rekening genomen.

Dankzij het framework kan nu met een druk op de knop direct een rapportage worden getoond waarin duidelijk naar voren komt of de geautomatiseerde testen zijn geslaagd en of er ergens regressie problemen zijn opgetreden. Door in een vroeg stadium belangrijke fouten op te sporen kunnen wij de herstelkosten beperken.

Kwaliteit blijven leveren

Om grip te houden op de kwaliteit van onze projecten hebben we een aantal kwaliteit-KPI’s gedefinieerd. Deze KPI’s zijn tot stand gekomen door het introduceren van tellers binnen Jira, ons kloppend hart voor de vastlegging en ondersteuning tijdens het gehele SCRUM proces.

Middels deze tellers registreren we hoe vaak een user story door de testers wordt afgekeurd en hoe vaak een klant met een bevinding terugkomt. Dit heeft als belangrijkste doel om de kwaliteit van het testproces meetbaar te maken en steeds verder te verbeteren, zodat het live zetten van een project nog soepeler verloopt.

Pilot PWN

Om een ‘proof-of-concept’ te realiseren hebben wij in overleg met PWN voor hen een project met testautomatisering opgezet.

Na het afronden van dit project hebben we bij PWN een demo gegeven en onderstaande video getoond, waarin wordt uitgelegd hoe het framework werkt en wat de belangrijkste bevindingen zijn geweest.

PWN was zeer te spreken over dit proces en de uitkomsten. Wat hen vooral aansprak is dat Synetic op deze manier de kwaliteit nog beter kan waarborgen en zich continu blijft ontwikkelen.