项目测试基础:白盒测试相关知识笔记_软件测试       

 

1、白盒测试概念

白盒测试又称为结构测试,主要是根据程序的内部结构和逻辑来设计测试用例,然后对程序的路径和过程进行测试,检查是否满足设计的需要。

2、白盒测试常用的技术介绍

白盒测试常用的技术有逻辑覆盖、循环覆盖、基本路径测试。

2.1 逻辑覆盖

逻辑覆盖考察用测试数据运行被检测程序时,对程序逻辑的覆盖程度。常用的逻辑覆盖标准语句:判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。

  • 语句覆盖:主要是指选择足够的测试数据,使得被测试程序中每条语句至少执行一次。一般情况下语句覆盖对程序执行逻辑覆盖率很低,属于弱逻辑覆盖。

  • 判定覆盖:主要是指设计足够的测试用例,,使得程序中每个判定表达式至少获得一次true或false。判断覆盖也成为分支覆盖。

  • 条件覆盖:条件覆盖是指构造一组测试用例,使得每一个判定语句中每个逻辑条件的各种可能的值,至少满足一次。

  • 判定/条件覆盖:主要是指设定足够的测试用例,使得判定语句中每个条件的所有可能取值,至少出现一次,,并且每个判定本身的判断结果至少也出现一次。

  • 条件组合覆盖:主要是指设计足够的用例,使得每个判定条件的各种可能的组合都至少出现一次。满足条件组合覆盖的一定满足判定覆盖、条件覆盖、判定/条件覆盖。

  • 路径覆盖:主要是指覆盖被测试程序中所有可能的路径。

2.2 循环覆盖

循环覆盖就是指执行足够的测试用例,使得循环中的每个条件都得到验证。

2.3 基本路径测试

基本路径测试是在程序控制流图的基础上,通过分析控制流图的环路复杂性,导出基本可执行路径集合,从而设计相应的测试用例。设计出的测试用例要保证在测试中程序的每一条独立路径都执行过。

3、白盒测试的原则

  • 程序模块中所有独立路径至少执行一次

  • 在所有逻辑判断中,取trueh和false的两种情况至少都执行一次。

  • 每个循环都应在边界条件和一般条件下各执行一次。

  • 测试程序内部数据结构的有效性

4、白盒测试和黑盒测试优缺点

 

测试类型

优点

缺点

白盒测试

可以帮助软件测试人员增大代码的覆盖率。 提升代码的质量,发现代码中隐藏的问题

1、程序运行会有很多不同的路径,不可能测试所有的运行路径

2、测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求

3、系统庞大时,测试开销会非常大。

黑盒测试

1、比较简单,不需要了解程序的内部的代码及实现

2、与软件的内部实现无关

3、从用户的角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题

4、基于软件开发文档,所以也能知道软件实现了文档中的哪些功能

5、在做软件自动化测试时较为方便

 

1、不可能覆盖所有的代码, 覆盖率较低,一般只能达到总代码量的30%

2、自动化测试的复用性较低。

 

 

IT技术分享社区

个人博客网站:https://programmerblog.xyz

项目测试基础:白盒测试相关知识笔记_软件测试_02

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识