自今年5月份独立负责某个业务方向的测试工作以来,结合自己的实践经验,总结出一套相对较具体的测试流程及规范体系,即在每个阶段,QA应该要做的事情及相关方法,具体如下
细节决定成败
1.需求分析阶段
1.1明确需求,确保清楚交互细节;如果是较大长期项目,需要明确每期的需求计划
1.2应用质量模型,开始考虑测试方案---功能性、可靠性、易用性、效率、可维护性、可移植性等
1.3如果是倒推的项目,需要了解各个关键时间点(上线时间点、开发提测时间点等)
需求评审完,可能还会有较大幅度的修改,如果有较多需求不同步,可以要求进行二次需求评审;
2.设计评审阶段
参加设计评审之前,根据需求交互文档,大体了解其实现方案,以便评审中能深入到细节check;
要带着一种check的态度进行评审,避免只是听的角色!
2.1确定本次需求涉及的业务部门
2.2明确系统架构图——依赖的模块及调用关系
2.3明确交互流程----针对具体功能场景,了解并check实现细节
2.4明确此次的改动及影响面----除了需求的实现,是否会有其他改动,比如代码优化
2.5上线步骤及回滚方案的确定
评审完2日,进行工作量评估及具体排期安排
3.测试准备阶段-开发阶段
3.1测试人员的安排
根据项目排期及人员现有能力,提前安排相关人力资源,以防时间及项目冲突
3.2测试环境的准备
对于新增加的模块测试需要提前申请测试所需资源(机器,域名,数据库等),建立好测试环境部署任务。
3.3测试用例的准备
根据需求文档及相关设计评审结果,编写测试用例(此阶段主要是依据需求文档,进行黑盒测试用例的设计)
3.4梳理线上监控所需的日志添加及质量指标
质量指标主要是经过对需求的分析,用来反应上线后产品的功能是否正常的指标
3.5测试数据的准备
3.6 jira空间的建立
针对超过一天测试时间的项目,都要有独立的jira空间记录bug情况,方便沟通及统计
3.7技术储备
如果是涉及到新的技术或者知识,需要提前补充,只有熟悉了解的基础上,才能进行较好地测试
3.8用例评审会议室准备
4.用例评审
此环节的目的在与各角色缺确认需求,及case评审
4.1提前一天进行所有参与人员的时间提醒
4.2待确认的事项,要有时间点及负责人(方便跟踪、各角色同步和统一)
4.3showcase会议室的准备
5.提测阶段
提测前:
5.1.提测一天前,QA必须提供一份冒烟case,以便RD进行自测;
5.2.提前一天进行所有参与人员的时间提醒
showcase中:
5.3功能bug定位时间不能超过2-3分钟,否则由前后端的RD线下确认
5.4需求有歧义的,不能超过2-3分钟,否则对应PM来线下确认
5.5所有问题进行会上记录—— 到qa环节的时间点和每个角色对应的跟进人
结束后:
5.6整理会上记录,并发送到群里 @对应的人
5.7根据记录时间点,进行问题跟踪
6.测试执行阶段
6.1根据前面定的排期,给出一份测试计划,比如完成一轮功能测试、兼容性测试和异常情况测试的时间点
6.2及时check是否有风险,并及时上报
6.3针对每个功能场景,需要熟悉到其业务实现逻辑,这样会考虑到更多地影响因素,补充测试用例
UI层与接口之间的交互逻辑:针对一个功能点,UI层负责实现什么,接口的定位是什么
接口内部的逻辑:接口内部的代码逻辑是啥样的,是否依赖了外部接口
6.4上线计划进行check(上线顺序跟RD确认\针对已有功能是否做了兼容)
7.项目验收阶段
7.1UI验收
全功能提测后,UI人员即开始做UI校对,及早进行UI改动调整;
7.2产品验收
7.2.1 大功能模块无缺失验收:QA完成第一轮测试->bug修复->PM第一轮功能验收与QA第二轮测试同时进行
7.2.2 功能细节交互验收:QA完成分支测试->PM第二轮功能交互验收->QA全功能回归测试
8.上线过程
8.1check配置、DB,线上域名、静态资源模块、脏数据清理、服务依赖方是否已经就绪
8.2commit号check:回归的commit与上线的commit
8.3回滚方案是否准备好
9.线上阶段
9.1QA验证
上线后,QA必须验证本次迭代功能点和主流程测试用例
9.2线上监控
针对前面梳理的质量指标和关键日志,对线上用户的使用情况进行分跟踪分析,确定线上质量
除了最基本的要求(无延期、无大问题)之外,项目过程还需要思考几个问题:
需求阶段
(1)能否解决用户的痛点或者问题(按照产品设计执行的流程要清楚)
(2)针对此痛点,是否有成本更小的方案
(3)质量验收标准是啥(即 怎样才算是保证了质量)
设计方案
(1)是否已经满足需求
(2) 后续此类业务需求的扩展或者迭代,开发成本是什么(扩展性更好);测试成本是什么,怎么缩减测试成本(是否可以沉淀工具)
(3)此种设计方案是否有潜在问题(第三方应用-数据库、kafka、redis;;幂等性;;一致性)
(4)改动影响的范围有哪些
测试过程+复盘阶段
(1)测试时间如果压缩0.5天,哪些流程可以优化来提效
(2)为什么没有按照预期进行;下次怎样才能不出此问题
(3)针对线上问题,复盘,列出预防todo