基本路径测试案例分析
二分查找
public int binSearch(int arr[], int objectValue) { int left = 0; int right = arr.length - 1; int mid; while (left < right) { mid = (right - left) / 2 + left; if (arr[mid] == objectValue) { return mid; } else if (objectValue < arr[mid]) { right = mid - 1; } else { left = mid + 1; } } return -1; }
基本路径测试是一种白盒测试方法,它在程序控制图的基础上,通过分析控制构造的环行复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次。
1)V(G)= 4 (个区域)
2)V(G)=E–N+2=11–9+2=4
其中E为流图中的边数,N为结点数;
3)V(G)=P+1=3+1=4
其中P为谓词结点(分支结点)的个数。在流图中,结点2、4、5是谓词结点。
步骤3:确定基本路径集合(即独立路径集合)。于是可确定4条独立的路径:
路径1:1-2-9
路径2:1-2-3-4-9
路径3:1-2-3-4-5-6-8-2…
路径4:1-2-3-4-5-7-8-2…
1、路径1(1-2-9)的测试用:
输入:arr={1} objectValue=1
期望结果:传入数组和目标值,不能使用该方法查到该目标值,返回:-1
Junit单元测试:
2、路径2(1-2-3-4-9)的测试用例:
输入:arr={1,3,5} objectValue=3
期望的结果:传入数组和目标值,能使用该方法在数组中查到该目标值,返回位置:1
Junit单元测试:
3、路径3(1-2-3-4-5-6-8-2…)的测试用例:
输入:arr={1,3,5} objectValue=4
期望结果:传入数组和目标值,不能在数组中查到该目标值,返回:-1
Junit单元测试:
4、路径4(1-2-3-4-5-7-8-2…)的测试用例:
输入:arr={1,3,5} objectValue=2
期望结果:传入数组和目标值,不能在数组中查到该目标值,返回:-1
Junit单元测试:
基本路径测试法是在 程序控制流图 的基础上,通过分析控制构造的环路复杂性,导出 基本可执行路径 集合,从而 设计测试用例 的方法,设计出的测试用例要保证在测试中程序的语句覆盖100%,条件覆盖100%。路径覆盖可以对程序进行彻底的测试,比语句覆盖、判定覆盖、条件覆盖、判定条件覆盖以及条件组合覆盖的覆盖面都要广。
作者:Reset:
原文链接:https://blog.csdn.net/qq_46083525/article/details/124480769