A developer-friendly automated web GUI test strategy

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Department

Mcode

SCI3043

Language

en

Pages

77 + 6

Series

Abstract

Graphical user interfaces (GUI) of web applications are still usually manually tested even though automation is the state of the practice with unit and integration tests for business logic. However, as manual testing is very time consuming and often repetitive, companies would like to automate GUI testing as well. Adoption has been slow because there are still many challenges with automated GUI tests. This thesis aims to understand the impediments of adopting automatic GUI testing by studying the developer experience (DX) of automated web GUI testing. DX describes the feelings developers have towards their work and the tools and processes the work includes. The theory is that by improving DX, developers are happier and more effective. This thesis began with the assumption that by improving the developer experience of automated web GUI testing, developers are more likely to embrace the testing and adoption is successful. The thesis is an action research project in a case company that wants to improve its testing practices. We interview the company's developers to understand their opinions on DX in GUI testing. Then, we implement a test strategy for a case application that considers the DX using the javascript testing tool Cypress, and a developer evaluates that strategy. The main result of this thesis is that the quality of DX of automated GUI testing is mainly determined by how cost-effective the developers perceive the testing to be. Other factors include: ease of use of tools and writing of tests; robustness and maintainability of tests; the quality of documentation and instructions; the culture around testing; and the developer's ability to affect decisions around testing are also factors. We suggest companies can improve DX by using testing practices that make tests easier to create and maintain, documenting and instructing testing better and creating culture that supports testing.

Verkkosovellusten graafiset käyttöliittymät testataan edelleen yleensä manuaalisesti, vaikka automaatio onkin yleinen käytäntö yksikkö- ja integraatiotesteissä. Koska manuaalinen testaus on kuitenkin erittäin aikaa vievää ja usein puuduttavan toisteista, yritykset haluaisivat automatisoida myös käyttöliittymätestauksen. Käyttöönotto on ollut hidasta, koska automaattisissa käyttöliittymätesteissä on edelleen monia haasteita. Tavoitteena tässä diplomityössä on ymmärtää automaattisen käyttöliittymätestauksen käyttöönoton esteitä tutkimalla automatisoidun käyttöliittymätestauksen kehittäjäkokemusta. Kehittäjäkokemulla tarkoitetaan kehittäjien tunteita työhönsä ja työn sisältämiin työkaluihin ja prosesseihin. Ajatus on, että parantamalla DX-kehittäjät ovat onnellisempia ja tehokkaampia. Tässä diplomityössä lähtöoletuksena on, että parantamalla kehittäjien kokemusta automatisoidusta käyttöliittymätestauksen kehittäjät omaksuvat sen todennäköisemmin ja käyttöönotto onnistuu. Opinnäytetyö tehdään toimintatutkimuksena tapausyrityksessä, joka haluaa parantaa testauskäytäntöjään. Nykytilanteen analysoimiseksi seitsemää yrityksen kehittäjää haastatellaan jotta ymmärretään heidän näkemyksensä automatisoidun käyttöliittymätestauksen kehittäjäkokemuksesta. Sitten kehittäjäkokemuksen huomioiva testistrategia toteutetaan tapaussovellukselle käyttämällä Cypress Javascript-testaustyökalua ja kehittäjä arvioi tämän strategian. Tämän diplomityön päätulos on, että automatisoidun käyttöliittymätestauksen kehittäjäkokemus määräytyy pääasiassa sen mukaan, kuinka kustannustehokkaaksi kehittäjät kokevat testauksen. Muita tekijöitä ovat: työkalujen helppokäyttöisyys ja testien kirjoittaminen; testien kestävyys ja ylläpidettävyys; dokumentaation ja ohjeiden laatu; testauksen ympärillä oleva kulttuuri; ja kehittäjän kyky vaikuttaa testausta koskeviin päätöksiin ovat myös tekijöitä. Ehdotamme, että yritykset voivat parantaa kehittäjäkokemusta käyttämällä testauskäytäntöjä, jotka helpottavat testien luomista ja ylläpitoa, dokumentoimalla ja ohjaamalla testausta paremmin sekä luomalla testausta tukevan kulttuurin.

Description

Supervisor

Vanhanen, Jari

Thesis advisor

Koskinen, Paavo

Other note

Citation