自动化回归测试案例评价标准 MeRest

自动化回归测试案例评价标准试图定义不同维度来评价自动化案例的优劣,作为后续我们评判讨论测试框架、测试技术和测试案例编写模式的基础。那什么是好的自动化回归测试案例呢?简而言之,就是投资回报率高的案例,因为案例的回报相对稳定,所以,高投资回报率的测试案例的主要特征就是低成本,而这个成本应该是一个测试案例全生命周期的成本:

测试案例全周期成本 =

初始开发成本

+ 执行成本*e

+ 平均错误定位成本*f

+ 平均重构成本*m

 

这里:

初始开发成本是指案例开发、调试和优化的成本,其实它主要由使用的测试框架和测试工具来决定;

平均执行成本是指案例执行成本,这个成本主要是由暂用计算资源造成的,

e是指执行次数,应该是千次或万次数量级的;

错误定位成本是指自动化案例执行报错后,发现、定位、解决问题的成本,

f是出现错误的次数,一般应该在几十次数量级;

平均重构成本是指为了应对需求变化而重构案例的平均成本;

m是重构的次数,一般可能是几十次数量级的,视相关需求变更频繁程度。

 

 

有了上面的成本模型,我们就可以讨论一下自动化回归测试案例的评价标准(MeReST标准)

1.      Maintainable(可维护性),主要指标(Should):案例应易于维护和扩展,可以应对未来的需求变化;在测试案例全周期成本中,对一个正常案例而言,总重构成本会是大头,因此,测试案例的可维护性至关重要;

2.      Efficient(高效性),次要指标(Could):案例应尽可能在最短时间内守护尽量多的风险点;提升案例的高效性,有利于减少测试案例的数量,在不过分影响其他指标的前提下,尽量用更少地案例来覆盖同样的风险点,有助于减少测试案例集总成本;

3.      Readable(易读性),主要指标(Should):案例应该简单,易于理解;易读性在案例开发阶段,会影响案例沟通、交流的难度,影响初始开发成本,更重要的是,它也是影响重构成本的重要因素,因为,维护测试案例的人很可能已经不是最初开发案例的人了,能够重构的前提是看得懂;

4.      Easy-to-use(易用性),次要指标(Could):案例对测试人员而言,应该非常易于使用,例如,易于调试,出现问题易于定位,可以方便重跑失败案例等;这个指标可以在一定程度上影响开发成本,错误定位成本和重构成本;

5.      Sensitive(敏感性),必备(Must):案例的目标是守护关键需求,防范特定风险,因此,案例必须具备足够的风险敏感性,在出现问题时,必须给出预警。永远不失败的测试案例不是好案例;敏感性其实就是案例的最低功能要求,不具备足够的风险敏感性案例就是无效案例,例如,没有assert或仅仅assert函数返回值的单元测试案例都是不够敏感的案例;

6.      Trustable(可靠性),必备(Must):案例应尽量避免由于案例原因造成的随机失败,案例失败最好就意味着对应系统存在问题;可靠性这个指标非常重要,因为,如果案例不可靠,出现随机失败,这会极大增加出现错误的次数,从而传导到测试案例总成本。

 

分析清楚了MeRest原则,下面我们就可以讨论测试框架、测试技术和测试案例编写模式了。

posted @ 2013-08-09 22:58  jlins  阅读(748)  评论(0编辑  收藏  举报