Historisch gezien, bij het toenemen van het aantal geautomatiseerde tests in projecten, kwamen er problemen naar voren: tests raakten in de war, overschreden de tijdslimieten voor uitvoering, en het was moeilijk te begrijpen wie verantwoordelijk was voor wat. Bovendien nam het risico op afhankelijkheden tussen verschillende onderdelen van het testsysteem toe, wat de algehele werking van de pipelines vertraagde.
Het probleem doet zich voor wanneer het aantal tests sneller groeit dan de architectonische ondersteuning van de testinfrastructuur. Zonder schaalbare oplossingen worden tests traag, moeilijk te onderhouden, en wordt het moeilijker om defecten te vinden en te lokaliseren, terwijl de technische schuld snel toeneemt.
De oplossing ligt in de implementatie van speciale strategieën:
Belangrijke kenmerken:
Kan ik alle tests alleen integratietests maken om meer code tegelijkertijd te dekken?
Nee, deze aanpak vermindert de lokalisatie van defecten en leidt tot hoge onderhoudskosten, evenals een vertraging van de regressietests.
Betekent schaalbaarheid van geautomatiseerde tests alleen versnelling?
Schaalbaarheid is zowel architectuur, onderhoudbaarheid, versnelling, als een flexibele infrastructuur. Versnelling is slechts een gevolg van een goed ontworpen grootsysteem.
Hoe schaal ik tests correct voor teams die in verschillende tijdzones werken?
Het is belangrijk om de mogelijkheid voor lokale uitvoering en onafhankelijkheid van testomgevingen te waarborgen, anders zullen er 'conflicten' zijn tussen de taken van teams.
In het bedrijf kwamen er direct meerdere teams bij die nieuwe geautomatiseerde tests aan één map toevoegden, zonder hun wijzigingen af te stemmen. Na enkele weken vielen de geautomatiseerde tests wegens inconsistenties in data en afhankelijkheden, en de uitlooptijd overschreed de 2 uur.
Voordelen:
Nadelen:
In één van de teams werd een modulaire structuur opgezet, waarbij een aparte CI per codegebied werd geïntroduceerd, de stabiliteit werd verhoogd en automatische waarschuwingen voor ineffectieve tests werden geïmplementeerd.
Voordelen:
Nadelen: