单元测试中自动故障定位技术的研究与设计

来源 :北京邮电大学 | 被引量 : 3次 | 上传用户:zfjbjxw
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
一般地,软件测试是为了发现错误而执行程序的过程,目的是以尽可能少的时间和人力发现并改正软件中隐藏的故障。单元测试作为软件测试最低级别的活动,通过故障定位技术能够及时发现和解决隐藏在程序中的故障,有效降低开发后期的测试成本,提高软件质量。故障定位技术分为人工定位和自动定位,人工故障定位具有盲目随·机、效率低下、定位准确性不高以及工作量大等不足,而自动故障定位能够弥补这些不足,因此研究单元测试中自动故障定位方法具有重要意义。本文围绕单元测试中的自动故障定位问题进行研究,故障定位主要通过采用一组测试用例执行被测程序,根据执行结果是否与预期一致计算程序语句发生故障的可疑度,从而得到定位结果。针对这个过程,本文的主要工作如下:(1)针对测试用例对应的执行路径集冗余问题,本文提出一种基于相似性度量的执行路径集约简技术,消除重复的执行路径以及与失败执行路径最不相似的成功执行路径,从而将约简后的执行路径集作为可疑空间,为可疑度计算提供基础。(2)关于如何计算程序语句的可疑度问题,本文提出通过计算路径边元素可疑度得到路径节点元素可疑度的方法,从而获得可能发生故障的程序语句。与只计算路径节点可疑度来获得故障语句的方法相比,本文提出的这种方法考虑了故障在节点之间的传播对可疑度计算的影响,从而使得可疑度计算更准确。(3)在代码测试系统CTS(Code Test System)中实现了上述自动故障定位技术,并结合测试用例生成和故障检测过程针对10个被测单元进行了具体实验,验证了本文研究技术的有效性。
其他文献
随着信息科技的飞速发展,数据库技术被广泛应用在各个领域中。现代数据库往往由成百上千个元素所构成,同时由于相关说明文档的缺失现象严重,对于用户来说,要对一个不熟悉的数