问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

软件测试与管理-白盒测试-基本路径测试法

创作时间:
作者:
@小白创作中心

软件测试与管理-白盒测试-基本路径测试法

引用
CSDN
1.
https://blog.csdn.net/ysy1119/article/details/138509190

基本路径测试法是软件测试中一种重要的白盒测试方法,它基于程序的控制流图,通过分析控制构造的环路复杂性来设计测试用例。这种方法能够确保被测程序的每个可执行语句至少执行一次,从而提高测试的覆盖率和有效性。本文将详细介绍基本路径测试法的原理、步骤,并通过两个具体的编程示例进行深入讲解。

知识点:

1.原理

  • 是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径的集合,然后根据可执行路径进行测试用例设计的方法。
  • 此方法设计出的测试用例需保证被测程序的每个可执行语句至少执行一次。

2.步骤

(画程序流程图)

(1)画程序控制流图

  • 圆—— 为流图的结点,表示一个或多个无分支语/源程序语句。
  • 箭头——为边或连接,代表控制流。
  • 注意:
    a.代码行号——》结点序号
    b.选择或分支结构的分支汇聚处又一个汇聚结点
    c.边和结点圈定的范围叫做区域。在计算区域数时,图形外的区域也应记为一个区域。
    d.若判断结构的表达式包含1/n个逻辑运算符(OR、AND、NAND、NOR)连接的复合
    e.条件表达式,则需要修改为一系列只有单条件的嵌套判断。

(2)计算程序环形复杂度

a.定义:

从程序的环形复杂度可导出程序基本路径集中的独立路径条数。
确保程序中每个可执行语句至少执行一次的测试用例数目的上界。

b.计算方法:

  • 区域数=环形复杂度
  • 环形复杂度V(G)=E-N+2 (E为控制流图中的边数,N为控制流图中的结点数)
  • 环形复杂度V(G)=P+1 (P为数据流图中的判定结点数)

(3)导出测试用例:

根据环形复杂度和程序结构来设计测试用例数据输入和预期结果。

(4)准备测试用例:

确保基本路径集中的每一条路径的执行。

3.补充知识点--测试用例

(1)定义:

是为发现软件中存在的问题而编写的一组包含测试输入、执行条件以及预期结果的文档,用来判断软件程序是否工作正确,软件产品是否满足需求。它是有效发现软件缺陷的最小测试执行单元。

(2)8个基本项内容:

测试用例编号、测试项目、用例标题、重要级别、预置条件、输入数据、操作步骤和预期输出。不同公司的测试用例所包含的内容不尽相同。

例题1:


//被测程序  
double  sumNumber(int m, int n)  
1 {  
2   int i=0;  
3   double sum=1;  
4   for(i=1;i<=n;i++)  
5   {  
6	   if(i>100 ||  sum>200)  
7	   {  break; }  
8      else  
9   {  
10      if(m>200)  
11  	  {  m=m+1; }  
12       else  
13       { sum=sum*i+m; }  
14     }  
15   }    
16   return sum;}  

**1、绘制程序控制流图:**

**2、计算环路复杂度(用三种方法计算)**

(1)环路复杂度=区域数目
如图所示,5个区域

(2)环路复杂度=E-N+2
11个结点,14条边,V(G)=14-11+2=5

(3)环路复杂度=p+1
四个判定结点,V(G)=4+1=5

**3、导出基本(独立)路径集合**

路径1: 1->4->6.1->6.2->10->11->14->4->6.1->7->15->16
路径2: 1->4->6.1->6.2->10->13->14->4->6.1->7->15->16
路径3: 1->4->6.1->6.2->7->15->16
路径4: 1->4->6.1->7->15->16
路径5: 1->4->15->16

**4、设计测试用例**

用例编号 条件 输入 预期输出 实际输出
Case_1
Case_2
Case_3
Case_4
Case_5

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号