计算机科学与探索 ›› 2015, Vol. 9 ›› Issue (12): 1450-1458.DOI: 10.3778/j.issn.1673-9418.1504032
张琼宇,杨秋辉+,张光渝,程雪梅,孙 琳
ZHANG Qiongyu, YANG Qiuhui+, ZHANG Guangyu, CHENG Xuemei, SUN Lin
摘要: 软件演化会造成一部分测试用例失效,如果直接将其从测试用例集中移除,会影响测试用例集检测缺陷的能力,降低回归测试的有效性。测试用例修复技术可以减少测试维护的工作量,增强回归测试的有效性。研究了针对方法声明演化的单元测试用例修复方法,首先使用反射机制得到方法声明演化信息,识别演化类型,再针对方法名称改变、方法参数改变和返回参数类型改变,分别提出了相应的修复策略。在修复过程中使用动态符号化执行技术得到测试数据,提高了测试用例修复的范围。实验表明,该方法能有效修复由方法声明演化引起编译错误的测试用例,平均修复率为60%左右,证明了该方法的可行性。