• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

J4 ›› 2014, Vol. 36 ›› Issue (11): 2159-2163.

• 论文 • 上一篇    下一篇

基于路径引导的回归测试用例集扩增方法

殷鹏川,贲可荣   

  1. (海军工程大学计算机工程系, 湖北 武汉 430033)
  • 收稿日期:2014-07-10 修回日期:2014-09-10 出版日期:2014-11-25 发布日期:2014-11-25
  • 基金资助:

    国家自然科学基金资助项目(61272108)

Path-directed regression test suite augmentation         

YIN Pengchuan,BEN Kerong   

  1. (Department of Computer Engineering,Naval University of Engineering,Wuhan 430033,China)
  • Received:2014-07-10 Revised:2014-09-10 Online:2014-11-25 Published:2014-11-25

摘要:

为了全面测试演化软件,回归测试通常需要生成新的测试用例。concolic测试是一种沿着具体执行路径进行符号执行的软件验证技术,通过生成测试数据来执行程序的所有可行路径。回归测试中,由于concolic测试关注于程序本身,没有利用已有测试用例和软件演化信息,导致生成大量无效测试数据,浪费资源和时间。为解决此问题,提出一种基于路径引导的回归测试用例集扩增方法。该方法将目标路径作为引导,根据软件演化信息选择有利于覆盖目标路径的测试用例,利用已有测试用例跳过重叠初始子路径,对后续目标子路径进行concolic测试并生成覆盖目标路径的测试数据。案例分析表明,本文方法相比传统concolic测试,本方法在覆盖程序可行路径的同时,可有效减少concolic测试路径,提高测试数据生成效率。

关键词: 回归测试, concolic测试, 测试用例集扩增, 测试数据生成, 路径覆盖

Abstract:

To test the evolution software fully,new test cases need to be generated in regression testing typically.concolic testing is a hybrid software verification technique that performs symbolic execution along a concrete execution path,and can perform all the feasible paths of a program by generating test data.Concolic testing only focuses on the program under test with both existing test cases and software evolution information unexploited in regression testing, which  results in a large number of invalid test data generation,wasting resources and time.To address this problem,a pathdirected regression test suite augmentation approach is proposed. With the guidance of target paths,the approach selects the test cases conducive to cover target paths according to software evolution information,skips initial overlapping subpaths by using the existing test cases,takes the followup target subpath to guide concolic testing and generates test data covering the target paths.Case analysis demonstrates that the proposed approach can effectively reduce concolic testing paths in comparison to traditional concolic testing, and improves the efficiency of test data generation while covering feasible paths of the program.

Key words: regression testing;concolic testing;test suite augmentation;test data generation;path coverage