Har du noen gang ønsket at du hadde en assistent?
Her forteller jeg litt om RPA-platformen UiPath, og hvordan jeg brukte denne som en virtuell assistent i arbeidet med testing hos Arbeidstilsynet.
UiPath er et RPA-verktøy som gjør det mulig å automatisere nesten hva som helst av datasystemer, tjenester og apper. RPA står for Robotic Process Automation, og det er snakk om programvare-roboter som utfører oppgaver vi definerer for dem.
Selve verktøyet, der man utformer arbeidsflytene er UiPath Studio. Det er utformet slik at det er enkelt og intuitivt å tegne opp arbeidsflyten man ønsker å automatisere. F.eks. Sammen med fagpersoner som forstår forretningsprosessene godt. Det minner endel om måten man tegner slike prosesser i f.eks. Visio eller draw.io.
Koden som ligger “under panseret” er .NET og det er dermed ganske kraftig med tanke på hva som er mulighetene. UiPath Studio kommer med en programvarerobot inkludert, og det er denne som utfører de prosessene man har automatisert.
Programvarerobotene i UiPath kan være enten såkalte Unattended Robots, som kan utføre prosesser uten at mennesker er involvert i det hele tatt, eller Attended Robots, som kan kjøre på eller i bakgrunnen på din PC, og som kan stoppe opp enkelte steder i prosessen for å få enkel input fra et menneske.
Alle prosessene og robotene kan koordineres i UiPath Orchestrator, der man kan lage timeplaner og sette opp hvilke prosesser som skal kjøre på hvilke maskiner til hvilken tid, samt å organisere køer av arbeidsoppgaver.
Som tester (og i andre sammenhenger også) havner man ofte borti oppgaver man må gjøre om og om igjen. En typisk situasjon er at du tester noe, og så feiler det. Da må man gjøre det samme igjen etter at utviklerne (er overbevist om at de) har rettet det. Kanskje er det en hel del set-up som må til for å kunne gjennomføre testen, kanskje “bruker man opp” testdata som så må skaffes til veie på nytt igjen før man kan teste på nytt osv.
Uansett er disse forberedelsesoppgavene ganske repetitive og, la oss være ærlige, utrolig kjedelige. Faktisk kan denne kjedeligheten utgjøre en risiko i prosjektet, fordi man rett og slett blir for fristet til å hoppe over å teste ting på nytt fordi det er så mye styr å forberede en test.
Jeg har flere ganger brukt RPA-verktøyet UiPath for å hjelpe meg med en del slike repetitive oppgaver jeg har i forbindelse med testing av programvare.
Nylig var jeg med på å utvikle en løsning for Arbeidstilsynet, der vi fikk opp en “koronaløsning på litt over en uke”, der de behandler søknad om forhåndsgodkjenning av karantene-innkvartering for arbeidsinnvandrere.
Løsningen består av et søknadsskjema, laget i Altinn 3.0, som hentes over til en AWS-backend. Der blir søknaden prosessert og sendt til arkivering. Det er en web-applikasjon der saksbehandlerne avgjør utfallet av søknaden, og et eksternt register der de godkjente innkvarteringene vises, slik at grensekontrollører kan slippe arbeiderne inn i landet.
I testingen av dette var det behov for å (veldig mange ganger) logge seg inn i Altinn, åpne og fylle ut skjemaet, trigge overføringen til AWS, og så sjekke om all informasjonen havnet på rett sted i diverse tabeller, køer, logger og arkiv.
Skjemaet vi utviklet skulle se litt annerledes ut avhengig av hva slags organisasjonsform virksomhetene som sendte inn hadde. F.eks. Var skjemaet relativ enkelt for et norsk AS, men litt mer komplisert for et NUF med utenlandsk adresse.
Her satt jeg opp en UiPath-robot, som vi i prosjektet kalte for Botolf. Han kunne veldig fort søke opp en testperson fra en virksomhet med ønsket organisasjonsform og logge denne inn i Altinn, med passord og pinkode. Testpersonene hadde vi fått tilsendt på et excelark fra Digidir, som driver Altinn.
Når skjema(ene) var fylt ut og sendt inn i Altinn, kunne Botolf trigge overføringen til AWS gjennom en AWS-Cli-kommando.
Dette sparte oss for veldig mye knotete punsje-og-klikke-arbeid og jeg tror vi fikk testet mer fordi det var lettere for oss å gjøre det. Botolf hjalp også til med ytelsestest, gjennom at han ble satt i en loop der han logget seg inn som tilfeldige testpersoner og sendte inn skjema i noen timer, før han trigget overføringen av veldig mange skjema på en gang til AWS. Da fikk vi stresset køene og skaleringen i AWS, og fant ut at vi måtte sette inn noen tiltak for å begrense strømmen enkelte steder.
Ettersom Botolf kjørte i bakgrunnen på min PC, kunne han jobbe mens jeg satt i Teams-møter. UiPath programvareroboter fungerer gjennom å benytte PC'en sine IO-drivere, og tar dermed i praksis over kontrollen over tastatur og mus osv. Det kan gjøre det utfordrende å jobbe veldig mye med andre ting imens roboten jobber.
Vi løste dette gjennom at vi fikk satt opp en virtuell maskin i Amazon Workspaces, der vi installerte UiPath Studio. På den måten kunne Botolf jobbe inne i den, mens jeg kunne gjøre andre ting “ute” i min egen PC.
Dette gjorde også at Botolf kunne jobbe i parallell, både på min PC og i den virtuelle, og dermed få sendt inn dobbelt så mange skjema, og korte ned forberedelsestiden før ytelsestesting.
Jeg har hatt stor glede og nytte av å ha en slik virtuell assistent i jobben som tester og testleder. Det er veldig enkelt å komme i gang med UiPath, og man kan bruke det til veldig mye mer enn jeg har gjort i dette eksempelet.
Jeg har tidligere laget noen videoer som hjelper deg i gang hvis du har lyst til å prøve her:
https://www.youtube.com/channel/UCysZCxZ5ODzdTO9tlMbE7Iw/videos
Jeg har også laget et lite kurs for noen av mine kolleger i Bouvet-Nord, som fortsatt er tilgjengelig her: