开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第12天,点击查看活动详情
1、白盒测试
1)概念:是依据被测软件分析程序内部构造,并根据内部构造分析用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况,即已知软件产品的内部实现过程,可以通过测试证明每种内部操作是否符合设计规格的要求,所有内部成分是否已经过检查。
2)思想:白盒测试又被称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试、是基于程序结构的逻辑驱动测试。
3)测试对象: 函数、算法与数据结构
4)目的
(1)一般在测试前期进行,通过达到一定的逻辑覆盖率指标,使得软件内部逻辑控制结构上的问题能基本得到消除;
(2)保证内部结构达到一定的覆盖程度,能够给予软件代码质量更大的保证;
(3)白盒测试发现问题后,解决问题的成本较低。
5)白盒测试的常用技术:
(1)静态分析:包括控制流分析、数据流分析、信息流分析
(2)动态分析:逻辑覆盖测试(分支测试、路径测试等)、程序插装等 ,逻辑覆盖测试根据覆盖的对象不同,可以分为:语句覆盖、判定(分支)覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。 程序插装指调试程序时,在程序中插入一些打印语句,程序执行时打印出我们关心的信息,通过这些信息了解执行过程中程序的一些动态行为。
6)白盒测试的特点:
(1)测试人员需要了解软件的实现;
(2)可以检测代码中的每条分支和路径;
(3)揭示隐藏在代码中的错误;
(4)对代码的测试比较彻底;
(5)实现代码结构上的优化;
(6)投入较大,成本高;
(7)无法检测代码中遗漏的路径和数据敏感性错误;
(8)不验证规格的正确性。