计算机科学与探索 ›› 2012, Vol. 6 ›› Issue (12): 1057-1075.DOI: 10.3778/j.issn.1673-9418.2012.12.001

• 综述·探索 • 上一篇    下一篇

变异测试:原理、优化和应用

陈  翔1,2+,顾  庆2   

  1. 1. 南通大学 计算机科学与技术学院,江苏 南通 226019
    2. 南京大学 软件新技术国家重点实验室,南京 210093
  • 出版日期:2012-12-01 发布日期:2012-12-03

Mutation Testing: Principal, Optimization and Application

CHEN Xiang1,2+, GU Qing2   

  1. 1. School of Computer Science and Technology, Nantong University, Nantong, Jiangsu 226019, China
    2. State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093, China
  • Online:2012-12-01 Published:2012-12-03

摘要: 变异测试是一种基于缺陷的软件测试技术,在近四十年得到国内外学者的广泛关注,并取得了一些研究成果。对已有的研究工作进行总结,将其分为变异测试原理、优化和应用三个模块。其中在变异测试原理模块中,给出变异测试的基本假设,对变异测试分析流程进行介绍,并对其中的重要概念依次给出定义,从静态检测和动态检测两个角度对等价变异体检测技术进行总结。在变异测试优化模块中,从变异体选择优化和变异体执行优化两个角度对已有研究工作进行总结。在变异测试应用模块中,选择了测试用例集充分性评估、测试用例生成和回归测试三个应用领域,对研究工作进行分类总结。最后对变异测试的未来研究方向进行了展望。

关键词: 变异测试, 等价变异体, 测试用例集充分性, 测试用例生成, 回归测试

Abstract: Mutation is a fault-based testing technique. This topic is widely researched for over 40 years. This paper summarizes previous research work into three modules: principal, optimization and application. In the principal module, this paper firstly introduces two fundamental hypotheses, secondly illustrates the traditional process of mutation analysis and gives definitions for the important concepts, lastly summarizes equivalent mutant detection techniques into static detection and dynamic detection categories. In the optimization module, this paper illustrates mutant selection optimization and mutant execution optimization. In the application module, this paper introduces three classical applications: test suite adequacy evaluation, test case generation and regression testing. Finally, this paper draws a conclusion and forecasts some potential future research work.

Key words: mutation testing, equivalent mutant, test suite adequacy, test case generation, regression testing