测试文章内容,包含一些测试语句,因为不包含足够的词语,所以必须输入足够的语句,才能正常的入库处理。

二、判定覆盖(Decision Coverage)

  1. 主要特点:判定覆盖又称为分支覆盖,它要求选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次402com永利平台,。
  2. 优点:判定覆盖比语句覆盖要多几乎一倍的测试路径,当然也就具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。
  3. 缺点:往往大部分的判定语句是由多个逻辑条件组合而成(如,判定语句中包含AND、OR、CASE),若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。
  4. 举例
![](https://upload-images.jianshu.io/upload_images/2298827-34f2268901fe3fb7.png)

X    Y   路径
90  90  OAE
50  50  OBDE
90  70  OBCE

一、语句覆盖(Statement Coverage)

  1. 主要特点:语句覆盖是最起码的结构覆盖要求,语句覆盖需要选择足够的测试用例,使我们设计出来的测试用例要保证程序中的每一个语句至少被执行一次
  2. 优点:可以很直观地从源代码得到测试用例,无须细分每条判定表达式。
  3. 缺点:由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和可能到达的隐
    式逻辑分支,是无法测试的。
  4. 举例

public int foo(int a,int b)
{
      return a/b;
}

这是一个求两数之商的函数。如果我们设计如下的测试用例:
TestCase: a =2, b =1
此时,该函数的代码覆盖率达到了100%,并且设计的case可以顺利通过测试。但是显然该函数有一个很明显的bug:当
b=0 时,会抛出异常。

白盒测试用例设计的一个很重要的评估标准就是对代码的覆盖度白盒测试中常见的覆盖方法有六种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。下面我们就分别看看这几种不同的覆盖吧