Research on the detection of test smells and flaky tests
[EN] This project is an empirical study that aims to research about test smells and flaky tests. Software testing is a key part of the development process of every project. During the implementation of test code, test smells arise, which are poor programming practices present in the test cases. Beca...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Fecha de publicación: | 2023 |
| País: | España |
| Institución: | Universitat Politècnica de València (UPV) |
| Repositorio: | RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia |
| Idioma: | inglés |
| OAI Identifier: | oai:riunet.upv.es:10251/198550 |
| Acceso en línea: | https://riunet.upv.es/handle/10251/198550 |
| Access Level: | acceso abierto |
| Palabra clave: | Malos olores Pruebas inestables Pruebas de software Herramientas de detección Prácticas de programación Test smells Flaky tests Software testing Detection tools Programming practices LENGUAJES Y SISTEMAS INFORMATICOS Máster Universitario en Ingeniería Informática-Màster Universitari en Enginyeria Informàtica |
| Sumario: | [EN] This project is an empirical study that aims to research about test smells and flaky tests. Software testing is a key part of the development process of every project. During the implementation of test code, test smells arise, which are poor programming practices present in the test cases. Because of that, not only the effectiveness of the tests is affected, but also the maintenance and readability. In addition, some tests may have non-deterministic outcomes. These tests are called flaky and often lead to confusion and unreliable results . In this study, tools for the automated detection of test smells have been examined and used, which allow developers to find test smells in their projects in an efficient way. The tools were executed over a set of projects with flaky tests and the results were compared with the flaky results for analyzing the test methods with flaky behavior and test smells. The most common smells were found out and the relation between smells and flakiness was considered. The reached conclusion was that there is not enough evidence to support a strong correlation between test smells and flaky tests. However, some test smells might be related to other patterns that cause flaky results, such as asynchronous behaviors and connections to external resources. For easing the process of detecting and comparing test smells and flaky tests, an application was developed. As a result, the introduction of these practices is a bad habit that should be avoided, and some guidelines are provided in this regard. |
|---|