Een andere kijk op het gebruik van testtooling
Stel je voor: je hebt een mooi softwarepakket dat uitstekend werkt. De gebruikers raken gewend aan het pakket en gaan er meer mee doen. Dan komen er vragen. Ze moeten dezelfde handelingen honderden keren uitvoeren en hebben daar eigenlijk niet de tijd en motivatie voor. Denk bijvoorbeeld aan eenvoudige zaken als het doorvoeren van correcties, maar ook aan complexere situaties zoals de invoer van bulkdata bij conversietrajecten. Hier was bij de aanschaf van het pakket geen rekening mee gehouden en het is te duur om hiervoor nu nog iets te (laten) inbouwen. Het werk handmatig blijven doen is echter ook niet heel efficiënt. Wat doe je dan?
Zo’n situatie komt steeds vaker voor. Soms is er al rekening gehouden met dit soort vragen in een systeem. Dan bestaat er bijvoorbeeld een mogelijkheid om via een webservice of importtool, data te verwerken. Vaak moeten er echter toch aanpassingen gedaan worden en/of nieuwe functionaliteit(en) gebouwd worden. Zeker met modernere systemen die steeds complexer worden, is het toevoegen van nieuwe functionaliteit toch al een flinke uitdaging. Denk aan de doorlooptijd van het specificeren, ontwikkelen, testen en uitrollen. Een tijdrovende en relatief dure klus, Zeker als deze aanpassing maar eenmalig gebruikt zou worden.
Dan terug naar de handmatige acties en een leger uitzendkrachten inzetten? Dat is zeker een optie. Zelfs eentje die heel vaak gekozen wordt, maar deze optie brengt ook grote nadelen met zich mee. Zo is er een zeer grote kans op fouten, omdat uitzendkrachten je bedrijfsprocessen niet kennen. Er is dan veel ondersteuning nodig. Daarnaast is het ook traag en heel duur, omdat er inwerktijd nodig is en deze uitzendkrachten een leercurve door moeten.
Robotic Process Automation
Er is echter nog een andere oplossing. Eén die een organisatie vaak al in huis heeft, maar waar vaak niet aan gedacht wordt: het inzetten van automatische testtooling op het gebied van zowel performance als functionaliteit. Deze tooling kan de rol vervullen van Robotic Process Automation (RPA) waarbij je bedrijfsprocessen automatiseert. Met het automatiseren elimineer je het risico op menselijke fouten die gemaakt worden bij het uitvoeren van repetitieve handelingen, omdat de tooling elke handeling exact hetzelfde uitvoert.
Testtool als startpunt voor Robotic Process Automation
Je kunt een testtool ook benutten om te starten met RPA. Hierbij profiteer je van de volgende voordelen:
- De kennis en ervaring van testers met de testtooling en het systeem waarmee gewerkt moet worden, helpen bij het inschatten van de impact van de benodigde wijzigingen.
- Dezelfde testers zijn bij uitstek geschikt om het hele RPA-proces neer te zetten (o.a. het bouwen van scripts) en alle benodigde stappen daarbinnen te testen.
- Met RPA, oftewel de testtool, kan dan relatief snel een script geschreven worden dat de gebruikersacties simuleert. Vaak zijn deze scripts er zelfs al, als onderdeel van bijvoorbeeld een regressietest. Een testtool maakt het zo heel eenvoudig om snel een betrouwbaar script te maken.
- Testtools bevatten vaak ook rapportagemogelijkheden en daarnaast kunnen ze, eenmaal goed ingesteld, gerust een paar nachten doorwerken.
- Omdat er gebruikersacties gesimuleerd worden, kan dit samen met de gebruikers ingericht worden en is het testen van deze implementatie ook heel eenvoudig. Het testen van dit soort scripts is snel te realiseren en het is in een vroeg stadium al mogelijk een indicatie te geven van de werking op een testomgeving.
De stap van testautomatisering naar RPA is niet heel groot. Zeker op technisch vlak is er met testtools vaak snel een begin te maken, omdat de benodigde kennis en ervaring reeds in de organisatie aanwezig is. De grote uitdagingen zitten in nieuwe en andere requirements aan het proces, zoals het testen, garanderen van de betrouwbaarheid en stabiliteit, logging, audits en monitoring. De betrouwbaarheid moet optimaal zijn en de tool moet toegankelijker gemaakt worden, zodat de opstartfase en het inrichten en opzetten van scripts snel en praktisch is.
Robotic Process Automation versus testtools
Er bestaan al RPA-softwarepakketten, maar een testtool heeft een aantal aanvullende voordelen. Veel bestaande (klassieke) RPA-tools werken door het simuleren van muis en toetsenbordhandelingen (m.b.v. image recognition), die dan klikken en typen op elementen op een scherm. Maar dit hoeft niet altijd de beste oplossing te zijn. Het gebruik van bijvoorbeeld Selenium levert voor web interfaces een véél efficiënter en sneller script op. Selenium kan namelijk direct web interfaces aansturen. Met RPA-softwarepakketten kan ondersteuning nodig zijn van bijvoorbeeld Google, Microsoft of Mozilla om complete desktops aan te kunnen sturen waarbij gebruik wordt gemaakt van meerdere tussenlagen.
Een testtool kan ook op verschillende lagen van een omgeving werken. Soms op basis van webelementen bij een webapplicatie door gebruik te maken van Selenium. Soms zelfs op basis van het simuleren van het netwerkverkeer van een applicatie of het insturen van data via SOAP/XML. Uiteraard ben je hierbij afhankelijk van de mogelijkheden van het doelsysteem. De uitgebreide ervaring van testers met de testtooling en het systeem maakt dat deze kennis reeds aanwezig is in de organisatie en snel opgepakt en ingezet kan worden.
Automatiseren repetitieve handelingen
Testautomatisering is een belangrijk onderdeel in het testproces, waarbij met behulp van testtooling allerlei testen uitgevoerd kunnen worden om te verifiëren of het systeem naar verwachting werkt. Omdat de testtooling het systeem kan aansturen is dit uitermate geschikt om bedrijfsprocessen te automatiseren. We spreken dan over RPA. In plaats van enkel het verifiëren van de werking van het systeem, automatiseer je met de testtooling specifieke repetitieve handelingen. Het is een interessante invalshoek die momenteel veel aan populariteit wint en wellicht jouw organisatie verder kan helpen.
Meer weten hierover? Neem dan contact met me op via: pdhont@computest.nl.