背景:
最近有个项目,开发工时在1000+h,测试这边预估的工作量在400h左右,但按照项目截点算,预留给测试的时间只有200h左右。(这里先不考虑开发可能提前交付,以及项目截点延期)
纵观,整个项目的研发过程,我们总会遇到测试资源和时间很有局限的情况:
一是:在项目截点固定的前提下,可能受到产品、开发部分工作进度的压缩;
二是:测试工作本身需要终止点,可能是上线时间到了,也可能是发现的问题都解决了。
测试工作最大的挑战就是在有效的时间内发现较多的缺陷,从而使软件达到一个相对可靠的质量(不敢说绝对可靠,毕竟发现的问题越多隐藏的问题也就越多)。
这就要求我们测试要有策略性的测试,那么什么是测试策略呢?
何为测试策略
从上述背景看,测试策略的诞生就是要平衡效率与质量,为了以最低的成本,最大程度发现产品的质量问题,而使用的最合理的工作方式、方法或者过程。
那么测试策略都包含哪些内容呢,接下来我们就说下测试策略模板中包含的内容。
一、概述
描述制定测试策略的目的及期望
1.1项目背景
描述项目背景及相关信息
1.2测试内容及范围
1.2.1测试内容
描述具体要测试的功能模块,接口等信息。
1.2.2测试范围
描述要测试项目或需求范围,是否涉及多项目联调等。
二、测试输入
2.1测试目标或质量要求
功能实现正确,数据一致,用户体验较好等。配合一些可量化的指标,如:千行代码漏洞率、一级BUG数量、模块漏洞率、缺陷修复率、用例执行率等。
2.2标准与规范
产品设计规范、开发规范、框架规范,测试规范等
2.3测试风险
可参考51test上的一篇文章浅谈实施软件测试风险分析,分析的还是比较到位的。
2.4业务特点、要求
产品独有的业务或技术特点及特定要求等
2.5可用的测试技术
用到的测试工具、测试方法等
2.6可用的测试资源
人力、时间、文档、测试环境等描述
2.7产品特点
产品运用的技术或者框架特点,业务特点(CS/BS/APP,依赖的开发语言,依赖的不熟环境等)
2.8进度要求
各测试阶段时间点或项目要求时间点
三、测试输出
3.1测试预期达到的效果
3.1.1完成时间
测试完成时间,提交反馈及相应输出结果。
3.1.2测试覆盖率
可以按业务场景覆盖率或者用例执行率
3.2测试项优先级
根据测试内容排优先级,考虑因素时间、人力、成本、质量等因素,需要与产品、项目、开发四方确认,并达成一致。
3.3测试方式、方法
方式包含:
手工方式、自动化方式;探索式测试或基于脚本的传统测试;自动团队测试还是众测、外包等。
方法包含:
基于需求的、基于数据流、基于控制流、组合测试、形式化等方法、技术、工具等。
3.4测试过程
3.4.1入口
何时介入、从什么地方开始、先做什么、再做什么等
3.4.2出口
相关报告的产出、覆盖率的达标、项目要求时间点的界限、一级问题是否都已修复等。
四、测试策略
预防式:在问题还没有发生前,预防问题发生的策略。
应对式:在出现问题出现以后,如何应对的策略。
五、测试类型
使用到的测试类型:单元测试,集成测试,系统测试,验收测试(Alpha、Beta、用户验收、运营验收、功能验收),回归测试,黑盒测试:功能测试、逻辑功能测试、界面测试、易用性测试、兼容性测试,白盒测试,灰盒测试,接口测试,性能测试:对时间的要求、对资源的使用等。
透过上述内容,不难看出,最终策略的重点在于:就当前现状进行梳理分析,并与相关人员沟通互动,从而在效率、进度、质量、投入上达成一致,并按要求输出。
测试工作本身就需要谋定而后动,面对有效的资源,制定相应的策略,将核心精力放在价值更高,优先级更高,使用场景最多的事情上,最大限度的保障产品的质量。
在提升效率与质量上一直奔走,是作为测试工作者的不变使命。