如何进行合理的自动化测试度量
更新时间:2022-01-14 09:36:11 作者:多测师 浏览:427
1、EMTE(Equivalent Manual Test Effort)
前面提到,并不适合通过自动化测试用例数量或者执行次数等指标来衡量其价值。而笔者比较认同由Dorothy Graham提出的EMTE(Equivalent Manual Test Effort)公式,能够一定程度上代表自动化测试起到的作用,其说明如下:度量对象为一个自动化测试集合;
计算这个自动化的测试集合如果完全手工执行需要的工作量(时间);
举例说明,比如“自动化测试集合1”,如果手工执行需要3个小时,而在当前敏捷迭代中该自动化测试集合执行了2次,这时候EMTE=3*2=6(小时)。 当然,任何指标的滥用都会产生一定的负面价值,如果为了追求单纯的高EMTE而不断重复执行相同的自动化测试用例,也是不合适的。
2、ROI(投入产出比)
进一步来看,EMTE只是计算了收益,并没有计算自动化测试的投入,那么通过计算ROI(投入产出比)来衡量收益更加合适些。从下图,我们可以看到自动化测试的时间投入,也会包含脚本编写、测试准备、测试执行、失败原因分析和环境恢复/数据清理等事项。
计算自动化测试的ROI,需要首先计算出节省的时间:(自动化测试节省时间=EMTE—手工测试需要的时间)。然后再进一步汇总计算自动化测试投入的总时间,也就是各个阶段需要的时间总和,最终计算出 ROI:ROI=(自动化测试节省的时间——自动化测试投入总时间)/自动化测试投入总时间。
3、自动化测试用例发现Bug效率
前面文章也提到,单纯使用自动化测试发现的Bug数量来衡量其价值是不合适的。但是可以作为对自动化测试用例自身的有效性约束还是有些作用的。其公式为:自动化测试用例发现Bug效率= (自动化测试发现的Bug数量/自动化测试用例执行数量)*100%。 该指标的数据不会很高,可以通过趋势跟踪的方式来确保自动化测试用例能够及时更新,并且一定程度上约束无效的执行。
4、自动化测试覆盖比率
自动化测试覆盖率结合手工测试的覆盖率,综合计算才能够反馈出基于需求变更的测试覆盖率程度。而单纯衡量自动化测试的覆盖率,更多的是代表自动化测试系统自身的成熟度。建议采用多维度的覆盖率计算,包含自动化测试功能覆盖率、自动化测试接口覆盖率和自动化测试代码覆盖率。通过计算自动化测试覆盖率比例的方式来衡量自动化测试的贡献情况:自动化测试覆盖比率 = 自动化测试覆盖率/ (自动化测试覆盖率+手工测试覆盖率)*100%
5、与研发效能的结果指标建立关联
相信大家都认可,过分注重过程指标的度量,是不合时宜的。自动化测试的价值评估和度量需要尽量与研发效能的结果指标建立关联。例如自动化测试的EMTE和ROI两个指标,可以和衡量研发效能交付能力的“发布前置时间”相关联,观察经过一段时间的自动化测试能力提升,是否可以不断减少“发布前置时间”,从而实现交付能力的提升。而自动化测试用例发现Bug效率和自动化测试覆盖比率的提升,一定程度上应该可以影响到交付质量中的线上缺陷密度指标,通过更高的自动化测试覆盖率和更全面的自动化回归测试,减少遗留到线上的缺陷。从度量的角度,如果发现自动化测试的指标无法对结果指标产生影响,那很可能是数据统计出了问题,或者指标需要调整。
以上内容为大家介绍了如何进行合理的自动化测试度量,希望对大家有所帮助,如果想要了解更多接口自动化测试相关知识,请关注多测师。https://www.aichudan.com/xwzx/
上一篇:常用的自动化测试度量指标