Visual Regression Testing for Web Applications

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2014-05-05
Department
Major/Subject
Tietoliikenneohjelmistot
Mcode
T3005
Degree programme
Tietotekniikan koulutusohjelma
Language
en
Pages
71
Series
Abstract
Content of the web has transformed from static pages to complex web applications. To ensure software quality, the functionality of an application user interface should be tested with unit and integration tests. However, modifications to the application can result in unintended visual changes, which cannot be detected with functional tests. This visual regression can be tested with a method where the application state is captured as a screenshot and compared with images from previous versions of the application. The goal of this thesis is to evaluate the existing visual regression testing tools and to find the common problem areas and advantages of current testing techniques. We will also implement a new tool to perform the visual regression testing in Continuous Integration environment. Our findings show that only two of the four evaluated tools were sufficient for automating the testing. Because these tools had the ability to interact with the tested application and to test individual display elements, they were able to test the entire application. Our evaluation also revealed that the most significant issue in visual regression testing is the difficulty of keeping the visual regression tests up-to-date with the tested application. We utilized our evaluation findings to design and implement a new visual regression testing tool Giffidiffi. Giffidiffi supports the developers' workflow and provides a user interface to manage the tests. With Giffidiffi, the developer can easily keep the tests updated. Additionally, Giffidiffi will be released as an open source project and the architecture allows to extend and to improve the tool further.

Selainpohjaisten ohjelmistojen käyttöliittymien toimintaa voidaan testata yksikkö- ja integraatiotesteillä. Testit eivät kuitenkaan tarkasta käyttöliittymän visuaalista ilmettä, mikä voi johtaa siihen, että sovellusta muokattaessa visuaalinen ilme saattaa muuttua vahingossa. Näitä visuaalisia muutoksia voidaan testata automaattisesti vertailemalla kuvakaappauksia uudesta ja vanhasta versiosta. Tämän diplomityön tarkoituksena on arvioida olemassa olevia testaustyökaluja sekä löytää visuaalisen regressiotestauksen yleiset ongelma-alueet. Lisäksi luomme uuden työkalun visuaalisen regression testaukseen. Työssä arvioitiin yhteensä neljää testaustyökalua ja niiden soveltuvuutta visuaalisen regressiotestauksen automatisointiin. Arvioinnin tulokset osoittivat, että koko sovelluksen testaus on mahdollista vain kahdella työkalulla. Lisäksi huomasimme, että testien pitäminen ajan tasalla on nykyisillä työkaluilla vaikeaa. Visuaalisen regressiotestauksen suurin ongelma on nopeasti vanhenevat testit, sillä testien pitää huomioida pienetkin muutokset käyttöliittymässä. Työn tuloksena kehitimme uuden testaustyökalun, Giffidiffin, jolla ohjelmistokehittäjät voivat helposti testata visuaalista regressiota. Hyödynsimme työkalun suunnittelussa tehdyn vertailun tuloksia ja toteutimme Giffidiffiin selainpohjaisen käyttöliittymän, jonka avulla kehittäjien on helppo pitää testit ajan tasalla. Giffidiffi julkaistaan avoimena lähdekoodina, joten sitä on helppo kehittää tulevaisuudessa hyödyntämään esimerkiksi uusia kuvanvertailutekniikoita.
Description
Supervisor
Nurminen, Jukka K.
Thesis advisor
Snellman, Juhani
Keywords
visual, regression, testing, Web application, User Interface, Giffidiffi, visuaalinen, regressiotestaus, Web-sovellus, käyttöliittymä, Giffidiffi
Other note
Citation