自学软件测试-白盒测试笔记

按照测试方法的分类,测试可以分为白盒测试和黑盒测试。

黑盒测试是把产品看成一个黑盒子,不关心具体代码是怎么实现功能的,只关心数据的输入和输出。所以黑盒测试也称为数据驱动测试。

白盒测试也称结构测试或逻辑结构测试,这个盒子是白色的,所以我们需要知道代码是怎么实现功能的。测试人员需要根据程序的内部逻辑和结构进行测试用例的选择和设计。在白盒测试中,程序中所有的逻辑路径都应该被测试到。

所以白盒测试需要测试人员看懂代码,是一种基于代码的测试。与黑盒测试相比,白盒测试对测试人员的要求更加高。

白盒测试的基本方法主要有以下六种:

1.语句覆盖

2.分支覆盖

3.条件覆盖

4.判定条件覆盖

5.路径覆盖

6.组合覆盖

按照覆盖强度由低到高排序:语句覆盖

语句覆盖(最弱覆盖)

语句覆盖需要我们设计出来的测试用例中保证程序的每一个语句至少被执行一次。因为它仅仅考虑对代码中的执行语句进行覆盖而没有考虑各种条件和分支,比较难发现代码中存在的问题。

以下面的代码为例:

只需要一条测试用例:

就可以实现程序中每一个语句都执行一遍的要求。

再看一个示例:

答案是4个。Attention!case2没有break。所以case 2 和case 3可以在value=2的时候被执行到。

只要看见switch就要注意每个case语句后面有没有break~

分支覆盖(判定覆盖)

分支覆盖(判定覆盖):使得程序中的每个判断取真和取假至少经历一次,即判断的真假均曾被满足。

同样的,我们再来看这个代码:

需要两条测试用例

条件覆盖

条件覆盖要求所设计的测试用例能够使每个判定中的每个条件都获得可能的取值,即每个条件至少有一次真值和假值

同样的,我们再来看这个代码:

也是需要两条测试用例即可满足每个条件都取过真值和假值。

注意要区分判断和条件。

判定条件覆盖

判定条件覆盖是将判定覆盖和条件覆盖结合在一起。使得测试用例中,判断中的每个条件所有可能的取值至少执行一次,同时每个判断本身所有的结果也要执行一次。但仍旧没有考虑到各种条件的组合情况。

代码:

两个测试用例即可满足:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月8日
下一篇 2021年11月8日

相关推荐