白盒测试用例设计方法

温柔似野鬼°
856次浏览
2021年02月21日 08:53
最佳经验
本文由作者推荐

-

2021年2月21日发(作者:中国武术博物馆)


1.



白盒测试用例设计方法



1.1.


白盒测试概述



由于逻辑错误和不正确 假设与一条程序路径被运行的可能性成反比。


由于我


们经常相信 某逻辑路径不可能被执行,


而事实上,


它可能在正常的情况下被 执行。


由于代码中的笔误是随机且无法杜绝的,因此我们要进行白盒测试。



白盒测试又称结构测试,


透明盒测试、

< p>
逻辑驱动测试或基于代码的测试。



盒测试是一种 测试用例设计方法,


盒子指的是被测试的软件,


白盒指的是盒子 是


可视的,你清楚盒子内部的东西以及里面是如何运作的。



1.



白盒的测试用例需要做到





保证一个模块中的所有独立路径至少被使用一次;





对所有逻辑值均需测试



true




false






在上下边界及可操作范围内运行所有循环;





检查内部数据结构以确保其有效性。



2.



白盒测试的目的



通过检查软件内部的 逻辑结构,


对软件中的逻辑路径进行覆盖测试;


在程序


不同地方设立检查点,


检查程序的状态,


以确定 实际运行状态与预期状态是否一


致。



3.



白盒测试的特点



依据软件设计说明书 进行测试、


对程序内部细节的严密检验、


针对特定条件


设计测试用例、对软件的逻辑路径进行覆盖测试。



4.



白盒测试的实施步骤



1


)测试计划阶段:根据需求说明书,制定测试进度。



2


)测试设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件

< p>
结构划分和设计测试用例。



3

< br>)测试执行阶段:输入测试用例,得到测试结果。



4< /p>


)测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找

< br>到并解决错误。



5.



白盒测试的方法



总体上分为静态方法和动态方法两大类。





静态分析:是一种不通过执行程序 而进行测试的技术。静态分析的关键


功能是检查软件的表示和描述是否一致


,


没有冲突或者没有歧义。





动态分析:主要特点是当软件系统 在模拟的或真实的环境中执行之前、


之中和之后



,


对软件系统行为的分析。


动态分析 包含了程序在受控的环


境下使用特定的期望结果进行正式的运行。


它显示了一个系统在检查状


态下是正确还是不正确。


在动态分 析技术中


,


最重要的技术是路径和分支


测试。下面要介绍的六种覆盖测试方法属于动态分析方法。



6.



白盒测试的优缺点





优点:迫使测试人员去仔细思考软 件的实现;可以检测代码中的每


条分支和路径;


揭示隐藏在代码 中的错误;


对代码的测试比较彻底;


最优化




缺点:费用昂贵;无法检测 代码中遗漏的路径和数据敏感性错误;


不验证规格的正确性。



1.2.


白盒测试基本技术



1.2.1.



控制流图



1.2.1.1.



定义



程序流程图是软件开发过程中进 行详细设计时,


表示模块内部逻辑的一个常


用的、


也非常有效的图示法。


程序流程图详细地反映了程序内部控制流的处理和


转移过程,


它一般是进行模块编码的参考依据。

在程序流程图中,


通常拥有很多


种图示元素,例如,


“矩形框”表示一个计算处理过程,而“菱形框”表示一个


判断条件等 。


通常测试人员为某个程序模块做白盒测试过程中,


在做与路径 相关


的各种分析的时候,


这些非常细节的信息往往是不太重要。


因此,


为了更清晰突


出地显示出程序的 控制结构,


反映控制流的转移过程,


一种简化了的程序流程图< /p>


便出现了,就是程序的


控制流图


。在控制 流图中一般只有两种简单的图示符号:


节点和控制流。



1


)节点。


以标有编号的圆圈表示。


它一般代表了程序流程图中矩形框所表示


的处理、


以及领形框所表示的判定条件,


以及两条活多条节点的汇合点等。

一个节点就是一个基本的程序块,它可以是一个单独的语句(如


if


条件


判断语句,或循环语句)


,也可以是多个顺序执行 的语句块。



2


)控制流。

< p>
以带箭头的弧线表示,


用来连接相关的两个节点。


它与程序流程


图中的控制流所表示的意义是一致的,都是知识了程序控制的转移过程。< /p>


为了便于处理,


每个控制流也可以标有名字,

这是继就相当于向图中的边。


每条边必须要终止某一节点。








1.2.1.2.



控制流图的基本控制结构的图形符号



在控制流图中,其基本的控制结构所对应的图形符号如下图。























a


)顺序结构





b



IF ELSE


结构




c


)多分支结构








d


)循环结构



1.2.2.



六种覆盖方法



首先为了下文的举例描述方便,这里先给出一张程序流程图。


-


-


-


-


-


-


-


-