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 限定工具,以确保选择具有适当谱系的工具。通过遵循这些准则,任何软件项目都可以达到安全关键系统通常预期的软件质量水平。

审核编辑:郭婷

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

    关注

    5209

    文章

    20645

    浏览量

    336926
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74373
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    半导体嵌入式单元测试的核心技术、工具选型与落地全流程

    和问题,及时进行改进。例如,如果发现某个模块的测试用例执行时间过长,可以考虑优化测试用例的设计,减少不必要的测试步骤。如果发现测试覆盖率一直无法达到要求,可以检查代码是否存在未测试的分支或条件,及时补充
    发表于 03-06 14:55

    嵌入式软件单元测试必要性与专业工具重要性的系统性专业研究报告

    强制覆盖率要求 报告审计要求 ‌ISO 26262‌(ASIL D) 汽车电子 ‌100% MC/DC‌(修正条件/判定覆盖) 必须由自动化工具生成‌可追溯矩阵‌(需求→代码→测试用
    发表于 03-05 10:41

    海尔智家借助MATLAB技术提高测试覆盖率

    20,000 行。这会增加错误出现的概率。此外,它还会导致调试周期长、测试覆盖率低和效率低下等问题,从而影响项目期限。
    的头像 发表于 02-25 11:14 572次阅读
    海尔智家借助MATLAB技术提高测试<b class='flag-5'>覆盖率</b>

    Linux内核编码风格权威总结:从缩进到底层设计,让你的代码更“内核味”

    作为全球最庞大的开源项目之一,Linux 内核的代码量早已突破千万行。要让来自世界各地的开发者高效协作,一套统一、严谨的编码风格必不可少 —— 这不仅是 “代码颜值” 的要求,更是可读性、可维护性的核心保障。
    的头像 发表于 02-09 16:29 280次阅读
    Linux内核编码风格权威总结:从缩进到底层设计,让你的<b class='flag-5'>代码</b>更“内核味”

    芯片测试覆盖率99%就够了吗?给DFT设计提个醒

    充分。必须将硅后验证向量导入ATPG工具进行覆盖率分析,否则会形成测试盲区。 二、从测试困境到DFT设计反馈 测试工程师的挑战应前置于设计阶段解决。 可测性设计(DFT)的早期介入:在架构设计阶段,测试
    发表于 02-06 11:06

    灵巧手何以灵巧?晶振必不可少

    晶振虽小,却是成就灵巧之手不可或缺的关键。
    的头像 发表于 01-16 10:22 559次阅读

    汽车软件质量跃迁的系统性路径:基于ISO 26262标准的单元测试体系重构与中日实践深度对比(2026学术研究报告)

    约束 条款 核心要求 ASIL等级 认证机制 SWE.4.3 ASIL-D模块需100% MC/DC覆盖率 D(最高) DO-330工具认证报告 SWE.4.4 测试用例需追溯至需求ID与设计元素
    发表于 01-05 14:58

    嵌入式软件单元测试中AI自动化与人工检查的协同机制研究:基于专业工具的实证分析

    ‌ ‌摘要****‌ 本文系统探讨嵌入式软件相较于通用软件在单元测试层面的特殊性,分析其对高覆盖率、可追溯性与实时性验证的严苛需求,并以专业工具winAMS为技术载体,深入研究AI驱动的自动化测试在
    发表于 12-31 11:22

    分析嵌入式软件代码的漏洞-代码注入

    找到所有应该做出这种修改的地方。但这对于大型程序来说可能是棘手的,特别是对于第三方代码库。 3、测试漏洞 测试这些类型的漏洞可能很困难; 即使能实现非常高的代码覆盖率的测试也不能触发这些问题。 测试
    发表于 12-22 12:53

    C语言单元测试在嵌入式软件开发中的作用及专业工具的应用

    功能包括: 测试通过/失败统计 代码覆盖率可视化 执行时间分析 缺陷跟踪和报告生成 winAMS的图形化界面可以直观展示测试结果和覆盖率数据。 七、总结与展望 C语言单元测试在嵌入式软
    发表于 12-18 11:46

    为什么AGV是工业自动化必不可少

      AGV 新一代工业革命愈演愈烈,越来越多的企业加入到智能制造的浪潮中。而在智能工厂中,物流达到智能化是最基础的一个环节,为此,一个智能的AGV系统至关重要。 AGV立库 智能AGV自动化系统(Automated Guided Vehicle,简称AGV)是无人搬运车的英文缩写,通常也称为AGV小车,指装备有电磁或光学等自动导引装置,能够沿规定的导引路径行驶,具有安全保护以及各种移载功能的运输车,工业应用中不需驾驶员的搬运车。可通过电脑来控制其行进路线以及行为
    的头像 发表于 10-17 16:58 715次阅读
    为什么AGV是工业自动化<b class='flag-5'>必不可少</b>?

    嵌入式软件测试与专业测试工具的必要性深度解析

    系统化解决方案,其必要性体现在多个维度:满足行业合规要求汽车电子ISO 26262、航空DO-178C等标准强制要求代码覆盖率指标达到C1(分支覆盖)≥100%、MC/DC(修正条件判
    发表于 09-28 17:42

    4G工业网关是否还有需求

    是具体分析: 1. 网络覆盖优势:填补5G空白,满足广泛部署需求 5G覆盖不足 :截至2025年,5G基站仍在全球范围内逐步推广,尤其在偏远地区、地下矿井、海洋平台等场景,5G信号覆盖
    的头像 发表于 09-24 11:29 793次阅读

    太阳光模拟器关键参数 | 光谱匹配度、光谱覆盖率及光谱偏离

    太阳光模拟器作为模拟太阳辐射环境的核心设备,其性能直接关系到诸多领域实验数据的可靠性。光谱匹配度(SMD)、光谱覆盖率(SPC)和光谱偏离(SPD)作为评估其性能的关键指标,从不同维度决定了模拟
    的头像 发表于 07-24 11:26 1287次阅读
    太阳光模拟器关键参数 | 光谱匹配度、光谱<b class='flag-5'>覆盖率</b>及光谱偏离<b class='flag-5'>率</b>

    太阳光模拟器性能的影响参数:光谱匹配度、光谱覆盖率及光谱偏离

    (SPC)用于评估太阳光模拟器对 AM1.5G 标准光谱的覆盖程度,重点关注模拟器是否能完整复现标准光谱的各个波段,不同材料对光谱覆盖的需求存在显著差异。 光谱覆盖率对太阳光模拟器性能
    发表于 07-21 15:35