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

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

3天内不再提示

嵌入式系统软硬件功能测试方法及性能评估研究

电子设计 来源:单片机与嵌入式系统应用 作者:李庆诚;张建华; 2020-03-10 08:08 次阅读

随着嵌入式系统硬件体系结构的变化,嵌入式系统的发展趋势向嵌入式系统高端,即嵌入式软件系统转移,具体体现在嵌入式操作系统趋于多样和应用软件日渐复杂。由于嵌入式系统软硬件功能界限模糊,研究如何进行系统测试和进行可靠性评估来保证嵌入式系统的产品质量具有重要意义。

首先,这里需要明确嵌入式系统的系统测试定义,是将开发的软件系统(包括嵌入式操作系统和嵌入式应用软件)、硬件系统和其它相关因素(如人员的操作、数据的获取等)综合起来,对整个产品进行的全面测试。嵌入式系统的系统测试比PC系统软件测试要困难得多,主要体现如下:

① 测试软件功能依赖不需编码的硬件功能,快速定位软硬件错误困难;

② 强壮性测试、可知性测试很难编码实现;

③ 交叉测试平台的测试用例、测试结果上载困难;

④ 基于消息系统测试的复杂性,包括线程、任务、子系统之间的交互,并发、容错和对时间的要求;

⑤ 性能测试、确定性能瓶颈困难;

⑥ 实施测试自动化技术困难。

1、测试方法

根据Goodenough和Gerhart提出的软件测试充分性准则可知,软件测试具有非复合性的特点,也就是说,即使以软件所有成分都进行了 充分的测试,也并不意味着整个软件的测试已经充分。所以,即使通过了需求测试、设计测试、编码测试,并不意味着已经完全了充分的测试,还要进行软硬件全面 测试,即系统测试。正确的系统测试方法能设计出良好的测试事例,而良好的测试事例是测试成功的关键。测试事例质量特性主要有以下几点。

检验性:检测软件缺陷的有效性,是否能发现缺陷或至少可能发现缺陷。

可仿效性:可以支持测试多项内容,减少测试事例的数量。

开销:测试事例的执行、分析和调试是否经济。

修改性:每次软件修改后对测试事例的维护成本。

测试方法不仅要保证测试事例具有发现缺陷的高可移植性,而且还要保证测试事例设计的经济有效。因此,在实际测试工作中,将嵌入式系统的测试方法 分类如下:根据测试是否动态运行被测程序分为静态测试方法和动态测试方法;根据测试阶段分为需求测试方法、设计测试方法、编码测试(单元测试、集成测试) 方法及系统测试方法;根据测试目的分为功能测试、性能测试、可靠性测试(容错性、可恢复性、成熟度测试*及信息安全保护等测试。参看图1嵌入式软件测试方法对照。其中“√”代表相关性。

所有这些方法的具体定义这里不一一介绍。由于不同的嵌入式系统面向的应用不同,测试方法的侧重也很不相同。本文后面将对一 个具体的便携式信息处理嵌入式系统的系统测试方法详细说明。

嵌入式系统软硬件功能测试方法及性能评估研究

2、可靠性评估

可靠性是嵌入式系统最重要的质量指标。ISO9000国示质量标准(ISO/IEC 9126-1991)规定,软件产品的可靠性含义是:在规定的一段时间和条件下,软件能维持其性能水平的能力有关的一组属性,可用成熟性、容错性、易恢复 性三个基本子特性来度量。根据我们在评估嵌入式系统中的成功经验,一般采取以下简单有效的评估方法(可以采用百分制或十分制)。

(1)成熟性度量

① 错误发现率DDP(Defect Detection Percentage)。在测试中查找出来的错误越多,实际应用中出错的机会就越小,软件也就越成熟。

DDP=测试发现的错误数量/已知的全部错误数量

已知的全部错误数量是测试已发现的错误数量加上可能会发现的错误数量之和。

② 测试覆盖率度量。测试的覆盖率,可以用测试项目的数量和内容进行度量。除此之外,如果测试软件的数量较大,还要考虑数据量。测试的覆盖率,可以根据图2所示在测试指标进行评价。通过检查这些指标达到的程度,就可以度量出测试内容的覆盖程度。

嵌入式系统软硬件功能测试方法及性能评估研究

注意,对于最大值与最小值的差值超过5的情况,应该重新测试响应功能。

(2)容错性评估

容错性评估分为控制容错性评估、数据容错性评估、

硬件故障恢复容错性评估:

容错性=以下各条款评分之和÷条款数

控制容错性度量

① 对并发处理的控制能力;

② 错误的可修正性和处理可继续进行能力。

数据容错性度量

① 非法输入数据的容错;

② 对相互冲突的要求和非法组合容错;

③ 输出数据是否合理容错。

硬件故障中恢复容错性度量

故障后恢复能力容错。

(3)易恢复性度量

与易恢复性紧密相关的测试是强度测试和健壮测试。强度测试又称为力度测或极限测试,主要测试系统对空间强度和时间强度的容忍极限;健壮测试又称异常测试,是很重要的可靠性测试项目。通过易恢复性测试,一方面使系统具有异常情况的抵抗能力,另一方面使系统测试质量可控制。

易恢复性=以下各条款评分之和÷条款数

① 空间强度可恢复;

② 时间强度可恢复;

③ 数据强度可恢复;

④ 异常通信可恢复;

⑤ 数据破坏可恢复;

⑥ 电池极限可恢复。

(4)测试可信度评估

测试可信度是对测试质量的有效评估,是保证质量的必要步骤。目前虽然很难有量化的指标,但我们采取积分的方式显示可信度。例如,请4个人员(甲、乙、丙、丁)对系统5个功能打一个从0(不信任)到10(完全信任)之间的分数,那么,可信度度量可以用表3进行计算。

3、测试实例

(1)电流测试

电流测试是嵌入式系统的系统测试中首先要进行的重要测试,也是最容易被忽视的测试。主要是测试系统的工作电流、待机电流。人们一般把它当成与系 统测试无关的硬件测试。但是对于嵌入式系统,软件与硬件不可能清晰地划分,硬件的性能直接影响软件的运行。实例1说明了电流测试对系统运行的影响及不可替 代的作用。

测试现象描述:进行同一厂商PDA系统测试,有几台PDA在名片子系统、行程子程序的操作过程中随机死机。

我们当时的错误分析定位是:①怀疑操作系统中断处理错误;②怀疑内存泄漏,堆栈溢出;③怀疑应用程序错误。

在软件开发人员为解决这个问题检查软件时,硬件开发人员提出应首先测试一下这几台机器的工作电流。结果发现,PDA的工作电流低于正常工作电流。加电容调整后随机死机问题消失。

由此例还可以看出,嵌入式系统测试的软硬件测试不可分性。

绝对的将硬件测试和软件测试区分开来的测试思想是不正确的。我们在系统测试时的电流测试设计如图4。

嵌入式系统软硬件功能测试方法及性能评估研究

(2)兼容性测试

考虑到嵌放式系统软硬件的开发成本高于通用PC系统,因此,提高软件对硬件的兼容及软件升级版本的兼容性极为重要。图5是便携林翰林电子书升级版本兼容性测试实例。

嵌入式系统软硬件功能测试方法及性能评估研究

实例2:现在的嵌入式系统的层次结构一般分为硬件层、BIOS层、操作系统层、应用系统层。有的还需要通用PC应用软件支持。因此,嵌入式系统的兼容性测试要考虑硬件兼容性、BIOS兼容性、操作系统兼容性,还需考虑与相应PC应用软件的兼容性。

结语

本文的测试方法和评估方法在具体的嵌入式系统测试中,获得很好的效果。这是一项很有意义的工作,不仅要求嵌入式系统 的测试人员具有很全面的软硬件知识,还需结合测试理论、统计方法,面对不同的系统进行测试方法、工具、过程评价及质量评估。随着嵌入式系统的多样性和复杂 性发展,嵌入式系统的系统测试研究将继续深入。

责任编辑:gt


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

    关注

    8

    文章

    5149

    浏览量

    126444
  • 嵌入式
    +关注

    关注

    5068

    文章

    19008

    浏览量

    303000
  • 操作系统
    +关注

    关注

    37

    文章

    6731

    浏览量

    123182
收藏 人收藏

    评论

    相关推荐

    嵌入式系统软硬件基础知识大全

    制约的,只有硬件和软件协同工作,才能使嵌入式系统正常运行。本文将从嵌入式系统的定义和特点出发,详细介绍其
    发表于 05-09 14:12

    嵌入式软硬件系统开发外包

    本帖最后由 NCSRD 于 2016-4-26 14:30 编辑 本司目前正开发一款手持仪器,欲将该仪器的嵌入式控制系统外包,具有嵌入式软硬
    发表于 04-26 09:46

    嵌入式系统系统该怎么测试和进行可靠性评估

    随着嵌入式系统硬件体系结构的变化,嵌入式系统的发展趋势向嵌入式
    发表于 09-18 07:12

    ARM嵌入式最小系统软硬件架构的改进研究

    ARM嵌入式最小系统ARM嵌入式最小系统软硬件架构的改进研究
    发表于 07-16 07:32

    软硬件结合的嵌入式系统有何意义

    软硬件结合的嵌入式系统正越来越多地应用到我们常见的仪器设备中,嵌入式领域目标系统的应用系统也日趋
    发表于 10-28 09:28

    嵌入式软硬件系统的工作原理是什么

    和学术界对嵌入式系统的普遍看法,是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统功能、可靠性、成本、体积、功耗严格要求的专用
    发表于 12-20 06:17

    基于EDA的嵌入式系统软硬件划分方法

    针对嵌入式系统软硬件协同设计中的软硬件划分问题,提出了一种基于分布估计算法的解决方案,通过将算法映射到一般结构Gauss 网络上,提高了算法的稳定性和搜索效率。结果
    发表于 06-18 08:52 18次下载

    基于时间Petri网的嵌入式系统软硬件划分方法

    软硬件划分技术是软硬件协同设计中的一个关键技术。提出将时间Petri 网应用到软硬件划分当中,为系统性能
    发表于 08-15 14:34 11次下载

    基于EDA 的嵌入式系统软硬件划分方法

    基于EDA 的嵌入式系统软硬件划分方法Hardware/Software Partitioning Method Based on Estimation of Distribution
    发表于 12-05 16:34 26次下载

    基于EDA 的嵌入式系统软硬件划分方法

    基于EDA 的嵌入式系统软硬件划分方法  1 引言   嵌入式系统是由一个或若干个微处理器
    发表于 11-07 11:12 729次阅读
    基于EDA 的<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b><b class='flag-5'>软硬件</b>划分<b class='flag-5'>方法</b>

    嵌入式软硬件协同设计在气象主采集器中研究

    本文介绍了嵌入式系统的现状,分析了传统嵌入式设计方法的不足和 软硬件协同设计 方法的特点与优越性
    发表于 08-04 17:50 33次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软硬件</b>协同设计在气象主采集器中<b class='flag-5'>研究</b>

    基于SoPC的状态监测装置的嵌入式软硬件协同设计与实现

    本文利用基于SoPC的软硬件协同设计方法实现了水电机组在线监测系统中的状态监测装置,是软硬件协同设计技术在电力场合的嵌入式装置开发中的创新式
    发表于 01-16 10:35 1825次阅读
    基于SoPC的状态监测装置的<b class='flag-5'>嵌入式</b><b class='flag-5'>软硬件</b>协同设计与实现

    基于ARM嵌入式GPS导航系统软硬件设计

    基于ARM嵌入式GPS导航系统软硬件设计
    发表于 11-19 14:36 13次下载

    嵌入式软硬件协同设计的过程

    多种系统级描述语言对所要设计的嵌入式系统功能性能进行全面的描述,建立系统
    发表于 07-12 14:55 998次阅读

    嵌入式系统设计教程之软硬件功能划分的详细资料说明

    本文档的主要内容详细介绍的是嵌入式系统设计教程之软硬件功能划分的详细资料说明。
    发表于 07-26 16:42 13次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>设计教程之<b class='flag-5'>软硬件</b><b class='flag-5'>功能</b>划分的详细资料说明