《黑盒测试之因果图测试.ppt》由会员分享,可在线阅读,更多相关《黑盒测试之因果图测试.ppt(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第4章 黑 盒 测 试 第4章 黑 盒 测 试 4.1 边界值测试边界值测试 4.2 等价类测试等价类测试 4.3 基于判定表的测试基于判定表的测试 4.4 因果图因果图 4.5 其他黑盒测试方法其他黑盒测试方法 4.6 综合案例综合案例 4.7 本章小结本章小结 等价类划分法和边界值分析方法都是着重考虑等价类划分法和边界值分析方法都是着重考虑输入条件,输入条件,但没有考虑输入条件的各种组合、输但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。入条件之间的相互制约关系。这样虽然各种输入这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件可能出错的情况已经测试到了,但多个输入条
2、件组合起来可能出错的情况却被忽视了。条件组合起来可能出错的情况却被忽视了。问题引入问题引入问题引入问题引入拿破仑说:拿破仑说:“失一个钉子,坏了一只蹄铁;失一个钉子,坏了一只蹄铁;坏了一只蹄铁,折了一匹战马;坏了一只蹄铁,折了一匹战马;折了一匹战马,伤了一位骑士;折了一匹战马,伤了一位骑士;伤了一位骑士,输了一场战斗;伤了一位骑士,输了一场战斗;输了一场战斗,亡了一个帝国。输了一场战斗,亡了一个帝国。”这就是这就是因果关系因果关系 因果图法的定义因果图法的定义因果图分析法因果图分析法4.4 因因 果果 图图 4.4.1 因果图的概念因果图的概念因果图中使用了简单的逻辑符号,以直因果图中使用了简
3、单的逻辑符号,以直线连接左右节点。左节点表示输入状态线连接左右节点。左节点表示输入状态(或称或称原因原因),右结点表示输出状态,右结点表示输出状态(或称结果或称结果)。通通常用常用ci表示原因,一般置于图的左部;表示原因,一般置于图的左部;ei表示表示结果,通常在图的右部。结果,通常在图的右部。ci和和ei均可取值均可取值“0”或或“1”,其中,其中“0”表示某状态不出现,表示某状态不出现,“1”表示某状态出现。表示某状态出现。因果图中包含四种关系:因果图中包含四种关系:(1)恒等:恒等:若若c1为为1,则,则e1也为也为1;若;若c1为为0,则,则e1也为也为0。(2)非:非:若若c1为为1
4、,则,则e1为为0;若;若c1为为0,则,则e1为为1。(3)或:或:若若c1或或c2或或c3为为1,则,则e1为为1;若;若c1、c2和和c3都为都为0,则,则e1为为0。“或或”可有任意多个输入。可有任意多个输入。(4)与与:若:若c1和和c2都为都为1,则,则ei为为1;否则;否则ei为为0。“与与”也可有任意多个输入。也可有任意多个输入。因果图的四种关系如图因果图的四种关系如图4-4-1所示。所示。图图4-4-1 因果图的四种关系因果图的四种关系 图图4-4-1 因果图的四种关系因果图的四种关系 在实际问题中输入状态相互之间、输出状态相互之间可能存在某在实际问题中输入状态相互之间、输出
5、状态相互之间可能存在某些依赖关系,称为些依赖关系,称为“约束约束”。为了表示原因与原因之间,结果与结果为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。符号。对于输入条件的约束有对于输入条件的约束有E、I、O、R四种约束,对于输出条件四种约束,对于输出条件的约束只有的约束只有M约束。约束。输入输出约束图形符号如图输入输出约束图形符号如图4-4-2所示。为便于所示。为便于理解,这里设理解,这里设c1、c2和和c3表示不同的输入条件。表示不同的输入条件。E(异异):表示:表示c1、c2中至
6、多有一个可能为中至多有一个可能为1,即,即c1和和c2不能同时为不能同时为1。I(或或):表示:表示c1、c2、c3中至少有一个是中至少有一个是1,即,即c1、c2、c3不能同时不能同时为为0。O(唯一唯一):表示:表示c1、c2中必须有一个且仅有一个为中必须有一个且仅有一个为1。R(要求要求):表示:表示c1为为1时,时,c2必须为必须为1,即不可能,即不可能c1为为1时时c2为为0。M(强制强制):表示如果结果:表示如果结果e1为为1,则结果,则结果e2强制为强制为0。图图4-4-2 输入输出约束图形符号输入输出约束图形符号 c c1 1e1e1c1c1e1e1 c1c1e1e1c2c2c
7、3c3c1c1e1e1c2c21、以下四个图例分别表示什么关系:、以下四个图例分别表示什么关系:课堂回顾课堂回顾a ab bEa ab bIc ca ab bORa ab bMa ab b2 2、以下五种图例又分别表示什么关系?、以下五种图例又分别表示什么关系?课堂回顾课堂回顾4.4.2 因果图测试法因果图测试法因果图可以很清晰地描述各输入条件和输出结果的逻辑因果图可以很清晰地描述各输入条件和输出结果的逻辑关系。关系。如果在测试时必须考虑输入条件的各种组合,就可以如果在测试时必须考虑输入条件的各种组合,就可以利用因果图。利用因果图。因果图最终生成的是判定表。采用因果图设计因果图最终生成的是判定
8、表。采用因果图设计测试用例的步骤如下:测试用例的步骤如下:(1)分析软件规格说明描述中哪些是原因,哪些是结果。分析软件规格说明描述中哪些是原因,哪些是结果。其中,原因常常是输入条件或是输入条件的等价类;结果常其中,原因常常是输入条件或是输入条件的等价类;结果常常是输出条件。然后给每个原因和结果赋予一个标识符。并常是输出条件。然后给每个原因和结果赋予一个标识符。并且把原因和结果分别画出来,原因放在左边一列,结果放在且把原因和结果分别画出来,原因放在左边一列,结果放在右边一列。右边一列。(2)分析软件规格说明描述中的语义,分析软件规格说明描述中的语义,找出原因与结果找出原因与结果之间、原因与原因之
9、间对应的关系,根据这些关系,之间、原因与原因之间对应的关系,根据这些关系,将其表将其表示成连接各个原因与各个结果的示成连接各个原因与各个结果的“因果图因果图”。(3)由于语法或环境限制,由于语法或环境限制,有些原因与原因之间、原因有些原因与原因之间、原因与结果之间的组合情况不可能出现。与结果之间的组合情况不可能出现。为表明这些特殊情况,为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。在因果图上用一些记号标明约束或限制条件。(4)把因果图转换成判定表。把因果图转换成判定表。首先将因果图中的各原因首先将因果图中的各原因作为判定表的条件项,因果图的各结果作为判定表的动作项。作为判定表的条
10、件项,因果图的各结果作为判定表的动作项。然后给每个原因分别取然后给每个原因分别取“真真”和和“假假”两种状态,一般用两种状态,一般用“1”和和“0”表示。最后根据各条件项的取值和因果图中表表示。最后根据各条件项的取值和因果图中表示的原因和结果之间的逻辑关系,确定相应的动作项的值,示的原因和结果之间的逻辑关系,确定相应的动作项的值,完成判定表的填写。完成判定表的填写。(5)把判定表的每一列拿出来作为依据,设计测试用例。把判定表的每一列拿出来作为依据,设计测试用例。4.4.3 案例案例1软件规格说明书软件规格说明书第第1列字符必须是列字符必须是A或或B,第,第2列字符必须是一个数字,列字符必须是一
11、个数字,在此情况下进行文件的修改,但如果第在此情况下进行文件的修改,但如果第1列字符不正确,则列字符不正确,则给出信息给出信息L,如果第,如果第2列字符不是数字,则给出信息列字符不是数字,则给出信息M。1)根据说明书分析出原因和结果根据说明书分析出原因和结果(1)原因:原因:1第第1列字符是列字符是A;2第第1列字符是列字符是B;3第第2列字符是一数字。列字符是一数字。(2)结果:结果:21修改文件;修改文件;22给出信息给出信息L;23给出信息给出信息M。2)绘制因果图绘制因果图(1)根据原因和结果绘制因果图。把原因和结果用逻辑根据原因和结果绘制因果图。把原因和结果用逻辑符号连接起来,画出因
12、果图,如图符号连接起来,画出因果图,如图4-4-3所示。所示。图图4-4-3 软件规格说明书因果图软件规格说明书因果图(2)考虑到原因考虑到原因1和原因和原因2不可能同时为不可能同时为1,因此在因果,因此在因果图上施加图上施加E约束。具有约束的因果图如图约束。具有约束的因果图如图4-4-4所示。所示。图图4-4-4 有约束的因果图有约束的因果图(3)根据因果图所建立的判定表如表根据因果图所建立的判定表如表4-4-1所示。所示。2电力收费电力收费某电力公司有某电力公司有A、B、C、D四类收费标准,并规定:四类收费标准,并规定:居民用电居民用电100度度/月,按月,按A类收费;类收费;100度度/
13、月,按月,按B类收费。类收费。动力用电动力用电10 000度度/月,非高峰,按月,非高峰,按B类收费;类收费;10 000度度/月,非高峰,按月,非高峰,按C类收费;类收费;10 000度度/月,高峰,按月,高峰,按C类收费;类收费;10 000度度/月,高峰,按月,高峰,按D类收费。类收费。请用因果图法设计测试用例。请用因果图法设计测试用例。使用因果图法设计测试用例的步骤和过程如下:使用因果图法设计测试用例的步骤和过程如下:(1)列出原因和结果。列出原因和结果。原因:原因:1居民用电;居民用电;2动力用电;动力用电;3100度度/月;月;3100度度/月;月;4非高峰;非高峰;4高峰;高峰;
14、510 000度度/月;月;510 000度度/月。月。结果:结果:A按按A类收费。类收费。B按按B类收费。类收费。C按按C类收费。类收费。D按按D类收费。类收费。(2)用因果图表明输入和输出间的逻辑关系,如图用因果图表明输入和输出间的逻辑关系,如图4-4-5所示。所示。图图4-4-5 因果图因果图(2)用因果图表明输入和输出间的逻辑关系,如图用因果图表明输入和输出间的逻辑关系,如图4-4-5所示。所示。图图4-4-5 因果图因果图(3)把因果图转换为判定表,得到表把因果图转换为判定表,得到表4-4-3。(1)考考虑虑到到了了输输入入情情况况的的各各种种组组合合以以及及各各个个输输入入情情况况之之间的相互制约关系。间的相互制约关系。(2)能能够够帮帮助助测测试试人人员员按按照照一一定定的的步步骤骤,高高效效率率的的开开发发测试用例。测试用例。(3)因因果果图图法法是是将将自自然然语语言言规规格格说说明明转转化化成成形形式式语语言言规规格格说说明明的的一一种种严严格格的的方方法法,可可以以指指出出规规格格说说明明存存在在的的不不完整性和二义性。完整性和二义性。使用因果图法的优点使用因果图法的优点