Testautomatisering onder architectuur

Auteur: Danny Greefhorst

In een moderne software-ontwikkelomgeving is Agile en DevOps het uitgangspunt. Het is daarbij standaard dat software in snelle iteraties wordt ontwikkeld en beschikbaar gesteld. Testautomatisering is in zo’n omgeving ook niet meer weg te denken. Software gaat frequent door de CI/CD cyclus en wordt daarbij ook automatisch getest zodat de resulterende code productieklaar is. De valkuil is echter dat testautomatisering teveel vanuit de techniek en als eenmalige inspanning wordt gezien. Een toekomstvaste vorm van testautomatisering is herhaalbaar, herbruikbaar en overdraagbaar. Een architectuurgebaseerde benadering is daarbij onontbeerlijk. In dit blog item leg ik uit wat ik daar mee bedoel. Uitgangspunt daarbij is het gedachtengoed in het zojuist verschenen boek “Testautomatisering wendbaar organiseren – klaar voor de toekomst”.

Anders kijken

De basis van een architectuurgebaseerde benadering is dat je verder en breder kijkt. Verder kijken betekent dat je naar de toekomst, de ontwikkelingen en strategie kijkt. Wat is de algemene visie en het beleid van de organisatie? Hoe volwasssen is de organisatie op het gebied van software-ontwikkeling en testen? Wat zijn de belangrijkste knelpunten en op welke manier kan testautomatisering daaraan bijdragen? Door jezelf dit soort vragen te stellen krijg je een beter begrip van de mogelijk rol en waarde van testautomatisering in de organisatie. Het lijkt wellicht overbodig, maar het kan toch helpen om een soort business case op te stellen voor testautomatisering waardoor je een duidelijk verhaal kunt vertellen waarom testautomatisering op dit moment verstandig is. Dat betekent helemaal niet dat je dikke pakken papier moet opleveren, maar gewoon dat je de argumenten netjes op een rij zet, zodat andere mensen het ook kunnen begrijpen.

Architectuur betekent ook breder kijken; naar alle relevante aspecten en de manier waarop die aspecten met elkaar samenhangen. Dat wordt ook wel integraal kijken genoemd. Als je dat doet dan zie je ineens veel meer. Je ziet verbanden en je kunt mensen gaan verbinden. Je beseft je dat naast technologie testautomatisering vooral ook van alles betekent voor mens, organisatie, proces en data. Het zijn uiteindelijk mensen die ervoor moeten zorgen dat testautomatisering kan werken. Er zullen mensen moeten zijn die beschikken over relevante testautomatisering competenties. Dat betekent dat testers ook meer software-ontwikkelaar zullen moeten worden. Software-ontwikkelaars zullen op hun beurt ook meer tester moeten worden. Om deze mensen samen tot goede testware te laten komen en tot een toekomstvaste testautomatisering zul je moeten organiseren. Er zijn afspraken nodig over rollen, taken, verantwoordelijkheden en processen. Bestaande software-ontwikkel- en testprocessen zullen moeten veranderen. Er zullen ook nieuwe processen nodig zijn, zoals testdatamanagement processen. Deze zorgen ervoor dat er goede testdata beschikbaar zijn.

Architectuurtechnieken – principes en modellen

Een architectuurgebaseerde benadering maakt ook gebruik van allerlei ideeën en technieken die beschikbaar zijn op het gebied van enterprise-architectuur. Denk bijvoorbeeld aan architectuurprincipes. Dat zijn richtinggevende uitspraken die doelstellingen vertalen naar een oplossingsrichting. Als je nadenkt over testautomatisering kun je allerlei generieke architectuurprincipes identificeren, waarvan er een verzameling is beschreven in het boek. Een voorbeeld daarvan is het principe dat je een weloverwogen afweging maakt tussen risico en inspanning bij het ontwikkelen van geautomatiseerde tests. Dat betekent dat je niet klakkeloos voor alle functionaliteiten testscripts ontwikkeld, maar dat je je afvraagt of de inspanning wel opweegt tegen het risico dat je met het testgeval mitigeert. Een ander voorbeeld is dat je bij testdatamanagement expliciet rekening houdt met informatiebeveiliging en privacy aspecten. Dat betekent dat je er in ieder geval voor zorgt dat als je testdata uit productie kopieert je deze ook anonimiseert. Naast dit soort generieke architectuurprincipes kun je ook principes proberen te vinden die specifiek aansluiten bij de context en volwassenheid van je eigen organisatie.

Tenslotte biedt architectuur ook een modelmatige kijk op de werkelijkheid. Door dingen vast te leggen in de vorm van modellen maak je dingen expliciet, kun je erover praten en kun je dingen positioneren. Generieke modellen heten ook wel referentie-architecturen. In het boek zijn een aantal referentie-architecturen opgenomen. De referentie-architectuur in de volgende figuur beschrijft de functionaliteiten die relevant zijn voor testautomatisering. Het kan gebruikt worden om tools voor testautomatisering te positioneren.

Dit blog item heeft een overzicht gegeven van wat het betekent om testautomatisering vanuit architectuur te benaderen. Door de architectuurbril op te zetten zie je ineens dingen die je anders niet ziet. Het leidt tot nieuwe inzichten. Dit is een belangrijk onderscheidend vermogen van het boek; het laat testers ineens een hele andere kant van testautomatisering zien. Tegelijkertijd laat het andere doelgroepen beter begrijpen wat testautomatisering is en waarom het belangrijk is. Architectuur zorgt daarmee voor verbinding.

Please wait...

X
Added to your cart