「转载」论述白盒测试的覆盖方法

以前说了黑盒测试,今天聊聊白盒测试测试

白盒测试用例设计的一个很重要的评估标准就是对代码的覆盖度。一说到覆盖,相信你们都感受很是熟悉,可是常见的覆盖都有哪些?各自有什么优缺点?在白盒测试的用例设计中咱们应该如何自如地运用呢?设计

简单说说,白盒测试的覆盖方法:语句覆盖、断定覆盖、条件覆盖、组合覆盖和路径覆盖。
  
语句覆盖,就是针对代码语句。设计出来的测试用例要保证程序中的每个语句至少被执行一次。一般语句覆盖被认为是“最弱的覆盖”,由于它仅仅考虑对代码中的执行语句进行覆盖而没有考虑各类条件和分支,所以在实际运用中语句覆盖很难发现代码中的问题。  get

断定覆盖,就是说设计的测试用例要保证让被测试程序中的每个分支都至少执行一次。断定覆盖比语句覆盖强一些,能发现一些语句覆盖没法发现的问题。可是每每一些断定条件都是由多个逻辑条件组合而成的,进行分支判断时至关于对整个组合的最终结果进行判断,这样就会忽略每一个条件的取值状况,致使遗漏部分测试路径。自动化

条件覆盖,就是要求所设计的测试用例能使每一个断定中的每个条件都得到可能的取值,即每一个条件至少有一次真值、有一次假值。一般而言条件覆盖比断定覆盖强,由于条件覆盖使得断定中的每个条件都取到了不一样的结果,这一点断定覆盖则没法保证。但条件覆盖也有缺陷,由于它只能保证每一个条件都取到了不一样结果,但没有考虑到断定结果,所以有时候条件覆盖并不能保证断定覆盖。test

组合覆盖,就是说设计的测试用例应该使得每一个断定中的各个条件的各类可能组合都至少出现一次。显然,知足条件组合覆盖的测试用例必定是知足断定覆盖、条件覆盖和断定条件覆盖的。自动化测试

路径覆盖,意思是说咱们设计的测试用例能够覆盖程序中全部可能的执行路径。这种覆盖方法能够对程序进行完全的测试用例覆盖,比前面讲的五种方法覆盖度都要高。程序

总结方法

以上简单描述了几种不用的逻辑覆盖方法的原则和优劣。在实际的操做中,要正确使用白盒测试的代码覆盖方法,就要从代码分析和代码调研入手,根据调研的结果,能够选择上述方法中的某一种,或者好几种方法的结合,设计出高效的测试用例,能尽量的全面地覆盖到代码中的每个逻辑路径。这样白盒测试在结合自动化测试,能更好的进行测试。总结

TestBird - 手游和App自动化测试平台co

相关文章
相关标签/搜索