设计测试用例
一、场景设计法:
》现在的软件基本都是用事件触发来控制流程的
- 用户一系列的操作事件触发时的情景形成了场景
- 而同一事件不同的触发顺序和处理结果就形成了事件流
》设计方法
- 通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果。
- 场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。
- 基本流(直黑线表示):是经过用例的最简单的路径,软件功能按照正确的事件流实现的一条正确流程。
- 备选流(彩线表示):出现故障或缺陷的过程,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中;也可能起源于另一个备选流,或者终止用例而不再重新加入到某个流。
- 识别原则
1 一个业务只存在一个基本流
2 基本流只有一个起点,一个终点
3 基本流是主流程,备选流是分支流程(异常情况则是异常流)
4 备选流的终点,可以是一个流程的出口,也可以回到基本流,还可以汇入其他的备选流
5 备选流汇合时,谁汇合到谁,取决于该流程出现的可能性大小,小的汇入大的
6 如果在流程图中出现了两个不相上下的基本流,一般需要分成两个业务看待
场景法的设计步骤及应用场合
-
设计步骤
1 根据需求说明,描述出程序的基本流及各条备选流
2 根据基本流和备选流生成不同场景
3 对每个场景生产相应的测试用例
4 重新复审一遍所有测试用例,去掉部分多余的以及实际业务当中不太可能发生的,测试用例确定后,对每一个测试用例确定测试数据值 -
应用场合
基于场景的测试一般是在SIT/UAT阶段,在功能测试之后进行。测试场景是基于用户需求分析设计得出的,站在用户角度小数用户与系统的各种交互;所以功能测试关注的重点是系统功能特征(各种正常和异常分支),场景测试关注的是业务流程、业务场景或事务,关注的重点不同,分析设计的方法也有差异。
二、判定表法
- 在所有的黑盒测试方法中,基于判定表(也称决策表)的测试是最为严格、最具有逻辑性的测试方法。
- 判定表的概念:判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。
- 判定表的优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例合集。
- 在一些数据处理中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。
》判定表通常由以下四部分组成:
- 条件桩 —— 列出问题的所有条件,通常认为列出的条件次序无关紧要。
- 条件项 —— 针对条件桩给出的条件列出所有可能的取值,在所有可能情况下的真假值。
- 动作桩 —— 列出问题规定的可能采取的操作,这些操作的排序顺列没有约束。
- 动作项 —— 指出在条件项的各组取值情况下应采取的动作。
*将任何一个条件组合的特定取值及相应要执行的动作称为一条规则
构造判定表的5个步骤:
1 列出所有的条件桩和动作桩。
2 确定规则的个数。(有n个条件的判定表有2的n次方个规则)
3 填入条件项。
4 填入动作项,得到初始判定表。
5 简化判定表,合并相似规则。
- 若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。
- 合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。
》判定表测试法适用于具有以下特征的应用程序:
- if-then-else逻辑突出;输入变量之间存在逻辑关系;设计输入变量子集的计算;输入与输出之间存在因果关系。
》适用于使用判定表设计测试用例的条件:
- 规格说明以判定表给出,或较容易转换为判定表。
- 条件的排列顺序不会也不应影响执行的操作。
- 规则的排列顺序不会也不应影响执行的操作。
- 当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
- 如果某一规则的条件要执行多个操作,这些操作的执行顺序无关紧要。
三、错误猜测法:
- 错误猜测:是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。
需要测试人员具备的技术:
- 有关被测系统的知识,如设计方法或实现技术
- 有关的早期测试阶段的结果的知识
- 测试类似或相关系统的经验
- 典型错误的知识
- 通用的测试经验规则