QA - Bloggen

Så kan du använda AI för testautomatisering

Skriven av Paul Singh | 2024-06-26 20:03

Artificiell intelligens (AI) har förändrat och kommer fortsätta att förändra QA vilket gör att vi som testare behöver vara redo. AI-drivna testverktyg kommer automatisera återkommande uppgifter, förutsäga problem samt förbättra effektivitet och precision. Det skapar mer tid åt kreativa uppgifter men ställer samtidigt nya krav på testaren. De som har förmågan att arbeta med system baserade på AI och dra nytta av att testa med AI kommer att vara eftertraktade. Testautomatisering i framtiden handlar inte om att ställa testare mot AI utan snarare hur man testar med hjälp av AI.

Här följer några sätt för testare att kunna dra nytta av AI i sitt arbete. 

 

 

Generera testfall

 

Med AI är det möjligt att generera testfall på olika sätt och en vanlig metod är att använda Machine Learning (ML). Maskininlärning är en typ av AI som gör det möjligt för datorer att lära sig av data utan att vara explicit programmerade. I test kan maskininlärning användas för att lära sig om mjukvaran och dess beteende. Genom att analysera koden kan AI identifiera potentiella felkällor. Dessa felkällor kan sedan användas för att generera testfall som är utformade för att hitta eventuella fel innan de inträffar.

 

En annan gren av AI som gör det möjligt för interaktionen mellan människor och datorer att efterlikna det naturliga språket så mycket som möjligt är Natural Language Processing (NLP). Användandet av NLP innebär att testare inte behöver lära sig nya regler eller syntax för olika programmeringsspråk. Skapandet och underhållandet av testskript kan vara utdraget och tidskrävande men med skriptlös automatisering genom NLP skrivs scripten i naturligt språk och en av fördelarna är den låga inlärningskurvan. Till skillnad mot de flesta automatiserings verktyg som kräver någon form av programmerings kunskaper. Ytterligare en fördel är ökad förståelse och läsbarhet som gör det möjligt för alla roller inom teamet att granska testfallen vid behov. Eftersom det går att använda vanlig engelska blir det möjligt för alla inom teamet att skapa testfall och produktägare eller projektledare kan gå in och höja testtäckning och kvalitet.

 

Genom att analysera användardokumentation och krav kan AI identifiera potentiella användarscenarion. Dessa användarscenarion kan sedan användas för att generera testfall som simulerar hur användare kommer att använda mjukvaran. Eftersom ML lär sig från tidigare testkörningar, analyserar resultat och hittar avgörande mönster kommer det vara möjligt att hitta upprepande eller mindre viktiga testfall och förbättra testsviten.

 

 

Visuell testning

 

Krav som att leverera enhetlig användarupplevelse oavsett om en användare har Firefox på sin laptop eller Chrome på sin smartphone är inte ovanligt. Och vidare finns det ett växande behov för användare att nå applikationer på olika enheter som plattor och wearables. För testare kan det innebära omänskligt många UI testfall på samtliga webbläsare och enheter. Det gör det omöjligt att hänga med och behovet av visuell AI verifiering kan bli en lämplig lösning.

 

Visuell AI testning går ut på att generera, analysera och jämföra bilder för att upptäcka eventuella förändringar i pixelvärden, kända som "visual diffs". En testrunner behövs för att köra visuella tester i kombination med ett automatiseringsramverk till webbläsare för att efterlikna användarbeteende. Skärmdumpar fångas vid angivna tillfällen och användas som förväntade resultat vid framtida jämförelser. Under testkörning utlöser alla eventuella ändringar en skärmdump och jämförs mot referensbild. Vid avvikelse flaggas test som misslyckat och en automatisk rapport genereras för QA att granska.

 

 

Självläkande och adaptiv testning

 

AI-driven testautomatisering kan vara självreparerande, vilket innebär att den kan anpassa sig till förändringar i programvaran eller testmiljön utan att det krävs manuellt ingripande. Detta är värdefullt i agila utvecklingsmiljöer där förändringar inträffar frekvent. Misslyckade tester upptäcks under testprocessen och många fallerar på grund av dåligt underhåll. Det betyder att QA spenderar tid på att laga testfel som istället skulle kunna läggas på att fixa programvarufel. Manuellt testunderhåll kan även försena produktutveckling och lansering. Självläkande testautomation minskar (eller till och med eliminerar) det manuella testunderhållet. Det leder till färre misslyckade tester och en mer uppdaterad bild av teststatus.

 

Alltför ofta fallerar test på grund av förändringar av objekt eller dess egenskaper i användargränssnittet. Här är det AI-drivna självläkande arbetssättet till hjälp. Objekt kan upptäckas även efter att deras egenskaper har ändrats, vilket effektivt eliminerar behovet av att ändra skriptet.

 

Istället för att testet misslyckas, redigerar AI automatiskt skriptet så att det passar de nya objektegenskaperna. Den självläkande funktionen skrapar, utvärderar, väljer och redigerar skriptet efter behov inom en bråkdel av en sekund. Detta sparar tid och lägger till ytterligare ett lager av automatisering för att minska manuella ingrepp ytterligare.

 

 

Sammanfattning

 

AI är under utveckling och har stor potential att ta över testarens "traditionella" uppgifter som att skapa, köra och underhålla testfall. AI har förmågan att analysera stora mängder data och bidra med omfattande testscenarier som leder till högre grad av täckning och bättre identifiering av potentiella buggar. Precision och hastighet ökar vilket leder till färre buggar och snabbare releaser. Den nya eran av AI-baserad testning leder till ökad produktion och tar bort en del av arbetsbelastningen på testaren. Testare kommer i fortsättningen inte "bara" vara testare utan bör utvecklas till strategiska tänkare med djup förståelse av både tekniska aspekter och verksamhetens krav.

 

Det kan framstå som att testaren i framtiden kommer att ersättas men de mänskliga färdigheterna ska inte underskattas. AI är lika bra som den data de har tränats på och kan inte ersätta mänsklig intuition eller kreativitet. Visst är det lovande när det kommer till att automatisera återkommande uppgifter men kan inte ersätta kritiskt tänkande och problemlösningsförmågan testaren besitter. AI kan inte bidra med den emotionella intelligensen som krävs för att förstå produkten ur ett användarperspektiv och relatera till upplevelsen. Denna begränsning leder till att AI kan missa fel som leder till att användarupplevelsen påverkas negativt. Framtiden för QA ligger i att hitta rätt balans mellan AI och mänsklig testning där AI-baserade verktyg assisterar testaren i att genomföra uppgifterna mer effektivt och precist. Testare som är villiga att lära sig om AI och investera i AI-drivna testverktyg kommer att vara väl positionerade för att lyckas inom framtidens testautomatisering.