基本路径测试

249 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天,点击查看活动详情

一.定义

在程序控制流图中,通过对控制构造的环路复杂性分析而导出的基本的、可执行的独立路径集合。

测试:在程序的控制流图的基础上,通过分析控制流程的环路复杂性,导出独立可执行路径集合,从而设计测试用例的方法。

二.控制流图/程序图

流程图用来描述程序控制结构。

  1. 在流图中,每一个圆,称为流图的结点,表示一个或多个无分支的语句或源程序语句。
  2. 一个处理方框序列和一个菱形决测框可被映射为一个结点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。
  3. 一条边必须终止于一个结点,即使该结点并不代表任何语句。
  4. 由边和结点限定的范围称为区域,计算区域时应包括图外部的范围。

image.png

三.步骤

  • 步骤1:根据源程序导出程序控制流图(程序图),得到路径测试所需的路径地图。
  • 步骤2:通过计算程序图的环复杂度,确定独立路径集合的规模大小。
  • 步骤3:以包含判定节点最多的路径作为主路径,并以此为基础构建其他独立路径。
  • 步骤4:注意剔除不可行路径,必要时补充其他重要路径。
  • 步骤5:根据得到的路径集合对应设计测试用例。

四.计算圈复杂度

以下三个方法计算,又可以叫做计算环复杂度

  1. 给定流图G的圈复杂度V(G),定义为V(G)=Area,Area是流程图中的区域数量(即为封闭区域数量+1);
  2. 给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;
  3. 给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量