为了开发出安全可靠的软件,测试是质量保证中不可或缺的一部分。如果没有充分和有记录的测试,就不可能确定软件是否安全以及功能是否正确。在这种情况下,代码覆盖率(测试覆盖率)这个测量指标就显得尤为重要。

为了开发出安全可靠的软件,测试是质量保证中不可或缺的一部分。如果没有充分和有记录的测试,就不可能确定软件是否安全以及功能是否正确。在这种情况下,代码覆盖率(测试覆盖率)这个测量指标就显得尤为重要。这是因为它可以用来衡量一个软件已经被测试的全面程度。代码覆盖率表示已测代码占总代码的比例。打个简单的比方,如果在测试期间运行了四分之三的代码对象,那么代码覆盖率就是75%。

特别是在安全关键的软件开发项目中,行业标准对代码覆盖率提出了很高的要求,如果没有足够的测试覆盖率证明,产品就无法获得认证。在其他开发项目中,许多公司也越来越重视软件质量和测量代码覆盖率。

市场上可用的代码覆盖率分析器有很多种。它们在操作性能和产品质量方面存在显着差异。出于这个原因,下文提供了选择代码覆盖率工具的十个基本标准:

1.独立于编译器

当然,代码覆盖率工具必须与项目中使用的编译器配合使用。然而,选用一个从一开始就可以独立于编译器使用的工具是很有意义的。这样的工具不仅可以在当前项目中使用,也可以在使用不同编译器的所有项目中使用。独立于编译器的覆盖率工具能以更加多样化的方式使用,因此非常值得投资。

2.容易使用

如果一款软件设计得不必要的复杂,或者设计时没有经过深思熟虑,则很少有人愿意使用。而一款操作简单的测试覆盖率软件可以显著提高用户的接受度。理想情况下,这些工具应该在后台运行,在测试过程中不会给用户产生任何额外的负担。

3.覆盖率报告容易理解

在评估覆盖率报告时,应该很容易看清楚代码的哪些部分已经通过了测试,哪些部分仍然没有覆盖到。使用良好的覆盖率工具,测试人员可以轻松地在源代码级别识别哪些测试用例仍然未完成。通过执行这些缺失的测试,就能有针对性地提高代码覆盖率,同时也能避免因冗余测试而导致的不必要的工作。

图1:除了各个代码部分的代码覆盖率综览(上图),一个有效的代码覆盖率工具(如TestwellCTC++)还能显示更详细的信息(下图),即使在最高的覆盖率水平情况下,也能准确显示源代码被测试覆盖到什么程度。(来源:Verifysoft科技)

4.可以为安全关键开发项目提供更高的覆盖率水平

针对安全关键软件的测试,许多标准(例如汽车领域的ISO26262、航空领域的DO-178C和铁路运输领域的EN-50128)规定了高达MC/DC覆盖率的高覆盖水平。因此,必须确保覆盖率工具能够支持所有要求的覆盖率等级。为了能够长期使用同一个解决方案,不仅应该考虑当前的需求,还应该考虑未来的需求。重要的是要知道:许多覆盖率工具仅提供判断或分支覆盖,不足以用于安全关键软件的开发。

5.集成灵活

即使在公司内部,开发环境和工具链也常常是多种多样。覆盖率工具应该可以轻松应对所有这些不同的环境。它们必须能够无缝集成进相应的生成过程和测试的执行中,并且不会太麻烦。如果这些工具也可以通过命令行使用,那么在自动化生成执行代码的创建方面就具有很大的优势。

6.检测开销

大多数覆盖率工具通过检测源代码来测量代码覆盖率。它们会在源代码中增加“计数器”,用于计算测试过程中相关代码部分的执行位置和执行频率。但是,这会增加原始代码的大小。因此在对内存容量有限的嵌入式目标进行测试时,应注意尽可能降低这种所谓的仪器检测开销。各种代码覆盖率工具对内存的需求差异是很大的。例如,Verifysoft公司的代码覆盖率分析器TestwellCTC++在这方面就非常节省资源。TestwellCTC++甚至可以通过使用位覆盖率选项进一步减少所需的内存空间(位覆盖率仅测量某部分代码是否已被测试,而不是被测试了多少次)。

7.支持不同的编程语言

许多公司经常使用不同的编程语言,也可能计划在未来引入其他语言。因此,从一开始就选择支持所有或尽可能多的语言的工具是有意义的。

8.支持“创造性”的编程

一些覆盖率工具在分析非通用标准或具有深度嵌套的语言结构时会遇到问题。因此一个好的测试覆盖率工应该能够应对“创造性”的编程风格。

9.支持安全关键类软件开发

在开发安全关键类软件时,相关标准要求整个工具链都必须得到认证,目的是证明覆盖率分析器和整个工具链中使用的其他工具都能可靠地工作。专业的代码覆盖率工具制造商通过认证套件和有关工具认证的建议来支持软件项目。在这种情况下,还应注意所选的覆盖率工具是否已成功用于安全关键类项目。

10.评估许可、技术支持和用户参考

在工具评估过程中应检查覆盖率工具对自己项目的适用性。在此期间,您已经对技术支持的表现有了一个印象。是否也可以通过电话或只能通过电子邮件获得支持?支持人员的能力如何?响应时间呢?用户手册有多好和有多实用?制造商是否也提供培训?最后而且也很重要的一点是,建议查看制造商提供的用户参考资料。它们可以提供有关覆盖率分析器的质量和供应商能力的更多信息。

本文小结

对于安全关键类的软件开发来说代码覆盖率测试是强制性的,这是有充分理由的。对于任何想要提高软件质量的人来说,测量覆盖率是一个很好的方法,它能提高软件测试的价值。在选择代码覆盖率分析器时,必须注意确保这些工具能够满足多方面的要求。此外,易用性和专业支持等因素也起着重要作用。如果使用得当,一个好的测试覆盖率工具有助于显着提高软件质量,提高开发人员和测试人员的积极性,并节省测试的成本。

(参考原文:criteria for selecting a code coverage tool

本文为《电子工程专辑》2021年12月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅 

责编:Amy Wu

本文为EET电子工程专辑原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 都自带了
阅读全文,请先
您可能感兴趣
此次制裁不仅涉及传统的军事和国防领域,还扩展到了高科技产业。BIS指出,上述实体清单被认为与中国高超音速飞行器、专有软件的开发、设计和建模有关……
利扬芯片拟收购李玲、李瑞麟、封晓涛、贾艳雷、孙絮 研及李亮合计持有的国芯微 100%股权。最终收购价格需在完成尽职调查及审计、 评估程序后经协商确定,并在正式的转让协议中明确......
光电探测器的性能因材料不同、结构不同、制备工艺及应用场景的不同而存在较大的差异。性能指标之间往往存在制约,如暗电流与输出电流、灵敏度与响应度、可靠性与灵敏度等需要权衡。对于性能表征也是如此,例如高响应度与高精度电流表征无法同时进行。
iTAP的交互流程融合了智能选卡下无感接近的便捷性、高强度商密算法下的高安全性、海量应用下的快速响应效率以及对现有NFC技术的兼容性等优势。
泰克公司电源市场部门负责人Jonathan Tucker讨论了更适合宽禁带功率器件的测试方法,以及这些方法如何帮助提高器件的性能。
近日,国家市场监督管理总局正式批准上海机动车检测认证技术研究中心有限公司(简称“上海汽检”)筹建国家汽车芯片质量检验检测中心,这标志着汽车芯片产品领域首个国家级检测中心正式落户上海嘉定安亭。
• 目前,iPhone在翻新市场中是最热门的商品,并将长期主导着翻新机的平均销售价格。 • 全球翻新机市场持续向高端化发展,其平均销售价格(ASP)现已超过新手机。 • 新兴市场是增长的最大驱动力,消费者对高端旗舰产品有着迫切需求。 • 由于市场固化和供应链的一些问题限制推高中国、东南亚和非洲等大市场的价格。 • 2024年,这些翻新机平均销售价格将首次超过新手机。
从全球厂商竞争来看,三季度凭借多个新品发布,石头科技市场份额提升至16.4%,连续两季度排名全球第一……
2025年1月9日,美国 拉斯维加斯丨全球瞩目的国际消费电子产品展(CES 2025)盛大开幕,来自世界各地的科技巨头与创新企业齐聚一堂共同展示最新的科技成果。中国高性能微控制器产品及嵌入式解决方案提供商上海先楫半导体科技有限公司(先楫半导体,HPMicro)闪耀登场,发布了专注于机器人运动与控制的高性能MCU产品——HPM6E8Y系列,为火热的机器人市场注入新的活力。
最新Wi-Fi HaLow片上系统(SoC)为物联网的性能、效率、安全性与多功能性设立新标准,配套USB网关,可轻松实现Wi-Fi HaLow在新建及现有Wi-Fi基础设施中的快速稳健集成
来源:《中国半导体大硅片年度报告2024》2016 年至 2023 年间,全球半导体硅片(不含 SOI)销售额从 72.09 亿美元上升至121.29 亿美元,年均复合增长率达 7.72%。2016
1月7日,据韩媒 sisajournal-e 消息,三星计划 2025 年下半年推出三折叠手机,采用 G 形双内折设计,完全展开后尺寸为 12.4 英寸。据称,有别于华为的 S 形折叠屏方式(In&O
小米15 Ultra目前已经三证齐全,静待2月份发布了,大概率会是2025年第一款超大杯旗舰。博主定焦数码最新公布了一张该机的渲染图,后摄区域是根据内部结构绘制,展示了全新的排列方式。四摄呈L形排列,
近日,联想在CES 2025展会上展示了全球首款卷轴屏PC——ThinkBook Plus Gen 6。据悉,ThinkBook Plus Gen 6卷轴屏AI PC的核心魅力在于其独有的可卷曲显示屏
中国上海,2025年1月9日——中微半导体设备(上海)股份有限公司(以下简称“中微公司”,上交所股票代码:688012)和南昌中微半导体设备有限公司共同拥有的发明专利“一种化学气相沉积装置及其清洁方法
亚化咨询重磅推出《中国半导体材料、晶圆厂、封测项目及设备中标、进口数据全家桶》。本数据库月度更新,以EXCEL表格的形式每月发送到客户指定邮箱。中国大陆半导体大硅片项目表(月度更新)中国大陆再生晶圆项
    大联大控股宣布,其旗下世平推出基于安森美(onsemi)NCP5156x芯片的双通道隔离驱动IC评估板方案。    图
近日,闻泰科技在一场电话会议中阐述了其出售ODM(原始设计制造)业务的战略考量。           闻泰科技表示,基于地缘政治环境变化,考虑到 ODM 业务稳健发展和员工未来发展利益最大化,公司对战
戴尔科技AI PC产品组合助力终端用户释放创造力并提高工作效率。 戴尔科技统一旗下产品组合品牌命名,旨在帮助用户更轻松、快速地找到相匹配的PC、配件及服务。 搭载英
这届CES,几乎成了半个车展。尤其是今年多个中国电动车品牌参展,凭借各种华丽的车载科技大放异彩,直接让美国记者看傻了。在体验完极氪001 FR之后,美国知名电动车媒体InsideEVs记者Patric