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

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

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

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

定义

因果图法:

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

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

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

基本符号

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

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

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

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

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

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

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

具体的操作步骤如下:

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

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

实例分析

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

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

2、确定因果图中的约束

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

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

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

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

梳理关系得到因果图:

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

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

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

Leo Never Stop Fighting!


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

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

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

相关推荐
郝学胜-神的一滴2 小时前
避免使用非const全局变量:C++中的最佳实践 (C++ Core Guidelines)
开发语言·c++·程序人生
北岛三生14 小时前
ISP(图像信号处理器)
图像处理·数码相机·测试工具·计算机视觉·测试用例·模块测试
晓衣21 小时前
2025“獬豸杯”全国电子数据取证竞赛-k8s服务器取证wp
服务器·经验分享·程序人生·网络安全·容器·kubernetes·学习方法
JosieBook1 天前
【程序人生】有梦想就能了不起,就怕你没梦想
程序人生·职场和发展
c萱3 天前
软件测试错题笔记
软件测试·数据库·笔记·测试工具·oracle·测试用例
川石教育3 天前
软件测试中的Bug知识总结
软件测试·bug·压力测试·缺陷管理·bug分类
workflower4 天前
python代码Bug排查
测试用例·软件工程·需求分析·敏捷流程·结对编程
know__ledge4 天前
Python学习3.0使用Unittest框架运行测试用例
python·学习·测试用例
川石课堂软件测试4 天前
Oracle 数据库如何查询列
linux·数据库·sql·功能测试·oracle·grafana·prometheus
川石课堂软件测试4 天前
Oracle 数据库使用事务确保数据的安全
数据库·python·功能测试·docker·oracle·单元测试·prometheus