这次我们说下第3大块的流程,那就是Test Procedure,这里面有5大任务:
(1) 确定产品的目的
(2) 确定产品功能
(3) 确定潜在不稳定的地方
(4) 测试每个功能且记录问题
(5) 设计和记录一个持续性的验证测试
产出 |
退出标准 |
目的陈述功能列表潜在的不稳定和有挑战性数据的列表产品错误和注意点
持续性验证测试 |
每个任务都完成了每个问题或疑惑都被测试经理解决了或接受了每个人员的产出都被测试经理接受了有足够的信息可证明这个产品在功能性和稳定性上通过验收 |
1.1 Identify the purpose of the product
评审这个产品并确定这个产品需要提供的基本服务,如果可以的话,定义这个产品的使用者。写一段话简单说明下这个产品的目的和目标用户。
一些在目的陈述中用到的潜在的目的动词
创建,编辑
查看,分析,报告
打印
解决,计算
管理,控制
通信,交互
提供数据,提供介入,搜索
支持,保护,维护
清除,解决,使其完善
读,过滤,转移,转变
一些在目的陈述中对用户的能力的讨论
特殊技能,知识,能力,或无能
解决问题的能力
期望或需要
限制 (谁不会是这个产品的使用者)
产出 |
退出标准 |
目的陈述问题/争论点 | 像上述那样完成任务这个”目的陈述”必须都是经过需求方的确认从这个产品的目的中选择对于用户来说的最重要的方面 |
常见的问题:
为啥这个任务很重要?
如果没有对这个产品的目的有所了解,就不能很好的区分主要的和贡献性的功能。由于测试的大部分精力用在主要的功能上,所以这些区别是非常关键的。而我们不需要长篇大论,只要这个目的陈述里包含足够的信息来让我们跟踪重要的可作为主要的功能就可以了。
该怎样来写这个目的陈述呢?
如果需求方提供了这个产品说明包含了用户的调研,那我们可以从这个开始先过一遍,写这个过程中,可以使用动词+名称的形式,比如’编辑简单文本文件’ 或 ‘一个用户无合法性的授权产生合法性的文档’。而且如果这个产品有些目的需要一些特殊的属性(相对于一般用户),一定要在目的陈述中写清楚。而这些目的动词可以从之前说过的目的动词库中取(也可以丰富动词库),这也可以帮助我们注意到一些容易忘记的一些产品目的。
怎样区别目的和功能呢?
目的是和用户的需求相关的。功能是和这个产品所提供或产生的一些具体的东西相关的。
有时候一个功能的目的和这个功能的名称是一样的,比如’打印’:打印就是这个打印功能的目的。大多数时候,一个功能都提供了一个可以确定的更通用的目标。比如:一个文字处理器的目的就不是查找和替代文本;其实查找和替代就是编辑文本的一部分而已。编辑才是真正的目的。另外一方面,如果一个产品具有’ 超级搜索和替代’,那搜索和替代功能就可以是这个产品的目的。
1.2 Identify functions
首先走遍整个产品并发现产品在做什么。
对于所有的主要的功能做一个概要。
记录一些有趣的或次要的贡献性的功能。
对于我们不知道怎么去分类的或者觉得自己不能测试的任何功能,把它告诉测试经理。
一些查找出功能的途径:
查看下在线帮助
查看下需求方的调查问卷
查看组成这个产品的所有程序
查看产品所有菜单
查看所有的窗口
查看工具栏
查看所有对话框和小工具
右击查看所有数据对象,接口定义,窗口方框
双击查看所有数据对象,接口定义,窗口方框
查看产品所有为功能状态转换的选项设置
查看只有特殊的输入才能触发的功能
查看浸透在其他功能中的错误处理和恢复功能
功能分类:
主要的功能
贡献性的功能
产出 |
退出标准 |
功能列表问题/争论点 | 像上述那样完成任务每个定义的主要的功能对于产品目的完成都是必须的已经合理的包含了贡献性的功能 |
常见的问题
1. 为啥这个任务重要呢?
对这些功能的罗列,我们可以对将要测试的功能做一个概要。当完成测试的时候,这个概要可以作为我们理解这个产品和测试范围的一个标记。这个功能概要对于测试经理或需求方来说都是一个很重要的记录,并且可以作为参考,防止他们(包括将来被其他的测试人员咨询)问我们做了什么,没有做什么。