一、测试用例设计
1.1 规范化测试流程
需求分析--测试需求--测试方案--测试用例--执行测试--测试报告
测试计划: 是指根据需求对测试整体指定方针,设计测试方案,测试人员等
测试用例: 是为特定目的而设计的一组测试输入、执行条件和预期结果,以便测试某个程序路径或核实是否满足特定需求。它是指导测试工作的依据。测试用例目的高效率地发现软件缺陷而精心设计的少量测试数据。
1.2 测试用例的编制要素
测试用例基本要素包括用例编号、测试模块、用例标题、用例级别、测试环境、测试输入、执行操作、预期结果(依据实际情况来定)。
| 用例编号 | 项目名称 | 用例标题 | 优先级 | 预置条件 | 输入参数 | 操作步骤 | 预期结果 |
|---|---|---|---|---|---|---|---|
| 126Email-SRS_REG_001 | 邮箱注册功能测试 | 邮箱地址输入6位有效差长,其它都正确 | 高 | 网络打开 | 邮箱地址与密码 | 1.输入以上参数;2点击注册 | 1.界面应当提示注册成功与数据库应当有一条数据 |
二、等价类
2.1 等价类的概念
等价类就是输入域的子集。我们假设一个input框用于输入值,那么只要可以被输入一切值构成的集合,这个集合就是等价类。
2.2 有效等价类和无效等价类
有效等价类即在等价类中(集合)根据软件规格说明对此划分,是指对于程序来说合理的、有意义的输入数据构成的集合,他能检验程序是否可以实现规格说明中所规定的需求及功能。
无效等价类是指对程序的规格说明是不合理的或无意义的输入数据集合,他能检验程序在不符合规格的数据输入下,是否会有异常,
无效等价类与有效等价类可能有一个也可能有多个,在设计测试用例时,要同时考虑这两种等价类。
2.3 等价类设计注意事项
- 根据有效和无效进行划分时,应划分为户不相交的一组子集,而这些子集的并集是整个集合(整个程序输入域)
- 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这个过程,直至所有的有效等价类均被测试用例所覆盖;
- 设计一个新的测试用例,使其仅覆盖一个无效等价类,重复这个过程,直至所有的无效等价类均备测试用例所覆盖;
- 设计用例时,一条用例不一定覆盖全部有效等价类,在一条用例中由无效等价类和有效等价类组合,其中无效等价类只能出现一次。这对开发是有价值的,可以具体定位到错误所在区间。
2.4 案例
某城市电话号码由三部分组成,分别是
地区码:空白或是3位数字
前缀:非‘0’且非‘1’开头的三位数字
后缀:4位数字
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码
三、判定表
因为等价类不能解决多输入之间产生不同的结果,输出之间存在逻辑关系,只适合对单一输入流进行校验控制,为此针对逻辑性功能引入判定表;
3.1 判定表定义
判定表也叫决策表,决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并可避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。
3.2 决策表的构成
决策表由4部分组成,条件桩、条件项、动作桩、动作项构成;
- 条件桩--列出问题的所有条件
- 条件项--针对条件桩给出的条件列出所有可能的取值
- 动作桩--列出问题规定可能采取的操作
- 动作项--之处在条件项目的各组取值情况下应采取的的动作
3.3 实例
打印机是否能打印出来正确的内容有多个因素影响,包括驱动程序、纸张、墨粉等。(为了简化问题,不考虑中途断电、卡纸等因素的影响)
假定:优先警告缺纸,然后警告没有墨粉,最后警告驱动程序不对。
列出条件桩和动作桩
条件桩: a)驱动程序是否正确 b)是否有纸张 c)是否有墨粉
动作桩: a) 打印内容 b)提示驱动程序不对 c)提示没有纸张 d)提示没有墨粉
在生成的一个实例中,判定表往往基于第一个条件成立后就决定了动作桩的结果,也就是其它条件不在考虑,那么这样的情况下,我们可以对我们的用例进行合并,如上图的蓝色部分以及黄色部分都是可以进行合并的。