小酋测试:你真的了解什么是测试策略么?

什么是软件测试策略?

策略:可以实现目标的方案集合。

所以从字面意思上讲,软件测试策略:可以实现软件测试目标(在规定时间内尽可能发现软件中的缺陷)的方案集合。

简单地说,软件测试策略就是在测试质量和测试效率之间的一种平衡艺术。更明确地说,测试策略是为了以最低的成本最大程度地揭示(或降低)产品的质量风险或尽早地完成测试所选择(或制定的)的最合适的方式、方法、过程等。

测试策略内容主要包括:测试目标、测试范围、测试优先级(重点)、测试过程(阶段)、测试技术、开始标准、完成标准,以及需要考虑的特殊事项。

为什么要制定测试策略?

一个优秀的测试执行应先制定一个好的测试策略,俗话说“不打无准备之仗”。提前规划好测试策略,可以避免盲目测试,规避测试风险,可以提前捕捉到测试过程中会产生的一些问题,提前解决,大大提高测试效率、产品质量。当然,测试策略是在测试之前做出的一套方案,无法完全预测到测试中会发生的事,所以测试策略也要做到随机应变,因时制宜

你真的了解什么是测试策略么?

如何制定测试策略?

测试策略主要关注“测什么?” 和 “怎么测?

测什么?

由于软件测试不可能测试所有内容,因此决定要测试什么尤为重要,如果测试过度,可能耗时长、效益低,实际项目中也不允许。

因此就需要确定测试的类型(如接口测试、功能测试),以及对应类型测试的范围

测试范围内的东西不会都是一样重要的,加上测试资源各种有限,所以为测试排定优先级(重点)是十分的必要。

怎么测?

测什么确定后,那就是说明怎么执行测试了。

  • 优先保证高优先级功能的充分测试,对次优先级功能进行简单的用例覆盖测试?
  • 优先保证用例覆盖测试,然后执行探索性测试?
  • 先各自分配对固定功能模块的测试,然后在一定阶段后再引入交叉测试?
  • 先内部测试团队进行测试,后期引入bug bash?
  • 在测试过程中需要用到什么技术、工具?

这些都是对于如何进行测试需要思考的问题。
具体来讲,可以从四个方面考虑:

1、测试阶段:一般分为前、中、后期,不同的阶段采取不同的策略。前期一般以需求文档、原型设计为主;中期可提前进入接口测试、模块化测试;后期对系统进行一个完整的测试,也可以根据时间条件等引入其他测试技术进行深入测试。

2、产品成熟度:不同成熟度的产品采取不一样的测试策略。初期的产品关注的是功能的实现和满足基本需求;产品成熟后,测试的范围也同步扩大,需要更多的关注易用性、性能等,测试方法和测试策略也会一并提升。

3、测试范围:一个完整的系统涉及到大大小小的模块,不同的模块采取不同的测试策略。优先级较低的模块可能做简单的功能测试即可,优先级较高的模块除了功能测试还要关注性能、易用性等方面;针对不同范围的模块,采取不一样的测试方式,是提高产品质量的一大重要途径。

4、测试风险:测试过程中的风险包含很多,测试资源风险(人员不足、时间紧迫、设备欠缺等)、测试产品风险。测试资源风险需要提前进行预备,人员不足则可申请加派人员,时间紧迫可选择加班或与相关人员协同一致优先选择高级别的测试,设备欠缺可申请增加设备或降低测试标准。

明确测什么、怎么测后,还需要考虑会影响测试策略中所述测试工作的影响因素或依赖关系。这就包括可能存在的风险、问题、特别注意事项等,并提出应急预案或解决办法。
这里给一个简单样例:

你真的了解什么是测试策略么?

策略不执行,效果等于零

所以在制定测试策略时需要与测试、产品、开发交流,保证制定的测试策略与项目相适宜。执行测试策略需要多沟通,根据实际情况进行调整,处理好各方面的问题,降低风险,最终达到预期目标。



留言