静态白盒测试是在不执行的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时也称为结构分析。进行静态白盒子测试的首要原因是尽早发现软件缺陷,以找出动态黑盒子测试难以揭示或遇到的软件缺陷;另一个好处是为接受该软件测试的黑盒测试员的测试案例提供思路,他们不必了解代码细节,但是根据审查备注,可以确定似乎有问题或者存在软件缺陷的特性范围。动态白盒测试是指利用查看代码功能和实现方式得到的信息来确定哪些要测试,哪些不要测试,如何开展测试。
  动态白盒测试的另一个常用名称是结构化测试,因为软件测试员可以查看并使用代码的内部结构,从而设计和执行测试。 动态白盒测试包括四部分:
  1.直接测试底层功能、过程、子程序和库。即应用程序接口(API)
  2.以完整程序的方式从顶层测试软件,但是要根据对软件运行的了解调整测试案例。
  3.从软件获得读取变量和状态信息的访问权,以便确定测试与预期结果是否相符,同时,强制软件以正常测试难以实现的方式运行。
  4. 估算执行测试时“命中”的代码量和具体代码,然后调整测试,去掉多余的,补充遗漏的。
  静态的白盒测试我没做过,在此不叙述了。和黑盒测试一样,动态白盒测试也是按部班的来,首先写测试计划,然后设计测试用例,再次执行用例,写测试报告,后写测试总结。我做过的白盒测试,驱动程序都是开发人员做好了的,我只是按每个类里的每个函数设计测试用例,测试函数返回值。(许多内部保护类都是无法测试的。)