Studying the Co-Evolution of Source Code and Acceptance Tests
Loading...

Date
2023
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
World Scientific Publ Co Pte Ltd
Open Access Color
OpenAIRE Downloads
OpenAIRE Views
Abstract
Testing is a vital part of achieving good-quality software. Deploying untested code can cause system crashes and unexpected behavior. To reduce these problems, testing should evolve with coding. In addition, test suites should not remain static throughout the software versions. Since whenever software gets updated, new functionalities are added, or existing functionalities are changed, test suites should be updated along with the software. Software repositories contain valuable information about the software systems. Access to older versions and differentiating adjacent versions' source code and acceptance test changes can provide information about the evolution process of the software. This research proposes a method and implementation to analyze 21 open-source real-world projects hosted on GitHub regarding the co-evolution of both software and its acceptance test suites. Related projects are retrieved from repositories, their versions are analyzed, graphs are created, and analysis related to the co-evolution process is performed. Observations show that the source code is getting updated more frequently than the acceptance tests. They indicate a pattern that source code and acceptance tests do not evolve together. Moreover, the analysis showed that a few acceptance tests test most of the functionalities that take a significant line of code.
Description
Keywords
Software test co-evolution, mining software repositories, software metrics, software maintenance
Fields of Science
Citation
0
WoS Q
Q4
Scopus Q
Q4

OpenCitations Citation Count
N/A
Source
Volume
33
Issue
7

