找回密码
 立即注册
陈雪莲_37 +好友
这个人很懒什么都没写
听众
8
主题
63
金钱
223
个人名片
  • 未填写地址
  • 这家伙很懒什么都没写
粉丝关注
还没有人关注TA
添加表情

day6 2019.3.27

已有 72 次阅读2019-3-30 14:59 | 判定表, 因果图

1.判定表定义:
分析和表达多逻辑条件下的执行不同操作的情况
结构:由4个部分组成
1)条件桩(condition stub):列出问题的所有条件(通常条件次序无关紧要)。
2)条件项(condition entry):列出针对它条件的取值(所有情况下的真假值)
3)动作桩(action stub):列出问题规定可采取的动作(顺序无约束)。
4)动作项(action entry):列出条件各种情况的应采取的动作。


创建步骤:
1)确定规则的个数:若有N个条件,每个条件下有2个值,则有2^n种规则。
2)列出所有条件桩与动作桩。
3)输入条件项。
4)输入动作项得到初始判定表。
5)简化(合并相似规则)。
6)编写测试
2.因果图
因果图案例:一个处理单价为5角钱的饮料的自动售货机。其规格说明如下:
若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

面试题:
你对因果图是怎么理解的?
我在公司一般不画因果图,但是对需求当中有因果需求的地方我会把
原因放入到判定表的条件桩当中,然后把结果放入到判定表的动作桩
中,从而把因果图转换为判断表以防止测试用例的漏写。


因果图提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其
中,原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。因果图方法最终生成的就是判定表。它适合于检查软件输入条件的各种组合情况因果图的基本符号

因果图的步骤:
1.把大的系统规格划分解成可以测试的规格片段
2.分析分解后待测的系统规格,找出哪些是原因,哪些是结果
3.画出因果图
4.把因果图转换成判定表
5.简化判定表
6.用判定表中的每一列生成测试用例


因果图中的约束在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”。对于输入条件的约束有E、I、O、R四种约束,对于输出条件的约束只有M约束。
E约束(异):a和b中最多有一个可能为1,即a和b不能同时 为1。
I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。
O约束(唯一):a和b必须有一个且仅有一个为1。
R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。
M约束(强制):若结果a为1,则结果b强制为0。

因果图中的4种基本关系在因果图的基本符号中,图中的左结点ci表示输入状态(或称原因),右结点ei表示输出状态(或称结果)。ci 与 ei 取值0或1,0表示某状态不出现,1则表示某状态出现。Ø恒等:若 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。


因果图的优点/缺点
优点:
1. 等价类法尽管各个输入条件可能出错的情况都考虑到了,但是多个输入条件组合起来出错的情况却被忽略了
2. 因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例
3. 因果图分析还能为我们指出,程序规格说明描述中存在什么问题

缺点:
1. 输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到
2. 即使得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目及其庞大

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册