测试用例路径覆盖例子
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实例
以C语言程序为例介绍用基本路径法设计测试用例。要求:最多输入100个值(以-999为输入结束标志),计算落在给定范围内的那些值(称为有效输入值)的个数、总和及平均值。该程序为主程序调用的一个求平均值的函数average (),sum为总和,total为有效值的个数,二者都为全局变量。主程序main()完成数据的读入(调用时传给value数组)及平均值、总和、有效值个数的输出。
示例程序
①画出控制流图,如图所示
②确定Cyclomatic复杂性度量V(G);
V(G)=6(个区域)
V(G)=17(条边)-13(个节点)+2=6
V(G)=5(个谓词节点)+1=6
③确定独立路径集合(6条)
路径1:1-2-10-11-13 (aloq)
路径2:1-2-10-12-13 (alnp)
路径3:1-2-3-10-11-13 (abmoq)
路径4:1-2-3-4-5-8-9-2……(abcdfjk……)
路径5:1-2-3-4-5-6-7-8-9-2……(abcdehijk……)
路径6:1-2-3-4-5-6-8-9-2……(abcdegjk……)
在本例中,判定节点(谓词节点)是节点2、3、5、6和节点10。另外要注意路径4、
5、6中节点2后面的省略号表示随后的部分已无关紧要。
④设计测试用例,强制执行独立路径集中的每一条路径。测试人员可选择数据以在测试每条路径时适当设置判定节点的条件。
路径1的测试用例:
Value(k)=有效输入,其中,k<I ; Value(i)=-999,其中2≤i≤100
期望结果:基于k的正确平均值的总数
注意:路径1必须作为路径4、5、6测试的一部分,它无法独立测试。
路径2的测试用例:
Value(1)=-999 ; 期望结果:average=-999,其它保持初值
路径3的测试用例:
试图处理101个或更多的值,前100个值应该有效。期望结果与测试用例1相同
路径4的测试用例:
Value(i)=有效输入,其中,i<100 ; Value(k)<最小值,其中k<i
期望结果:根据有效输入值的个数和总数正确算出平均值
路径5的测试用例:
Value(i)=有效输入,其中,i<100
期望结果:根据有效输入值的个数和总数正确算出平均值
路径6的测试用例:
Value(i)=有效输入,其中,i<100 ; Value(k)>最大值,其中k<i
期望结果:根据有效输入值的个数和总数正确算出平均值
⑤执行用例,比较结果