【白盒测试概念】
白盒测试(也称结构测试或逻辑驱动测试),它从程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试。
应用白盒法时,手头必须有程序的规格说明及程序清单。
白盒法考虑的是测试用例对程序内部逻辑的覆盖程度。穷举测试不可行,希望的是尽量提高覆盖的程度。
【测试覆盖标准】
1 测试覆盖率
为了衡量测试的覆盖程度,需建立一些标准。
测试覆盖率用于确定测试所执行到的覆盖项的百分比。
测试覆盖率包括:功能点覆盖率和逻辑覆盖率
(1)功能点覆盖率:大致用于表示软件已经实现的功能与软件需要实现的功能之间的比例关系。
(2)逻辑覆盖率:是指程序逻辑的覆盖率,可分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。
2 覆盖标准
覆盖标准从低到高分别是:
(1)语句覆盖SC(Statement Coverage)
选择足够的测试用例,使得程序中每个语句至少都能被执行一次。
是最弱的逻辑覆盖,效果有限,必须与其他方法交互使用。
(2)判定覆盖(也成为分支覆盖)DC(Decision Coverage)
执行足够的测试用例,使得程序中的每一个分支至少都通过一次。
判定覆盖只比语句覆盖稍强。
(3)条件覆盖CC(Condition Coverage)
执行足够的测试用例,使程序中每个判断的每个条件的每个可能取值至少执行一次。
条件覆盖深入到判定中的每个条件,但可能不满足判定覆盖的要求。
(4)判定/条件覆盖CDC(Condition/Decision Coverage)
执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个分支取到各种可能的值。
判定/条件覆盖有缺陷:从表面看,它测试了所有条件的取值,但其实往往是某些条件掩盖了另一些条件,会遗漏某些条件取值错误的情况。
(5)条件组合覆盖MCC(Multiple Condition Coverage)
执行足够的例子,使得<