欢迎来到天天文库
浏览记录
ID:59018361
大小:1.35 MB
页数:44页
时间:2020-09-26
《第3章 软件测试用例的设计2――白盒测试ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章软件测试用例的设计2006-9-19第3章软件测试用例的设计※黑盒测试※白盒测试※面向对象的测试用例设计3.3白盒测试什么是白盒测试呢?白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个透明的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。应用程序1:路径测试基本路径测试法是在程序控制流图的基础上,通过分析控制
2、构造的环路(圈)复杂性,导出基本可执行路径集合,从而设计测试用例的方法。控制流图控制流图主要由节点和边构成。如何建立控制流图?1)确定程序的程序流程图2)程序流程图转化为控制流图转换的原则如下:控制流图中的每一个节点可以表示程序流程图中矩形框所表示的处理;菱形表示的两个甚至多个出口判断;多条流线相交的汇合点。例:1ifaorb2x3else4y环形(圈)复杂度定义:环形复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径:路径中包含一条在定义之前未曾用到的边。环形复杂度的计算方法方法一
3、:流图中区域的数量对应于环形的复杂性;方法二:给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;方法三:给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。路径测试方法应用举例例:VoidSort(int iRecordNum,intiType)1 {2 intx=0;3 inty=0;4 while(iRecordNum-- >0)5 {6 if(0==iType)7 x=y+2;8 else9 if(1==iType)10
4、 x=y+10;11 else12 x=y+20;13 }14}第一步,画出程序的控制流图。第二步,计算环形复杂度,并确定独立路径。V(G)=E-N+2=10-8+2=4。路径1:4-14;路径2:4-6-7-13-4-14;路径3:4-6-8-10-13-4-14;路径4:4-6-8-12-13-4-14。第三步,导出测试用例第四步,执行测试。intmain(){inta,b,c;boolIsTraingle;cin>>a>>b>>c;cout<5、6、en-else结构。结点3和17是程序源结点和汇结点,对应于单入口、单出口准则。该程序没有循环,因此控制流图是一个有向非循环图。作业:请根据本程序控制流图完成环形复杂度的计算、列出独立路径、测试用例的设计并执行测试2:数据流测试数据流测试的意义?路径测试可以测试程序中所有的条件和语句块,但是,这也不能检测出程序中所有的错误。基于数据流的测试主要关注程序中数据的定义和使用,可以用于对基于控制流测试的补充。1定义/使用测试首先要明确一个假设,数据流的假设还是和路径的假设一致,程序P的程序图(有向图)是一个单入口,单出口,并且不允许有从某个结点到其自身的边。a、DEF(v,n),定义7、结点。intx;x=y+z;b、USE(v,n),使用结点System.out.println(x)。c、P-use,当一个变量被用在分支语句的条件表达式中(如if和while语句),则称为变量的P-use(谓词使用)。if(x>0){……..};d、C-use,如果一个变量被用在赋值语句的表达式、输出语句中,被当作参数传递给调用函数,或被用在下标表达式中,则称为变量的C-use。其中,C表示“计算”(计算使用)。y=x+1;function(x);e、定义使用路径(DU-path)开始节点
5、
6、en-else结构。结点3和17是程序源结点和汇结点,对应于单入口、单出口准则。该程序没有循环,因此控制流图是一个有向非循环图。作业:请根据本程序控制流图完成环形复杂度的计算、列出独立路径、测试用例的设计并执行测试2:数据流测试数据流测试的意义?路径测试可以测试程序中所有的条件和语句块,但是,这也不能检测出程序中所有的错误。基于数据流的测试主要关注程序中数据的定义和使用,可以用于对基于控制流测试的补充。1定义/使用测试首先要明确一个假设,数据流的假设还是和路径的假设一致,程序P的程序图(有向图)是一个单入口,单出口,并且不允许有从某个结点到其自身的边。a、DEF(v,n),定义
7、结点。intx;x=y+z;b、USE(v,n),使用结点System.out.println(x)。c、P-use,当一个变量被用在分支语句的条件表达式中(如if和while语句),则称为变量的P-use(谓词使用)。if(x>0){……..};d、C-use,如果一个变量被用在赋值语句的表达式、输出语句中,被当作参数传递给调用函数,或被用在下标表达式中,则称为变量的C-use。其中,C表示“计算”(计算使用)。y=x+1;function(x);e、定义使用路径(DU-path)开始节点
此文档下载收益归作者所有