Journal of Software, Vol 6, No 2 (2011), 314-321, Feb 2011
doi:10.4304/jsw.6.2.314-321

A Constraint-based Test Suite Reduction Method for Conservative Regression Testing

Chang-ai Sun

Abstract


In regression testing, an important problem is how to select a smaller size of test set for execution. We present a novel constraint-oriented test suite reduction method for conservative regression testing by which we mean that all bugs discovered must be revealed by the reduced test suite. A test constraint for a bug is Boolean formulas defined over the input variables of program under test. The reduced test constraints for a pool of bugs are constructed using the subsumption relationship between test constraint conditions. Test case selection is based on the reduced test constraint set. A test case is selected into the test suite when and only when it satisfies one or more test constraints. The selection process is completed when all test constraint conditions are satisfied by the selected test cases. An empirical study is conducted and the experimental results show that our method can significantly save efforts for the conservative regression testing.


Keywords


software testing; regression testing; test case reduction; test case selection

References


[1] A. Ali, A. Nadeem, M. Iqbal, M. Usman.“Regression Testing Based on UML Design Models”, Proceedings of the 13th Pacific Rim International Symposium on Dependable Computing (PRDC 2007), IEEE Computer Society, 2007, pp.85-88.

[2] Y. Chen, R. Probert, H. Ural, “Regression test suite reduction using extended dependence Analysis”, Proceedings of the 4th international workshop on Software quality assurance, in conjunction with the 6th ESEC/FSE, ACM Press, 2007, pp.62-69.

[3] P. Chittimalli and M.J. Harrold, “Regression test selection on system requirements”, Proceedings of the 1st India software engineering conference, ACM Press, 2008, pp.87- 96.

[4] J. Ferrante, K.J. Ottenstein, and J.D. Warren, “The program dependence graph and its use in optimization”. ACM Transactions on Programming Languages and Systems, 1987, 9(3):319-349.
doi:10.1145/24039.24041

[5] M. Hutchins, H. Foster, T. Goradia, and T. Ostrand, “Experiments on the Effectiveness of Dataflow- and Control flow- based Test Adequacy Criteria”, Proceedings of 16th International Conference on Software Engineering (ICSE 1994), 1994, pp.191-200.
doi:10.1109/ICSE.1994.296778

[6] D. Jackson and E.J. Rollins, “A new model of program dependences for reverse engineering”, Proceedings of 2nd ACM SIGSOFT symposium on Foundations of software engineering (FSE 1994), 1994, pp.2-10.

[7] J.A. Jones and M.J. Harrold, “Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage”, IEEE Transactions on Software Engineering, 2003, 29(3):195-209.
doi:10.1109/TSE.2003.1183927

[8] J. Krinke, “Slicing, chopping and path conditions with barriers”, Software Quality Control, Kluwer Academic Publishers, 2004, 12(4): 339-360.

[9] M. Marre and A. Bertolino, “Using Spanning Sets for Coverage Testing”, IEEE Transactions on Software Engineering, 2003, 29(11):974-984.
doi:10.1109/TSE.2003.1245299

[10] H. Muccini, M. Dias, D. Richardson, “Towards software architecture-based regression testing”, ACM SIGSOFT Software Engineering Notes, ACM Press, 2005, pp.1-7.

[11] H. Muccini, “Using Model Differencing for Architecturelevel Regression Testing”, Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications(EUROMICRO SEAA 2007), IEEE Computer Society, 2007, pp.59-66.

[12] R. Paul, L. YuW. Tsai, X. Bai, “Scenario-Based Functional Regression Testing”, Proceedings of the 25th International Computer Software and Applications Conference (COMPSAC 2001), IEEE Computer Society,2001,pp.496.

[13] G. Rothermel, and M.J. Harrold, “Analysing Regression Test Selection Techniques”, IEEE Transactions on Software Engineering, 1996, 22(8):529-551.
doi:10.1109/32.536955

[14] G. Rothermel, and M.J. Harrold, A Safe, Efficient Regression Test Selection Technique, ACM Transactions on Software Engineering and Methodology, 1997, 6(2):173- 210.
doi:10.1145/248233.248262

[15] G. Rothermel, R.H. Untch, C. Chu, and M.J. Harrold, “Prioritizing Test Cases For Regression Testing”, IEEE Transactions on Software Engineering, 2001, 27(10):929- 948.
doi:10.1109/32.962562

[16] M. Weiser, “Program slicing”, IEEE Transactions on Software Engineering, 1984, 10(4):352-357.
doi:10.1109/TSE.1984.5010248

[17] E. Weyuker, T. Goradia, A. Singh, “Automatically generating test data from a Boolean specification”, IEEE Transactions on Software Engineering, 1994, 20(3):353- 363.
doi:10.1109/32.286420

[18] Y. Wu, M. Chen, H. Kao, “Regression Testing on Object- Oriented Programs”, Proceedings of the 10th International Symposium on Software Reliability Engineering (ISSRE 1999), IEEE Computer Society, 1999, pp.270.

[19] X. Yi, J. Wang, and X. Yang, “Verification of C programs using slicing execution”, Proceedings of the 5th International Conference on Quality Software (QSIC 2005), IEEE Computer Society, pp.109-116.


Full Text: PDF


Journal of Software (JSW, ISSN 1796-217X)

Copyright @ 2006-2013 by ACADEMY PUBLISHER – All rights reserved.