Automating user Interface testing: Case study at Finnish Transport Agency

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2017-12-11

Department

Major/Subject

Software and Service Engineering

Mcode

SCI3043

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

61

Series

Abstract

Software testing is an important and expensive part of software projects. Test automation has potential to reduce this cost by automating especially regression testing. The goal of this thesis was to evaluate ways to automate user interface testing. The literature review compares different automated user interface testing methods and discusses test execution and reporting practices. In an empirical case study, a user interface test automation system was developed in the T-LOIK project of the Finnish Transport agency for automating regression testing. The test automation system also included a system for automatically executing tests and reporting results. Structure based testing and visual GUI testing were used for building the test automation system and both of the methods are also recommended in literature. Results indicate that structure based tests are more reliable and cheaper to maintain, but require understanding of the internal user interface structure and having access to it. Visual GUI testing is not dependent on the type of user interface used. In addition to developing tests, the test execution and reporting practices need to be considered as well. It is important that the tests are executed regularly in order to notice errors early. In addition, error reports need to be clear and contain enough information for evaluating the reason of the error. In conclusion, especially regression testing should be automated as much as possible, because the existing features change less often reducing the need for maintenance. Either structure based tests or visual GUI tests should be used for this. In addition, it is important to ensure that the tests are useful for developers by concentrating on good execution and reporting practices.

Ohjelmistotestaus on keskeinen osa ohjelmistoprojekteja ja muodostaa myös merkittävän osan niiden kustannuksista. Näitä kustannuksia on mahdollista vähentää automatisoimalla erityisesti regressiotestausta. Tämän diplomityön tavoitteena oli arvioida erilaisia tapoja automatisoida käyttöliittymätestausta. Kirjallisuuskatsauksessa vertaillaan erilaisia menetelmiä käyttöliittymien automaatiotestaukseen ja käsitellään erilaisia tapoja testien suorittamiseen ja tulosten raportoimiseen. Empiirisessä tapaustutkimuksessa kehitettiin testiautomaatiojärjestelmä käyttöliittymän regressiotestaukseen Liikenneviraston T-LOIK projektissa. Kehitettyyn järjestelmään kuului myös järjestelmä testien automaattiseen suorittamiseen ja tulosten raportoimiseen. Testiautomaatiojärjestelmän kehittämisessä käytettiin rakennepohjaisia testejä ja kuvantunnistukseen pohjautuvia testejä. Molempia tapoja suositellaan myös kirjallisuudessa. Tulokset viittaavat siihen, että rakennepohjaiset testit ovat luotettavampia ja ylläpitokustannuksiltaan halvempia. Toisaalta ne vaativat ymmärrystä testattavan sovelluksen käyttöliittymän sisäisestä rakenteesta ja pääsyä siihen, kun taas kuvantunnistukseen pohjautuvat testit eivät ole riippuvaisia testatun sovelluksen rakenteesta. Testien kehittämisen lisäksi on tärkeää huomioida myös testien suorittamiseen ja raportoimiseen liittyvät käytännöt. On tärkeää suorittaa testejä säännöllisesti, jotta virheet voidaan havaita aikaisessa vaiheessa. Lisäksi on tärkeää, että virheraportit ovat selkeitä ja sisältävät tarpeeksi tietoa virheen syyn selvittämiseksi. Keskeinen johtopäätös on, että erityisesti regressiotestausta kannattaa automatisoida mahdollisimman paljon, koska olemassa olevat ominaisuudet muuttuvat harvemmin, joka vähentää ylläpitokustannuksia. Testaukseen kannattaa käyttää joko rakenteeseen tai kuvantunnistukseen perustuvia testejä. Lisäksi on tärkeää varmistaa, että testeistä on hyötyä kehittäjille keskittymällä hyviin käytäntöihin testien suorittamisessa ja tulosten raportoimisessa.

Description

Supervisor

Kauppinen, Marjo

Thesis advisor

Tuomola, Juuso

Keywords

user interface testing, test automation, visual GUI testing, structure based testing, model based testing

Other note

Citation