控制流测试
控制流测试
控制流测试是一种属于白盒测试的测试技术。该技术的目的是通过控制结构确定程序语句或指令的执行顺序。程序的控制结构用于为程序开发测试用例。在这种技术中,测试人员选择大型程序的特定部分来设置测试路径。它主要用于单元测试。测试用例由程序的控制图表示。
控制流图由节点、边、决策节点、连接节点组成,指定所有可能的执行路径。
用于控制流图的符号
节点
边缘
决策节点
结点
节点
控制流图中的节点用于创建过程路径。基本上,它代表了下一个过程的过程顺序,因此测试人员可以确定过程发生的顺序。
我们可以在下面的示例中看到第一个节点表示开始过程和下一个程序是在分配值后分配n的值,如果n为18或大于18,则有决策节点根据n的值决定程序的下一个节点,因此符合条件的程序将执行,如果小于18则不符合条件程序执行。下一个节点是连接节点,最后一个节点是停止节点以停止程序。
Edge
控制流图中的边用于链接节点的方向。
我们可以在下面的示例中看到所有箭头都用于将节点链接到适当的方向。
Decision node
Decision node in控制流图用于根据值决定过程的下一个节点。
我们可以在下面的示例中看到决策节点根据 n 的值决定程序的下一个节点,如果它是 18 或大于 18,那么符合条件的程序将执行,否则如果小于 18,则不符合条件的程序
连接节点
控制流图中的连接节点是至少三个链接相交的点。
示例
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)。合格节点和不合格节点的连通性存在于停止节点上。
通过程序的流程图设计测试用例,以确定执行路径是否正确。所有节点、连接点、边和决策都是设计测试用例的必要部分。