Return to search

Mobile game test automation with image recognition

In the sequel of mobile game industry, testing is recognized as a key factor that can either boost or halt the game development. Indeed, the growth speed of mobile industry has led to decreasing quality in the apps and the employed testing tools. The wide spectrum of device hardware and software, so called fragmentation, makes it a lot slower to test the application on devices. Besides, there are more inherent technical issues to test games as compared to other mobile applications. The lack of efficient tools for testing robustness, quality and computational efficiency has been acknowledged by the game industry. This unmet need has motivated the work highlighted in this thesis which aims to explore easy and efficient approaches to generate test automation code for mobile games. First, to identify difficulties, challenges and good practices that mobile game developers face, a questionnaire-based analysis has been conducted and evaluated. Second, a new Android mobile game testing tool, called MAuto, has been developed and deployed. MAuto is developed to be compatible with Appium, open source test automation framework. MAuto is a tool that utilizes its user’s input to generate Appium test automation code which can be run on the same or any other Android device. The system consists of three elements: the user, the browser, and the mobile device. Once the user has launched MAuto, all the interaction between the user and the tool happens with the browser. During the rerun, MAuto utilizes AKAZE algorithm to recognize the location of the object and repeats the user input with Appium. Consequently, MAuto has been used in developing test automation code to play the tutorial scene of the mobile game Clash of Clans. MAuto is designed to be a friendly mobile test creator that, with minimal amendments, can be exported to other testing applications in alternative platforms, e.g. iOS. Nevertheless, the thesis also acknowledges the limitations in the image-recognition based test automation methods where the negative impact of change of configuration, lack of luminosity, and non-exhaustive list of models cannot be ignored. On the other hand, the thesis also reviews the existing tools and current practices in mobile game testing, providing a comparable analysis for both researchers and developer communities. / Mobiilipeliteollisuudessa testauksen on havaittu olevan avaintekijä, joka voi nopeuttaa tai hidastaa pelinkehitystä. Mobiiliteollisuuden kasvunopeus on johtanut applikaatioiden ja testaustyökalujen laadun heikkenemiseen. Laitteistojen ja ohjelmistojen laaja kirjo, niin kutsuttu fragmentaatio, hidastaa applikaatioiden testausta laitteilla. Lisäksi peleissä on enemmän niille ominaisia teknisiä ongelmia verrattuna muihin mobiiliapplikaatioihin. Peliteollisuudessa on huomattu, ettei ole olemassa riittävän tehokkaita työkaluja pelien vakauden, laadun ja tehokkuuden testaamiseen. Tämä diplomityö pyrkii vastaamaan tähän tarpeeseen. Työn tarkoitus on löytää helppoja ja tehokkaita lähestymistapoja testiautomaatiokoodin kehittämiseksi mobiilipeleille. Ensimmäiseksi on toteutettu kyselypohjainen analyysi, jotta voitaisiin selvittää mobiilikehittäjien kohtaamat vaikeudet ja haasteet sekä löytää heille parhaat käytänteet. Toiseksi on kehitetty uusi Android-pelien testaustyökalu, MAuto, joka on tarkoitettu erityisesti helpottamaan pelien testausta mutta joka toimii myös muilla applikaatioilla. MAuto on yhteensopiva Appiumin kanssa, joka on avoimen lähdekoodin testiautomaatioviitekehys. MAuto on työkalu, jolla voi luoda testaajan syötteistä Appium-testiautomaatiokoodia. Testikoodia voidaan ajaa uudelleen millä tahansa Android-laitteella. Järjestelmä koostuu kolmesta osasta: käyttäjästä, selaimesta ja mobiililaitteesta. Kun käyttäjä on käynnistänyt MAuton, interaktio käyttäjän ja työkalun välillä tapahtuu selaimessa. Kun testi ajetaan uudelleen, MAuto toistaa käyttäjän syötteen tunnistetussa sijainnissa hyödyntämällä AKAZE-algoritmia ja Appiumia. MAutoa on käytetty esimerkiksi luomaan testiautomaatiokoodi, joka pelaa Clash of Clans -peliä. MAuto on suunniteltu käyttäjäystävälliseksi, ja pienellä vaivalla sitä voidaan laajentaa kattamaan useampia käyttöjärjestelmiä, kuten iOS. Diplomityö käsittelee myös kuvantunnistukseen perustuvien työkalujen heikkouksia, kuten kuvantunnistuksen tunnistustehokkuutta verrattuna natiiviin objektintunnistukseen ja muuttuvien grafiikoiden aiheuttamia ongelmia testauksessa. Myös MAuton heikkouksia on käsitelty liittyen erityisesti sen nopeuteen ja toimintavarmuuteen peleissä, joissa grafiikan valaistus muuttuu tai peli on nopeatempoinen. Lisäksi työ arvioi olemassa olevia tekniikoita ja työkaluja ja tarjoaa vertailukelpoisen analyysin niin tutkijoille kuin kehittäjillekin.

Identiferoai:union.ndltd.org:oulo.fi/oai:oulu.fi:nbnfioulu-201802131231
Date13 February 2018
CreatorsTuovinen, J. (Jarno)
PublisherUniversity of Oulu
Source SetsUniversity of Oulu
LanguageEnglish
Detected LanguageFinnish
Typeinfo:eu-repo/semantics/masterThesis, info:eu-repo/semantics/publishedVersion
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess, © Jarno Tuovinen, 2018

Page generated in 0.0125 seconds