白盒测试总结

时间:2023-02-05 21:19:05

在这周的实验中我们进行了白盒测试,下面就白盒测试进行总结。

白盒测试:

概述:此方法把测试对象看做一个透明把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 通过在不同点检查程序的状态, 确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。

软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:

  • 对程序模块的所有独立的执行路径 所有独立的执行路径至少测试一 次;
  • 对所有的逻辑判定所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次都至少测试一次;
  • 在循环的边界和运行界限内执行循环体;
  • 测试内部数据结构的有效性内部数据结构的有效性等。

下面主要讲一下单元测试:

单元测试是对程序代码单元进行函数级的测试,是完成对最小软件设计单元的验证工作。

单元测试工作主要从 1 )单元功能; 2 )单元接口; 3 )数据结构; 4 )语句/分支覆盖等4个方面单元函数进行测试。对单元功能的测试是保证单元模块具有完成符合设计要求的功能;对单元接口的测试是保证在测试时进出程序单元的数据流正确;对数据结构的测试是保证存储的全局数据、局部数据在算法执行的过程中的完整性;对语句/分支覆盖的测试是保证单元函数在极限边界条件能够正确执行,函数的每条语句、每个分支都能执行一次,消除无用代码.

单元函数是由各种语句组成的程序代码,对各种语句测试用例的设计是单元测试的关键。

测试环境:

由于单元函数不能独立运行,需要构造一个运行环境才能完成测试。单元测试环境由驱动函数、被测试单元函数和桩函数组成。

驱动函数是一个主函数,其作用是将测试用例数据传送给被测试单元函数,并引导被测试单元函数运行,保存运行结果;桩函数是一个构造子函数,是用来替代被测试单元函数调用的子函数,是为了隔离子函数对被测试单元函数的影响而构造的,它可以是一个“空”子函数或是具有对接口做少量操作的子函数. 有时在一个单元函数中可以构造多个桩函数,如果被测试单元函数没有调用的子函数或者被调用的子函数对被测试单元函数结果没有影响,可以不用构造桩函数. 

测试方法:

有了测试环境 ,重要的是设计测试用例 ,基本路径、判断条件、数据划分、边界值分析是从不同角度设计测试用例的有效方法。

程序基本路径集:

程序的环路复杂性给出了程序基本路径集中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。

从控制流图来看,一条独立路径是至少包含有一条在其它独立路径中从未有过的边的路径。

基本路径方法设计测试用例的过程:

  • 从代码导出流图
  • 确定流图的圈复杂度
  • 确定独立路径的基本集
  • 导出测试用例,确保基本路径集中的每一条 确保基本路径集中的每一条路径的执行。

每个测试用例执行之后,与预期结果进行比较。如果所有测试用例都执行完毕,则可以确信程序中所有的可执行语句至少被执行了一次。

注意,一些独立的路径,往往不是完全孤立的,有时它是程序正常的控制流的一部分,这时,这些路径的测试可以是另一条路径测试的一部分。