zoukankan      html  css  js  c++  java
  • 因果图法在软件测试中的应用

    一、因果图法介绍

      从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。(百度百科)

      个人认为,因果图是通过分析因(输入)与果(输出),从而找出输入与输入、输入与输出、输出与输出之间的关系,画出便于观察的图示,来设计测试用例的方法。

    二、方法步骤(自己总结)

      1.分析输入输出,并进行分类,找出输入输出分别有几种。

      2.分析输入之间的关系。

      3.分析怎样的输入会导致各种结果。

      4.根据分析结果画出因果图

      5.根据因果图画出判定表、人为删去判定表中不可能发生的情况。。

      6.找出测试用例

    三、实例分析

      此处使用老师上课讲的例题

      产品说明书:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。

      1.分析输入输出

      输入:C1投入1.5元硬币

         C2投入2元硬币

         C3按下“可乐” 按钮

         C4按下“雪碧” 按钮

         C5按下“红茶” 按钮

      输出:EF1退还0.5元硬币

         EF2送出“可乐”

           EF3送出“雪碧”

         EF4送出“红茶”

      2.分析输入之间的关系

        1)C1与C2为异或关系

        2)C3、C4、C5因投入硬币最多为2元 所以分析为异或关系

        3)C1(C2)与C3(C4、C5)为且的关系

        4)EF2、EF3、EF4为异或关系

        5)EF1与EF2(3、4)没关系

      3.分析什么原因导致结果

        1)EF1:C2与C3(4、5)导致EF1

        2)EF2(3、4):C1(2)与C3(4、5)导致

      4.画出因果图

        

      5.根据因果图画出判定表、人为删去判定表中不可能发生的情况。

      

      6.设计用例 就行了

  • 相关阅读:
    nexus 手动更改 私服包
    maven 构建时 错误: 程序包netscape.javascript不存在
    RocketMQ
    NSQ
    beego 实现API自动化文档
    动态追踪技术漫谈
    go vendor管理Golang项目依赖
    consul介绍
    golang rpc介绍
    golang 使用os/exec配合context实现的超时机制
  • 原文地址:https://www.cnblogs.com/shuhaoz/p/4355974.html
Copyright © 2011-2022 走看看