Test suite parallelization in open-source projects: a study on its usage and impact

Testing is a costly process but essential in the development process. Complex systems may contain long-running test suites. Dealing with high testing costs remains an important problem in Software Engineering despite being under active research for years. Test suite parallelization is an important a...

Full description

Main Author: CÂNDIDO, Jeanderson Barros
Other Authors: D'AMORIM, Marcelo Bezerra
Format: masterThesis
Language: eng
Published: Universidade Federal de Pernambuco 2019
Subjects:
Online Access: https://repositorio.ufpe.br/handle/123456789/30520
Tags: Add Tag
No Tags, Be the first to tag this record!
Summary: Testing is a costly process but essential in the development process. Complex systems may contain long-running test suites. Dealing with high testing costs remains an important problem in Software Engineering despite being under active research for years. Test suite parallelization is an important approach to address this problem, given the popularity of multi-core processors and native suport from testing frameworks and build systems. This work reports our findings on the usage and impact of test suite parallelization in open-source projects. This study brings to light the benefits and burdens of that approach. It provides recommendations to practitioners and tool developers to speed up test execution. Considering a set of 468 popular Java projects we analyzed, we found that 24% of the projects contain costly test suites but parallelization features still seem underutilized in practice—only 19.1% of costly projects use parallelization. The main reported reason for adoption resistance was the concern to deal with concurrency issues. Results suggest that, on average, developers prefer high predictability than high performance in running tests.