3.3.1 估算验收测试时间
在软件开发初期,需要估算时间以制定计划。这一点在敏捷开发中应用更加广泛。如果以前的开发模式需要测试人员估算一个软件版本发行的计划(这样的计划通常会延续几个月),那么现在则要在每个 Sprint 机会会议上估算两周到一个月的任务。此外,在每天的站立会议上,测试人员需要不断得更新自己的估算时间,以应对变化的需求。所以,每个测试人员都应该具备一定的估算任务能力。下面我们将介绍两个通用的估算测试计划的方法:
1. 快速而粗糙的方法
从经验而言,测试通常占项目开发的三分之一时间。如果一个项目开发估计要 30 天 1 人,那么测试时间为 10 天 1 人。
项目实例:
搜索框的开发估计需要 78 天 1 人完成。但是,考虑到系统有模糊搜索的功能,所以测试任务可能会占 40%左右,大概 31 天 1 人。下面列出了具体的任务:
任务 | 估计时间 |
---|---|
设计测试用例,准备测试数据(搜索数据集) | 8 |
加载数据集 | 2 |
编写自动测试代码 | 18 |
执行测试和汇报结果 | 3 |
总结 | 31 |
2. 细致而周全的方法
这个方法从测试任务的基本步骤出发,进行详细分类。其中包括 :
a. 测试的准备(设计测试用例、准备测试数据、编写自动测试代码并完善代码)
b. 测试的运行(建立环境、执行测试、分析和汇报结果)
c. 特殊的考虑
项目实例:
估算单个测试任务的事例参见下表:
测试 | 准备 | 运行 | 特殊考虑 | 估算 | ||
---|---|---|---|---|---|---|
1 | 设计测试用例 | 0.5 | 建立环境 | 0.1 | ||
准备测试数据 | 0.5 | 执行测试 | 0.1 | |||
编写自动测试代码 | 0.5 | 分析结果 | 0.1 | |||
完善自动测试代码 | 2.5 | 汇报结果 | 0.1 | |||
总共 | 4 | 0.4 | 0 | 4.4 |
估算多个测试任务的汇总参见下表:
测试任务编号 | 准备 | 运行 | 特殊考虑 | 估算 |
---|---|---|---|---|
1 | 4 | 0.4 | 0 | 4.4 |
2 | 4 | 0.4 | 0 | 4.4 |
3 | 12 | 4.5 | 8.5 | 25 |
4 | 4 | 0.4 | 0 | 4.4 |
5 | 4 | 0.4 | 0 | 4.4 |
6 | 4 | 0.4 | 0 | 4.4 |
7 | 4 | 0.4 | 0 | 4.4 |
总共 | 51.4 |
3.3.2 估算测试框架的搭建
测试框架是自动测试必不可少的一部分工作。由于敏捷开发流程倡导快速而高效得完成任务,这就要求一定的自动测试率。一个完善的测试框架可以大大提高测试效率,及时反馈产品的质量。
在敏捷开发流程中,在第一个 Sprint 周期里,需要增加一项建立测试框架的任务。在随后的迭代过程中,只有当测试框架需要大幅度调整时,测试团队才需要考虑将其单独作为任务,否则可以不用作为主要任务罗列出来。
项目实例:
考虑该项目刚刚进入测试,需要为此建立一个测试框架。于是,在原先的估算中多增加一些任务。
任务 | 估算(小时) |
---|---|
选择测试工具 | 3 |
建立测试系统 | 3 |
编写下载、存放和恢复测试数据的脚本 | 2 |
寻找或建立测试结果汇报工具 | 8 |
设计具体的搜索测试用例 | 4 |
准备搜索测试数据 | 4 |
编写和测试“搜索”模块 | 3 |
编写和测试“验证返回列表”的模块 | 1 |
学习“在结果中搜索”的模块设计 | 4 |
编写和测试“在结果中搜索”模块 | 4 |
第一次执行测试 | 4 |
分析第一轮测试结果 | 4 |
第二次执行测试 | 4 |
分析第二轮测试结果 | 4 |
总共 | 52 |