| 网站首页 | 测试咨讯 | 新手入门 | 专注性能 | 测试技术 | 测试管理 | 测试工具 | 开发社区 | 工具下载 | 资料下载 | 测试论坛 | 

[CNTester联盟群]交流群:34446273/21968356/64461572 白盒群:18400216 自动化群:2706508 性能群:4498858 外包群:59649884 管理群(需有管理经验):64442523

新手入门
 入门指南
 经验之谈
测试咨讯
 行业新闻
 网站动态
 人才就业
 CNTester基金
 标准规范
专注性能
 性能测试知识
 性能测试工具
 程序设计性能
 数据库性能
 Web应用服务器性能
 操作系统性能
 服务器与网络性能
测试技术
 用例设计
 性能测试
 自动化测试
 Web测试
 面向对象测试
 综合技术
 阶段性测试
 行业类测试
测试管理
 项目管理
 项目案例
 质量管理
 软件过程
测试工具
 Mercury系列
 Rational系列
 测试管理工具
 性能测试工具
 功能测试工具
 单元测试工具
 其它测试工具
开发社区
 Java技术
 DotNet技术
 C技术
 数据库技术
 操作系统
 服务器与中间件
工具下载
 测试工具
 开发工具
 企业工程
 网络通信
 媒体桌面
 游戏娱乐
 其他工具
资料下载
 测试资料
 程序设计
 数据库
 操作系统
 应用服务器
 电子期刊
 其他资料
 
 
您现在的位置: 中国测试员网站 >> 测试技术 >> 用例设计 >> 白盒测试 >> 文章正文
  [推荐]测试覆盖率工具         ★★★ 【字体:
测试覆盖率工具
clover.net
作者:未知    文章来源:零度海洋    点击数:    更新时间:2007-5-28    

测试覆盖率工具--clover.net
    在网上一直找一个统计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

    程序插装技术(打点)

    模 拟 运 行
文章录入:fy818    责任编辑:fy818 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
    最新热点 最新推荐 相关文章
    · 性能测试方法
    · Java 安全的演进
    · Java 安全性的演变和理念 第一部分:安全
    · 第 1 部分: Web 安全与 Rational AppScan
    · 自动化测试实施步骤和最佳实践
    · Web测试方法
    · 站点测试-WebTesting
    · 实施自动化功能测试的解决方案
    · 经典之作《代码大全》中的单元测试---测试
    · IP网络的测试方法
    · 第 2 部分: 使用 Rational AppScan 应对 
    · 第 1 部分: Web 安全与 Rational AppScan
    · 构建安全软件: 选择技术,第一部分
    · 软件安全性原则: 第一部分
    · Java 安全性的演变和理念 第一部分:安全
    · 安全的代价是什么?
    · 保护系统安全: 一个识别用户的三向解决方
    · 穿透企业网络
    · Java 安全的演进
    · 您的 Java 代码安全吗 — 还是暴露在外?
    论单元测试
    用Cobertura测量测试覆盖率
    单元测试指导
    “白盒”静动测试两齐全
    嵌入式软件测试的十大秘诀
    白盒测试覆盖方法
     
     
     
    ======> [CNTester联盟群]交流群:34446273/21968356/64461572 白盒群:18400216 自动化群:2706508 性能群:4498858 外包群:59649884 管理群(需有管理经验):64442523
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | 

    Copyright@2007 by CNTester.com 中国测试员网站 桂ICP备07005590

    本站为开源免费网站,非商业赢利性组织。本站文章部分从网络搜索获取,如果您认为某些侵犯了您的权益,麻烦您联系本站,我们会尽快删除相关内容,同时也希望您的谅解,我们的初衷是为了让更多人去学习这方面的知识,让行业有更好的发展。

    联系电话: 15021358905