动态白盒测试
动态白盒测试
动态白盒测试就是利用查看代码功能(做什么)和实现方式(怎么做)得到的信息来确定需要哪些测试、哪些不需要测试、如何展开测试。
动态白盒测试包含以下部分
- 直接测试底层函数、过程、子程序和库。
- 以完整程序的方式从顶层测试软件;
- 以软件获得读取变量和状态信息的访问权,以便确定测试与预期结果是否相符,同时,强制软件以正常测试难以实现的方式运行。
- 估算执行测试时”命中“的代码量和具体代码,然后调整测试,去掉多余的测试用例,补充遗漏的用例。
分段测试
单元测试和集成测试
当如软件测试开始时,测试员先从小片段的代码入手,当一个代码段检查完成后,增加其他的代码段再次来测试,直到将软件的主要代码测试成功后将其及集成,完成系统测试。
数据覆盖
数据流
可以在测试时跟踪一组数据,这组数据最好是有特征的,边界值或具有风险的中间值,通过观察测试结果更改部分用例。
次边界
与程序员沟通,检查次边界问题
公式和等式
寻找所有能够使得公式崩溃的地方;
错误强制
如果在测试中,编译器可以观察并修改某些变量的值,那么就可以强制修改变量的值来达到测试的目的。
注意:不要输入非法数据!如果程序员在开始就声明了参数的类型和取值范围,那么在中间强制修改变量的值为非法值就是违规的!
代码覆盖
所谓代码覆盖,就是单步调试每一行代码,在调试过程中,认真观察数据的流向。
程序语句和代码行覆盖
全面覆盖每一行代码
分支覆盖
试图覆盖软件的每一条路径。路径测试最简单的形式被称为分支覆盖测试。
条件覆盖
条件覆盖的要求就是覆盖每一种可能,将所有可能的条件都测试。
小结
本部分讲述了通过黑盒白盒测试,让初学者对软件测试的内容有了些了解,下面总结几种方法:
- 静态黑盒测试:检查说明书,并在软件编写前自傲出问题;
- 动态黑盒测试:在不了解软件的情况下测试软件;
- 静态白盒测试:通过正式审查和检验检查代码的细节;
- 动态白盒测试:看到软件的工作方法,根据获得的信息对软件进行测试。