Selection of Paths for Regression Testing Based on Branch Coverage
Author:
Affiliation:

Fund Project:

ational Natural Science Foundation of China (61375067, 61203304, 61573362); Natural Science Foundation of Jiangsu Province of China (BK2012566); Fundamental Research Funds for the Central Universities (2012QNA41)

  • Article
  • | |
  • Metrics
  • |
  • Reference [32]
  • |
  • Related [20]
  • | | |
  • Comments
    Abstract:

    Regression testing is an important part of the iterative software development, and test data generation is the premise of regression testing. Traditional regression testing methods select a part of test data from existing ones, and generate a number of new test data, so as to verify the correctness of a program. However, these methods are prone to generate redundant test data, therefore reducing the efficiency of regression testing. This paper researches the problem of branch coverage for regression testing, makes full use of information on the path coverage from existing test data, and selects a certain number of paths to cover all the target branches. First, taking a set consisting of several paths as the decision variable, the least number of paths, the largest number of covered branches, and the least number of uncovered paths as the objectives, a 3-objective optimization model for the problem of selecting paths is established. Then, a strategy of evaluating an individual based on the importance of an objective is designed in solving the above model using genetic algorithm. Finally, test data required to generate is determined according to the relation between existing test data and the selected paths. The proposed method is applied to test six benchmark and industrial programs, and compared with other regression testing methods. The experimental results show that paths selected by the proposed method can cover more branches, with fewer test data required to generate and less time consumption for regression testing.

    Reference
    [1] Rothermel G, Harrold MJ. Analyzing regression test selection techniques. IEEE Trans. on Software Engineering, 1996,22(8):529-551.[doi:10.1109/32.536955]
    [2] Yoo S, Harman M. Regression testing minimization, selection and prioritization:A survey. Journal of Software Testing, Verification and Reliability, 2012,22(2):67-120.[doi:10.1002/stv.430]
    [3] Gu Q, Tang B, Chen DX. A test suite reduction technique for partial coverage of test requirements. Chinese Journal of Computers, 2011,34(5):879-888(in Chinese with English abstract).[doi:10.3724/SP.J.1016.2011.00879]
    [4] Shi A, Gyori A, Gligoric M, Zaytsev A, Marinov D. Balancing trade-offs in test-suite reduction. In:Proc. of the 22nd ACM SIGSOFT Int'l Symp. on Foundations of Software Engineering(SIGSOFT FSE 2014). New York:ACM Press, 2014. 246-256.[doi:10.1145/2635868.2635921]
    [5] Rothermel G, Untch RJ, Chu CY, Harrold MJ. Prioritizing test cases for regression testing. IEEE Trans. on Software Engineering, 2001,10(27):929-948.[doi:10.1109/32.962562]
    [6] Zhang ZY, Chen ZY, Xu BW, Yang R. Research progress on test case evolution. Ruan Jian Xue Bao/Journal of Software, 2013,24(4):663-674(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/4379.htm[doi:10.3724/SP.J.1001.2013. 04379]
    [7] Rothermel G, Harrold MJ. A framework for evaluating regression test selection techniques. In:Proc. of the 16th Int'l Conf. on Software Engineering(ICSE 1994). Sorrento:IEEE Computer Society Press, 1994. 201-210.[doi:10.1109/ICSE.1994.296779]
    [8] Smith AM, Kapfhammer GM. An empirical study of incorporating cost into test suite reduction and prioritization. In:Proc. of the 24th ACM Symp. on Applied Computing(SAC 2009). New York:ACM Press, 2009. 461-467.[doi:10.1145/1529282.1529382]
    [9] El-Hamid WSA, El-Etriby SS, Hadhoud MM. A general regression test selection technique. World Academy of Science, Engineering and Technology, 2010,4(2):893-897.
    [10] Yoo S, Harman M. Using hybrid algorithm for Pareto efficient multi-objective test suite minimisation. Journal of Systems and Software, 2010,83(4):689-701.[doi:10.1016/j.jss.2009.11.706]
    [11] Sampath S, Bryce R, Memon A. A uniform representation of hybrid criteria for regression testing. IEEE Trans. on Software Engineering, 2013,39(10):1326-1344.[doi:10.1109/TSE.2013.16]
    [12] Panichella A, Oliveto R, Penta MD, Lucia AD. Improving multi-objective test case selection by injecting diversity in genetic algorithms. IEEE Trans. on Software Engineering, 2015,41(4):358-383.[doi:10.1109/TSE.2014.2364175]
    [13] Nardo DD, Alshahwan N, Briand L, Labiche Y. Coverage-Based regression test case selection, minimization and prioritization:A case study on an industrial system. Software Testing, Verification and Reliability, 2015,25(4):371-396.[doi:10.1002/stvr.1572]
    [14] Suri B, Singhal S. Understanding the effect of time-constraint bounded novel technique for regression test selection and prioritization. Int'l Journal of System Assurance Engineering and Management, 2015,6(1):71-77.[doi:10.1007/s13198-014-0244-3]
    [15] Gligoric M, Eloussi L, Marinov D. Practical regression test selection with dynamic file dependencies. In:Proc. of the Int'l Symp. on Software Testing and Analysis(ISSTA 2015). New York:ACM Press, 2015. 211-222.[doi:10.1145/2771783.2771784]
    [16] Ye N, Chen X, Peng J. Automatic regression test selection based on activity diagrams. In:Proc. of the 5th Int'l Conf. on Secure Software Integration & Reliability Improvement Companion(SSIRI-C 2011). Jeju Island:IEEE Computer Society Press, 2011. 166-171.[doi:10.1109/SSIRI-C.2011.31]
    [17] Kumar A, Tiwari S, Mishra KK. Generation of efficient test data using path selection strategy with elitist GA in regression testing. In:Proc. of the 3rd IEEE Int'l Conf. on Computer Science and Information Technology(ICCSIT 2010). Chengdu:IEEE Computer Society Press, 2010. 389-393.[doi:10.1109/ICCSIT.2010.5564915]
    [18] Santelices RA, Chittimalli PK, Apiwattanapong T, Orso A, Harrold MJ. Test-Suite augmentation for evolving software. In:Proc. of the 23th IEEE/ACM Int'l Conf. on Automated Software Engineering(ASE 2008). L'Aquila:IEEE Computer Society Press, 2008. 218-227.[doi:10.1109/ASE.2008.32]
    [19] Xu ZH, Kim Y, Kim M, Rothermel G, Cohen MB. Directed test suite augmentation:Techniques and tradeoffs. In:Proc. of the ACM SIGSOFT Int'l Symp. on Foundations of Software Engineering(SIGSOFT FSE 2010). Santa Fe:ACM Press, 2010. 257-266.[doi:10.1145/1882291.1882330]
    [20] Xu ZH, Cohen MB, Rothermel G. Factors affecting the use of genetic algorithms in test suite augmentation. In:Proc. of the 12th Annual Conf. on Genetic and Evolutionary Computation(GECCO 2010). Portland:ACM Press, 2010. 1365-1372.[doi:10.1145/1830483.1830734]
    [21] Kim Y, Xu ZH, Kim M, Cohen MB, Rothermel G. Hybrid directed test suite augmentation:An interleaving framework. In:Proc. of the 7th Int'l Conf. on Software Testing, Verification and Validation(ICST 2014). Cleveland, OH:IEEE Computer Society Press, 2014. 263-272.[doi:10.1109/ICST.2014.39]
    [22] Xu ZH, Kim Y, Kim M, Cohen MB, Rothermel G. Directed test suite augmentation:An empirical investigation. Software Testing, Verification and Reliability, 2015,25(2):77-114.[doi:10.1002/stvr.1562]
    [23] Benedusi P, Cmitile A, De Carlini U. Post-Maintenance testing based on path change analysis. In:Proc. of the Int'l Conf. on Software Maintenance(ICSM'88). Santa Fe:IEEE Computer Society Press, 1988. 352-361.[doi:10.1109/ICSM.1988.10187]
    [24] Gong DW, Zhang WQ, Yao XJ. Evolutionary generation of test data for many paths coverag based on grouping. Journal of Systems and Software, 2011,84(12):2222-2233.[doi:10.1016/j.jss.2011.06.028]
    [25] Xie XY, Xu BW, Shi L, Nie CH. Genetic test case generation for path-oriented testing. Ruan Jian Xue Bao/Journal of Software, 2009,20(12):3117-3136(in English with Chinese abstract). http://www.jos.org.cn/1000-9825/580.htm[doi:10.3724/SP.J.1001. 2009.00580]
    [26] Gong DW, Yao XJ. Testability transformation based on equivalence of target statements. Neural Computing & Applications, 2012,21(8):1871-1882.[doi:10.1007/s00521-011-0568-8]
    [27] Mao CY, Lu YS. A simplified method for generating test path cases in branch testing. Journal of Computer Research and Development, 2006,43(2):321-328(in Chinese with English abstract).[doi:10.1360/crad20060220]
    [28] Do H, Elbaum S, Rothermel G. Supporting controlled experimentation with testing techniques:An infrastructure and its potential impact. Empirical Software Engineering, 2005,10(4):405-435.[doi:10.1007/s10664-005-3861-2]
    附中文参考文献:
    [3] 顾庆,唐宝,陈道蓄.一种面向测试需求部分覆盖的测试数据集约简技术.计算机学报,2011,34(5):879-888.[doi:10.3724/SP.J. 1016.2011.00879]
    [6] 张智轶,陈振宇,徐宝文,杨瑞.测试用例演化研究进展.软件学报,2013,24(4):663-674. http://www.jos.org.cn/1000-9825/4379.htm[doi:10.3724/SP.J.1001.2013.04379]
    [27] 毛澄映,卢炎生.分支测试中测试路径用例的简化生成方法.计算机研究与发展,2006,43(2):321-328.[doi:10.1360/crad 20060220]
    Cited by
    Comments
    Comments
    分享到微博
    Submit
Get Citation

吴川,巩敦卫,姚香娟.基于分支覆盖的回归测试路径选择.软件学报,2016,27(4):839-854

Copy
Share
Article Metrics
  • Abstract:4754
  • PDF: 6555
  • HTML: 2641
  • Cited by: 0
History
  • Received:September 15,2015
  • Revised:October 15,2015
  • Online: January 14,2016
You are the first2033269Visitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-4
Address:4# South Fourth Street, Zhong Guan Cun, Beijing 100190,Postal Code:100190
Phone:010-62562563 Fax:010-62562533 Email:jos@iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063