• 因果图法


    基本概念

    因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

    设计测试用例的步骤

    1. 分析软件规格说明描述中, 哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。
    2. 分析软件规格说明描述中的语义,找出原因与结果之间, 原因与原因之间对应的关系,根据这些关系,画出因果图。
    3. 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。
    4. 把因果图转换为判定表。
    5. 把判定表的每一列拿出来作为依据,设计测试用例。

    需要掌握的知识

    原因和结果之间的关系
    (NOT、AND、OR、 NAND、NOR、恒等)
    恒等:如果原因为真,那么结果必定为真。
    例如:动物园运来大熊猫,动物 园一定有大熊猫

    与:只有2个原因都为真,那么结果为真
    例如:北京姑娘,必须有车且有房

    或:2个原因中有一个为真时, 结果就为真。
    例如:长沙姑娘,你有车或者有房

    非:只有原因为假,结果才为真。
    例如:你不好好学习,找到好工作

    原因和原因的关系
    各个原因之间不能同时为真,但可以同时为假
    (例如:小明不是11班学生,也不 是12班学生)

    实例1

    有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。
    原因:① 投入1元5角硬币; ② 投入2元硬币;③ 按“可乐”按钮; ④ 按“雪碧”按钮; ⑤ 按“红茶”按钮。
    中间状态:① 已投币; ② 已按钮。
    结果:① 退还5角硬币; ② 送出“可乐”饮料③ 送出“雪碧”饮料; ④ 送出“红茶”饮料。

    实例2

    有一个处理单价为 5 角钱的饮料自动售货机, 软件测试用例的设计规格说明如下: 若投入 5角钱或 1 元钱的硬币,押下 〖橙汁〗或〖啤酒〗的按钮,则相应的饮料 就送出来;若售货机没有零钱找,则一个显示 〖零钱找完〗的红灯亮,这时在投入 1 元硬 币并押下按钮后,饮料不送出来而且 1 元硬 币也退出来;若有零钱找,则显示〖零钱找 完〗的红灯灭,在送出饮料的同时退还 5 角 硬币。 ”

    分析:
    条件的组合,适用因果图

    • 条件桩
    • 投入5角 c1
    • 投入1元 c2
    • 按下橙汁c3
    • 按下啤酒c4
    • 有零钱找c5
    • 无零钱找c6
    • 动作桩
    • [零钱找完]的红灯灭,退还5角钱,送出橙汁 e1
    • [零钱找完]的红灯灭,退还5角钱,送出啤酒 e2
    • [零钱找完]的红灯灭,送出橙汁 e3
    • [零钱找完]的红灯灭,送出啤酒 e4
    • [零钱找完]的红灯亮,退出1元钱,饮料不送出来 e5

    小结

    • 步骤
      1. 分析输入输出条件(确定因果关系)
      2. 画因果图
      3. 出判定表(分析、简化)
      4. 得出测试用例
    • 核心要点
      • 条件和规则
    • 适用范围
      • 适用于多种条件的组合
    • 局限性
      • 软件规模
      • 条件的顺序问题
  • 相关阅读:
    那些值得收藏的神奇的网站,使用RSS阅读器订阅喜欢的网站 --授人以鱼不如授人以渔
    截图与屏幕录像利器:FastStone Capture
    Java基础数据类型
    刚刚开通了博客园,欢迎来踩
    ETL 各种小问题笔记
    SpringBoot 项目打包部署Resin遇到的问题
    跟据html页面生成图片方便打印分享
    微信将用户信息转为一张图片(将html转为图片)
    Js处理本地视频和第三方视频播放的问题
    反射+特性实现 类和XML文档的序列化反序列化
  • 原文地址:https://www.cnblogs.com/TD1900/p/12190644.html
Copyright © 2020-2023  润新知