Testing Graphical User Interfaces with Property-Based Testing
Willberg-Laine, Tiina (2022-06-22)
Testing Graphical User Interfaces with Property-Based Testing
Willberg-Laine, Tiina
(22.06.2022)
Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
avoin
Julkaisun pysyvä osoite on:
https://urn.fi/URN:NBN:fi-fe2022062749897
https://urn.fi/URN:NBN:fi-fe2022062749897
Tiivistelmä
Before a software product is released, it has to be verified that the product works as it should.
Graphical User Interfaces (GUI) need to be tested like any other software products.
The purpose of testing GUIs is to detect defects but also unexpected behaviour of a GUI.
In 2000 John Hughes and Koen Claessen introduced a new software testing technique: \textit{Property-Based Testing}
(PBT). In this testing technique the functionality of the system under the test is defined as properties.
Properties are like rules
for the features under test. A property defines a relation between input and output that should always
hold for all inputs. A property is tested by generating a large number of inputs for which the property is tested.
The goal of this thesis is to explore if PBT is applicable to UI testing. We formulate properties that describe the rules
that a GUI should follow, then apply PBT and investigate whether defects could be exposed this way. We also explore whether
PBT solves any of the challenges of UI testing, in particular whether test coverage can be increased by using PBT.
As its results, this thesis shows that PBT can be applied in GUI testing and that there are defect classes that
might not be detectable by traditional testing methods, but can be found using PBT.
Graphical User Interfaces (GUI) need to be tested like any other software products.
The purpose of testing GUIs is to detect defects but also unexpected behaviour of a GUI.
In 2000 John Hughes and Koen Claessen introduced a new software testing technique: \textit{Property-Based Testing}
(PBT). In this testing technique the functionality of the system under the test is defined as properties.
Properties are like rules
for the features under test. A property defines a relation between input and output that should always
hold for all inputs. A property is tested by generating a large number of inputs for which the property is tested.
The goal of this thesis is to explore if PBT is applicable to UI testing. We formulate properties that describe the rules
that a GUI should follow, then apply PBT and investigate whether defects could be exposed this way. We also explore whether
PBT solves any of the challenges of UI testing, in particular whether test coverage can be increased by using PBT.
As its results, this thesis shows that PBT can be applied in GUI testing and that there are defect classes that
might not be detectable by traditional testing methods, but can be found using PBT.