在插桩完成之后,需要对嵌入式软件进行重新编译,并且将编译好的程序下载到目标
机中,同时通过宿主机与目标机的通信,来对探针的运行以及探针运行结果进行分析。
3 嵌入式软件测试内容
嵌入式软件测试的内容主要为:软件代码测试、编程规范标准符合性测试、代码编码规
范符合性测试、开发维护文档规范符合性测试、用户文档测试。
其中软件测试服务范围包括:系统级测试、应用测试、中间件测试、
BSP 及驱动程序测试、
嵌入式硬件设计测试。
其中,按照嵌入式软件有无操作系统将嵌入式系统分为两大类:无操作系统的嵌入式
软件、有操作系统的嵌入式软件。
3.1 无操作系统的嵌入式软件
无操作系统的嵌入式软件主要包括
C 语言代码、汇编语言代码、Apa 代码等。
C 语言模式软件测试:硬件设备及其他宏定义(编译阶段处理)、API 函数测试、模块
初始化(包括系统初始化)、中间功能件测试、功能模块测试、中断处理测试、任务调度测试、
区域功能测试、总体功能测试。
汇编语言模式软件测试:硬件设备及其他宏定义(编译阶段处理)、模块初始化(包括
系统初始化)、中间功能件测试、功能模块测试、中断处理测试、区域功能测试、总体
功能测试。
3.2 基于操作系统的嵌入式软件
基于操作系统的嵌入式软件主要包括应用软件测试、系统软件测试、整体性能测试。
应用软件测试:模块初始化(包括系统初始化)、中间功能件测试、功能模块测试、区域
功能测试、总体功能测试。
系统软件测试:硬件设备及其他宏定义(编译阶段处理)、
API 函数测试、模块初始化
(包括系统初始化)、中间功能件测试、功能模块测试、中断处理测试、区域功能测试、总体功
能测试、标准符合性测试。
其中,操作系统的标准符合性测试依据的标准主要包括:
IEEE POSIX 1003.1-1990 (VSX4-PSE)
IEEE POSIX 1003.1b-1993/1003.1i-1995 Realtime extension (VSRT-PSE)
IEEE Std POSIX 1003.1c-1995 Threads (pthreads) extension (VSTH-PSE)
IEEE POSIX 1003.13-1998 Profile 52 (VSPSE52)
VSPSE52:2003 - A conformance test suite for IEEE Std 1003.13-2003 Profile PSE52
整体性能测试:基于操作系统之上的嵌入式系统整体软件测试,主要采用应用软件测
试,着重分析性能、内存分配、代码覆盖率、软件执行流程,并采用仿真器、逻辑分析仪等硬
件测试工具进行整体性能的测试。
4 嵌入式软件测试工具
用于辅助嵌入式软件测试的工具很多,下面对几类比较有用的嵌入式软件测试工具加
以介绍和分析。
4.1 内存分析工具
在嵌入式系统中,内存约束通常是有限的。内存分析工具用来处理在动态内存分配中存
在的缺陷。当动态内存被错误地分配后,通常难以再现,可能导致的失效难以追踪,使用内
存分析工具可以避免这类缺陷进入功能测试阶段。目前有两类内存分析工具
——软件工具和
硬件工具。基于软件的内存分析工具可能会对代码的性能造成很大影响,从而严重影响实时
操作;基于硬件的内存分析工具价格昂贵,而且只能在工具所限定的运行环境中使用。
4.2 性能分析工具
在嵌入式系统中,程序的性能通常是非常重要的。经常会有这样的要求,在特定时间内