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

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

3天内不再提示

多少和什么样的覆盖率分析才足够

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

对覆盖率分析的讨论可能会提出许多不同的假设,这些假设并不总是一致的。这是否意味着检查所有代码是否已执行?这是否意味着所有要求都已得到执行和测试?它是否带来了一些 100% 以外的数字可以依赖的功能代码?我们要做的是确保自己,即使在危及生命的情况下,程序也已经过彻底的测试,可以信赖。我们如何实现这一目标以及覆盖范围的哪些方面?会让我们高枕无忧吗?

软件测试和分析可以被认为是由许多相互依赖的部分组成的整体活动。其中包括需求跟踪、静态和动态分析、编码标准合规性等,包括覆盖范围分析。归根结底,覆盖率分析应该让我们了解一段代码的测试程度和彻底程度。当然,这取决于其他测试方法的应用程度和彻底性及其结果。因此,它实际上是对我们测试的测试,而不是对程序本身的测试。

那么,是什么可以让我们很好地了解我们测试的好坏呢?

一种方法可能是检查程序中的所有行是否已执行。然而,仅凭这一点并不能告诉我们执行路径是如何到达这些行的,或者它以什么顺序和在什么条件下这样做。它与需求没有直接关系。毕竟,这些要求是首先生成自动和手动测试的基础。

覆盖率的另一个做法是分支覆盖率,它显示了代码段之间的执行路径,但不一定是每一行。分支覆盖率可以根据执行路径揭示程序的结构。分支是“这个”或“那个”。它告诉我们执行可以走哪条路,但它没有说明为什么代码会以一种或另一种方式进行。这为我们提供了执行结构的图片,但即使它揭示了所有分支在执行过程中至少执行过一次,它也没有显示从分支获取一条或另一条路径的条件。也就是说,它不一定表示所有情况(布尔表达式、条件)都经过测试,或者至少测试了所有满足要求的情况。

表达式“如果 A 是分支”。当然,它可能是一个更复杂的表达式,会导致真或假 A,因此 A 的结果值就是决策。决策覆盖率意味着每个点分支至少被调用过一次,并且每个分支采取的所有决策都至少执行过一次。这是比分支覆盖率更强的度量,因为它将分支链接到路径。因此,旨在执行程序中每个决策点的每个结果的测试就是分支决策测试。但是,每个结果的执行并不涉及可能导致该(如果,那么)决定的不同输入和条件。为此,我们必须转向分支/决策测试及其表亲,修改条件/决策覆盖率(MC / DC)。

MC/DC 使用每个条件至少调用一次程序中的每个进入和退出点,以便决策至少一次采取所有可能的结果,并且可以证明更改决策中的任何条件可以独立影响该决策。一个条件被证明通过改变该条件同时保持固定所有其他可能的条件来独立地影响决策的结果。

虽然指标很棒,但仅靠指标并不能帮助我们确信我们的代码将按照我们预期的方式工作。测试必须与程序的要求相关 - 程序是否做了它应该做的事情 - 并且这些测试必须是生成和跟踪适当覆盖指标的测试。这种观点 - 通过可追溯性增强覆盖范围 - 是DO-178B和IEC 61508等不同标准所描述的功能安全的关键。这种组合使我们能够知道代码做了它应该做的事情——我们已经通过测试场景执行了它。

审核编辑:郭婷

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

    关注

    30

    文章

    4753

    浏览量

    68368
收藏 人收藏

    评论

    相关推荐

    什么样的电阻柜用于风电光伏项目

    什么样的电阻柜用于风电光伏项目?在风电光伏项目中,电阻柜作为重要组成部分,直接影响着整个系统的效率和稳定性。那么,我们应该选择什么样的电阻柜呢? 高效的电阻柜应具备较高的功率因数。在风电光伏项目
    的头像 发表于 11-18 09:40 112次阅读

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

    公司某个项目用到了这个DW:DW_fpv_div,但是scan跑完,这个模块覆盖率只有60%多,现在要我用TMAX软件,通过功能去覆盖,我看了下rpt报的faults点,尝试去写了几个特殊值去做除法
    发表于 10-15 18:38

    代码整洁之道-大师眼中的整洁代码是什么样

    几个月前写了一篇文章“如何写出难以维护的代码”,从中能大概了解到不好维护的代码是什么样,有哪些坏味道,那肯定有人会反问,难以维护的代码见的太多了,也知道长什么样,但是对于好维护的代码是什么样的比较
    的头像 发表于 09-09 16:30 293次阅读
    代码整洁之道-大师眼中的整洁代码是<b class='flag-5'>什么样</b>

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

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

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

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

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

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

    FPGA能实现什么样的算法?

    FPGA功能如此强大,请问用FPGA能实现或者比较适合实现什么样的算法?
    发表于 05-26 20:18

    我们怎么选择适合自己的USB频谱分析

    选择什么样的USB频谱分析仪或者是选择其他款式的频谱分析仪,我们都要根据自己的使用要求还有价格预算来考虑我们最终来选取什么样的仪器。
    的头像 发表于 04-28 15:30 301次阅读

    什么样的PLC可以直接驱动接触器?什么样的PLC不可以直接驱动?

    什么样的PLC可以直接驱动接触器?什么样的PLC不可以直接驱动? PLC(可编程逻辑控制器)是一种用于自动化控制系统的电子设备,用于监控和控制多种工业过程。其中一个常见的应用是控制和驱动接触器
    的头像 发表于 02-18 14:11 1228次阅读

    怎么用Vivado做覆盖率分析

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

    ADIS16375的陀螺仪输出角度是个什么样的角度?

    想知道ADIS16375这款IMU的输出角度是个什么样的角度?是不是姿态角?其参考坐标系是什么?输出角的实时精度是多少?ADIS16365、ADIS16334、ADIS16445、ADIS16485这四款IMU能够输出角度吗?若果能,分别是什么样的角度?其参考坐标系分别是
    发表于 12-29 06:17

    请问AD2S1200的串行数据输出波形及处理的角度波形是什么样的?

    AD2S1200的串行数据输出波形及处理的角度波形是什么样的?
    发表于 12-20 06:07

    软件代码结构化覆盖测试-MC/DC覆盖

    MC/DC的全称是Modified Condition/Decision Coverage,修正条件判定覆盖率。很多文章对于定义的解释都比较专业,通常也会让人感觉理解困难,本文我们用通俗易懂的说明给大家做介绍。
    的头像 发表于 12-15 15:22 2922次阅读
    软件代码结构化<b class='flag-5'>覆盖</b>测试-MC/DC<b class='flag-5'>覆盖</b>

    对于450M带宽40兆,要保持良好的信噪比,应该选择什么样的AD?

    请教一下。对于450M带宽40兆,要保持良好的信噪比,应该选择什么样的AD。 虽然ADC手册给出了全通带宽,但是手册中比如说采样120M的一款AD, 全通带宽900M,但是最多给输入220M的测试
    发表于 12-06 08:19

    智能汽车CAN FD总线需要什么样的降噪对策?

    智能汽车CAN FD总线需要什么样的降噪对策?
    的头像 发表于 11-30 09:37 587次阅读
    智能汽车CAN FD总线需要<b class='flag-5'>什么样</b>的降噪对策?