白盒测试-基本路径测试-例题解析
在实际开发过程中,一段不太复杂的程序,其路径的组合都是一个庞大的数字。基本路径测试是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。在基本路径测试中,设计出的测试用例要保证在被测程序的每一条可执行语句上至少执行一次。
基本路径测试法的步骤:
- 导出程序流程图的拓扑结构-流图(控制流程图)
- 计算流图G的环路复杂性V(G)
- 确定只包含独立路径的基本路径集
- 设计测试用例
针对test函数按照基本路径测试方法设计测试用例。
int Test(int i_count, int i_flag)
{
1 int i_temp=0;
2 while (i_count>0)
{
3 If (0 == i_flag)
{
4 i_temp=i_count+100;
5 break;
}
6 else{
7 If (1==i_flag)
{
8 i_temp=i_temp+10;
}
9 else
{
10 i_temp=i_temp+20;
}
}
11 i_count–;
}
12 return i_temp;
}
-
导出程序流程图的拓扑结构-流图(控制流程图)
-
计算流图G的环路复杂性V(G)
V(G) = P + 1;(P为程序控制流图中的判定结点数)
V(G) = 3 + 1 = 4;V(G) = E - N + 2;(E为程序控制流图的边数,N为图的结点数)
V(G) = 11 - 9 + 2 = 4; -
确定只包含独立路径的基本路径集
path1:1-2-12
path2:1-2-3-4-5-12
path3:1-2-3-6-7-8-11-2-12
path4:1-2-3-6-7-9-10-11-2-12 -
设计测试用例
测试用例组 | i_count | i_flag | 期望结果 |
---|---|---|---|
1 | 0 | 0 | 0 |
2 | 1 | 0 | 101 |
3 | 1 | 1 | 10 |
4 | 1 | 2 | 20 |