Hoewel het begrip automatisch testen iets van de laatste tijd lijkt te zijn, kent testautomatisering al een lange historie. Al in de jaren zeventig – de tijd van de groene, fluorescerende schermen – werden testrobots ingezet om software te testen.
Vanaf het jaar 2000 nam testautomatisering een toevlucht: de komst van concepten zoals Service Oriented Architecture (SOA), Web 2.0 en later ook vooruitgang in beeldherkenning zorgden voor allerlei nieuwe vormen van testautomatisering.
In de afgelopen jaren is het gemiddelde percentage van de testautomatisering gestegen van 28 procent naar 45 procent, volgens de “World Quality Report”. Het is duidelijk: in de wereld van softwaretesten is het begrip inmiddels niet meer weg te denken.
Met alle vooruitgang die is geboekt bij automatisch testen (inclusief alle kansen, risico’s en voorwaarden) heeft CEPO in samenwerking met Portaal een onderzoek gestart waarin we centraal hebben gesteld welke rol testautomatisering kan hebben in de testorganisatie. Daarnaast bleken de vragen rondom de impact op de kwaliteitsmeting en de rendabiliteit van automatisch testen ook interessant. Op basis van dit onderzoek is een pilot gestart, waarin we concreet willen gaan aantonen welke bijdrage testautomatisering kan leveren en wat de gevolgen zijn voor de bestaande testaanpak.
Het doel van de pilot is het beantwoorden van een aantal onderzoeksvragen, waarbij de primaire vraag is: “Hoe kunnen we testautomatisering toepassen in de Portaal testorganisatie? En welke impact heeft dit op de bestaande testaanpak en afgeleide resultaten”
Definities
De testwereld kent vele begrippen, waarvan de definities niet altijd eenduidig worden omschreven. Dit geldt ook voor een bepaalde mate in de testautomatisering. Daarnaast komt er veel technische terminologie kijken, vanwege het automatiseringsaspect. Met die redenen lichten we een aantal begrippen in dit hoofdstuk toe, zodat de interpretatie binnen dit onderzoek duidelijk blijft.
Testen
Het startpunt van onze begrippenlijst is de term “testen” zelf. TMAP definieert testen als:
“Testen is een proces van plannen, voorbereiden en meten, dat tot doel heeft de kenmerken van een informatiesysteem vast te stellen en het verschil tussen de actuele en de vereiste status aan te tonen.”
Opvallend aan deze definitie is dat er zeer abstracte benadering van het meten van kwaliteit en verwachte resultaten wordt aangehouden. De aanpak van CEPO gaat een stap verder door af te vragen: “Werkt het? En kun je ermee werken?”
Hiermee wordt niet alleen bekeken of het systeem aan de verwachtingen voldoet, maar worden ook de verwachtingen getoetst aan de praktijk. Beide definities spelen een grote rol gedurende een testtraject en er zijn verschillende vormen om de daadwerkelijke metingen in de praktijk te brengen.
Handmatig of geautomatiseerd
Om vast te stellen of een systeem aan de verwachting voldoet, kun je verschillende wegen kiezen. In dit onderdeel maken we een onderscheid tussen twee vormen:
Het spreekt voor zich dat beide vormen voor- en nadelen hebben. Denk bijvoorbeeld aan de volgende punten:
In de afgelopen jaren heeft testautomatisering een flinke verbetering ondergaan, waardoor vooral de beperkingen steeds kleiner zijn geworden. In het volgende onderdeel bespreken we kort de technieken die tegenwoordig toegepast kunnen worden in een testtraject.
Automatische testtechnieken
Binnen de testautomatisering zijn er verschillende technieken om tot een resultaat te komen. In Mike Cohn’s test automation pyramid vinden we drie vormen:
Deze vormen kunnen als volgt omschreven worden:
Van deze vormen speelt de UI-test een centrale rol: deze zal gebruikt worden gedurende de pilot. Deze testvorm test een proces, waarbij het proces meerdere applicaties kan “raken”, zoals de onderstaande afbeelding eenvoudig weergeeft. Omdat deze variant zo veel gelijkenis vertoont met de handmatige gestructureerde test, is deze ook goed te vergelijken op basis van investering en resultaat.
In het volgende hoofdstuk zullen we de aanpak van de pilot gedetailleerd omschrijven. Hierin zal ook de gebruikte applicatie voor de UI-test verder omschreven worden en hoe de handmatige test hiermee vergeleken zal worden.
Aanpak
Om het omschreven doel te onderzoeken, zal CEPO samen met Portaal een aantal testtrajecten opzetten waar zowel handmatig als automatisch getest zal worden. Door de testscope gelijk te houden kunnen we een goede vergelijking maken tussen de twee disciplines. Bij alle trajecten bewaken we de tijdsinvestering, van zowel de voorbereiding, de uitvoering en de analyse.
Tevens zullen we verschillende betrokkenen uit de testorganisatie interviewen, om naast de cijfers ook een kwalitatief beeld te krijgen van het gebruik van testautomatisering.
Testscope
Beide trajecten zullen worden uitgevoerd op Dynamics Empire van CegekaDSA, welke is gebouwd op het Navision platform. Navision, of NAV, wordt door meer dan 100.000 bedrijven over de hele wereld gebruikt voor het beheren van boekhouding, financiën, toeleveringsketen en de bedrijfsvoering.
Als deelgebied voor de test kiezen we het proces klantcontact. Het klantcontactcentrum is het aanspreekpunt voor de huurder en cruciaal binnen de dagelijkse processen van Portaal. Alle tijd die kan worden bespaard door processen van het KCC te automatiseren, des te meer tijd men steken in de operatie.
Binnen het proces klantcontact hebben we als steekproef drie subprocessen geselecteerd:
Bij deze processen is een procesbeschrijving aangeleverd, zodat zowel een handmatig- als een automatisch testscript opgesteld kon worden.
Handmatige test
De handmatige gestructureerde test zal voorbereid en uitgevoerd worden op de gebruikelijke wijze van Portaal:
Naast deze gebruikelijke wijze leggen we vast hoeveel tijd iedere fase in beslag neemt, zodat we een complete benchmark kunnen maken.
Automatische test
Voor de automatische test hebben we voor Portaal een nieuwe aanpak gedefinieerd gebruikmakend van software op basis van GUI-testautomatisering (dus simulatie van muis- en toetsenbord vanuit gebruikersperspectief) zonder dat daar enige programmeerkennis voor nodig is.
Resultaten
De resultaten worden weergegeven in handmatige test, de automatische test, een vergelijking en als laatste de resultaten van de interviews.
Handmatig testen
De test is doorlopen door de kennisexpert van Portaal op dit vakgebied.
In de onderstaande tabel is tijdsbesteding van de handmatige test opgenomen.
Handmatig testen |
Ronde 1 |
Ronde 2 |
Voorbereiding: Optimaliseren testscripts Inrichten testruns Inplannen testers |
1 uur 1 uur 4 uur |
1 uur 1 uur 4 uur |
Uitvoering (met 100% testdekking): Interactielogpost met taak Interactielogpost zonder taak Verwijderen medehuurder bij overlijden |
22 min 9,5 min 2,5 min |
22 min 9,5 min 2,5 min |
Uitvoering (zoals het normaliter gaat): Interactielogpost met taak (6% testdekking) Interactielogpost zonder taak (11% testdekking) Verwijderen medehuurder bij overlijden |
50 sec 50 sec 133 sec |
50 sec 50 sec 133 sec |
Automatisch testen
In deze paragraaf worden de resultaten van het geautomatiseerd testen beschreven.
In de onderstaande tabel is tijdsbesteding van de automatische test opgenomen.
Geautomatiseerd testen |
Ronde 1 |
Ronde 2 |
Voorbereiding: Interactielogpost met taak Interactielogpost met taak Verwijderen medehuurder bij overlijden Optimalisatie scripts |
4 uur 4 uur 16 uur 0 uur |
0 uur 0 uur 0 uur 2 uur |
Uitvoering (met 100% testdekking): Interactielogpost met taak Interactielogpost zonder taak Verwijderen medehuurder bij overlijden |
4 min 2 min 2,5 min |
4 min 2 min 2,5 min |
Uitvoering (in vergelijking met testdekking handmatig testen): Interactielogpost met taak (6% testdekking) Interactielogpost zonder taak (11% testdekking) Verwijderen medehuurder bij overlijden |
13 sec 12 sec 164 sec |
13 sec 12 sec 164 sec |
De optimalisatie van de scripts in de voorbereidingsfase kan nogal verschillen op basis van de wijzigingen in de software of wijzigingen in het werkproces. In dit onderzoek heeft hebben we een gemiddelde tijdsduur gebruikt op basis van ervaringscijfers.
Vergelijking
In deze paragraaf worden de twee tabellen handmatig testen en automatisch testen geïntegreerd.
Vergelijking |
Handmatig |
Automatisch |
Voorbereiding: Testronde 1 Testronde 2 Totalen na 2 ronden |
6 uur 6 uur 12 uur |
24 uur 2 uur 26 uur |
Uitvoering (met 100% testdekking): Interactielogpost met taak Interactielogpost zonder taak Verwijderen medehuurder bij overlijden |
22 min 9,5 min 2,5 min |
4 min 2 min 2,5 min |
Uitvoering (zoals het normaliter gaat): Interactielogpost met taak (6% testdekking) Interactielogpost zonder taak (11% testdekking) Verwijderen medehuurder bij overlijden |
50 sec 50 sec 133 sec |
13 sec 12 sec 164 sec |
Frequentie (uitvoeringen/ jaar) |
8 |
Onbeperkt |
Terugverdienperiode bij gelijkblijvende scope:
Interviews
Vanuit de betrokkenen kunnen de algemene positieve bevindingen worden benoemd:
Vanuit de betrokken kunnen de algemene aandachtsgebieden worden benoemd:
Conclusies
Bevindingen
Dit onderzoek had als doel om vast te stellen hoe we testautomatisering kunnen toepassen bij de implementatie en het beheer van ERP-software. Uit de resultaten blijkt het volgende:
De extra inspanningen op termijn terugverdiend worden door effiëntere tests. Wel staan de verantwoordelijken binnen Portaal op het standpunt dat extra inspanningen niet alleen bij de eindklanten moet liggen, maar ook zeker bij de softwareleverancier.
De grote inspanning om goede geautomatiseerde testscripts te maken afgezet moet worden tegen de verwachte tijdswinst. Hergebruik en samenwerking van “gelijkgestemden” zou hier een oplossing kunnen bieden.
Aanbevelingen
Ondanks het feit dat deze pilot over een beperkte scope is ingericht, kan geautomatiseerd testen voor een organisatie als Portaal een toegevoegde waarde bieden. Wel zijn de volgende aanbevelingen belangrijk om mee te nemen in de overweging:
Bron: CEPO | TestMonitor
Zoals ieder jaar was het een voorrecht om CorporatiePlein te mogen organiseren. En de 2024-editie, de veertiende van het…
www.corporatieplein.nlCorporatieGids Magazine September 2024 - Digitale Transformatie Inhoud Madeleine Hamburg (Pré Wonen): De digitale transformatie is bij uitstek…
Zoek en vind leveranciers en adviesbureaus die IT-diensten en oplossingen aanbieden aan woningcorporaties.