一个有效的测试策略——基于风险的测试
测试是软件开发过程中不可缺少的一环。因为通过测试可以发现软件潜在的缺陷,提高软交付软件的质量。
但是好的测试同时也意味着要有较高的投入,较高的成本。
所以,一个有效的测试策略就是将测试资源分配到最重要的部分。
基于风险的测试就是这样的有效的测试策略。
什么是基于风险的测试?
基于风险的测试(Risk-Based Testing)就是通过在测试开始的时候,识别出项目风险和产品风险,并以此为依据来确定测试的优先级,安排测试资源,监控测试活动,最终给出测试结论的一种测试方法,
基于风险的测试策略可以帮助我们做好以下几方面的活动:
资源和计划
在制定测试计划时,我们可以通过识别出来的风险级别,分配测试资源,选择测试技术,确定测试的优先顺序。
风险应对
在整个测试阶段,我们都可以使用风险管理方法,对已经识别的测试风险采取缓解措施,以降低风险发生的概率或者造成的危害程度。
测试分析和报告
测试是开始容易结束难。
合理的测试终止条件绝不能仅仅是把设计的测试用例全部运行一遍。
因为根据测不准的原理,我们设计好的测试用例就不可能是充分的,所以即便所有测试用例都通过了,也不可能把软件中潜在的缺陷全部找出来。
所以,合理的测试终止条件不仅仅要检查计划的测试活动是否都已经完成,更要确认发现的缺陷是否足够多,遗留的缺陷是否足够少,软件的质量是否足够高。
而使用基于风险的测试策略。那么决定测试终止就很简单。比如只要中高级别的风险都通过了验证,发现的问题都得到了解决,就可以认为软件的质量水平是可以接受的。
基于风险的测试作为软件测试的一种有效方法,它可以帮助我们解决测试过程中面临的一些问题:
测试的时间压力
测试通常都是有时间限制的,很少有测试项目可以获得足够的时间进行充分的测试。而使用基于风险的测试方法,就可以在一定程度上解决这个问题。
因为基于风险的测试,先是确定了测试的优先级,这样我们就可以根据测试时间是否充裕,来选择深度优先或者广度优先的测试策略(详见《测试的先后顺序可以这样定!》)。
如果测试时间紧张,我们就选择深度优先测试策略,即按照风险级别由高到低的顺序进行测试,确保高风险的测试任务的完成。
如果测试时间充裕,我们就选择广度优先测试策略,即尽可能地覆盖不同测试级别,并且测试级别高的优先测试。
应对需求变更
测试团队经常面临的问题是系统需求质量低下或者不完整。基于风险的测试可以在早期就识别出需求风险,并且通过与利益相关方积极地沟通,降低这方面的风险。
所以,基于风险的测试,能够帮助我们制定合理的测试计划,给出合理的测试结论,解决测试的时间压力和需求变更的问题。使得测试能够更快更好地完成,是一个有效的测试策略。
这正是:
测试想要快又好,基于风险是妙招
资源计划都合理,结论可信又可靠
参考书目:软件测试管理,作者:郑文强,马均飞,出版社:电子工业出版社