zoukankan      html  css  js  c++  java
  • 因果图法在软件测试中的应用(https://www.cnblogs.com/shuhaoz/p/4355974.html)

    一、因果图法介绍

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

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

    二。基本的因果图符号

      

    二、约束符号

      

      1.E(Exclusive or)约束(异)。

      2.I(In)约束(或):表示约束I为真时,a,b,c至少有一个应为1

      3.O(Only)约束(唯一):表示a,b中仅有一个必须为1

      4.R(Request)约束(要求):表示如果a为1,b也必须为1

      5.M 屏蔽,表示如果a为0,则b强制为0

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

      1. 将规格书分解为可执行的片段

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

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

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

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

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

      7.找出测试用例

    四、实例分析

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

      产品说明书:有一个处理单价为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.设计用例 就行了

  • 相关阅读:
    货币
    沙漏
    秋季学习总结
    三个老师
    介绍自己
    redis 的部分配置
    第二次博客作业
    第一次阅读作业
    shell_通配符
    shell_/dev/null,>和&
  • 原文地址:https://www.cnblogs.com/shiyongge/p/10461941.html
Copyright © 2011-2022 走看看