软件测试学习6-动态白盒测试

来源:互联网 发布:淘宝商品迁徙 编辑:程序博客网 时间:2024/06/06 14:18

动态白盒测试

动态白盒测试是指利用查看代码功能和实现方式得到的信息来确定哪些需要测试、哪些不需要测试、如何开展测试。

动态白盒测试的另一个常用名词是结构化测试。因为软件测试员可以查看并使用代码的内部结构。从而设计和执行测试。

动态白盒测试包括以下4个部分:

1.直接测试底层函数、过程、子程序和库。

2.以完整程序的方式从顶层测试软件。但是根据对软件运行的了解调整测试用例

3.从软件获得读取变量和状态信息的访问权。以便确定测试与与其结果是否相符,同时,强制软件以正常测试难以实现的方式运行

4.估算执行测试时‘命中’的代码量和具体代码,然后调整测试,去除多余的测试用例,补充遗漏的用例


分段测试

单元测试和集成测试

在底层进行的测试称为单元测试或者模块测试。单元经过测试,底层软件缺陷被找出并修复之后,就集成在一起,对模块的组合进行集成测试。然后不断集合

直至整个产品(至少是产品的主要部分)——在称为系统测试的过程中一起测试。

这种递增测试的两种途径:自底而上和自顶而下

自底而上:采用这种方式,可以对测试的模块发送测试用例数据,接受返回结果,验证结果是否正确。采用这种方式,可以对整个软件进行非常全面的测试,为它提供全部类型和数量的数据,甚至高层难以发送的数据


数据覆盖

数据流覆盖主要是指在软件中完全跟踪一批数据。在单元测试级,数据仅仅通过了一个模块或者函数。同样的跟踪方式可以用于多个集成模块

通过动态白盒测试,还可以在程序运行期间检查变量的中间值。根据观察结果就可以决定更改某些测试用例,变量取得感兴趣或具有风险的中间值


次边界

如果进行白盒测试,就需要仔细检查代码,找到次边界条件,并建立能测试它们的测试用例。


公式和等式


错误强制


代码覆盖

代码覆盖测试是一种动态白盒测试,因为它要求通过完全访问代码以查看运行测试用例时经过了那些部分

代码覆盖测试最简单的形式是利用编译环境的调试器单步执行程序查看代码

提示L如果测试用例覆盖了软件的90%而未发现任何软件缺陷可能是软件对测试具有了免疫力

程序语句和代码行覆盖

分支覆盖

条件覆盖

原创粉丝点击