版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
白盒测试方法基本路径测试基本路径测试
上面的例子是一个很简单的程序函数,只有四条路径.但在实践中,一个不太复杂的程序,其路径都是一个庞大的数字,要在测试中覆盖所有的路径是不现实的.为了解决这一难题,只得把覆盖的路径数压缩到一定限度内,例如,程序中的循环体只执行一次.下面介绍的基本路径测试就是这样一种测试方法,它在程序控制流图的基础上,通过分析控制流图的环形复杂性,导出基本可执行路径集合,从而设计测试用例的方法.设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次.白盒测试的基本概念为了清晰描述这种白盒测试方法,需要首先对有关白盒测试的几个基本概念进行说明:流图环形复杂度图矩阵1、流图在程序设计时,为了更加突出控制流的结构,可对程序流程图进行简化,简化后的图称为控制流图.简化后所涉及的图形符号只有两种,即节点和控制流线.132512435abcdef节点——标有编号的圆圈
程序流程图中矩形框所表示的处理
菱形表示的两个甚至多个出口判断
多条流线相交的汇合点
边——由带箭头的弧或线表示与程序流程图中的流线一致,表明了控制的顺序它代表程序中的控制流。
控制流线通常标有名字常见语句的控制流图顺序语句While语句dowhile语句If语句Case语句包含条件的节点被称为判断节点(也叫谓词节点),由判断节点发出的边必须终止于某一个节点,由边和节点所限定的范围被称为区域。这里我们假定在流程图中用菱形框表示的判定条件内没有复合条件,而一组顺序处理框可以映射为一个单一的结点。控制流图中的箭头(边)表示了控制流的方向,类似于流程图中的流线,一条边必须终止于一个结点。在选择或者是多分支结构中分支的汇聚处,即使汇聚处没有执行语句也应该添加一个汇聚结点。流程图控制流图将程序流程图转化为控制流图三角形问题(流程图-流图)如果判定中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列只有单个条件的嵌套的判断。复合条件分解控制流图2、环形复杂度(圈复杂度)一种为程序逻辑复杂度提供定量尺度的软件度量.亦可将该度量用于基本路径方法,它可以提供程序基本集的独立路径数量和确保所有语句至少执行一次的测试数量上界.独立路径指程序中至少引入一个新的处理语句集合或一个新条件的程序通路,它必须至少包含一条在本次定义路径之前不曾用过的边.环形复杂度计算流图中区域的数量对应于环形复杂度;给定流图G的环形复杂度为V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中节点的数量.给定流图G的环形复杂度V(G),定义为V(G)=P+1,P是流图G中判定节点的数量.3、图矩阵图矩阵-即流图的矩阵表示。其维数等于流图的节点数。每列和每行都对应于标识的节点,矩阵元素对应于节点的边。节点12341a2b3c4d流图对应的矩阵图说明流图的节点一般用数字标识,边则可以用字母标识。上例中,若矩阵记为M,则M(4,1)=“d”,表示边d连接节点4和节点1。需要注意的是,边d的方向是节点4到节点1习题根据左图给出的程序流程图,完成以下要求:(1)画出相应的控制流图。(2)计算环形复杂度。(3)给出相应的图矩阵。(4)找出程序的独立路径集合。
voidsort(intirecordnum,intitype){intx=0;inty=0;while(irecordnum-->0){if(itype==0)break;elseif(itype==1)x=x+10;elsey=y+20;}}基本路径测试方法画出控制流图任何过程设计都要被翻译成控制流图。以C/C++语句中的控制语句为例。画出程序的控制流图(用题中给出的语句编号表示)。图中的每一个圆称作流图的节点,代表一条或多条语句。流图中的箭头称做边或连接,代表控制流。画出其程序流程图及控制流图467810111314程序段的控制流图2、计算环形复杂度环形复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界,独立路径必须包含一条在定义之前不曾用到的边。可以用以下三种方法计算环形复杂度:环形复杂度计算如下:流图中有4个区域;V(G)=E-N+2,V(G)=10(条边)-8(个节点)+2=4;V(G)=P+1,V(G)=3(个判定节点)+1=4。因此,该函数的环形复杂度是4。更重要的是,V(G)的值提供了组成基本集的独立路径的上界,并由此得出覆盖所有程序语句所需的测试设计数量的上界。3、导出测试用例根据上面的计算方法,导出基本路径集,列出程序的独立路径。可得出程序段的基本路径集中有4条独立路径:路径1:4-14路径2:4-6-7-14路径3:4-6-9-10-13-4-14路径4:4-6-9-12-13-4-144、设计测试用例输入数据预期输出Test1irecordnum=0itype=0x=0y=0Test2irecordnum=1itype=0x=0y=0Test3irecordnum=1itype=1x=10y=0Test4irecordnum=1itype=2x=0y=20注意:如果在程序中遇到复合条件,例如条件语句中的多个布尔运算符(逻辑OR、AND)时,为每一个条件创建一个独立的节点,包含条件的节点称为判定节点,从每一个判定节点发出两条或多条边。例如:if(aorb)xelsey...三角形问题流程图习题编写程序,输入一组字符(以#结束),对该组字符做一个统计,统计字母、数字和其他字符的个数,输出统计结果。main(){charc;inti=0,j=0,k=0;c=getchar();while(c!='#'){if(c>='A'&&c<='Z'||c>='a'&&c<='z')i++;elseif(c>='0'&&c<='9')j++;elsek++;c=getchar();}printf("i=%d,j=%d,k=%d\n",i,j,k);}ASC||代码与字符对照表!“#$%&‘()*+,.3334
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浅论多媒体在计算机教学中的应用
- 《新能源材料专业英语》教学大纲
- 礼仪课题文档
- 教案 均值不等式教案
- 玉溪师范学院《土地生态学》2023-2024学年第一学期期末试卷
- 名著经典语录摘要
- 婚姻家庭继承法教案
- 电影放映机账务处理实例-记账实操
- 房地产 -太平山文旅开发规划方案融合运营规划提案
- 2024年空气清新香片项目综合评估报告
- 2023年5月软考中级系统集成项目管理工程师下午真题
- 人教版三年级语文上册第三、四单元试卷(含答案)
- 历史丨四川省南充市高2025届高考适应性考试(南充一诊)高三10月联考历史试卷及答案
- 农村污水管网建设合同范本
- 呼吸衰竭个案护理
- 五年级上册解方程练习100题及答案
- 2024年中科院心理咨询师官方备考试题库-上(单选题)
- 设计变更控制程序
- 三年级硬笔书法课件
- 2024全球量子产业发展报告
- 沪科版(2024)八年级全一册物理第一学期期末学业质量测试卷 2套(含答案)
评论
0/150
提交评论