3.2 修改影响分析

  对于软件回归测试来说,确定修改影响的范围是至关重要的,修改的影响范围也是回归测试的目标范围。如果无法确定修改的范围,则理论上说得把整个系统重测一遍,对于大型软件,这种代价也是巨大的。

  3.3 成本风险评估

  如何在有限的时间和资源预算下,更合理的规划和安排测试工作。回归测试在实践中往往受到测试时间、测试成本、人工投入和测试对象业务关键性等约束,因此需要制定一个科学的测试计划,以保证在满足各种条件约束的前提下能够确保测试质量。

  Boehm 用公式RE=P(UO)*L(UO)对风险进行定义,其中RE表示风险或者风险所造成的影响,P(UO)表示令人不满意的结果所发生的可能性,L(UO)表示糟糕的结果会产生的破坏性程度。

  因此,被测试对象f中存在的风险值 Re(f)的大小可以用出错的概率与出错的代价的乘积来表达:

  Re(f) = p(f)*l(f)

  确定待测试对象风险因素发生的可能性及其造成的损失的过程是风险估计阶段。将风险发生的概率与风险发生造成的损失相乘,可以得到每个测试对象的风险值。

  为了方便对风险进行定量的估计,采用等级评定的方法对出错代价和出错概率进行表达。其中风险概率由模块成熟度和开发人员的出错预期共同计算。确定开发方的出错预期的依据是过往的缺陷率记录,在没有缺陷记录时,所有的开发人员度成熟度都默认为高,此后,个人成熟度分值随着个人缺陷率对平均缺陷率的相对值和个人缺陷率趋势而变化。

  根据风险值的估算,可以确定待测试对象的低测试深度。在测试深度的要求下,首先选择适当强度的测试用例简约算法进行试算,可以得出完成该对象测试需要的用例数。

  由于回归测试中大量用例可以复用,计算实施成本是需要对自动生成的测试用例和手工完成的测试用例区分对待,以不同的权重进行计算,终得出整个测试过程的实施成本。实施成本可以表示为测试投入的人时数。根据实施成本与项目预期成本投入和时间进行比较,判断待测试对象的成本是否在可以接受的范围里,如果可以接受,可以根据相应简约算法生成终需要的测试用例库。如果实施成本无法接受,可以重新调整用例简约算法,降低或者提高测试强度,重新计算实施成本,直到满足预算要求。

  4、结论

  回归测试研究有着广阔的空间,尤其对于系统结构复杂,构成要素多的大型系统软件回归测试,本文提出的自动化回归测试方法,对于降低回归测试代价,提高回归测试质量和效率具有及其重要的作用。