下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
刍议嵌入式软件进行功能测试的相关方法应用获奖科研报告摘要:嵌入式计算机技术是当前计算机行业一种比较流行的技术,嵌入式计算机已完全融入到我们生活当中,关系十分紧密,影响十分巨大。科学技术发展,嵌入式计算机用途范围逐渐广泛,在使用过程中,嵌入式计算机拥有很多功能,能够满足客户对不同功能的需求。但是,由于嵌入式类型计算机相比其他计算机软件结构较为复杂,因此在使用前需要人们按照使用须知操作嵌入式计算机,并测试检查分析嵌入式计算机软件技术的有效性。本文介绍了嵌入式软件的概念,让读者对嵌入式软件有所了解,阐述了嵌入式软件测试的相关技术,并利用这些技术测试检查分析嵌入式计算机软件。
关键词:嵌入式软件;计算机软件;软件测试;关键技术
嵌入式计算机,是针对实现某技术、某种网络、或某种功能的计算机系统。用计算机技术,融合嵌入式系统,使计算机能够实现的功能增多,比如计算机硬件的兼容性,和专业性较强的计算机软件,从而满足复杂多变的实际工程需求。如果开发某种功能需要,嵌入式计算机会对以下因素有着十分严格要求:开发的成本,功能需求可靠性,计算机的大小等。基于嵌入式技术,在对计算机处理器、应用、硬件、系统等进行操作的基础上,能够更进一步地保证计算机技术的实现。目前嵌入式软件的现状,被应用的行业范围广,尤其是工业领域,它能够提升工作效率,保证产品的生产质量。我国工业发展迅速,进步很快,科学技术水平提高,相应的,嵌入式计算机技术水平也得到了空前的发展。我们绝大部分使用的计算机,是普通型计算机。而嵌入式计算机是一种专业性较强的计算机系统,以实现某技术或某一种网络为目标,是一种新型的计算机系统。针对客户要求嵌入式计算机开发出某种功能,提升工作效率。嵌入式计算机应用范围广,其软件愈加复杂,所以,现在测试嵌入式计算机软件显得更为重要。嵌入式软件跟普通计算机性质一样,一般安装在嵌入式计算机中,是自动化核心。一般情况下,根据工作需要,选择嵌入式软件完成相应功能,对嵌入式软件的稳定性要求要很严格,测试检查分析嵌入式计算机件,保证其能够稳定正常工作。
2.嵌入式软件测试方法
本文重点介绍了针对嵌入式软件的几种测试方法:静态分析、软件质量度量、性能分析、内存分析、覆盖率分析、单元/集成测试、系统测试。
2.1静态分析
静态分析是一种利用测试工具对代码进行的机械性和程序化的分析方法。静态分析是直接对源代码进行代码走读、静态扫描和分析,不需要编译或运行代码,也不会受到其他缺陷和其他模块的影响。工具举例:PolySpace工具是一种嵌入式软件的静态分析工具。它包括PolySpaceBugFinder和PolySpaceCodeProver兩个模块。PolySpaceBugFinder是静态代码分析软件,可以发现C/C++代码中的各类缺陷,包括运行时错误,数据流问题,编程问题等各类代码缺陷。PolySpaceCodeProver使用抽象解释和静态分析方法来证明,识别和分析运行时错误,例如溢出,除零和指针的越界。
2.2软件质量度量
软件质量度量是衡量软件是否符合需求、标准的重要体现,它的目的在于利用度量来改进软件过程。要确保软件的整体质量,就需要在各个环节严格控制。工具举例:很多嵌入式软件是用C或C++语言编写,但编程语言本身并不安全,QAC/QAC++是一种代码静态分析工具,它的静态分析能力包括:质量度量和软件结构分析。
2.3性能分析
近年来,嵌入式系统被广泛应用于汽车、家电、通信、制造等各个领域,领域间的竞争也激发了嵌入式技术的快速发展,对软件性能分析是嵌入式开发过程中至关重要的一部分,嵌入软件的性能分析是嵌入式环境下重要的测试方法。工具举例:RapiTime是一种软件运行时间评估工具:它能够进行软件时间性能的测量,通过分析得出最差执行时间数据,并为代码优化提供指导。它的特点包括检查不同的函数对于最差、最优以及平均执行时间的影响;通过大量调用来查看执行时间的变化;对于函数自身的上下文、循环以及数据块进行分析等。
2.4内存分析
嵌入式系统的内存是有限的,但对实时性要求又很高。内存问题主要包括内存泄露、内存崩溃、内存碎片。其中内存泄露问题尤为严重,它会导致系统可用内存减少,甚至导致系统崩溃。现在已经有许多工具来解决内存泄露问题,如Mtrace、Memwatch、Purify等。这些工具使用库跟踪、动态检测、程序插桩等技术来发现和定位内存泄露的问题。
2.5覆盖率分析
覆盖率测试(也成逻辑测试)是度量测试完整性和查找软件问题的必要手段,是测试有效性的度量。覆盖率测试的目的是确保软件所有的程序至少被执行一次,尽可能全的覆盖软件程序的各个语句及其分支结构,以便发现软件中的错误和问题。工具举例:RapiCover是一款基于目标硬件的嵌入式软件的测试覆盖率分析工具,针对所使用的测试用例给出对应的现场测试覆盖率信息,其插桩点的开销极小,并能针对目标板的实际情况提供灵活的支持方式。它的特点包括:支持C、C++、Ada编程语言;极小的时间开销;语句覆盖,变量定义、条件判断或循环等。
2.6单元/集成测试
嵌入式软件的单元测试大多是在宿主机环境下进行的,只有少数情况下需要在目标机环境下进行。单元测试主要是进行白盒测试,应尽可能地测试每一个函数,每一个条件分支、每一个程序语句,提高代码的测试覆盖率。在单元测试完成后,接下来需要进行集成测试。集成测试又称为组装测试,是将各模块合成一个组件,并测试它们间的接口。工具举例:Tessy软件是一款专门针对嵌入式软件动态测试的工具。它可以对C/C++代码进行单元测试和集成测试。
2.7系统测试
嵌入式软件系统测试的目的与通用软件类似,都是通过与需求做比较来发现软件缺陷。嵌入式软件的系统测试应综合运行各种测试用例设计方法,并根据需求规格说明书来设计,在目标机环境下运行。
系统测试阶段除了功能测试外,还应该包括意外测试、破坏性测试、性能测试等。在系统测试中,随机测试是比较经济有效的一种测试方法。将随机测试结果和操作规范的要求作比较,还可以得到软件可靠性的估计。有效地将随机抽样测试与其他测试技术结合可以产生更强大和更高效的测试策略。
三、结束语
综上所述,得益于信息技术的快速发展,计算机软硬件方面都取得较大的进步。当前,计算机硬件的发展不断趋于稳定,但软件方面还是时有故障发生。因此对嵌入式软件功能测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高压电工证考试题库及答案(完整版)
- 阜新市统计专业技术中级资格考试(统计工作实务)备考题库及答案(2026年)
- 煤气生产安全技术培训
- 射频消融术的护理
- 施工现场安全生产管理措施培训
- 地坪浇筑工程安全技术交底培训
- GPRS在煤矿安全生产监测监控的应用
- 预制T梁施工危险因素分析及应对措施培训
- (2026年)搅拌站设备管理制度
- 2025年河南省获嘉县清华园学校三下数学期末检测模拟试题含答案
- 2026年老河口市清源供水有限公司招聘9人考试备考试题及答案详解
- 急性肺栓塞诊断和治疗指南(2025 版)
- 2026年云南省综合类事业单位招聘考试公共基础知识真题试卷及参考答案
- 《非物质文化遗产概论(第三版)》全套教学课件
- 《煤矿生产安全事故应急预案》会审意见
- 中学生心理辅导PPT完整全套教学课件
- 崇明西部分区单元(CM3)地质灾害危险性评估报告(2020年度更新成果)
- 华为财经笔试面试经验大全
- 唐诗宋词人文解读(上海交通大学)智慧树知到章节测试答案
- 固体料仓 (2.26)设计计算
- LY/T 2988-2018森林生态系统碳储量计量指南
评论
0/150
提交评论