嵌入式软件测试关键技术研究

2018-10-21 21:35张海军
科技信息·下旬刊 2018年8期
关键词:软件测试嵌入式关键技术

张海军

摘要:嵌入式软件是最难测试的一种软件,不同测试阶段需要建立不同的测试环境、采用不同的测试技术。本文对构建嵌入式软件测试环境的关键测试技术进行了研究。

关键词:嵌入式;软件测试;关键技术

引言

在嵌入式软件测试的不同阶段,只有选择和建立恰当的测试环境,才能保证嵌入式软件测试的质量和效率,而嵌入式软件测试环境的建立是一项复杂、困难的工作,需要考慮多方面的因素、解决很多技术难题。

1、嵌入式软件白盒测试关键技术

1.1 静态分析技术

嵌入式软件主要采用C、汇编语言来实现。采用C语言开发的嵌入式软件,一般符合统一标准,目前有许多测试工具支持其静态分析,主要有McCabe、Cantata、Clockwork、TestBed等。但是采用汇编语言开发的嵌入式软件,由于CPU的不同,必须针对特定的汇编语言专门开发相应的工具。

1.2 覆盖率测试技术

在进行覆盖率测试时,程序插装和覆盖率数据的获取是关键环节,一般有纯软件方式、纯硬件方式和软硬件结合方式。纯软件的测试工具主要有TestBed、Logiscope等。纯硬件的方式是利用硬件工具,在线实时对总线上的数据进行采样。软硬结合的方式是综合纯硬件和纯软件两种实现方式之后的一种方式。

1.3 内存测试技术

内存测试的手段主要包括静态检查、动态检查、人工测试等。静态检查是指使用内存静态检查工具(如PolySpace)在不执行代码的情况下来检查内存方问题;动态检查使用内存动态检查工具(如Insure++)在软件运行时进行检查;人工测试是自行设计专门的用例来检查可能存在的内存缺陷。

2、嵌入式软件黑盒测试关键技术

2.1 仿真建模技术

嵌入式软件通常运行于特定的物理环境中,外部交联设备复杂,在进行测试时需要构建仿真测试环境。根据运行环境和实际环境的差异,嵌入式软件测试环境可分为全数字仿真测试环境、半实物仿真测试环境和全实物仿真测试环境。典型的嵌入式软件仿真测试环境构建有:ADS、GESTE等。

2.2 目标数据生成技术

嵌入式软件性能的好坏,往往可以从一些特殊情况的处理能够直接反映出来。这些特殊情况不仅直接影响其性能指标的好坏,更有甚者可以导致严重的后果。但是,利用真实目标进行测试,有些特殊情况根本不可能或很难实现,因此,有必要采用模拟的手段来实现,即研究如何利用matlab等软件产生模拟数据。

2.3 测试用例设计方法

很多嵌入式软件涉及众多条件参数组合的输入,在设计测试用例时,全逻辑覆盖必然使测试用例的数量急剧膨胀。而如果采用人工随机选择参数组合进行测试,则测试的充分性和正确性又难以保证,所以需要采用正交实验法、组合设计、判定表法等特殊的测试用例设计方法,来缩减测试用例规模,同时也能保证满足规定的测试覆盖率要求。

2.4 测试数据获取技术

嵌入式软件测试的困难之一是在目标机或仿真机上如何注入测试输入数据以及获取测试过程中产生的数据。嵌入式软件测试数据输入和获取的手段包括:外接键盘显示器、在线辅助设备、I/O接口、边界扫描、总线监听、在线仿真器ICE等。嵌入式系统的灵活性导致其采用的I/O端口、总线标准多种多样,在实际测试任务中,要针对具体装备的特点和测试内容,综合考虑采用哪种数据输入获取方式。

2.5 数据分析处理技术

数据处理类嵌入式软件,一般涉及到复杂的数学运算,这样就带来计算结果的正确性如何判断的问题。对于一组输入数据和结果数据,需要将输入数据输入仿真程序计算得到一个计算结果数据,将其与获取的结果数据进行比较,来判断程序运算功能的正确性。这里需要注意两个问题:第一,仿真程序的正确性;第二,仿真计算结果和采集实际结果的误差范围。

结束语

虽然日前已经有一些针对嵌入式软件的测试工具和软件,但构建嵌入式软件测试环境困难多、技术复杂,在有些方面仍存在不足,需要通过对嵌入式软件仿真测试环境和嵌入式软件测试技术进行不断研究,进一步完善和研制更先进的测试工具。

参考文献:

[1] 蒋崇武,杨顺昆,刘斌. 面向嵌入式软件测试的仿真建模[J]. 计算机工程,2008,34(4):87-89.

[2] 平婕,秦 军,康建华,安元伟. 嵌入式软件测试关键技术研究[J]. 计算机应用,2010,8:45-47.

[3] 周涛. 航天型号软件测试[M]. 北京:宇航出版社,1999.

猜你喜欢
软件测试嵌入式关键技术
软件测试方向人才培养“1+X”融合研究
防雷关键技术在自动气象站系统中的应用探究
网络安全态势感知关键技术研究
无人机集群作战关键技术及发展趋势
大数据背景下软件测试技术的发展
关于 Web 应用系统的软件测试的研究
软件测试发展现状及前景的探讨
嵌入式LINUX操作系统的研究
TD—LTE关键技术与发展展望
嵌入式组件技术的研究及应用