基本路径覆盖的例子

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

有一个求平均值的过程Averagy,用PDL 描述如下:

PROCEDURE Averagy;

INTERFACE RETURNS average,total.input,total.valid;

INTERFACE ACCEPTS value,minimum,maximum,sum IS SCALAR;

TYPE valid[0..100] IS SCALAR ARRAY;

TYPE averagy,total.input,total.valid,minimum,maximum,sun IS SCALAR; TYPE i IS INTEGER;

i = 1;

total.input=total.valid = 0; sum=0;

increment total.input by 1;

THEN increment total.valid by 1;

sum= sum + value[i]; ELSE skip

ENDIF; increment i by 1;

ENDDO T HEN averagy = sum / total.valid;

E LSE averagy = -999;

ENDIF END Averagy

⑪ 由过程导出控制流图

⑫ 计算得到的控制流图的环路复杂度

V(G)=6 ⑬ 确定线性无关的基本路径

计算出的环路复杂性的值,就是该图已有的 线性无关基本路径集中的路径数目:

Path1:1-2-10-11-13

Path2:1-2-10-12-13

Path3:1-2-3-10-11-13 Path4:1-2-3-4-5-6-7-8-9-2

Path5:1-2-3-4-5-6-8-9-2

Path6:1-2-3-4-5-8-9-2

⑭ 准备测试用例,确保基本路径集中的每一

条路径的执行。

根据判定结点给出的条件,选择适当的数据,

以保证某一条路径可以被测试到,满足上例基本路

径集的测试用例:

Path1: 输入数据 value[k]=有效输入,限于 k

value[i]=-999 2<=i<=100

⑧ ⑨ a 图10.8 Averagy过程的控制流图

预期结果 n个值的正确的平均值,正确的总计数

Path2: 输入数据 value[1]=-999

预期结果平均值=-999,总计数器取初值

Path3: 输入数据试图处理101或更多的值,而前100个是有效值

预期结果与测试用例1相同

Path4: 输入数据 value[i]=有效输入,限于 i<100

value[k]<最小值 k

预期结果 n个值的正确的平均值,正确的总计数

Path5: 输入数据 value[i]=有效输入,限于 i<=100

value[k]>最大值 k

预期结果 n个值的正确的平均值,正确的总计数

Path6: 输入数据 value[i]=有效输入, i<=100

预期结果 n个正确的平均值,正确的总计数

注意:一些独立的路径,往往不是完全孤立的,有时它是程序正常的控制流的一部分。这些路径的测试可以是另一条路径测试的一部分。

相关文档
最新文档