如何做好嵌入式软件开发测试( 三 )



5.3 GUI测试工具

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

5.4 覆盖分析工具

在进行白盒测试时 , 可以使用代码覆盖分析工具追踪哪些代码被执行过 。分析过程可以通过插装来完成 , 插装可以是在测试环境中嵌入硬件 , 也可以是在可执行代码中加入软件 , 也可以是二者相结合 。测试人员对结果数据加以总结 , 确定哪些代码被执行过 , 哪些代码被巡漏了 。覆盖分析工具一般会提供有关功能覆盖、分支覆盖、条件覆盖的信息 。对于嵌入式软件来说 , 代码覆盖分析工具可能侵入代码的执行 , 影响实时代码的运行过程 。基于硬件的代码覆盖分析工具的侵入程度要小一些 , 但是价格一般比较昂贵 , 而且限制被测代码的数量 。

6、国内外的嵌入式测试服务

嵌入式软件测试要提供嵌入式软件及硬件的端到端测试服务 , 横跨工具/设备、实时操作系统(RTOS)、开发平台和编程语言 。服务内容包括嵌入式软件和硬件的测试策略和代码级测试 , 以及覆盖分析 , 功能测试 , 压力测试 , 代码审查 , 调试和代码维护 。测试服务覆盖从设备驱动 , 中间件/协议和系统及应用水平测试 。主要解决如通信、汽车电子行业、消费电子及多媒体、工业自动化、网络、存储、计算机硬件和外设的嵌入式系统测试 。

6.1 国外嵌入式软件测试服务

国外的嵌入式软件测试服务有:黑盒测试、功能测试、单元测试、回归测试、配置测试、压力测试、UI测试、安装测试、模块化测试、集成测试、手动黑盒测试、负载测试、验收测试 。

提供给用户的测试结果主要为:测试规划、测试用例、验收测试用例、用户手册、缺陷报告、改进建议等 。

6.2 国内嵌入式软件测试服务

国内的嵌入式软件测试服务还处于起步阶段 , 并且主要限于嵌入式应用软件、工业控制软件 , 测试的主要内容包括:

1)功能测试

依据ISO/IEC 9126-1 质量模型 , 验证系统是否满足明确和隐含要求功能 。功能测试覆盖实用性、准确性、互操作性、互用性、保密安全性、功能依从性 。

2)可靠性测试

依据ISO/IEC 9126-1 质量模型 , 测试在指定条件使用时 , 软件产品维持规定的性能级别的能力 。可靠性测试覆盖成熟性、容错性、易恢复性等质量特性 。

3)性能测试

依据ISO/IEC 9126-2 质量模型 , 检测在规定条件下 , 软件产品执行其功能时 , 提供适当的响应和处理时间以及吞吐量的能力以及使用合适的数量和类型的资源的能力 。

4)安全性测试

依据ISO/IEC 9126-3 质量模型 , 测试在指定条件使用时 , 软件产品维持规定的性能级别的能力 。可靠性测试覆盖成熟性、容错性、易恢复性等质量特性 。

5)易用性测试

依据ISO/IEC 9126-4 质量模型 , 测试在指定条件使用时 , 软件产品被理解、学习、使用和吸引用户的能力 。测试覆盖易理解性、易学性、易操作性、吸引性 。

推荐阅读