问答题 采用基于因果图的方法为下列程序设计测试用例。
某一程序的规格说明:第一列字符必须是A或者B,第二列字符必须是一个数字,在此情况下进行文件的修改。但是,若第一列字符不正确,则给出信息L,若第二列字符不是数字,则给出信息M;若满足条件,则修改文件。
问题:用基于因果图方法设计测试用例。

【正确答案】通过具有因果图设计测试用例的基本步骤进行:
(1)分析上面规格说明中的原因和结果,并给每个原因和结果赋予一个标识符,如表5-12所示。原因:1:第一个字符是A
2:第一个字符是B
3:第二个字符是一个数字
结果:21:给出信息L
22:修改文件
23:给出信息M
原因
结果
C1第一个字符是A
E1给出信息L
C2第一个字符是B
E2修改文件
C3第二个字符是一个数字
E3给出信息M
(2)分析规格说明中的语义,找出原因和结果之间,原因和原因之间的对应关系,根据这些关系画出因果图,如下图所示。
[*]
(3)把因果图转换为决策表,如下表所示。

1
2
3
4
5
6
7
8
条件(原因)
1
1
1
1
1
0
0
0
0
2
1
1
0
0
1
1
0
0
3
1
0
1
0
1
0
1
0
11
1
1
1
1
0
0
动作(结果)
22
0
0
0
0
1
1
21
1
0
1
0
0
0
23
0
1
0
1
0
1
测试用例
A3A8
AMA?
B5B4
BNB!
C2X6
DYP;
(4)根据上述决策表设计测试用例,如下表所示。
测试用例编号
输入数据
预期输入
测试用例编号
输入数据
预期输出
1
#3
修改文件
4
*B
给出信息1
2
#A
给出信息1
5
A1
给出信息M
3
*6
修改文件
6
GT
给出信息1和信息M
【答案解析】