浅议嵌入式软件测试

117 篇文章 20 订阅
订阅专栏

近年来,随着嵌入式系统的功能和复杂性不断增加,其开发时间和成本也随之不断上升。对于安全关键领域的嵌入式系统和软件来说,其稳定性和可靠性往往需要通过大量的测试和验证来保证。

01.一般软件测试vs嵌入式软件测试

嵌入式软件测试针对嵌入式软件进行,建立在一般软件测试的基础之上,大多数软件的测试方法都可以直接或间接用于嵌入式软件的测试。但由于嵌入式系统专用性强、实时性要求高,嵌入式软件测试与一般软件测试也存在一些不同之处。

▲表1 一般软件测试与嵌入式软件测试的区别

02.嵌入式软件测试要求

根据测试阶段和重点的不同,嵌入式软件测试需要考虑多个层面的因素:

第一层:不同测试阶段的测试需求。嵌入式软件测试通常分为单元测试、软件集成测试、系统测试及验收维护四个阶段。对不同的测试阶段的测试需求分析往往是不同的,采取的测试方法及进行测试的程度也不相同。

测试通常需要满足“需求可追溯”:不同的测试阶段会验证不同的设计/编码是否符合需求,以确保该软件能够实现预期的功能,并且仅构建了所需的功能。需求可分为低层级需求和高层级需求,各行各业存在的功能安全标准即为满足高层级需求的存在,如汽车领域的ISO 26262,测试人员通常会以满足本领域高层级需求的功能安全标准来分析测试需求,并通过简单测试来解释和测试所有未发现的测试案例。

嵌入式软件的开发通常遵循V模型,下图所示的V模型结合了“测试左移”:在未开始编码的需求规格分析阶段,测试人员便可同步开始系统测试及验收维护的测试需求分析。

 ▲图1 嵌入式软件开发过程的V模型

单元测试阶段作为完整测试过程的最初阶段,需要确保各个组件都能够正常工作。在此过程中,测试人员需要对较低级别的需求进行定义,以确保每个功能和功能集都能被正常使用并为系统其余部分提供合适的接口。

第二层:待测软件的特性。不同的嵌入式软件应用背景不同,所要求的特性也不相同,测试的侧重点自然也不同。航空、航天领域的嵌入式软件一般需要具备很强的实时性——飞行控制系统必须快速调整飞机姿态以确保飞行安全性。对航空、航天领域的嵌入式软件进行测试时,需要格外关注输入、运算、输出的时效性。

第三层:测试需求的优先级。根据所测的功能点进行分析、分解,从而得出哪些功能点为主要功能点、哪些为次要功能点。测试需求优先级别的确定,需要测试人员清晰了解核心的功能、特性及测试流程,有利于测试工作有的放矢地展开。

第四层:测试需求的覆盖程度。如果一个软件的需求已经与测试需求存在一对一或一对多的对应关系,可以说测试需求已经覆盖了该功能点,测试需求的覆盖率达到100%,并不意味着测试需求的覆盖程度高。测试需求的覆盖率只计算了显性因素,而隐性因素并未被计算在内。因此,测试人员需要不断了解系统的隐性需求,对测试需求进行补充和优化。

第五层:不同的测试环境。由于执行故障注入、覆盖率分析等测试步骤需要在不同的测试环境中进行,在进行测试需求分析时就需要考虑到相应的搭建、数据准备及接口等变量。

第六层:测试工具的选择。根据测试的要求和测试阶段,选择成熟且可靠的测试工具也非常重要。

03.嵌入式软件测试工具

(一)静态测试工具

单元测试要求在功能和模块级别设置输入和输出参数并进行检查,以确保输入和输出之间的连接正确,并遵循覆盖逻辑。因此,了解功能和模块级别的接口很重要。静态分析工具可以显示这些接口,并连接不同级别的逻辑。

静态分析通过执行源代码分析,在不实际执行代码的情况下模拟系统的运行。静态分析在代码编写后可以立即进行,以帮助开发人员最大程度提高代码的清晰度、可维护性和可测试性。静态分析工具的主要功能包括:

1.代码复杂性分析:了解代码不必要的复杂之处,以便工程师执行合适的简化措施。

2.程序流程分析:绘制程序执行的设计-审查流程图,以确保程序按预期流程执行。

3.预见性运行时错误检测:通过尽可能多的可执行路径对代码执行进行建模,查找潜在的错误,例如数组边界溢出和除零错误。

4.编码标准合规性检测:通常选择编码标准(如C/C++的MISRA代码合规标准)来确保网络与功能安全。编码标准也有助于确保代码遵循最佳编程实践。

(二)全数字仿真平台

在系统级测试阶段,全数字仿真测试平台是目前常用的测试工具之一。 

全数字仿真是用数学模型在数字计算机上进行实验和研究的过程。嵌入式软件与支持其运行的硬件有很强的耦合性,而硬件测试环境与软件测试环境相比,灵活性差,对故障产生过程的记录很困难。全数字仿真是综合解决嵌入式软件测试中由环境限制带来的测试困难的有效方案,可通过全数字仿真测试平台进行实现。

全数字仿真测试平台指嵌入式软件在通用计算机环境(相对真实目标系统)中运行测试。利用全数字实时仿真平台,测试人员可以在软件配置项级开展并发式的功能测试及快速的回归测试,加快问题定位和排查故障的效率。

全数字仿真测试通常在宿主机上进行,被包括在基于宿主机的嵌入式软件测试中。基于宿主机的嵌入式软件测试指完全利用宿主机平台上丰富的资源和工具(包括全数字仿真测试平台)来对嵌入式软件进行测试,不需要依赖目标系统的支持,可大大提高被测软件执行的可视性和可控性,以较低的代价、较高的效率发现和定位软件设计中的错误。

此外,在完全脱离目标系统的情况下完成对嵌入式软件的测试工作,可以尽早发现软件设计中的错误,避免了等到软硬件集成时才能寻找和定位问题而存在的风险,减少了软件的测试成本及开发风险。

SkyEye,中文全称天目全数字实时仿真软件,是仿真嵌入式目标系统的虚拟平台,能够完全仿真目标系统中的CPU(Central Processing Unit,中央处理器)、寄存器、内存、外设接口,如图所示:

 ▲图2 SkyEye功能图

开发、测试人员在SkyEye上运行被测软件,可以获得在真实目标系统上运行这些软件的相同效果。在SkyEye上进行软件测试与在真实目标系统上相比,具有以下2个优点:

1.支持检查点分析。通过插入检查点,SkyEye 能够保存软件运行状态,支持运行状态的回放分析,便于软件问题的定位;

2.支持访问目标系统状态。在真实硬件上,测试人员很难对寄存器、状态寄存器进行跟踪和控制,但通过SkyEye,目标系统就像一个白盒,可以清楚看到内部的状态,这对于软硬件问题的排查十分有帮助。

此外,SkyEye还可进行外围设备仿真建模,主要指对目标系统外围器件、接口的建模仿真,包含各种器件(如内存、寄存器、外部定时器、Flash等)和各种标准的通信接口(如RS422、RS232、CAN总线、1553B、1394B、FC总线)。

综上,嵌入式软件进行测试需要测试人员对其与一般软件测试的不同点和特性具备明确认知,并通过需求确认来建立完整的测试流程。只要结合需求、采用正确的测试工具来进行严格测试,便可更高效地开发高质量嵌入式软件。

博客
小迪和小捷的太空之旅——卫星篇
06-27 105
被卫星环绕的星球是怎么样的,快和小迪小捷一起看看吧!
博客
数字样机:飞行器状态控制系统仿真
06-21 478
数字样机概念的应用取代了物理实体的试验调试步骤,可以快速准确地在飞行器设计、研制、调试等各关键步骤发挥优势。
博客
基于软件在环的飞控机建模仿真
06-14 1043
软件安全性分析是指对特定飞行危害发生的所有途径和因素进行分析建模,得到危害场景的模型进行分析,识别机载软件中可能造成严重后果的潜在危害,同时确定消除或降低危害的方法。安全关键系统(Safety-Critical System,SCS)是指由于某些行为或组合行为能够引发整体系统失效,继而导致财物损失、人员受伤等严重影响的系统,诸多安全关键领域如航空航天、核电系统、医疗设备、交通运输等领域的系统都属于安全关键系统,而这些系统中大部分核心功能是由软件实现的。▲SkyEye基于软件在环的飞控机建模仿真案例。
博客
汽车尾气排放污染的解决方案
06-07 728
随着汽车数量不断增加带来的尾气排放污染日趋严重现象的加深,汽车尾气排放问题成为技术研发人员研究的重点内容之一。
博客
小迪和小捷的太空之旅——海底观光篇
05-29 263
跟随小迪小捷一起探索海底世界吧!
博客
虚拟ECU:彻底改变汽车软件开发与测试
05-24 1192
汽车开发领域有着垂直性较强的一系列需求,其中最为瞩目的需求之一就是对安全高效的软件测试方法的需求。
博客
SkyEye对接CANoe:助力汽车软件功能验证
05-17 643
CANoe与SkyEye的结合,有助于工程师在汽车总线中开发设计中对挂载到总线的设备节点进行功能验证,总线协议设计的正确性得到保障,同时极大缩短了开发时间,提高了工程效率,有助于实现整车网络的快速开发。
博客
星途重启:244亿公里外的「旅行者1号」,修好了
05-10 3340
是一款基于可视化建模的硬件行为及仿真平台,在航天领域,已实现基于AT697、龙芯等嵌入式处理器的空间站载荷软件的全数字仿真,支持代码在虚拟仿真平台上运行,同时支持代码质量分析等测试任务;在当下5G和WIFI已经普及的时代,NASA喷气动力实验室中掌握着最前沿航天技术的工程师们依然在顽强地使用相当于5G通信百万分之一的带宽与旅行者1号这台上世纪70年代出厂的老爷机保持联络,绞尽脑汁地维护其正常运转,并试图从传回的数据中找出一些能发表在《自然(Nature)》和《科学(Science)》上的发现。
博客
基于SkyEye运行Android——应用最为广泛的移动设备操作系统
04-30 963
该联盟由谷歌、通用、本田、奥迪、现代和芯片制造商Nvidia组成,专注于将“成功的移动操作系统”以“专为汽车而设计的方式”引入车载娱乐系统,并于当年推出了Android Auto系统(支持将智能手机上的内容传送至汽车屏幕)。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。考虑到Android在移动设备操作系统开发中的普遍性,SkyEye早在2012年推出的skyeye-1.3.5版本中就已适配Android,下文将演示基于SkyEye模拟Android的运行过程。
博客
科普:嵌入式代码软件在环(SiL)测试的可靠性
04-26 1042
嵌入式系统、软件在环(SiL)、测试、生命周期。
博客
基于SkyEye运行Qt:著名应用程序开发框架
04-19 1441
考虑到Qt在移动设备操作系统开发中的普遍性,SkyEye早在2012年推出的skyeye-1.3.5版本中就已适配基于Qt的移动设备操作系统。
博客
虚拟ECU:基于SkyEye的TRACE32嵌入式调试
04-12 883
本文将介绍应用于汽车ECU的基于天目全数字实时仿真软件SkyEye的TRACE32调试,SkyEye负责提供汽车虚拟ECU的搭建平台,结合TRACE32即可实现嵌入式仿真调试。
博客
小迪和小捷的太空之旅——水下世界篇
04-03 1181
新一年的探险之旅开始了,小迪小捷用SkyEye又帮助了哪些小伙伴呢?
博客
绍兴市经信局副局长胡小君一行莅临迪捷软件调研走访
03-28 658
2024年3月27日下午,绍兴市经信局党组成员、副局长胡小君一行莅临迪捷软件调研走访。
博客
虚拟ECU:汽车空调压缩机控制系统
03-27 1368
作为国产自主可控的硬件行为级仿真平台,支持用户通过拖拽的方式对汽车空调压缩机控制系统进行建模和仿真,可在无需二次开发的情况下运行二进制可执行文件,切实解决当前汽车空调系统优化的实际工程中存在的问题。汽车空调系统相对家用空调更为小巧,很多零件也更为精细,其体积通常占汽车整车7%-10%,涉及种类较多的零部件,对汽车空调技术的研究能够使车内温湿度、风量控制在最佳状态,对汽车档次几乎有着决定性的影响。作为提升驾车与乘车体验的重要部分,汽车的空调系统在电动汽车和中高端燃油车的众多系统中扮演了重要角色。
博客
目标控制器数字孪生系统的研究与设计
03-21 1298
系统环境层根据每类GUEST模块的构造,进行硬件功能的FPGA仿真,通过虚拟的通用输入/输出(GPIO,General Purpose Input/Output)和FPGA接口,与VCU模块进行交互,从而实现模块自检、驱动命令的执行与反馈、开关量的采集和模拟量的采集等功能,为OC数字孪生系统提供必要的自检和运行条件。与之对应的,在OC数字孪生系统中,最多虚拟30个VCU模块同时运行的状态,每个VCU包含2个CPU,并对OC系统的内部通信进行虚拟,还原真实系统的运行情况。OC系统采用二乘二取二架构。
博客
科普:DO-178B
03-15 1386
为确保满足DO-178B要求,软件验证工具的使用应符合标准中规定的准则,应详实记录选择、鉴定和使用工具的过程,并保留工具鉴定和验证证据,所有工具应在整个软件开发生命周期中始终如一地使用并接受严格的测试和审查。DO-178B和DO-178C都是RTCA为机载软件所制定的标准,后者发布于2011年,可以理解为前者的升级版,主要根据前者1992年发布以来软件开发实践、技术和工具等方面的进步对其进行了勘误、澄清与补充,修改了原来描述不清晰的方面,并加了模型开发、工具鉴定、面向对象方法等技术。
博客
SkyEye:助力飞行器状态控制系统仿真
03-07 1033
对飞行器状态进行控制能够克服飞行过程中可能遭受的各种干扰,实时准确地控制飞行器姿态,使其自动按预定轨道飞行,因此飞行器状态控制精度的好坏是决定飞行器飞行成败的关键。考虑到飞行器设计成本的高昂和测试阶段可能涉及的风险,可以通过仿真工具搭建飞行器状态控制系统的仿真模型,提升飞行器状态控制系统研发的设计效率,有效缩短设计周期。SkyEye是一款基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式对飞行器状态控制系统进行建模和仿真,可在无需二次开发的情况下运行二进制可执行文件,切实解决实际工程中存在的问题。
博客
科普:基于FMU模型的TSN交换机仿真
03-04 1552
互联网的快速发展和各种新兴应用的产生,极大改变了人们的生活和工作方式,诸多行业需要毫秒级甚至更低的确定低时延网络连接,其应用对时间尤为敏感。▲典型行业应用的流量特征和QoS(Quality of Service,服务质量)需求为了满足确定有界低时延传输需求,工业界做出了诸多尝试与努力,如TTEthernet、FlexRay等,但都仅限于特定的应用场景,不具备互操作性与互连接性。
博客
绍兴市新昌县人大一行莅临迪捷软件走访考察
03-01 892
王主任一行听取了迪捷软件的发展历程、产品应用、未来发展计划等情况,深入了解了迪捷软件当前取得的科研与经营成果,对迪捷软件在国产核心工业基础软件及“卡脖子”关键技术自主可控、成果转化等方面的成绩给予了充分的肯定,同时勉励迪捷软件要继续巩固领先优势,进一步加强科技攻关,加速科技成果产业化应用。,以构建全生命周期的数字孪生系统,涉及高端装备的需求、设计、开发直至仿真测试等环节,产品已成功应用于我国C919、飞机发动机、载人航天、火星探测器、核电站、船舶、汽车、轨交等领域。技术,为安全关键领域提供。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 一文读懂什么是DDS 10014
  • 汽车ECU软件开发之应用层软件与底层软件 8871
  • 基于SkyEye的覆盖率测试 8012
  • 带你了解PCIE通信原理 5160
  • 飞思卡尔与PowerPC介绍 4358

分类专栏

  • SkyEye 117篇
  • 嵌入式 29篇
  • DigiThread 4篇
  • 首版次 1篇
  • DevOps 3篇
  • ModelCoder 13篇
  • 仿真平台 6篇
  • SysModeler 1篇

最新评论

  • 基于SkyEye运行Android——应用最为广泛的移动设备操作系统

    普通网友: 你的博客内容深入浅出,总是让我不再感到学习的困难,每一篇博文都是我学习的宝库。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 科普:多领域分布式协同仿真

    Lion Long: 不错的文章,受益匪浅,文章内容丰富,条理清晰,值得一波关注!

  • SkyEye与Jenkins的DevOps持续集成解决方案

    goyeer(工蚁): SkyEye与Jenkins的DevOps持续集成解决方案,热榜好文,先收藏一波!!!

  • 虚拟ECU实践:汽车发动机控制器仿真

    CSDN-Ada助手: 非常棒的博客!感谢分享虚拟ECU实践的经验。作为一名技术博主,我非常期待看到更多关于汽车发动机控制器仿真的文章。如果你感兴趣,我建议你可以写一篇深入探讨虚拟ECU在汽车电控系统中的应用,比如如何使用虚拟ECU对发动机进行更精准的控制等等。期待你的下一篇博客! 2023年博客之星「城市赛道」年中评选已开启(https://activity.csdn.net/creatActivity?id=10470&utm_source=blog_comment_city ), 博主的原力值在所在城市已经名列前茅,持续创作就有机会成为所在城市的 TOP1 博主(https://bbs.csdn.net/forums/blogstar2023?typeId=3152981&utm_source=blog_comment_city),更有丰厚奖品等你来拿~。

大家在看

  • C#有关虚函数、抽象类和接口 311
  • 安卓版的c语言编译器IDE输出内容到文本文件代码正确例题
  • 【PL理论深化】(15) 推理规则:变量的规则 E-Val, E-Let | 条件表达式定义 E-If-T, E-If-F, E-Zero-T | 运算环境 ρ = {x↦1, y↦2} 的程序 750
  • 张量 Tensor 773
  • 基于Python的网购推荐系统 47

最新文章

  • 小迪和小捷的太空之旅——卫星篇
  • 数字样机:飞行器状态控制系统仿真
  • 基于软件在环的飞控机建模仿真
2024年30篇
2023年63篇
2022年102篇
2021年49篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码塘坑企业网站建设横岗seo优化光明企业网站改版大浪seo坑梓至尊标王坑梓关键词排名包年推广吉祥品牌网站设计南山阿里店铺运营松岗营销网站福田网站搜索优化深圳网站seo优化广州网站设计横岗至尊标王大运建站双龙网站推广方案大鹏企业网站设计沙井设计公司网站宝安网站优化排名双龙品牌网站设计木棉湾SEO按天扣费福田英文网站建设荷坳网站改版坪山网站优化观澜百度爱采购沙井建设网站吉祥建站大运企业网站设计布吉网站定制平湖阿里店铺托管大浪外贸网站设计歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化