白盒测试()—综合应用实例

上传人:资****亨 文档编号:138605621 上传时间:2020-07-16 格式:PPT 页数:40 大小:362KB
返回 下载 相关 举报
白盒测试()—综合应用实例_第1页
第1页 / 共40页
白盒测试()—综合应用实例_第2页
第2页 / 共40页
白盒测试()—综合应用实例_第3页
第3页 / 共40页
白盒测试()—综合应用实例_第4页
第4页 / 共40页
白盒测试()—综合应用实例_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《白盒测试()—综合应用实例》由会员分享,可在线阅读,更多相关《白盒测试()—综合应用实例(40页珍藏版)》请在金锄头文库上搜索。

1、把程序看成装在一个透明的白盒子里,程序的结构和处理呈现过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。,第4章 白盒测试方法,主要内容,逻辑覆盖测试,白盒测试的常用方法,白盒测试的基本概念,什么是白盒测试 把程序看成装在一个透明的白盒子里,程序的结构和处理过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。,(1)在测试中,应尽量先使用工具进行静态结构分析。 (2)测试中可采取先静态后动态的组合方式:先进行静态结构分析、代码检查,再进行覆盖率测试。,白盒测试应用策略,(3)利用静态分析的结果作为导引,通过代

2、码检查和动态测试的方式对静态发现结果进行进一步的确认,使测试工作更为有效。,白盒测试应用策略,(4)覆盖率测试是白盒测试的重点,一般可使用基本路径测试法达到语句覆盖标准;对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率。,(5)在不同的测试节点,测试的侧重点不同:在单元测试阶段,以代码检查、逻辑覆盖为主;在集成测试阶段,需要增加静态结构分析等;在系统测试阶段,应根据黑盒测试的结果,采取相应的白盒测试。,面对对象的白盒测试,类测试一般有两种主要的方式:功能性测试和结构性测试,即对应于传统结构化软件的黑盒测试和白盒测试。 结构性测试对类中的方法进行测试,它把类作为一个单元来进行测试。测试分

3、为两层:第一层考虑类中各独立方法的代码;第二层考虑方法之间的相互作用。 对于一个类的测试要保证类在其状态的代表集上能够正确工作,构造函数的参数选择以及消息序列的选择都要满足这一准则,面对对象的白盒测试,方法的单独测试 结构性测试的第一层是考虑各独立的方法,这可以与过程的测试采用同样的方法,两者之间最大的差别在于方法改变了它所在实例的状态,这就要取得隐藏的状态信息来估算测试的结果,传给其它对象的消息被忽略,而以桩来代替,并根据所传的消息返回相应的值,测试数据要求能完全覆盖类中代码,可以用传统的测试技术来获取。,面对对象的白盒测试,方法的综合测试 第二层要考虑一个方法调用本对象类中的其它方法和从一

4、个类向其它类发送信息的情况。单独测试一个方法时,只考虑其本身执行的情况,而没有考虑动作的顺序问题,测试用例中加入了激发这些调用的信息,以检查它们是否正确运行了。对于同一类中方法之间的调用,一般只需要极少甚至不用附加数据,因为方法都是对类进行存取,故这一类测试的准则是要求遍历类的所有主要状态。,运用白盒测试方法综合实例,运用白盒测试技术设计下面代码的测试用例书P85,参考答案,设计步骤 构造被测代码的控制流图,运用基本路径测试方法设计相关测试用例 针对代码中的各个逻辑条件,运用分支-条件测试方法设计相关测试用例 针对代码中的循环,运用循环测试方法设计相关测试用例 合并前三步所得结果 在第四步的基

5、础上,根据被测对象的特点增加相关测试用例,以复合条件为节点P79(方案1),以简单条件为节点P80(方案2),环复杂度(方案1),环复杂度 闭合区域的数目 = 4 二值判定节点个数 + 1 =3+1=4 边的数目-节点的数目 + 2 = 14-12+2=4,基本路径(方案1),基本路径和相应的测试用例 15-17-19-29-31-32 (30-32?) 测试用例: 测试输入 = (-999),0,360) 预期结果 = -999 15-17-19-20-21-24-19-29-31-32 (30-32?) 测试用例: 测试输入 = (-10,-999),0,360), 预期结果 = -999

6、,基本路径(方案1),基本路径和相应的测试用例 15-17-19-20-21-22-23-25-26-27-19-29-30-32 测试用例: 测试输入 = (180,-999),0,360), 预期结果 = 180,环复杂度(方案2),环复杂度 闭合区域的数目 = 6 二值判定节点个数 + 1 =5+1=6 边的数目-节点的数目 + 2 = 17-13+2=6,1,2,3,4,5,6,7,8,9,10,11,12,13,基本路径(方案2),基本路径和相应的测试用例 1-2-10-12-13(10-11?) 测试用例: 测试输入 = (-999),0,360) 预期结果 = -999 1-2-

7、3-10-11-13 测试用例 测试输入 = (0.100,-999),0,360), 预期结果 = 50,基本路径(方案2),基本路径和相应的测试用例 1-2-3-4-5-6-7-9-2-10-11-13 测试用例: 测试输入 = (180,-999),0,360), 预期结果 = 180 1-2-3-4-5-8-2-10-12-13 测试用例: 测试输入 = (-10,-999),0,360), 预期结果 = -999,基本路径(方案2),基本路径和相应的测试用例 1-2-3-4-5-6-8-2-10-12-13 测试用例: 测试输入 = (380,-999),0,360), 预期结果 =

8、 -999,分支-条件测试,需测试的逻辑条件 Do while ( valuei!=-999) 4 scanf (“%d, %d, %dn”, 13 ,实例设计实例3,14 else 15 16 if (t2=1) 17then b=b-1; 18else a=a-2; 19flag-; 20 21 22 printf(“a=%d, b=d%n”, a, b); 23 ,图4-8 程序4-5的流程图,实例3步骤1,1 main () 2 3 int flag, t1, t2, a=0, b=0; 4 scanf (“%d, %d, %dn”, 23 ,程序的流程图如图4-8所示:,2.程序的控

9、制流图如图4-9所示,其中R1、R2、R3和R4代表控制流图的4个区域。R4代表的是控制流图外的区域,也算作控制流图的一个区域。,图4-9 程序4-5的控制流图,实例3步骤2,3.运用路径分析的方法设计测试用例组。 (1) 根据程序环形复杂度的计算公式,求出程序路径集合中的独立路径数目。 公式1:V(G)=11-9+2,其中11是控制流图G中边的数量,9是控制流图中节点的数目。 公式2:V(G)=3+1,其中3是控制流图G中判断节点的数目。 公式3:V(G)=4,其中4是控制流图G中区域的数目。 因此,控制流图G的环形复杂度是4。 (2) 根据上面环形复杂度的计算结果,源程序的基本路径集合中有

10、4条独立路径: 路径1:5-22 路径2:5-7, 8-11, 12-21-5-22 路径3:5-7, 8-16-17-19-21-5-22 路径4:5-7, 8-16-18-19-21-5-22 (3)设计测试用例组11如表4-11所示。根据上述4条独立路径设计出了这组测试用例,其中的4组数据能够遍历各个独立路径,也就满足了路径分析测试的要求。 需要注意的是,对于源程序中的循环体,测试用例组11中的输入数据使其执行零次或一次。,实例3步骤3,表4-11 测试用例组11,小结,白盒测试是基于被测程序的源代码设计测试用例的测试方法。常见的白盒测试方法有逻辑覆盖测试和路径分析测试两大类。 在逻辑覆

11、盖测试中,按照覆盖策略由弱到强的严格程度,介绍了语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖和路径覆盖六种覆盖测策略。 语句覆盖:每个语句至少执行一次。 判定覆盖:在语句覆盖的基础上,每个判定的每个分支至少执行一次。 条件覆盖:在语句覆盖的基础上,使每个判定表达式的每个条件都取到各种可能的结果。 判定/条件覆盖:即判定覆盖和条件覆盖的交集。 条件组合覆盖:每个判定表达式中条件的各种可能组合都至少出现一次。 路径覆盖:每条可能的路径都至少执行一次,若图中有环,则每个环至少经过一次。 在路径分析测试中,介绍了独立路径测试和Z路径覆盖测试两种常用方法。,小结,路径覆盖:每条可能的路径都

12、至少执行一次,若图中有环,则每个环至少经过一次。 在路径分析测试中,介绍了独立路径测试和Z路径覆盖测试两种常用方法。 独立路径测试方法把覆盖的路径数压缩到一定限度内,程序中的循环体最多只执行一次,对程序中所有独立路径进行测试。它是在程序控制流图的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,设计测试用例的方法。设计出的测试用例要保证程序的每一个可执行语句至少要执行一次。 Z路径覆盖测试是指采用简化循环的方法进行路径覆盖测试。被测源程序中的循环体执行零次或一次。 最后,介绍了其他一些白盒测试方法。循环测试是一种着重循环结构有效性测试的测试方法。变异测试是一种故障驱动测试,针对某一类特定程序故障进行的测试。程序插装是借助于在被测程序中设置断点或打印语句来进行测试的方法,在执行测试的过程中可以了解一些程序的动态信息。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号