1 黑盒测试
-
黑盒测试也称为功能测试,是指将程序的内部结构看做一个黑盒子,测试人员不需要关注黑盒子内部的细节,只要对其功能进行测试即可。
-
从原理上说,黑盒测试的测试方法应该就是暴力穷举法,但是应对一些场景,我们没办法做到穷举,所以就有了一下这些方法。
-
黑盒测试的主要测试方法为:场景设计、等价类、边界值、正交表、因果图法、错误推测法
通过这些方法设计测试用例,依照测试用例对功能进行测试
2 白盒测试
- 白盒测试也称为结构测试(或逻辑驱动测试),是将程序看做一个白盒子,测试人员需要关注程序内部的逻辑细节,通过逻辑分析设计测试用例进行测试。
- 白盒测试的测试方法是穷举路径法
- 应用测试方法有:代码检查、静态结构分析、静态质量度量法、逻辑覆盖、路径覆盖、基本路径测试法等方法
- 白盒测试的覆盖方法有:逻辑覆盖、循环覆盖、基本路径测试方法
- 逻辑覆盖的方法有:语句覆盖 、判定覆盖 、条件覆盖 、 判定/条件覆盖 、组合条件覆盖 、路径覆盖。
判断错误的能力由弱到强。
语句覆盖:每条语句至少执行一次;
判定覆盖(分支覆盖):每个判定分支至少执行一次;
条件覆盖:每个判定的每个条件应取到的各种可能的值至少执行一次;
判定/条件覆盖:同时满足判定覆盖条件的覆盖;
组合条件覆盖:每个判定中各种条件的每种组合至少出现一次;
路径覆盖:使程序的每一条路径至少执行一次。
语句覆盖是一种最弱的覆盖方法;
判定覆盖和条件覆盖都比语句覆盖的覆盖能力强,所有满足判定/条件覆盖的一定满足判定覆盖和条件覆盖;
路径覆盖的覆盖能力较强,但是可能没有考虑到判定覆盖的各种组合,所以不能代替条件覆盖和组合条件覆盖。
举个例子:
if((a < 120) || (b < 200)){
m = a * b;
}
else{
m = a + b;
}
分支覆盖:a = 100,b任意;a = 150,b = 250
条件覆盖:a = 100,b = 150; a = 100,b = 250; a = 150,b =150;a = 150,b = 250