Abstract
Test data adequacy is a major challenge in software testing literature. The difficulty is to provide sufficient test data to assure the correctness of the program under test. Especially, in the case of latent faults, the fault does not reveal itself unless specific combinations of input values are used to run the program. In this respect, detection of subdomains of the input domain that cover a specific execution path seems promising. A subdomain covers an execution path provided that each test data taken from the subdomain satisfies the path constraint. Dynamic Domain Reduction, or DDR in short, is a very well-known test data generation procedure, targeted at detection of the subdomains of the input domain that satisfy a given path constraint. In this paper, an improved version of DDR called Rapid Dynamic Domain Reduction, or RDDR in short, is introduced. RDDR is intended to explore subdomains of a program input domain, satisfying a given path constraint. For each feasible path, there is a distinct subdomain of the input domain that causes the program to execute the path. Hereby, we introduce a new metric named domain coverage, to qualify input data sets, in terms of the percentage of the subdomain of a feasible path covered by the data set. The main inspiration behind the domain coverage metric is to support test data adequacy. Our empirical results based on some well-known case studies confirms that RDDR significantly outperforms DDR in terms of speed and accuracy.
Similar content being viewed by others
References
Ammann, P., & Offutt, J. (2016). Introduction to software testing. Cambridge University Press.
Anand, S., Păsăreanu, C. S., & Visser, W. (2007). JPF–SE: a symbolic execution extension to Java Pathfinder. In International conference on tools and algorithms for the construction and analysis of systems. Berlin: Springer.
Barwise, J., & Shimojima, A. (1995). Surrogate reasoning. Cognitive Studies: Bulletin of the Japanese Cognitive Science Society, 2(4), 7–27.
Bjørner, N., & de Moura, L.. (2008). Z3: an efficient SMT solver. Tools and algorithms for the construction and analysis of systems (TACAS ‘08).
Chow, S., & Ruskey, F. (2003). Drawing area-proportional Venn and Euler diagrams (International symposium on graph drawing). Berlin: Springer.
Craig, R. D., & Jaskiel, S. P. (2002). Systematic software testing. Artech House Publishers.
DeMilli, R. A., & Jefferson Offutt, A. (1991). Constraint-based automatic test data generation. IEEE Transactions on Software Engineering, 17(9), 900–910.
Gotlieb, A., & Petit, M. (2006). Path-oriented random testing. In Proceedings of the 1st international workshop on Random testing (pp. 28-35). ACM.
Myers, G. J., Sandler, C., & Badgett, T. (2011). The art of software testing. John Wiley & Sons.
Offutt, A. J., Jin, Z., & Pan, J. (1999). The dynamic domain reduction procedure for test data generation. Software: Practice and Experience, 29(2), 167–193.
Stapleton, G. (2005). A survey of reasoning systems based on Euler diagrams. Electronic Notes in Theoretical Computer Science, 134, 127–151.
Swoboda, N. (2002). Implementing Euler/Venn reasoning systems (Diagrammatic representation and reasoning) (pp. 371–386). London: Springer.
Swoboda, N., & Allwein, G. (2002). Using DAG transformations to verify Euler/Venn homogeneous and Euler/Venn FOL heterogeneous rules of inference, May 2004, Volume 3, Issue 2, pp 136–149. London: Springer.
Tillmann, N., & De Halleux, J. (2008). Pex–White box test generation for .NET. In International conference on tests and proofs. Berlin: Springer.
White, L. J. (May 1980). A domain strategy for computer program testing. IEEE Transactions on Software Engineering, 6(3), 247–257.
White, L. J., Cohen, E. I., & Zeil, S. J. (1981). A domain strategy for computer program testing. In B. C. Karan & S. Radicchi (Eds.), Computer program testing (pp. 103–112). Amsterdam: North Holland Publishing.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Nikravan, E., Parsa, S. Improving dynamic domain reduction test data generation method by Euler/Venn reasoning system. Software Qual J 28, 823–851 (2020). https://doi.org/10.1007/s11219-019-09471-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-019-09471-4