定义
因果图法:
用来处理等价类划分和边界值考虑不到的情况,适用描述多种条件的组合,产生多个相应动作的测试方法;从程序规格说明书的描述中找出因果关系
因果图法,第一时间让我联想到的是,高中数学的排列组合。
关于这个联想,可能看完整篇文章后,你就有恍然大悟的感觉。
基本符号
在实例分析之前,有些基本的因果图符号需要说明。
首先是原因与原因之间的关系:




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


设计步骤
需要特别说明的是,因果图相当于特殊的场景法,是判定表的搭档。
对于思维逻辑缜密的测试人员,可以直接写出判定表。
但是,有时候不能直接通过原因得到结果,需要借助中间状态,随着原因、结果不断增多,唯有依赖因果图才能更好地梳理个中关系。
具体的操作步骤如下:
分析程序的规格说明书中,哪些是原因,哪些是结果
1、原因:指输入条件或输入条件的等价类
2、结果:指输出条件,给每一个原因和结果赋予一个标识符
3、分析程序规格说明书中的描述,确定原因与原因,原因与结果之间的关系,画出因果图;由于语法环境的限制,一些原因与原因之间,原因与结果之间的组合不能直接出现。对于此类情况,在因果图中用记号标明约束或限制条件
4、将因果图转化为判定表
5、根据判定表的每一列设计测试用例
实例分析
题目:对于提交的作业,作业成绩达到80分或者已经得到老师确认,则允许进行下一课时的学习。
1、确定需求中的原因与结果

2、确定因果图中的约束
首先,原因与原因之间,关于分数,A1 与 A2 是互斥关系(O);关于老师是否确认,A3 与 A4 是互斥关系(O)。
分数与老师是否确认之间可以独立存在,属于或关系(I)
其次关于原因与结果,各个原因可以直达结果,或者分数与老师是否确认进行两两组合,形成中间状态,再到达结果。
得到的因果与中间状态列表:

梳理关系得到因果图:

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

4、根据判定表来写测试用例了。
以上就是本篇文章所要分享的内容,了解更多。
欢迎加入我们!!!测试交流~~!群,。642830685,领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!



