Jämförelseanalys av GUI testverktyg : Avseende prestanda vid testexekvering och underhållbarhet

Detta är en M1-uppsats från Blekinge Tekniska Högskola/Institutionen för programvaruteknik

Författare: Elena Perers; [2020]

Nyckelord: Cypress; Selenium Webdriver; GUI test; Testautomatisering;

Sammanfattning: I dagens utveckling av webbapplikationer, vilka blir alltmer komplexa, är det viktigt att testa sina webbapplikationer grundligt. En kort exekveringstid av testerna är särskilt viktigt, då de komplexa webbapplikationerna tar allt längre tid att testa manuellt. Det är angeläget att använda automatiserade GUI tester, för att stödja Agila arbetssätt med korta tider för leverans av nya versioner. För att säkerställa att de kan användas vid varje hopslagning av grenar i utvecklingsspåren inför en leverans av den kommande versionen. Ett problem med automatiserade GUI tester är att det alltid har varit svårt att underhålla testfallen när webbapplikationen har ändrats. Därför är det viktigt att det är lätt att underhålla testfallen i testverktygen. I den här studien har två testverktyg för automatiserade GUI tester utvärderats avseende underhållbarhet och exekveringstid. Fördelar och utmaningar med att introducerade automatiserade GUI tester har även de lyfts fram och analyserats. För att undersöka vilka fördelar och utmaningar som finns med att introducera automatiserade GUI tester utfördes en litteraturstudie på tidigare studier. Ett antal fördelar och utmaningar med automatiserade GUI tester har lyfts fram. Den genomgående största utmaningen med automatiserade GUI tester är underhållbarheten av testfallen. När webbapplikationen vidareutvecklas och framförallt i ett tidigt stadium i dess livscykel när mycket ändrar sig är det kostsamt att underhålla testfallen. Det är även en utmaning att implementera testfallen på ett sådant sätt att det blir lätta att underhålla. Vad gäller fördelar är den absolut främsta tidsvinsten i exekveringstid av testfall samt ökad kvalitet genom att tester utförs oftare. Det första experimentet som har utförts var att jämföra exekveringstiden mellan Cypress och Selenium Webdriver. Ett antal testfall har skapats som återspeglar hur webbapplikationen används. Experimentet visar att Selenium Webdriver presterar bättre än Cypress när det exekveras på en utvecklingsdator. Ytterligare jämförelse av prestandan i en CI miljö bör utföras för att se hur Cypress presterar med parallell exekvering av testfall. Det andra experimentet som utförts jämför underhållbarhet mellan Cypress och Selenium Webdriver. Resultatet av det här experimentet har visat att det finns fördelar och nackdelar med båda testverktygen och hur testfallen är skrivna. Cypress är i det här fallet något mer robust när strukturen på sidan ändras. Cypress klarade av ändringen utan några uppdateringar i testkoden. Selenium Webdriver visades vara lite bättre på att hantera när texten på elementen ändras. Det här beror primärt på hur testfallen är skrivna. Experimentet ger ingen tydlig indikation på vilket testverktyg som är bäst. Det visar mest hur olika svårt det är att skriva testfallen och att komma igång med dem i de båda testverktygen. Problemet med underhållbarhet finns fortfarande kvar. Cypress som ett nytt testverktyg lyckas inte lösa det fullständigt. Resultatet av experimentet visar att det inte finns ett testverktyg som kan klassas som bäst. Däremot har Cypress en lovande framtid som ett testverktyg, det är lättare att komma igång med och har bra verktyg vilket underlättar arbetet som testare.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)