白盒测试.

白盒测试是一种典型的测试方法,是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法。

白盒测试的基于一个应用代码的内部逻辑知识,测试覆盖全部代码、分支、路径和条件。

白盒测试分为静态测试和动态测试。

静态测试主要对软件的编程格式、结构等方面进行苹果,采用的方式有代码走查、代码审查、程序结构分析、控制流分析、数据流测试及信息流分析等。

动态测试的测试方法主要有逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖)。

今天主要学习了逻辑覆盖。

(1)语句覆盖为了暴露程序中的错误,语句覆盖是最起码的测试要求,要求设计足够多的测试用例,使得每条语句至少被执行一次。

语句覆盖的优点:

1.检查所有的语句

2.结构简单的代码的测试效果较好

3.容易实现自动测试

4.代码覆盖率高

5.如果是程序块覆盖,则不必考虑程序块中的源代码

语句覆盖的缺点:

1.不能检查出条件语句错误(如“A>1&&B=0”->"A>0&&B=0");

2.不能检查出逻辑(&&、ll)运算错误(如“A>1&&B=0”->"A>0llB=0")

3.不能检查出循环语句错误,如循环次数错误,及跳出循环条件错误。

(2)判定覆盖(分支覆盖)

判定覆盖又称为分支覆盖,要求设计足够多的测试用例,使得程序中的每一个分支至少通过一次,即每一条分支语句的“真”值和“假”值都至少执行一次。

判定覆盖的优点:

1.判定覆盖要比语句覆盖差错能力强一些

2.执行了判定覆盖,实际也就执行了语句覆盖

判定覆盖的缺点:

1.不能检查出条件语句错误

2.不能检查出逻辑运算错误

3.不能检查出循环语句错误,如循环次数错误,及跳出循环条件错误。

(3)条件覆盖

条件覆盖的含义是指选择足够的测试用例,使得运行这些测试用例后,要使每个判定中每个条件的可能取值至少满足一次,但未必能覆盖全部分支。

条件覆盖的优点:

能够检查所有条件错误

条件覆盖的缺点:

1.不能实现对每个分支的检查

2.用例数增加

(4)判定/条件覆盖

判定/条件覆盖是设计足够多的设计用例,使得判定中每个条件的所有可能取值至少能够执行一次,同时每个判断的所有可能的结果至少执行一次。换言之,就是要求各个判定的所有可能的条件取值组合至少执行一次。

判定/条件覆盖的优点:

既考虑了每一个条件,又考虑了每一个分支,发现错误能力强于判定覆盖和条件覆盖

判定/条件覆盖的缺点:

1.不能全面覆盖所有路径

2.用例数量增加

(5)条件组合覆盖

条件组合覆盖要求设计足够多测试计用例。使得每个判定中条件的各种组合至少出现一次

(6)路径覆盖

路径覆盖要求设计足够多是测试用例,使得程序中所有的路径都至少执行一次。


猜你喜欢

转载自blog.csdn.net/lia_pulaihuan/article/details/48528329