Pseudo-Testade metoder i en Continous Integration-miljö för Android

John Kvarnefalk


Abstrakt

Då mobiler blir mer kapabla och mobilanvändandet ökar runt om i världen blirmobila applikationer allt mer komplexa. Till exempel låter mobila applikatio-ner användare visa sina bankuppgifter eller legitimera sig själva. När mobilaapplikationer hanterar dessa kritiska funktioner ökar vikten av robusta appli-kationer med hög kvalitet. Därför används enhetstestning för att bedöma kva-liteten av en applikation. Det medför att det dessutom finns ett behov av attutvärdera enhetstesterna av en applikation för att öka deras effektivitet. Muta-tionstestning är an metod där applikationens källkod medvetet ändras för attse om applikationens enhetstester kan upptäcka förändringen.

Denna studie undersöker mutationstestning i en Android-applikation. Stu-dien undersöker specifikt en mutationstestningsmetodik som kallas pseudo-testade metoder. Med pseudo-testade metoder ändras hela metoder till att en-dast innehålla ett ensamt return-uttryck. Denna studie introducerar ett ramverkför att exekvera pseudo-testade metoder och samla in återkoppling gällanderamverket i continuous integration miljön. Dessutom utförs ett antal intervju-er för att diskutera pseudo-testade metoder i detalj.

Vi implementerar ramverket med hjälp utav flera olika komponenter. Re-sultaten pekar på att utvecklare är positiva till att ha ett verktyg för att upptäc-ka pseudo-testade metoder i continuous integration-miljön. Däremot är det avstor vikt att metoder som är felaktigt rapporterade minimeras. Samtidigt indi-kerar resultaten att metoder skrivna av utvecklare är mer relevanta att testa änmetoder som är autogenererade. Vi drar slutsatsen att pseudo-testade metoderkan vara användbara för att förbättra kvaliteten av mobila applikationer. Där-emot föreslår vi att framtida arbete är av vikt för att eliminera falskt positivarapporterade metoder.