W-Y-2-3 基本路径测试_第1页
W-Y-2-3 基本路径测试_第2页
W-Y-2-3 基本路径测试_第3页
W-Y-2-3 基本路径测试_第4页
W-Y-2-3 基本路径测试_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单元二白盒测试之基本路径测试基本路径测试基本路径测试用例的设计步骤04程序控制流图01控制流图的绘制方法02控制流图环路复杂度的计算03基本路径测试路径覆盖是指选取若干测试数据,使程序中每条可能的路径都至少执行一次,如果流程图中有环路,则要求每个环至少经过一次。对于较简单的程序来说,实现路径覆盖并不困难,但如果程序中出现了多个判断分支组合的情况,路径组合的数量将非常庞大,导致实现路径覆盖需花费较多的人力物力,因此实际测试中通常采用基本路径覆盖,而无须做全路径覆盖,以此来提高软件测试的效率和有效性。

程序控制流图采用基本路径测试法设计测试用例时,首先需要绘制被测程序的控制流图。控制流图是描述程序控制流的一种方式,由如图2-3-1所示的五种基本图形符号组成,分别对应程序的顺序结构、二分支结构、while循环结构、until循环结构和多分支结构。图中的圆圈叫节点,表示程序中一个或多个无分支的语句,将含判定语句的节点叫判定节点,箭头表示控制流的方向,叫作边,将节点和边围成的一个封闭范围作为1个区域,将控制流图未包围的整个范围也算作1个区域。

(a)顺序结构

(b)二分支结构

(c)While循环结构

(d)until循环结构

(e)多分支结构

.......图2-3-1控制流图的基本图形控制流图的绘制方法绘制控制流图可根据流程图绘制,也可根据程序结构绘制。1.依据程序流程图绘制控制流图程序流程图用于描述程序的控制结构,常常用在程序设计中以清晰呈现程序的逻辑结构,因此,可依据程序流程图绘制相应的控制流图,绘制规则如下:(1)将程序流程图中顺序执行的一条或多条语句框映射为控制流图的一个节点;(2)将程序流程图中的判断语句框映射为控制流图的一个节点;(3)若程序流程图分支结构的汇聚处没有语句,应添加一个节点,称之为汇聚节点。控制流图的绘制方法2.依据代码结构绘制控制流图当软件设计未采用流程图进行设计,代码编写完成后可根据程序片段绘制控制流图,其规则如下:(1)将被测程序顺序执行的一条或多条语句映射为控制流图的一个节点;(2)将被测程序的判断语句映射为控制流图的一个节点;(3)若被测程序分支结构的汇聚处没有处理代码,应添加一个汇聚节点。根据控制流图便可以设计出基本路径,设计多少条路径取决于控制流图的环路复杂度,即程序的环路复杂度决定了程序基本路径的条数,这是确保程序中每条语句至少执行一次所必须的测试用例数目的上界。控制流图环路复杂度的计算基本路径测试的测试用例设计中,依据控制流图的环路复杂度来确定基本路径的最小路径数,计算环路复杂度有三种方法:(1)环路复杂度为程序控制流图中的区域数。(2)设E为程序控制流图的边数,N为控制流图的节点数,则环路复杂度V(G)=E-N+2。(3)若P为程序控制流图中的判定节点数,则环路复杂度V(G)=P+1。采用上述方法,对图2-3-2(b)的环路复杂度进行计算,由方法(1)可知图2-3-2(b)的区域数为4;由方法(2)可知V(G)=E-N+2=10-8+2=4;由方法(3)可知V(G)=P+1=3+1=4。因此,2-3-2(b)的环路复杂度V(G)=4。基本路径测试用例的设计步骤基本路径测试用例设计方法包含以下4个步骤。(1)画出程序控制流图根据程序流程图或被测代码绘制出程序控制流图。(2)计算程序的环路复杂度从程序的环路复杂度可导出程序基本路径条数,是确定程序中每条可执行语句至少执行一次所必需的测试用例数的上界。(3)导出基

温馨提示

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

评论

0/150

提交评论