因果图产生的原因
在一个功能或一个界面中,往往会有多个控件,这些控件一般会有一定的制约关系或组合关系,并且功能模块的输出会依赖于输入的条件。
如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。
因果图的原理
一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。。 定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
因果图基本符号
左结点ci表示输入状态(或称原因),右结点ei表示输出状态(或称结果)。ci 与 ei 取值0或1,0表示某状态不出现,1则表示某状态出现。
因果图4种关系
恒等:若 c1 是1,则 e1 也为1,否则 e1 为0。
非:若 c1 是1,则 e1 为0,否则e1为1。
或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。
与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。
因果图中的约束
在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”或“制约”。对于输入条件的约束有E、I、O、R四种约束,对于输出条件的约束只有M约束。
E约束(异):a和b中最多只有一个为1,即a和b不能同时 为1。(如3个a、b、c则a、b、c最多只有一个1,或全0)
I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。
O约束(唯一):a和b必须有一个且仅有一个为1。
R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。
M约束(强制):若结果a为0,则结果b强制为0。
因果图约束符号
因果图测试流程
1.根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。
2.将得到的因果图转换为判定表。
3.为判定表中每一列所表示的情况设计一个测试用例。
因果图测试案例
公交一卡通自动充值系统,其需求描述如下:
系统只接收50或100纸币,一次充值只能使用一张纸币,一次充值金额只能为50或100。
若输入50纸币,并选择充值50,完成充值后退卡,提示充值成功。
若输入50纸币,并选择充值100,提示输入金额不足,并退回50。
若输入100纸币,并选择充值50,完成充值后退卡,提示充值成功,找零50。
若输入100纸币,并选择充值100,完成充值后退卡,提示充值成功。
若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误。
若选择充值按钮后不输入纸币,提示错误。
(1)条件之间的制约及组合关系
根据上述描述,
输入条件(原因)为:
① 投币50 ② 投币100 ③ 选择充值50 ④ 选择充值100
输出(结果)有:
(a)完成充值、退卡 (b)提示充值成功 (c)找零 (d)提示错误
(2)明确所有条件之间的制约关系以及组合关系 条件之间的制约关系以及组合关系如图所示。
(3)画出因果图
为了描述得更清楚,这里把每种情况单独画一个因果图出来。
条件①和条件③可以组合,输出a和b的组合,也就是投币50,充值50,会输出完成充值、退卡,提示充值成功的结果。其因果图如图所示。
条件①和条件④可以组合,输出c和d的组合,也就是投币50,充值100,会输出找零、提示错误的结果。其因果图如图所示。
条件②和条件③可以组合,输出a、b、c的组合,也就是投币100,充值50,会输出找零、完成充值、提示充值成功的结果。其因果图如图所示。
条件②和条件④可以组合,输出a和b的组合,也就是投币100,充值100,会输出完成充值、退卡,提示充值成功的结果。其因果图如图所示。
条件①、②、③、④均可以单独出现,其因果图如图所示。
(4)根据因果图,写出判定表 根据上面的因果图,写出对应的判定表。
5)根据判定表,写出测试用例
根据上面的判定图,写出对应的测试用例
编号 |
用例说明 |
预期结果 |
1 |
投币50 选择充值50 |
正确充值50,提示充值成功后退卡 |
2 |
投币50 选择充值100 |
系统提示错误并退回50 |
3 |
投币100 选择充值50 |
正确充值50,提示充值成功后退卡,并找回50 |
4 |
投币100 选择充值100 |
正确充值100,提示充值成功后退卡 |
5 |
投币50 |
系统提示错误并退回50 |
6 |
投币100 |
系统提示错误并退回100 |
7 |
选择充值50 |
系统提示错误 |
8 |
选择充值100 |
系统提示错误 |
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/163098.html