前面我们了解了什么是黑盒测试、白盒测试、静态黑盒测试、动态黑盒测试、静态白盒测试,这一节将要说的就是动态白盒测试
那么什么是动态白盒测试呢?
动态白盒测试指:利用查看 代码功能 和 实现方式 得到的信息来确认哪些需要测试,那些不需要测试,如何展开测试。
——直白点讲就是了解代码要做什么,怎么做来进测试。
而我们就是通过查看并使用代码的内部结构来设计并执行测试
动态白盒测试又包括四个部分:
- 测试代码的底层函数,运行过程,子程序和库,也就是测试代码的 API 接口
- 读取状态和变量并测试预期与结果是否相符,同时进行非常规操做进行测试
- 测试中调整测试用例,去掉多余的测试用例并补充漏掉的用例
说到这里就要区分一下动态白盒测试和调试的区别了,目标不同:
在动态白盒测试中又分为:
-
单元测试——在最底层进行的测试
-
集成测试——经过单元测试找出的缺陷修复后集合到了一起
-
系统测试——在不断增加的的测试过程中加入更多的片段直到整个产品的过程
单元测试示例:
`在输入框中输入任何数字,输出整数
- 正常测试:
输入 —— 输出
- 1 —— 1
- -1 —— 1
- 0.1 —— 0
- 0.5 —— 0
- -0.5 —— 0
- 非正常测试:
- abc —— 0
- a123 —— 0
`
#### 接下来说到的就是数据覆盖
数据覆盖中又包括:
- 数据流——软件中完全跟踪一批数据,看它每一步到哪,怎么到的
- 边界值——数据的最大值,最小值
- 公式和等式——怎么得到的值,每个值表示的是什么
- 强制错误——迫使所有错误信息显示
在测试中还有一个重要的点就是代码覆盖
除了测试数据还要对程序进行状态以及流程测试,进入、退出每一个模块,执行每一行代码,进入软件的每一行代码和决策叫做——代码覆盖
而通过代码覆盖率我们可以得到测试用例没有覆盖到的部分,多余的测试用例,为了得到更好的测试用例我们需要怎样来建立测试用例
代码覆盖中最后直接的形式叫——语句覆盖
代码覆盖中试图覆盖所有路径的行为叫——路径覆盖
路径覆盖最简单的形式叫——分支覆盖
而通过不同的测试条件来测试不同或相同的数据叫——条件覆盖
下一节将讲到的是怎样来运用前面我们讲到的测试技术即:黑盒测试和白盒测试的使用
未完待续~