Warning: Undefined array key "bio" in /home/techwatch/domains/test.bits-chips.nl/public_html/wp-content/plugins/wpcodebox2/src/Runner/QueryRunner.php(126) : eval()'d code on line 13
Author:
Reading time: 3 minutes
De economie bepaalt hoe organisaties opereren en hoeveel geld ze willen steken in IT. Ze moeten investeren om te kunnen voldoen aan steeds uitgebreidere wet- en regelgeving, om hun dienstverlening uit te breiden en mee te gaan met de technologische ontwikkelingen. De systemen worden steeds complexer en het aantal koppelingen neemt toe. De terugverdientijd van IT-investeringen wordt daarbij korter. De opkomst van de Bric-landen met hun grote aanbod aan goedkope IT-professionals legt extra druk op de tarieven. De aanpassingen die de business wil, bezorgen de IT-afdelingen veel werk, maar het moet allemaal wel snel en goedkoop. Dure professionals die weken achtereen handmatig regressietests uitvoeren, passen niet meer in dit plaatje.
Ook de aard van de systemen verandert. Er is een toenemende differentiatie in devices, OS‘en en webbrowsers. Dit betekent dat we functionele tests moeten herhalen voor verschillende configuraties. Doe dat maar eens met hand. Voor het testen van mobiele toepassingen gebruiken steeds meer organisaties daarom dockingstations waarin tien of meer devices hangen, die worden aangestuurd door één geautomatiseerd testscript. Locatieafhankelijke functies worden vaak in een laboratorium getest door middel van simulatoren. Virtualisatie maakt het mogelijk hele backoffices na te bootsen, zodat er een compleet testharnas ontstaat dat de automatische tests ondersteunt.
Softwareontwikkeling verandert continu. Agile heeft inmiddels kritische massa bereikt en het aantal organisaties dat kiest voor Scrum neemt nog steeds rap toe. Dit heeft gevolgen voor hoe we testen. Enerzijds herhalen Scrum-projecten tests veel vaker dan traditionele watervaltrajecten. Eindeloos handmatig tests herhalen is echter vervelend en past niet in het time frame van de sprint. Anderzijds kijken Agile-projecten steeds vaker naar executable design. Behaviour-driven development slaat bijvoorbeeld de brug tussen specificatie en testontwerp en binnen modelgebaseerd testen is het model het executable design en kunnen we daaruit tests genereren. Beide aanpakken maken gebruik van automatiseringstools.
Bij continuous delivery gelden de effecten nog sterker. Als we een paar keer per dag met onze code naar productie willen, kan het niet zo zijn dat er een groepje testers met zweetparels op hun voorhoofd de boel tegenhouden omdat ze nog niet klaar zijn met hun werk. Voor continuous delivery zullen de tests daarom geïntegreerd moeten zijn in het automatische build– en deployment-proces. Daarnaast is er een verschuiving naar productie. Door hun voorspelbaarheid zijn geautomatiseerde tests hierbij veiliger dan handmatige. Om het reallife gedrag van de keten in productie te kunnen analyseren, worden grote hoeveelheden data verzameld. Hoe meer data, hoe nauwkeuriger, dus de analyse ervan gebeurt uiteraard geautomatiseerd.
Tot voor kort haalden we onze voldoening en trots uit het handmatig opstellen van een beslissingstabel of het vullen van grote Excel-sheets. Vanuit een model zijn tests echter veel sneller en vollediger af te leiden. Er zijn voldoende testtools beschikbaar die testcombinaties voor ons kunnen genereren en deze meteen kunnen koppelen aan een geautomatiseerd script. Handmatig een testontwerp maken is daarmee eigenlijk niet meer te verantwoorden naar managers die kritisch zijn op de kosten.
Ik wil zeker niet beweren dat alleen automatisch testen volstaat. Handmatig testen is nog steeds iets anders dan automatisch checken. De huidige generatie testers is vaak echter te huiverig voor automatisering, terwijl alles erop wijst dat tooling ook in de testprofessie bezig is aan een opmars. De generatie die nu van de scholen komt, heeft dit allang begrepen en zal bijdragen aan een grotere adoptie van geautomatiseerd testen. Daarmee krijgen alle testers er vroeg of laat mee te maken, ook degenen die tot nu toe hebben getracht tests, tooling en techniek op een afstand te houden.