论文部分内容阅读
软件测试是保障软件质量、提高软件产品可靠性的重要手段,是实施软件项目不可缺少的环节。回归测试是软件测试的重要组成部分,是在软件维护阶段,对软件进行修改之后进行的测试,其目的是检验软件修改是否正确以及修改是否引入新的错误。回归测试的研究对提高回归测试效率,降低测试成本有重要意义。软件不断地改进和发展导致其测试用例库越来越大,采用重测所有测试用例的回归测试策略变得不现实,因此如何选择有效的测试用例使之能够覆盖修改和修改影响的部分成为研究的重点。本文针对面向对象程序的特征,以概念格为分析工具,对回归测试的四个基本问题进行研究。文章首先介绍了概念格如何反映面向对象程序的特征,用概念格体现面向对象程序的类层次。本文以概念格为分析工具,类成员为分析单元进行回归测试的研究。针对面向对象程序的特征,利用概念格的层次聚类特性,将类和类的成员方法作为对象,类成员方法作为属性构造概念格,得到面向对象程序的类层次结构。当类成员方法修改时,通过分析各个概念之间的偏序关系,找出可能受到影响的类成员方法和类。本文根据修改的类型来确定进行修改影响分析的算法,得到修改影响的部分。通过实验证明,基于概念格的面向对象程序修改影响分析能够有效地确定修改影响的部分,提高测试效率。本文还将概念格应用于回归测试选择技术,对测试用例进行选择。在基于概念格特征的基础上,提出了一种新的约简测试用例库的方法。该方法依据对测试用例构造的概念格,优先选择覆盖程序范围最大的测试用例,组成新的测试用例库对程序进行重新测试。通过实验表明,该方法在保证覆盖率和精度的情况下,能明显地减少测试用例库的大小,提高程序测试的效率。本文主要的创新点在于将主要用于数据挖掘的概念格应用到软件工程领域的软件测试方法中。由于概念格能够体现面向对象程序的类层次,因此能够将概念格作为进行程序结构分析的工具,将其应用到面向对象程序的软件测试中是可行的。本文的实践工作主要是通过实验证明利用概念格进行回归测试的可行性,以及运用概念格进行回归测试的效果。