嵌入式软件调试技术

来源:m.fanwen118.com时间:2021.10.2

嵌入式软件调试技术

嵌入式论文

软件调试技术

院(系)名称 信 息 工 程 学 院 专 业 班 级 12 普 专 电 子 一 班 学 号 1201020047 学 生 姓 名 段 锐 指 导 教 师 姚培娟

20xx年6月10日

摘要:

本文主要对嵌入式软件测试的定义、方法、软件测试的通用要素等内容做了论述,指出了嵌入式软件测试的策略及方法,可以使系统开发的效率最大化,避免目标系统的瓶颈,确保嵌入式软件的质量。

关键词:嵌入式系统、软件测试、白盒测试、黑盒测试

目录

1 引 言 ............................................................................................................................................ 4

2 嵌入式系统软件的特征............................................................................................................. 4

3 测试策略 ...................................................................................................................................... 5

3.2 集成测试......................................................................................................................... 5

3.3 确认测试和系统测试..................................................................................................... 5

4 测试方法分析 ............................................................................................................................ 6

4.1 白盒测试与黑盒测试相结合......................................................................................... 6

4.2 静态测试和动态测试..................................................................................................... 7

5 结论 .............................................................................................................................................. 7

参考文献 .......................................................................................................................................... 8

1 引 言

随着经济的发展和科技的进步,信息技术的发展使人类进入数字时代,而伴随着计算机技术发展起来的嵌入式技术得到了巨大的发展,改变了人们的日常生活。随着对嵌入式产品对各方面的要求越来越高,对嵌入式产品的性能有着决定性影响的嵌入式如软件的测试显得尤为重要。嵌入式软件测试的目的是保证软件满足需求规格说明,与非嵌入式软件的测试目的是一样的。系统失效是系统没有满足—个或多个正式需求规范中所要求的需求项,嵌入式软件有其特殊的失效判定准则。 而且嵌入式软件对可靠性的要求比较高。安全性的缺陷往往会导致灾难性的后果,即使是非安全性系统,由于大批量生产也会导致严重的经济损失。这就要求对嵌入式系统,包括嵌入式软件、嵌入式硬件进行严格的测试、确认和验证。一般来说,软件测试有7个基本阶段,即单元或模块测试、集成测试、外部功能测试、回归测试。系统测试、验收测试、安装测试。嵌入式软件测试在4个阶段上进行,即模块测试、集成测试、系统测试、硬件/软件集成测试。前3个阶段适用于任何软件的测试,硬件/软件集成测试阶段是嵌入式软件所特有的,目的是验证嵌入式软件与其所控制的硬件设备能否正确地交互。

2 嵌入式系统软件的特征

嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统软件和应用软件的要求也和通用计算机有所不同:

1) 软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。

2)软件代码高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。

3)系统软件(0S)的高实时性是基本要求。在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。

4)多任务操作系统是知识集成的平台和走向工业标准化道路的基础。

5)嵌入式系统软件需要RT0S开发平台。嵌入式系统与通用计算机不同,应用

程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多项任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS开发平台,这样能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。 3 测试策略

在嵌入式软件测试中,采用正确的测试策略,可以提高嵌入式软件性能测试效率,避免目标系统的瓶颈。自从出现高级语言,开发环境与最终运行环境通常都是存在差异的,嵌入式系统更是如此。开发环境被认为是主机平台,软件运行环境为目标平台。相应的测试为lost target测试和或cross—testing.对于嵌入式软件测试或叫交叉测试(cross—test),在测试的各个阶段有着通用的策略:

3.1 单元测试

所有单元级测试都可以在主机环境上进行,除非少数情况,特别具体指定了单元测试直接在目标环境进行.最大化在主机环境进行软件测试的比例,通过尽可能小的目标单元访问所有目标指定的界面.在主机平台上运行测试的速度比在目标平台上快得多,当在主机平台完成测试时,可以在目标环境上重复作一次简单的确认测试,确认测试结果在主机和目标机上没有被他们的不同影响.在目标环境上进行确认测试将确定一些未知的、未预料到的、未说明的主机与目标机的不同.例如,目标编译器可能有bug,但在主机编译器上没有。

3.2 集成测试

软件集成也可在主机环境上完成,在主机平台上模拟目标环境运行,当然在目标环境上重复测试也是必须的,在此级别上的确认测试将确定一些环境上的问题,比如内存定位和分配上的一些错误.在主机环境上的集成测试的使用,依赖于目标系统的具体功能有多少.有些嵌入式系统与目标环境耦合的非常紧密,若在主机环境做集成是不切实际的.一个大型软件的开发可以分几个级别的集成。低级别的软件集成在主机平台上完成有很大优势,越往后的集成越依赖于目标环境。

3.3 确认测试和系统测试

所有的确认测试和系统测试必须在目标环境下执行.当然在主机上开发和执行系统测试,然后移植到目标环境重复执行是很方便的.对目标系统的依赖性会妨碍将主机环境上的系统测试移植到目标系统上,况且只有少数开发者会卷入系统测试,所以有时放弃在主机环境上执行系统测试可能更方便.确认(验收)测试最终的实施舞台必须在目标环境中,系统的确认必须在真实系统之下测试,而不

能在主机环境下模拟.这关系到嵌入式软件的最终使用.包括恢复测试、安全测试、强度测试、性能测试,已超出了软件测试的范畴,本文暂不讨论.使用有效的cross—test测试策略可以极大的提高嵌入式软件开发测试的水平和效率,应用以上测试工具进行cross—test时的策略如下:

1)使用测试工具的插装功能(主机环境)执行静态测试分析,并且为动态覆盖测试准备好一插装好的软件代码。

2)使用源码在主机环境执行功能测试,修正软件的错误和测试脚本中的错误。

3)使用插装后的软件代码执行覆盖率测试,添加测试用例或修正软件的错误,保证达到所要求的覆盖率目标。

4)在目标环境下重复2),确认软件在目标环境中执行测试的正确性。

5)若测试需要达到极端的完整性,最好在目标系统上重复3),确定软件的覆盖率没有改变。通常在主机环境执行多数的测试,只是在最终确定测试结果和最后的系统测试才移植到目标环境,这样可以避免发生访问目标系统资源上的瓶颈,也可以减少昂贵资源如在线仿真器上的费用。另外,若目标系统的硬件由于某种原因而不能使用时,最后的确认测试可以推迟直到目标硬件可用,这为嵌入式软件的开发测试提供了弹性。设计软件的可移植性是成功进行cross—test的先决条件,它通常可以提高软件的质量,并且对软件的维护大有益处。以上所提到的测试工具,都可以通过各自的方式提供测试在主机与目标之间的移植,从而使嵌入式软件的测试得以方便的执行。使用有效的cross—test测试策略可以极大地提高嵌入式软件开发测试的水平和效率,提高嵌入式软件的质量。 4 测试方法分析

按测试方法,软件测试分为静态测试和动态测试,其中静态测试又分为代码审查和静态分析,而动态测试又分为黑盒测试和白盒测试。

4.1 白盒测试与黑盒测试相结合

在白盒测试之后应该对该系统进行黑盒测试。白盒测试和黑盒测试是动态测试的两种主要方法。白盒测试的主要测试依据是软件设计。它对软件内部工作过程的细致检查,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。黑盒测试的主要测试依据是软件需求。它着眼于软件的外部结构,不考虑程序的逻辑结构和内部特性,仅依据软件的需求规格说明书,在软件界面上检查程序的功能是否符合要求回。

4.2 静态测试和动态测试

1)静态测试(Static Test)。对软件文档或程序进行扫描分析,不运行。人工或借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处。

2)动态测试(Dynamic Test)。是另一种基本测试技术,运行被测代码,观察代码运行时所体现的功能、逻辑、行为、结构等。

5 结论

在嵌入式系统设计中,软件正越来越多地取代硬件,以降低系统的成本,获得更大的灵活性,软件的重要性逐渐引起人们的重视,越来越多的人认识到嵌入式系统的测试势在必行。这就需要使用更好的测试方法和策略进行嵌入式软件的测试,从而能够对日益复杂的嵌入式软件进行快速有效的测试,提高软件测试效率,开发出用户满意的高质量的软件。

参考文献

[1] 奚雪峰.嵌入式软件测试技术研究[I].南京:东南大学,2004:13—18.

[2] 魏洪兴.嵌入式系统设计师教程[M].北京:清华大学出版社,2006.4.

[3] 秦春燕,姚竹亭. 嵌入式系统软件测试的研究[J]. 机械管理开发, 2008.6.

[4] 顾永峰.实时嵌入式软件测试脚本技术研究[J].计算机工程,2003,29(1):118—119

[5] 杜延,刘从越.嵌入式实时系统软件测试实践[J].微计算机信息,2006,22(26):31—33.


第二篇:调试技术总结() 800字

对于一名刚刚入职的技术人员而言,电气调试工作是一个充满挑战的技术部分。

针对易辰孚特项目而言,设备涉及到的领域众多,机械、电气占绝大部分。

此项目设备系从意大利引进的二手设备,其安装调试工作,对于项目施工重点即保证C530生产线经过拆卸、装运、海运,然后再次掏箱、倒运、安装等一系列施工工序后,还能恢复原有的加工制作精度和产能显得尤为重要。

待安装工作接近收尾之时,为了加强我们新人对于机电安装与调试工作的理解和实践能力,项目上总工程师带领若干技术人员,对于部分设备的调试给予我们指导。 此设备系C530生产线的清洗机部分,属于生产线比较靠后的工序。调试工作进行之前,需进行一些准备工作:取得该部分设备的安装原理图以及配电柜接线原理图等相关资料;因该设备的安装工作至此已基本结束,故对于安装工作详细不再赘述。在取得相应的资料之后,首先根据配电柜内部接线图,进行配电线路的还原,保证接线完整正确无误之后,再次检查配电柜内元件与线路的完好。确定配电柜部分正常之后,再检查设备安装是否完整,有无缺少或安装错误部分,如有上述情形,应当及时汇报相关人员,并及时予以改正和完善。然后根据安装原理图,弄清楚每一部分设备的组成,其相关机构的工作机理、工作条件以及其对应的控制回路(包括具体用到哪一个按钮或者开关),在脑海中形成一个设备完整的工作模式,做到熟识于心。在确保机械及电气部分完好的情况之下,最后进行送电调试工作。因工厂动力电压等级380V,故在进行送电时,首先必须做好安全防范措施,佩戴绝缘手套等防护装置,以保证自己及他人的人身安全。按照正确的接电顺序,给予三相供电。调试采用逐级调试方法,对配电柜内所有元器件进行检验,同时还包括对外部机械设备的检验调试。通电后,闭合配电柜内总电源开关,根据原理图,用万用表测量变压器出线端电压是否正常,如若不正常,检查变压器是否损坏或者存在人为因素干扰,在排除故障之后,采用同样的方法对下一级元器件进行送电并检查是否完好。控制回路对于外部设备的启停起着至关重要的作用,在明白控制回路的原理之后,通断某一按钮、开关或者断路器,相应的工作机构也应处于预定的工作状态,同理如果出现故障,应对控制回路的每一部分进行分析并检查,例如测量电压等工作。如此逐步完成对每一部分设备的调试工作。

更多类似范文
┣ 嵌入式测试总结 5300字
┣ 嵌入式面试总结 2300字
┣ 嵌入式linux笔试总结 1700字
┣ 华南农业大学嵌入式试题总结 6200字
┣ 更多嵌入式调试总结
┗ 搜索类似范文