软件工程中的路径测试
路径测试是一种用于设计测试用例的方法。在路径测试方法中,程序的控制流图被设计为找到一组线性独立的执行路径。在这种方法中,循环复杂度用于确定线性独立路径的数量,然后为每个路径生成测试用例。
它提供了完整的分支覆盖,但在没有覆盖控制流图的所有可能路径的情况下实现了这一点。 McCabe 的圈复杂度用于路径测试。它是一种结构测试方法,它使用程序的源代码来查找每个可能的可执行路径。
路径测试过程:
- 控制流程图:
画出程序对应的控制流图,在其中发现所有可执行路径。 - 圈复杂度:
控制流图生成后,使用以下公式计算程序的圈复杂度。McCabe's Cyclomatic Complexity = E - N + 2P Where, E = Number of edges in control flow graph N = Number of vertices in control floe graph P = Program factor
- 制作套装:
根据控制浮动图和计算的圈复杂度,制作一组所有路径。集合的基数等于计算的圈复杂度。 - 创建测试用例:
为上述步骤中获得的集合的每个路径创建测试用例。
路径测试技术:
- 控制流程图:
通过将代码表示为节点和边,将程序转换为控制流图。 - 决策到决策路径:
控制流图可以分解为各种决策到决策路径,然后折叠成单独的节点。 - 独立路径:
独立路径是通过决策到决策路径图的路径,不能通过其他方法从其他路径再现。路径测试的优点:
- 路径测试方法减少了冗余测试。
- 路径测试侧重于程序的逻辑。
- 路径测试用于测试用例设计。