嵌入式软件测试方法精

上传人:cl****1 文档编号:562133535 上传时间:2023-01-20 格式:DOCX 页数:9 大小:17.61KB
返回 下载 相关 举报
嵌入式软件测试方法精_第1页
第1页 / 共9页
嵌入式软件测试方法精_第2页
第2页 / 共9页
嵌入式软件测试方法精_第3页
第3页 / 共9页
嵌入式软件测试方法精_第4页
第4页 / 共9页
嵌入式软件测试方法精_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《嵌入式软件测试方法精》由会员分享,可在线阅读,更多相关《嵌入式软件测试方法精(9页珍藏版)》请在金锄头文库上搜索。

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

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

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

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

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

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

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

8、ads extension (VSTH-PSEIEEE POSIX 1003.13-1998Profile 52(VSPSE52VSPSE52:2003-A conformance test suite for IEEE Std 1003.13-2003Profile PSE52整体性能尝试:基于操作系统之上的嵌入式系统整体软件尝试,主要采用应用软 件尝试,着重分析性 能、内存分配、代码覆盖率、软件执行流程,并采用仿真器、逻 辑分析仪的硬件尝试工具进行整体性能的 尝试。5、嵌入式软件的尝试工具用于辅助嵌入式软件尝试的工具很多,下面对几类比较有用的有关嵌入式软件 的尝试工具加以介绍和 分析。5.

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

10、码进行优化来改进性能,常 常会花大量的时间去优化那些对性能 没有任何影响的代码。性能分析工具会提供有关的数据,说明执行时 间是如何消耗 的,是什么时候消耗的,以及每个例程所用的时间。根据这些数据,确定哪些例程消耗 部分 执行时间,从而可以决定如何优化软件,获得更好的时间性能。对于大多数应用 来说,大部分执行时间用 在相对少量的代码上,费时的代码估计占所有软件总量的 5%-20%。性能分析工具不仅能指出哪些例程花 费时间,而且与调试工具联合使用可 以引导开发人员查看需要优化的特定函数,性能分析工具还可以引导 开发人员发现 在系统调用中存在的错误以及程序结构上的缺陷。5.3GUI 尝试工具很多嵌入

11、式应用带有某种形式的图形用户界面进行交互,有些系统性能尝试足 根掘用户输入响应时间进行的。GUI尝试工具可以作为脚本工具有开发环境中运 行尝试用例,其功能包括对操作的记录和回放、 抓取屏幕显示供以后分析和比较、 设置和管理尝试过程。很多嵌入式设备没有 GUI ,但常常可以对嵌入式设备进行插 装来运行GUI尝试脚本,虽然这种方式可能要求对被测代码进行更改,但是节省了功 能尝试和 回归尝试的时间。5.4覆盖分析工具在进行白盒尝试时,可以使用代码覆盖分析工具追踪哪些代码被执行过。分析 过程可以通过插装来完成,插装可以是在尝试环境中嵌入硬件,也可以是在可执行代 码中加入软件,也可以是二者相结合。尝试人

12、员对结果数据加以总结,确定哪些代码 被执行过,哪些代码被巡漏了。覆盖分析工具一般会提供有关功能覆盖、分支覆 盖、条件覆盖的信息。对于嵌入式软件来说,代码覆盖分析工具可能侵入代码的执 行,影响实时代码的运行过程。基于硬件的代码覆盖分析工具的侵入程度要小一些, 但是价格一般比较昂贵,而 且限制被测代码的数量。6、国内外的嵌入式尝试服务嵌入式软件尝试要提供嵌入式软件及硬件的端到端尝试服务,横跨工具 /设 备、实时操作系统 (RTOS 、 开发平台和编程语言。服务内容包括嵌入式软件和硬 件的尝试策略和代码级尝试,以及覆盖分析,功能测 试,压力尝试,代码审查,调试和代 码维护。尝试服务覆盖从设备驱动,中

13、间件 /协议和系统及应用水平测 试。主要解 决如通信、汽车电子行业、消费电子及多媒体、工业自动化、网络、存储、计算机 硬件和外设 的嵌入式系统尝试。6.1国外嵌入式软件尝试服务国外的嵌入式软件尝试服务有:黑盒尝试、功能尝试、单元尝试、回归尝试、 配置尝试、压力尝试、 UI 尝试、安装尝试、模块化尝试、集成尝试、手动黑盒尝 试、负载尝试、验收尝试。提供给用户的尝试结果主要为:尝试规划、尝试用例、验收尝试用例、用户手 册、缺陷报告、改进建 议等。6.2国内嵌入式软件尝试服务国内的嵌入式软件尝试服务还处于起步阶段,并且主要限于嵌入式应用软件、 工业控制软件,尝试的 主要内容包括:1 功能测试依据 I

14、SO/IEC9126-1 质量模型,验证系统是否满足明确和隐含要求功能。功能 测试覆盖实用性、准 确性、互操作性、互用性、保密安全性、功能依从性。2可靠性测试依据ISO/IEC9126-1质量模型,测试在指定条件使用时,软件产品维持规定的性 能级别的能力。可 靠性测试覆盖成熟性、容错性、易恢复性等质量特性。3性能测试依据ISO/IEC9126-2质量模型,检测在规定条件下,软件产品执行其功能时,提供 适当的响应和处 理时间以及吞吐量的能力以及使用合适的数量和类型的资源的能 力。4 安全性测试依据ISO/IEC9126-3质量模型,测试在指定条件使用时,软件产品维持规定的性 能级别的能力。可 靠

15、性测试覆盖成熟性、容错性、易恢复性等质量特性。5易用性测试依据ISO/IEC9126-4质量模型,测试在指定条件使用时,软件产品被理解、学 习、使用和吸引用户 的能力。测试覆盖易理解性、易学性、易操作性、吸引性。6 可移植性测试依据ISO/IEC9126-5质量模型,测试软件产品从一种环境迁移到另外一种环境的能力,测试覆盖适应性 7、嵌入式培训课程嵌入式软件测试的培训在国内还没有相成规模,绝大部分是在软件测试中穿插 几个课时进行嵌入式软件测试的简单培训,并且主要集中于以下几个方面:1 嵌入式领域软件工程与软件质量的保证:嵌入式软件危机与软件缺陷,软件质 量的过程与控制,嵌入式软件的特点,嵌入式

16、软件的开发过程。2 嵌入式软件测试技术:掌握白盒测试、黑盒测试、灰盒测试,测试覆盖率、回 归测试等重要概念, 掌握单测试、集成测试、系统测试等测试过程,测试的误区和经 验。3 嵌入式测试过程与测试管理:了解测试过程及测试管理的主要内容,掌握测试 需求确立、测试计划 和测试大纲制定、测试用例设计、测试用例执行、测试结果 收集和测试结果分析,以及测试错误反馈和测 试报告生成等工作。掌握测试过程辅 助支持工具的使用。4结合目前主流应用,了解嵌入式测试工具支持及操作和使用,搭建嵌入式软件 的测试平台,掌握嵌 入式测试的思想和方法:软件工程与质量保证支撑系统 (Panorama+、测试自动化工具(Vectorcast、硬件辅助的实时在线白盒测试工具 (Codetest、黑盒测试工具(GESTE、基于全数字仿真

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号