week47 - Which Combination of Test Can Predict Success? and the relationship between unit test coverage and maintainability of production code
Photo by Ganapathy Kumar on Unsplash https://unsplash.com/photos/withered-tree-in-middle-of-field-with-mountain-in-background-Gl9r22w_Oxk

week47 - Which Combination of Test Can Predict Success? and the relationship between unit test coverage and maintainability of production code

Do tests really enable change? On the relationship between unit test coverage and maintainability of production code

Software quality and especially the aspect of maintainability increasingly determine the long-term success of software projects. Refactoring serves to improve maintainability and is supported by high test coverage. It is therefore generally assumed that there is a correlation between test coverage and maintainability. This correlation was statistically examined in the present survey for 45 Java-based open source projects on the basis of metrics and code smells. As a result, a large number of positive correlations with high statistical significance were found. This could be an indication that developers are increasing test effort for code that is dicult to maintain. Negative correlations indicating positive effects of high test coverage on maintainability, on the other hand, were only found for individual projects

See full paper via haw-hamburg.de

Which Combination of Test Metrics Can Predict Success of a Software Project? A Case Study in a Year-Long Project Course

Testing plays an important role in securing the success of a software development project. Prior studies have demonstrated beneficial effects of applying acceptance testing within a Behavioural-Driven Development method. In this research, we investigate whether we can quantify the effects various types of testing have on functional suitability, i.e. the software conformance to users' functional expectations. We explore which combination of software testing (automated and manual, including acceptance testing) should be applied to ensure the expected functional requirements are met, as well as whether the lack of testing during a development iteration causes a significant increase of effort spent fixing the project later on. To answer those questions, we collected and analysed data from a year-long software engineering project course. We combined manual observations and statistical methods, namely Linear Mixed-Effects Modeling, to evaluate the effects of coverage metrics as well as time effort on passed stories over 5 Scrum sprints. The results suggest that a combination of a high code coverage for all of automated unit, acceptance, and manual testing has a significant impact on functional suitability. Similarly, but to a lower extent, front-end unit testing and manual testing can predict the success of a software delivery when taken independently. We observed a close-to-significant effect between low back-end testing and deferral (i.e. postponement) of user stories.

See full paper via arxiv.org

To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics