This thesis is a design science methodologies study into the benefits and limitations of software test automation for Android applications. As a part of the design science study a new test ware setup was created using Espresso and Android’s Gradle Managed Devices to automate the execution of GUI tests.
The thesis follows a three-step process that is typical with design science research. The steps are “problem identification”, “solution design”, and “design evaluation”. Both quantitative and qualitative data were involved in each step. Semi-structured interviews and literature reviews as well as a single controlled experiment were used to gather the data.
The biggest problems with the case company’s quality assurance process were identified as the inconsistency of the testing process, the lack of regression testing capability, and the overall negative feeling that developers felt towards testing. The thesis studies if and how these problems could be solved using test automation.
The newly produced artefact had a direct positive impact on the quality of one software product of the case company. It was able to discover even previously unreported bugs. It was also found that the use of the artefact offered secondary benefits to the case company which may also have a positive impact on their quality management. On the contrary to previous research on test automation, the findings are positive.Tämä diplomityö toteutettiin suunnittelutieteen tutkimuksena, joka tutkii ohjelmistotestauksen automatisoinnin hyötyjä ja rajoitteita Android sovellusten osalta. Osana tutkimusta luotiin uusi testausympäristö, käyttämällä Espressoa ja Androidin “Gradle Managed Devices” -virtuaalilaitteita, jonka avulla graafisen käyttöliittymän testien ajo automatisoitiin.
Diplomityö seuraa kolmevaiheista prosessia, joka on tyypillinen rakenne suunnittelutieteen tutkimuksessa. Nämä vaiheet ovat “ongelman selvennys”, “ratkaisun suunnittelu ja kehitys” ja “artefaktin arviointi”. Sekä kvantitaavista, että kvalitaavista dataa kerättiin ja hyödynnettiin tutkimuksen eri vaiheissa. Dataa kerättiin rakenteeltaan puolivapaamuotoisten haastatteluiden ja kirjallisuuskatsausten, sekä yhden kontrolloidun tutkimuksen kautta.
Testausprosessin johdonmukaisuuden puute, puuttuva regressiotestausvalmius ja sovelluskehittäjien yleinen negatiivinen suhtautuminen testausta kohtaan tunnistettiin isoimmiksi ongelmiksi tapaustutkimuksen kohteena toimineen yrityksen laadun varmennuksen prosessissa. Diplomityö tutkii, jos, ja kuinka testauksen automatisointi voi ratkaista kyseiset ongelmat.
Suunnittelutieteen tutkimuksen osatuloksena tuotetulla artefaktilla oli suora positiivinen vaikutus tapaustutkimuksen kohteena toimineen yrityksen sovelluksen laatuun. Artefakti oli kykenevä havaitsemaan myös uusia virheitä ohjelmassa. Artefaktin käytön tunnistettiin tarjoavan myös toissijaisia etuja, jotka voivat myös epäsuorasti parantaa yrityksen laadunvalvonnan prosessia. Poiketen diplomityötä edeltävistä tutkimustuloksista, työn löydökset ovat erittäin positiivisia.