什么是软件测试策略?
策略:可以实现目标的方案集合。所以从字面意思上讲,软件测试策略: 可以实现软件测试目标(在规定时间内尽可能发现软件中的缺陷)的方案集合。
简单地说,软件测试策略就是在测试质量和测试效率之间的一种平衡艺术。更明确地说,测试策略是为了以最低的成本最大程度地揭示(或降低)产品的质量风险或尽早地完成测试所选择(或制定的)的最合适的方式、方法、过程等。
测试策略内容主要包括:测试目标、测试范围、测试优先级(重点)、测试过程(阶段)、测试技术、开始标准、完成标准,以及需要考虑的特殊事项。
为什么要制定测试策略?
一个优秀的测试执行应先制定一个好的测试策略,俗话说“不打无准备之仗”。提前规划好测试策略,可以避免盲目测试,规避测试风险,可以提前捕捉到测试过程中会产生的一些问题,提前解决,大大提高测试效率、产品质量。当然,测试策略是在测试之前做出的一套方案,无法完全预测到测试中会发生的事,所以测试策略也要做到随机应变,因时制宜。
如何制定测试策略?
测试策略主要关注“测什么?” 和 “怎么测?”
测什么?
由于软件测试不可能测试所有内容,因此决定要测试什么尤为重要,如果测试过度,可能耗时长、效益低,实际项目中也不允许。
因此就需要确定测试的类型(如接口测试、功能测试),以及对应类型测试的范围。
测试范围内的东西不会都是一样重要的,加上测试资源各种有限,所以为测试排定优先级(重点)是十分的必要。
怎么测?
测什么确定后,那就是说明怎么执行测试了。
·优先保证高优先级功能的充分测试,对次优先级功能进行简单的用例覆盖测试?
·优先保证用例覆盖测试,然后执行探索性测试?
·先各自分配对固定功能模块的测试,然后在一定阶段后再引入交叉测试?
·先内部测试团队进行测试,后期引入bug bash?
·在测试过程中需要用到什么技术、工具?
这些都是对于如何进行测试需要思考的问题。
具体来讲,可以从四个方面考虑:
1、测试阶段: 一般分为前、中、后期,不同的阶段采取不同的策略。前期一般以需求文档、原型设计为主;中期可提前进入接口测试、模块化测试;后期对系统进行一个完整的测试,也可以根据时间条件等引入其他测试技术进行深入测试。
2、产品成熟度: 不同成熟度的产品采取不一样的测试策略。初期的产品关注的是功能的实现和满足基本需求;产品成熟后,测试的范围也同步扩大,需要更多的关注易用性、性能等,测试方法和测试策略也会一并提升。
3、测试范围: 一个完整的系统涉及到大大小小的模块,不同的模块采取不同的测试策略。优先级较低的模块可能做简单的功能测试即可,优先级较高的模块除了功能测试还要关注性能、易用性等方面;针对不同范围的模块,采取不一样的测试方式,是提高产品质量的一大重要途径。
4、测试风险: 测试过程中的风险包含很多,测试资源风险(人员不足、时间紧迫、设备欠缺等)、测试产品风险。测试资源风险需要提前进行预备,人员不足则可申请加派人员,时间紧迫可选择加班或与相关人员协同一致优先选择高级别的测试,设备欠缺可申请增加设备或降低测试标准。
明确测什么、怎么测后,还需要考虑会影响测试策略中所述测试工作的影响因素或依赖关系。这就包括可能存在的风险、问题、特别注意事项等,并提出应急预案或解决办法。
这里给一个简单样例:
http://www.51testing.com/attachments/2020/12/15326880_2020120414370519xIM.png
加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。事必有法,然后有成。
页:
[1]