Het gespreksthema van de 4e Test Automation Day (19 juni jl.) was: behandel testautomatisering als onmisbare ‘enabler’ bij Continuous Delivery en beoordeel het niet meer op z’n ROI. Maar ging het daarbij nog wel over (effectief) testen?
Dorothy Graham, schrijver van enkele boeken over geautomatiseerd testen zette het publiek direct aan het denken. Onder de noemer van ‘intelligent mistakes’ gaf ze voorbeelden hoe geautomatiseerd testen een eigen dynamiek kent. Vanwege de lage foutvindeffectiviteit kan het aantal ontdekte bevindingen nooit een maat zijn voor het succes van testautomatisering. Omdat het vrijwel altijd herhaald uitgevoerde testen zijn, zal het moeten gaan om zekerheid van functioneren in plaats van fouten vinden.
In het licht van Agile werken en de toename van Continuous Delivery en Continuous Deployment refereerde ze aan de inmiddels bekende uitspraak van Yoram Mizrachi (CTO Perfecto Mobile): “Automation is an enabler for success, not a cost reduction tool.”
Ook was ze helder in de terminologie-discussie over ‘test automation’ versus ‘automated checking’. Het is evident dat tools alleen op datgene controleren dat vooraf is ingebouwd en daarmee beperkt zijn ten opzichte van het epxloratieve karakter van een creatieve tester. Maar dat hoeft geen belemmering te zijn om de term ‘test automation’ te blijven gebruiken omdat iedereen weet wat daarmee wordt bedoeld.
Na haar advies om niet alle testen te automatiseren werd ze door de volgende spreker, Amir Arooni (CIO ING NL) direct op scherp gezet met de uitspraak “automate everything”. Samen gingen ze polderen waardoor Amir kwam tot “automate every test that must be repeated”, waarna Dorothy met het ultieme advies kwam: “automate every test that must be automated”.
En hier raakt het wat mij betreft de kern van de dag. Want dit advies sterft in schoonheid. Het blijkt maar weer hoe lastig het is om een goede testautomatiseringsstrategie neer te zetten. In verschillende vervolgpresentaties werd iets over deze zoektocht verteld. Termen als ROI, business objective en challenge kwamen langs. En telkens blijkt het hebben van goede testgevallen een kritische succesfactor te zijn. Iets wat ik geheel onderschrijf.
Bij de laatste twee presentaties werd pijnlijk duidelijk wat er gebeurt als fundamentele testkennis ontbreekt. Allereerst was daar Clemens Reijnen (Sogeti), Agile coach, die vertelde aan welke competenties de huidige Agile tester (die onmiskenbaar gebruik moet maken van testautomatisering) moet voldoen. Hij kwam met zijn ultieme lijst: Agile, Team Tools, Programming Skills, Version Control, Deploy, Monitoring, Cloud.
Ik ondersteun elk aspect uit zijn lijst, maar toch is de lijst zelf dramatisch in zijn onvolledigheid. Want een Agile Tester zal eerst en vooral moeten kunnen testen. Een observerende, nieuwsgierige en onderzoekende tester die nadenkt over wat er getest kan en moet worden. Dat is de basis, waarbij de skills uit het lijstje je kunnen helpen bij het professionaliseren.
Waarom wil ik dit benadrukken? In de vervolgpresentatie werd pijnlijk duidelijk wat er gebeurt als een testautomatiseerder de basis van het testen nog moet ontdekken. Kristian Karl (Spotify) gaf een prachtige presentatie over ‘Testing and Fast Checking’ in een Continuous Delivery omgeving. Maar in een (te groot) deel van zijn presentatie nam hij ons mee in zijn ontdekkingsreis waar hij met vallen-en-opstaan ging ontdekken dat je in een model verschillende paden hebt. En dat dit eigenlijk verschillende testen zijn. En dat je daarmee dus kunt variëren. En dat de ene variant misschien belangrijker blijkt dan de andere. En dat de tool je daarmee nog niet helpt…
In zijn voorbeeld hadden een goede teststrategie en kennis van Path Coverage en de Proces Cyclus Test al vroegtijdig kunnen helpen in keuzes om wel of niet te testen en welke tests te automatiseren.
Als ik alles op een rijtje zet, kom ik tot de volgende conclusie. Continuous Delivery is een prachtig vliegwiel voor geautomatiseerd testen. Eindelijk komt het van de grond en krijgt het de aandacht en diepgang die het in potentie al jaren in zich in had. Echter, waak voor de nieuwe valkuil: Test automation without a test strategy!
In het verleden liep geautomatiseerd testen vaak vast vanwege onverwachte hoge onderhouds- en beheerkosten. Omdat het toen als een ‘extra’ middel werd ingezet, kon men weer stoppen. Met Continuous Delivery is stoppen met geautomatiseerd testen geen optie meer. Maar alle aandacht voor tools en technologieën is geen garantie voor goed testen. Een doordachte teststrategie (‘wat testen we?’) en testautomatiseringsstrategie (‘welke testen automatiseren we?’) zullen ook nu cruciaal blijken om met de gevraagde snelheid voldoende kwaliteit te leveren.
Meer informatie over de Test Automation Day en de presentaties zijn te vinden op de site www.testautomationday.com.