scispace - formally typeset
Open AccessJournal ArticleDOI

Estimating software testing complexity

Reads0
Chats0
TLDR
The definition of a new measure of the difficulty for a computer to generate test cases, called Branch Coverage Expectation (BCE), which is much more correlated with the code coverage than the existing complexity measures.
Abstract
Context: Complexity measures provide us some information about software artifacts. A measure of the difficulty of testing a piece of code could be very useful to take control about the test phase. Objective: The aim in this paper is the definition of a new measure of the difficulty for a computer to generate test cases, we call it Branch Coverage Expectation (BCE). We also analyze the most common complexity measures and the most important features of a program. With this analysis we are trying to discover whether there exists a relationship between them and the code coverage of an automatically generated test suite. Method: The definition of this measure is based on a Markov model of the program. This model is used not only to compute the BCE, but also to provide an estimation of the number of test cases needed to reach a given coverage level in the program. In order to check our proposal, we perform a theoretical validation and we carry out an empirical validation study using 2600 test programs. Results: The results show that the previously existing measures are not so useful to estimate the difficulty of testing a program, because they are not highly correlated with the code coverage. Our proposed measure is much more correlated with the code coverage than the existing complexity measures. Conclusion: The high correlation of our measure with the code coverage suggests that the BCE measure is a very promising way of measuring the difficulty to automatically test a program. Our proposed measure is useful for predicting the behavior of an automatic test case generator.

read more

Content maybe subject to copyright    Report

Citations
More filters
Proceedings ArticleDOI

How high will it be? Using machine learning models to predict branch coverage in automated testing

TL;DR: The first steps towards the definition of machine learning models to predict the branch coverage achieved by test data generation tools are taken, considering well known code metrics as a features.
Journal ArticleDOI

Branch coverage prediction in automated testing

TL;DR: It is argued that knowing a priori the branch coverage that can be achieved with test‐data generation tools can help developers into taking informed decision about issues and it is investigated the possibility to use source‐code metrics to predict the coverage achieved by test‐ data generation tools.
Journal ArticleDOI

Investigating software testing and maintenance reports: Case study

TL;DR: Fine-grained problem handling reports provide a wider scope of possible measures to assess the relevant development processes and provide significant enhancement in evaluation and refinement of software development processes as well as in reliability prediction.
Proceedings ArticleDOI

An adaptive fitness function based on branch hardness for search based testing

TL;DR: This paper proposes an adaptive fitness function based on branch hardness, evaluated by the variation coefficient of the fitness function, of generating test data can be minimized and is more flexible than the traditional counterparts.
References
More filters
Book

Software errors and complexity: an empirical investigation

Abstract: The distributions and relationships derived from the change data collected during the development of a medium scale satellite software project show that meaningful results can be obtained which allow an insight into software traits and the environment in which it is developed. Modified and new modules were shown to behave similarly. An abstract classification scheme for errors which allows a better understanding of the overall traits of a software project is also shown. Finally, various size and complexity metrics are examined with respect to errors detected within the software yielding some interesting results.
Journal ArticleDOI

Automatic structural testing using genetic algorithms

TL;DR: Genetic algorithms have been used to generate test sets automatically by searching the domain of the software for suitable values to satisfy a predefined testing criterion, and have been applied successfully to several problems, varying in complexity from a quadratic equation solver to a generic sort module that comprises several procedures.
Journal ArticleDOI

Predicting software development errors using software complexity metrics

TL;DR: Predictive models that incorporate a functional relationship of program error measures with software complexity metrics and metrics based on factor analysis of empirical data are developed and suggest that predictive models are indeed possible for the determination of program errors from these orthogonal complexity domains.
Journal ArticleDOI

Mathematical and Physical Papers

TL;DR: A collection of essays by the celebrated natural philosopher, so many of which, hitherto scattered throughout various periodicals, difficult to gather together, or even wholly inaccessible to readers out of the reach of large public libraries, are yet of decisive importance for those chapters of the science to which they refer.
Related Papers (5)