Kvalitetssäkra processer med UiPath Test Suite

Att kvalitetssäkra det som levereras till produktion är lika viktigt vid RPA-projekt som vid all utveckling. En hörnsten i denna kvalitetssäkring är tester och i denna artikel tar jag därför upp vad UiPath erbjuder avseende automatiserade tester.

Vid automatisering av processer är det viktigt att upprätthålla en stabil produktion med få störningar. Verksamheten i sig själv kan orsaka störningar i med att processen ändras på grund av exempelvis ändrade rutiner. Dessa störningar är ofta mindre men kan vara vanligt förekommande. Även driften eller driftmiljöerna kan orsaka störningar. Dessa kan orsaka stora problem men förkommer ganska sällan. Under utveckling uppstår ofta störningar som kan vara både mindre och större. För att inte problem som uppstår under utveckling ska nå produktionsmiljön krävs att verifiering av funktionalitet sker innan leverans. Man bör också verifiera produktionsmiljön löpande för att hitta problem och proaktivt kunna åtgärda dessa innan verksamheten drabbas. 

RPA-testing

För en automation finns det tre olika delar som påverkar stabiliteten. Dels är det applikationerna, till exempel SAP, som kan förändras. Roboten kan, baserat på en uppsättning testdata, utföra ett antal scenarier för att verifiera applikationens (t.ex. SAP) funktionalitet.

Dels kan miljön där applikationen exekverar påverka funktionaliteten. Det kan röra sig om prestanda, beroenden, data eller systemuppdateringar som påverkar hur applikationen eller roboten beter sig. Exempel på problem vi ofta sett är att språk och valuta skiljer mellan olika miljöer.

Slutligen påverkar själva automationen (det vi utvecklar i UiPath) hur väl processen utförs.

RPA-what-breaks

Tester kan utföras med en ”vanlig” robot och finns redan licenser är uppstartssträckan kort och inga ytterligare licenskostnader behövs. UiPath själva framhåller scenariot att testa standardapplikationer för att verifiera att funktionaliteten inte ändrats eller påverkats av miljön.

Med UiPath Test Suite får man ännu bättre möjligheter för automatiserade tester än de som en ”vanlig” robot erbjuder. Dels finns skräddasydda aktiviteter i utvecklingsverktyget som kan användas för att validera data enligt processen (Given-When-Then) nedan. Dels får man integrationer till andra verktyg. 

RPA-test-case

De komponenter som ingår i testsviten framgår av bilden nedan. Med licensen Developer Pro ges en utvecklingsmiljö med de nyss nämnda aktiviteterna för test.

Med licensen Tester får man verktyget Test Manager. Med Test Manager hanterar man sina tester. Man kan knyta testfall till testdata i olika kombinationer. Observera att redan med befintliga Orchestrator kan olika processer skapas som exekverar på olika datasett. Dataset kan helt enkelt sparas i Excel-ark för att användas i en test-automation liknande det man normalt gör vid utveckling av RPA. Givetvis är detta inte lika bra men kanske tillräckligt bra. 

Test Manager ger även möjlighet att integrera med olika typer av ALM-verktyg (Application Life Cycle Management). Exempelvis kan integration ske till Microsoft Azure Dev Ops för att varje gång ny kod checkas in eller ny leverans ska ske exekvera testerna.

Resultat från testerna kan sedan sparas i ALM-verktyget för att där vid behov skapa ärenden med åtgärder som sedan kan hanteras strukturerat och transparent.

uipath-test-manager

 

Inom IT-utveckling generellt används termerna Continuous Integration (CI) och Continuous Delivery (CD). Test Managerna ger stöd åt bägge dessa koncept.

uipath-test-context

Sammanfattning

Som jag försökt beskriva kan befintliga robotar användas för att testa men att Developer Pro och Test Manager är komplement som förbättrar dessa möjligheter.

Notera att utveckla automatiserade processer inte är samma som att automatisera valideringen av funktionalitet. Även om de har mycket gemensamt. Automatiserade processer genomför en hel process och om de redan skulle finnas skulle de också kunna användas för att till viss del verifiera funktionalitet. Automatiserade tester testar endast en viss funktionalitet, kanske ett specifikt formulär i en applikation och har normalt inte kännedom om verksamhetslogiken utan endast det förväntade resultatet. På så vis är automatiserade tester enklare att utveckla.

Som beskrivits ovan har UiPath inte bara verktyg för att snabbt bygga tester utan också för att hantera tester och kontinuerligt kvalitetssäkra. Mer info om dessa verktyg finns på:
Automation Testing Tool - RPA Testing - Test Suite | UiPath