Van testautomatisering naar Robotic Process Automation

Efficiënt omgaan met repetitieve handmatige taken
Stel je voor: je hebt een softwarepakket gekocht waar gebruikers op het eerste gezicht prima hun werk mee kunnen 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 iets te (laten) bouwen. Het werk handmatig blijven doen is echter ook niet heel efficiënt. Wat doe je dan?
Deze situatie komt steeds vaker voor. Soms is 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 toch aanpassingen gedaan worden en/of nieuwe functionaliteit gebouwd worden.
Door: Peter d’Hont, Test Consultant bij Heeyoo
Tijdrovende klus
Zeker met modernere systemen die steeds complexer worden, is het toevoegen van nieuwe functionaliteit 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 de handmatige acties accepteren en hier mensen voor inhuren? 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 inhuurkrachten 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 medewerkers een leercurve door moeten.
Oplossing: 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 verklein 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 gebruiken 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 heel 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 al 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.
Automatiseren repetitieve handelingen
Testautomatisering is een belangrijk onderdeel in het testproces, waarbij met 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 heel geschikt om bedrijfsprocessen te automatiseren. In plaats van alleen het verifiëren van de werking van het systeem, automatiseer je met de testtooling specifieke repetitieve handelingen. Het is een interessante oplossing die steeds vaker wordt ingezet en misschien ook jouw organisatie verder kan helpen.





