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

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

3天内不再提示

测试是确保代码正确的唯一方法

星星科技指导员 来源:嵌入式计算设计 作者:Jay Thomas 2022-06-19 10:45 次阅读

随着工业、汽车、医疗和能源市场中涉及人类生命和肢体的系统连接到物联网,风险越来越高,安全性和可靠性的压力也越来越大。虽然硬件可以进行物理隔离和保护,但一旦系统连接到互联网,它就会通过软件暴露出来,这构成了物联网的“软肋”。如果它们不安全,就不能认为它们是可靠或安全的。这意味着安全设备之战发生在软件领域。

生成安全可靠的代码有很多方面。在一个层面上,功能正确的代码——它完成了它应该做的事情——仍然可以包含黑客可以利用的漏洞。在另一个层面上,代码必须在功能上是安全的,因为它遵循防止伤害或损坏的规则,并且它必须在功能上是安全的,因为它包含防止访问的加密等机制。

我们在这些方面取得了重大进展,例如用于正确编码实践的 MISRA 和 CERT C 等编码标准和用于汽车的 ISO 26262 和用于医疗的 IEC 62304 等行业规范。遵循诸如此类的准则是一回事,但必须验证代码以确保已遵循所有详细规则,而这只能通过彻底的分析和测试来完成。

一套全面的验证和测试工具对于此类验证至关重要,它与其他软件工具和正在开发的特定行业部门的集成越好,效果就越好。安全和安保必须从底层开始,从 RTOS 和驱动程序一直到最终应用程序。基于需求的测试和验证必须在系统级别进行,同时,健壮性和更集中的分析和测试必须在单元级别进行。

从高级需求到源代码的追溯能力是由生命周期追溯工具完成的。这种可追溯性提供了影响分析能力以及软件开发生命周期的透明度和可见性。在编码阶段使用的静态分析工具可以分析软件的质量,在编译之前消除代码漏洞。这不会让代码级质量问题传播到可执行文件和集成单元中,从而节省时间和金钱。

静态分析工具还可以帮助确保代码遵循特定的编码标准,确保清晰度和一致性并消除代码级漏洞。静态分析可以作为自动测试用例生成的基础,因为它“了解”代码的复杂性和依赖性。

覆盖率分析是另一个关键的质量分析能力,它提供了测试过程有效性的度量,显示了在测试阶段哪些代码已经执行和哪些还没有执行。所有这些功能都应该集成起来,以加快软件开发和验证的路径,同时为质量团体或监管机构可能要求的过程提供透明度。

pYYBAGKujfeAGZkAAALmsoE_pNI017.png

IBM Rational DOORS 系统管理整个项目的需求,例如大型隧道项目中的照明需求。其中许多需求链接到软件需求,集成的 LDRA 工具套件现在可以测试到源代码。

随着标准、规范和验证技术的进步,工具可以通过提供增强安全技术的附加包进行升级,这一点很重要。工具套件本身现在开始有针对主要行业领域的版本,例如用于汽车的 ISO 26262。具有复杂编辑器、调试器和性能工具的开发包可以与验证工具集成,允许客户在单一用户环境中进行开发和测试。通用工业工具,例如 IBM DOORS 套件,涵盖机械和其他需求以及软件,也可以通过集成深入的软件需求可追溯性来获得优势。

衡量整个测试过程的有效性对于开发高保证软件至关重要。了解需要加强测试的地方以及测试过程中存在的差距对于改进代码的整体过程和质量至关重要,并且随着工具越来越专注于应用程序领域,这种需求也会增加。因此,利用技术和技术——例如具有需求可追溯性的覆盖分析、静态分析和自动化测试——可以通过在软件开发生命周期早期和整个软件开发生命周期中识别代码中的潜在漏洞和弱点来节省时间和金钱。

审核编辑:郭婷

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

    关注

    54

    文章

    10905

    浏览量

    100726
  • 物联网
    +关注

    关注

    2867

    文章

    41600

    浏览量

    358298
收藏 人收藏

    评论

    相关推荐

    专用集成电路测试方法有哪些

    正确性。测试人员使用测试模式生成器向芯片输入模式,并通过比对期望输出和实际输出来检查芯片逻辑功能的正确性。常用的测试模式生成
    的头像 发表于 04-19 15:22 145次阅读

    直流电阻快速测试仪交直流测试操作方法

    测试。交流测试的操作方法如下: 1.选择合适的交流电源 :根据测试需求,选择合适的交流电源,确保其频率、电压和电流满足
    发表于 03-06 10:26

    ElfBoard ELF 1开发板-putty保存日志的方法

    ELF 1开发板有串口登录和网络登录两种方式,具体方法参考《01-0 ELF1、ELF1S开发板_快速启动手册》“2.2 串口登录方式”和“2.3 网络登录方式”。1.采用上述任一方法登录ELF 1
    发表于 02-29 17:04

    接地电阻测试正确的使用方法及注意事项

    接地电阻测试正确的使用方法及注意事项  接地电阻测试仪是一种用于测试接地系统的工具,能够准确地测量接地电阻的大小,以评估接地系统的安全性能
    的头像 发表于 12-20 14:47 635次阅读

    纹波电压的正确测试方法

     过大的纹 波电压对受电设备会造成不良影响,在设计制作样品时,我们要测试验证电源的输出纹波电压是否符合设计要求,但是往往 由于测试方法不对,造成测试偏差比较大,下面我们介绍纹波电压的
    发表于 12-15 10:59 1042次阅读
    纹波电压的<b class='flag-5'>正确</b><b class='flag-5'>测试</b><b class='flag-5'>方法</b>

    测绝缘电阻的正确方法,有哪些步骤和注意事项

    测绝缘电阻的正确方法,有哪些步骤和注意事项 绝缘电阻测试是电气工程中常用的一项安全检测,用于评估电器设备或电气线路的绝缘性能。正确的绝缘电阻测试
    的头像 发表于 12-15 10:43 2159次阅读

    同时触发ADC1 ADC2 ADC3方法

    同时触发ADC1 ADC2 ADC3方法
    发表于 10-19 06:24

    电源纹波测试正确方法

    电源纹波测试正确方法 电源纹波是评估电源输出稳定性的重要指标之一,它能反映出电源输出中波动的情况,同样也能直接影响到系统电路的工作性能。因此,正确的电源纹波
    的头像 发表于 09-17 10:47 1312次阅读

    咖啡机流量计的正确安装方法

    咖啡机流量计是种用于测量咖啡机中水流量的设备,正确的安装方法可以确保咖啡机的正常运行和准确的水流量测量。 首先,选择合适的位置安装流量计。通常,流量计应安装在咖啡机的水管上,
    发表于 08-11 14:35

    M12连接器4芯的正确储存方法

    正确的储存方法可以帮助保护M12连接器及其电线,以确保其在存储期间不受损坏。
    的头像 发表于 08-11 11:39 506次阅读
    M12连接器4芯的<b class='flag-5'>正确</b>储存<b class='flag-5'>方法</b>

    条形液晶屏的应该如何正确保养?保养方法有哪些?

    条形液晶屏的应该如何正确保养?保养方法有哪些? 条形液晶屏相比CRT显示屏更显“娇嫩”,条形液晶屏使用一段时间后,你会发现条形液晶屏上常会吸附一层灰尘(关掉LCD后侧看更明显),有时还会不小心粘上
    的头像 发表于 05-26 16:28 296次阅读

    为什么ESP-01代码仅通过闪烁LED就被破坏的原因?如何解决?

    “设备忙”响应;返回功能的唯一方法是重新刷新 microPython,然后重新编码。 我将 ESP-01 代码与简单的 LED 闪烁配对,同样的事情发生了;这是 LED 闪烁代码代码
    发表于 05-25 08:59

    DCDC电源纹波的正确测试方法

    本文演示如何正确使用示波器进行纹波大小的测试
    的头像 发表于 05-18 09:54 3399次阅读
    DCDC电源纹波的<b class='flag-5'>正确</b><b class='flag-5'>测试</b><b class='flag-5'>方法</b>

    nodeMCU与wifi断开连接后如何重新连接?

    断开连接 (WiFi.status() = 6)。旦断开连接,我就无法通过 WiFi.begin(ssid, pass) 再次连接它。我能够让它再次连接的唯一方法是重置 nodeMCU。 断开连接后如何重新连接?
    发表于 04-27 06:10

    请问如何启用基于当前应用项目的cw11.1 MC56F84786输出库?

    请问如何在不新建库工程的情况下,基于当前应用工程启用cw11.1 MC56F84786输出库? 是否有创建 lib 项目的唯一方法?但是我的应用程序已经完成,我需要创建个项目来输出库?
    发表于 04-26 08:15