软件测试 - 控制流路径
软件测试可分为两种主要技术:白盒和黑盒测试。在白盒测试中,代码的内部经过验证。控制流路径是白盒测试下的概念之一。它是软件代码流程的图形表示,显示运行代码时可以遍历的每条路径。
什么是控制流路径?
控制流路径测试是软件代码的结构测试。测试人员应该具备代码结构、设计、实现逻辑、算法的知识,才能进行控制流路径测试。然而,这主要由实际实现代码的开发人员自己来完成。这种方法可以测试整个实施逻辑以及软件各个模块之间的互连方式。
控制流路径测试过程
控制流路径测试过程如下 −
- 控制流图的创建 − 根据可用的代码片段,手动或使用工具创建控制流图。
- 覆盖目标 − 控制流图中借助节点、边、路径、分支等描述覆盖目标。
- 测试用例的创建 − 创建的测试用例涵盖所有覆盖目标。
- 测试用例的执行 − 测试用例已执行。
- 测试结果分析 −比较测试用例执行的结果以确认软件中是否存在错误。
什么是控制流图?
控制流图被称为程序代码完整流程的图形表示。它主要用于静态分析和编译器软件,因为它描绘了代码的整个过程。
控制流图的特征
控制流图的特征如下 −
- 它由程序代码中遵循的完整过程驱动。
- 它发现运行代码时可以覆盖的每条路径。
- 它是一个完整的有向图。
- 它的边描述可以遍历的路径,节点描述基本块。
- 它有两个部分,即指向控制流图入口点的入口块和指向控制流图出口点的出口块。
控制流图的不同组件
控制流图的不同组件如下−
If-then-else 块

While 块

Do While 块

For 块

示例
让我们以下面的代码块为例,我们将从中绘制控制流图。
IF I = 250 THEN IF J > K THEN I = J ELSE I = K END IF END IF PRINT I
上述代码行的控制流图如下所示 −

控制流测试的目标
控制流测试的目标如下所示 −
- 确保代码的所有路径至少被遍历一次。
- 确保代码的所有条件点至少被判断为假和真一次。
- 确保通过运行代码中的每个条件点至少一次来触及条件的所有可能结果。
- 分析代码在各种用例中的运行情况,即零次、单次和多次迭代。
- 检查异常处理在代码。
- 它评估决策语句中的简单和复杂条件。
- 它降低了代码的圈复杂度。
- 它验证软件的不同组件在集成后如何相互通信。
- 它验证当极端边界值输入软件时代码如何反应。
控制流测试的优点
控制流测试的优点列于下方 −
- 它检测在单元测试阶段将识别的最大数量的错误。
- 它还能够检测将在整个测试周期中识别的某些错误部分。
- 它支持手动和自动化方法,因为可以手动或借助工具创建控制流图。
控制流的缺点测试
开发代码的开发人员并不总是能够检测出在控制流测试期间他是否已经覆盖了自己的代码中的所有路径。
结论
至此,我们对软件控制流路径教程的全面介绍就结束了。我们首先描述了什么是控制流路径、控制流路径测试的过程是什么、什么是控制流图、控制流图的特征是什么、控制流图的不同组件是什么、控制流图的示例、控制流测试的目标是什么、控制流测试的优点是什么以及控制流测试的缺点是什么。这使您具备了对软件控制流路径的深入了解。明智的做法是继续实践您学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。