论文部分内容阅读
软件测试是为确保软件的正确性而进行的一项重要活动,回归测试是软件修改后以确认修改的正确性而进行的测试工作,因而其执行测试用例的过程与前面的开发过程中的软件测试过程相同,只是所执行的测试用例的集合可能不同。回归测试策略有“重测所有”策略和“选择性”策略,随着软件规模的不断增大,在回归测试中“重测所有”不管在成本还是在时间上都是不可行,尤其是在修改很小部分时“重测所有”就造成成本浪费,但修改可能会影响到其他的部分,因此必须选择适当的测试用例集进行回归测试。 目前在“选择性”回归测试策略方面有许多研究,选择一个尽可能小并且又能覆盖所有改变和影响的代码的测试用例集是研究的重点。本文中以类成员为单元进行修改影响分析,回归测试时选择仅仅与修改及影响的类成员相关的测试用例执行。 在本文中提出类成员防火墙回归测试策略,先从源程序中抽取出类层次图,用类层次分析法(CHA)根据类层次图构造较精确的类成员依赖图,然后根据类成员的依赖关系,当修改其中某些类成员时,找出可能会影响到的其他类成员。对于修改影响分析,先根据面向对象的特征定义几种基本的修改防火墙的构造类型,然后程序中的修改可以由这几种基本类型组合而得到相应修改的防火墙,下一步就可根据类成员防火墙中的类成员确定哪些相关联的测试用例必须进行重新执行。在本文最后实现一个原型系统,提出了源程序分析框架,能够对于一般的.java源程序进行分析,很容易扩展到其他语言的源程序分析,从系统中能得出源程序对应的类成员依赖图,当程序修改后能得到相应的类成员防火墙,为下一步回归测试用例的选择提供研究基础。