总结:静态黑盒测试是指检查产品说明书,并在软件编写之前找出问题;
动态黑盒测试是指在不了解软件如何工作的前提下进行测试;
静态白盒测试是指通过正式审查和检验检查代码的细节;
动态白盒测试是指在看到软件的工作方式时,根据获得的信息对软件进行测试。
1、静态白盒测试:(检查设计与代码)在不执行软件的条件下有条理地审查软件设计、体系结构和代码,从而找到软件缺陷的过程。
静态白盒测试内容:正式审查、编码标准和规范、通用代码审查清单(数据引用错误、数据声明错误、计算错误、比较错误、控制流程错误、子程序参数错误、输入输出错误等)。
2、动态白盒测试: (结构化测试):查看代码功能(做什么)和实现方式(怎么做)得到信息来确定哪些需要测试,哪些不要测试,如何开展测试。
动态测试包括:1)直接测试底层函数、过程、子程序和库(应用程序编程接口API);
2)以完整程序的方式从顶层测试软件,但是根据软件运行的了解调整是用例;
3)从软件获得读取变量和状态信息的访问权,以便确定测试与预期结果是否相 符,同时强制软件以正常测试难以实现的方式运行;
4)估算执行测试时“命中”的代码量和具体代码,然后调整测试,去掉多余的 测试用例,补充遗漏的用例。
3、动态白盒测试与编程调试区别:动态白盒测试的目标是寻找软件缺陷;调试的目标是修复缺陷
4、动态白盒测试的方法:分段测试:将代码分段构建和测试,最后合在一起形成更大的部分,那么整个产品无疑会链接在一起。分段测试有两种途径自顶向上和自底向上。
分段测试:1)单元测试(模块测试):在底层进行的测试。
2)集成测试:底层软件缺陷被找到后并修复之后就集成在一起,对模块的组合进行集成测试。
5、动态白盒测试的内容:1)数据覆盖:数据流,可以在程序运行期间检查变量的中间值;次边界(内部边界),需要仔细检查代码,找到次便捷条件,并建立能测试他们的测试用例;公式与等式;错误强制(不是检测错误的代码而是显示错误的代码)。
2)代码覆盖:一般小程序使用编译环境的调试器,大程序使用代码覆盖率分析器。分为程序语句和代码行覆盖、分支覆盖(路径覆盖)、条件覆盖。