在现代软件工程理论中,软件测试是保证软件质量和可靠性的重要手段。嵌入式软件作为一类重要的软件系统,具有嵌入性、实时性、开发工具专用、内存受限、接口种类繁多等特点,这决定了针对嵌入式软件的测试有其特殊性。
在嵌入式软件实现阶段完成了单元测试的基础上,一般后续软件测试应包括集成测试、配置项测试和系统测试。简要说明如下:
·集成测试。嵌入式软件集成测试一般有两种集成方式:一种是在宿主机上的集成测试,另一种是在目标机上的集成测试。
·配置项测试。软件配置项测试是在集成测试的基础上,全面验证软件需求规格说明中定义的全部功能、性能、接口、安全性、恢复性、强度、余量等需求,测试整个软件配置项是否满足要求。
·系统测试。嵌入式系统往往包含多个软件配置项,在这种情况下,嵌入式软件是否能与系统中其他的软硬件正确对接,是否正确地完成了上级系统分配执行的功能、性能,必须通过系统测试给予确认。
嵌入式软件系统测试的目的,是在真实的系统工作环境下或仿真测试环境中检验软件是否能与系统正确连接,并确认软件是否满足软件研制任务书中提出的功能、性能和接口要求。
对实时嵌入式软件而言,系统测试是最重要的测试手段之一,因为前述的所有测试均不能测试出实时软件中潜藏的时序错误和软硬件接口错误。为此,进行系统测试的软件必须在目标机上运行,并采用真实的I/O接口。
本阶段的主要工作及过程控制如表2-5所示。
表2-5 软件测试阶段的工作