第4章(2) 白盒测试方法2-基本路径法.ppt

上传人:hyn****60 文档编号:70748921 上传时间:2023-01-27 格式:PPT 页数:39 大小:811KB
返回 下载 相关 举报
第4章(2) 白盒测试方法2-基本路径法.ppt_第1页
第1页 / 共39页
第4章(2) 白盒测试方法2-基本路径法.ppt_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《第4章(2) 白盒测试方法2-基本路径法.ppt》由会员分享,可在线阅读,更多相关《第4章(2) 白盒测试方法2-基本路径法.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件测试第4章 白盒测试方法 基本路径法目 录基本路径法的思想基本路径法的思想1控制流图控制流图2环形复杂度(环路复杂性)环形复杂度(环路复杂性)3独立路径独立路径4基本路径测试步骤基本路径测试步骤5实例应用实例应用6课堂测试n写出逻辑覆盖测试包含的六种写出逻辑覆盖测试包含的六种基本类型,并写出它们的基本基本类型,并写出它们的基本测试要求。测试要求。例:例:1 1、语句覆盖:使程序中的、语句覆盖:使程序中的*语语句至少测试一次。句至少测试一次。B.基本路径测试 本次课将会接触到的新知识:本次课将会接触到的新知识:1.控制流图控制流图2.环形复杂度环形复杂度3.独立路径独立路径基本路径测试基本路

2、径测试n路径测试就是从一个程序的入口开始,路径测试就是从一个程序的入口开始,执行所经历的各个语句的完整过程。执行所经历的各个语句的完整过程。从广义的角度讲,任何有关路径分析从广义的角度讲,任何有关路径分析的测试都可以被称为路径测试。的测试都可以被称为路径测试。n完成路径测试的理想情况是做到完成路径测试的理想情况是做到路径路径覆盖覆盖,但对于复杂性大的程序要做到,但对于复杂性大的程序要做到所有路径覆盖是不可能的。所有路径覆盖是不可能的。基本路径测试基本路径测试n在不能做到所有路径覆盖的前提下,在不能做到所有路径覆盖的前提下,如果某一程序的每一个如果某一程序的每一个独立路径独立路径都都被测试过,那

3、么可以认为程序中的被测试过,那么可以认为程序中的每个语句都已经检验过了,即达到每个语句都已经检验过了,即达到了语句覆盖。这种测试方法就是通了语句覆盖。这种测试方法就是通常所说的常所说的基本路径测试法基本路径测试法。基本路径测试基本路径测试n基本路径测试方法是在控制流图的基基本路径测试方法是在控制流图的基础上,通过分析控制结构的环形复杂础上,通过分析控制结构的环形复杂度,导出执行路径的基本集,再从该度,导出执行路径的基本集,再从该基本集设计测试用例。基本路径测试基本集设计测试用例。基本路径测试方法包括方法包括4 4个步骤个步骤:基本路径测试基本路径测试(1 1)画出程序的画出程序的控制流图控制流

4、图。(2 2)计算程序的计算程序的环形复杂度环形复杂度,导出程序,导出程序基本路径集中的基本路径集中的独立路径独立路径条数,这是条数,这是确定程序中每个可执行语句至少执行确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。一次所必须的测试用例数目的上界。基本路径测试基本路径测试(3 3)导出基本路径集,确定程序的独立导出基本路径集,确定程序的独立路径。路径。(4 4)根据根据(3)(3)中的独立路径,设计测试中的独立路径,设计测试用例的输入数据和预期输出。用例的输入数据和预期输出。控制流图n程序流程图又称框图,是我们最熟悉,也是最容易理解的一种程序控程序流程图又称框图,是我们最熟悉

5、,也是最容易理解的一种程序控制结构的图形表示了。在这种图上的框里面常常标明了处理要求或者制结构的图形表示了。在这种图上的框里面常常标明了处理要求或者条件,但是,这些标注在做路径分析时是不重要的。为了条件,但是,这些标注在做路径分析时是不重要的。为了更加突出控更加突出控制流的结构制流的结构,需要对程序流程图做一些简化需要对程序流程图做一些简化。n在控制流图中只在控制流图中只有两种图形符号,有两种图形符号,它们是:它们是:1.节点节点:以标有编:以标有编号的圆圈表示。号的圆圈表示。2.控制流线或弧控制流线或弧:以箭头表示。以箭头表示。1.1.程序的控制流图程序的控制流图节点节点 1、标有编号的圆圈

6、 2、程序流程图中矩形框所表示的处理 3、菱形表示的两个甚至多个出口判断 4、多条流线相交的汇合点1.1.程序的控制流图程序的控制流图1.1.程序的控制流图程序的控制流图控制流线或弧控制流线或弧 1 1、箭头、箭头 2 2、与程序流程图中的流线一致,表、与程序流程图中的流线一致,表 明了控制的顺序明了控制的顺序 3 3、控制流线通常标有名字、控制流线通常标有名字1.1.程序的控制流图程序的控制流图1.1.程序的控制流图程序的控制流图n在选择或多分支结构中,分支的汇在选择或多分支结构中,分支的汇聚处应有一个汇聚节点。聚处应有一个汇聚节点。n边和结点圈定的区域叫做区域边和结点圈定的区域叫做区域,当

7、,当对区域计数时,图形外的区域也应对区域计数时,图形外的区域也应记为一个区域。记为一个区域。1.程序的控制流图程序的控制流图1.程序的控制流图程序的控制流图区域区域1.1.程序的控制流图程序的控制流图n复合条件的控制流图复合条件的控制流图 如果判断中的条件表达式是由一如果判断中的条件表达式是由一个或多个逻辑运算符个或多个逻辑运算符 (OR,AND,OR,AND,.).)连接的复合条件表达式,则连接的复合条件表达式,则需改为需改为 一系列一系列只有单个条件的嵌只有单个条件的嵌套的判断套的判断。1.1.程序的控制流图程序的控制流图1.1.程序的控制流图程序的控制流图2.2.程序环路复杂性程序环路复

8、杂性n环路复杂性环路复杂性即即McCabeMcCabe复杂性度量,在复杂性度量,在进行程序的基本路径测试时,从程序进行程序的基本路径测试时,从程序的环路复杂性可导出程序基本路径集的环路复杂性可导出程序基本路径集合中的合中的独立路径独立路径条数。条数。n程序的环路复杂性给出了程序的环路复杂性给出了程序基本程序基本路径集中的独立路径条数路径集中的独立路径条数,这是确,这是确保程序中每个可执行语句至少执行保程序中每个可执行语句至少执行一次所必需的测试用例数目的一次所必需的测试用例数目的上界上界。2.2.程序环路复杂性程序环路复杂性n独立路径独立路径:指包括一组以前没有处理:指包括一组以前没有处理的语

9、句或条件的一条路径。的语句或条件的一条路径。n从控制流图来看,一条从控制流图来看,一条独立路径独立路径是是至少包含有一条在其它独立路径中至少包含有一条在其它独立路径中从未有过的边的路径。从未有过的边的路径。n一条路径这里指一条一条路径这里指一条“程序通路程序通路”。思考思考:根据独立根据独立路径的定义路径的定义,在在图示的控制流图图示的控制流图中,有哪些独立中,有哪些独立的路径的路径?2.2.程序环路复杂性程序环路复杂性2.2.程序环路复杂性程序环路复杂性npath1path1:1-111-11path2path2:1-2-3-4-5-10-1 1-2-3-4-5-10-1-11-11path

10、3path3:1-2-3-6-8-9-10 1-2-3-6-8-9-10-1-11-1-11path4path4:1-2-3-6-7-9-10 1-2-3-6-7-9-10-1-11-1-11n路径路径 path1path1,path2path2,path3path3,path4path4组组成了控制流图的一个基本路径集。成了控制流图的一个基本路径集。2.2.程序环路复杂性程序环路复杂性n n程序环路复杂性程序环路复杂性程序环路复杂性程序环路复杂性计算方法(三种):计算方法(三种):n(1)(1)流图中流图中区域的数量区域的数量对应于环形对应于环形复杂度复杂度n(2)(2)给定流图给定流图G

11、G的环形复杂度的环形复杂度V(G),V(G),定义为定义为V(G)=E-N+2V(G)=E-N+2,E,E是流图中边是流图中边的数量,的数量,N N是流图中节点的数量。是流图中节点的数量。n(3)(3)V(G)=P+1V(G)=P+1,P,P是流图是流图G G中的判中的判定节点数。定节点数。2.2.程序环路复杂性程序环路复杂性图中的圈复杂度,图中的圈复杂度,计算如下:计算如下:流图中有流图中有四四个区域;个区域;V(G)=10V(G)=10条边条边-8-8结点结点+2=4;+2=4;V(G)=3V(G)=3个判个判定结点定结点+1=4+1=4。3.3.导出测试用例导出测试用例n导出测试用例,导

12、出测试用例,确保基本路径集中确保基本路径集中的每一条路径的执行的每一条路径的执行。n根据判断结点给出的条件,选择适根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被当的数据以保证某一条路径可以被测试到测试到 用逻辑覆盖方法用逻辑覆盖方法。3.3.导出测试用例导出测试用例n每个每个测试用例执行之后测试用例执行之后,与预期结果与预期结果进行比较进行比较。如果所有测试用例都执行。如果所有测试用例都执行完毕,则可以确信程序中所有的可执完毕,则可以确信程序中所有的可执行语句至少被执行了一次。行语句至少被执行了一次。n必须注意,一些独立的路径,往往不必须注意,一些独立的路径,往往不是完全孤立的,

13、有时它是程序正常的是完全孤立的,有时它是程序正常的控制流的一部分,这时,这些路径的控制流的一部分,这时,这些路径的测试可以是另一条路径测试的一部分。测试可以是另一条路径测试的一部分。基本路径测试基本路径测试n基本路径测试法的步骤:基本路径测试法的步骤:(1)(1)以详细或源代码作为基础,导出程序以详细或源代码作为基础,导出程序的的控制流图控制流图。(2)(2)计算得到控制流图计算得到控制流图G G的的环路复杂度环路复杂度V(G)V(G)(3)(3)确定基本路径集确定基本路径集,生成测试用例,确,生成测试用例,确保基本路径集中每条路径的执行。保基本路径集中每条路径的执行。程序段的流图计算其环形复

14、杂度n环形复杂度为环形复杂度为:nV(G)=E-N+2 =10-8+2=4n或者或者 V(G)=P+1 =3+1=4n例:如下所示的例:如下所示的c c语言函数:语言函数:void sort(int irecordnum,int itype)void sort(int irecordnum,int itype)1 1 2 int x=0;2 int x=0;3 int y=0;3 int y=0;4 while(irecordnum-0)4 while(irecordnum-0)5 5 6 if(itype=0)6 if(itype=0)7 break;7 break;8 else8 else

15、9 if(itype=1)9 if(itype=1)10 x=x+10;10 x=x+10;11 else11 else12 y=y+20;12 y=y+20;13 13 14 14 导出基本路径集n导出基本路径集,列出程序的独立路径,得:导出基本路径集,列出程序的独立路径,得:n路径路径1 1:4-4-1414n路径路径2 2:4-4-6-6-7-7-1414n路径路径3 3:4-4-6-6-9-9-10-10-13-13-4-4-1414n路径路径4 4:4-4-6-6-9-9-12-12-13-13-4-4-1414设计测试用例n根据上一步得出的独立路径,涉及测试用例,如下根据上一步得出

16、的独立路径,涉及测试用例,如下:输入数据输入数据预期输出预期输出TC1TC1irecordnum=0irecordnum=0itype=0itype=0 x=0 x=0y=0y=0TC2TC2irecordnum=1irecordnum=1itype=0itype=0 x=0 x=0y=0y=0TC3TC3irecordnum=1irecordnum=1itype=1itype=1x=10 x=10y=0y=0TC4TC4irecordnum=1irecordnum=1itype=2itype=2x=0 x=0y=20y=20练习题n根据左图给出的程序流程图,完成以下根据左图给出的程序流程图,完成以下要求:要求:(1 1)画出相应的控制流)画出相应的控制流图。图。(2 2)计算环形复杂度。)计算环形复杂度。(3 3)给出相应的图矩阵。)给出相应的图矩阵。(4(4)找出程序的独立)找出程序的独立路径集合。路径集合。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁