4.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

  整体性能测试:基于操作系统之上的嵌入式系统整体软件测试,主要采用应用软件测试,着重分析性能、内存分配、代码覆盖率、软件执行流程,并采用仿真器、逻辑分析仪的硬件测试工具进行整体性能的测试。

  5、嵌入式软件的测试工具

  用于辅助嵌入式软件测试的工具很多,下面对几类比较有用的有关嵌入式软件的测试工具加以介绍和分析。

  5.1 内存分析工具

  在嵌入式系统中,内存约束通常是有限的。内存分析工具用来处理在动态内存分配中存在的缺陷。当动态内存被错误地分配后,通常难以再现,可能导致的失效难以追踪,使用内存分析工具可以避免这类缺陷进入功能测试阶段。目前有两类内存分析工具??软件和硬件的。基于软件的内存分析工具可能会对代码的性能造成很大影响,从而严重影响实时操作;基于硬件的内存分析工具价格昂贵,而且只能在工具所限定的运行环境中使用。

  5.2 性能分析工具

  在嵌入式系统中,程序的性能通常是非常重要的。经常会有这样的要求,在特定时间内处理一个中断,或生成具有特定定时要求的一帧。开发人面临的问题是决定应该对哪一部分代码进行优化来改进性能,常常会花大量的时间去优化那些对性能没有任何影响的代码。性能分析工具会提供有关的数据,说明执行时间是如何消耗的,是什么时候消耗的,以及每个例程所用的时间。根据这些数据,确定哪些例程消耗部分执行时间,从而可以决定如何优化软件,获得更好的时间性能。对于大多数应用来说,大部分执行时间用在相对少量的代码上,费时的代码估计占所有软件总量的5%-20%。性能分析工具不仅能指出哪些例程花费时间,而且与调试工具联合使用可以引导开发人员查看需要优化的特定函数,性能分析工具还可以引导开发人员发现在系统调用中存在的错误以及程序结构上的缺陷。

  5.3 GUI测试工具

  很多嵌入式应用带有某种形式的图形用户界面进行交互,有些系统性能测试足根掘用户输入响应时间进行的。GUI测试工具可以作为脚本工具有开发环境中运行测试用例,其功能包括对操作的记录和回放、抓取屏幕显示供以后分析和比较、设置和管理测试过程。很多嵌入式设备没有GUI,但常常可以对嵌入式设备进行插装来运行GUI测试脚本,虽然这种方式可能要求对被测代码进行更改,但是节省了功能测试和回归测试的时间。