首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>软件工程>软件测试>.net测试覆盖率工具:clover.net工具
.net测试覆盖率工具:clover.net工具
来源: 发布时间:2007-11-30 发布人: 浏览: 人次   字体: [ ]  
 以前上软件测试课时,看到老师演示的一个统计C语言的测试覆盖率的工具,当时就想不知道.NET下是否有同样的工具。碰巧昨天就发现了clover.net,它能帮你分析那些代码已经经过了测试。

    下面是我们上的软件测试课中关于覆盖分析的一些资料:

    覆盖分析是对需求的实现程度或对程序的执行程度的分析。

    覆盖分析包括两部分,即基于需求的覆盖分析和基于结构的覆盖分析。基于需求的覆盖分析是分析测试用例对软件需求的覆盖程度,以证实所选的测试用例满足指定的需求覆盖准则 。基于结构的覆盖分析是分析测试用例 对被测程序的覆盖程度,以证实所选的测试用例满足指定的结构覆盖准则 。

    语句覆盖是最起码的结构覆盖要求。 语句覆盖要求 设计足够多的测试用例,使得程序中每条语句至少被执行一次。

    一个程序模块的测试独立路径数等于该模块的McCabe 圈复杂度 。

    考虑上图所示流程图 ,要使其达到语句覆盖,只需选取:

    A=2 , B=0 , X=3 。

    但是这个测试还不彻底,如果AND误写成了OR ,上面的语句覆盖测试就发现不了。

    判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定至少有一次 为真值 ,有一次为假值 ,即:程序中的每个分支至少执行一次。

    判定覆盖测试用例

    测试用例 A B X 路径

    1     3     0     1     acd

    2     2     1     3     abe

    对上图来说 ,设计两组测试输入就可以通过路径ace和abd或路径acd和abe达到判定覆盖。

    判定覆盖也不完全,例如上面两个测试用例未能检查沿着路径abd 执行时 , 值是否保持不 变 。

    条件覆盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值 ,有一次为假值 。

    条件覆盖测试用例

    测试用例 A B X 路径

    1     1     0     3     abd

    2     2     1     1     abd

    对上图来说 ,要达到条件覆盖,需要足够多的测试用例,使得在 A 点有 A>1 , A ≤ 1 , B=0 , B ≠ 0 ,在 B 点有 A=2 , A ≠ 2 , X>1 , X ≤ 1 。

    条件覆盖也不完全,由上例可以看出,条件覆盖并不能保证判定覆盖。

    设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次, 每个判定本身所有可能结果也至少出现一次。

    判定 / 条件覆盖测试用例

    测试用例 A B X 路径

    1     2     0     4     ace

    2     1     1     1     abd

    判定 / 条件覆盖准则满足判定覆盖准则和条件覆盖准则 。判定 / 条件覆盖准则的缺点是未考虑条件的组合情况。

    要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合至少出现一次。

    多重条件覆盖测试用例

    测试用例 A B X 路径

    1     2     0     4     ace

    2     2     1     1     abd

    3     1     0     2     abd

    4     1     1     1     abd

    多重条件覆盖准则满足判定覆盖、条件覆盖和判定 / 条件覆盖准则 。

    更改的判定 / 条件覆盖要求设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身的所有可能结果也至少出现一次。并且每个条件都显示能单独影响判定结果。

    if ( A and B ) ... , 测试用例1和3说明条件A独立地影响测试结果, 测试用例1和2说 明条件B独立地影响测试结果,所以测试用例 1 , 2 , 3 是必须的。

    测试用例A B Result

    1     T     T     T

    2     T     F     F

    3     F     T     F

    4     F     F     F

    判断每个条件是否能单独影响判定结果的方法是:在固定其它条件值的同时变化要检查的条件。

    更改的判定 / 条件覆盖继承了多重条件覆盖的优点,同时只是线性地增加了测试用例的数量。

    if ( a>0 && b<0 && c == 1 ) ... ,

    测试 用例 A B C Result

    1     T     T     T     T

    2     F     T     T     F

    3     T     F     T     F

    4     T     T     F     F

    if ( a>0 || b<0 || c == 1 ) ... ,

    测试用例 A B C Result

    1     F     F     F     F

    2     T     F     F     T

    3     F     T     F     T

    4     F     F     T     T


相 关 文 章   发布商链接
·为什么需要软件测试及其软件如何测?...
·如何使用NUnit进行并发测试?
·详解单元测试中的问题和解决方案
·谈谈单元测试假成功和假失败的避免方...
·软件测试过程模型图介绍:V模型 W模...
·什么是单元测试?如何编写单元测试用...
·什么是黑盒测试及其测试常用的方法介...
·谈谈敏捷开发中的7种测试类型
·敏捷开发中的7种类型测试
·警惕一些容易被测试人员忽略的软件缺...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·谈谈敏捷开发中的7种测试类型...
·什么是黑盒测试及其测试常用...
·什么是单元测试?如何编写单元
·软件测试过程模型图介绍:V模
·谈谈单元测试假成功和假失败...
·详解单元测试中的问题和解决...
·如何使用NUnit进行并发测试?
·为什么需要软件测试及其软件...
·软件测试过程中,测试数据如何
·几款开放源代码的软件测试工...
·测试人员应该如何报bug?
热 门 文 章
·软件测试过程模型图介绍:V模...
·什么是单元测试?如何编写单元...
·为什么需要软件测试及其软件...
·什么是黑盒测试及其测试常用...
·如何使用NUnit进行并发测试?
·软件测试过程中,测试数据如何...
·软件测试缺陷报告实用写作技...
·测试人员应该如何报bug?
·几款开放源代码的软件测试工...
·详解单元测试中的问题和解决...
·软件测试中如何做好bug统计的...
·谈谈单元测试假成功和假失败...
·软件测试中常用的一些技巧与...
·测试过程的几个注意点助你提...
·保证测试的完备性的八条经验
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .