最近在听茹炳晟老师的《软件测试 52 讲》,其中“以终为始,如何才能做好测试计划?”一章讲了关于测试计划的制定,读完之后我感觉受益匪浅。
从事测试工作以来,我似乎一直在刻意忽略如何制定测试计划的问题,毕竟按照敏捷的思想,过多的文档编写是不建议的,在平时的工作中,测试计划又感觉是最无关紧要的。
听了茹炳晟老师的讲解之后,忽然发现我们一直在要求产品、开发同学要想清楚之后再干,而自身却并没有做到,并且测试计划不一定是要做的细致全面形成文档。简单的一个提纲,帮助我们在测试之前好好想想也会大有裨益。
尤其是作为一名测试 Leader,更应该重视测试计划的制定,帮助团队更加高效地完成工作。
测试范围
测试什么
- 识别测试需求
- 确认代码影响范围
- 确认功能交互范围
不测什么
- 划定测试边界
测试策略
明确测试重点
- 测试重点需要和版本目标相契合
测试优先级
- 核心功能
- 重要功能
- 一般功能
- 辅助功能
测试层次
- 单元测试
- 集成测试
- 系统测试
- 验收测试
- 回归测试
测试类型
- 功能性及易用性测试
- 兼容性及可移植性测试
- 可靠性测试
- 性能测试
- 安全性测试
- 合规性测试
测试方法
- 单元(白盒):代码检查法、代码静态分析、逻辑覆盖法(语句、判定、条件、判定/条件、条件组合、路径)
- 功能(黑盒/灰盒):等价类、边界值、因果图、决策表、场景法、正交分割
- 性能:基准测试、压力测试、负载测试、并发测试、疲劳测试、容量测试、配置测试
测试资源
人力资源(解决谁来测的问题)
应根据测试工程师的级别安排对应困难度的测试任务
软硬件环境(解决在哪测、用什么测的问题)
- 测试环境(需要哪些测试环境,是否有部署方案)
- 测试工具(需要使用哪些测试工具,是否需要提前申请)
测试进度
测试开始时间
- 依赖于开发提测时间
测试工作量
- 测试培训时间
- 测试用例设计和编写时间
- 自动化测试用例编写时间
- 单元测试时间(开发)
- 各类型测试执行时间
- 回归测试时间
预计完成时间
在计划时间上增加 20% 的 buffer 时间
测试风险预估
明确如何有效应对各种潜在的变化
- 需求变更(增加/删减/修改)
- 测试范围变更
- 测试架构修改
- 开发提测延期
- 测试人员变动