background image

盖测试准备好一插装好的软件代码。

2)使用源码在主机环境执行功能测试,修正软件的错误和测试脚本中的错

误。

3)使用插装后的软件代码执行覆盖率测试,添加测试用例或修正软件的错

误,保证达到所要求的覆盖率目标。

4)在目标环境下重复2),确认软件在目标环境中执行测试的正确性。
5)若测试需要达到极端的完整性,最好在目标系统上重复3),确定软件的

覆盖率没有改变。通常在主机环境执行多数的测试,只是在最终确定测试结果和

最后的系统测试才移植到目标环境,这样可以避免发生访问目标系统资源上的

瓶颈,也可以减少昂贵资源如在线仿真器上的费用。另外,若目标系统的硬件由

于某种原因而不能使用时,最后的确认测试可以推迟直到目标硬件可用,这为

嵌入式软件的开发测试提供了弹性。设计软件的可移植性是成功进行

cross—

test的先决条件,它通常可以提高软件的质量,并且对软件的维护大有益处。以
上所提到的测试工具,都可以通过各自的方式提供测试在主机与目标之间的移

植,从而使嵌入式软件的测试得以方便的执行。使用有效的

cross—test测试策

略可以极大地提高嵌入式软件开发测试的水平和效率,提高嵌入式软件的质量。

4  测试方法分析

按测试方法,软件测试分为静态测试和动态测试,其中静态测试又分为代

码审查和静态分析,而动态测试又分为黑盒测试和白盒测试。
4.1 白盒测试与黑盒测试相结合

在白盒测试之后应该对该系统进行黑盒测试。白盒测试和黑盒测试是动态测

试的两种主要方法。白盒测试的主要测试依据是软件设计。它对软件内部工作过

程的细致检查,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选

择测试用例,对程序所有逻辑路径进行测试。黑盒测试的主要测试依据是软件需

求。它着眼于软件的外部结构,不考虑程序的逻辑结构和内部特性,仅依据软件

的需求规格说明书,在软件界面上检查程序的功能是否符合要求回。
4.2 静态测试和动态测试

1)静态测试(Static Test)。对软件文档或程序进行扫描分析,不运行。人工

或借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查

软件是否符合编程标准,借以发现编写的程序的不足之处。

2)动态测试(Dynamic Test)。是另一种基本测试技术,运行被测代码,观

察代码运行时所体现的功能、逻辑、行为、结构等。

5 结论

在嵌入式系统设计中,软件正越来越多地取代硬件,以降低系统的成本,