Homework5:第9章(基路径测试)
1.函数说明 :当i_flag=0;返回 i_count+100
当i_flag=1;返回 i_count *10 否则 返回 i_count *20
输入参数:int i_count , int i_flag
输出参数: int i_return;
代码:1 int Test(int i_count, int i_flag) 2 {
3 int i_temp = 0; 4 while (i_count>0) 5 {
6 if (0 == i_flag) 7 {
8 i_temp = i_count + 100; 9 break; 10 } 11 else 12 {
13 if (1 == i_flag) 14 {
15 i_temp = i_temp + 10; 16 } 17 else 18 {
19 i_temp = i_temp + 20; 20 } 21 }
22 i_count--; 23 }
24 return i_temp; 25 }
用基路径测试方法,画出DD路径图,计算圈复杂度,并列出基路径,设计对应的测试用例。
解:
(1) 基本路径测试步骤:
1.导出程序流程图的拓扑结构—控制流图G 2.计算控制流图G的环路复杂度V(G)
环路复杂度是一种为程序逻辑复杂性提供定量测试的软件度量。将该度量用于计算程序的基
本独立路径数目。为确保所有语句至少执行一次的测试数量的上界。 简单的定义就是控制流图的区域数目 3.确定只包含独立路径的基本路径集 4.设计测试用例 (2)控制流图
(3)计算流图G的环路复杂度V(G) 有三种方法计算环路复杂度: 1>V(G)= 区域个数=4
2>V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量。 V(G)=10-8+2=4
3>V(G)= P+1 ,P是流图G中判定结点的数量 V(G)=3+1=4 (4)基本路径: 1 B
(4,24) 2 C,E,J
(4,6,8,24)
3 C,D,F,H,A,B
(4,6,13,15,22,4,24) 4 C,D,G,I,A,B
(4,6,13,19,22,4,24) (5)测试用例: 1 B(4,24)
输入数据:i_flag=0,或者是i_flag<0的某一个值。 预期结果:i_temp=0.
2 C,E,J(4,6,8,24) 输入数据: i_count =1;i_flag=0 预期结果:i_temp=101.
3 C,D,F,H,A,B(4,6,13,15,22,4,24) 输入数据: i_count =1;i_flag=1 预期结果:i_temp=10.
4 C,D,G,I,A,B(4,6,13,19,22,4,24) 输入数据: i_count =1;i_flag=2 预期结果:i_temp=20.