控制流测试 数据流测试 分支覆盖测试 控制流测试(Control Flow Testing) 控制流测试是一种属于白盒测试的测试技术。该技术的目的是通过控制结构确定程序语句或指令的执行顺序。程序的控制结构用于为程序开发测试用例。在这种技术中,测试人员选择大型程序的特定部分来设置测试路径。它主要用于单元测试。测试用例由程序的控制图表示。 控制流图由节点、边、决策节点、连接节点组成,指定所有可能的执行路径。 用于控制流图的符号 Node Edge Decision Node Junction node Node 控制流图中的节点用于创建过程路径。基本上,它代表了下一个程序的程序顺序,因此测试人员可以确定程序的发生顺序。 我们可以在下面的例子中看到第一个节点代表启动过程,下一个过程是在分配值后分配 n 的值,如果 n 为 18 或更多,则有决策节点根据 n 的值决定过程的下一个节点如果小于 18 则符合条件的程序将执行,否则如果小于 18 不符合条件的程序将执行。下一个节点是连接节点,最后一个节点是停止节点以停止程序。 Edge 控制流图中的边用于链接节点的方向。 Decision Node 控制流图中的决策节点用于根据值决定过程的下一个节点。 我们可以在下面的示例决策节点中看到,如果 n 为 18 或大于 18,则根据 n 的值决定过程的下一个节点,因此,如果小于 18,则执行符合条件的过程,否则执行不符合条件的过程。 Junction node 控制流图中的结点是至少三个链接相交的点。 例子 public class VoteEligiblityAge{ public static void main(String []args){ int n=45; if(n>=18) { System.out.println("You are eligible for voting"); } else { System.out.println("You are not eligible for voting"); } } } 图 - 控制流图 上面的例子显示了投票年龄的资格标准,如果年龄为 18 岁或超过 18 岁,则打印消息“您有资格投票”,如果小于 18 岁,则打印“您没有资格投票”。 上面写了这个场景的程序,控制流图是为了测试目的而设计的。 在控制流图中,start、age、qualified、notqualified和stop是节点,n>=18是决策节点,决定哪个部分(if或else)按照给定的值执行。合格节点和不合格节点的连通性存在于停止节点上。 测试用例是通过程序的流程图设计来判断执行路径是否正确。所有节点、连接点、边和决策都是设计测试用例的基本部分。 数据流测试 分支覆盖测试