验收测试和代码覆盖率

时间:2009-10-15 19:29:01

标签: code-coverage acceptance-testing function-coverage

衡量验收测试覆盖率的最佳方法是什么?

您如何定义验收测试的覆盖范围以及何时足够?

1 个答案:

答案 0 :(得分:12)

在进行验收测试时,我宁愿查看功能覆盖,即测试给定应用程序的功能(或用户故事或用例)。对我而言,对于每个功能(或用户故事或用例),应测试所有场景或可能的路径。换句话说,功能应该是编写测试计划的起点,目标应该是覆盖功能,而不是代码。这是一个微小的差异,但是一个重要的区别:使用代码覆盖测量验收测试是面向开发人员的,测量功能覆盖是面向最终用户的。

关于测量,敏捷的创始人之一Ron Jeffries写了一篇关于他认为真正有价值的指标,RTF或跑步测试特征的优秀摘要。您可以查看文章here。我只是引用下面的一小部分:

  

项目的重点是什么?

     

我只是猜测,但我认为   大多数软件开发的重点   项目是有效的软件,和   具有尽可能多的功能   每一美元的投资。我称之为   运行经过测试的[功能]和   事实上,它可以衡量,到一个   度。

     

想象一下以下的定义   RTF:

     
      
  1. 所需的软件分为命名功能   (要求,故事)是其中的一部分   什么意味着交付   期望的系统。
  2.   
  3. 对于每个命名功能,都有一个或多个自动接受   测试哪些在工作时会显示出来   该问题的特征是   实现。
  4.   
  5. RTF指标在项目的每个时刻显示了多少   功能正在传递他们所有   验收测试。
  6.         

    有多少客户定义的功能   已知,通过独立定义   测试,工作?现在有一个   我可以忍受的度量标准。

为了报告进度,我特别喜欢累积流程图。他们清楚地表明出现问题的时候,例如(这里是一种燃尽风格):

alt text
(来源:xprogramming.com

对于现实生活中的例子,请查看this postthis one(燃尽风格图表)。