Alla bra utvecklingsprocesser innehåller en testfas - oavsett om man låter vänner och familj utvärdera produkten eller om det är en kvalitetssäkring som utförs av en certifierad leverantör. Testningen görs oftast manuellt eller halvautomatiskt med hjälp av verktyg som Selenium. Många är bekanta med automatiserade testningsverktyg, men då det kan kännas krångligt att implementera automatiserade UI-tester är det ibland något man hellre undviker. Medan andra automatiserade integrations- och enhetstester kan vara enklare och mer okomplicerade att implementera kräver automatisk UI-testning mer eftertanke och planering - men de potentiella fördelarna är desto större. Automatisk testning av webbgränssnitt sparar mängder av tid, säkerställer högre kvalitet och precision och möjliggör kontinuerlig distribution. En välkommen bonus är potentialen att omvandla din verksamhet!
Att komma igång med din befintliga CI/CD-pipeline
Om du redan har en CI/CD pipeline kan du etablera separata steg i utvecklings-pipelines som endast gör UI-testning. Ett bra skäl till att ha separata steg är möjligheten att optimera och upprätthålla testerna separat från de övriga stegen. Dessutom kan du se till att build-steget inte tar för lång tid och du kan köra tester parallellt. Ett bra exempel på detta är att köra 50 samtidiga inloggningstester för att kontrollera brute-force-attacker, stabilitet och prestanda.
Ett av de bästa sätten att implementera det här steget i din CI/CD-pipeline är att använda en serverlös metod, närmare bestämt compute-tjänsten AWS Lambda. Vi gillar att göra saker och ting serverlöst, så detta är metoden vi föredrar.
AWS-tjänster för automatisk webb-UI-testning
AWS Lambda erbjuder en högpresterande lösning som kan köra så många tester som du behöver parallellt, och du betalar bara för det du använder. Du behöver inga förprovisionerade servrar eller enheter som du betalar för trots att du inte använder dem.
Med AWS Fargate och AWS Device Farm kan du automatiskt starta webbgränssnittstester på de enheter du behöver, i den miljö du vill testa och få detaljerade rapporter direkt. Med AWS Device Farm kan du testa på ett stort antal mobiltelefoner, medan AWS Fargate låter dig skapa containers som du kan köra tester på.
Om du redan använder Selenium-baserade ramverk för att driva en stor uppsättning tester kan du också ansluta den till AWS Device Farm. Du kan enkelt integrera videor, loggar och prestandadata eftersom AWS är kompatibelt med ramverket.
Att välja rätt verktyg och tjänster
Detta kan vara tidskrävande och komplicerat, även om AWS ger dig större frihet. Det är viktigt att skaffa rätt verktyg och tjänster och att planera saker i god tid för att säkerställa att framtida tester inte kräver ytterligare förändringar i hög grad, samt att de är lika exakta och ger kvantifierbara, detaljerade rapporter.
Eftersom detta kan kännas som en överväldigande uppgift för vissa har vi skapat en mall som enkelt kan anpassas till dina krav, och som är snabb att applicera. Mallen konfigurerar AWS Lambda-funktionen, AWS Fargate-containers och AWS Device Farm.
Men om jag inte har en CI/CD-pipeline?
Om du inte redan har en CI/CD-pipeline slipper du tänka på att skapa den själv. Vi har byggt en CI/CD-pipeline-mall som hjälper dig komma igång. Alternativt kan vi sätta upp pipelinen tillsammans, samtidigt som vi integrerar automatiserade Web UT-tester i densamma.
Vad är nästa steg?
Vid det här laget bör du ha en bättre uppfattning om de idéer och utmaningar som kommer med att automatisera din Web UI-testningsprocess, samt de verktyg som AWS har att erbjuda. Tveka inte att kontakta oss på PCG för att se hur vi kan underlätta övergången och diskutera hur vi kan utforma dina processer så att de blir ännu mer effektiva.