一种嵌入式覆盖率检测工具的实现.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第l2卷 第 10期 2010年1O月 逶钎 VoI|12NO.1O Oct.2OlO doi:lO.3969/j.issn.1563-4795.2010.10.013 一 种嵌入式覆盖率检测工具的实现 王衍 .傅一帆 卫 f1.信息产业部 电子六所 ,北京 100083; 2.杭州和利时 自动化有 限公司,浙江 杭州 310018) 摘 要:软件单元测试的一个很重要的指标就是代码覆盖率。在软件测试过程 中,对代码做 覆盖率检测是提 高软件测试质量的一个重要手段 。文 中介绍 了嵌入式系统覆盖率检测工具 hcov的开发和使 用方法 。 关键词 :嵌入式系统 ;覆盖率检测;软件工具 O 引言 有没有操作系统 ,都可以使用 。 单元测试的一个很重要 的指标就是代码覆盖 1 工具的原理 率。很多软件开发标准化组织都对单元测试 的代 1.1 gcov的原理 码覆盖率有明确的要求 ,低于标准就意味着单元 测试不通过。目前有很多覆盖率检测工具 ,应用 GCC编译程序时 ,如果添加上选项一ftest— 较广的开源覆盖率检测工具有Cobe~ura、Gcov, coverage.就会生成对应 的:l:.gcno~件 。;I:.gcno包 Codecoverage等。然而 ,这些工具只能用于通用 含两部分内容 :其一是基本块信息 f基本块是一 的软件系统的开发 .而并不适合嵌入式系统 的开 段内部没有跳转 的程序1,也就是说整个程序被 发。 划分成若干基本块 ,基本块的基本信息和每个基 嵌入式系统与通用系统的开发有着很大的差 本块与源代码的对应关系都存放在 .gcno文件中: 别。嵌入式系统需要采用交叉开发方式 ,即开发 其二是基本块之间的跳转信息,通常把基本 工具运行在软硬件配置丰富的宿主机上 ,而嵌入 块之间的跳转称作arc。 式应用程序则运行在软硬件资源相对缺乏的目标 若以基本块为节点 .基本块之间的arc为图的 机上。在嵌入式系统的开发中,由于开发工具和 边 ,那么 ,程序就被抽象成一个图。这样 ,就可 应用程序运行在不同的环境中.因此无法使用通 以将程序的执行流程抽象成对一个图的处理 。 用软件系统开发 中常用工具。 程序执行过程中,在基本语句块之间会有跳 因此 ,在嵌入式系统开发项 目中,测试工具 转 。跳转时,图中对应的边检索次数加 1,检索 的开发和使用 ,对于提升软件质量和缩短项 目周 次数被保存在 .gcda文件 中。如果知道 了每条边 期尤为重要。为此 ,本文介绍了一种嵌入式覆盖 的检索次数 。就能够算 出每个节点的执行次数 率检测工具hcov的开发过程和使用方法 。该工具 从而就可以进一步知道所有语句的执行次数。 的开发是以GCC的下覆盖率检测工具gcov为基础 假设一个程序抽象成 图后如图1所示 。那么 开发出来的,可用于在嵌入式系统中作覆盖率检 由图1可见,其程序将被划分成l、2、3三个节 测 。 相对于一些商用工具 ,hcov有着 以下优点: 以开源工具gcov为基础 ,成本低 ;实施简单 ,不 需要特别的硬件接 口;适用范

文档评论(0)

向往 + 关注
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档