测试基础 软件测试用例设计方法 - 因果图法

J.w-XIAO · 2020年06月20日 · 最后由 Ezrealzhang 回复于 2022年11月15日 · 3079 次阅读

边界值法是等价类划分法的补充,所以,它们是一对搭档。

那么,判定表法有没有它的搭档呢?

答案是,有的。那就是本篇文章分享的用例设计方法——因果图法

定义

因果图法

一种描述输入条件的组合及每种组合对应的输出的图形化工具

用来处理等价类划分和边界值考虑不到的情况,适用描述多种条件的组合,产生多个相应动作的测试方法;从程序规格说明书的描述中找出因果关系

因果图法,第一时间让我联想到的是,高中数学的排列组合。

关于这个联想,可能看完整篇文章后,你就有恍然大悟的感觉。

基本符号

在实例分析之前,有些基本的因果图符号需要说明。

首先是原因与原因之间的关系:




其次是原因与结果之间的关系:

设计步骤

需要特别说明的是,因果图相当于特殊的场景法,是判定表的搭档。

对于思维逻辑缜密的测试人员,可以直接写出判定表。

但是,有时候不能直接通过原因得到结果,需要借助中间状态,随着原因、结果不断增多,唯有依赖因果图才能更好地梳理个中关系。

具体的操作步骤如下:

  1. 分析程序的规格说明书中,哪些是原因,哪些是结果
    1. 原因:指输入条件或输入条件的等价类
    2. 结果:指输出条件,给每一个原因和结果赋予一个标识符
  2. 分析程序规格说明书中的描述,确定原因与原因,原因与结果之间的关系,画出因果图;由于语法环境的限制,一些原因与原因之间,原因与结果之间的组合不能直接出现。对于此类情况,在因果图中用记号标明约束或限制条件
  3. 将因果图转化为判定表
  4. 根据判定表的每一列设计测试用例

实例分析

题目:对于提交的作业,作业成绩达到 80 分或者已经得到老师确认,则允许进行下一课时的学习。

1、确定需求中的原因与结果

2、确定因果图中的约束

首先,原因与原因之间,关于分数,A1 与 A2 是互斥关系(O);关于老师是否确认,A3 与 A4 是互斥关系(O)。

分数与老师是否确认之间可以独立存在,属于或关系(I)

其次关于原因与结果,各个原因可以直达结果,或者分数与老师是否确认进行两两组合,形成中间状态,再到达结果。

得到的因果与中间状态列表:

梳理关系得到因果图:

3、讲因果图转化为判定表:

4、根据判定表来写测试用例了。

以上就是本篇文章所要分享的内容,欢迎各位大牛指正。你的指正,能让我在测试之路上快速成长。

Leo Never Stop Fighting!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 2 条回复 时间 点赞

为啥要中间结果,直接到结果不行嘛?感觉这个中间结果让人更加迷糊

大神,问下有软件画这种图吗,因果图转判定表有程序吗

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册