测试用例设计指南(五)

发表于:2008-07-18来源:作者:点击数: 标签:设计指南
画出其对应的控制流图如下: 逐一:如果在程序中遇到复合条件,例如条件语句中的多个布尔运算符(逻辑OR、AND)时,为每一个条件创建一个独立的节点,包含条件的节点称为判定节点,从每一个判定节点发出两条或多条边。例如: 1 if ( a or b) 2 x 3 else 4 y

画出其对应的控制流图如下:

逐一:如果在程序中遇到复合条件,例如条件语句中的多个布尔运算符(逻辑OR、AND)时,为每一个条件创建一个独立的节点,包含条件的节点称为判定节点,从每一个判定节点发出两条或多条边。例如:
1 if ( a or b)
2 x
3 else
4 y
5 …
对应的逻辑为:


 3.2.2计算圈复杂度

    圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。
    有以下三种方法计算圈复杂度:
         流图中区域的数量对应于环型的复杂性;
         给定流图G的圈复杂度-V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中节点的数量;
         给定流图G的圈复杂度-V(G),定义为V(G)=P+1,P是流图G中判定节点的数量。
 
对应3.2.1图一中代码的圈复杂度,计算如下:
         流图中有四个区域;
         V(G)=11条边-9节点+2=4;
         V(G)=3个判定节点+1=4。

原文转自:http://www.ltesting.net