面向嵌入式系统的测试工具研究

面向嵌入式系统的测试工具研究

唐科[1]2005年在《软件仿真环境下的嵌入式软件测试的研究》文中指出在实际工作中存在很多的专用嵌入式系统,它们以汇编语言作为开发语言,缺乏严格的软件测试,难以发现和确认软件中的错误,因此需要能针对汇编语言进行专业软件测试的工具。本论文以嵌入式系统的软件测试为研究对象,引入通用软件测试的思想和方法(黑盒测试、白盒测试),并针对嵌入式系统的特点,在某些具体测试方法上进行改进,在此基础上构建软件测试平台。由于嵌入式系统的软件具有专用性、硬件依赖性、嵌入性、反应性、实时性等特征,因此,嵌入式软件的运行受到硬件的制约,而采用软件仿真的办法可以避免硬件依赖性,从而在此基础上对嵌入式软件的测试进行研究。软件仿真环境的建立是论文研究和测试工作开展的基础。因此建立了基于Linux 的Intel 8051 系列兼容CPU 仿真模拟平台cereal,通过对其内核的深入分析和研究,清楚了模块的定义及其相互联系,寄存器的访问、修改机制,断点设置机制以及指令仿真、运行原理。并在此基础上实现了cereal_text 自定义命令,完成了cereal_text 向TCL的移植,建立了测试用例脚本解释环境。根据系统概要设计,完成了预处理模块的数据结构定义及算法设计和测试用例的概要设计,参与Lex 与Yacc 结合实现词法语法分析的研究工作。在对汇编语言的结构进行分析时,提出以基本块为划分单位,构造程序流图,从而利用有向图的存储方式来处理程序流图,并计算出被测程序的分支路径数和循环复杂度。在此基础上设计了语句覆盖、路径覆盖、分支覆盖的算法。最后,在项目组全体同志的共同努力下,完成了测试系统的编码及调试工作,实现了针对8051 汇编语言的原型测试系统。研究表明,采用软件仿真模拟运行环境来进行嵌入式软件测试是成本低且实际可行的方法。

刘玉鹏[2]2018年在《面向嵌入式软件的单元测试适配器设计与实现》文中研究说明嵌入式系统的广泛使用使得嵌入式软件的可靠性逐渐被人们所重视,嵌入式软件单元测试技术在解决嵌入式软件的可靠性方面发挥着至关重要的作用。在自动化动态单元测试中,由于需要执行程序,而不同种类的嵌入式平台的开发环境与执行环境不相同,所以为了自动化单元测试软件更方便地支持嵌入式平台的单元测试,本文设计并实现了嵌入式适配器。本文通过对常见的嵌入式系统及其开发环境、仿真环境进行调研,根据嵌入式动态单元测试的需求,对嵌入式适配器进行了分层设计,并将适配器的设计融入到动态单元测试流程中。本文从适配器的分层、适配器相关模块、适配器的内部模块来详细介绍适配器的设计,并在适配器的实现过程中采用了额外的技术要点。本文在适配器内部对本地Linux系统以及另外两种嵌入式系统进行了支持工作,并设计实现了调试模块,作为适配器的功能扩展。本文在代码测试系统(CodeTestSystem,CTS)中编码实现了上述嵌入式适配器,并对本地Linux系统进行了测试,测试结果符合预期。

刘飞[3]2011年在《面向嵌入式系统的磁盘I/O测试工具的研究与实现》文中研究说明随着计算机技术与通信技术结合的信息时代的到来,越来越多的嵌入式系统要处理大量的信息,磁盘凭借其容量大、价格便宜、性价比高等优点,已成为嵌入式系统的主要外存储设备之一。对于嵌入式系统来说,一方面系统中的I/O子系统往往是瓶颈,需要判断其是否能满足嵌入式系统特定的要求。另一方面由于嵌入式系统往往对安全性和实时性要求高,要确保磁盘访问的高效和安全。为了达到这两点目的,就需要对磁盘的I/O性能进行测试,同时还要能从各个方面监测系统中磁盘I/O的情况。基于以上情况,本文提出了一款功能全面、面向嵌入式系统的磁盘I/O测试工具的研究方案,并阐述了研究的意义及目的。在分析了磁盘I/O测试工具与技术的研究现状后,明确了实现目标和设计思路。为了达到课题目标,本文对嵌入式Linux的I/O子系统进行了深入研究。包括I/O子系统中各层的实现过程、ATA驱动程序的实现原理和/proc文件系统。在实现过程中,需要修改内核,为了避免修改内核后重新编译内核,对kprobes探测机制进行了分析,并将kprobe引入实现中。随后,本文分别对面向嵌入式系统的磁盘I/O测试工具的测试代理端和客户端两个部分进行了设计。先介绍了测试代理端,它分为磁盘I/O性能测试、系统I/O监测、进程I/O监测和I/O trace收集器四个功能模块与一个测试代理模块,对每个功能模块和测试代理模块进行了设计与实现。然后,介绍了客户端,包括客户端与测试代理的交互、客户端的设计与实现两部分。最后,本文对面向嵌入式系统的磁盘I/O测试工具进行了功能和性能测试,验证了该工具的有效性和可靠性。

徐晓露[4]2008年在《基于故障注入的嵌入式系统测试研究》文中进行了进一步梳理嵌入式系统的复杂性和广泛应用使人们越来越关注其可靠性。嵌入式软件测试是保证嵌入式软件正确性和提高嵌入式软件可靠性最基本和最有效的手段。嵌入式系统软件由于其自身的特点,在开发和测试方面的难度往往大于通用软件。传统的结构化测试方法在测试软件可靠性方面也有一些缺点。故障注入技术是一种通过注入故障的方法来测评容错机制、验证系统应对异常能力,从而提高系统可靠性的有效办法。在通用故障注入框架的基础上,本文针对故障注入的输入域和输出域提出了一种用于嵌入式系统平台的故障注入方法。该方法结合嵌入式系统平台的结构特点和可靠性设计,由此建立故障模型;并利用嵌入式平台API,在硬件接口层、OS接口层以及应用层实现多层故障注入。在结果分析部分,通过分析故障/失效概率,各种失效分布和故障来源来分析试验结果;结合故障树分析方法定性分析系统故障传播和故障依赖关系,定量估算被关注事件的故障概率。最后结合嵌入式平台具体应用,通过应用实例,用实验的方法验证所提出方法与实现技术的正确性与可行性。作为传统测试方法的一种补充,文中所述的故障注入方法重点观察被测对象在异常条件和无效参数下的应对情况。结果也表明,使用这种测试方法提高了测试覆盖率,从而进一步保证嵌入式系统平台的稳定性和可靠性。

杜晓东[5]2003年在《面向嵌入式系统的测试工具研究》文中指出伴随着信息家电,手持设备,无线设备等的迅速发展,相应的硬件和软件也得到迅速发展,嵌入式软件的测试也越必要。嵌入式软件的覆盖测试和性能分析是嵌入式环境下重要的测试方法,所以开发嵌入式环境下的覆盖测试和性能分析工具有一定的现实意义。 通用软件开发的开发环境和程序运行环境是相同的,程序动态信息的收集比较简单,可以通过写数据文件将程序的动态信息保存下来,或通过某种进程间通信等方式直接将程序的动态信息发送给分析测试工具。嵌入式软件的开发与通用软件的开发最大的不同点在于嵌入式软件需要采用交叉开发的方式:开发工具运行在软硬件配置丰富的宿主机上,而嵌入式应用程序运行在软硬件资源相对缺乏的目标机上。对于这类软件的分析测试也存在着同样的问题:测试工具运行在宿主机上,分析测试工具所需要的程序动态信息在目标机上产生,所以必须通过一定的物理/逻辑连接传输到缩主机上,由测试工具接收。因此,嵌入式分析测试工具在设计上也必须考虑有效的数据上传方法,解决数据信息的传输问题,并且尽量减小对被测程序的影响。 大多数分析测试工具通过对被测程序代码进行修改,使之能够记录程序的运行情况。这个修改过程通常是向被测程序代码中的适当位置添加少量的代码,这个修改过程称为插装。在程序中插入插装代码是一种有效的测量程序各方面性能的技术。这种插装能够在程序编译过程的各阶段进行,通过诸如编译器、链接器、或者是测试系统所包含的外部工具。但是无论是那种插装方法都会对被测程序的运行带来一定的影响。由于嵌入式软件实时性要求,嵌入式分析测试工具在设计上必须考虑对嵌入式应用的插装应尽量小的影响被测程序的运行。 本人长期以来对以嵌入式系统比较感兴趣,对嵌入式性能和覆盖测试工具进行了一定的研究,并且在科银公司的嵌入式软件平台DeltaSystem上实现了一个简单的性能分析和覆盖测试工具。本论文基于这些事实,对面向嵌入式系统分析测试工具的体系结构、数据采集上传、插装方法上进行了一定的探讨。

荐红梅[6]2008年在《基于硬件构件的嵌入式底层软件开发方法研究及其应用》文中指出面向对象方法和软件构件技术已经广泛应用到传统软件开发中,大大提高软件的开发效率、增强软件的重用性和移植性,而在嵌入式领域这种开发技术还微乎其微。但随着嵌入式系统规模和复杂性的日趋增大,传统的嵌入式开发方式难以解决面临的新问题,为此人们加大了对嵌入式开发方法的研究力度。由于嵌入式系统是一个软硬件紧密结合的系统,所有嵌入式软件的执行都离不开特定的硬件体系,因此,研究硬件模块及底层软件构件化的嵌入式开发方式对增强它们的重用性与移植性具有重要意义。本文从对现有通用软件开发方法的分析中获得启示,探讨面向嵌入式硬件模块及底层软件的开发方法的具体实现过程。文中提出的硬件构件和底层构件技术,借用面向对象方法和构件化技术中的封装方式、可重用与可移植等特点,实现硬件模块及底层软件在同一系统或不同系统中的重用与移植。本文给出硬件构件和基于硬件构件的底层构件的定义和概念模型,详细阐述它们的实现和应用过程,在此基础上提出基于硬件构件的嵌入式硬件电路图的设计原则及注意事项、底层构件化的嵌入式底层软件开发框架及实例说明。上述研究成果对丰富嵌入式开发方式具有重要的理论意义和实际应用价值。文中提出的两种构件技术能有效的提高嵌入式系统的开发效率,增强系统的可靠性与稳定性。本文将这两种构件开发技术应用到恒温恒湿控制器系统(CTHCS)的设计与实现中,为嵌入式硬件系统及底层软件的开发提供新的方法。

杨民强[7]2012年在《开源嵌入式在线开发平台研究与实现》文中认为在各行业信息化的推动下,嵌入式系统的计算能力、系统复杂度和应用范围等方面发展迅猛,然而由于嵌入式系统研发涉及较宽的知识面、综合性强、实践性强,学科发展速度快,要求硬件设备较多,开发平台及相关工具纷繁复杂,开发环境和开发工具的抽象程度较低,导致嵌入式研发和教育的成本和周期都大受影响。近年来,32位RISC处理器逐渐成为嵌入式领域的主流,开源软件迅速发展且已经在嵌入式系统中取得的广泛应用,嵌入式Linux市场占有率稳居榜首且有上升趋势,E-Learning在各学科逐步发展且作为一种全新、高效、自由的教学模式被广泛接受,这些因素使得构建一个面向嵌入式研发与教育的在线嵌入式开发平台成为可能。本文基于作者硕士在读期间在嵌入式实时系统方面的研究工作,在分析了现有嵌入式开发平台的基础上,围绕设计开发基于开源软件的面向嵌入式软件的在线开发平台而展开。该平台在不同层次抽象嵌入式设备和开发过程,进而统一管理多种开发板、虚拟开发机以及辅助开发设备,集成软件IDE的编辑、编译、调试等软件,通过各种软件、接口、工具和控制系统实现设备的远程访问能力,开发相应的核心功能模块和图形用户界面,实现了一个面向多种平台、一体化、个性化、开放的、操作便捷的嵌入式在线开发平台(Online Embedded Laboratory,以下简称为OELab)。OELab支持WEB和基于PyGTK和X11的两种图形用户界面,现支持Windows和Linux平台。OELab集成开发环境包含了嵌入式软件开发所需的所有工具,提供控制台接入、电源管理、代码下载、视频监控和设备初始状态恢复等远程操作接口,极大便利了嵌入式开发人员,提高开发效率,开发可以不受时间和地点的限制,促进设备共享、信息交流和远程协作。对于嵌入式学习者,)ELab在节省了大部分购置嵌入式开发设备的费用的同时获得了相同甚至更好的操作体验,通过OELab的实验学习能够有效缩短学习周期,有较好的教学效果。另外系统的设备初始状态恢复功能使用户不必担心误操作目标板。基于OELab框架和实验室在实时系统方面工作的需求,作者开发了面向嵌入式系统的测试平台,针对嵌入式实时系统的各方面性能进行长期、全面的测试以为系统评估提供数据依据,也为系统优化提供指导。测试通过自动化控制脚本控制执行,结果由脚本程序自动绘制呈现给用户。本文最后进行了总结和展望,在分析OELab优点的基础上提出了一些需要改进的方面,作为日后工作的指导。

龙林波[8]2016年在《非易失性内存的磨损均衡与管理优化研究》文中研究说明近年来,随着信息化、网络化和智能化的快速发展,嵌入式终端已成为云计算、物联网节点以及大数据应用的重要元素。同时,其广阔的应用前景也为嵌入式系统的存储管理与设计带来了新的挑战。当前,作为嵌入式系统内存的动态随机存取存储器(DRAM),因其在能耗、扩展性、可靠性方面的缺陷,而成为制约嵌入式系统发展的关键因素之一。因此,迫切需要新的替代技术来突破这个瓶颈。以相变存储器为代表的新型非易失性存储器技术,因其具有非易失性、低能耗、低延迟、高密度和易扩展等优势,使突破“存储墙”和“能耗墙”等重大问题变成可能,而得到国内外学术界和工业界的高度重视。然而,由于目前新型非易失性存储器普遍存在写入耐久性低、多层单元性能低等缺陷,限制了其在内存方面的广泛应用。为此,考虑到嵌入式系统面向特定应用且资源受限,本文首先就新型非易失性存储器的寿命问题,进行了基于多倍存储空间的磨损均衡研究。然后,为解决新型非易失性存储器中多层单元性能低的问题,对状态可变的新型非易失性存储器磨损均衡进行了研究。接下来,针对移动虚拟化环境中的存储挑战,开展终端虚拟化环境中基于非易失性内存的管理研究。本文主要研究内容如下:(1)嵌入式程序有着固定的访问模式,大部分的写操作通常集中于少数程序变量,这将加快非易失性内存的磨损。对此,借助嵌入式程序的访问特征,在软件编译层设计基于多倍存储空间的磨损均衡技术。该技术结合多倍存储空间技术,并根据程序变量的写操作信息,在软件编译层为变量分配最佳的空间大小及地址,以实现非易失性存储器的磨损均衡。(2)新型非易失性存储器的多层单元具有较高密集性的优势,同时也存在寿命短和性能低的缺陷。对此,借助嵌入式程序的访问特征和多层单元的特性,在软件编译层设计了基于状态可变的新型非易失性存储器磨损均衡技术。该技术动态地配置新型非易失性存储器上的单层单元和多层单元,并将延迟低和寿命较长的单层单元分配给频繁进行写操作的变量,以改善非易失性内存的寿命和性能。(3)终端虚拟化具有安全性、隔离性和低成本等优势,但其较高的内存需求也给嵌入式系统带来了新的挑战。对此,针对虚拟机的内存需求和新型非易失性存储器的特性,在移动虚拟化环境中设计了一个高效的单层单元和多层单元内存页分配策略。该策略构建了单个虚拟机内的内存动态分配模型和跨虚拟机的内存分配模型,以满足各虚拟机对内存资源的差异化需求。最后,针对上述优化技术,本文采用相应的模拟器和嵌入式开发板进行实验,实验结果证实了上述技术能有效地提高嵌入式系统中新型非易失性内存的寿命、状态可变的新型非易失性内存的寿命和性能,并能够有效改善终端虚拟化平台的性能和能耗等问题。本文充分利用嵌入式系统面向特定应用及其资源受限的特点,开展了基于新型非易失性内存的磨损均衡及管理优化研究,以应对嵌入式存储系统的挑战,进一步促进嵌入式设备在云计算、物联网及大数据等领域的应用及发展。

户军茹[9]2007年在《嵌入式软件关联测试方法的研究》文中研究表明随着嵌入式技术的发展,嵌入式应用的不断增长以及嵌入式系统复杂性不断提高,要求嵌入式软件的规模和复杂性也不断提高,嵌入式软件的质量和开发周期对产品的最终质量和上市时间起到决定性的影响。在嵌入式系统设计中,软件正越来越多地取代某些硬件的功能,这样可以降低系统的成本,获得更大的灵活性。而与硬件的设计和调试相比,软件调试与测试工作则复杂和困难得多。本文通过对目前国内外嵌入式系统软件测试方法和工具的研究,针对目前嵌入式软件测试存在的问题,提出一种嵌入式软件关联测试的方法。该方法主要讨论嵌入式软件模块之间的关联,各模块与硬件相关部件之间的关联以及模块与测试用例之间的关联思想,然后基于关联的思想,对各种关联的实现方案进行设计,最终是将这些关联关系进行图形化表示,以便软件开发和维护人员能快速并清楚地确定各种关联关系,从而保证整个嵌入式软件系统在生命周期各个阶段的一致性修改,同时给出测试用例有效性分析与重复测试时测试用例集的自动生成,能增强软件缺陷的主动跟踪与预防能力,帮助用户达到软件开发效率加倍、成本减少、风险降低、所开发的软件产品质量提高的目的。本文提出的这套比较实用的嵌入式测试方法,实现起来比较简单,具有很好的实用价值,运行效果比较理想。其最大的特点是具有可推广性,是一个可以称之为适合各种型号嵌入式系统内核的嵌入式软件测试的通用方法。但是本文是对C语言实现的嵌入式软件系统进行分析的,针对其它语言实现的嵌入式软件系统,仍然值得进一步完善和深入研究。为此,本文在最后讨论了该方法的不足和展望。

张琪君[10]2006年在《基于面向对象的嵌入式系统软件开发方法研究及其应用》文中研究说明十多年来,随着信息技术、电子技术和通讯技术的发展,嵌入式系统已经获得了空前的应用和发展。随着嵌入式应用系统功能复杂度的提高、对软件产品的非功能约束的特别关注以及由于市场的激烈竞争导致嵌入式软件推出周期的缩短,都使得嵌入式软件开发人员面临着严峻的危机和挑战。传统的结构化开发方法已经显得力不从心,于是嵌入式软件开发人员在软件开发中引入了目前较为流行的“面向对象方法(OO)”,但是目前对该方法的应用还只是停留在传统的以编程为中心的嵌入式软件开发方法上,不能很好地保证软件复用和代码的重用,因此难以满足市场对嵌入式软件开发效率和开发质量的要求。 本课题的研究内容是应用面向对象方法的框架技术,对嵌入式系统领域的专有结构组件进行封装,创新性地提出了面向嵌入式系统领域的通用实时框架ARTIC(Abstract real-time control)。ARTIC框架除了具有框架的共有优点一最大限度实现软件重用外,最突出的是具备以下两个特点: 1、功能和非功能的分离 在应用面向对象的技术时,传统的嵌入式软件开发方法关注的重点是软件结构和功能分解,忽略了嵌入式环境下特殊的非功能性要求。为了在实现系统功能需求的同时,保证软件系统的非功能性需求的实现,ARTIC框架引入了面向方面的思想,把系统的非功能性需求从功能模块中分离出来,为它们单独设计组件。开发人员在应用该框架进行嵌入式软件设计时,只需要关注功能需求的实现,对于实时性、调度等非功能需求的实现可以通过调用ARTIC提供的时间管理模型和任务调度模型直接实现。 2、基于状态机的主动对象设计模式 根据嵌入式系统通常由多个控制线程组成的特点,应用基于状态机的主动对象设计模式,把嵌入式软件系统构建成多个主动对象的组合。相对于传统的面向对象方法,本文提出的主动对象的最大特点在于:它提供对事件队列、控制线程和表示主动对象动态行为状态机等的封装,并且该模式可以直接支持嵌入式系统的并行性。 ARTIC框架的应用能够帮助嵌入式软件的开发人员快速地开发出高质量的嵌入式软件,除此之外,因为它包含了一个微小的实时操作系统(RTOS)

参考文献:

[1]. 软件仿真环境下的嵌入式软件测试的研究[D]. 唐科. 电子科技大学. 2005

[2]. 面向嵌入式软件的单元测试适配器设计与实现[D]. 刘玉鹏. 北京邮电大学. 2018

[3]. 面向嵌入式系统的磁盘I/O测试工具的研究与实现[D]. 刘飞. 华南理工大学. 2011

[4]. 基于故障注入的嵌入式系统测试研究[D]. 徐晓露. 浙江大学. 2008

[5]. 面向嵌入式系统的测试工具研究[D]. 杜晓东. 电子科技大学. 2003

[6]. 基于硬件构件的嵌入式底层软件开发方法研究及其应用[D]. 荐红梅. 苏州大学. 2008

[7]. 开源嵌入式在线开发平台研究与实现[D]. 杨民强. 兰州大学. 2012

[8]. 非易失性内存的磨损均衡与管理优化研究[D]. 龙林波. 重庆大学. 2016

[9]. 嵌入式软件关联测试方法的研究[D]. 户军茹. 西安理工大学. 2007

[10]. 基于面向对象的嵌入式系统软件开发方法研究及其应用[D]. 张琪君. 山东大学. 2006

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

面向嵌入式系统的测试工具研究
下载Doc文档

猜你喜欢