Automating user Interface testing: Case study at Finnish Transport Agency

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorTuomola, Juuso
dc.contributor.authorLeivo, Teemu
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.supervisorKauppinen, Marjo
dc.date.accessioned2017-12-18T12:11:04Z
dc.date.available2017-12-18T12:11:04Z
dc.date.issued2017-12-11
dc.description.abstractSoftware 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.en
dc.description.abstractOhjelmistotestaus 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.fi
dc.format.extent61
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/29317
dc.identifier.urnURN:NBN:fi:aalto-201712188115
dc.language.isoenen
dc.programmeMaster’s Programme in Computer, Communication and Information Sciencesfi
dc.programme.majorSoftware and Service Engineeringfi
dc.programme.mcodeSCI3043fi
dc.subject.keyworduser interface testingen
dc.subject.keywordtest automationen
dc.subject.keywordvisual GUI testingen
dc.subject.keywordstructure based testingen
dc.subject.keywordmodel based testingen
dc.titleAutomating user Interface testing: Case study at Finnish Transport Agencyen
dc.titleKäyttöliittymätestauksen automatisoiminen: tapaustutkimus Liikennevirastollafi
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessyes

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
master_Leivo_Teemu_2017.pdf
Size:
1.11 MB
Format:
Adobe Portable Document Format