- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
START INPUT(A,B,C,D) IF(A>0)AND (B>0)
THEN X=A+B
ELSE X=A-B
END IF(C>A)OR(D<B)
THEN Y=C-D
ELSE Y=C+D
END PRINT(X,Y) STOP
(1)判定覆盖测试用例: 判定覆盖,指的是判定的每个分支 都执行一次,本题有两个判定,因 此设计两组测试数据: 第一组,判定全真 输入:A=1,B=1,C=2,D=0 预期输出:X=2,Y=2 第二组,判定全假 输入:A=1,B=0,C=0,D=1 预期输出:X=1,Y=1
2:IF(A>0) 3: AND(B>0) 4:THEN X=A+B 5:ELSE X=A-B 6:END 7:IF(C>A) 8: OR(D<B) 9:THEN Y=C-D 10:ELSE Y=C+D 11:END 12:PRINT(X,Y)
STOP
1
Hale Waihona Puke Baidu
2
用基本路径测试方法设计测试用
例有4步: (1)画出流图
•5
{
•6
if(q= =1)
•7
break;
•8
else
•9
if(q= =2)
• 10
x=x+5;
• 11
else
• 12
y=y+10;
• 13
}
• 14 }
• 说明:程序段中每行开头的数字(1~14)是对每条语句的编号。
• 要求:
– 画出程序图。
– 计算上述程序段的环形复杂度。
– 导出基本路径集,列出程序的独立路径。
START INPUT(A,B,C,D) IF(A>0)AND (B>0)
THEN X=A+B
ELSE X=A-B
END IF(C>A)OR(D<B)
THEN Y=C-D
ELSE Y=C+D
END PRINT(X,Y) STOP
(2)条件组合覆盖测试用例:
条件组合要求每个表达式的各种
可能组合都至少出现一次。
记录发贴内容:访客在留言板中输入文字,系统进行检查, 合格后将内容存入到发帖内容文件。
显示贴子内容:读出文件,按一定格式显示在屏幕上。
请根据要求画出该系统的数据流图,并将其转换为软件结 构图。
初始结构图
最终结构图
练习:DFD图如下,分步骤给出SD设计过程及对应的软件结构
已知:数据流的类型,是变换型内嵌事务型; 确定边界,主体边界问题已给出
3 5
(2)计算环形复杂度为5
4
(3)确定独立路径的基本集合
路径1:1-2-3-4-6-7-9-11-12
6
路径2:1-2-3-4-6-7-8-9-11-12
E
F
G
图4-37 正确
邮寄包裹收费标准如下:
若收件地点在1000公里以内,普通件 每公斤2元,挂号件每公斤3元。若收件地 点在1000公里以外,普通件每公斤2.5元, 挂号件每公斤3.5元;若重量大于30公斤, 超过部分每公斤加收0.5元。请绘制确定收 费的判定表和判定树。
1.提取条件:地点,邮件类型,重量。 4. 提取问题的动作,绘制判定表 2.标出各种条件在问题中的取值范围
对于第一个表达式有4种组合:
对于第二个表达式有4种组合:
A>0,B>0
C>A,D<B
A>0,B<=0
C>A,D>=B
A<=0,B>0
C<=A,D<B
A<=0,B<=0
C<=A,D>=B
对应组合之。具体不再赘述。
习题:使用基本路径测试方法,设计测试 下面列出的伪码程序的测试用例:
1:START INPUT(A,B,C,D)
作业及解答(第3章)
习题:某BBS模板的发帖子系统有如下功能: 记录发贴内容:访客在留言板中输入文字,系统进行检查, 合格后将内容存入到发帖内容文件。 显示贴子内容:读出文件,按一定格式显示在屏幕上。 请根据要求画出该系统的数据流图,并将其转换为软件结 构图。
习题:某BBS模板的发帖子系统有如下功能:
– 根据(3)中的独立路径,设计测试用例的输入数据和预期输出。
(2)程序段的环形复杂度V(G)=4 • 因为有3个判定结点,故环形复杂度为4 • (3)程序段的基本路径集中有4条独立路径。 • 路径1: 4 14 • 路径2: 4 6 7 14 • 路径3: 4 6 9 10 13 4 14 • 路径4: 4 6 9 12 13 4 14 • (4)设计的程序用例如下表所示: • 测试用例编号输入数据预期输出
• 1p=1,q=1x=0,y=0
• 2p=2,q=1x=0,y=0
• 3p=2,q=2x=5,y=0
• 4p=2,q=3x=0,y=10
习题:设计下列伪码的判定覆盖和条件组合覆盖测试用例
START INPUT(A,B,C,D) IF(A>0)AND (B>0)
THEN X=A+B ELSE X=A-B END IF(C>A)OR(D<B) THEN Y=C-D ELSE Y=C+D END PRINT(X,Y) STOP
规则
条件名 地点
邮件类型
重量
取值
<=1000 >1000 普通件 挂号件 <=30公斤 >30公斤
取值数 2 2 2
3. 计算条件组合:2*2*2=8
12345678
地点〈=1000 T T F F T T F F
条 件
邮件类型为普 通件
T
F
T
F
T
F
T
F
重量<=30公 斤
TTTTFFFF
每公斤收费2 元
1.完成第一级分解
System
输入模块
变换模块
输出模块
2.完成第二级分解
输入模块
d
a
b
B
b1 db2
d
b3
d
A C1 C2 C3
c1
dc2 d c3 d
D
变换模块
输出模块
d
f,e f
e,g h k g,j h,j
E FGJ
K
j
L
m
System
d
d
k
输入模块
变换模块
输出模块
a
b
B
b1 db2
d
b3
d
d
f,e f
e,g h k g,j h,j
E FGJ
A C1 C2 C3
c1
dc2 d c3 d
D
K
j
L
m
例:按作用域/控制域规则对下图的SC图进行改进
A
B
C
D
E
模块G中有一条判断调用D的 语句,违反第1条原则
F
G
A B
D
C E
A
B
C
D
E
F
G
F
G
(1)
(2)
图4-36 违反第2条原则
A
B
C
D
T
T
每公斤收费
2.5元
T
T
动 作
每公斤收费3 元
T
T
每公斤收费 3.5元
T
T
超过30公斤部 分, 加收0.5元/ 公斤
TTTT
判定树
• 5、使用基本路径测试方法测试以下程序段:
•
void ss(int p,int q)
•1 {
• 2 int x=0;
• 3 int y=0;
• 4 while(p >1)