前言
软硬件结合的嵌入式系统正越来越多的应用到我们的日常生活中,参予嵌入式系统的研究和开发的开发商也越来越多,从而第三方测试人员会经常接触到嵌入式系统测试。因此需要第三方测试人员了解嵌入式系统的特性,把握其测试方法。虽然现在有不少与嵌入式系统测试相关的资料,但这些资料都是以第二方测试的角度去讨论的,如何从第二方的测试经验中提取有用经验,结合第三方测试特点,研究出适合第三方测试使用的嵌入式系统测试方法,正是这一课题的意义所在。
一、嵌入式系统介绍
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:
◆ 对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
◆ 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
◆ 可扩展的处理器结构,以能最迅速地开展出满足应的最高性能的嵌入式微处理器。
◆ 嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
嵌入式计算机系统同通用型计算机系统相比具有以下特点:
◆ 高可靠性——可靠性主要有两个方面含义:a)硬件本身要连续稳定运行;b)系统检查出故障后要有保持安全状态的能力。虽然硬件抗干扰技术可在一定程度上提高嵌入式系统的可靠性,但是系统的可靠性仍然决定着嵌入式系统的安全运行。
◆ 实时性——实时性指系统对响应时间的严格要求,指能在确定的时间内执行其功能,能对外部的异步事件做出快速正确的响应。它分为硬实时和软实时两种,前者意味着存在必须满足的时间限定,在不满足响应时限、响应不及时或响应过早得情况下都会导致灾难性的后果;后者则表示时限并非那么严格,偶尔超过时限限制是可以容忍的,只是导致系统性能退化,不会造成灾难性后果。
◆ 嵌入式系统通常是面向特定应用的,嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
◆ 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
◆ 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力
◆ 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
◆ 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
◆ 嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。
二、嵌入式系统测试
嵌入式系统测试/嵌入式测试或叫交叉测试(cross-test)的目的与非嵌入式软件是相同的,都是为了查找软件潜在的缺陷。但在嵌入式系统设计中,软件正越来越多地取代硬件,以降低系统的成本,获得更大的灵活性,这就需要使用更好的测试方法和工具进行嵌入式和实时软件的测试。
针对嵌入式系统的测试种类有:模块测试、集成测试、系统测试、硬件/软件集成测试,验收和确认测试。
作为第三方测试,我们重点关注系统验收测试和确认测试。
文章来源于领测软件测试网 https://www.ltesting.net/