• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

谈谈软件测试中的测试覆盖

发布: 2007-5-14 21:24 | 作者: 顾翔 | 来源: 希赛网 | 查看: 99次 | 进入软件测试论坛讨论

领测软件测试网

   软件测试覆盖包括分支覆盖,语句覆盖以及条件覆盖,这是白盒测试中一个很基本的测试概念,但是最近和几位搞了多年测试的朋友谈及此事,大家都搞不大清楚。下面我通过一个例子来深入探讨一下这个问题:

  我们首先来看一下这几些测试覆盖的定义:

  定义一、语句覆盖:它要求被测程序的每一可执行语句在测试中尽可能都检验过;
 
  定义二、分支覆盖:要求程序中所有判定的分支尽可能得到检验;
 
  定义三、条件覆盖:当判定式中含有多个条件时,要求每个条件的取值均得到检验;
 
  从这些定义我们可以很容易理解到语句覆盖是把程序中的所有的语句都给覆盖到;分支覆盖是把程序中每个分支都给覆盖到;条件覆盖是把判断条件中所有的条件都给覆盖到。

  下面我们通过一个简单的例子来描述一下

  0:
  1: if ((a<150)||(b<200)){
  2:   for (i=a;i<100;i++)
  3:  {
  4:  println(“A”);}
  5: else{
  6: println (“B”);
  7: }
 
  分支覆盖:
  1)在0处设置a=120,b 任意
  将执行1,2,5
  2)在0处设置a=200,b=400
  将执行1,5,6,7
  这里所有的分支都走到,也就是说要达到分支覆盖率100%,要设计2组测试用例
  a    b
  120   任意
  200   400 
 
  语句覆盖:
  1)在0处设置a=40,b 任意
  将执行1,2,3,4,5
  2)在0处设置a=200,b=400
  将执行1,5,6,7
  这里所有的语句都走到了,也就是说要达到语句覆盖率100%,要设计2组测试用例
  a     b
  40    任意
  200   400

  而在分支覆盖中语句3,4没有走到
 
  条件覆盖:
  由于第一个条件是if ((a<150)||(b<200)) 所以需要设计测试用例
  a    b    备注
  40   50    全都满足
  160  150    a 不满足,b满足
  0   250    a满足,b不满足
  150  250    a,b都不满足

  

条件覆盖只要求把所有的条件都覆盖就可以了。
 
  这样一来我们就把这几个概念搞得很清楚了。

  顺便我在这里想说一句心里话,我们现在的不管是书籍还是网站上的文章都太倾向于理论了,而到实际运用上来就说不清楚了,我希望能够有更多又讲理论又讲实践的文章和书籍能够出现。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 测试覆盖


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网