10、要求,语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。 文章来2)用例设计:(如果此时将A路径上的语句1—〉T去掉,那么用例如下) X Y 路径 1 50 50 OBDE 2 90 70 OBCE 3)优点:可以很直观地从源代码得到测试用例,无须细分每条判定表达式。 4)缺点:由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和可能到达的隐式逻辑分支,是无法测试的。在本例中去掉了语句1—〉T去掉,那么就少了一条测试路径。在if结构中若源代码没有给出else后面的执行分支,那么语句覆盖测
11、试就不会考虑这种情况。但是我们不能排除这种以外的分支不会被执行,而往往这种错误会经常出现。再如,在Do-While结构中,语句覆盖执行其中某一个条件分支。那么显然,语句覆盖对于多分支的逻辑运算是无法全面反映的,它只在乎运行一次,而不考虑其他情况。 2、判定覆盖 1)主要特点:判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。 2)用例设计: X Y 路径 1 90 90 OAE 2 50 50 OBDE
12、 3 90 70 OBCE 3)优点:判定覆盖比语句覆盖要多几乎一倍的测试路径,当然也就具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。 4)缺点:往往大部分的判定语句是由多个逻辑条件组合而成(如,