Testautomatisering is het schrijven van software die je software controleert. In plaats van dat iemand na elke wijziging handmatig door elk scherm klikt, draaien scripts die checks voor je en melden ze wat goed ging en wat stuk is. Dat gebeurt in seconden, elke keer op exact dezelfde manier. Een tester doet voor de lunch misschien twintig checks. Een testsuite doet er tweeduizend voordat de koffie koud is.
Zie het als de spellingcheck in je tekstverwerker. Je zou elk document zelf kunnen nalezen op typefouten, maar de spellingcheck scant de hele tekst in een tel en markeert de problemen. Automatische tests doen hetzelfde voor je app: ze vangen de kapotte login, het verkeerde totaal, de pagina die niet meer laadt. Die tests draaien meestal mee in continuous integration, zodat elke wijziging automatisch wordt gecontroleerd voordat hij in de buurt van je klanten komt.
Er zitten verschillende lagen in. Kleine unittests checken één functie tegelijk, bijvoorbeeld of 10 procent korting op 50 euro echt 45 oplevert. End-to-end-tests openen een echte browser en lopen een hele route door, zoals aanmelden of een bestelling plaatsen. Daartussen zitten integratietests, die checken of twee delen van het systeem wel goed met elkaar praten. Slagen ze allemaal, dan kan een CI/CD-pijplijn de nieuwe versie met vertrouwen uitrollen. Faalt er één, dan wordt de wijziging tegengehouden voordat hij schade aanricht. De winst groeit met het project. Op dag één voelt handmatig testen sneller, maar bij de honderdste wijziging kost diezelfde ronde een halve middag en gaat iemand stappen overslaan. Een testsuite niet.
Bij TopDevs bouwen we de automatische tests samen met de functies zelf, zodat elke release gecontroleerd is voordat hij je gebruikers bereikt in plaats van erna.