软件测试之基本路径测试

上传人:daj****de2 文档编号:132486340 上传时间:2022-08-08 格式:DOCX 页数:6 大小:13.94KB
收藏 版权申诉 举报 下载
软件测试之基本路径测试_第1页
第1页 / 共6页
软件测试之基本路径测试_第2页
第2页 / 共6页
软件测试之基本路径测试_第3页
第3页 / 共6页
资源描述:

《软件测试之基本路径测试》由会员分享,可在线阅读,更多相关《软件测试之基本路径测试(6页珍藏版)》请在装配图网上搜索。

1、软件测试之基本路径测试基本路径测试是Tom McCabe MCC76首先提出的一种白盒测试技术,基本 路径测试方法上”。允许测试用例设计者导出一个过程设计的逻辑复杂性测度, 并使用该测度作为指南来定义执行路径的基本集。从该基本集导出的测试用例 保证对程序中的每一条语句至少执行一次。1 流图符号在介绍基本路径方法之前,必须先介绍一种简单的控制流表示方法,即流 图或程序图。流图使用图1-1中的符号描述逻辑控制流,每一种结构化构成 元素有一个相应的流图符号。为了说明流图的用法,我们采用图 1-2 中的过程设计表示法,此处,流程 图用来描述程序控制结构。图 1-2b 将流程图映射到一个相应的流图(假设

2、流程 图的菱形决定框中不包含复合条件)。在图 1-2b 中,每一个圆,称为流图的节 点,代表一个或多个语句。一个处理方框序列和一个菱形决测框可被映射为一 个节点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。 一条边必须终止于一个节点,即使该节点并不代表任何语句(例如:参见if-else-then 结构的符号)。由边和节点限定的范围称为区域。计算区域时应包 括图外部的范围。任何过程设计表示法都可被翻译成流图,图 1-3 显示了一个程序设计语言 (PDL,ProgramDesign Language)片段及其对应的流图,注意,对PDL语句进行 了编号,并将相应的编号用于流图中。程

3、序设计中遇到复合条件时,生成的流图变得更为复杂。当条件语句中用 到一个或多个布尔运算符(逻辑OR, AND, NAND, NOR)时,就出现了复合条件。 图1-4中,将一个PDL片段翻译为流图,注意,为语句IF a OR b中的每一个a 和 b 创建了一个独立的节点,包含条件的节点被称为判定节点,从每一个判定 节点发出两条或多条边。2 环形复杂性环形复杂性是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量 用于基本路径方法,计算所得的值定义了程序基本集的独立路径数量,并为我 们提供了确保所有语句至少执行一次的测试数量的上界。独立路径是指程序中至少引进一个新的处理语句集合或一个新条件的任一

4、路径。采用流图的术语,即独立路径必须至少包含一条在定义路径之前不曾用 到的边。例如,图1-2b中所示流图的一个独立路径集合为:路径 1 :1-11路径 2: 1-2-3-4-5-10-1-11路径 3: 1-2-3-6-8-9-10-1-11路径 4: 1-2-3-6-7-9-10-1-11注 意 , 每 一 条 新 的 路 径 都 包 含 了 一 条 新 边 。 路 径 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11 不是独立路径,意味它只是已有路径的简 单合并,并未包含任何新边。上面定义的路径1, 2, 3和4包含了图1-2b所示流图的一个基本集,简而 言之,如果能将测试

5、设计为强迫运行这些路径(基本集),那么程序中的每一条 语句将至少被执行一次,每一个条件执行时都将分别取true和false。应该注 意到基本集并不唯一,实际上,给定的过程设计可派生出任意数量的不同基本 集。如何才能知道需要寻找多少条路径呢?对环形复杂性的计算提供了这个问 题的答案。环形复杂性以图论为基础,为我们提供了非常有用的软件度量。可 用如下三种方法之一来计算复杂性:1. 流图中区域的数量对应于环形的复杂性。2. 给定流图G的环形复杂性V(G),定义为V(G)二E-N+2, E是流图中边 的数量, N 是流图节点数量。3. 给定流图G的环形复杂性V(G),也可定义为V(G)二P+1, P是

6、流图G 中判定节点的数量。再回到图1-2b。可采用上述任意一种算法来计算环形复杂性。1. 流图有4个区域。2. V(G)=11 条边-9 个节点+2=4。3. V(G)=3个判定节点+1=4。因此,图1-2b的环形复杂性是4。更重要的是,V(G)的值提供了组成基本集的独立路径的上界,并由此得出 覆盖所有程序语句所需的测试设计数量的上界。3 导出测试用例基本路径测试方法可用于过程设计或源代码生产。本节中,我们将基本路 径测试表示为一系列步骤,图1-5中PDL所描述的过程“求平均值”将被用于 阐明测试用例设计方法中的各个步骤。注意,“求平均值”虽然是一个非常简单 的算法,但是仍然包含了复合条件和循

7、环。1. 以设计或代码为基础,画出相应的流图。2. 确定结果流图的环形复杂性。可采用上一节中的任意一种算法来计算环 形复杂性一一V(G)。应该注意到,计算V(G)并不一定要画出流图,计算PDL中 的所有条件语句数量(过程求平均值中复合条件语句计数为2),然后加 1 即可得 到环形复杂性。在图 1-6 中,V(G)=6 个区域V(G)=18 条边-14 个节点+2=6。V(G)=5 个判定节点+1=6。3. 确定线性独立的路径的一个基本集。V(G)的值提供了程序控制结构中线 性独立的路径的数量,在过程求平均值中,我们指定六条路径:路径 1:1-2-10-11-13路径 2:1-2-10-12-1

8、3路径 3:1-2-3-10-11-13路径 4: 1-2-3-4-5-8-9-2-路径 5: 1-2-3-4-5-6-8-9-2-路径 6: 1-2-3-4-5-6-7-8-9-2-路径4、5和6后面的省略号()表示可加上控制结构其余部分的任意路径。通常在导出测试用例时,识别判定节点是很有必要的。本例中,节点 2、 3、 5、 6 和 10 是判定节点。4. 准备测试用例,强制执行基本集中每条路径。 测试人员可选择数据以便 在测试每条路径时适当设置判定节点的条件。满足上述基本集的测试用例如下路径 1 测试用例:value(k)二有效输入,其中kVivalue(i)=-999,其中 2WiW1

9、00期望结果:基于 k 的正确平均值和总数注意:路径 1 无法独立测试,必须作为路径 4、 5 和 6 测试的一部分。路径2 测试用例:value(1)=-999期望结果:求平均值=-999;其他按初值汇总路径3 测试用例:试图处理 101 或更大的值前 100 个数值应该有效期望结果:与测试用例1 相同路径4 测试用例:value(i)二有效输入,其中iV100value(k) V最小值,其中kVi期望结果:基于k的正确平均值和总数路径5 测试用例:value(i)二有效输入,其中iV100value(k)最大值,其中k上i期望结果:基于k的正确平均值和总数路径6 测试用例:value(i)

10、二有效输入,其中iV100期望结果:基于k的正确平均值和总数执行每个测试用例,并和期望值比较,一旦完成所有测试用例,测试者可 以确定在程序中的所有语句至少被执行一次。重要的是要注意,某些独立路径(如,例子中的路径1)不能以独立的方式被 测试,即,穿越路径所需的数据组合不能形成程序的正常流,在这种情况下, 这些路径必须作为另一个路径测试的一部分来进行测试。4 图矩阵导出流图和决定基本测试路径的过程均需要机械化,为了开发辅助基本路径测试的软件工具,称为图矩阵(graph matrix)的数据结构很有用。图矩阵是一个正方形矩阵,其大小(即列数和行数)等于流图的节点数。每 列和每行都对应于标识的节点,

11、矩阵项对应于节点间的连接(边),图 1-7 显示 了一个简单的流图及其对应的图矩阵BEI90。该图中,流图的节点以数字标识,边以字母标识,矩阵中的字母项对应于 节点间的连接,例如,边 b 连接节点 3 和节点 4。这里,图矩阵只是流图的表格表示,然而,对每个矩阵项加入连接权值(link weight),图矩阵就可以用于在测试中评估程序的控制结构,连接权值为控制流 提供了另外的信息。最简单情况下,连接权值是 1(存在连接)或0(不存在连接), 但是,连接权值可以赋予更有趣的属性:执行连接(边) 的概率。穿越连接的处理时间。穿越连接时所需的内存。穿越连接时所需的资源。举例来说,我们用最简单的权值(0 或1)来标识连接,图 1-7所示的图矩阵 重画为图 1-8。字母替换为 1,表示存在边(为清晰起见,没有画出 0),这种形 式的图矩阵称为连接矩阵(linkmatrix)。图1-8中,含两个或两个以上项的行 表示判定节点,所以,右边所示的算术计算就提供了另一种环形复杂性计算(参 1.4.2 节 ) 的方法。Beizer BEI90提供了可用于图矩阵的其他数学算法的处理,利用这些技 术,设计测试用例的分析就可以自动化或部分自动化。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!