嵌入式系统测试方法介绍_第1页
嵌入式系统测试方法介绍_第2页
嵌入式系统测试方法介绍_第3页
嵌入式系统测试方法介绍_第4页
嵌入式系统测试方法介绍_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统测试方法介绍Madeby陈劭谦什么是软件测试专家说法:测试是为了发现错误而执行程序的过程软件测试是对软件建立信心的过程……IEEE1983:使用人工或自动手段来运行某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清结果与实际结果之间的差别软件测试的重要性海湾战争期间,由于跟踪软件在运行100小时后出现0.36秒的舍入误差,导致未能成功拦截一枚飞毛腿导弹,致使28名联军士兵丧生。1963年美国宇航局事例(Fortran程序):

DO5I=1,3

误写成 DO5I=1.3;

一点之差导致火箭发射失败1996年6月4日,阿利亚娜5型火箭首次发射失败嵌入式软件测试环境嵌入式软件与其他软件相比,具有专用性,它只能在需求所指定的硬件平台上运行。嵌入式软件的开发环境和运行环境往往互相分离,即采用交叉开发的方式:开发工具即编辑和编译软件运行在宿主机上,编译好的软件需要下载到目标机上,主机和目标机建立起通讯连接,并传输调试命令和数据。软件测试和嵌入式软件测试一般来说,软件测试有7个基本阶段,即单元或模块测试、集成测试、外部功能测试、回归测试、系统测试、验收测试、安装测试。嵌入式软件测试在4个阶段上进行,即模块测试、集成测试、系统测试、硬件/软件集成测试。前3个阶段适用于任何软件的测试,硬件/软件集成测试阶段是嵌入式软件所特有的,目的是验证嵌入式软件与其所控制的硬件设备能否正确地交互。嵌入式软件测试方法1.按阶段可分为单元测试、集成测试、确认测试和系统测试。(1)单元测试(Unittesting):完成对最小的软件设计单元的验证工作,只有在该基础之上才能保证后续的测试工作。主要采用白盒测试技术,用来保证单元的最大覆盖率和发现编码和详细设计中的错误。单元测试一般可以就在宿主环境上运行。(2)集成测试(Integrationtesting):是把经过单元测试的模块按软件的结构组合在一起作为一个系统或一个子系统来综合测试。主要是用来发现程序的架构和体系结构设计方面的错误。虽然白盒测试用来保证大部分的路径覆盖率,但黑盒测试在集成测试中还是挺流行的。集成测试一般是在宿主环境中进行。(3)确认测试(Validationtesting):是把软件系统作为一个单一的执行实体而进行的需求有效性测试。其目的是验证我们的软件是否满足所有的功能、行为和执行要求,这部分主要是用黑盒测试。(4)系统测试(SystemTesting):将系统的测试软件系统和其他资源(硬件、人机交互信息资源和数据库等)都综合起来构成完整的计算机应用系统进行测试的。是用来确保整个系统的性能、执行强度、安全性和功能都达到了我们的要求。所以在这个阶段是要和硬件结合,即和目标板一起进行测试,在目标环境中进行。嵌入式软件测试方法2.根据测试时是否运行被测试的程序,软件测试技术还可分为静态测试方法和动态测试方法。静态测试方法的主要特征就是不运行被测试的程序,主要采用检查、技术复审和代码静态分析来检查被测软件的错误,对于嵌入式软件来说该测试只需在主机上进行就可以了;动态测试方法是使被测代码在相对真实环境下运行,从多角度观察程序运行时能体现的功能、行为、结构等,并从中发现错误。它又分为白盒测试方法和黑盒测试方法。对于嵌入式软件来说,为了保证测试的真实性,一般要求在目标环境中进行。嵌入式软件测试方法3.从测试是否针对系统的内部结构和逻辑处理过程,通常可分为:白盒测试与黑盒测试。黑盒测试:若被测程序与特定的功能相联系,我们可以针对功能设计测试,以证实各功能完全可执行,同时在功能中寻找错误把测试对象看做一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否正确。黑盒测试又叫做功能测试或数据驱动测试。黑盒测试类似于中医:使用望、闻、问、切白盒测试:若被测程序与特定的结构相联系,我们可以针对结构设计测试,以确保内部的“所有齿轮相吻合”,即软件的内部过程是合理的,是遵照规定执行的白盒测试又称玻璃盒测试。把测试对象看作一个透明的盒子,充分利用其逻辑结构和有关信息,设计和选择测试用例。白盒测试又称为结构测试或逻辑驱动测试白盒测试类似于西医看病,通过X光、CT扫描等手段嵌入式软件测试方法软硬件集成测试过程软硬件集成测试应该在嵌入式软件集成测试完成的基础上进行。此时软件已按照功能模块组装成子系统,为了有效验证该子系统软件与硬件功能的协调性,保证软件在特定的硬件平台上能够按照设计的要求进行工作,完成其要求的功能、性能指标,就必须进行嵌入式软件的软硬件集成测试。软硬件集成测试主要是在软件集成测试完成后,形成独立的配置项后,加载到相应的硬件平台上进行测试,以确定软硬件是否能够协同工作①目标机上电、宿主机打开调试环境;②加载经过集成测试的嵌入式软件到目标机,并启动运行软件;③根据评审完成的测试说明及测试计划进行软硬件集成测试;④根据测试结果编写测试报告;

软件测试策略先静后动,从小到大,由黑到白先静态,后动态从代码规则检查做起测试开展得越早,付出的代价就越小静态分析简单、方便,成本低、见效快静态分析为动态测试打下良好基础大大降低了测试的成本先单元,后集成单元测试是集成测试的基础单元测试得越好,集成测试的工作量就越小先黑盒后白盒先验证软件功能是否满足需求后验证程序覆盖率,补充测试嵌入式软件的测试工具测试工具对于软件测试直观重要,在软件测试过程中,使用合适的测试工具可以提高测试效率。用于辅助嵌入式软件测试的工具很多,下面对几类比较有用的有关嵌入式软件的测试工具加以介绍和分析。⑴内存分析工具在嵌入式系统中,内存约束通常是有限的。内存分析工具用来处理在动态内存分配中存在的缺陷。当动态内存被错误地分配后,通常难以再现,可能导致的失效难以追踪,使用内存分析工具可以避免这类缺陷进入功能测试阶段。

⑵性能分析工具在嵌入式系统中,程序的性能通常是非常重要的。经常会有这样的要求,在特定时间内处理一个中断,或生成具有特定定时要求的一帧。开发人面临的问题是决定应该对哪一部分代码进行优化来改进性能,常常会花大量的时间去优化那些对性能没有任何影响的代码。性能分析工具会提供有关的数据,说明执行时间消耗的详细信息。根据这些数据,确定哪些例程消耗部分执行时间,从而可以决定如何优化软件,获得更好的时间性能。嵌入式软件的测试工具⑶GUI测试工具很多嵌入式应用带有某种形式的图形用户界面进行交互,有些系统性能测试是根据用户输入响应时间进行的。GUI测试工具可以作为脚本工具有开发环境中运行测试用例,其功能包括对操作的记录和回放、抓取屏幕显示供以后分析和比较、设置和管理测试过程。⑷覆盖分析工具在进行白盒测试时,可以使用代码覆盖分析工具追踪哪些代码被执行过。分析过程可以通过插装来完成,插装可以是在测试环境中嵌入硬件,也可以是在可执行代码中加入软件,也可以是二者相结合。测试人员对结果数据加以总结,确定哪些代码被执行过,哪些代码被遗漏了。覆盖分析工具一般会提供有关功能覆盖、分支覆盖、条件覆盖的信息。总结

软件测试能够发现软件中存在的错误和缺陷,验证软件的

温馨提示

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

评论

0/150

提交评论