3、使用逻辑覆盖测试方法,为以下程序段设计测试用例。

(1) 画出程序的流程图。 (2) 根据覆盖的不同对象,设计相应的测试用例。

void Do (int X, int A, int B)
{
1 if (  (A>1)  &&  (B==3)  )
2   X = X+A;
3 if (  (A==2)  ||  (X>1)   )
4   X = X+1;
5 }

(1) 画出程序的流程图

[流程图图片]

(2) 设计测试用例(表格的行数可以自己根据需要进行添加)

| 逻辑覆盖 | 序号 | X取值 | A取值 | B取值 | X预期输出结果 | |---|---|---|---|---|---| | 语句覆盖 | 1 | 任意值 | 任意值 | 任意值 | 任意值 | | 判定覆盖 | 1 | 任意值 | 2 | 任意值 | X+1 | | | 2 | 任意值 | 任意值 | 3 | X+A | | 条件覆盖 | 1 | 任意值 | 2 | 任意值 | X+1 | | | 2 | 任意值 | 任意值 | 3 | X+A | | | 3 | 任意值 | 3 | 1 | X+3 | | | 4 | 任意值 | 1 | 3 | X+1 | | 路径覆盖 | 1 | 任意值 | 2 | 3 | X+A+1 | | | 2 | 任意值 | 1 | 3 | X+1 | | | 3 | 任意值 | 3 | 1 | X+3 | | | 4 | 任意值 | 1 | 1 | X+1 |

4、使用基本路径测试方法,为以下程序段设计测试用例。

(1) 画出程序的控制流图,编号已经给出。 (2) 计算程序的环路复杂度,导出程序基本路径集中的独立路径条数。 (3) 导出基本路径集,确定程序的独立路径,并设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。

void Do (int X, int A, int B)
{
1 if (  (A>2)  &&  (B==0)  )
2   X = X-A;
3 if (  (A==4)  ||  (X>1)   )
4   X = X+1;
5 }

由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条 件,并映射成控制流图。 ○1: A>2; ○2: B==0 ; ○3: X = X-A ; ○4: A==4 ; ○5:X>1 ; ○6: X = X+1; ○7: }

(1) 画出程序的控制流图

[控制流图图片]

(2) 计算程序的环路复杂度

环路复杂度 = 边的数量 - 节点的数量 + 2 = 7 - 6 + 2 = 3

(3) 设计测试用例(表格的行数可以自己根据需要进行添加)

| 序号 | X取值 | A取值 | B取值 | X预期输出结果 | 执行的独立路径 | |---|---|---|---|---|---| | 1 | 任意值 | 1 | 1 | 不执行 | 不涉及基本路径 | | 2 | 1 | 3 | 1 | 不执行 | 不涉及基本路径 | | 3 | 任意值 | 3 | 1 | X+1 | 1-3-5-6-7 | | 4 | 任意值 | 4 | 1 | X+1 | 1-3-4-5-6-7 | | 5 | 任意值 | 3 | 0 | X-3 | 1-2-7 |

内容:(3)基本路径集: 1-2-7 1-3-4-5-6-7 1-3-5-6-7

独立路径: 1-2-7 1-3-4-5-6-7 1-3-5-6-7

设计测试用例:

| 序号 | X取值 | A取值 | B取值 | X预期输出结果 | 执行的独立路径 | |---|---|---|---|---|---| | 1 | 任意值 | 1 | 1 | 不执行 | 不涉及基本路径 | | 2 | 1 | 3 | 1 | 不执行 | 不涉及基本路径 | | 3 | 任意值 | 3 | 1 | X+1 | 1-3-5-6-7 | | 4 | 任意值 | 4 | 1 | X+1 | 1-3-4-5-6-7 | | 5 | 任意值 | 3 | 0 | X-3 | 1-2-7 |

逻辑覆盖测试与基本路径测试:程序段测试用例设计

原文地址: https://www.cveoy.top/t/topic/oRTl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录