控制流程测试
控制流测试是一种白盒测试下的测试技术。该技术的目的是通过控制结构确定语句或程序指令的执行顺序。程序的控制结构用于开发程序的测试用例。在该技术中,测试者选择大程序的特定部分来设置测试路径。它主要用于单元测试。测试用例由程序的控制图表示。
控制流图由节点,边缘,决策节点,结节点形成,以指定所有可能的执行路径。
用于控制流图的符号
- 节点
- 边缘
- 决策节点
- 连接节点
节点
控制流程图中的节点用于创建过程路径。它代表了接下来程序的程序顺序,测试人员可以确定程序的发生顺序。
我们在下面的示例中可以看到第一个节点表示启动过程,下一个过程是在赋值后分配n的值,如果是18或更大的值,则根据n的值确定过程的下一个节点的决策节点 如果小于18不符合条件的程序执行,那么它是合理的,程序将以其他方式执行。下一个节点是结节点,最后一个节点是停止节点以停止该过程。
边缘
控制流图中的边用于链接节点的方向。在下面的示例中可以看到,所有箭头都用于在适当的方向上链接节点。
决策节点
控制流程图中的决策节点用于根据值确定过程的下一个节点。可以在下面的示例中看到决策节点根据n的值确定过程的下一个节点,如果它是18或大于18,那么如果小于18,则合格的过程将执行,否则执行不合格的过程。
连接节点
控制流图中的结点节点是至少三个链路相遇的点。
示例
public class VoteEligiblityAge{
public static void main(String []args){
int n=45;
if(n>=18)
{
System.out.println("你有投票资格。");
}else{
System.out.println("你没有投票资格。");
}
}
}
控制流程图
上面的例子显示了投票年龄的资格标准,如果年龄是18岁或者超过18岁,那么打印消息“你有投票资格”,如果它少于18,则打印“你没有投票资格”。
此方案的程序如上所述,控制流程图是为测试目的而设计的。
在控制流图中,start
,age
,qualified
,not eligible
和stop
是节点,n> = 18
是决定哪个部分(if或else)将根据给定值执行的决策节点。符合条件的节点和不符合条件的节点的连接在停止节点上。
通过程序的流程图设计测试用例,以确定执行路径是否正确。所有节点,连接点,边缘和决策都是设计测试用例的基本部分。