嵌入式软件测试方法精_第1页
嵌入式软件测试方法精_第2页
嵌入式软件测试方法精_第3页
嵌入式软件测试方法精_第4页
嵌入式软件测试方法精_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、引言随着经济的开展和科技的进步,信息技术的开展使人类进入数字时代,而伴随着 计算机技术开展起来 的嵌入式技术得到了巨大的开展,改变了人们的日常。随着对 嵌入式产品对各方面的要求越来越高,对嵌入式产品的性能有着决定性影响的嵌入 式软件的测试显得尤为重要。嵌入式的目的是保证软件满足需求规格说明,与非嵌入式软件的测试目的是一 样的。系统失 效是系统没有满足一个或多个正式需求标准中所要求的需求项,嵌入 式软件有其特殊的失效判定准那么。而且嵌入式软件对可靠性的要求比拟高。平安性的缺陷往往会导致灾难性的后 果,即使是非平安性系 统,由丁大批量生产也会导致严重的经济损失。这就要求对嵌 入式系统,包括嵌入

2、式软件、嵌入式硬件进 行严格的测试、确认和验证。一般来说,软件测试有7个根本阶段,即单元或模块测试、集成测试、外部、回 归测试、统测试、验收测试、安装测试。嵌入式软件测试在4个阶段上进行,即模 块测试、集成测试、系统测试、硬件/软件集成测试。前3个阶段适用丁任何软件的测试,硬件/软件集成测试阶段是嵌入式软件所特有的,目的是验证嵌入式软件与 其所控制的硬件设备能否正确地交互。2、嵌入式软件测试环境嵌入式软件测试的测试环境主要有两种:1目标环境测试:基丁目标的测试测试全面有效,但是消耗较多的经费和时间。2宿主环境测试:基丁宿主的测试代价较小,但是有些对环境要求高的功能和性 能宿主机无法模拟,测试无

3、法实现。目前的趋势是把更多的测试转移到宿主环境中进行 ,把宿主环境测试无法实现 的复杂和独特功能放在目标环境测试。我们的重点是基丁宿主环境的测试,基丁目 标环境的测试作为补充。在两个环境中可以出现不同的软件缺陷,重要的是目标环境和宿主环境的测试 内容有所选择。在宿主 环境中,可以进行逻辑或界面的测试、以及与硬件无关的测 试。在模拟或宿主环境中的测试消耗时间通常 相对较少,用调试工具可以更快地完 成调试和测试任务。而与定时问题有关的 、中断测试、硬件 接口测试只能在目标 环境中进行。在软件测试周期中,基丁目标的测试是在较晚的 硬件/软件集成测 试阶段开始的,如果不更早地在模拟环境中进行白盒测试,

4、而是等到硬件/软件 集成测试阶段进行全部的白盒 测试,将消耗更多的财力和人力。3、 白盒测试与白盒测试或根本代码的测试主要任务为检查程序的内部设计,或者在开发环境中进行硬件仿真,一般不必在目标硬件上进行。根据源代码的组织结构查找软件缺 陷,要求测试人员对软件的结构和功能有详细深入的了解。白盒测试与代码覆盖率 密切相关,可以在测试中计算出代码的覆盖率,保证测试的充分性。 嵌入式软件测试 通常要求有较高的代码覆盖率,要选择最重要的代码进行白盒测试。黑盒测试在某些情况下也称为功能测试。这类测试方法根据软件的用途和外部 特征查找软件缺陷,不需要了解程序的内部结构。黑盒测试不依赖代码,从实际使用 的角度

5、进行测试。黑盒测试与需求紧密相关,需求规格说明的质量会直接影响测试的结果。在进行嵌入式软件黑盒测试时,要把系统的预期用途作为重 要依据,根据需求中对负载、定时、性能的要求,判断软 件是否满足这些需求标准。4、 内容嵌入式软件测试的内容主要为:软件代码测试、编程标准标准符合性测试、代码编码标准符合性测试、开发维护文档标准符合性测试、用户文档测试。其中软件测试效劳范围包括:系统级测试、应用测试、中问件测试、BSP及驱动程序测试、嵌入式硬件设计测试。其中,按照嵌入式软件有无将嵌入式系统分为两大类:无操作系统的嵌入式软 件、有操作系 统的嵌入式软件。4.1无操作系统的嵌入式软件无操作系统的嵌入式软件主

6、要包括C语言代码、汇编语言代码、Apa代码 等。C语言模式软件测试:硬件设备及宏定义编译阶段处理、API函数测试、模块 初始化包括系统初始化、中间功能件测试、功能模块测试、中断处理测试、任务 调度测试、区域功能测试、总体功能测试。汇编语言模式软件测试:硬件设备及其他宏定义编译阶段处理、模块初始化包 括系统初始化、中间功能件测试、功能模块测试、中断处理测试、区域功能测 试、总体功能测试。4.2基丁操作系统的嵌入式软件基丁操作系统的嵌入式软件主要包括应用软件测试、系统软件测试、整体性能 测试。应用软件测试:模块初始化包括系统初始化、中间功能件测试、功能模块测 试、区域功能测试、 总体功能测试。系统

7、软件测试:硬件设备及其他宏定义编译阶段处理、API函数测试、模块初 始化包括系统初始化、中间功能件测试、功能模块测试、中断处理测试、区域功 能测试、总体功能测试、标准符合性测 试。其中,操作系统的标准符合性测试的标准依据主要包括:IEEE POSIX 1003.1-1990VSX4-PSEIEEE POSIX 1003.1b-1993/1003.1i-1995Realtime extension (VSRT-PSEIEEE Std POSIX 1003.1c-1995Threads (pthreads extension (VSTH-PSEIEEE POSIX 1003.13-1998Prof

8、ile 52(VSPSE52VSPSE52:2003-A conformance test suite for IEEE Std 1003.13-2003Profile PSE52整体性能测试:基丁操作系统之上的嵌入式系统整体软件测试,主要采用应用软 件测试,着重分析性 能、内存分配、代码覆盖率、软件执行流程,并采用仿真器、逻 辑分析仪的硬件测试工具进行整体性能的 测试。5、嵌入式软件的测试工具用丁辅助嵌入式软件测试的工具很多,下面对几类比拟有用的有关嵌入式软件 的测试工具加以介绍和 分析。5.1内存分析工具在嵌入式系统中,内存约束通常是有限的。内存分析工具用来处理在动态内存 分配中存在的缺陷

9、。当 动态内存被错误地分配后,通常难以再现,可能导致的失效难 以追踪,使用内存分析工具可以防止这类缺陷进入功能测试阶段。目前有两类内存分析工具- 软件和硬件的。基丁软件的内存分析工具可能会对代码的性能造成很大影响,从而严重影响实时操作;基丁硬件的内存分析工具价格昂贵,而且只能在工 具所限定的运行环境中使用。5.2性能分析工具在嵌入式系统中,程序的性能通常是非常重要的。经常会有这样的要求 ,在特定 时间内处理一个中断,或生成具有特定定时要求的一帧。开发人面临的问题是决定 应该对哪一局部代码进行优化来改良性能,常常会花大量的时间去优化那些对性能 没有任何影响的代码。性能分析工具会提供有关的数据,说

10、明执行时 间是如何消耗的,是什么时候消耗的,以及每个例程所用的时间。根据这些数据,确定哪些例程消耗 局部执行时间,从而可以决定如何优化软件,获得更好的时间性能。对丁大多数应用 来说,大局部执行时间用在相对少量的代码上,费时的代码估计占所有软件总量的5%-20%。性能分析工具不仅能指出哪些例程花 费时间,而且与调试工具联合使用可 以引导开发人员查看需要优化的特定函数,性能分析工具还可以引导 开发人员发现 在系统调用中存在的错误以及程序结构上的缺陷。5.3GUI测试工具很多嵌入式应用带有某种形式的图形用户界面进行交互,有些系统性能测试足根掘用户输入响应时间 进行的。GUI测试工具可以作为脚本工具有

11、开发环境中运 行测试用例,其功能包括对操作的记录和回放、抓取屏幕显示供以后分析和比拟、 设置和管理测试过程。很多嵌入式设备没有GUI,但常常可以对嵌入式设备进行插 装来运行GUI测试脚本,虽然这种方式可能要求对被测代码进行更改,但是节省了功 能测试和回归测试的时间。5.4覆盖分析工具在进行白盒测试时,可以使用代码覆盖分析工具追踪哪些代码被执行过。分析 过程可以通过插装来完 成,插装可以是在测试环境中嵌入硬件,也可以是在可执行代 码中参加软件,也可以是二者相结合。测试 人员对结果数据加以总结,确定哪些代码 被执行过,哪些代码被巡漏了。覆盖分析工具一般会提供有关功能覆盖、分支覆盖、条件覆盖的信息。

12、对丁嵌入式软件来说,代码覆盖分析工具可能侵入代码的执 行,影响实时代码的运行过程。基丁硬件的代码覆盖分析工具的侵入程度要小一些,但是价格一般比拟昂贵,而且限制被测代码的数量。6、国内外的嵌入式测试效劳嵌入式软件测试要提供嵌入式软件及硬件的端到端测试效劳,横跨工具/设 备、实时操作系统RTOS、开发平台和编程语言。效劳内容包括嵌入式软件和硬 件的测试策略和代码级测试,以及覆盖分析,功能测试,压力测试,代码审查,调试和代 码维护。测试效劳覆盖从设备驱动,中问件/协议和系统及应用水平测 试。主要解 决如通信、汽车电子行业、消费电子及多媒体、工业自动化、网络、存储、计算机 硬件和外设的嵌入式系统测试。

13、6.1国外嵌入式软件测试效劳国外的嵌入式软件测试效劳有:黑盒测试、功能测试、单元测试、回归测试、 配置测试、压力测试、UI测试、安装测试、模块化测试、集成测试、手动黑盒测 试、负载测试、验收测试。提供应用户的测试结果主要为:测试规划、测试用例、验收测试用例、用户手 册、缺陷报告、改良建议等。6.2国内嵌入式软件测试效劳国内的嵌入式软件测试效劳还处丁起步阶段,并且主要限丁嵌入式应用软件、 工业控制软件,测试的主要内容包括:1功能测试依据ISO/IEC9126-1质量模型,验证系统是否满足明确和隐含要求功能。功能 测试覆盖实用性、准 确性、互操作性、互用性、保密平安性、功能依从性。2可靠性测试依据

14、ISO/IEC9126-1质量模型,测试在指定条件使用时,软件产品维持规定的性 能级别的能力。可靠性测试覆盖成熟性、容错性、易恢复性等质量特性。3性能测试依据ISO/IEC9126-2质量模型,检测在规定条件下,软件产品执行其功能时,提供 适当的响应和处 理时间以及吞吐量的能力以及使用适宜的数量和类型的资源的能 力。4平安性测试依据ISO/IEC9126-3质量模型,测试在指定条件使用时,软件产品维持规定的性 能级别的能力。可靠性测试覆盖成熟性、容错性、易恢复性等质量特性。5易用性测试依据ISO/IEC9126-4质量模型,测试在指定条件使用时,软件产品被理解、学 习、使用和吸引用户的能力。测

15、试覆盖易理解性、易学性、易操作性、吸引性。6可移植性测试依据ISO/IEC9126-5质量模型,测试软件产品从一种环境迁移到另外一种环境 的能力,测试覆盖适应性7、嵌入式培训课程嵌入式软件测试的培训在国内还没有相成规模,绝大局部是在软件测试中穿插 几个课时进行嵌入式软 件测试的简单培训,并且主要集中丁以下几个方面:1嵌入式领域软件工程与软件质量的保证:嵌入式软件危机与软件缺陷,软件质 量的过程与控制,嵌入式软件的特点,嵌入式软件的开发过程。2嵌入式软件测试技术:掌握白盒测试、黑盒测试、灰盒测试,测试覆盖率、回 归测试等重要概念,掌握单测试、集成测试、系统测试等测试过程,测试的误区和经 验。3嵌

16、入式测试过程与测试管理: 了解测试过程及测试管理的主要内容, 掌握测试 需求确立、测试方案和测试大纲制定、测试用例设计、测试用例执行、测试结果 收集和测试结果分析,以及测试错误反应和测试报告生成等工作。掌握测试过程辅 助支持工具的使用。4结合目前主流应用,了解嵌入式测试工具支持及操作和使用,搭建嵌入式软件 的测试平台,掌握嵌入式测试的思想和方法:软件工程与质量保证支撑系统(Panorama+虫测试自动化工具(Vectorcast、硬件辅助的实时在线白盒测试工具(Codetest、黑盒测试工具(GESTE、基丁全数字仿真的嵌入式软 件综合测试工具(CRESTS/ATAT,与CRESTS/TESS

17、嵌入式软件仿真工具Eurosim。5通过经典嵌入式测试平安分析,学会设计嵌入式软件测试的解决方案。鉴丁嵌入式测试的特殊要求,嵌入式测试课程应侧重以下几个主要内容:1嵌入式系统概要:主要包括嵌入式开展、特点、行业涵盖、新技术趋势等;2嵌入式硬件平台:主要包括ARM、DSP、FPGA、CPLD、单片机、SSI、I2C、I2S、EPI、p DMA UART、IrDA、USB、Ethernet、MCI、SD、CAN、PWM、QEI、GPIO、JTAG等;3嵌入式编程语言和环境概要: 主要包括C、C+、Ada、 汇编、Java、KEIL、IAR EmbeddedWorkbench、Sourcery G+、Code Red Technoloigy、CCstudio IDE等;4嵌入式测试的内容:主要包括设计方案测试、嵌入式软件代码测试、专项要求 测试、嵌入式软件标准、嵌入式软件测试标准、嵌入式文档标准评测等;5嵌入式测试工具使用:主要包括CodeTest、VectorCAST、CRESTS/ATAT、LOGISCOPE、Logic Analyzer、Oscilloscope等;6嵌入式测试过程管理与报告生成:主要包括测试规划、人员管理、测试用例、验收测试用例、用户 手册、缺陷报告、改良建议等。其中,嵌入式测试的内容、工具使用、过程管理与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论