白盒测试的六种方法 白盒测试的基本路径测试例题

白盒测试是一种非常常用的测试方法 。白盒测试又称结构测试、透明盒测试、逻辑驱动测试、基于代码的测试 。白盒测试是把测试对象看作一个打开的盒子,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的 。
白盒测试的主要测试方法有:代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法(应用最广泛)、域测试、符号测试、Z路径覆盖、程序变异 。
基本路径法基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法 。设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次 。
在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可
执行路径集合,从而设计测试用例 。包括以下4 个步骤和一个工具方法:
1. 程序的控制流图:描述程序控制流的一种图示方法 。
2. 程序圈复杂度:McCabe复杂性度量 。从程序的环路复杂性可导出程序基本
路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次
所必须的测试用例数目的上界 。
3. 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果 。
4. 准备测试用例:确保基本路径集中的每一条路径的执行 。

白盒测试的六种方法 白盒测试的基本路径测试例题


控制流图白盒测试流图只有二种图形符号:
1.图中的每一个圆称为流图的结点,代表一条或多条语句 。
2.流图中的箭头称为边或连接,代表控制流,任何过程设计都要被翻译成控制流图 。
基本语句对应的控制流图:

白盒测试的六种方法 白盒测试的基本路径测试例题


程序流程图->控制流图

白盒测试的六种方法 白盒测试的基本路径测试例题


独立路径( 基本路径) :一条程序执行的路径 , 至少包含一条在定义该
路径之前的其他基本路径中所不曾用过的边( 即:至少引入程序的一个
【白盒测试的六种方法 白盒测试的基本路径测试例题】新处理语句集合或一个新条件)
计算圈复杂度:圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界 。
注意:独立路径不应该经过同一个判定结点的左右两侧,否则这条路径如果出现错误,则不知道是哪一侧出现错误 。
三种计算方法:
1. 流图中区域的数量
2. V(G)= E-N+2,E是边数,N是结点数
3. V(G)= P+1,P是判定结点的数量
测试用例 = { 测试数据+ 期望结果}
– 测试数据是由路径和程序推论出来的;
– 预期结果是从函数说明中导出,不能根据程序结构中导出!
循环测试四种循环:
– 简单循环
– 串接循环
– 嵌套循环
– 无结构循环
边界 + 界内对于简单循环,测试应包括以下几种,其中的n 表示循环允许的最大
次数 。
– 零次循环:从循环入口直接跳到循环出口 。
– 一次循环:查找循环初始值方面的错误 。
– 二次循环:检查在多次循环时才能暴露的错误 。
– m次循环:此时的m<n,也是检查在多次循环时才能暴露的错误 。
– n(最大)次数循环、n+1(比最大次数多一)次的循环、n-1(比最大次数少一)次的循环 。
对于嵌套循环:

推荐阅读