白盒测试
白盒测试是一种典型的测试方法,是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法,因此又称为结构测试或逻辑驱动测试,它是基于程序代码的内部逻辑知识,测试覆盖全部代码,分支,路径和条件。白盒测试一般分为静态测试和动态测试,静态测试不实际运行软件,主要是对软件的编程格式,结构等方面进行评估,采用的是代码走查,代码审查,程序结构分析,控制流分析,数据流测试及信息流分析;而动态测试需要实际运行软件,并使用设计的测试用例去探测软件缺陷。
白盒测试的逻辑覆盖:
(1)语句覆盖:要求设计足够多的测试用例,使得每一条语句至少被执行一次。
(2)判定覆盖(分支覆盖):要求设计足够多的测试用例,使得程序中的每一个分支至少通过一次,即每一条语句的真值和假值都至少执行一次。
(3)条件覆盖:使得程序中每个判定的每个条件的所有可能条件取值至少执行一次。
(4)判定条件覆盖:设计若干个测试用例,运行被测程序,使得程序中每个判定的每个条件的所有可能条件取值至少执行一次,同时每个判定的所有可能判定取值至少执行一次。即要求同时满足分支覆盖和条件覆盖。
(5)条件组合覆盖:设计若干个测试用例,运行被测程序,使程序中每一个判定的所有可能的条件取值组合至少执行一次。
(6)路径覆盖:设计若干测试用例,运行被测程序,覆盖程序中的所有可能路径。