嵌入式软件测试策略(2)

发表于:2014-09-12来源:uml.org.cn作者:不详点击数: 标签:
确认测试最终的实施舞台必须在目标环境中,系统的确认必须在真实系统之下测试,而不能在主机环境下模拟。这关系到嵌入式软件的最终使用。 包括恢

  确认测试最终的实施舞台必须在目标环境中,系统的确认必须在真实系统之下测试,而不能在主机环境下模拟。这关系到嵌入式软件的最终使用。

  包括恢复测试、安全测试、强度测试、性能测试,已超出了软件测试的范畴,本文暂不讨论。

  使用有效的cross-test测试策略可极大的提高嵌入式软件开发测试的水平和效率,当然正确的测试工具使用也是必不可少的:

  总结一下,应用以上测试工具进行.Cross-test时的策略:

  A) 使用测试工具的插装功能(主机环境)执行静态测试分析,并且为动态覆盖测试准备好一插装好的软件代码。

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

  C) 使用插装后的软件代码执行覆盖率测试,添加测试用例或修正软件的错误,保证达到所要求的覆盖率目标。

  D) 在目标环境下重复(B),确认软件在目标环境中执行测试的正确性。

  E) 若测试需要达到极端的完整性,最好在目标系统上重复(C),确定软件的覆盖率没有改变。

  通常在主机环境执行多数的测试,只是在最终确定测试结果和最后的系统测试才移植到目标环境,这样可以避免发生访问目标系统资源上的瓶颈,也可以减少在昂贵资源如在线仿真器上的费用。另外,若目标系统的硬件由于某种原因而不能使用时,最后的确认测试可以推迟直到目标硬件可用,这为嵌入式软件的开发测试提供了弹性。设计软件的可移植性是成功进行cross-test的先决条件,它通常可以提高软件的质量,并且度软件的维护大有益处。以上所提到的测试工具,都可以通过各自的方式提供测试在主机与目标之间的移植,从而使嵌入式软件的测试得以方便的执行。

  使用有效的cross-test测试策略可极大的提高嵌入式软件开发测试的水平和效率,提高嵌入式软件的质量。

  附录:

  1)HOST-TARGET的连接方法简介:

  直接连接

  通过仿真器连接

  使用介质进行间接连接

  使用PROM等传递被测软件

  测试的交互界面

  无交互界面的连接

。提到嵌入式软件测试,首先要简单介绍一些软件工程的一些观点,现在,被普遍接受的软件的定义是:软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data) 及其说明文档(document)。其中程序是按照事先设计的功能和性能要求执行的指令序列;数据是是程序能正常操纵信息的数据结构;文档是与程序开发维护和使用有关的各种图文资料。

  对于一般商用软件的测试,嵌入式软件测试有其自身的特点和测试困难。

  由于嵌入式系统的自身特点,如实时性(Real-timing),内存不丰富,I / O通道少,开发工具昂贵,并且与硬件紧密相关CPU种类繁多,等等。嵌入式软件的开发和测试也就与一般商用软件的开发和测试策略有了很大的不同,可以说嵌入式软件是最难测试的一种软件。

  嵌入式软件测试使用有效的测试策略是唯一的出路,它可以使开发的效率最大化,避免目标系统的瓶颈,使用在线仿真器节省昂贵的目标资源。自从出现高级语言,开发环境与最终运行环境通常都是存在差异的,嵌入式系统更是如此。开发环境被认为是主机平台,软件运行环境为目标平台。相应的测试为host- target测试或cross-testing。

  讨论嵌入式软件测试首先就会遇到一个问题:为什么不把所有测试都放在目标上进行呢?因为若所有测试都放在目标平台上有很多不利的因素:

  1)测试软件,可能会造成与开发者争夺时间的瓶颈,避免它只有提供更多的目标环境。

原文转自:http://www.uml.org.cn/Test/20040204003.htm