codecamp

软件测试 控制流程测试

控制流测试是一种白盒测试下的测试技术。该技术的目的是通过控制结构确定语句或程序指令的执行顺序。程序的控制结构用于开发程序的测试用例。在该技术中,测试者选择大程序的特定部分来设置测试路径。它主要用于单元测试。测试用例由程序的控制图表示。

控制流图由节点,边缘,决策节点,结节点形成,以指定所有可能的执行路径。

用于控制流图的符号

  • 节点
  • 边缘
  • 决策节点
  • 连接节点

节点

控制流程图中的节点用于创建过程路径。它代表了接下来程序的程序顺序,测试人员可以确定程序的发生顺序。

我们在下面的示例中可以看到第一个节点表示启动过程,下一个过程是在赋值后分配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("你没有投票资格。");  
        }  
    }  
}
Java

控制流程图

控制流程图

上面的例子显示了投票年龄的资格标准,如果年龄是18岁或者超过18岁,那么打印消息“你有投票资格”,如果它少于18,则打印“你没有投票资格”。

此方案的程序如上所述,控制流程图是为测试目的而设计的。

在控制流图中,start,age,qualified,not eligible和stop是节点,n> = 18是决定哪个部分(if或else)将根据给定值执行的决策节点。符合条件的节点和不符合条件的节点的连接在停止节点上。

通过程序的流程图设计测试用例,以确定执行路径是否正确。所有节点,连接点,边缘和决策都是设计测试用例的基本部分。

//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/software_testing/control-flow-testing-in-white-box-testing.html




软件测试 数据流测试
软件测试 分支覆盖测试
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }