引言
测试作为软件质量的把控,经常存在这样的一个误区:所有提测的功能都需要进行全面的测试,否则上线后就可能存在质量风险。而此时,也会迎来项目经理的质疑,此需求开发一周,为啥测试需要两周,测试为啥这么久?
迭代中总会遇到测试资源和时间很紧张的状态,对我们来说,如何制定一个合理的测试策略,在有限的测试资源下既能保证产品质量也能满足产品迭代周期?
测试策略是什么
维基百科对于测试策略(test strategy)的定义
我们可以得出测试策略的最终目的是通过定义项目会采用的测试活动,尽可能得暴露和消除产品缺陷,减轻产品风险。除此之外,由于软件开发时常伴有交付压力,测试的时间和资源都是无法保证甚至可能被压缩的,所以测试策略还会从最低成本揭露产品质量风险出发,选择出最合理的测试方法和测试过程。
测试策略的理解
”测试策略“即:”测什么“和”怎么测”。具体可以按照以下6点问题进行回答,分别是:
① 测试的对象和范围是什么?
② 测试的目标是什么?
③ 测试的重点和难点是什么?
④ 测试的深度和广度是什么?
⑤ 如何安排各种测试活动(先测试什么,再测试什么)?
⑥ 如何评价测试的效果?
测试策略的制定思路
实际项目中,以上6个问题看起来不难,但是想回答好却并不简单。小编借鉴书中的一种思路,通过模型化的方法来指导策略制定,具体模型图是:
- Step1:产品“质量目标”
① 测试目的是让产品发布的时候能够满足事先约定的质量目标;
② 围绕产品质量目标进行刚刚好的测试;
- Step2:进行“风险分析”,持续改进
① 提前识别项目中可能存在哪些会阻塞测试的风险,基于风险调整测试策略;
② 基于风险来加强和降低测试投入;
- Step3:适配“产品开发流程”
① 测试策略的制定受限于项目的不同研发流程;
② 在开发周期不同阶段,测试类型与开发流程结合,能最大发挥测试活动效果;
- Step4:进行“测试分层”
① 将测试目标分解到不同层次中,形成质量目标、质量活动、质量评估的闭环;
② 质量活动包括确定测试类型、测试框架及测试工具;
③ 质量评估可以反馈产品的质量和用户满意度,从而得出策略是否有效和高效;
测试总体框架图
通过测试策略和测试活动按照测试框架绘制出来,并按照研发流程和测试分层来组织测试活动的先后次序,形成测试总体框架:
测试策略项目落地实践
测试质量目标的落地
测试质量的目标围绕的是刚刚好的状态。结合小编所在的项目,从最终用户的角度,将产品质量划分为3级:
- 第1级:产品需求品质打磨,需求完全满足,异常交互场景均有覆盖,有少量(或者无)遗留问题,用户使用无任何限制;
- 第2级:产品需求主流程顺畅,需求主流程满足,异常交互场景未有覆盖,有普通以上的遗留问题,用户使用有部分限制;
- 第3级:产品需求生效性验证,需求部分不满足,异常交互场景未有覆盖,有严重以上的遗留问题,用户使用有部分限制;
测试策略分析表
小编结合所在的业务线,结合书中介绍的方法,设计出测试策略分析表如下:
总结
通过小编的探索,测试策略是较为全面、体系化的知识门类,比如风险预知、质量度量、测试方法框架等都可以独立作为一门Topic进行研究,小编今天仅做了浅显的介绍,抛砖引玉,期望大家在测试中,把控好测试的分寸,在合理的资源下,满足项目的质量。
注:本文部分内容及图片,引用自如下:
书籍《测试架构师修炼之道》
文章《敏捷团队中的测试策略》https://danteyu.github.io/2017/10/21/teststrategy/