论文部分内容阅读
在软件迭代更新的开发过程中,会出现测试用例与被测代码不一致的情况,即当前的程序代码,并不能够全部通过旧版本的测试用例。这可能由当前代码的错误引发,也可能是测试用例造成。分析测试用例与被测代码的一致性,旨在确认错误的来源,从而帮助程序员减少工作量。 本文提出了一种基于机器学习的测试用例与被测代码的一致性分析技术。它能够根据测试用例和程序代码文件中修改率、调用关系等静态特征,并针对这些特征数据进行机器学习,实现对错误的来源进行分类,判断程序更可能是测试用例的错误还是被测代码的错误。 在本文提出的一致性分析技术的基础上,给出了一个eclipse插件工具的设计与实现。该工具能够基于已有的错误数据,进行基于朴素贝叶斯分类器的机器学习,并将分类模型应用于新的错误,从而帮助程序员更快的定位错误的原因,提高测试工作的效率。 为了验证工具的有效性,我们进行了初步的实验分析,结论表明工具使用的技术,在同一个项目内,同一个项目的不同版本间,以及不同项目间,都能够做出有效的判断。