background image

嵌入式软件测试技术研究

    摘要:随着嵌入式软件结构的日益复杂,嵌入式软件的测试也越来越重要。在对嵌入式软
件的特点以及嵌入式软件测试环境和策略分析的基础上,对嵌入式软件基本测试方法进行
了研究。

 

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

 

  

0 引言 

  随着信息技术的不断发展,与硬件发展日益稳定相比,软件故障却日益突出,因此软
件测试的重要性已经越来越被人们所重视。嵌入式软件有着开发工具昂贵、内存较小、实时性
要求较高、

CPU 种类繁多、I/O 通道较少等特点,为此,嵌入式软件的测试也与一般 PC 应用

软件的测试有很大的差异。

 

  

1 嵌入式软件测试概述 

  

1.1 嵌入式软件特点分析 

  嵌入式软件测试的主要目的在于验证软件的可靠性,与通常的

PC 应用软件相比,嵌

入式软件的测试有如下几个特点:

①嵌入式软件是针对在特定硬件环境下开发的,其运行

和测试也需要依据特定的硬件环境;

②实施性要求较高,除了要求有正确的输出结果以外,

还需要考虑是否能够在规定的时间内得到运行结果。

 

  

1.2 嵌入式软件测试环境分析 

  一般采用交叉开发环境来搭建嵌入式软件的测试环境。例如单元测试、集成测试等可以

PC 机上完成的测试,通常都在 PC 机上进行测试,从而可以避免硬件环境的影响,提高

测试效率。在后期的集成测试中,需要在具体的嵌入式软件硬件环境中,搭建交叉测试环境
来完成嵌入式软件的测试。交叉测试环境的搭建需要注意以下几个方面的内容:

 

  (

1)主机与目标机之间的通信问题。可以通过以太网或者串口进行主机与目标机之间

的物理连接,主机与目标机之间的数据格式可以预先进行定义。

 

  (

2)主机对目标机的测试控制。主要包括主机如何向目标机发送测试用例,如何跟踪

目标机的测试,查看是否正常进行。

 

  (

3)目标机测试结果的反馈。通常运行嵌入式系统的目标机没有视频显示等便利的测

试结果输出端口,因此目标机上的异常、错误信息和正常响应信息等测试结果都需要返回到
主机上进行显示和输出。

 

  在嵌入式软件测试环境的搭建过程中,需要测试嵌入式系统与已建设备是否协调,硬
件设备电气特征是否正常,以及主机与目标机之间的物理信道是否通畅等,从而保证测试
结果不受到嵌入式软件以外其它因素的影响。

 

  

1.3 嵌入式软件测试策略 

  嵌入式软件不同的测试阶段有不同的测试策略。

 

  (

1)单元测试。为了提高嵌入式软件的测试效率,一般会将较大的嵌入式软件系统划

分成若干相对较小的任务单元进行测试。由于宿主机上有更加丰富的资源,同时也为了方便
对嵌入式软件的调试,一般在宿主机上进行单元测试。单元测试一般采用白盒测试策略,尽
可能测试到单元模块中的每一个程序语句,每一个分值,从而提高代码测试的覆盖率。

 

  (

2)集成测试。为了找出系统逻辑结构错误和各个功能模块之间的数据传递错误,需

要采用黑盒和白盒相结合的方式进行嵌入式软件集成测试。需要通过最大程度地模拟嵌入式
软件实际运行环境。集成测试分成两个部分,首先可以在宿主机上测试软件是否存在逻辑结
构错误,以及测试各功能模块之间是否有传递错误;然后,通过构建真实的嵌入式软件运
行环境,来测试软件是否存在内存定位和分配上的错误。

 

  (

3)确认测试。确认测试必须是嵌入式软件运行在真实的硬件目标环境中,主要测试