An Exploratory Study of the Relationship Between Software Test Smells and Fault-Proneness
Test smells have been defined as indicators of poorly designed tests. Their presence negatively affects the maintainability of a test suite as well as the production code. Despite the many studies that address the negative impacts of various test smells, until now there has been no empirical evidenc...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2019-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/8847402/ |
_version_ | 1811274005902000128 |
---|---|
author | Abdallah Qusef Mahmoud O. Elish David Binkley |
author_facet | Abdallah Qusef Mahmoud O. Elish David Binkley |
author_sort | Abdallah Qusef |
collection | DOAJ |
description | Test smells have been defined as indicators of poorly designed tests. Their presence negatively affects the maintainability of a test suite as well as the production code. Despite the many studies that address the negative impacts of various test smells, until now there has been no empirical evidence considering the relation between the evolution of test smells and that of faults in the production code. This paper presents such evidence. It presents a case study of data collected from 28 versions of Apache Ant that include a total of 4,447 unit tests. Three key results arise from the data. First, the absolute number of test smells increases as Apache Ant evolves. Second, some test smells are positively correlated with the existence of faults in the production code. Finally, our results show that it is possible to predict faults in the production code based on the existence of test smells in the code’s unit tests. In addition, the resulting prediction model is more accurate at predicting high-severity faults than low-severity faults. This is an important result as it enables an engineer to focus preventative maintenance efforts, applied to the production code, using test smells found in the unit tests. |
first_indexed | 2024-04-12T23:10:02Z |
format | Article |
id | doaj.art-f95a4fa923cc4c23a80ecbc131cbc752 |
institution | Directory Open Access Journal |
issn | 2169-3536 |
language | English |
last_indexed | 2024-04-12T23:10:02Z |
publishDate | 2019-01-01 |
publisher | IEEE |
record_format | Article |
series | IEEE Access |
spelling | doaj.art-f95a4fa923cc4c23a80ecbc131cbc7522022-12-22T03:12:49ZengIEEEIEEE Access2169-35362019-01-01713952613953610.1109/ACCESS.2019.29434888847402An Exploratory Study of the Relationship Between Software Test Smells and Fault-PronenessAbdallah Qusef0https://orcid.org/0000-0003-4769-6992Mahmoud O. Elish1David Binkley2Software Engineering Department, Princess Sumaya University for Technology, Amman, JordanComputer Science Department, Gulf University for Science and Technology, Mishref, KuwaitDepartment of Computer Science, Loyola University Maryland, Baltimore, MD, USATest smells have been defined as indicators of poorly designed tests. Their presence negatively affects the maintainability of a test suite as well as the production code. Despite the many studies that address the negative impacts of various test smells, until now there has been no empirical evidence considering the relation between the evolution of test smells and that of faults in the production code. This paper presents such evidence. It presents a case study of data collected from 28 versions of Apache Ant that include a total of 4,447 unit tests. Three key results arise from the data. First, the absolute number of test smells increases as Apache Ant evolves. Second, some test smells are positively correlated with the existence of faults in the production code. Finally, our results show that it is possible to predict faults in the production code based on the existence of test smells in the code’s unit tests. In addition, the resulting prediction model is more accurate at predicting high-severity faults than low-severity faults. This is an important result as it enables an engineer to focus preventative maintenance efforts, applied to the production code, using test smells found in the unit tests.https://ieeexplore.ieee.org/document/8847402/Test smellsunit testingmining software repositoriesexploratory studies |
spellingShingle | Abdallah Qusef Mahmoud O. Elish David Binkley An Exploratory Study of the Relationship Between Software Test Smells and Fault-Proneness IEEE Access Test smells unit testing mining software repositories exploratory studies |
title | An Exploratory Study of the Relationship Between Software Test Smells and Fault-Proneness |
title_full | An Exploratory Study of the Relationship Between Software Test Smells and Fault-Proneness |
title_fullStr | An Exploratory Study of the Relationship Between Software Test Smells and Fault-Proneness |
title_full_unstemmed | An Exploratory Study of the Relationship Between Software Test Smells and Fault-Proneness |
title_short | An Exploratory Study of the Relationship Between Software Test Smells and Fault-Proneness |
title_sort | exploratory study of the relationship between software test smells and fault proneness |
topic | Test smells unit testing mining software repositories exploratory studies |
url | https://ieeexplore.ieee.org/document/8847402/ |
work_keys_str_mv | AT abdallahqusef anexploratorystudyoftherelationshipbetweensoftwaretestsmellsandfaultproneness AT mahmoudoelish anexploratorystudyoftherelationshipbetweensoftwaretestsmellsandfaultproneness AT davidbinkley anexploratorystudyoftherelationshipbetweensoftwaretestsmellsandfaultproneness AT abdallahqusef exploratorystudyoftherelationshipbetweensoftwaretestsmellsandfaultproneness AT mahmoudoelish exploratorystudyoftherelationshipbetweensoftwaretestsmellsandfaultproneness AT davidbinkley exploratorystudyoftherelationshipbetweensoftwaretestsmellsandfaultproneness |