白盒测试是把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。
白盒测试的常见方法包括:逻辑覆盖法、路径分析、控制结构测试
其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:
1、语句覆盖每条语句至少执行一次。
2、判定覆盖每个判定的每个分支至少执行一次。
3、条件覆盖每个判定的每个条件应取到各种可能的值。
4、判定/条件覆盖同时满足判定覆盖条件覆盖。
5、条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
6、路径覆盖使程序中每一条可能的路径至少执行一次。
白盒测试的要求
1、确保模块中所有独立路径至少被执行一次。
2、对所有逻辑值均需测试 true 和 false。
3、确保所有循环边界值,及其操作范围内的内部数据结构的有效性。尽可能发现由于以下因素引起的BUG:
4、检查内部数据结构以确保其有效性
5、程序逻辑与实际实现的差异而导致的设计错误。
6、程序语法语义错误及程序书写不规范引起的错误。
白盒测试的优缺点
优点
1、可以检测代码中的每条分支和路径
2、揭示隐藏在代码中的错误
3、对代码的测试比较彻底
4、让软件最优化
缺点
1、昂贵,费时费力
2、无法检测代码中遗漏的路径和数据敏感性错误
3、不验证规格的正确性
第一次写博客, 希望大佬们批评指正。