黑盒测试-因果图、判定表
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑盒测试方法之因果图、判定表
Robert
Strictly Private and Confidential
因果图
因果图方法( ):一种黑盒测试方法 因果图方法(Cause-Effect graphics):一种黑盒测试方法。考虑输入条件之间的联系, ):一种黑盒测试方法。考虑输入条件之间的联系, 各种组合,相应产生多个动作来设计测试用例。 各种组合,相应产生多个动作来设计测试用例。 方法的依据: 方法的依据: 需求规格说明中的因果关系。 需求规格说明中的因果关系。
结果: 结果:
21----出现地址; 出现地址; 出现地址 22----不出现地址; 不出现地址; 不出现地址 23----给出错误信息; 给出错误信息; 给出错误信息
例子
因果图和具有约束的因果图: 因果图和具有约束的因果图:
1 1 ∨ 2 22 3 4 因果图实例 具有E约束的因果图 具有 约束的因果图 23 21 G 2 22 3 4 23 ∨ 21
判定表的建立步骤:(根据软件规格说明)
确定规则的个数.假如有 个条件.每个条件有两个取值 假如有n个条件 每个条件有两个取值( ) 故有 种规则. ① 确定规则的个数 假如有 个条件 每个条件有两个取值(0,1),故有 2n种规则 列出所有的条件桩和动作桩. ② 列出所有的条件桩和动作桩 ③ 填入条件项. 填入条件项 填入动作项.等到初始判定表 等到初始判定表. ④ 填入动作项 等到初始判定表 简化.合并相似规则 相同动作) 合并相似规则( ⑤ 简化 合并相似规则(相同动作).
判定表驱动测试
是分析和表达多逻辑条件下执行不同操作的情况下的工具,通常作为程序开发的辅助工具 是分析和表达多逻辑条件下执行不同操作的情况下的工具,通常作为程序开发的辅助工具. 规格说明以判定表形式给出,或很容易转换成判定表 规格说明以判定表形式给出 或很容易转换成判定表 .
判定表的组成
条 Condition stub Action stub Condition Entity Action Entity 动 作 桩 件 桩
条件的约束
输入条件的约束
a R b R约束(要求): 是1时,b必须是 1, 约束(要求):a是 时 约束 ): 必须是 , 即不可能a是 时 是 。 即不可能 是1时b是0。
输出条件的约束 a M b M约束(强制):若a是1时,则结果 强制为 。 约束(强制):若 是 时 则结果b强制为 强制为0。 约束 ):
例子
一张关于科技书阅读指南的判定驱动表: 一张关于科技书阅读指南的判定驱动表: 3个问题 种情况 个问题8种情况 个问题
1 问 题 书 建 议 读 一 阅读 读 读 Y Y Y X
2 Y Y N X
3 Y N Y
4 Y N N
5 N Y Y X
6 N Y N X
7 N N Y
8 N N N
ห้องสมุดไป่ตู้
X X X
4 0 0 1 1
5 0 1 0 0 1 0 0
6 0 1 0 1
7 0 1 1 0
8 0 1 1 1
9 1 0 0 0 1 0 0
10 11 1 1 0 0 0 1 1 0
12 13 14 15 16 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1
因果图法优缺点
优点 1、因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例. 、因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例 2、因果图分析还能为我们指出,软件规格说明描述中存在的问题 、因果图分析还能为我们指出,软件规格说明描述中存在的问题. 缺点 1、输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到. 、输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到 2、即时得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目及其庞大 、即时得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目及其庞大.
I. 优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。 优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。 II. 缺点:不能表达重复执行的动作,例如循环结构。 缺点:不能表达重复执行的动作,例如循环结构。
因果图和判定表的选择
条件和动作关系不明确---先使用因果图 条件和动作关系不明确 先使用因果图. 先使用因果图 条件和动作关系明确或需求是以判定表形式给出---判定表 条件和动作关系明确或需求是以判定表形式给出 判定表. 判定表
地图查找项中, 在OVI地图查找项中,输入完全地址和模糊地址能查找出地址;输入错误或不输入地址则提示错误信息 地图查找项中 输入完全地址和模糊地址能查找出地址; 或不显示。 或不显示。
例子
原因和结果: 原因和结果:
原 因:
1----输入精确地址; 输入精确地址; 输入精确地址 2----输入模糊地址; 输入模糊地址; 输入模糊地址 3----输入非正常地址; 输入非正常地址; 输入非正常地址 4----不输入地址; 不输入地址; 不输入地址
考虑到原因之间必须有一个且仅有一个为1,因此在因果图上施加 约束 考虑到原因之间必须有一个且仅有一个为 ,因此在因果图上施加G约束
例子
根据因果图建立如下的判定表: 根据因果图建立如下的判定表:
1 条 2 件 3 4 21 动 作 22 23
1 0 0 0 0
2 0 0 0 1 0 1 0
3 0 0 1 0 0 0 1
X
规则化简
化简 就是规则和并 有两条和多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。 有两条和多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。
Y Y N N Y N X X
Y N -X
Y Y -- N N N X X
Y -N X
两条规则和并成一条
两条规则进一步和并
判定表优缺点
因果图创建测试用例步骤
① ② ③ ④
分析需求中原因和结果。 分析需求中原因和结果。 将需求中的原因和结果连接成因果图。 将需求中的原因和结果连接成因果图。 把因果图转换成判定表。 把因果图转换成判定表。 把判定表中每一列表示的情况写成测试用例。 把判定表中每一列表示的情况写成测试用例。
例子
软件规格说明书: 软件规格说明书
因果图介绍
恒等
c1
e1
非
c1 c1
e1
或
c2 c3 c1
V
e1
与 c2
∧
e1
条件的约束
输入条件约束
a E b a F(I) () b c a G(O) b G约束(唯一): ,b中必须有一个且仅有一个为 1。 约束(唯一):a, 中必须有一个且仅有一个为 。 约束 ): F约束(或、包含): ,b和c中至少有一个必须为 1, 约束( 约束 包含):a, 和 中至少有一个必须为 , ): 即a,b和c不能同时为 。 , 和 不能同时为0。 不能同时为 E约束(异、排他): ,b中至多有一个可能为 1, 约束( 约束 排他):a, 中至多有一个可能为 , ): 不能同时为1。 即a和b不能同时为 。 和 不能同时为
Robert
Strictly Private and Confidential
因果图
因果图方法( ):一种黑盒测试方法 因果图方法(Cause-Effect graphics):一种黑盒测试方法。考虑输入条件之间的联系, ):一种黑盒测试方法。考虑输入条件之间的联系, 各种组合,相应产生多个动作来设计测试用例。 各种组合,相应产生多个动作来设计测试用例。 方法的依据: 方法的依据: 需求规格说明中的因果关系。 需求规格说明中的因果关系。
结果: 结果:
21----出现地址; 出现地址; 出现地址 22----不出现地址; 不出现地址; 不出现地址 23----给出错误信息; 给出错误信息; 给出错误信息
例子
因果图和具有约束的因果图: 因果图和具有约束的因果图:
1 1 ∨ 2 22 3 4 因果图实例 具有E约束的因果图 具有 约束的因果图 23 21 G 2 22 3 4 23 ∨ 21
判定表的建立步骤:(根据软件规格说明)
确定规则的个数.假如有 个条件.每个条件有两个取值 假如有n个条件 每个条件有两个取值( ) 故有 种规则. ① 确定规则的个数 假如有 个条件 每个条件有两个取值(0,1),故有 2n种规则 列出所有的条件桩和动作桩. ② 列出所有的条件桩和动作桩 ③ 填入条件项. 填入条件项 填入动作项.等到初始判定表 等到初始判定表. ④ 填入动作项 等到初始判定表 简化.合并相似规则 相同动作) 合并相似规则( ⑤ 简化 合并相似规则(相同动作).
判定表驱动测试
是分析和表达多逻辑条件下执行不同操作的情况下的工具,通常作为程序开发的辅助工具 是分析和表达多逻辑条件下执行不同操作的情况下的工具,通常作为程序开发的辅助工具. 规格说明以判定表形式给出,或很容易转换成判定表 规格说明以判定表形式给出 或很容易转换成判定表 .
判定表的组成
条 Condition stub Action stub Condition Entity Action Entity 动 作 桩 件 桩
条件的约束
输入条件的约束
a R b R约束(要求): 是1时,b必须是 1, 约束(要求):a是 时 约束 ): 必须是 , 即不可能a是 时 是 。 即不可能 是1时b是0。
输出条件的约束 a M b M约束(强制):若a是1时,则结果 强制为 。 约束(强制):若 是 时 则结果b强制为 强制为0。 约束 ):
例子
一张关于科技书阅读指南的判定驱动表: 一张关于科技书阅读指南的判定驱动表: 3个问题 种情况 个问题8种情况 个问题
1 问 题 书 建 议 读 一 阅读 读 读 Y Y Y X
2 Y Y N X
3 Y N Y
4 Y N N
5 N Y Y X
6 N Y N X
7 N N Y
8 N N N
ห้องสมุดไป่ตู้
X X X
4 0 0 1 1
5 0 1 0 0 1 0 0
6 0 1 0 1
7 0 1 1 0
8 0 1 1 1
9 1 0 0 0 1 0 0
10 11 1 1 0 0 0 1 1 0
12 13 14 15 16 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1
因果图法优缺点
优点 1、因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例. 、因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例 2、因果图分析还能为我们指出,软件规格说明描述中存在的问题 、因果图分析还能为我们指出,软件规格说明描述中存在的问题. 缺点 1、输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到. 、输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到 2、即时得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目及其庞大 、即时得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目及其庞大.
I. 优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。 优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。 II. 缺点:不能表达重复执行的动作,例如循环结构。 缺点:不能表达重复执行的动作,例如循环结构。
因果图和判定表的选择
条件和动作关系不明确---先使用因果图 条件和动作关系不明确 先使用因果图. 先使用因果图 条件和动作关系明确或需求是以判定表形式给出---判定表 条件和动作关系明确或需求是以判定表形式给出 判定表. 判定表
地图查找项中, 在OVI地图查找项中,输入完全地址和模糊地址能查找出地址;输入错误或不输入地址则提示错误信息 地图查找项中 输入完全地址和模糊地址能查找出地址; 或不显示。 或不显示。
例子
原因和结果: 原因和结果:
原 因:
1----输入精确地址; 输入精确地址; 输入精确地址 2----输入模糊地址; 输入模糊地址; 输入模糊地址 3----输入非正常地址; 输入非正常地址; 输入非正常地址 4----不输入地址; 不输入地址; 不输入地址
考虑到原因之间必须有一个且仅有一个为1,因此在因果图上施加 约束 考虑到原因之间必须有一个且仅有一个为 ,因此在因果图上施加G约束
例子
根据因果图建立如下的判定表: 根据因果图建立如下的判定表:
1 条 2 件 3 4 21 动 作 22 23
1 0 0 0 0
2 0 0 0 1 0 1 0
3 0 0 1 0 0 0 1
X
规则化简
化简 就是规则和并 有两条和多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。 有两条和多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。
Y Y N N Y N X X
Y N -X
Y Y -- N N N X X
Y -N X
两条规则和并成一条
两条规则进一步和并
判定表优缺点
因果图创建测试用例步骤
① ② ③ ④
分析需求中原因和结果。 分析需求中原因和结果。 将需求中的原因和结果连接成因果图。 将需求中的原因和结果连接成因果图。 把因果图转换成判定表。 把因果图转换成判定表。 把判定表中每一列表示的情况写成测试用例。 把判定表中每一列表示的情况写成测试用例。
例子
软件规格说明书: 软件规格说明书
因果图介绍
恒等
c1
e1
非
c1 c1
e1
或
c2 c3 c1
V
e1
与 c2
∧
e1
条件的约束
输入条件约束
a E b a F(I) () b c a G(O) b G约束(唯一): ,b中必须有一个且仅有一个为 1。 约束(唯一):a, 中必须有一个且仅有一个为 。 约束 ): F约束(或、包含): ,b和c中至少有一个必须为 1, 约束( 约束 包含):a, 和 中至少有一个必须为 , ): 即a,b和c不能同时为 。 , 和 不能同时为0。 不能同时为 E约束(异、排他): ,b中至多有一个可能为 1, 约束( 约束 排他):a, 中至多有一个可能为 , ): 不能同时为1。 即a和b不能同时为 。 和 不能同时为