第6章_6.4_基本路径法
开始 1 i =1,n1=n2=0,sum=0 F 2和3 Score[ i ]<>-1 AND n2<50 4 F T n2=n2+1
5 和6 Score[ i ]>0 AND score[i]<100
7
T 8 i = i +1 9 n1>0
n1=n1+1,sum=sum+score[i]
F 11 average= – 1 12
5和6 Score[ i ]>0 AND score[i]<100
7
T 8 i = i +1 9 n1>0
n1=n1+1,sum=sum+score[i]
《软件测试与质量保证》课件
基本路径测试
完成路径测试的理想情况是做到路径覆盖,但对于复杂性
大的程序要做到所有路径覆盖(测试所有可执行路径)是 不可能的。
在不能做到所有路径覆盖的前提下,如果某一程序的每一 个独立路径都被测试过,那么可以认为程序中的每个语句 都已经检验过了,即达到了语句覆盖。这种测试方法就是 通常所说的基本路径测试方法。
1、选择一个基线路径。
2、沿基线路径后退,碰到判定节点后翻转,将翻转后的路径作 为基线路径,重复本步骤,直到所有的判定节点都被翻转。 注意:为遵循先易后难的原则,对于循环,一般先让路径跳过 循环,然后考虑进入循环。
基本路径集通常并不唯一。
《软件测试与质量保证》课件
程序基本路径集确定案例
确定步骤见下页……
测试用例2
测试用例3
测试用例4
《软件测试与质量保证》课件
案例2
下例程序流程图描述了最多输入50个值(以–1作为 输入结束标志),计算其中有效的学生分数的个数、总 分数和平均值。
《软件测试与质量保证》课件
1
开始
i =1,n1=n2=0,sum=0 F 2和3 Score[ i ]<>-1 AND n2<50 4 F T n2=n2+1
《软件测试与质量保证》课件
如何由源程序直接得到控制流图?(续)
根据源代码可以导出程序的控制流 图,如图所示。每个圆圈代表控制 流图的节点,圆圈中的数字对应程 序中某一行的编号。箭头代表边的 方向,即控制流方向。
10 6 7 9 11
13,14
18
16
《软件测试与质量保证》课件
2、图矩阵
图矩阵是控制流图的矩阵表示形式。
如何由源程序直接得到控制流图?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 main () { int num1=0, num2=0, score=100; int i; char str; scanf (“%d, %c\n”, &i, &str); while (i<5) { if (str=’T’) num1++; else if (str=’F’) { score=score-10; num2 ++; } i++; } printf (“num1=%d, num2=%d, score=%d\n”, num1, num2, score); }
《软件测试与质量保证》课件
基本路径测试案例1(续)
画出控制流图:
4 6 7 9
void Sort ( int iRecordNum, int iType ) 1{ 2 int x=0; 3 int y=0; 4 while ( iRecordNum-- > 0 ) 5 { 6 If ( iType==0 ) 7 {x=y+2;break;} 8 else 9 If ( iType==1 ) 10 x=y+10; 11 else 12 x=y+20; 13 } 14 }
2.
3.
4.
《软件测试与质量保证》课件
基本路径测试案例1
void Sort ( int iRecordNum, int iType ) 1{ 2 int x=0; 3 int y=0; 4 while ( iRecordNum-- > 0 ) 5 { 6 If ( iType==0 ) 7 {x=y+2;break;} 8 else 9 If ( iType==1 ) 10 x=y+10; 11 else 12 x=y+20; 13 } 14 }
《软件测试与质量保证》课件
1、控制流图
控制流图(可简称流图)是对程序流程图进行简化后得到
的,它可以更加突出的表示程序控制流的结构。
控制流图中包括两种图形符号:节点和控制流线。
节点由带标号的圆圈表示,可代表一个或多个语句、一个
处理框序列和一个条件判定框。
控制流线由带箭头的弧或线表示,可称为边。它代表程序
《软件测试与质量保证》课件
6.4 基本路径法
《软件测试与质量保证》课件
覆盖测试与路径测试
白盒测试的两种常用技术:
覆盖测试:在测试过程中,以覆盖某些程序元素为测试目标
的测试。
路径测试:从流程图上讲,程序的一次执行对应于从入口到 出口的一条路径,针对路径的测试即为路径测试。从广义的 角度讲,任何有关路径分析的测试都可以被称为路径测试。
10
R1 6 R2 8
7
《软件测试与质量保证》课件
步骤3:确定基本路径集合(即独 立路径集合)。于是可确定6条 独立的路径: 路径1:1-2-9-10-12 路径2:1-2-9-11-12 路径3:1-2-3-9-10-12 路径4:1-2-3-4-5-8-2„ 路径5:1-2-3-4-5-6-8-2„ 路径6:1-2-3-4-5-6-7-8-2„ 注: “„”表示后面剩下的路径 是可以选择的。原因在于存在 循环结构。
5和6 Score[ i ]>0 AND score[i]<100 T n1=n1+1,sum=sum+score[i] 8 i = i +1 F 9 n1>0 T 7
11
10
average= – 1 12 返回
average=sum/n1
步骤1:导出程序的流图。
开始 1 i =1,n1=n2=0,sum=0 F 2 和3 Score[ i ]<>-1 AND n2<50
《软件测试与质量保证》课件
在A处翻转 在C处翻转
P1:A,B,C,G P2:A,B,C,B,… 在B处翻转 P3:A,B,E,F,G P4:A,D,E,F,G 在D处翻转 P5:A,D,F,G 注:―…‖表示后面剩下的路径 是可以选择的,原因在于存 在循环结构。
《软件测试与质量保证》课件
课堂练习一
路径4:1-2-3-6-7-9-10-1…
注:“„”表示后面剩下的路 径是可以选择的,原因在于 存在循环结构。
《软件测试与质量保证》课件
5、程序基本路径集及其确定方法
程序基本路径集是指由若干条独立路径组成的集合,其数量
由环形复杂度确定。
McCabe开发了一种算法,用于确定程序的基本路径集合,方 法如下:
2、给定控制流图G的环形复杂度—V(G),定义为 V(G) = E-N+2 其中,E是控制流图中边的数量,N是控制流图中的 节点数量。 3、给定控制流图G的环形复杂度—V(G),也可定义为 V(G) = P+1 其中,P是控制流图G中判定节点的数量。
《软件测试与质量保证》课件
4、独立路径
独立路径是指程序中至少引入了一个新的处理语句集合或一
10
14 13
12
《软件测试与质量保证》课件
基本路径测试案例1(续)
计算环形复杂度: 10(条边)- 8(个节点)+ 2 = 4 导出独立路径(用语句编号表示) 路径1:4→14 路径2:4→6→7→14 路径3:4→6→9→10→13→4„ 路径4:4→6→9→12→13→4„ 注 :“„”表示后面剩下的路径是可 以选择的。原因在于存在循环结 构。
图矩阵是一个方形矩阵,其维数等于控制流图的节点数。
矩阵中的每列和每行都对应于标识的节点,矩阵元素对应 于节点间的边。
通常,控制流图中的结点用数字标识,边则用字母标识。 如果在控制流图中从第 i 个结点到第 j 个结点有一个标识
为 x 的边相连接,则在对应图矩阵的第 i 行第 j 列有一个
非空的元素 x 。
1 2 9 11 R5 12 R6 10 R4 3 4 5 R3
R1 6
R2 8
7
《软件测试与质量保证》课件
步骤 4 :为每一条独立路径 各设计一组测试用例, 以便强迫程序沿着该路 径至少执行一次。 1 )路径 1(1-2-9-10-12) 的 测试用例:不满足条件 2, 满足条件9 score[1]=60; score[2]=–1 期望结果:根据输入的有 效分数算出正确的分数 个 数 n1=1 、 总 分 sum=60 和平均分average=60。
个新条件的程序通路。
采用流图的术语,即独立路径必须至少包含一条在本次定义
路径之前不曾用过的边。
《软件测试与质量保证》课件
独立路径实例
独立路径:至少沿一条新的边移动的路径。
1
路径1:1-11
路径2:1-2-3-4-10-1… 路径3:1-2-3-6-8-9-10-1…
4,5
2
3
6
7 9 10 11 8
根据左图给出的程序流程图,完 成以下要求:
(1)画出相应的控制流图。
(2)给出相应的图矩阵。
(3)计算环形复杂度。 (4)找出程序的基本路径集合。
合集下载
第六章 - 文 件 系 统
文件主
只读标志 隐藏标志
当前文件主
0表示读/写,1表示只读 0表示正常,1表示不在列表 中显示
关键字位置
关键字长度 创建时间
每个记录中关键字偏移
关键字字段中字节数 创建文件的日期和时间
系统标志
存档标志 ASCI I/二进 制标志 随机存取标 志
0表示一般文件,1表示系统 文件
0表示已经后备,1表示需要 后备 0表示ASCI I文件,1表示二 进制文件 0表示只能顺序存取,1表示 随机存取
图6-6 三种文件结构
6.2 文件系统的功能和结构
6.2.1 文件系统的功能
• 文件管理系统,简称文件系统。 • 就是操作系统中负责操纵和管理文件的一整套设 •
施。 一般来说,文件系统应具备以下5种功能: ① 文件管理。 ② 目录管理。 ③ 文件存储空间管理。 ④ 文件的共享和保护。 ⑤ 提供方便的接口。
硬盘分区
图6-14 一种可能的文件系统格式
6.5.2 文件存储分配
• 文件的物理组织涉及一个文件在存储设备上是如何放置的。
•
它和文件的存取方法有密切关系,另外也取决于存储设备 的物理特性。 文件的存储分配涉及以下三个问题: ① 当创建新文件时,是否一次性为该文件分配所需的最大 空间? ② 为文件分配的空间可以是一个或多个连续的单位。 分配文件空间时应采用的单位有多大? ③ 为了记录分配给各个文件的连续单位的情况,应该使用 哪种形式的数据结构或表格?
mpeg,mov,rm
多媒体文件
包含声音或A/V信息的二进制文件
6.1.3 文件属性 • 描述文件特征的属性称做文件属性。
表6-2 可能用到的文件属性
属 性 保护 口令 创建者 含 义 属 性 含 义 谁能访问该文件,以何种方 式访问 访问该文件所需口令 文件创建者的标识 临时标志 锁标志 记录长度 0表示正常,1表示进程结束 时删除文件 0表示开锁,非0表示上锁 一个记录的字节数
第6章 分配与网络模型
6.1
运输问题
这样,经过修改的问题的最优解将会代表实际运输的货物的运输 成本(从虚拟起点出发的线路没有实际运输发生)。当我们执行这个 最优解时,目的地节点处显示的运输量是这个节点需求不被满足的货 物短缺量。 2、最大化目标函数 在某些运输问题中,目标是要找到最大 化利润或者收入的解决方案。这种情况下我们只要把单位利润或者收 入作为一个系数列入目标函数中,简单地把最小改成最大,约束条件 不变,就可求得线性规划的最大值而不是最小值。 3、路线容量和或路线最小量 运输问题的线性规划模型也能 够包含一条或者更多的路线容量或者最小数量问题。例如,假设在福 斯特公司发电机问题中,约克——波士顿路线(起点3到终点1)因为 其常规的运输模式中有限空间的限制,只有1000单位的运输能力。用 x31表示约克——波士顿线路的运输量,那么这条线路的运输能力约束 为:x31 ≤ 1000,类似地,路线的最小量也可以确定下来。
j——终点下标,j=1,2,...,n;
xij——起点i到终点j之间的运输量; cij——起点i到终点j之间的单位运输成本;
si——起点i的供应量或者生产能力;
dj——终点j的需求量。 m个起点,n个终点的运输问题的线性规划的一般模型如下:
6.1
min
运输问题
c x
i 1
n
m个起点,n个终点的运输问题的线性规划的一般模型如下:
1.总的代理(供给)数不等于总的任务(需求)数。
2.目标函数最大化。 3.不可接受的分配。 代理数不等于任务数时的情形和运输问题中总供给不等于总需求时 类似。在线性规划模型中,如果代理数多于任务的数量,多余的代理将 不被指派。如果任务数多于代理数,那么线性规划模型就没有可行的解 决方案。在这种情况下,一种简单的修正方法就是加入足够多的虚拟代 理,使代理数等于任务数。
第6章 分支限界法
6.3 装载问题
1. 问题描述
• 有一批共个集装箱要装上 2 艘载重量分别为 C1 和C2的轮船,其中集装箱i的重量为wi,且
w
i 1
n
i
c1 c2
• 装载问题要求确定是否有一个合理的装载方案 可将这个集装箱装上这2艘轮船。如果有,找出 一种装载方案。 • 如果一个给定装载问题有解,则采用装载策略
最短路径问题关键部分算法
while (true){ // 搜索问题的解空间 for (int j=1;j<=n;j++) if(c[E.i][j] <max && E.length+cE.i][j] < dist[j]) { // 顶点i到顶点j可达,且满足控制约束 dist[j]=E.length+c[E.i][j]; //修正数值
bestx[j] = (bestE.LChild) ? 1 : 0; bestE = bestE.parent; }
学习要点
理解分支限界法的剪枝搜索策略 掌握分支限界法的算法框架,会描述队列变化
(1)队列式(FIFO)分支限界法
(2)优先队列式分支限界法 :会确定优先级
通过应用范例学习分支限界法的设计策略
掌握两类例子每类2个例子:子集树、排列树
分支限界法与回溯法
(1)求解目标:基本相同 回溯法:通过回溯找出满足约束条件的所有解或最 优解 分支限界法:找出满足约束条件的一个解,或是在 满足约束条件的解中找出在某种意义下的最优解 (2)搜索方式:不同
3. 约束条件 1)显式约束:对分量xi的取值限定。
2)隐式约束:为满足问题的解而对不同分量之 间施加的约束。 4. 解空间:对于问题的一个实例,解向量满足显式 约束条件的所有多元组,构成了该实例的一个解空间。
《计算机操作系统教程(第三版)》 第6章 文件管理
返回本节
2 . 路径名 在多级目录结构中,从根目录到末端的数据文件之间只有一条 唯一的路径。我们就可以用路径名惟一的表示一个文件。路径名有 绝对路径名和相对路径名两种表达形式。 绝对路径名,又称为全路径名,是指从根目录到达所要查找文 件的路径名。 相对路径名。在多级目录结构中,如果每次都从根目录开始检 索,会耗费大量的查找时间。为解决此问题,系统引入了当前目录 (又称为工作目录)。用户在一定时间内,可指定某一级的一个目 录作为当前目录(或称工作目录、值班目录),而后用户想访问某 一文件时,便不用给出文件的整个路径名,也不用从根目录开始查 找,只需给出从当前目录到查找的文件间的路径名即可,从而减少 查找路径。
6.1.2 文件的分类、属性及文件系统 的功能
返回本章首页
6.1.1 文件与文件系统的概念
1.文件的定义 文件是具有标识符(文件名)的一组相关信息的 集合。标识符是用来标识文件的。不同的系统对 标识符的规定有所不同。文件的确切定义有两种 说法: (1)文件是具有标识符的相关字符流的集合。 (2)文件是具有标识符的相关记录的集合。
3 . 索引分配
在索引分配策略中,系统为每个文件分配一个索 引块,索引块中存放索引表,索引表中的每个表 项对应分配给文件的一个物理块。
4 . i节点
最后一个磁盘分配策略是给每个文件赋予一张称 为i-节点(索引节点)的小型表,其中列出了文件 属性和各块在磁盘上的地址,实例如图6.13所示。
返回本节
索引节点编号 索引节点状态 连接指针 访问计数
逻辑设备名
返回本节
6.4.2 单级目录结构
文件名 C 文件的物理 位置 日期 时间 其他信 息
bsc
Wps …… 图6.8 单级目录结构
返回本节
2 . 路径名 在多级目录结构中,从根目录到末端的数据文件之间只有一条 唯一的路径。我们就可以用路径名惟一的表示一个文件。路径名有 绝对路径名和相对路径名两种表达形式。 绝对路径名,又称为全路径名,是指从根目录到达所要查找文 件的路径名。 相对路径名。在多级目录结构中,如果每次都从根目录开始检 索,会耗费大量的查找时间。为解决此问题,系统引入了当前目录 (又称为工作目录)。用户在一定时间内,可指定某一级的一个目 录作为当前目录(或称工作目录、值班目录),而后用户想访问某 一文件时,便不用给出文件的整个路径名,也不用从根目录开始查 找,只需给出从当前目录到查找的文件间的路径名即可,从而减少 查找路径。
6.1.2 文件的分类、属性及文件系统 的功能
返回本章首页
6.1.1 文件与文件系统的概念
1.文件的定义 文件是具有标识符(文件名)的一组相关信息的 集合。标识符是用来标识文件的。不同的系统对 标识符的规定有所不同。文件的确切定义有两种 说法: (1)文件是具有标识符的相关字符流的集合。 (2)文件是具有标识符的相关记录的集合。
3 . 索引分配
在索引分配策略中,系统为每个文件分配一个索 引块,索引块中存放索引表,索引表中的每个表 项对应分配给文件的一个物理块。
4 . i节点
最后一个磁盘分配策略是给每个文件赋予一张称 为i-节点(索引节点)的小型表,其中列出了文件 属性和各块在磁盘上的地址,实例如图6.13所示。
返回本节
索引节点编号 索引节点状态 连接指针 访问计数
逻辑设备名
返回本节
6.4.2 单级目录结构
文件名 C 文件的物理 位置 日期 时间 其他信 息
bsc
Wps …… 图6.8 单级目录结构
返回本节
《移动机器人》课件-第6章 移动机器人定位
传感器动态性能还需提高,地图 存在累积误差
12
6.2 同时定位与建图
SLAM问题可以描述为: 移动机器人从一个未知的位置出发,在不断运动过程中根据自身位姿估计和传感 器对环境的感知构建增量式地图,同时利用该地图更新自己的定位。 定位与增量式建图融为一体,而不是独立的两个阶段。
13 移动机器人
6.2 同时定位与建图
移动机器人
三维正态分布曲线
6.3.2 NDT算法
6.3.2 NDT算法
移动机器人
6.3.2 NDT算法
移动机器人
6.3.2 NDT算法
相对于ICP需要剔除不合适的点对(点对距离过大、包含边界点的点对)的 缺点,NDT算法不需要消耗大量的代价计算最近邻搜索匹配点,并且概率密度函 数在两幅图像采集之间的时间可以离线计算出来;
Cartographer的核心内容是融合多传感器数据的局部子图创建以及闭环检测 中的扫描匹配。该方案的不足是没有对闭环检测结果进行验证,在几何对称的环 境中,容易引起错误的闭环。
移动机器人
6.3 基于激光雷达的定位方法
激光雷达点云数据是由一系列空间中的点组成的,属于稀疏点云。 点云处理的关键在于点云的配准,是通过点云构建完整场景的基础。 目前常用的配准方法有ICP算法和 NDT算法。 典型的基于激光雷达的定位方法主要有:Gmapping、Hector SLAM和
6.1 定位
(2)绝对定位 原理:确定移动机器人在全局参考框架下的位姿信息。 特点:不依赖于时间和初始位姿,没有累积误差问题,具有精度高、可靠性
强等特点。 采用导航信标、主动或被动标识、地图匹配、全球定位系统、超声波、激光、
卫星、WiFi、射频标签、蓝牙、超宽带、计算机视觉等定位方法,属于绝对定位 范围。
第6章出库作业管理
(4)新型“整个货架批量”拣取法
为了提高拣货效率,可采用圆形盘式机 器人把可采分货架中某个单元货架整体 搬运到播种现场,进行拣取与播种,完 成拣取任务后再把该货架送回指定区域 。
3.其它拣取方式方法 (1)计算机辅助拣货(电子标签拣选
系统)
(2)利用重力(流动)货架拣货 (3)自动化立体仓库拣货
(2)订单分批的方法 批量拣取法首先要确定批量的大小与分批
的方法,合理的订单分批可有效提高批量拣 取工作效率。常用分批方法有如下几种:
① 总合计量分批。计算拣货作业前所有 累积的订单中每一商品项目的总量,然后再 按这一总量进行拣取。
②按配送区域(或路径)分批。即将同 一配送区域、路径的订单汇总一起处理,提 高配送效率。
正向法具体做法是:首先,做等价变换 ,每行、每列分别减去最小元素,更真 实地反应“实际距离”;其次,已安排 的行和列去掉,在剩下元素中按下一个 最好法进行。
改进后的下一个最好法分三个步骤,第 一步做等价变换,第二步选择路线,第 三步形成最终行走方案并计算总的行走 距离。
例题6-2:假设仓库只有一个出入口,其 余资料参见表6-4所示,拣货单有5个零 件需要拣取,零件集(零件所在货位) J=J1, J2, …,Jn,其中J1为仓库出入口。 表中Cii数据为第i货位到第i货位,没有实 际意义,为了方面计算,设置足够大数 据1000表示不可选择,问如何安排拣取 顺序,使完成5个零件拣取任务行走距离 最短?
拣货路径为:
J1 - J5 - J4 - J2 - J3 - J1 行走距离为:20+2+78+22+35=157(米)
2.正向改进后下一个最好解法
虽然下一个最好法简单,但优化程度不 够理想,该方法存在如下三方面缺欠: 一是初始距离不能真实反应各点之间“ 实际距离”;二是简单进行找下一个是 最好的(最小的),容易出错;三是最 后环节强行连接,影响优化程度。
精品文档-编译原理基础(第二版)(刘坚)-第6章
第6章 代 码 生 成
【例6.3】 图6.1(b)中有三个循环: (1) B3自身是一个循环。 (2) B6自身是一个循环。 (3) { B2,B3,B4}是一个循环。 前两个循环仅有一个节点和一条指向自身的边。例如 B3构成一个以B3为入口节点的循环。根据定义6.3的第(2) 条性质,循环中必须有一条非空的指向入口节点的路径, 此处是从B3到B3。因为,单一节点B2没有一条从B2到B2的 边,所以它不是循环,因为在{B2}中没有从B2到其自身的 非空路径。
பைடு நூலகம்
第6章 代 码 生 成
为每个基本块构造一个节点,并且若B是C的前驱(或 者说C是B的后继),则从B到C有一条边,最终得到流图如 图6.1(b)所示。
入口指向基本块B1,因为B1包含程序的第一条指令。 B1的唯一后继是B2,因为B1不以无条件跳转结束且B2的头 指令紧随B1的结束之后。
第6章 代 码 生 成
定义6.1 一段顺序执行的语句序列被称为一个基本块, 其中,第一条语句被称为基本块的入口,最后一条语句被称为基本 块的出口。
由于基本块中的语句是被顺序执行的,因此基本块的控制 流总是从入口进入,从出口退出。任何一个复杂的程序控制流,均 可以划分为若干个基本块;极端情况下,一条语句构成一个基本块。 因此可以将一段完整的程序表示为一个程序流图。
候被使用。如果一个变量的值当前在寄存器中并且以后再也 不被使用,则该寄存器就可以分配给其他变量。
第6章 代 码 生 成
定义6.4 在形如(i) x := y op z的三地址码中,出现在 “:=”左边和右边的变量分别被称为对变量的定值和引用,i 被称为变量的定值点或引用点。若变量的值在i之后的代码序 列中被引用,则称变量在i点是活跃的。若变量x在i点被定值, 在j点被引用,且从i到j没有x的其他定值,则称j是i中变量x 的下次引用信息,所有这样的下次引用信息jk(k = 1, 2, …) 构成一个下次引用链。
基本路径测试方法PPT精品文档
Nhomakorabea流图
4
▪ 下面这一程序流程图描述了最多输入50个学生成绩 存在Score中(以–1作为输入结束标志),计算其中有 效的学生分数(0-100分)的个数、总分数和平均值。
举例
5
圆圈代表结点,代表 一条或多条语句
箭头线称为边,代表 控制流
流图
由边和结点围成的面积称为区域,当
计算区域数时应该包括图外部未被围 起的部分,如图有R1-R6,共6块区域。
期望结果:根据输入的有效分数算出正确的 分数个数n1、总分sum和平均分average。
设计可强制执行基本集合中 每条路径的测试用例
19
5) 路径5(1-2-3-4-5-6-8-2…)的测试用例: score[i]=有效分数, 当i<50; score[k]>100, k< i ;
期望结果:根据输入的有效分数算出正确的 分数个数n1、总分sum和平均分average。
▪ 4.流图中一条边必须终止于一个 结点,即使这个结点不代表任何 语句。(实际相当于一个空语句)
由程序流程图 画出流图的注意事项
7
8
9
10
流图中线性无关的区域等于环形复杂度 R1-R6共6个区域,环形复杂度为6
计算流图 环形复杂度
11
流图G的环形复杂度V(G)=E-N+2。 其中,E是流图中边的条数,N是结点数。
基本路径测试方法
1
▪ 基本路径测试是一种白盒测试技术。
▪ 1.根据过程设计结果画出相应的流图
▪ 2.计算流图的环形复杂度
▪ 3.确定线性独立路径的基本集合
▪ 4.设计可强制执行基本集合中每条路 径的测试用例。
基本路径测试的主要步骤
4
▪ 下面这一程序流程图描述了最多输入50个学生成绩 存在Score中(以–1作为输入结束标志),计算其中有 效的学生分数(0-100分)的个数、总分数和平均值。
举例
5
圆圈代表结点,代表 一条或多条语句
箭头线称为边,代表 控制流
流图
由边和结点围成的面积称为区域,当
计算区域数时应该包括图外部未被围 起的部分,如图有R1-R6,共6块区域。
期望结果:根据输入的有效分数算出正确的 分数个数n1、总分sum和平均分average。
设计可强制执行基本集合中 每条路径的测试用例
19
5) 路径5(1-2-3-4-5-6-8-2…)的测试用例: score[i]=有效分数, 当i<50; score[k]>100, k< i ;
期望结果:根据输入的有效分数算出正确的 分数个数n1、总分sum和平均分average。
▪ 4.流图中一条边必须终止于一个 结点,即使这个结点不代表任何 语句。(实际相当于一个空语句)
由程序流程图 画出流图的注意事项
7
8
9
10
流图中线性无关的区域等于环形复杂度 R1-R6共6个区域,环形复杂度为6
计算流图 环形复杂度
11
流图G的环形复杂度V(G)=E-N+2。 其中,E是流图中边的条数,N是结点数。
基本路径测试方法
1
▪ 基本路径测试是一种白盒测试技术。
▪ 1.根据过程设计结果画出相应的流图
▪ 2.计算流图的环形复杂度
▪ 3.确定线性独立路径的基本集合
▪ 4.设计可强制执行基本集合中每条路 径的测试用例。
基本路径测试的主要步骤
武大控制测量学 第6章 GPS卫星定位基础
2 GPS基本定位原理
(1)概述 被动式
有源无线电定 位技术 利用距离交会 的原理确定接 收机的三维位 臵及钟差
空间距离交会原理图
(1)GPS定位的各种常用的观测量
L1载波相位观测值 L2载波相位观测值 调制在L1上的C/A-code伪 距 调制在L2上的P-code伪距 Dopple观测值
① 主控站:位于美国科罗拉多( Colorado )的法尔孔( Falcon ) 空军基地。 根据各监控站对 GPS 的观测数据,计算出卫星的星历和卫星 时钟的改正参数等,并将这些数据通过注入站注入到卫星中去; 对卫星进行控制,向卫星发布指令;当工作卫星出现故障时, 调度备用卫星,替代失效的工作卫星工作; 主控站还具有监控站的功能。 ② 监控站:主控站、夏威夷( Hawaii )、阿松森群岛 ( Ascencion )、迭哥伽西亚( Diego Garcia )、和卡瓦加兰 ( Kwajalein )。 接收卫星信号,监测卫星的工作状态。 ③ 注入站:阿松森群岛( Ascencion )、迭哥伽西亚( Diego Garcia )、和卡瓦加兰( Kwajalein )。其作用和功能是: 注入站的作用是将主控站计算的卫星星历和卫星时钟的改正参数 等注入到卫星中去。
③ GPS接收机的基本类型:大地型、导航型和授时型三种。大地 型接收机按接收载波信号的差异分为单频(L1)型和双频(L1, L2)型。
PTK系统
导航型接收机
大地型接收机
3 GPS系统的特点
定位精度高 GPS相对定位精度在50km以内可达10-6 ,100-500km可达10-7 , 1000km可达10-9 。在300-1500m工程精密定位中,1小时以上观 测的解其平面其平面位臵误差小于1mm。 观测时间短 20KM以内快速静态相对定位,仅需15-20分钟;RTK测量时,当 每个流动站与参考站相距在15KM以内时,流动站观测时间只需 1-2分钟。 测站间无须通视 可节省大量的造标费用。由于无需点间通视,点位位臵可根据 需要,可稀可密,使选点工作甚为灵活,也可省去经典大地网 中的传算点、过渡点的测量工作。
基本路径法
结束
l 11
如果判定中的条件表达式是复合条件,即条件表 达式是由一个或多个逻辑运算符连接的逻辑表达 式,则需要改变复合条件的判断为一系列只有单 个条件的嵌套的判断。
复合条件分解控制流图
A>1 AND B=0
X= X/ A
(a ) 流程图
A>1
B=0
1
2 3
流程图
1
X=X/A
(c ) 详细流程图
设计测试用例
输入数据
1 iR=0 it=0
2 iR=1 iT=0
3 iR=1 iT=1
4 iR=1 iT=2
预期输出
X=0 Y=0
X=2 Y=0
X=10 Y=0
X=20 Y=0
3、图矩阵
图矩阵-即流图的矩阵表示。其维数等于流图的节点数。 每列和每行都对应于标识的节点,矩阵元素对应于节点 的边。
对应上面图中的圈复杂度,计 算如下:
✓ 流图中有四个区域;
J
✓ V(G)=11条边-9结点+2=4;
✓ V(G)=3个判定结点+1=4。
A
4
B
K
6
D
C
7
F8 G
E
10
11
H
I
13
14
确定路径
路径1:4—14 路径2:4—6—7—13—4—14 路径3:4—6—8—10—13—4—14 路径4:4—6—8—11—13—4—14
return s;
}
环形复杂度计算
1.流图中区域的数量对应于环形复杂度; 2.给定流图G的环形复杂度为V(G),定义为
V(G )=E-N+2, E是流图中边的数量,N是流图中节点的数量. 3.给定流图G的环形复杂度V(G),定义为 V(G)=P+1,P是流图G中判定节点的数量.
