"Banken moeten investeren in volwaardige testomgevingen, die een goede afspiegeling vormen van de realiteit"
Belangrijkste oorzaken storingen internetbankieren
Zoals hierboven omschreven, is er voor internetbankieren een zeer complex applicatielandschap ingericht. Dat zorgt logischerwijs voor een verhoogd risico op fouten. Die kunnen leiden tot storingen, waardoor internetbankieren niet functioneert.
Een aantal belangrijke oorzaken zijn:
- Onderhoudswerkzaamheden
- Niet up-to-date houden van systemen
- Verschillende mobiele platformen
- Onvolledige release management
- Complexiteit van systemen
- Toename van het volume van berichten
- Afhankelijkheid van externe partijen (zo is het bijvoorbeeld niet helder dat er een upgrade gedaan moet worden)
- Betrokkenheid van verschillende disciplines
- Aanvallen van buitenaf
- Menselijke fouten
- Testwerkzaamheden
Bij testwerkzaamheden en ‘interNIETbankieren’ geldt bijvoorbeeld softwareconfiguratie, waarbij er in ‘geïsoleerde omgevingen’ getest wordt. Ook kan het zijn dat de volwaardige testdata is niet voorhanden is, of een eenduidig testbeleid binnen de bankorganisatie uitblijft.
Testen in geïsoleerde omgevingen zorgt er vaak voor dat koppelingen naar andere systemen nog niet beschikbaar zijn. Wanneer de software dan weer in een volwaardige omgeving wordt geplaatst, kunnen op dit vlak problemen ontstaan. Verder kan applicatietesten het meest zorgvuldig gedaan worden met de originele productiedata. Die data mag echter niet gebruikt worden voor testdoeleinden. Hierdoor wordt fictieve data gegenereerd, waarmee getest kan worden. Echter is het zo dat situaties hiermee vaak niet afgedekt kunnen worden. Zorgvuldig testen en regressietesten van de applicatie is van groot belang, omdat eventuele fouten en problemen omtrent internetbankieren worden getraceerd en opgelost.
Storingen voorkomen door testen
De genoemde oorzaken voor het niet functioneren van internetbankieren hebben veelal te maken met de complexiteit van de online bankapplicaties. Zouden die eventueel voorkomen kunnen worden door applicaties grondiger te testen? Softwaretesten betreft een proces dat inzicht geeft in en adviseert over, de kwaliteit van de software en de daaraan gerelateerde risico’s. Alles is met elkaar verbonden en moet non-stop beschikbaar zijn. Laat de betrokken partijen intensief samenwerken en op de hoogte worden gehouden van de wijzigingen op de programmatuur en het achterland. Communicatie speelt hierbij een belangrijke rol.
Wanneer niet alle ketenpartijen tijdens een grote release op de hoogte zijn van bepaalde wijzigingen, bijvoorbeeld het achterland of de communicatielaag, dan kan de testafdeling niet de volledige ketentesten uitvoeren. Daardoor bestaat er een kans dat er storingen optreden. Zeker in een omgeving waar Agile wordt gewerkt, is een goede afstemming van groot belang om de snelheid van opleveringen hoog te houden. Om dit soort problemen te tackelen, kan een papierenketentest gehouden worden. In deze sessie zitten alle partijen om tafel en wordt er stap voor stap besproken wat de wijzigingen zijn en welke datatransformatie gedaan worden door alle partijen.
Hoe wordt er getest?
Ondanks dat storingen omtrent internetbankieren vooral veroorzaakt worden door de complexiteit van de applicatie en enorme toename van gebruikers, kan zorgvuldig testen van applicaties het risico op storingen verkleinen. Hoe gaat dit bij bankapplicaties in zijn werk? Bij softwareontwikkeling zijn er in iedere fase verschillende testtechnieken toepasbaar. De toegepaste technieken zijn veelal:
Testen op technische validatie
- Unittesten
- Testen van de (software-)code
- Automatische systeemtesten met behulp van tooling
- Systeem Integratie Testen met stubs. Zoveel mogelijk geautomatiseerd
- Ketentesten end-to-end.
Testen op functionele validatie
- Op basis van de (functionele) specificatie en daaraan gekoppelde testcases, validatie uitvoeren
- Applicatietesten door ervaren testers en eindgebruikers
Productie acceptatie testen
- Applicaties worden getest met functioneel en technisch beheer om fouten in een productie-like omgeving op te sporen
Load testen - Uitvoeren van performance & stresstesten
Security testen
- Testen van de softwarebeveiliging
"Hoe effectiever er getest wordt, des te beperkter de risico’s en kleiner de kans op fouten en storingen"
Risico’s op storingen omtrent internetbankieren worden door testen verkleind. De kosten om te testen, zouden voor de consument waarschijnlijk niet opwegen tegen de onbeschikbaarheid. Kortom, keuzes. In ieder geval de overweging waard, zijn: releases, de wijze van softwareontwikkeling, communicatie, performance, versiebeheer en beveiliging. Hierbij is het van belang dat er eenduidige afspraken worden gemaakt over softwareontwikkeling en de vastlegging van documentatie. Dit is de basis voor een goed werkende applicatie en bovendien de basis om goed te kunnen testen.
Daarnaast zou een bankorganisatie een breed testbeleid door moeten voeren. Dit betekent dat er op iedere afdeling voldoende, gespecialiseerde testers werkzaam zouden moeten zijn, om alle applicaties en systemen continu te laten testen. Hoe effectiever en beter gestructureerd er getest wordt, des te beperkter de risico’s en kleiner de kans op fouten / storingen. Als laatste zouden de banken die nog geen eenduidig testbeleid hebben, moeten investeren in volwaardige testomgevingen, die een goede afspiegeling vormen van de realiteit. Zo kunnen de tests beter uitgevoerd worden, zonder het risico dat een applicatie in een testomgeving wel goed functioneert, maar in een volwaardige toch fouten blijkt te hebben. Hoe realistischer de testomgeving, des te groter de kans dat alle fouten en problemen opgespoord kunnen worden.