background image

3.1 嵌入式软件测试与普通软件测试的相同点

嵌入式软件测试作为一种特殊的软件测试,它的目的和原则与普通软件测

试是相同的,都是为了发现软件缺陷,而后修正缺陷以提高软件的可靠性。它们
的中心任务都是验证和确认其实际实现是否符合需求要求,在验证过程中发现
系统缺陷。

嵌入式软件测试与普通软件测试具有相同的信息流,如图

3-1。

                            图 3-1 软件测试信息流

嵌入式软件测和普通软件测试对象相同,包括软件中所有内容,贯穿软件

定义与开发的整个过程。也就是说,需求分析、概要设计、详细设计、程序编码等
各阶段所得到的文档及源程序,包括需求规格说明、概要设计规格说明、详细设
计规格说明以及源程序,都应当称为软件测试的对象。

3.2 嵌入式软件测试与普通软件测试的区别

由于嵌入式系统的自身特点,如实时性

(Real-timing),内存不丰富,I/O

通道少,开发工具昂贵,并且与硬件紧密相关

CPU 种类繁多,等等。嵌入式软

件的开发和测试也就与一般商用软件的开发和测试策略有了很大的不同,可以
说嵌入式软件是最难测试的一种软件。

嵌入式系统由于自己本身的特点,如实时性强、内存不丰富、

I/O 通道少、开发工具昂贵

并且与硬件紧密相关、

CPU 种类繁多等等,决定了不同的嵌入式系统必须有不同的测试方

法。

3.2.1 嵌入式软件测试的各个阶段测试的环境是不一样的

嵌入式软件开发和运行的环境是分开的,

嵌入式软件开发

环境往往是交叉开

发环境。因此,各个阶段测试的环境是不一样的。

单元测试阶段:所有的单元测试都可以在宿主机环境下进行,只有个别情

下会特别指定单元测试要直接在目标机环境下进行。应该最大化在宿主机环境下
进行软件测试的比例,通过尽可能小的目标单元访问其指定的目标单元界面,
提高单元的有效性和针对性。

在宿主机平台上运行测试的速度比在目标机平台上快得多,当在宿主机平台

上完成测试后可以在目标机环境下重复做一次简单的确认测试,确认测试结果

测试

结果
分析

可 靠

分析

软件配置

测试配置

测试工具

预期结果

出错率数据

错误

改正后的软件

预测的可靠性