电子学报 ›› 2012, Vol. 40 ›› Issue (12): 2456-2465.

• 学术论文 • 上一篇    下一篇

基于复杂软件网络的回归测试用例优先级排序

潘伟丰1, 李兵2,3, 马于涛2,3, 刘婧2,3   

  1. 1. 浙江工商大学计算机与信息工程学院,浙江杭州 310018;
    2. 武汉大学软件工程国家重点实验室,湖北武汉 430072;
    3. 武汉大学计算机学院,湖北武汉 430072
  • 收稿日期:2012-01-10 修回日期:2012-07-13 出版日期:2012-12-25 发布日期:2012-12-25
  • 通讯作者: 潘伟丰 男,1982年12月出生于浙江省杭州市,毕业于武汉大学获工学博士学位,现为浙江工商大学讲师,主要研究方向为软件工程、服务计算、复杂网络和智能计算. E-mail:panweifeng1982@gmail.com
  • 作者简介: 李 兵 男,1969年3月出生于湖北省武汉市,武汉大学教授,博士生导师,主要研究方向为软件工程、云计算、人工智能和复杂网络. E-mail:bingli@whu.edu.cn
  • 基金资助:
    国家自然科学基金(No.61202048);浙江省自然科学基金(No.LQ12F02011);武汉市科技晨光计划(No.201150431102)

Test Case Prioritization Based on Complex Software Networks

PAN Wei-feng1, LI Bing2,3, MA Yu-tao2,3, LIU Jing2,3   

  1. 1. School of Computer Science and Information Engineering,Zhejiang Gongshang University,Hangzhou,Zhejiang 310018,China;
    2. State Key Laboratory of Software Engineering,Wuhan University,Wuhan,Hubei 430072,China;
    3. School of Computer,Wuhan University,Wuhan,Hubei 430072,China
  • Received:2012-01-10 Revised:2012-07-13 Online:2012-12-25 Published:2012-12-25

摘要: 测试用例优先级排序技术是一种高效实用的回归测试技术.针对现有排序方法未能有效利用软件结构复杂性信息的不足,提出了一种基于复杂软件网络的回归测试用例优先级排序方法.该方法用加权类依赖网络模型抽象类粒度软件系统,从结构角度测度类引入错误的可能性及错误的严重性,并据此评价类的测试重要性,同时结合测试用例的覆盖信息,对测试用例进行排序.实例研究表明,本文的方法能够显著提高严重错误的发现速率,并且具有较好的稳定性.同时,揭示了方法有效性与软件错误类型和结构度量指标两者间的关系.

关键词: 测试用例优先级排序, 软件结构, 复杂网络, 回归测试, 软件

Abstract: Test case prioritization is one of the effective and practical regression testing techniques.This paper proposed a new test case prioritization technique which takes the software structure complexity that has usually been neglected in previous work into consideration.It used weighted class dependency networks to represent software at the class level.It defined fault proneness index of classes to describe the fault-introduced probability.It defined fault propagation ratio of classes to describe the fault severity.Then test attention of classes was introduced to depict the testing importance of classes,and based on which,together with the coverage information of each test case,the priority of each test case was determined.The empirical results on several software systems suggest that the proposed approach is more effective than the other test case prioritization techniques and has relatively high stability.And the relationships between the effectiveness of the proposed approach and two factors (i.e.fault types and structural complexity metrics) were also uncovered.

Key words: test case prioritization, software structure, complex network, regression testing, software

中图分类号: