白盒测试用例设计方法
-
1.
白盒测试用例设计方法
1.1.
白盒测试概述
由于逻辑错误和不正确
假设与一条程序路径被运行的可能性成反比。
由于我
们经常相信
某逻辑路径不可能被执行,
而事实上,
它可能在正常的情况下被
执行。
由于代码中的笔误是随机且无法杜绝的,因此我们要进行白盒测试。
白盒测试又称结构测试,
透明盒测试、
逻辑驱动测试或基于代码的测试。
白
盒测试是一种
测试用例设计方法,
盒子指的是被测试的软件,
白盒指的是盒子
是
可视的,你清楚盒子内部的东西以及里面是如何运作的。
1.
白盒的测试用例需要做到
保证一个模块中的所有独立路径至少被使用一次;
对所有逻辑值均需测试
true
和
false
;
在上下边界及可操作范围内运行所有循环;
检查内部数据结构以确保其有效性。
2.
白盒测试的目的
通过检查软件内部的
逻辑结构,
对软件中的逻辑路径进行覆盖测试;
在程序
不同地方设立检查点,
检查程序的状态,
以确定
实际运行状态与预期状态是否一
致。
3.
白盒测试的特点
依据软件设计说明书
进行测试、
对程序内部细节的严密检验、
针对特定条件
设计测试用例、对软件的逻辑路径进行覆盖测试。
4.
白盒测试的实施步骤
1
)测试计划阶段:根据需求说明书,制定测试进度。
2
)测试设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件
结构划分和设计测试用例。
3
< br>)测试执行阶段:输入测试用例,得到测试结果。
4<
/p>
)测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找
< br>到并解决错误。
5.
白盒测试的方法
总体上分为静态方法和动态方法两大类。
静态分析:是一种不通过执行程序
而进行测试的技术。静态分析的关键
功能是检查软件的表示和描述是否一致
,
没有冲突或者没有歧义。
动态分析:主要特点是当软件系统
在模拟的或真实的环境中执行之前、
之中和之后
,
对软件系统行为的分析。
动态分析
包含了程序在受控的环
境下使用特定的期望结果进行正式的运行。
它显示了一个系统在检查状
态下是正确还是不正确。
在动态分
析技术中
,
最重要的技术是路径和分支
测试。下面要介绍的六种覆盖测试方法属于动态分析方法。
6.
白盒测试的优缺点
优点:迫使测试人员去仔细思考软
件的实现;可以检测代码中的每
条分支和路径;
揭示隐藏在代码
中的错误;
对代码的测试比较彻底;
最优化
缺点:费用昂贵;无法检测
代码中遗漏的路径和数据敏感性错误;
不验证规格的正确性。
1.2.
白盒测试基本技术
1.2.1.
控制流图
1.2.1.1.
定义
程序流程图是软件开发过程中进
行详细设计时,
表示模块内部逻辑的一个常
用的、
也非常有效的图示法。
程序流程图详细地反映了程序内部控制流的处理和
p>
转移过程,
它一般是进行模块编码的参考依据。
在程序流程图中,
通常拥有很多
种图示元素,例如,
“矩形框”表示一个计算处理过程,而“菱形框”表示一个
判断条件等
。
通常测试人员为某个程序模块做白盒测试过程中,
在做与路径
相关
的各种分析的时候,
这些非常细节的信息往往是不太重要。
因此,
为了更清晰突
出地显示出程序的
控制结构,
反映控制流的转移过程,
一种简化了的程序流程图<
/p>
便出现了,就是程序的
控制流图
。在控制
流图中一般只有两种简单的图示符号:
节点和控制流。
1
)节点。
以标有编号的圆圈表示。
它一般代表了程序流程图中矩形框所表示
的处理、
以及领形框所表示的判定条件,
以及两条活多条节点的汇合点等。
一个节点就是一个基本的程序块,它可以是一个单独的语句(如
if
条件
判断语句,或循环语句)
,也可以是多个顺序执行
的语句块。
2
)控制流。
以带箭头的弧线表示,
用来连接相关的两个节点。
它与程序流程
图中的控制流所表示的意义是一致的,都是知识了程序控制的转移过程。<
/p>
为了便于处理,
每个控制流也可以标有名字,
这是继就相当于向图中的边。
每条边必须要终止某一节点。
1.2.1.2.
控制流图的基本控制结构的图形符号
在控制流图中,其基本的控制结构所对应的图形符号如下图。
(
p>
a
)顺序结构
(
b
)
IF
ELSE
结构
(
c
)多分支结构
p>
(
d
)循环结构
1.2.2.
六种覆盖方法
首先为了下文的举例描述方便,这里先给出一张程序流程图。