User interface test automation for an Android application

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu | Master's thesis
Date
2022-05-16
Department
Major/Subject
Control, Robotics and Autonomous Systems
Mcode
ELEC3025
Degree programme
AEE - Master’s Programme in Automation and Electrical Engineering (TS2013)
Language
en
Pages
49+19
Series
Abstract
Software User Interface (UI) testing is laborious when done by hand. Automating the testing process is desirable due to the high cost of manual UI testing during a product life cycle, especially when it comes to agile software development. One approach to implementing automated testing is the Behavior Driven testing approach, a key component of Behavior Driven Development (BDD), which is an agile development process. BDD uses user behavior as the driving factor when creating product specifications. This thesis evaluates the feasibility of applying the behavior driven testing approach for developing an automated UI testing suite retroactively for an existing Android product. This task is accomplished by implementing a testing suite in a case study. The testing suite includes behavior driven specifications written in Gherkin and the test implementation written in Java using contemporary UI testing frameworks and tools. It also includes the creation of the testing pipeline and environment which executes the testing. The case study shows that behavior driven testing is an effective methodology for a retroactive implementation of automated UI testing on the Android platform. However, it does have drawbacks as well, such as increased maintenance if the product features are changed during the life cycle of the product.

Ohjelmistojen käyttöliittymien käsin suoritettava testaus on työlästä. Tuotteen elinkaaren aikana manuaalisesta testauksesta aiheutuvien kustannusten takia testauksen automatisointi on toivottavaa, erityisesti ketterässä ohjelmistokehityksessä (engl. agile software development). Yksi tapa toteuttaa automatisoitu testaus on käyttää käyttäytymislähtöistä testausta (engl. behavior driven testing), joka on käyttäytymislähtöisen kehityksen (engl. Behavior Driven Development, BDD) avainkomponentti. BDD perustuu käyttäjien käytöksen hyödyntämiseen laadittaessa tuotteen spesifikaatiota. Tämän työn tarkoituksena on arvioida käyttäytymislähtöisen testauksen soveltuvuutta Android-sovelluksen käyttöliittymätestauksen automatisointiin jälkikäteen olemassa olevalle tuotteelle. Arviointi perustuu työssä toteutettavaan tapaustutkimukseen, jossa luodaan automatisoitu käyttöliittymätestausjärjestelmä. Järjestelmä sisältää käyttäytymislähtöiset spesifikaatiot kirjoitettuna Gherkin-kielellä, sekä Javalla kirjoitetun testauskoodin käyttäen moderneja Androidin käyttöliittymätestauskirjastoja. Lisäksi järjestelmään kuuluu testauksen suorittava systeemi ja testausympäristö. Johtopäätöksenä tapaustutkimuksesta voidaan vetää käyttäytymislähtöisen testauksen olevan toimiva tapa toteuttaa automatisoitu käyttöliittymätestaus jälkikäteen Android-sovellukselle. Sillä on kuitenkin myös haittapuolia, kuten kasvava huollon tarve, mikäli sovelluksen ominaisuudet muuttuvat tuotteen elinkaaren aikana.
Description
Supervisor
Sierla, Seppo
Thesis advisor
Soomro, Bilal
Keywords
behavior-driven development, graphical user interface, test automation, user interface testing
Other note
Citation