工具 | 实用的嵌入式软件测试工具

也许你陌生,但在智能物联网时代,人们会越来越关注嵌入式软件测试。

说起嵌入式软件测试,我们先快速了解一下嵌入式软件自身的特点。嵌入式软件具有实时性、内存空间有限、I/O通道少,而且要求功耗低、高可靠性,对成本也比较敏感,和硬件关联性强等特点。因此,嵌入式软件的测试与一般商用软件的测试有较大的区别。

嵌入式软件开发和运行的环境完全不一样,是分开的,开发在Windows/Mac OS桌面客户端(宿主机环境)上进行,而运行的环境是在目标机环境上,即一般是基于Linux/Android内核开发的嵌入式操作系统或像RT-thread那样的实时操作系统,支持ARM CPU、 MCU 和 蓝牙芯片等低功耗的关键硬件。

嵌入式软件的单元测试一般在宿主机环境下进行,只是在个别情况下(如目标机编译器可能有缺陷)会要求在目标机环境下进行,所以在单元测试上,嵌入式软件和一般商用软件的之间差别比较小。不过,嵌入式软件的单元测试对代码的质量要求比较高,一般要求达到MC/DC覆盖率。

嵌入式软件的集成测试,一般指与目标机的硬件环境集成,也可以和仿真环境集成,这时需要做相应的硬件兼容性测试。但到了系统测试、配置项测试或确认测试,一般就会在目标机环境下执行,这时和一般商用软件的测试有较大的差别。

由于嵌入式系统的实时性,其测试应充分考虑系统实时响应的问题,其响应时间一般要求在毫秒级别,其对应的负载测试少不了。在对目标机进行测试时,一般需要对在宿主机上编译通过的代码进行插桩处理。

这样可以在目标机执行程序的时候,将插桩时预测好的数据返回到宿主机上进行分析,因此,宿主机和目标机之间的数据传输也要认真对待。

除此之外,我们需要制定符合系统需求的可靠性级别和安全级别,进行相应的可靠性测试和安全性测试。嵌入式软件测试工具,开源工具比较少,多数是商业工具,而且往往成套,覆盖系统功能、性能分析和安全性测试。

今天,我们就介绍比较常用的或好用的嵌入式软件测试工具,主要有:

ETest Studio

Klocwork

Hitex TESSY

Rapita Verification Suite

Squish

Trinity DT10

VectorCAST

ETest Studio

一款国产化黑盒测试工具,可以做配置项测试和系统测试,包括测试资源管理、环境描述、接口协议定义、用例设计、实时数据监控、测试任务管理等功能。

你可能感兴趣的:(软件测试,功能测试,测试工具)