Auteur: John Kronenberg ● john.kronenberg@closesure.nl
Redactie: Paul Beving
Door de wereldwijde pandemie is voor velen van ons de werkomgeving drastisch veranderd. Voor corona in Europa opkwam waren de meesten van ons minimaal vier werkdagen met het projectteam op kantoor te vinden. Nu is de standaard ‘vanuit huis werken’.
Vanuit huis werken heeft ook voor onze professie, testen, de nodige gevolgen. Welke uitdagingen brengt vanuit huis werken voor een projectteam met zich mee? Kan (een vorm van) testautomatisering een oplossing bieden voor een aantal van deze uitdagingen?
Uitdaging 1: het is noodzakelijk om alle projectleden op het juiste moment van dezelfde informatie over de kwaliteit van de software te voorzien!
Vanuit ervaring kan ik zeggen dat de kwaliteit van communicatie valt of staat met de mate van ‘frictionless’ van het gebruikte communicatiemiddel. Ik bedoel daarmee dat communicatie in teams beter zal gaan als het gebruikte communicatiemiddel snel tot resultaten leidt. Laat ik een voorbeeld geven. Als je als team op dezelfde locatie zit en je wilt het team meedelen dat de resultaten van de testautomatisering voldoende goed zijn om bijvoorbeeld naar Acceptatie te kunnen deployen, dan is dat heel makkelijk met het team mondeling gedeeld (‘lage friction’). Als je echter een groepscall moet opzetten of een (lange) mail moet sturen aan de groep om deze mededeling te doen, dan wordt het al wat lastiger (‘hogere friction’). Wat me opvalt, is dat als de ervaren ‘friction’ bij jezelf of een collega te hoog ligt, snel wordt gekozen niet te communiceren. Bij mijn huidige opdrachtgever hebben we in Jenkins een dashboard aangemaakt, waarop de resultaten van alle testen instant worden weergegeven. Ieder projectlid is in staat om op het door hem gewenste moment inzicht te krijgen in de kwaliteit van de software, door online het dashboard te bezoeken.
Uitdaging 2: teamwork is belangrijk, maar solistisch waarde aan het project kunnen toevoegen is nog belangrijker
In de praktijk zie ik dat veel taken die je normaal gesproken in bijvoorbeeld pairs zou doen, nu sneller solistisch wordt opgepakt. Het is wat mij betreft een feit dat samenwerken via een videoverbinding maar een paar uren per dag werkt. Samenwerken via een videoverbinding is namelijk erg vermoeiend. Een prima verdeling voor een testautomatiseerder is wat mij betreft drie uren teamwork, vijf uren solistisch werk. Testautomatisering kan prima door het team worden bedacht en door de testautomatiseerder zelfstandig worden ingericht. Hetzelfde geldt voor handmatig testen.
Uitdaging 3: repeterende acties in je werk zijn minder makkelijk in het team te verdelen (‘gedeelde smart is halve smart’)
Het bekende principe onder programmeurs dat als je een repeterende actie heel vaak moet doen, je de actie moet wegautomatiseren, wordt door het ‘vanuit huis werken’ voor testers / testautomatiseerders ook belangrijk of nog belangrijker. Als je solistischer moet werken, kun je ook minder van je repeterende acties onder bijvoorbeeld mede-testers delen. Een goed moment voor het team om deze repeterende acties weg te automatiseren. Alle vormen van automatisering dat het testproces ondersteunt valt onder het kopje testautomatisering te scharen.
Uitdaging 4: meer solistisch werk, meer bugs per line of code
Als dan bij ‘vanuit huis werken’ minder pair-programming plaatsvindt, maar meer solistisch wordt geprogrammeerd, is het te voorspellen dat het aantal bugs per line of code zal toenemen. Goede testautomatisering kan dit toegenomen risico gedeeltelijk mitigeren.
Conclusie
Natuurlijk lost testautomatisering de nadelen van ‘vanuit huis werken’ niet op. Ik hoop met bovenstaande wel beargumenteerd te hebben dat testautomatisering een aantal van deze uitdagingen op zijn minst kan verzachten. Projecten die al goede testautomatisering in-place hadden voor de coronapandemie hebben zonder het te weten al iets van de nadelen van ‘vanuit huis werken’ aangepakt. Voor projecten die nog geen goede testautomatisering in-place hebben kan bovenstaande een extra argument zijn om eindelijk met testautomatisering aan de slag te gaan.