控制流软件测试
控制流测试是一种以程序的控制流为模型的软件测试。控制流测试是一种结构测试策略。这种测试技术属于白盒测试。对于控制流测试的类型,测试团队应该知道软件的所有结构、设计、代码和实现。
开发人员经常使用这种类型的测试方法来测试他们自己的代码和自己的实现,因为开发人员更了解设计、代码和实现。实现此测试方法的目的是测试代码的逻辑,以便满足用户要求。它的主要应用是关联小程序和大程序的段。
控制流测试过程:
以下是控制流测试过程中涉及的步骤:
- 控制流图创建:
根据给定的源代码,可以手动或使用软件创建控制流图。 - 覆盖目标:
覆盖目标是在包括节点、边、路径、分支等的控制流图上定义的。 - 测试用例创建:
使用控制流图创建测试用例以覆盖定义的覆盖目标。 - 测试用例执行:
在覆盖目标上创建测试用例后,将执行进一步的测试用例。 - 分析:
分析结果并找出程序是否没有错误或有一些缺陷。
控制流程图:
控制流图是在程序执行期间完成的控制流或计算的图形表示。控制流图主要用于静态分析以及编译器应用程序,因为它们可以准确地表示程序单元内部的流程。控制流图最初是由 Frances E. Allen 开发的。
圈复杂度:
圈复杂度是其中线性独立路径数量的定量度量。它是用于描述程序复杂性的软件度量。它是使用程序的控制流图计算的。
M = E - N + 2P
控制流测试的优点:
- 它检测到几乎一半在单元测试期间确定的缺陷。
- 它也决定了整个程序几乎三分之一的缺陷。
- 它可以手动或自动执行,因为使用的控制流图可以手动或使用软件制作。
控制流测试的缺点:
- 如果程序和模型由同一个人完成,则很难找到丢失的路径。
- 不太可能找到虚假特征。