In de softwarewereld is de testfase een essentieel onderdeel van de ontwikkelingscyclus. Het testen, dat tot 40% van de totale kosten van een project vertegenwoordigt, is vaak tijdrovend en vereist specifieke en consistente waakzaamheid van de betrokken teams.
Nieuwe en veel toegepaste methoden, zoals Lean, Agile en DevOps, stellen ontwikkelteams in staat om de frequentie van het leveren van nieuwe versies van applicaties te verhogen. Volgens het “2019 Continuous Testing Report” worden deze reeds door 58% van de bedrijven dagelijks benut maar is het testen een knelpunt geworden. Automatisering wordt daarom een voorwaarde om software van hoge kwaliteit te garanderen.
Robotic Process Automation (RPA) gebruiken voor voor uw functioneel testen
Van oudsher hebben ontwikkelteams de meest technische tests geautomatiseerd, zoals unit tests en integratietests. Automatisaties van functioneel testen, vooral non-regressietesten, zijn op gebruikersinterfaceniveau echter nog niet goed ingeburgerd. Oplossingen voor testautomatisering bestaan al vele jaren, maar de implementatie ervan blijft beperkt. De vraag “Wat als je robots je functionele tests voor je laat doen?” is een relevante vraag. In dit artikel laten we zien hoe UiPath, een “Robotic Process Automation” (RPA) platform en – vooral- de”Test Suite” module, je kan helpen om dit proces te automatiseren.
Robotic Process Automation: wat is dat?
Voordat we tot de kern van de zaak komen, kijken we even terug naar “Robotic Process Automation” (RPA). Deze technologie slaagt erin een softwareagent (d.w.z. een “Robot”) acties te laten uitvoeren die vergelijkbaar zijn met acties die een gewone menselijke gebruiker zou uitvoeren. Bijvoorbeeld: klikken op een knop, tekens invoeren op een toetsenbord om de velden van een formulier in te vullen, of in een systeem inloggen… Het doel is om werknemers te ontlasten van repetitieve, simpele taken die een lage toegevoegde waarde hebben en die een robot dus even goed voor hen zou kunnen uitvoeren. Hier denken we aan: het kopiëren van informatie van de ene applicatie naar de andere of het controleren van de consistentie van gegevens tussen verschillende systemen… Je zou versteld staan van het aantal tijdrovende en extreem repetitieve taken die nog steeds deel uitmaken van de dagelijkse routines van vele bedrijfsteams!
Het belangrijkste verschil van RPA in vergelijking met andere automatiseringsoplossingen is dat het een aanpak is waarbij de te automatiseren systemen niet hoeven aangepast worden. De robot voert zijn acties uit op de gebruikersinterface zoals die er is, of het nu een webapplicatie is die toegankelijk is via een internetnavigator of het gaat over een “client heavy” applicatie die draait op Windows! Daarnaast weet de robot ook hoe hij database queries moet uitvoeren, webservices moet gebruiken, gegevens moet manipuleren en acties op bestanden moet uitvoeren.
Een ander belangrijk punt is dat RPA en in het bijzonder de UiPath-oplossing een “Low Code”- of “No Code”-benadering volgt. Met andere woorden, je hoeft geen doorgewinterde IT-ontwikkelaar te zijn om het proces (d.w.z. de rest van de stappen) te ontwerpen dat de robot moet volgen om zijn taak uit te voeren.
Wat heeft RPA te maken met functionele testing?
Een robot maakt geen onderscheid tussen het uitvoeren van een proces in een productieomgeving of een testomgeving. Wat in de wereld van RPA een proces wordt genoemd, is in feite een Quality Test-scenario. We schrijven een scenario als een reeks stappen op gebruikersinterfaces. Voorbeeld: wanneer een robot facturen verwerkt voor een boekhouder, zal hij de meest repetitieve testcases afhandelen voor een kwaliteitsingenieur.
Hoe u UiPath Test Suite kunt gebruiken om functional testing te automatiseren
Test Suite is een oplossing die wordt aangeboden door UiPath om je te helpen automatiseren van je functional testing. Het bevat de volgende modules:
- UiPath Studio: de ontwerptool voor testscenario’s (RPA-processen)
- UiPath Test Manager: de webapplicatie voor het beheer van testscenario’s, hun resultaten en (optionele) integratie met uw CI/CD-platform (Continuous Integration/Continuous Deployment)
- UiPath Orchestrator: de webtoepassing voor het beheer van de uitvoering van robots
- Ui Path Robot: de robot of softwareagent die de testscenario’s uitvoert op een (meestal virtueel) werkstation
Alleen UiPath Test Manager wordt specifiek gebruikt voor testautomatisering. De andere modules zijn inbegrepen bij het RPA-platform.
Tests beheren in UiPath Test Manager
UiPath Test Manager is de belangrijkste tool voor uw quality engineer. Het biedt één dashboard per project en toont de recente activiteit, inclusief automatiseringspercentages en dekking van succesvolle, afgebroken of foutieve tests.
Hoe zijn de verschillende onderdelen van UiPath Test Suite georganiseerd?
Tests worden gegroepeerd per testset. Testsets komen overeen met een set functies die tijdens een campagne worden getest. Deze functies zijn onderverdeeld in een of meer Test Cases. Dit maakt het mogelijk om elke belangrijke stap te onderscheiden. De Test Set kan worden vergeleken met een boek waarvan de Test Cases de hoofdstukken zijn.
In UiPath-terminologie is een testscenario een Test Case. Test Sets en Test Cases worden aangemaakt in Test Manager. De Test Cases kunnen vervolgens worden gekoppeld aan een RPA-proces om het te automatiseren.
Wat gebeurt er tijdens de uitvoering van een Testset in Testmanager?
Sommige Test Cases zijn afhankelijk van de uitvoering van andere upstream Test Cases. Een betalingsprocedure kan bijvoorbeeld afhankelijk zijn van het aanmaken van een order. Om aan deze behoefte te voldoen, kunnen Test Data Queues worden gemaakt, die de overdracht van informatie van de ene Test Case naar de andere mogelijk maken. De wachtrij speelt een leidende rol: met andere woorden, het maakt deze informatie beschikbaar, die vervolgens wordt opgehaald en verwerkt door volgende Test Cases. Het kan ook worden gebruikt om de uitvoering van tests te parallelliseren door het gebruik van meerdere werkstations, waardoor veel tijd wordt bespaard bij het uitvoeren van massale tests.
De uitvoering van een Test Case kan handmatig worden gestart vanuit Test Manager. Het is ook mogelijk om alle Test Cases van een Test Set, of zelfs een heel project, te plannen en te starten.
Nadat een testset is uitgevoerd, kun je op het tabblad Testresultaten de statistieken en informatie bekijken. Het biedt een globaal overzicht van alle Test Cases met hun status Goedgekeurd of Afgekeurd. We kunnen ook de details van elke Test Case bekijken en zo alle asserties observeren, d.w.z. de verificaties die de test heeft uitgevoerd.
Na de uitvoering van een testset kun je op het tabblad Testresultaten de statistieken en gerapporteerde informatie visualiseren. Het biedt een globaal overzicht van alle Test Cases met hun Passed of Failed status. We kunnen ook de details van elke Test Case zien en zo de asserties observeren, dat wil zeggen de verificaties die de test uitvoert.
Dashboard in UiPath Test Manager
Resultaten van testcases in UiPath Test Manager
Scenario’s (test cases) ontwerpen in UiPath Studio
UiPath Studio is de tool waarmee je scenario’s (Test Cases) kunt ontwerpen om te automatiseren. Standaard is een Test Case opgedeeld in drie reeksen:
- Given:het initialisatiegedeelte, ontvangst van invoer- of configuratiegegevens – contextualisatie
- When: testuitvoering
- Then: resultaat van de testuitvoering en volgende stappen – de gegevens naar een andere Test Case sturen via de Data Queue Tests, de applicaties sluiten
Het ontwerp van een testscenario is vergelijkbaar met dat van een standaard RPA-proces, met het verschil dat enkele activiteiten specifiek voor de UiPath Test Suite zijn. UiPath-activiteiten komen overeen met acties die de robot moet uitvoeren: klikken op een knop, een waarde invoeren in een veld, een “If”-conditie, een “For”-loop, gegevens filteren in een tabel, enzovoort. Naast deze standaardactiviteiten kan een assertie worden toegevoegd aan het scenario. Zoals eerder vermeld, gaat het om het verifiëren van een element tijdens het proces. Bijvoorbeeld de waarde van gegevens die wordt weergegeven in de applicatie, ten opzichte van een verwacht resultaat. De verwachtingen in termen van resultaten komen meestal uit de functionele documentatie van de te automatiseren Test Case.
Als het testscenario (d.w.z. het RPA-proces) klaar is, kunt u het in UiPath Studio koppelen aan de Test Case in Test Manager en publiceren in UiPath Orchestrator. Vanaf dat moment is het scenario klaar om uitgevoerd te worden.
Testen van alle mogelijke configuraties: meerdere apparaten, meerdere browsers en mobile
Wanneer functioneel testen handmatig wordt uitgevoerd, is het al moeilijk om een volledige dekking van de functionaliteit van een applicatie te bereiken, maar hoe zit het wanneer het moet worden uitgevoerd op alle apparaten die door uw gebruikers worden gebruikt (en dat kunnen uw klanten zijn)?
UiPath Test Suite kan integreren met platforms die beschikbaar zijn in de cloud, zoals BrowserStack of SauceLabs, om de testscenario’s te herhalen op alle configuraties die u wilt controleren: verschillende smartphones van verschillende merken met verschillende browsers, verschillende pc-configuraties en tablets. Zo zorgt u ervoor dat de nieuwste versie van uw applicatie die open is voor het publiek geen fouten genereert en compatibel blijft met de verschillende ondersteuningen die binnen uw testbereik vallen.
UiPath Test Suite integreren met uw continue integratieplatform
Elk bedrijf heeft zijn eigen interne organisatie en gebruikt verschillende tools voor bugtracking, incidentbeheer, projectbeheer en continue integratie. UiPath Test Suite biedt connectoren naar de belangrijkste CI/CD-platforms op de markt, waaronder Azure DevOps, Atlassian en specifiek de Xray-plugin voor Jira, Jenkins.
Door UiPath Test Suite te integreren met je CI/CD-platform kun je:
- Automatisch tests die gedeclareerd zijn op je CI/CD-platform associëren met tests in UiPath Test Suite
- Functioneel testen starten volgens een vooraf vastgesteld schema (bijvoorbeeld elke nacht) of zodra een nieuwe versie van uw applicatie wordt ingezet
- Testresultaten synchroniseren in uw CI/CD-platform
Ben je klaar om te beginnen met het automatiseren van je functional testing?
Dit artikel behandelt de belangrijkste voordelen van UiPath Test Suite voor het automatiseren van uw functioneel testen. In volgende artikelen gaan we dieper in op enkele van de belangrijkste functies (integratie met CI/CD-platforms, automatisering op mobiele apparaten, een stap-voor-stap voor het lanceren van je project, enz.) We hopen dat dit artikel u heeft aangemoedigd om de volgende stap te zetten. Onze RPA-teams zijn beschikbaar als u vragen of opmerkingen hebt of als u hulp nodig hebt bij het opstarten van een project met het UiPath-platform.