软件测试 - 路径测试



软件测试包含两个主要步骤,即测试用例设计和测试用例执行。测试用例设计阶段由测试计划和测试策略的准备驱动。软件路径测试是用于设计测试用例的方法之一。

什么是软件路径测试?

软件路径测试是一种用于测试用例准备的方法。在这种技术中,生成程序源代码的控制流图以计算一组线性无关路径。此外,测量代码的圈复杂度以获取线性无关路径的数量,最后根据每条路径创建测试用例。

软件路径测试用于获得代码的完整分支覆盖率,但它是在不触及控制流图的每条可能路径的情况下完成的。代码的圈复杂度指导软件路径测试过程。

软件路径测试过程

软件路径测试的过程如下所示:

步骤 1 - 创建程序源代码的控制流图,其中需要识别所有可执行路径。

让我们考虑以下代码块。

IF K = 580
   THEN IF L > M
   THEN K = L
ELSE K = M
   END IF
END IF
PRINT K

代码的控制流图如下所示:

Software Path Testing

步骤 2 - 使用以下公式计算相同代码的圈复杂度:

圈复杂度由 V(G) = E - N + 2 * P 表示。其中,E 是边的总数,N 是节点的总数,P 是图中连接组件的总数。

在步骤 1 中显示的控制流图中,有七个节点 (N) 由蓝色圆圈表示。请注意,代码的行总数等于节点的总数。有八条边 (E) 以红色表示,并且由于只有一个方法,图中连接组件 (P) 的总数为 1。因此,根据公式,

V(G) = E - N + 2 * P
 = 8 - 7 + 2 * 1 = 3.

步骤 3 - 根据控制流图创建所有路径的集合,集合的基数等于测量的圈复杂度。

步骤 4 - 为上述步骤中计算的集合中的每条路径开发一个测试用例。

软件路径测试有哪些技术?

软件路径测试的技术如下所示:

  • 控制流图 - 使用节点和边将完整的代码块转换为控制流图。
  • 判定到判定路径 - 将控制流图拆分为多个判定到判定路径,最后组合到特定的节点中。
  • 独立路径 - 独立路径是从判定到判定路径图中生成的路径,无法使用不同的方法从其他路径生成。

软件路径测试的优点

软件路径测试的优点如下所示:

  • 软件路径测试可以防止创建冗余测试用例。
  • 软件路径测试验证程序源代码的逻辑。
  • 软件路径测试是一种有效且高效的测试用例设计技术。

软件路径测试的缺点

软件路径测试的缺点如下所示:

  • 参与软件路径测试的测试人员应该经验丰富,并且应该具备技术技能和编程知识。
  • 随着程序源代码复杂度的增加,测试用例的数量也会增加。
  • 如果源代码的复杂度非常高,则很难想出一个测试路径。
  • 某些测试路径可能不会考虑程序源代码中给出的所有条件。

结论

本教程对软件路径测试进行了全面概述。我们首先描述了什么是软件路径测试,软件路径测试的过程,软件路径测试的技术,软件路径测试的优点以及软件路径测试的缺点。这使您对软件路径测试有了深入的了解。明智的做法是不断练习您学到的知识,并探索与软件测试相关的其他知识,以加深您的理解并拓宽您的视野。

广告