面向对象软件测试:一种代数规格的蜕变关系构造方法

需积分: 10 1 下载量 105 浏览量 更新于2024-08-11 收藏 447KB PDF 举报
"该资源是一篇2015年的计算机应用期刊文章,主要讨论了面向对象软件类级测试中的Oracle问题,并提出了一种基于代数规格的面向对象蜕变关系构造方法,旨在解决方法序列调用时的测试挑战。文章通过改进GFT算法,降低蜕变关系的冗余度,从而提高软件测试的效率。" 面向对象软件测试中的Oracle问题通常指的是在进行类级测试时,确定预期输出的难度,因为这些测试通常涉及多个方法的交互和复杂的业务逻辑。为了解决这个问题,作者提出了一种基于代数规格的面向对象蜕变关系构造方法。这种方法的核心是利用代数规格来定义对象和类的行为规则,这些规则可以用来推断出在一系列操作之后系统应有的状态变化。 蜕变关系是一种测试策略,它允许测试者通过检查输入和输出之间的关系,而不是直接比较预期输出和实际输出。在面向对象软件中,蜕变关系可以帮助识别方法调用序列中的错误,即使这些错误在单个方法测试中可能无法暴露。文章指出,通过对GFT算法的范式构造蜕变关系方法进行改进,可以更有效地构造这些关系。 GFT算法是一种生成有限测试用例的算法,它试图覆盖所有可能的方法调用组合。然而,原始的GFT算法可能会导致构造出的蜕变关系过于复杂和冗余,这会增加测试时间和资源消耗。作者提出的新准则通过精简蜕变关系的构造过程,减少了这种冗余,从而提高了测试效率。 在实验部分,作者通过一个整数栈类的实例验证了改进后的蜕变关系构造方法。与GFT算法对比,结果显示在保持相似的变异检测率(即错误发现能力)的前提下,新方法能够将蜕变关系的冗余度降低66%。这一结果证明了改进方法的有效性,即在不牺牲测试质量的情况下,显著减少了测试的复杂性和成本。 关键词涉及的面向对象、蜕变关系、代数规格和变异检测率都是本文的关键概念。面向对象强调的是软件设计中的模块化和封装;蜕变关系是测试策略的一部分,用于描述输入和输出之间的变换规律;代数规格是一种形式化方法,用于描述系统的数学行为;而变异检测率则是衡量测试效果的重要指标,表示测试用例能发现程序错误的能力。 这篇论文提供了一种创新的面向对象软件测试方法,通过代数规格指导的蜕变关系构造,优化了测试过程,降低了冗余,提高了测试效率,对于软件测试领域的实践和理论研究具有重要价值。