polito.it
Politecnico di Torino (logo)

Enhance robustness of test cases by linting bad practices

Davide Calarco

Enhance robustness of test cases by linting bad practices.

Rel. Luca Ardito, Maurizio Morisio. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2022

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (5MB) | Preview
Abstract:

In software testing, GUI test cases are software functions that test the quality of the application under test (AUT) only passing through the graphical user interface (GUI). GUI test cases are well-known to be fragile, namely, they do not pass anymore as soon as an element in the GUI gets modified. The thesis, therefore, aims at investigating the sources of fragility in GUI-based test cases and how to decrease it. First, it is presented the overall background of software testing with particular attention to web applications. Then, a process of statistical collection and analysis on real projects aims at giving an objective overview of how testers face fragility and the forms under which fragility appears. A second data collection and analysis, this time on community-crafted wikis, produces a direct and practical set of good practices as countermeasures for fragility. The analysis of these wikis suggests implementing a linter, that is a static analyzer, to enforce such good practices in test cases; after an assessment about the deployment environment of the linter and its design, the thesis presents the results: test cases taken from real projects differ from the ideal model where the aforementioned rules apply; fragility has multiple sources, categorized in a taxonomy. Subsequently, the threats to validity criticize the methodologies followed to collect data and test the linter. Finally, the thesis suggests possible future improvements about the present study and the linter.

Relatori: Luca Ardito, Maurizio Morisio
Anno accademico: 2021/22
Tipo di pubblicazione: Elettronica
Numero di pagine: 83
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/22691
Modifica (riservato agli operatori) Modifica (riservato agli operatori)