场景法设计测试用例

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设用例场景用来描述流经用例的路径。

1.场景法的实施策略

  基本步骤:

    1)根据说明,描述出程序的基本流及各项备选流
    2)根据基本流和各项备选流生成不同的场景
    3)对每一个场景生成相应的测试用例
    4)对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值

场景法最终生成的测试用例来源于测试目标的用例。也就是说场景法是从测试用例生成测试用例。

场景法通过用例场景描述业务操作流程。它为每个用例场景编制测试用例。用例场景通过描述流经用例的路径来确定,这个流经过程从用例开始到结束遍历其中所有基本流(基本事件)和备选流(分支事件)。

如图:

基本流:直黑线表示,是经过用例的最简单路径。

备选流:自基本流开始,每个备选流在特定的条件下执行,备选流可能回重新加入到基本流中,或者终止用例。

确定用例场景

场景1 基本流      
场景2 基本流 备选流1    
场景3 基本流 备选流1 备选流2  
场景4 基本流 备选流3    
场景5 基本流 备选流3 备选流1  
场景6 基本流 备选流3 备选流1 备选流2
场景7 基本流 备选流4    
场景8 基本流 备选流3 备选流4  

注意:此设计中未描述备选流3只是的循环执行多次的情况,生成每个场景测试用例是通过某个特定的条件来完成的。

设计测试用例

对于场景中的每一个场景都需要确定测试用例,针对每个场景至少设计一个可以让该场景发生的测试用例。

可以采用矩阵或者判定表来确定和管理测试用例。每个测试用例包含:ID、条件(或说明)、数据元素、预期结果。

通过从确定执行用例场景所需的数据元素入手构建矩阵,矩阵中可用V(有效)用于表明这个条件必须是 VALID(有效的)才可执行基本流,而 I(无效)用于表明这种条件下将激活所需备选流。使用的“n/a”(不适用)表明这个条件不适用于测试用例。

一旦确定了所有的测试用例,则应对这些测试用例进行复审和验证以确保其准确且适度,并取消多余或者等效的测试用例。

测试用例已经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定数据。

2.实例

测试某IC卡加油机应用系统的插卡加油功能。

用例图:

事件流

基本流

A1 准备加油:客户讲IC加油卡插入加油机

A2 验证加油卡:加油机从加油开的磁条中读取账户代码,并检查它是否属于可以接受加油的卡

A3 验证黑名单:加油机验证账户是否存在黑名单中,如果属于黑名单,加油机吞卡

A4 输入购油量:客户需要输入购买的汽油数量

A5 加油:加油机完成加油操作

A6 返回加油卡:退还加油卡

备选流B:加油卡无效 在基本流A2过程中,该卡不能够识别或者非本机可以使用的IC卡,加油机退卡,并退出基本流
备选流C:卡账户属于黑名单 在基本流A3过程中,判断该卡账户属于黑名单。例如已挂失,加油机吞卡并退出基本流
备选流D:加油卡账目现金不足 系统判断加油卡内现金不足,重新加入基本流A4,或者选择退卡
备选流E:加油机油量不足 系统判断加油机内油量不足,重新加入基本流A4,或者选择退卡

设计测试用例

测试用例ID 场景 账号 是否黑名单卡 输入油量 账目金额 加油机量 预期结果
C01 场景1:成功加油 V I V V V 成功加油
C02 场景2:加油卡无效 I n/a n/a n/a V 加油机退卡
C03 场景3:吞卡 V V n/a V V 黑名单吞卡
C04 场景4:现金不足 V I V I V 提示重新输入或者选择退卡
C05 场景5:加油机油量不足 V I V V I 提示重新输入或者选择退卡

确定实际数据

假设每升油9RMB,黑名单:UC0002

测试用例ID 场景 账号 是否黑名单卡 输入油量 账目金额 加油机量 预期结果
C01 场景1:成功加油 UC0001 10 100 100 成功加油
C02 场景2:加油卡无效 UC0000 n/a n/a n/a
100 加油机退卡
C03 场景3:吞卡 UC0002 n/a 100 100 黑名单吞卡
C04 场景4:现金不足 UC0003 10 50 100 提示重新输入或者选择退卡
C05 场景5:加油机油量不足 UC0001 10 100 5 提示重新输入或者选择退卡

原文地址:https://www.cnblogs.com/lclq/p/5623329.html