以下流程图中,至少设计( )—个测试用例可以分别满足语句覆盖和路径 覆盖。
本题考察软件测试的基础知识。
白盒测试的方法包括一系列的逻辑覆盖,主要的覆盖标准有语句覆盖、判定 覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径 覆盖等。
(1)语句覆盖。语句覆盖是指选择足够多的测试用例,使得运行这些测试 用例时,被测程序的每个语句至少执行一次。很显然,语句覆盖是一种很弱的覆 盖标准。
(2)判定覆盖。判定覆盖也称为分支覆盖,它是指不仅每个语句至少执行 一次,而且每个判定的每种可能的结果(分支)都至少执行一次。判定覆盖比语 句覆盖强,但对程序逻辑的覆盖程度仍然不高。
(3)条件覆盖。条件覆盖是指不仅每个语句至少执行一次,而且使判定表 达式中的每个条件都取得各种可能的结果。条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。
(4)路径覆盖。路径覆盖是指选取足够的测试用例,使得程序的每条可能 执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路路径至少经 过一次)。路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是 一种较强的覆盖标准。但路径覆盖并未考虑判定中的条件结果的组合,并不能代 替条件覆盖和条件组合覆盖。