白盒测试用例设计方法学习笔记(二)----基本路径测试法

转载请注明出处。

白盒测试用例设计方法主要分为两种:1.逻辑覆盖法;2.基本路径测试法。
本文主要对基本路径测试法的相关进行整理。

基本路径测试法

基本路径测试法 是在程序控制流图的基础上通过分析控制构造的环境复杂性导出基本可执行路径的集合,从而设计测试用例的方法。用这种方法设计出的测试用例要保证在测试中程序的每一条可执行语句至少执行一次。

基本路径测试法的步骤

1.绘制程序流程图,导出程序的控制流图;
2.计算程序的圈复杂度;
3.确定线性独立路径集合;
4.生成测试用例。

控制流图的图形符号

白盒测试用例设计方法学习笔记(二)----基本路径测试法
白盒测试用例设计方法学习笔记(二)----基本路径测试法
白盒测试用例设计方法学习笔记(二)----基本路径测试法
白盒测试用例设计方法学习笔记(二)----基本路径测试法

简单实例介绍

第一步是绘制程序流程图,导出程序的控制流图

为了更加直观地了解和记忆基本路径测试法,下面我展示一个简单的例子。首先展现的是程序流程图。

白盒测试用例设计方法学习笔记(二)----基本路径测试法

下面展示的是根据程序流程图导出的程序控制流图。
白盒测试用例设计方法学习笔记(二)----基本路径测试法

以上就是基本路径测试法的第一步:绘制程序流程图,导出程序的控制流图。

第二步就是计算程序的圈复杂度

首先我们先来理解什么是圈复杂度。
圈复杂度是一种代码复杂度的衡量标准,在软件测试的概念里,圈复杂度用来衡量一个模块判定结构的复杂程度,数量上表现为线性无关的路径条数,即合理的预防错误所需测试的最少路径条数。圈复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的圈复杂度有着很大关系。(概念来源:百度百科)

那么理解完了圈复杂度的概念,我们接下来就要知道圈复杂度的计算方法。
计算公式为:V(G)=m-n+2
其中m是程序控制流图中的边的数量,n是其结点数量。
那么为了容易理解和记忆,我们看图。
白盒测试用例设计方法学习笔记(二)----基本路径测试法

图中有11条边,9个结点。那么计算出的这份程序控制流图的圈复杂度就是
V=11-9+2=4

圈复杂度还有另外一种算法,就是看程序控制流图将直面分成了几部分,如图所示。
白盒测试用例设计方法学习笔记(二)----基本路径测试法
我们可以看到如图所示,该程序控制流图将直面分为了4个封闭的部分,因此可以得出结论,该程序控制流图的圈复杂度为4

第三步是确定线性独立集合

那么根据上图所示的我们绘制的程序控制流图,我们可以确定该流图的线性独立路径的基本集合为:
路径1:初始化→A→输出非三角形;
路径2:初始化→A→B→输出一般三角形;
路径3:初始化→A→B→C→输出等腰三角形;
路径3:初始化→A→B→C→输出等边三角形。

第四步就是生成测试用例

根据上图我们生成的最终测试用例为
白盒测试用例设计方法学习笔记(二)----基本路径测试法