凡事预则立,不预则废。
产品需求确认后,测试需求分析完成后。
明确测什么?如产品的业务需求,产品是web端还是移动端还是都有?
明确怎么测?对不同业务需求,具体有哪些测试类型、测试场景、测试方法等?
测试人员的安排,测试环境如何?测试工具的选择?
明确测试范围、方法和人员后,考虑什么时候测?测多久?以便和开发计划、上线计划衔接。
是测试完成和产品上线需要满足的条件,以便项目内所有角色都有一致认可的目标。
怎样算测完?怎样可以发布?
测试过程中可能存在的风险,以及当这些风险发生时的应对措施提前进行考虑和准备,并在测试计划中体现出来。
以云课堂为例
下图是云课堂的交互稿:
下图是云课堂功能测试需求的分析结果:
以以上为依据作测试计划:
1‘ 明确测试范围:明确需要测试哪些业务需求和功能模块
从云课堂的需求稿,测试目标是云课堂用户,用户可以学习免费课程,包含浏览课程、参加课程、学习课程三个功能模块。
从测试类型分类,
根据功能测试需求分析,功能测试覆盖浏览课程、参加课程、学习课程;
还要考虑做兼容性测试、性能测试。
2’ 测试策略:
从测试类型角度,
功能测试:根据功能测试需求分析的思维导图和功能测试用例,覆盖浏览课程、参加课程、课程学习三个功能模块;
兼容性测试:根据产品应用场景,考虑浏览器兼容性测试(如IE、Chrome等)、手机兼容性测试(IOS、安卓等,不同机型);
性能测试:根据产品架构、预估数据或线上数据作分析,如登录、参加课程这两个业务场景;
接口测试:
安全性测试:
... ...
根据不同的项目需求来分析判断的,确定所需测试类型后,按照功能测试、兼容性测试、性能测试等不同测试类型把它们各自测试场景和方法;
以引用文件的形式,或直接填写的形式写到测试计划中,以便让不同的测试人员都能清晰地知道要做哪些工作,以及怎么做。
3‘ 测试资源分配
测试资源主要包括测试人力资源、测试环境资源。
其中,测试人力资源包括测试人员数量、测试人员能力和经验;测试环境资源包括被测服务器环境(与线上服务器的差异)、测试人员的终端测试环境(如PC的配置、手机型号、网络环境等)、测试工具(如bug管理工具、测试用例管理工具、性能测试工具等)。
4’ 测试进度安排
测试工作的进度依赖于开发进度、提交测试时间、上线时间;
根据项目业务的复杂度、所需测试类型的复杂度、产品上线质量要求高低、测试人员的数量、能力和经验;
评估不同阶段不同类型的测试工作的工作量(如冒烟测试的工作量、回归测试的工作量、性能测试的工作量等),对测试人员的分工进行安排、明确职责(谁来负责功能测试、性能测试),最终预估测试工作开始和结束时间节点(如什么时候可以开始性能测试,什么时候完成第二轮回归测试等);
在整个测试过程中,测试团队需输出测试计划、功能测试用例、性能测试方案、bug数据、性能测试数据、测试报告等。
5’ 发布标准
测试目标:测试完成标准、产品发布标准
其中,测试完成是产品发布的前提,但产品上线前还有其他需要完成的工作;
测试完成标准包括完成所有测试类型、没有影响用户正常使用的bug、bug少于一定数量、服务端性能满足设计目标;
产品发布标准除了测试完成标准,还包括所有产品需求都已完成、交互视觉完成走查、遗留bug经过风险评估、使用说明文档完备;
6‘ 风险评估
计划不是一成不变,测试过程中测试本身也需要维护,避免问题发生后发生连锁反应,影响整个测试和整个项目工作;
测试风险包括测试范围风险(如测试遗漏、测试需求变更)、测试进度风险(如工作量预估不准确、耦合任务延迟、测试人员变动)、产品质量风险(如代码质量、测试人员能力等)。
假如没有测试计划,则无法预估测试工作量和所需测试人员,分工不明确,工作重复或遗漏,测试执行进度时空,应对需求变更困难,风险发生时没有应对措施,产品发布没有统一发布标准,上线意见不统一等... ...