A Sound Assessment of Test Suite Minimization Techniques
Keywords:Software Testing, Regression Testing, Test Suite Minimization
During software development, testing and re-testing occurs frequently to ensure that the software is working correctly before and after modifications. To carry out an effective testing process a test suite is created and executed to detect the faults in the existing code as well as in the modified code. The manual approach of test suite creation and execution is time consuming and labour intensive task as compared to automatically generated test data or test suite. The automatic test data generation is supposed to be an effective way, but a lot of redundant test cases are generated that increase the time, effort and cost of testing. Therefore, test suite minimization techniques are used to further minimize or reduce the number of test cases by selecting a subset from an initially random and large test suite to test the code before as well as after modification. In this study, a comprehensive analysis of the different test suite minimization techniques is presented in order to extend the existing studies and to propose new ideas in this direction.
A. K Gupta and F. A. Khan, “An Efficient Test Data Generation Approach For Unit Testing”, IOSR (JCE), Vol. 18, No. 4, Ver. V, pp. 97-107, 2016.
B. Korel, “Automated software test data generation”, IEEE Transactions on Software Engineering, Vol. 16, No. 8, pp. 870–879, 1990.
D. Cohen, I. C. Society, S R Dalal, M L Fredman and G C Patton, “The aetg system: An approach to testing based on combinatorial design”, IEEE Transactions on Software Engineering, Vol. 23, pp. 437–444, 1997.
R. Lammel and W. Schulte, “Controllable combinatorial coverage in grammar-based testing”, In TestCom, pp. 19–38, 2006.
P. Purdom, “A sentence generator for testing parsers”, BIT, Vol. 12, No. 3, pp. 366– 375, 1972.
Ciupa, A. Leitner, M. Oriol, and B. Meyer, “Artoo, adaptive random testing for object-oriented software”, In 30th International Conference on Software Engineering, pp. 71–80, 2008.
C. Csallner and Y. Smaragdakis, “Jcrasher, An automatic robustness tester for java”, Software Practice Experimentation, Vol. 34, No. 11, pp. 1025–1050, 2004.
C. Pacheco and M. D. Ernst, “Eclat: Automatic generation and classification of test inputs”, In ECOOP, pp. 504–527, 2005.
W. Visser, C. S. Pasareanu and S. Khurshid, “Test input generation with java pathfinder”, In ISSTA, pp. 97–107, 2004.
T. Xie, D. Notkin, “Automatically identifying special and common unit tests for object-oriented programs”, In ISSRE, pp. 277–287, 2005.
M. J. Harrold, R. Gupta and M. L. Soffa, “A methodology for controlling the size of a test Suite”, ACM Transactions on Software Engineering and Methodology, Vol. 2, No. 3, pp. 270– 285, 1993.
K. R. Walcott, M. L. Soffa, G. M. Kapfhammer and R. S. Roos, “Time aware test suite prioritization”, in International Symposium on Software Testing and Analysis (ISSTA 06). Portland, Maine, USA, ACM Press, pp. 1–12, 2006.
S. Yoo and M. Harman, “Pareto efficient multi-objective test case selection”, in International Symposium on Software Testing and Analysis (ISSTA’07), ACM Press, pp.140–150, July 2007.
T. Y. Chen and M. Lau, “Dividing strategies for the optimization of a test suite”, Information Processing Letters, Vol. 60, No. 3, pp. 135–141, 1996.
J. W. Lin and C. Yu. Huang, “Analysis of test suite reduction with enhanced tie-breaking techniques”, Journal of information and software technology, Vol.51, pp. 679-690, 2009.
W. E. Wong, J. R. Horgan and A. P. Mathur, “Effect of test set minimization on the fault detection effectiveness”, Software Practice and Experience, Vol. 28, No. 4, pp. 347-369, 1999.
W. E. Wong, J. R. Horgan, A. P. Mathur and A. Pasquini, “Test set size minimization and fault detection effectiveness: A case study in a space application”, Journal of Systems and Software, Vol. 48, No. 2, pp. 79-89, 1999.
G. Rothermel, M. J. Harrold, J. Ostrin and C. Hong, “An empirical study of the effects of minimization on the fault detection capabilities of test suites”, In Proceedings of the International Conference on Software Maintenance, ICSM, Washington, DC, USA, pp. 34–43, 1998.
G. Rothermel, M. J. Harrold, J. V. Ronne and C. Hong “Empirical Studies of Test-Suite Reduction”, In Journal of Software Testing, Verification, and Reliability, Vol. 12, No.4, pp. 219-249, 2002.
S. Tallam and N. Gupta, “A concept analysis inspired greedy algorithm for test suite minimization”, SIGSOFT Software Engineering Notes, Vol. 31, pp. 35–42, 2005.
D. Jeffrey and N. Gupta, “Test suite reduction with selective redundancy”, In Proceedings of the 21st IEEE International Conference on Software Maintenance, IEEE Computer Society, pp. 549–558, 2005.
M. C. Scott Master and A. Memon, “Fault detection probability analysis for coverage based test suite reduction”, in proceedings of the 21st IEEE International Conference on Software Maintenance, 2007, pp. 335-344.
D. Sampath, R. Bryce, G. Viswanath, V. Kandimalla, A. Gunes, “Prioritizing User- Session bases test cases for Web Application Testing”, International Conference on Software Testing verification and validation (ICST), pp.141-150, 2008.
P. Saeed, K. Alireza, “On the optimization approach towards test suite minimization”, International Journal of Software Engineering and its Applications, Vol. 1, No. 4, pp. 15-28, 2010.
P. McMinn, “Search-based software test data generation: a survey”, Software Testing Verification and Reliability, Vol. 14, No. 2, pp. 105-156, 2004.
M. Harman, “The Current State and Future of Search Based Software Engineering”, In Proceedings of the 29th IEEE International Conference on Software Engineering (ICSE 2007), Minneapolis, USA, Vol. 34, No. 5, pp. 342–357, 2007.
N. Mansour and K. El- Fakih, “Simulated annealing and genetic algorithms for optimal regression testing”, Journal of Software Maintenance, Vol.1, No.1, pp. 19-34.
X. Y. Ma, Z. F. He, B. K. Sheng, and C. Q. Ye, “A Genetic Algorithm for Test-Suite Reduction”, IEEE International Conference on Systems, Man and Cybernetics, Vol.1, pp. 133- 139, 2005.
K. Arvinder, G. Shivagi, “A Bee Colony optimization algorithm for fault coverage based regression test suite prioritization”, International Journal of Advanced Science and Technology, Vol. 29, pp. 17-30, 2011.
J. Black and E. Melachrinoudis e David Kaeli, “Bi-criteria models for All uses test suite reduction”, In Proceedings of the 26th International Conference on Software Engineering, ICSE ’04, IEEE Computer Society, pp. 106–115, 2004.
H. You Hsu and A. Orso, “MINTS: A general framework and tool for supporting test-suite minimization”, IEEE Computer Society, pp. 419–429, 2009.
GM. Kapfhammer, “Towards a method for reducing the test suites of database applications”, Proceedings of the 5th International Conference on Software Testing, Verification and Validation, (ICST 2012), pp.964-965, 2012.
G. H. Loreto, T. J. Jose, R. V. Nelson and B. R. Josue, “A Post-optimization strategy for combinatorial testing: test suite reduction through the identification of wild cards and merge of rows”, Advances in Computational Intelligence Lecture Notes in Computer Science, Vol. 7630, pp. 127-138, 2013.
F.A. Khan, A.K. Gupta and D.J. Bora. “Profiling of Test Cases with Clustering Methodology”, International Journal of Computer Applications Vol.106, No. 14, pp. 32-37, November, 2014.
F.A. Khan, A.K. Gupta and D.J. Bora, “An Efficient Approach to Test Suite Minimization for 100% Decision Coverage Criteria using K-Means Clustering Approach”, IJAPRR, Vol. II, No. VII, pp. 18-26, 2015.
F.A. Khan, A.K. Gupta and D.J. Bora, “An Efficient Technique to Test Suite Minimization using Hierarchical Clustering Approach”, International Journal of Emerging Science and Engineering (IJESE), ISSN: 2319–6378, Vol. 3, No. 11, September, 2015.
F.A. Khan, A.K. Gupta and D.J. Bora, “An Efficient Heuristic Based Test Suite Minimization Approach”, Indian Journal of Science and Technology, Vol. 10, No. 29, pp. 1-8, August, 2017.