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

【正确答案】通过具有因果图设计测试用例的基本步骤进行:
(1)分析上面规格说明中的原因和结果,并给每个原因和结果赋予一个标识符,如表5-19所示。
原因:1 第一个字符是A
2 第一个字符是B
3 第二个字符是一个数字
结果:21 给出信息L
22 修改文件
23 给出信息M
表5-19 原因及结果表
原因 结果

C1 第一个字符是A

C2 第一个字符是B

C3 第二个字符是一个数字

E1 给出信息L

E2 修改文件

E3 给出信息M

(2)分析规格说明中的语义,找出原因和结果之间,原因和原因之间的对应关系,根据这些关系画出因果图,如图5-9所示。
[*]
(3) 把因果转换为决策表,如表5-20所示。
表5-20 决策表
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
测试用例

A3

A8

AM

A?

B5

B4

BN

B!

C2

X6

DY

P;

(4) 根据上述决策设计测试用例,如表5-21所示。
表5-21 测试用例
测试用例编号
输入数据
预期输入
测试用例编号
输入数据
预期输出
1
#3
修改文件
4
*B
给出信息L
2
#A
给出信息L
5
A1
给出信息M
3
*6
修改文件
6
GT
给出信息L和信息M
【答案解析】