In februari 2019 koos Technolution uit Gouda voor ICTestAutomation als hèt pakket voor ‘Continuous Automated Testing en Monitoring’. Technolution wil met ICTestAutomation de zekerheid en veiligheid van MobiMaestro verstevigen en de betrouwbaarheid vergroten. Inmiddels is onze suite een jaar in gebruik en zijn we benieuwd naar de ervaring van het team en de weg die men heeft bewandeld voor de invoering en het gebruik van ICTestAutomation.
In januari 2020 spraken we Peter van Lint (Testmanager) en Ben de Jong (Project manager) hierover. Peter en Ben werken beiden aan kwaliteitsverbetering door het vastleggen van best practices, het vergroten van kwaliteitsbewustzijn en het automatiseren van testprocessen. Begin 2019 werd nog uitsluitend handmatig getest. De invoering van de nieuwe werkwijze - met de testpiramide als leidraad - heeft ervoor gezorgd dat geautomatiseerd testen de voornaamste prioriteit krijgt.
Achtergrond Testlandschap
Technolution biedt een totaalpakket aan IT-diensten en ontwikkelt softwareproducten voor Mobiliteit, Energie, Industrie, Public Safety & Security. Voor gecoördineerd netwerkbreed verkeersmanagement is het platform MobiMaestro ontwikkeld. Dit systeem is modulair en voortdurend in ontwikkeling om gevraagde innovatie in de branche te kunnen volgen of zelfs te initiëren; zo groeit MobiMaestro met de behoefte van de klant mee.
Om maximale betrouwbaarheid, zekerheid en veiligheid te kunnen garanderen wordt MobiMaestro tijdens de ontwikkeling voortdurend getest.
Technolution voert op drie niveaus de testwerkzaamheden uit:
In de teststrategie is vastgelegd wat en waartegen wordt getest, waar het testproces is geïntegreerd in de projectfasering, welke testinfrastructuur benodigd is en hoe groot de testinspanning zal zijn.
Tijdens softwareontwikkeling worden de kleinste componenten getest in unittests. Units vormen samen modules, die op hun beurt ook weer worden getest. Dan komen de end-to-end-testen, waarbij het samenstel van modules als volledige applicatie wordt getest. Tot slot volgt een ketentest, waarbij een heel systeem wordt getest van de front-end (grafische userinterfaces) tot aan de back-end (middleware en databases).
Al deze tests zijn op het eigen niveau in de piramide ontworpen. Het beperkt zich hier niet tot het testen van de functionele eisen; ook zaken als betrouwbaarheid, performance en beveiliging worden getest.
Het hele proces wordt per project in plannen en strategie vastgelegd.
Automatisch testen
Tijdens ons gesprek blijkt dat Technolution zo veel mogelijk automatisch test. Het is sneller en betrouwbaarder dan handmatig testen en bij herhalende tests bovendien goedkoper. Als voorbeeld worden de unit- en moduletesten aangehaald; daarbij is automatiseren goed mogelijk, omdat je precies weet hoe een unit of een module moet reageren op bepaalde invoer of stimuli. Bij end-to-end-testen en ketentesten worden nieuwe onderdelen eerst handmatig getest vanwege de vele koppelingen tussen systemen en het soms onvoorspelbare gedrag van gebruikers. Tests die herhaalbaar zijn met voorspelbare resultaten worden geautomatiseerd, zodat in volgende iteraties een betrouwbare regressietest-set beschikbaar is. Dat maakt het proces nog sneller, beter en zeker een stuk leuker.
Wat betreft Technolution positioneert ICTestAutomation zich stevig boven in de piramide. Ben: “Het is echt een oplossing die wij nodig hebben, omdat veel van onze applicaties worden gemaakt met native view dat vaak direct geprogrammeerd is in Java. Daardoor kunnen wij niet testen met selenium-achtige tools.”
Op onze vraag “of testen sneller gaat en wat het met het de kosten doet?” krijgen we te horen dat met vergelijkbare projecten nu al flink op capaciteit en doorlooptijd wordt bespaard. Denk daarbij aan testen die in de bovenste laag meervoudig plaatsvinden zoals module testen en end-to-end testen. In het verleden werd dit niet of nauwelijks geautomatiseerd en werd op het hoogste niveau alles handmatig getest. Peter: “Op het hoogtepunt van een project zaten we met wel vijf full-time-testers, nu doen we dat met maximaal de helft aan inzet en wordt de doorlooptijd ervan bijna gehalveerd.
Door dit nu goed te automatiseren besparen we dus flink op capaciteit. Deze gewonnen tijd investeren we momenteel direct in het optimaliseren van het proces door meer nadruk te leggen op de kwaliteit van de testen.
De overall conclusie voor zowel moduletesten als end-to-end-testen met ICTestAutomation is kort maar krachtig: We bereiken meer efficiëntie door de testscrips direct uit te schrijven en op het hoogste niveau de tests direct te automatiseren.
Dit levert ons reductie van risico’s op, tijdwinst door een snellere doorlooptijd en minder incidenten in de productieomgeving.”