企业的测试策略
理念:
企业的主要目的是获取利润,降低测试成本也是盈利的一种方式。
用较低的代价实现有效的测试,不应为了追求完美的测试而不失一切代价。
如何合理地减少测试工作量
减少冗余的测试
白盒测试与黑盒测试的方式虽然不同,但往往有“异曲同工”之妙。在很多地方,白盒测试与黑盒测试会产生一模一样的效果(或者能推理出来),这样的测试是冗余的。
在集成测试、系统测试阶段,可能要执行多次“回归测试”。每一次“回归测试”都会存在不少的冗余,应当设法剔除不必要的重复测试工作。
减少无价值的测试
无价值的测试通常是由于不懂得测试技术引起的。例如功能测试,在等价区间之中,本来只要测试一个典型的输入就行了,如果有人在此区间测试了100次,那么其中99次就是无价值的。
如何“偷工减料”
有一些“短、平、快”的项目,经费本来就少,用户对质量要求也马马虎虎。为了能多挣一点钱,开发方不得不采用“偷工减料”的方式来降低测试代价。偷工减料的途径无非就是减少测试的内容和频度。但不能砍得太狠,否则软件拿不出手。基本方法是找出软件中需要优先测试的部分,其它次要部分可以忽略或将来再测试。
“偷工减料”方法的测试优先级:
哪些功能是软件的特色?
哪些功能是用户最常用的?
如果系统可以分块卖的话,哪些功能块在销售时最昂贵?
哪些功能出错将导致用户不满或索赔?
哪些程序是最复杂、最容易出错的?
哪些程序是相对独立,应当提前测试的?
哪些程序最容易扩散错误?
哪些程序是全系统的性能瓶颈所在?
哪些程序是开发者最没有信心的?
测试何时结束?
一、基于测试用例的规则
(1)先构造测试用例(并请有关人员进行评审)。
(2)在测试过程中,当测试用例的不通过率达到20%时,则拒绝继续测试,待开发人员修正软件后再进行测试。
(3)当功能性测试用例通过率达到100%,非功能性测试用例通过率达到90%时,允许正常结束测试。
该规则的优点是适用于所有的测试阶段,缺点是太依赖于测试用例。如果测试用例非常糟糕,那么该规则就失效了。
二、基于“测试期缺陷密度”的规则
把测试一个CPU小时发现的缺陷数称为“测试期缺陷密度”。绘制“测试时间-缺陷数”的关系图,如果在相邻n个CPU小时内“测试期缺陷密度”全部低于某个值m时,则允许正常结束测试。例如n大于10,m小于等于1。该规则比较适用于系统测试阶段。