减少冗余的测试
白盒测试与黑盒测试的方式虽然不同,但往往有“异曲同工”之妙。在很多地方,白盒测试与黑盒测试会产生一模一样的效果(或者能推理出来),这样的测试是冗余的。
在集成测试、系统测试阶段,可能要执行多次“回归测试”。每一次“回归测试”都会存在不少的冗余,应当设法剔除不必要的重复测试工作,此部分需要经验的积累。
减少无价值的测试
无价值的测试通常是由于不懂得测试技术引起的。例如功能测试,在等价区间之中,本来只要测试一个典型的输入就行了,如果有人在此区间测试了100次,那么其中99次就是无价值的,要充分运用“等价类划分”和“边界值”等方法。
如何“偷工减料”
有一些比较小、技能性不太强的项目,经费本来就少,用户对质量要求也马马虎虎。为了能多挣一点钱,开发方不得不采用“偷工减料”的方式来降低测试代价。偷工减料的途径无非就是减少测试的内容和频度。但不能砍得太狠,否则软件拿不出手。基本方法是找出软件中需要优先测试的部分(见下表),其它次要部分可以忽略或将来再测试。
“偷工减料”方法的测试优先级:
哪些功能是软件的特色?
哪些功能是用户最常用的?
如果系统可以分块卖的话,哪些功能块在销售时最昂贵?
哪些功能出错将导致用户不满或索赔?
哪些程序是最复杂、最容易出错的?
哪些程序是相对独立,应当提前测试的?
哪些程序最容易扩散错误?
哪些程序是全系统的性能瓶颈所在?
哪些程序是开发者最没有信心的?