当前位置:首页 > 黑盒测试案例设计技术篇
见图7-7所示,有恒等、非、或、与四种。
图7-7因果图的基本符号
这四种基本符号各自的含义如下:
恒等——如果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。
因果图中的左结点表示输入状态(原因),右结点表示输出状态(结果)。 (2) 约束
约束是指因果图中输入/输出状态相互间存在的某些依赖关系,约束的特定符号见图7-8所示。
图7-8约束符号
上述约束符号的含义为:
E约束——a和b不能同时为1;
I约束——a、b和c不能同时为0;
O约束——a和b中必须有一个,且仅有一个为1; R约束——a是1时,b必定是1;
M约束——是个输出条件约束,若结果a是1,则结果b强制为0。 (3) 应用举例
例 程序规定第一列字符必须是A或B,第二列字符必须是一个数字。在此情况下进行文件修改。如果第一列字符不正确,输出信息L,如果第二列字符不是数字,输出信息M。
第一步,根据上述要求,列出原因和结果,并给每个原因和结果一个标识符(用数字来表示)。
原因有:
1——第一列字符是A 2——第一列字符是B
3——第二列字符是一数字 结果为:
21——修改文件 22——输出信息L 23——输出信息M
第二步,画出原因——结果图,见图7-9所示。
图7-9因果实例
图7-10具有E约束的因果图
第三步,在因果图上标明约束条件,如图7-10所示。因为原因1和原因2不可能同时为1,则具有E约束。
第四步:把因果图转换成判定表,见表7-5。表中左面两种情况,原因1和原因2同时为1,是不可能出现的。
7-5根据因果图建立的判定表
第五步,把判定表的每一列写成一个测试用例,见表7-5的最后一行。 2.程序流程图
程序流程图是描述和分析软件控制流向的通用工具,利用程序流程图设计测试用例,有助于分离程序的路径,进行逻辑覆盖程度的统计。
三种基本控制结构分离得到的逻辑路径数如表7-6所示。
表7-6三种基本控制结构分离后的逻辑路径数
下面我们以一个例子来说明使用程序流程图进行设计测试用例的过程和测试路径对程序逻辑覆盖的情况统计。
例 某程序的流程图见图7-11所示。图中每个圆圈表示一个语句或语句段,箭头表示控制流向,各语句段内的判定条件分别是:
图7-11程序流程图
① A1>0 ②A2≠5 ③A3<10 ④A4≥7 ⑤A6<0 ⑦ A7>100 ⑧A8为偶数 ⑨ A9≠0 ⑩A10<-5 (12)A12=3 (*)程序终点
设计测试用例步骤如下:
第一步,定义一个待测试的路径集合。如:
路径编号 路径表示
P1 ①—②—③—④ P2 ①—②—⑤ P3 ①—②—③—⑤ P4 ①—②—③—④—⑤ P5 ①—⑥—⑦—⑧ P6 ①—⑥—⑨—⑤ P7 ①—⑥—⑨—(11) P8 ①—⑥—⑦—(10)--⑤ P9 ①—⑥—⑦—⑩—(11)
P10 ①—⑥—⑦—⑧—(12)—(11) P11 ①—⑥—⑦—⑧—(12)--⑤
第二步:设计调试各路径的测试用例
共分享92篇相关文档