• 场景法设计测试用例


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

    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 提示重新输入或者选择退卡

  • 相关阅读:
    [lua]原来这才是表驱动的正确表达方式
    [lua]再版jobSchedule与脚本描述范型
    (景德镇)麻将计分规则
    日志输出法则
    去掉谷歌浏览器获取焦点时默认的input、textarea的边框和背景
    使用@font-face 属性 实现在网页中嵌入任意字体
    【问题】/usr/bin/env: php: 没有那个文件或目录
    Centos下nginx支持https协议
    PHP下生成非重复的id
    PHP下的手机号码效验
  • 原文地址:https://www.cnblogs.com/lclq/p/5623329.html
Copyright © 2020-2023  润新知