Software testen binnen de financiële dienstverlening: het testplan en de mogelijkheden voor testautomatisering!

Bij House of Bèta werken niet alleen binnen de unit Business IT professionals met testervaring. Ook binnen de business unit Actuarieel en de verschillende business units van moederlabel Talent&Pro werken collega’s aan de ontwikkeling en het testen van software bij diverse opdrachtgevers. Onze collega’s hebben ervaring met handmatige systeem- en acceptatietests én geautomatiseerd testen. Pieter Katerberg is specialist op het gebied van testautomatisering. In deze blog vertelt Pieter over zijn ervaringen met testen en de mogelijkheden die testautomatisering biedt, maar nog niet altijd voldoende worden benut…

Testen in de financiële dienstverlening: de context

Wanneer je op projecten bij opdrachtgevers in de financiële dienstverlening werkt, kom je in aanraking met administratiesystemen en andere geautomatiseerde processen. De kans is groot dat je daarbij vroeg of laat geconfronteerd wordt met systeemwijzigingen, systeemconversies of de ontwikkeling van een geheel nieuw systeem, rekenmodel of andere tools. De aanleiding hiervoor kan een wetswijziging zijn, maar bijvoorbeeld ook de behoefte aan extra of nieuwe informatie, een commercieel besluit of de wens op efficiencyverbeteringen. In al deze gevallen zijn testwerkzaamheden belangrijk. De correcte werking van het systeem of de tool moet immers worden vastgesteld voordat het (ver)nieuw(d)e systeem live kan.

Opstarten: het testplan en gestructureerd vastleggen van testgevallen

In de wereld van IT doe je natuurlijk niets zonder goed plan. Dat is bij het ontwikkelen en testen van software niet anders. Daarom begin je testwerkzaamheden altijd met een testplan. Dit plan werk je uit in een gestructureerde serie testgevallen. Daarbij is het van belang om zowel de testgevallen als de benodigde testdata goed helder en logisch vast te leggen. Door dat te doen zorg je ervoor dat je bij wijzigingen en uitbreidingen snel opnieuw kunt testen (regressietesten), zonder dat een tester alle testgevallen steeds opnieuw moet bedenken en uitvoeren. Dit is natuurlijk onnodig tijdrovend en arbeidsintensief. Met een testplan maak je het jezelf makkelijker, maar ook collega’s die in de toekomst verder gaan waar jij gebleven was.

testautomatisering

Overweging: helpt testautomatisering bij het beter uitvoeren van de tests?

Als je testplan goed in elkaar steekt kun je overwegen om de tests te automatiseren, waarbij de belangrijkste vraag is: kunnen de tests beter worden uitgevoerd als je gebruikmaakt van testautomatisering? Ik leg in een notendop uit wat dat inhoudt. Bij testautomatisering maak je gebruik van hulpmiddelen (testtools) die het testproces ondersteunen. Bij het ontwikkelen van actuariële rekenmodellen of –rapportages bijvoorbeeld worden in de praktijk verschillende vormen van testautomatisering toegepast. Ik bespreek er twee.

Het schaduwmodel als testtool: wat zijn de mogelijkheden?

Naast de officiële programmatuur wordt in de praktijk vaak gebruikgemaakt van schaduwmodellen. Deze worden onafhankelijk van de officiële programmatuur ontwikkeld en bieden een parallele omgeving waarin je de resultaten van beide modellen kunt vergelijken. Op deze manier zorg je voor meer zekerheid dat de programmatuur op de juiste wijze werkt. Een schaduwmodel kun je bouwen in Visual Basic for Applications (VBA) in applicaties als MS Excel en MS Access. Maar het schaduwmodel kan ook in dezelfde programmeertaal worden gebouwd als het officiële model. Daarmee kunnen tools worden ontwikkeld waarmee snel (regressie)tests kunnen worden uitgevoerd. Naast het belang van het onafhankelijk van elkaar programmeren van de officiële programmatuur en de schaduwprogrammatuur (zodat deze elkaar niet kunnen beïnvloeden), is het belangrijk dat de ontwikkelaars van beide modellen ook zeer kritisch kijken naar de juistheid van de beschreven gewenste systeemfunctionaliteit (requirements).

Unit- en regressietesten binnen C#, R of Python

Een tweede manier van automatisch testen is werken met unit- en regressietests. Bij systemen die met bijvoorbeeld C#, R of Python ontwikkeld worden bestaat de mogelijkheid om testprojecten aan te maken voor het uitvoeren van unit tests. Bij deze tests wordt door testers aanvullende code geschreven, die de kleinste subonderdelen van de code met voorbeeldgegevens volledig kunnen testen. Zo kun je vaststellen of deze subonderdelen foutloos werken. Zodra er meerdere onderdelen zijn gebouwd, kunnen deze unit tests automatisch achter elkaar worden uitgevoerd. Daarmee is het mogelijk aanpassingen en/of uitbreidingen van de programmatuur snel te hertesten (regressietesten) door de modeloutput te vergelijken met eerder goedgekeurde testresultaten.

Hoe belangrijk is testautomatisering? Overwegingen en conclusie

Het is altijd belangrijk dat testgevallen op een gestructureerde wijze worden uitgewerkt en opgeslagen, dus zowel bij handmatig als bij automatisch testen. Automatisch (regressie)testen kan bij juiste toepassing tijd en kosten besparen ten opzichte van handmatig testen. Deze tijd kun je vervolgens gebruiken voor aanvullende analyses, extra berekeningen of het doorvoeren van verbeteringen. Ondanks deze mogelijke voordelen van automatisch testen zien we dat binnen veel projecten eigenlijk nog steeds alleen handmatig wordt getest. Hierdoor blijven de kwaliteit en snelheid van de tests achter bij wat er technisch mogelijk is.

Meer weten over testautomatisering?

testautomatisering tips and tricks

Omdat je ambitie hebt om binnen de IT te groeien en ontwikkelen op het gebied van software development? Of omdat jouw organisatie wil groeien door de inzet van onze data- en IT-specialisten? Bekijk hier de traineeships bij House of Bèta of neem contact op met Principal Consultant Pieter Katerberg voor meer informatie over de mogelijkheden bij House of Bèta! Vanuit team Actuarieel is hij bij verschillende projecten betrokken geweest als tester en developer. In rollen zoals systeemtester aan de IT kant, maar ook als functioneel- en acceptatietester aan de gebruikerskant heeft hij brede en specialistische ervaring.

Pieter Katerberg | Principal Actuarieel Consultant | pieter.katerberg@houseofbeta.nl 

Contact

Meer weten over onze organisatie, traineeships of diensten? Wij vertellen er graag meer over.

Stel je vraag

+31 (0)88 − 17 01 480

info@houseofbeta.nl
Utrecht Euclideslaan 2
3584 BN Utrecht
Delft Olof Palmestraat 14-18
(unit 4-5)
2616 LR Delft
Eindhoven Kastanjelaan 400
5616 LZ Eindhoven