嵌入式软件测试基本概念

发表于:2014-08-21来源:uml.org.cn作者:胡一飞点击数: 标签:
这里讨论的嵌入式软件测试是一个系统测试的概念。即将开发的软件系统(包括嵌入式操作系统和嵌入式应用软件)、硬件系统和其它相关因素(如人员的操作、数据的获取等)综合起来,对

  嵌入式软件测试基本概念

  这里讨论的嵌入式软件测试是一个系统测试的概念。即将开发的软件系统(包括嵌入式操作系统和嵌入式应用软件)、硬件系统和其它相关因素(如人员的操作、数据的获取等)综合起来,对整个产品进行的全面测试。嵌入式系统的系统测试比PC系统软件测试要困难得多,主要体现如下:

  测试软件功能依赖不需编码的硬件功能,快速定位软硬件错误困难;

  强壮性测试、可知性测试很难编码实现;

  交叉测试平台的测试用例、测试结果上载困难;

  基于消息系统测试的复杂性,包括线程、任务、子系统之间的交互,并发、容错和对时间的要求;

  性能测试、确定性能瓶颈困难;

  实施测试自动化技术困难。

  嵌入式软件测试和传统软件测试异同点

  嵌入式软件与别的软件相比,它具有专用性,它只能在需求所指定的硬件平台上执行,并且嵌入式软件的开发环境和运行环境是不一致的,因此即使宿主机环境下测试再充分,也不能说明在目标机环境下运行该软件就不出问题。因而,嵌入式软件还面临着目标环境的测试。这不仅增加了测试的代价,而且还带来了嵌入式软件的测试策略问题,即哪些测试分配在宿主环境进行,哪些测试分配到目标环境下进行(户军茹,2007)。

  所以嵌入式软件测试更有它的必要性,而且比一般的软件测试存在更多的困难。

  嵌入式软件测试与普通软件测试的相同之处

  传统的软件测试是将软件分在不同的层面上进行测试,包括模块测试(或单元测试),集成测试,系统测试等。

  嵌入式软件测试和一般的软件测试存在着许多相似的问题和相似的解决方法。这就是我们寻找的嵌入式软件的通用的测试方法

  按阶段可分为单元测试、集成测试、系统测试和确认测试。

  单元测试(Unit testing):完成对最小的软件设计单元的验证工作,只有在该基础之上才能保证后续的测试工作。主要采用白盒测试技术,用来保证单元的最大覆盖率和发现编码和详细设计中的错误。单元测试一般可以就在宿主环境上运行。嵌入式测试系统一般分为以下几个单元:预处理和词法语法分析单元、插桩单元和测试信息分析和显示单元以及测试用例单元。

  集成测试(Integration testing):是把经过单元测试的模块按软件的结构组合在一起作为一个系统或一个子系统来综合测试。主要是用来发现程序的架构和体系结构设计方面的错误。虽然白盒测试用来保证大部分的路径覆盖率,但黑盒测试在集成测试中还是比较广泛。集成测试一般是在宿主环境中进行。

  系统测试(System Testing):将系统的测试软件系统和其他资源(硬件、人机交互信息资源和数据库等)都综合起来构成完整的计算机应用系统进行测试的。是用来确保整个系统的性能、执行强度、安全性和功能都达到了我们的要求。所以在这个阶段是要和硬件结合,即和目标板一起进行测试,在目标环境中进行。确认测试(Validation testing):是把软件系统作为一个单一的执行实体而进行的需求有效性测试。其目的是验证我们的软件是否满足所有的功能、行为和执行要求,这部分主要是用黑盒测试。

  根据测试时是否运行被测试的程序,软件测试技术还可分为静态测试方法和动态测试方法。

  静态测试方法的主要特征就是不运行被测试的程序,主要采用检查、技术复审和代码静态分析来检查被测软件的错误,对于嵌入式软件来说该测试只需在主机上进行就可以了;动态测试方法是使被测代码在相对真实环境下运行,从多角度观察程序运行时能体现的功能、行为、结构等,并从中发现错误。它又分为白盒测试方法和黑盒测试方法。对于嵌入式软件来说,为了保证测试的真实性,一般要求在目标环境中进行。

  从测试是否针对系统的内部结构和逻辑处理过程,通常可分为:白盒测试与黑盒测试。

  黑盒测试又称为功能测试、数据驱动测试或基于规格说明的测试。它必须依靠能够反映这一关系和程序功能的需求规格说明书来考虑测试用例和推断测试结果的正确性。即所依据的只能是程序的外部特性。因此黑盒测试是从用户观点出发的测试。黑盒测试方法包括等价类划分、边界值分析、因果图和正交设计等基于软件功能的测试技术。在进行嵌入式软件黑盒测试时,要把系统的预期用途作为重要依据,根据需求中对负载、定时、性能的要求,判断软件是否满足这些需求规范。为了保证正确地测试,还需要检验与硬件之间的接口。嵌入式软件黑盒测试的一个重要方面是极限测试。在使用环境中,通常要求嵌入式软件的失效过程要平稳,所以,黑盒测试不仅要检查软件工作过程,也要检查软件失效过程。

原文转自:http://www.uml.org.cn/Test/201202235.asp