Automating user Interface testing: Case study at Finnish Transport Agency

Loading...
Thumbnail Image
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