白盒测试关心软件内部设计和程序实现,主要测试依据是设计文档。
根据测试方法分为静态白盒测试和动态白盒测试。
静态白盒测试是指在不执行的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程。
动态白盒测试是指测试运行中的程序,并利用查看代码功能和实现方式得到的信息来确定哪些需要测试、哪些不需要测试、如何开展测试,从而设计和执行测试,找出软件缺陷的过程。
静态白盒测试:
进行静态白盒测试的首要原因是尽早发现软件缺陷,以找出动态黑盒测试难以揭示或遇到的软件缺陷。
独立审查代码的人越多越好,特别是在开发过程初期从底层进行。
进行代码静态质量分析所依据的度量理论
McCabe度量法
HalStead度量法
动态白盒测试:
动态白盒测试不仅仅是查看代码,还包括直接测试和控制软件。
主要包括四个部分,分别为:
直接测试底层功能、过程、子程序和库。在Microsoft Windows中这称为应用程序编程接口(API)。
以完整程序的方式从顶层测试软件,但是根据对软件运行的了解调整测试案例。
从软件获得读取变量和状态信息的访问权,以便确定测试与预期结果是否相符,同时,强制软件以正常测试难以实现的方式运行。
估算执行测试时覆盖的代码量和具体代码,然后调整测试,去掉多余的,补充遗漏的。