- 1、本文档共93页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试与基础等价类划分-决策表
因果图法 因果图中用来表示4种因果关系的基本符号: c1 e1 恒等 c1 e1 非 ~ c1 e1 或 c2 c3 ∨ c1 e1 与 c2 ∧ 因果图法 因果图中的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。 因果图法 因果图中的约束 在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”。对于输入条件的约束有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。 因果图法 因果图中用来表示约束关系的约束符号: a b 异 E a b 或 I c a b 唯一 O R a b 要求 M a b 强制 因果图法 采用因果图法设计测试用例的步骤: ①分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件或是输入条件的等价类,而结果是输出条件。②分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的“因果图”。③标明约束条件。由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干标准的符号标明约束条件。④把因果图转换成判定表。⑤为判定表中每一列表示的情况设计测试用例。 因果图法 实例 用因果图法测试以下程序。 程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。 解题步骤: (1)分析程序的规格说明,列出原因和结果。 (2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。 (3)将因果图转换成判定表。 (4)根据(3)中的判定表,设计测试用例的输入数据和预期输出。 因果图法 (1)分析程序规格说明中的原因和结果: (2)画出因果图(编号为10的中间结点是导出结果的进一步原因): c1 c2 c3 e1 10 e2 e3 ~ ∨ E ~ ∧ 原因 结果 c1:第一个字符是# e1:给出信息N c2:第一个字符是* e2:修改文件 c3:第二个字符是一个数字 e3:给出信息M 因果图法 (3)将因果图转换成如下所示的判定表: 1 2 3 4 5 6 7 8 条件: C1 C2 C3 10 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 动作: e1 e2 e3 不可能 √ √ √ √ √ √ √ √ √ 测试用例 #3 #A *6 *B A1 GT 因果图法 (4)根据判定表中的每一列设计测试用例: 测试用例编号 输入数据 预期输出 1 #3 修改文件 2 #A 给出信息M 3 *6 修改文件 4 *B 给出信息M 5 A1 给出信息N 6 GT 给出信息N和信息M 因果图法 实例 例如:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。分析这一段说明,我们可以列出原因和结果。原因:①投入1元5角硬币;②投入2元硬币;③按“可乐”按钮;④按“雪碧”按钮;⑤按“红茶”按钮。中间状态:①已投币;②已按钮。结果:①退还5角硬币;②送出“可乐”饮料;③送出“雪碧”饮料;④送出“红茶”饮料。 因果图法 根据原因和结果,我们可以设计这样一个因果图: 因果图法 将因果图转换成如下所示的决策表 1 2 3 4 5 6 7 8 9 10 11 输 入 投入1元5角硬币 (1) 1 1 1 1 0 0 0 0 0 0 0 投入2元硬币 (2) 0 0 0 0 1 1 1 1 0 0 0 按“可乐”按钮 (3
文档评论(0)