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

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

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

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

定义

因果图法:

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

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

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

基本符号

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

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

添加图片注释,不超过 140 字(可选)

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

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

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

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

具体的操作步骤如下:

分析程序的规格说明书中,哪些是原因,哪些是结果

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

实例分析

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

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

2、确定因果图中的约束

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

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

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

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

梳理关系得到因果图:

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

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

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

Leo Never Stop Fighting!


以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请 点赞 + 评论 + 收藏 ,三连!

三连之后我会在评论区挨个私信发给你们~

相关推荐
郝学胜-神的一滴35 分钟前
深入理解QFlags:Qt中的位标志管理工具
开发语言·c++·qt·程序人生
郝学胜-神的一滴1 天前
基于C++的词法分析器:使用正则表达式的实现
开发语言·c++·程序人生·正则表达式·stl
程序员曦曦1 天前
10:00开始面试,10:06就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
天才测试猿1 天前
常见的Jmeter压测问题
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·压力测试
天才测试猿2 天前
接口自动化测试难点:数据库验证解决方案
自动化测试·软件测试·数据库·python·测试工具·职场和发展·接口测试
哈哈孝子3 天前
JMeter性能测试详细版(适合0基础小白学习--非常详细)
功能测试·jmeter
川石课堂软件测试3 天前
JMeter并发测试与多进程测试
功能测试·jmeter·docker·容器·kubernetes·单元测试·prometheus
郝学胜-神的一滴4 天前
C++中的`auto`与`std::any`:功能、区别与选择建议
开发语言·c++·程序人生·算法
CoCode8884 天前
破解测试数据困境:5招兼顾安全与真实性
软件测试·cocode自动生成测试用例·测试数据·测试场景真实性