3.3嵌入式系统的测试技术 嵌入式系统软件的测试必须考虑时间和硬件影响的问题。对于硬件,一般是采用专门的测试仪器进行测试;而对于实时嵌入式软件,则需要有关的测试技术和测试工具的支持,需要采取特定的测试策略。 测试技术指的是软件测试的专门途径,以及提供的能够更加有效的运用这些途径的特定技术。测试技术主要有回归测试(基于代码的测试或白盒测试)、第三方的验证和确认测试(功能测试或黑盒测试)及维护中的修改或升级测试(回归测试)等。目前,大量的实时嵌入式软件是面向对象编程和基于部件开发的,它们对时空和宿主机、目标机的交叉开发方式以及可能的分布运行环境等的约束限制给运用上述技术带来了新的问题和挑战。 1).白盒测试和黑盒测试 一般来说,软件测试有两种基本的测试方式,即白盒测试方法和黑盒测试方法,嵌入式软件测试也不例外。 白盒测试或基于代码的测试检查的是程序的内部设计。根据源代码的组织结构查找软件缺陷,一般要求软件测试人员对软件的结构和作用有详细的了解。白盒测试和代码覆盖率密切相关,可以在白盒测试的同时计算出测试的代码覆盖率,保证测试的充分性。把100%的代码都测试到是几乎不可能的,所以要选择最主要的代码进行白盒测试。由于严格的安全性和可行性的要求,嵌入式软件测试同非嵌入式软件测试相比,通常要求要有更高的代码覆盖率。对于嵌入式软件,白盒测试一般在目标硬件上进行,更为实际的方式是在开发环境中通过硬件仿真进行,所以选取的测试工具应该支持在宿主环境中的测试。 黑盒测试在有些情况下也称为功能测试。这种测试方法根据软件的用途和外部特征查找软件缺陷,不需要了解程序的内部结构。黑盒测试的最大优点在于不依赖于代码,而是从实际使用的角度进行测试,通过黑盒测试可以发现白盒测试发现不了的问题。因为黑盒测试与需求密切相关,需求规格说明的质量会直接影响到测试结果。黑盒只能限制在需求的范围内进行。在进行嵌入式软件测试时,要把系统的预期用途作为重要依据,根据需求对负载、定时、性能的要求,判断软件是否满足这些需求规范。为了保证正确的测试,还需要检验软硬件之间的接口。嵌入式软件测试的一个重要方面是极限测试。在使用环境中,通常要求嵌入式软件的失效过程要平衡,所以,黑盒测试不仅要检查软件工作过程,也要检查软件的失效过程。 2).目标环境测试和宿主环境测试 在嵌入式软件测试中,常常要在基于目标的测试和基于宿主的测试之间做出折衷。基于目标的测试消耗较多的经费和时间,而基于宿主的测试代价较小,但必竟是在模拟的环境中进行的。目前是把更多的测试转移到宿主环境中进行,但是,目标环境的复杂性和独特性不可能完全模拟。 在两个环境中可以发现不同的软件缺陷,重要的是对目标环境和宿主环境的测试内容有所选择。在宿主环境中,可以进行逻辑或界面的测试、其它非实时的测试和与硬件无关的测试。在模拟或宿主环境中的测试消耗的时间通常比较少,用调试工具可以更快的完成高度和测试任务。而与时间问题有关的白盒测试、中断测试、硬件接口测试只能在目标环境中进行。在软件测试周期中,基于目标的测试是在比较晚的“硬件\软件集成测试”阶段开始的,如果不更早的在模拟环境中进行白盒测试,而是等到“硬件\软件集成测试”阶段进行全部的白盒测试,将耗费更多的财力和人力。 第四章 系统的设计与实现 在这一章中,根据第二章和第三章的论述,设计出一个实现对温度进行测量和控制的嵌入式系统。系统具有对外界两点温度进行采集的能力,采集的模拟信号经A/D模块转换成相应的数字量,送入微处理器进行处理。采集到的每一路温度都要与系统此路温度设定值进行比较,然后根据结果调用合适的控制算法,并通过控制相应的继电器的占空比实现对温度的控制、测量、运算处理、输出控制、显示、通信。为此引出串行通信设计 利用RS-232串行通信,实现
首页 上一页 6 7 8 9 10 11 12 下一页 尾页 9/20/20