测试用例设计指南(五)

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

测试用例设计指南(五)

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

 

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>

测试用例设计指南(五)

 

 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?>3.2.2计算圈复杂度

   圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。

   有以下三种方法计算圈复杂度:

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /?>        流图中区域的数量对应于环型的复杂性;

        给定流图G的圈复杂度-V(G),定义为V(G)=E-N+2E是流图中边的数量,N是流图中节点的数量;

        给定流图G的圈复杂度-V(G),定义为V(G)=P+1P是流图G中判定节点的数量。

 

对应3.2.1图一中代码的圈复杂度,计算如下:

        流图中有四个区域;

        V(G)=11条边-9节点+2=4;

        V(G)=3个判定节点+1=4