2024年6月4日发(作者:)

嵌入式软件测试的基本方法

一、引言

随着数字化时代的到来,大量系统架构复杂、功能日益强大的嵌入式系统正不断进入

市场,应用也日趋复杂,这对嵌人式软件的开发技术和测试技术提出了更高的要求。嵌人

式系统的复杂性和集成度越来越高,其中的软件部分也开始在整个嵌入式系统中占有越来

越多的比例,并经常实现硬件的功能。

嵌入式系统的专用程度较高,所以对其可靠性的要求也比较高,为了保证系统的稳定

性,避免由于其可能出现的失效而导致灾难性的后果,要求对嵌人式系统,包括嵌入式软

件进行严格的测试、确认和验证。

基于嵌入式软件自身的特点,如实时性(Real-timing),内存不丰富,I/O通道少,

开发工具昂贵,并且与硬件紧密相关,CPU种类繁多,其缺陷不像PC软件的缺陷容易修

补等等。传统的软件测试理论不能直接用于嵌入式软件测试,因此,研究嵌入式软件的测

试方法和策略,对于提高和改善嵌入式软件的质量有重要意义。

二、嵌入式软件测试的基本方法

嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统

对功能、可靠性、成本、体积及功耗严格要求的专用计算机系统。嵌入式系统的软硬件功

能界限模糊,测试比PC系统软件测试要困难得多,嵌入式软件系统测试具有如下特点:

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

(2)强壮性测试、可知性测试很难编码实现;

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

(4)基于消息系统测试的复杂性,包括线程、任务、子系统之间的交互,并发、容错

和对时间的要求;

(5)性能测试、确定性能瓶颈困难;

(6)实施测试自动化技术困难。

大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40%以上,在

极端情况,测试那种关系人的生命安全的重要的行业中的嵌入式软件所花费的成本,可能

相当于软件工程其他开发步骤总成本的三倍到五倍。

在嵌入式软件测试中,既要考虑软件本身,还要考虑软件同硬件平台和操作系统的集

成,同时还有条件苛刻的时间约束和实时要求,以及其他合性能相关的要求。