白盒测试

  A.基本概念

  白盒测试white-box testing)又称透明盒测试(glass box testing)、结构测试(structural testing)等,是软件测试的主要方法之一。

    也称结构测试、逻辑驱动测试或基于程序本身的测试。

   是测试应用程序的内部结构或运作,而不是测试应用程序的功能(黑盒测试)。

   白盒测试,以编程语言的角度来设计测试案例。

   测试者输入数据验证数据流在程序中的流动路径,并确定适当的输出,类似测试电路中的节点。测试者了解待测试程序的内部结构、算法等基本信息,这是从程序设计者的角度对程序进行的测试。

   白盒测试可以应用于单元测试(unit testing)、集成测试(integration testing)和系统的软件测试流程,可测试在集成过程中每一单元之间的路径,或者主系统跟子系统中的测试。

   尽管这种测试的方法可以发现许多的错误或问题,它可能无法检测未使用部分的规范。

   B.测试目的

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

    对所有的逻辑值均需要测试真、假两个分支;

  在上下边界及可操作范围内运行所有循环;
  检查内部数据结构以确保其有效性。
 
  C.白盒测试的优缺点
  1.优点
    1.1 迫使测试人员去仔细思考软件的实现
    1.2 可以检测代码中的每条分支和路径
     1.3 揭示隐藏在代码中的错误
     1.4 对代码的测试比较彻底
  2.缺点
    2.1 昂贵
     2.2 无法检测代码中遗漏的路径和数据敏感性错误
    2.3不验证规格的正确性
 
 D.白盒测试的方法
  1. 逻辑驱动测试
  设计足够多的测试用例,运行所测程序,满足某种测试覆盖率要求。
    基本的有:
    语句覆盖
    判定覆盖(也称为分支覆盖)
    条件覆盖
    判定/条件覆盖
    条件组合覆盖
 
  2. 基本路径测试
  设计足够多的测试用例,运行所测程序,要覆盖程序中所有可能的路径。
  这是最强的覆盖准则。但在路径数目很大时,真正做到完全覆盖是很困难的,必须把覆盖路径数目压缩到一定限度。
  
原文地址:https://www.cnblogs.com/yan0404/p/4439597.html