Yes, de app is live. Groot succes, de product owner is blij, eerste feedback van klanten is goed. Maar er is weinig tijd voor feest, gelijk door met de backlog.Nieuwe features worden geïntroduceerd, in hoog tempo. Geen probleem voor het team, snel worden updates uitgerold. Nu de app groeit wordt deze ook steeds complexer. Ondanks de bibliotheek met unit tests, valt er helaas soms toch nog iets om. Bestaande onderdelen krijgen last van de nieuw geïntroduceerde features. Regressietests, niemand (maar ook zeker de product owner niet) wordt daar blij van!
Om ons niet weer aan deze steen te stoten, besluiten we een stapje terug te doen. Tijd voor stevige regressie testen. Scripts worden opgezet en elke volgende release wordt handmatig aan de tand gevoeld. Dat kost tijd, veel tijd, zeker met een complexe app als de onze. Na een aantal releases begint dat toch echt een probleem te worden. Er moet sneller gewerkt worden, maar de testcapaciteit laat dat niet toe. Dan moet je kiezen. Minder rigoureus testen, uiteraard met het risico op meer problemen. Of, minder vaak releasen, en daarmee minder testruns. Maar dan moeten gebruikers langer wachten op nieuwe features. Geen van beide is een fijne keuze.
Dit is het moment dat er iemand ‘automated UI testen’ roept! Daarmee kan het team zijn werk blijven uitvoeren en de scope van de testen hoeft niet aangepast te worden. En nog steeds kan de releasefrequentie hoog blijven, terwijl de test set zo vaak als gewenst kan worden gedraaid. Het kost waarschijnlijk wat extra effort aan het begin, maar dat betaalt zich vanzelf terug. De kosten voor handmatig testen zijn namelijk lineair, elke test run is even duur. De kosten voor automatisch testen liggen daarentegen aan het begin misschien hoger, vanwege het opzetten van de systemen, maar daarna draaien ze vrijwel gratis.
Dat is in ieder geval de belofte. Iedereen blij, we kunnen weer snel releasen, zonder extra mankracht aan te nemen. De ontwikkelaars kunnen blijven ontwikkelen en zelfs werken met de nieuwe coole test tool!
Iedereen die ervaring heeft met automatisch UI testen weet echter ook dat die belofte niet altijd waarheid wordt. Natuurlijk zijn er organisaties die uiteindelijk waarde halen uit UI testen, maar meer dan eens loopt het uit op een gebed zonder eind. De test set is niet te onderhouden, ineffectief of breekbaar, of alles van dat. Er wordt veel geïnvesteerd, maar de opbrengst is laag.
En tóch wil dat niet zeggen dat geautomatiseerd UI testen overbodig of waardeloos is. Zeker niet! Ik denk alleen wel dat het grafiekje iets te eenvoudig is. Onze ervaring is dat het opzetten van UI tests altijd aandacht en onderhoud nodig blijft hebben.
Graag nemen wij je mee om te laten zien waar en hoe wij UI testen in zetten. Deel 2 van deze post gaat hier verder op in met als conclusie een realistischere ROI grafiek.
Neem gerust contact met ons op! Wij reageren op werkdagen binnen 24 uur.