如何做好嵌入式软件开发测试
嵌入式软件测试的目的是保证软件满足需求规格说明,与非嵌入式软件的测试目的是一样的
系统失效是系统没有满足—个或多个正式需求规范中所要求的需求项,嵌入式软件有其特殊的失效判定准则
而且嵌入式软件对可靠性的要求比较高
安全性的缺陷往往会导致灾难性的后果,即使是非安全性系统,由于大批量生产也会导致严重的经济损失
这就要求对嵌入式系统,包括嵌入式软件、嵌入式硬件进行严格的测试、确认和验证
一般来说,软件测试有7 个基本阶段,即单元或模块测试、集成测试、外部功能测试、回归测试、系统测试、验收测试、安装测试
嵌入式软件测试在4 个阶段上进行,即模块测试、集成测试、系统测试、硬件/软件集成测试
前3 个阶段适用于任何软件的测试,硬件/软件集成测试阶段是嵌入式软件所特有的,目的是验证嵌入式软件与其所控制的硬件设备能否正确地交互
2、嵌入式软件测试环境 嵌入式软件测试的测试环境主要有两种: 1)目标环境测试:基于目标的测试测试全面有效,但是消耗较多的经费和时间
2)宿主环境测试:基于宿主的测试代价较小,但是有些对环境要求高的功能和性能宿主机无法模拟,测试无法实现
目前的趋势是把更多的测试转移到宿主环境中进行,把宿主环境测试无法实现的复杂和独特功能放在目标环境测试
我们的工作重点是基于宿主环境的测试,基于目标环境的测试作为补充
在两个环境中可以出现不同的软件缺陷,重要的是目标环境和宿主环境的测试内容有所选择
在宿主环境中,可以进行逻辑或界面的测试、以及与硬件无关的测试
在模拟或宿主环境中的测试消耗时间通常相对较少,用调试工具可以更快地完成调试和测试任务
而与定时问题有关的白盒测试、中断测试、硬件接口测试只能在目标环境中进行
在软件测试周期中,基于目标的测试是在较晚的“硬件/软件集成测试”阶段开始的,如果不更早地在模拟环境中进行白盒测试,而是等到“硬件/