2021-01-07

博客园Logo
首页
新闻
博问
专区
闪存
班级
代码改变世界
搜索
注册
登录
返回主页
bmilk
博客园
首页
新随笔
联系
订阅
管理
基本路径测试
基本路径测试
定义:基本路径测试法又称独立路径测试,是在程序控制流图的基础上,通过分析控制结构的环路复杂性,导出基本可执行路径集合,从而设计出相应的测试用例的方法。
所谓基本路径是指程序中至少引进一条新的语句或一个新的条件的任一路径。
步骤:

根据程序设计结果导出程序流程图的控制流图;

流程图用来描述程序控制结构。可将流程图映射到一个相应的流图(对于菱形框内的复合条件,要拆分成单一条件)。在流图中,每一个圆,称为流图的结点,代表一个或多个语句。一个处理方框序列和一个菱形决测框可被映射为一个结点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个结点,即使该结点并不代表任何语句(例如: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
分类: 测试
好文要顶 关注我 收藏该文
bmilk
关注 - 0
粉丝 - 1
+加关注
00
« 上一篇: 测试准备
posted @ 2021-01-06 22:27 bmilk 阅读(30) 评论(0) 编辑 收藏
刷新评论刷新页面返回顶部
登录后才能发表评论,立即 登录 或 注册, 访问 网站首页
【推荐】News: 大型组态、工控、仿真、CADGIS 50万行VC++源码免费下载
【推荐】有你助力,更好为你——博客园用户消费观调查,附带小惊喜!
【推荐】AWS携手博客园为开发者送福利,注册立享12个月免费套餐
【推荐】七牛云新老用户同享 1 分钱抢 CDN 1TB流量大礼包!
【推荐】了不起的开发者,挡不住的华为,园子里的品牌专区
【推荐】未知数的距离,毫秒间的传递,声网与你实时互动
【推荐】新一代 NoSQL 数据库,Aerospike专区新鲜入驻

相关博文:
· ArrayList实现原理(JDK1.8)
· 十分钟掌握Pandas(上)——来自官网API
· Java并发之synchronized关键字和Lock接口
· Aso.NetCore的配置系统Configuration
· kalilinux修改更新源和更新命令
» 更多推荐…

最新 IT 新闻:
· XBox新主机供应短缺微软寻求AMD的帮助
· GitHub获得许可允许为伊朗开发者提供服务
· 开源开发者 David Recordon 被任命为白宫的技术总监
· 印度 STEM 毕业生四成为女性,但科技行业中的女性只占 14%
· Boom Supersonic 试图打造超音速客机的新时代
» 更多新闻…
公告
昵称: bmilk
园龄: 1年8个月
粉丝: 1
关注: 0
+加关注
< 2021年1月 >
日 一 二 三 四 五 六
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6
搜索

最新随笔
1.基本路径测试
2.测试准备
3.深入理解JVM内存回收机制(不包含垃圾收集器)
4.从JDK源码理解java引用
5.Buffer的创建及使用源码分析——ByteBuffer为例
6.二叉树的子结构、深度以及重建二叉树
7.数据结构——树与二叉树的遍历
8.Java NIO之Buffer的使用
9.Java多线程之synchronized详解
10.Java多线程之volatile详解
随笔分类
java多线程(9)
Java源码分析(7)
jvm(3)
leetcode刷题(2)
NIO(2)
数据结构与算法(2)
随笔档案
2021年1月(1)
2020年12月(1)
2020年7月(6)
2020年6月(7)
2020年5月(2)
最新评论

  1. Re:Java多线程之内存模型
    支持一下。继续努力。

–我不是铁杆啊
2. Re:Java多线程之内存模型
Markdown学习 一级标题= #空格##+标题 二级标题 三级标题 字体 你好,hello! 你好,hello! 你好,hello! 你好,hello! 引用 选择狂神说 分割线 三个杠或三个✳号…
–红白云
阅读排行榜

  1. Java多线程之synchronized详解(772)
  2. Java多线程之volatile详解(559)
  3. 数据结构——树与二叉树的遍历(370)
  4. 读写锁doReleaseShared源码分析及唤醒后继节点的过程分析(352)
  5. 深入理解JVM内存回收机制(不包含垃圾收集器)(315)
    评论排行榜
  6. Java多线程之内存模型(2)
    推荐排行榜
  7. Buffer的创建及使用源码分析——ByteBuffer为例(1)
  8. 二叉树的子结构、深度以及重建二叉树(1)
  9. 数据结构——树与二叉树的遍历(1)
  10. 阻塞队列一——java中的阻塞队列(1)
  11. ReentrantReadWriteLock源码分析及理解(1)
    Copyright © 2021 bmilk
    Powered by .NET 5.0 on Kubernetes
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值