基本路径测试
基本路径测试
定义:基本路径测试法又称独立路径测试,是在程序控制流图的基础上,通过分析控制结构的环路复杂性,导出基本可执行路径集合,从而设计出相应的测试用例的方法。
所谓基本路径是指程序中至少引进一条新的语句或一个新的条件的任一路径。
步骤:
-
根据程序设计结果导出程序流程图的控制流图;
流程图用来描述程序控制结构。可将流程图映射到一个相应的流图(对于菱形框内的复合条件,要拆分成单一条件)。在流图中,每一个圆,称为流图的结点,代表一个或多个语句。一个处理方框序列和一个菱形决测框可被映射为一个结点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个结点,即使该结点并不代表任何语句(例如:if-else-then结构)。由边和结点限定的范围称为区域。计算区域时应包括图外部的范围
-
计算程序环路复杂度
环路复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。
-
导出基本路径集,确定程序的独立路径
每个圈与圈之间的连线便是一个独立路径,对于单进单出的节点可以使用连线代替。
-
根据独立路径,设计相应的测试用例
根据上面的独立路径,去设计输入数据。
举例
示例代码
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-2-6
- 1-2-3-6
- 1-2-3-4-2
- 1-2-3-5-2
-
设计相应的测试用例
基本路径 | arr | objectValue | return |
---|---|---|---|
1-2-6 | [ ] | 1 | -1 |
1-2-3-6 | [1,2,3] | 2 | 1 |
1-2-3-4-2 | [1,2,3,4,5] | 2 | 1 |
1-2-3-5-2 | [1,2,3,4,5] | 4 | 3 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!