下午题题型分布

【必做题1】白盒测试(20分)
1. 题目介绍
给出一段C程序,回答3个问题。
(主要考察白盒测试用例设计方法的逻辑覆盖法和基本路径法)
2. 问题介绍
- 根据给出的C程序,
写出满足100%判定覆盖(100%DC)所需的逻辑条件(6分)或者是写出满足100%覆盖(100%DC)所需的逻辑语句。 画出上述程序的控制流图,并计算其控制流图的环路复杂度(圈复杂度)V(G)(6分)- 写出所画控制流图的
线性无关路径(8分) - 请简述基本路径测试法的概念。
3. 思路解析
- 根据给出的C程序,
写出满足100%判定覆盖(100%DC)所需的逻辑条件(6分)或者是写出满足100%覆盖(100%DC)所需的逻辑语句。
考察白盒测试中的判定覆盖法(分支覆盖):设计足够的测试用例,使得被测程序中每个判定表达式至少获取一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。
请看示例代码:

如上图所示,该程序中有6个判定,所以满足判定覆盖一共需要12个逻辑条件。答案如下图所示:

画出控制流图,并计算其环路复杂度(圈复杂度)V(G)(6分)
【绘制控制流图】:
控制流图绘制步骤:
1、划分代码块,给划分的代码块标注好数字编号(一般题目中给划分好了)
2、写出基本块之间的可能控制转移(即控制流图的边)
3、根据第2步绘制控制流图
用上面的示例代码演示如下:
1、代码块已经划分完毕
2、写出基本块之间的可能控制转移

注意事项:
对于一条判定语句中出现的复合条件,其控制转移的写法如下:

3、绘制控制流图

【计算圈复杂度】:
V(G) = e - n + 2
= A + 1
= P + 1
e:控制流图的边
n:控制流图的结点
A:控制流图的封闭区域数
P:关键判定数
推荐使用公式V(G) = P + 1。该公式不用通过控制流图,只查看给出的C程序即可完成圈复杂度的计算,以防控制流图绘制错误导致计算错误。
下面介绍通过数程序中的关键判定数来计算圈复杂度:
下图中,使用红色标亮的就是关键判定。V(G) = 10 + 1 = 11。

- 写出所画控制流图的
线性无关路径(8分)或者是请使用基本路径法构造 __个测试用例,使之覆盖所有基本路径。
线性无关路径是指包含一组以前没有处理的语句或条件的路径。
线性无关路径不是固定的,可以有很多条。一般作答时V(G)是多少,就写多少条路径即可。
该代码示例的线性无关路径为:

- 请简述基本路径测试法的概念。
基本路径法是在程序控制流图的基础上,通过分析控制构造的环路复杂度,导出基本可执行路径集合,从而设计测试用例的方法。
设计出的测试用例要保证在测试程序中的每个可执行语句至少执行一次。
【必做题2】(15分)
1. 题目介绍
考察各种测试用例设计方法。
2. 问题介绍
- (不固定)为下一题的编写测试用例做一些准备工作(6分)
-
- 等价类划分是怎么划分的?
-
- 什么情况下可以采用因果图法?
补充测试用例(6-7分)- (不固定)基于本案例所使用的
测试用例设计方法有哪些不足?(2-3分) -
- 使用边界值分析法补充上一题的测试用例
-
- 列举除了的等价类划分法和边界值分析法以外的三种常见的黑盒测试用例设计方法
3. 思路解析
- (不固定)为下一题的编写测试用例做一些准备工作(6分)
-
- 等价类划分是怎么划分的?
-
- 什么情况下可以采用因果图法?
应用的输出情况依赖于多种输入条件的组合,或各种输入条件之间存在多种制约关系
补充测试用例(6-7分)- (不固定)基于本案例所使用的
测试用例设计方法有哪些不足?(2-3分) -
- 使用边界值分析法补充上一题的测试用例
-
- 列举除了的等价类划分法和边界值分析法以外的三种常见的黑盒测试用例设计方法
黑盒测试用例设计方法:
- 列举除了的等价类划分法和边界值分析法以外的三种常见的黑盒测试用例设计方法
黑盒测试用例设计方法:
等价类划分
边界值分析
因果图法
场景法
错误推测法
正交试验法
判定表法
2164

被折叠的 条评论
为什么被折叠?



