APP下载

电子计量器具嵌入式软件的可靠性测试

2018-02-26陈苏

电子技术与软件工程 2018年16期
关键词:嵌入式软件计量

陈苏

摘要

本文阐述了嵌入式软件可靠性测试的目的与影响软件可靠性的因素,并针对电子计量器具嵌入式软件的特点,提出对其进行可靠性测试应考虑的问题与测试用例分析设计,旨在提高电子计量器具嵌入式软件可靠性,为保证软件的质量与计量工作的顺利开展提供参考。

【关键词】计量 嵌入式软件 可靠性测试

1 引言

随着嵌入式系统应用的不断发展,越来越多的电子计量器具也通过搭载嵌入式系统,把用于检定或校准的软件程序直接嵌入到计量器具中,使得电子计量器具更加地智能化,也大大提高了检定校准工作的效率。在极大的方便了检定人员的同时,电子计量器具的嵌入式软件可靠性则关系到其检定校准工作的质量。因此对电子计量器具嵌入式软件可靠性测试,是保证其软件与计量工作质量的关键因素。

2 嵌入式软件可靠性测试概述

软件可靠性是度量被测软件安装用户的要求和设计的目标,执行其功能的正确程度。嵌入式系统是由硬件与软件组合而成,其软件可靠性问题近年越来越受到业内关注。嵌入式软件测试的目的是为了保证高质量、高可靠性的软件。电子计量器具嵌入式软件由于其应用在计量基础领域,还关系到民生问题,对软件运行的可靠性和正确性就有着较高的要求。如果软件出现失效或者精度降低等问题,那么将影响所出具报告数据的准确度,严重的还会影响到检定人员的人身安全。因此形成一套规范有效,以发现软件可靠性缺陷的测试方法的重要性不言而喻。

与硬件可靠性技术相比,有关软件的可靠性测试还并不成熟且应用范围也较为有限。嵌入式软件可靠性受多种因素的影响,从技术的角度来看主要包括:

2.1 运行剖面,即运行环境

相同的软件在不同的运行剖面下,其可靠性表现可能是不一样的。如电子计量器具的使用环境可能存在复杂多变的情况,如检定校准工作可能安排在室内,也可能是在室外;相同的一项检定校准工作可能需要在-10℃至40℃的温度条件下进行;软件可能需要在冲击、振动、电磁场等恶劣环境下运行。

2.2 软件规模,也就是软件的大小

数千万行代码的软件和数万行代码的软件相比,编码错误,如语法错误、变量初始化错误、边界值错误等发生的概率显然要大得多。

2.3 软件内部结构

内部结构先进而优良的软件,即使较为复杂,所包含的缺陷也可能比内部结构混乱的软件要少得多。

3 可靠性测试目标确定与测试场景设计

我们要对一款软件做可靠性测试,首先要做的就是确定可靠性目標。在软件运行过程中,由于不同的软件缺陷而引发的软件失效,其所带来影响的严重程度也是不同的。一般按照对系统能力的影响和对成本的影响来划分软件失效严重程度类,相比一般嵌入式软件,根据电子计量器具嵌入式软件的特点,我们主要按对系统能力的影响来设计失效严重程度类。划分好失效严重程度后,结合可靠度要求等指标,设计可靠性目标,举例参考如表1所示。

可靠性目标确定后,可以进行测试场景的设计工作。首先要为软件的使用行为建模,可以根据所测试计量器具的使用特点与软件实际运行情况,确定能覆盖该器具的使用情况的操作模式,可能需要同时包含多种操作模式。接着确定操作的发起者,包括用户、外部条件、嵌入式系统自身等。软件的行为可能是由用户的操作引发的,也可能来自外部条件如接收到消息而引起的数据处理行为;最后还有可能来自嵌入式系统自身,如中断信号、内存溢出引发的异常等。

4 可靠性测试用例设计分析

在测试场景设计完成并做好其他准备之后,可以设计测试用例,来对软件可靠性进行测试。设计测试用例就是针对特定功能或组合功能制定测试方案,在设计用例是应考虑哪些是易于发现缺陷的用例和数据。以下简单介绍几种较为常用的测试用例设计实例。

4.1 内存过载测试

当一个嵌入式系统的内存占用率达到80%以上时,则可以认为内存过载。内存过载有可能是由于软件运行过程中数据大量的读写操作及对存储资源的申请与释放不及时造成内存泄露而引发。一般来说代码编写严谨的软件,在长时间、大数据量情况下运行,内存占用不应有太大的变化。内存过载可能会引起系统崩溃、芯片复位等问题,我们进行内存过载测试的目的就是为了观察系统能否在内存过载的情况下继续稳定运行,同时该测试也能发现软件是否存在内存泄露问题。我们可以采用内存丢失的方法来实现测试,可以编写一个申请内存且一直占用的程序使得系统内存占用达到80%,运行一段时间观察被测软件运行状态。如果软件运行正常,可以在此基础上再占用掉10%的内存,继续运行一段时间观察被测软件运行状态。为了达到极端测试的效果,我们还可以把内存全部申请出来,观察被测软件是否还能正常运作。

4.2 CPU过载测试

当一个嵌入式系统的CPU占用率达到80%以上时,则可以认为CPU过载。CPU过载可能造成系统响应变慢,无法实时处理事务。我们可以编写一个程序采用无限循环的方式强制消耗掉一定的CPU.通过调整消耗CPU资源程序与被测软件在系统中的优先级,观察被测软件运行状态。

5 结论与建议

本文主要是针对电子计量器具嵌入式软件可靠性测试提出的一些思路和方法。从可靠性测试目标的确定、测试场景设计、测试用例设计等方面做了分析并给出了实例作为参考。电子计量器具嵌入式软件可靠性作为保证软件质量与计量服务的一项关键工作,要把可靠性测试过程进行规范化,在测试过程文档的编写与管理、测试场景及测试用例设计方面,还需在今后的工作中不断的改进和完善。使得测试能更好的发现软件缺陷、所获得的测试数据更加真实有效,才能更好的为保障计量事业的蓬勃发展尽一份力。

参考文献

[1]GB/T 28171-2011嵌入式软件可靠性测试方法[S].

[2]John D.Musa.软件可靠性工程[M].韩柯,译.北京:机械工业出版社,2003.

猜你喜欢

嵌入式软件计量
航空工业计量所60年发展史的回望与传承
《化学分析计量》2020年第6期目次
基于人工智能的模块化嵌入式软件开发研究
关注日常 计量幸福
实时嵌入式软件的测试技术
计量自动化在线损异常中的应用
全景相机遥控器嵌入式软件V1.0 相关操作分析
计量与测试
基于Eclipse的航天嵌入式软件集成开发环境设计与实现
航天嵌入式软件浮点运算误差分析与控制