测试左移实践和总结
一、测试左移简介
测试左移,是一种测试的思想,顾名思义就是让测试的活动向前端推动,也叫测试前置。
尽早的测试介入,尽早的发现测试问题,可以从产品流程规范和测试效率的提升保证测试左移的效果。
测试左移思想是"第一时间发现缺陷,第一时间解决",目的是在测试过程中降低缺陷修复的成本,且在测试后期可以更灵活的进行测试资源再分配。
二、测试左移各阶段实现
1、需求阶段
1)需求深度“理解”
A、需求必要性
很少有人在这方面提出质疑,需求真的是否有必要,是否还其它的方式能够更好的达到目标?如果不做这个需求会有什么样的影响?
B、需求背景
为什么要做这个需求,是填坑还是完善体验,如果是填坑那么后续针对类似的场景、需求就需要能够早早纠正和避免;
C、需求价值
该需求能够为用户带来什么样的价值,换位思考下,如果你是这个需求的用户群体,你希望这个功能是怎么样的;
D、需求诉求
不同用户对于需求的诉求是不同的,有的用户侧诉求可能是希望有“一站式”的体验,有的可能是希望有功能上的补全,只有真正清楚需求背后的诉求才能保证需求的正确性;
2)需求分析:测试建模
深入分析需求,建立测试模型
3)需求价值验证
实际上在需求进入研发流程前也可以利用众测用户或是外团用户来进行调研及摸底,对于用户信息再进行二次加工分析,让用户“决定”需求的正确性。此外,测试人员本身的用户思维角度也需要多多积累。
也许做为一名测试工程师,决定不了产品的战略方向或是布局,但是可以把控需求本身,包括需求对于用户的价值以及需求本身的质量,基于这两个维度,测试仍然可以在需求侧做很多“左移”的事情。
2、概要设计阶段
概要设计也是开发实现的一个思路,具体改动点,如何去实现,这块可以多和开发沟通,可以多去想想他们这种实现方案是否有问题,是否有更好的实现方式。
1)概要设计文档
提前熟悉概要设计文档,评审时提出建设性意见
和开发设计人员多沟通,协调开发整理出具体改动点
2)接口文档
接口文档评审,定义接口字段和字段类型的可用性
评估接口性能,异步/同步
提早介入接口测试(调用端接接口之前)
3、开发阶段
1)代码静态扫描
2)CodeReview
•开发阶段,要求开发及时提交代码,至少每天一次,查看代码变更可以明确本次需求涉及到的具体模块;
•裁剪测试用例,指定用例优先级
•对于编码习惯不好的开发,提交的代码要着重review,及时发现低级错误,相似错误着重检查。
**3)冒烟用例和测试用例开发联调前提供,供开发联调自测
4)开发联调时产品走查
4、自动化左移
1)接口自动化
对于原有接口新增字段或者改动,接口串联自动化持续集成测试
2)UI自动化
前期在需求、代码实现分析的时候,可以分析出该需求的功能自动化路径及场景,可以尝试先实现功能脚本的主路径,待正式提测后更新控件库,即可同步上线,并且可以接入到持续集成中,减少回归成本
三、测试左移对QA团队的好处
1、测试"核心"价值的体现
测试人员不仅仅是一个质量的把关员,他可以存在产品整个生命周期内,提供专业的解决方案让产品更好的实现商业价值。
2、编码能力的提升
测试人员不再是"点点点"的代言人,同样可以编写代码来实现产品的高效测试,如自动化,性能,安全测试等。
3、创新习惯养成
需求分析多了,对产品功能有了深度的认识,可以着手于创新项目如测试平台,工具,流程推广等高级测试技能的实现
四、测试左移的推进
1、上级领导、开发、产品团队的认可与支持
2、各角色中涉及到测试前置的工作,需要评估入工作量
3、PRD和代码在结构上均需要优化可测试性
4、技术层面上需要为测试前置提供有力的框架和工具支持
5、测试人员串联各个环节和监督、总结的角色,需要提供每个节点各个角色的工作数据