0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

100%代码覆盖率分析是否必不可少

星星科技指导员 来源:嵌入式计算设计 作者:JAY THOMAS 2022-11-01 10:46 次阅读

安全关键型软件标准高度关注如何有效地测试软件。他们指出,有效的软件测试需要一种规范的方法,其中代码覆盖率用于提供有关迄今为止测试有效性的反馈。应用于系统的测试严格程度必须由系统故障的影响决定。后果越严重,测试必须越严格。

覆盖率分析是软件安全的重要组成部分,但随之而来的是两个问题 - 覆盖率是多少 - 以及我如何最大限度地减少实施流程所涉及的工作量。让我们看一下安全关键流程标准的指南,看看它们如何讨论覆盖范围,以及覆盖范围如何影响风险管理。我们还将考虑实施工作 - 基本规则是从简单开始并建立 - 并尝试了解这些因素如何结合在一起。

在现实生活中 – 从选择承保级别的实际角度来看,始终从报表承保范围开始,并在必要时从那里开始工作。DO-178 和 ISO 26262 的指南可帮助您确定适合您项目的覆盖级别。这两个标准都要求进行系统安全评估,以确定故障的影响和系统目标故障率,这反过来又定义了证明系统已经过适当测试所需的测试级别。毋庸置疑,失败的影响越大,测试效果必须越严格。然后强制要求适当级别的代码覆盖率,以证明已达到适当的测试级别。

这导致了一些问题,例如您的系统对您的任务有多重要?我应该以什么样的故障率为目标?下表提供了一些关于选择美国联邦航空管理局 (FAA) 就 DO-178 讨论的适当覆盖范围级别的指导。

450-LDRA+Table.jpg.jpg

代码覆盖率作为测试严格性的衡量标准必须谨慎应用。例如,在没有测试计划的情况下执行系统所实现的覆盖范围是不合适的。执行必须由测试计划和需求驱动。通常,安全关键软件标准的指导是,为了证明适当的测试严格程度,测试必须由需求驱动并在系统级别执行。但是,根据适当的要求,您可以使用在单元级别驱动的测试来补充此测试。只有这样,才适合使用覆盖率分析来衡量测试的完整性。

在实践中,从系统级测试中实现 100% 的代码覆盖率既不合适也没有必要。实现系统的最大代码覆盖率是一个迭代过程。使用代码覆盖率结果作为反馈,可以识别测试过程中的缺陷,例如缺少需求、缺少测试用例、无法访问、不需要或失效/停用的代码。然后可以添加测试用例,解决需求,重构代码以解决提出的问题。然后可以更新和重复测试,直到满足项目的测试效果目标。这可能包括考虑未使用的代码(例如,当仅使用部分开源组件时)或用测试工具的结果增强系统级测试结果,甚至代码检查。

在选择有助于进行覆盖率测量的工具时,请务必注意,并非所有覆盖率分析工具都是平等的,选择错误的工具可能会损害您准确测量覆盖范围的能力,或者更糟的是,提供不正确的结果。以下是选择覆盖范围分析工具时需要考虑的一些问题:

• 覆盖率测量实施的内存占用量是多少,尤其是在测试嵌入式系统时?

• 该工具是否支持您的嵌入式系统?

• 运行时数据的内存占用量是多少?您的系统是否有足够的内存来进行有意义的测量?

检测是否会影响系统运行时行为?

DO-178 通过要求必须验证用于测量代码覆盖率的任何工具,以便在目标环境中产生准确、可靠的结果,从而为这些决策提供指导。因此,您需要确保您选择的工具符合 DO-178 的要求,以便可以放心地使用它产生的结果,而无需进一步验证。检查工具的谱系。

代码覆盖率 — 提供基本保证

任何软件项目的代码质量都可以从应用安全关键标准中的一些简单指南中受益。为了控制测试的有效性,必须使用代码覆盖率来衡量测试的影响,使用适合软件所需的测试严格程度的代码覆盖率级别。为了确保测试的严格性达到适当的水平,所有测试都必须基于需求并在系统级别执行。测试,测量,重复。如果没有代码覆盖率分析,就不可能获得提高测试有效性所需的反馈、知识和理解。选择覆盖范围分析工具时,请确保选择 DO-178 限定工具,以确保选择具有适当谱系的工具。通过遵循这些准则,任何软件项目都可以达到安全关键系统通常预期的软件质量水平。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5082

    文章

    19126

    浏览量

    305219
  • 代码
    +关注

    关注

    30

    文章

    4788

    浏览量

    68615
收藏 人收藏

    评论

    相关推荐

    VirtualLab:系统建模分析

    的大多数通常在特定的域中工作,这意味着域之间的不断往返对于精确和快速的仿真是必不可少的。为了向光学工程师提供光场在系统中传播时的不同阶段的全面概述,VirtualLab Fusion配备了一个强大的工具
    发表于 12-19 12:36

    synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?

    覆盖率只有微微的提升,请问是否要遍历很多数才能提升覆盖率吗?一般这种浮点数有什么方法去跑吗? 每个数都跑岂不是天文数字,本人刚接触不久,请大佬指教下,谢谢
    发表于 10-15 18:38

    ep100驱动器报警代码

    EP100驱动器报警代码的含义和解决方法会因具体的报警代码而异。然而,基于参考文章和一般经验,我可以为你提供一些常见的EP100驱动器报警代码
    的头像 发表于 09-07 09:40 631次阅读

    利用静态检查工具完善功能安全中测试覆盖率

    在功能安全中测试覆盖率是比较重要的概念,也是在验证过程中通常需要花费时间较多的步骤,如果能借助于静态检查工具的死逻辑查找和声明、测试用例自动补全等功能往往能取得事半功倍的效果。
    的头像 发表于 09-05 09:15 346次阅读
    利用静态检查工具完善功能安全中测试<b class='flag-5'>覆盖率</b>

    时序逻辑电路必不可少的部分是什么

    时序逻辑电路必不可少的部分是 存储电路 ,这一结论主要基于时序逻辑电路的基本工作原理和特性。存储电路在时序逻辑电路中扮演着至关重要的角色,它使得电路能够存储和记忆之前的状态信息,并在需要时根据这些
    的头像 发表于 08-28 14:12 474次阅读

    2025年智能水表将覆盖全北京!超声波测量技术助力智能水表实现全天候高精度流量监测

    北京日报报道,预计到“十四五”规划期末,北京市将基本实现智能远传水表的全覆盖。据2023年3月22日的数据显示,北京市自来水集团已经为用户安装了超过330万支智能远传水表,覆盖率超过了50%。
    的头像 发表于 07-19 16:05 666次阅读
    2025年智能水表将<b class='flag-5'>覆盖</b>全北京!超声波测量技术助力智能水表实现全天候高精度流量监测

    单元测试工具TESSY 新版本亮点速览:提供测试驾驶舱视图、超级覆盖率代码访问分析、增强覆盖率审查

    各种测试对象和方法的所有覆盖率测量结果,并记录在新的测试总结报告中。 了解更多TESSY新版本功能详情或申请免费试用,欢迎咨询TESSY中国授权分销商——龙智。 新版本功能亮点速览: 1、超级覆盖率 逐行评估源代码。 基于标准
    的头像 发表于 07-08 16:20 447次阅读
    单元测试工具TESSY 新版本亮点速览:提供测试驾驶舱视图、超级<b class='flag-5'>覆盖率</b>、<b class='flag-5'>代码</b>访问<b class='flag-5'>分析</b>、增强<b class='flag-5'>覆盖率</b>审查

    该如何提高代码容错、降低代码耦合度?

    提高RT-Thread代码的容错和降低耦合度是确保代码质量和可维护性的关键,下面列举了几种在编写代码时,提高代码容错
    的头像 发表于 06-26 08:10 669次阅读
    该如何提高<b class='flag-5'>代码</b>容错<b class='flag-5'>率</b>、降低<b class='flag-5'>代码</b>耦合度?

    虚拟负载是电子学和无线电通信中必不可少的设备

    无线电通信
    深圳崧皓电子
    发布于 :2024年06月26日 06:48:26

    频谱分析仪的分辨带宽100和160的区别

    分辨能力。本文将详细探讨分辨带宽100和160的区别,并分析其在不同应用场景下的适用性。 一、分辨带宽的概念 分辨带宽是指频谱
    的头像 发表于 06-03 09:49 508次阅读

    如何将SystemVerilog断言属性和覆盖属性置于在设计上?

    功能覆盖、激励生成和运行管理是当今功能验证的三大相互关联的任务。其中,功能覆盖率可以说是最重要的,主要是因为覆盖率收敛是tape的主要标准。
    的头像 发表于 05-28 10:30 774次阅读
    如何将SystemVerilog断言属性和<b class='flag-5'>覆盖</b>属性置于在设计上?

    工厂WiFi全覆盖解决方案——蜂窝物联

    十分普及的环境下,对于工厂来说,移动办公的需求也提上日程,WiFi作为必不可少的接入手段,WiFi覆盖逐渐变得高要求、高标准起来,在环境中发挥着无可替代的作用。 01 需求分析 1. 工厂布局复杂,需满足无线信号全
    的头像 发表于 02-19 09:46 1321次阅读
    工厂WiFi全<b class='flag-5'>覆盖</b>解决方案——蜂窝物联

    代码静态测试工具Helix QAC 2023.4新发布

    Helix QAC 2023.4 为新的 MISRA C++:2023 指南推出了 100% MISRA C++:2023® 规则覆盖率。此版本还包括扩展的 C++20 语言支持、数据流分析的性能改进以及整个产品中的许多产品体验
    的头像 发表于 01-13 12:25 504次阅读
    <b class='flag-5'>代码</b>静态测试工具Helix QAC 2023.4新发布

    追求卓越制造,ECRS工时分析必不可少!#工时分析

    软件
    VIOOVI
    发布于 :2024年01月10日 10:31:14

    怎么用Vivado做覆盖率分析

    在做仿真的时候往往会去做代码覆盖率和功能覆盖率分析,来保证仿真是做的比较充分完备的。
    的头像 发表于 01-03 12:34 1720次阅读
    怎么用Vivado做<b class='flag-5'>覆盖率</b><b class='flag-5'>分析</b>