一种嵌入式测试装置制造方法及图纸

技术编号:7674124 阅读:235 留言:0更新日期:2012-08-11 19:22
本实用新型专利技术适用于软件测试领域,提供了一种嵌入式测试装置,包括:插桩器,与编译器连接,接收编译器预编译的源代码,进行插桩生成插桩数据后发送;数据采集器,与目标板连接,从所述目标板上采集目标代码的运行结果并暂存,预处理后生成测试数据并发送;结果分析器,分别与所述数据采集器和插桩器连接,接收所述插桩器发送的插桩数据和所述数据采集器发送的测试数据,比较分析所述插桩数据和测试数据得到测试结果。本实用新型专利技术通过在现有硬件测试装置基础上添加设置数据采集器,降低了目标板上的资源利用压力,保证了测试过程的较高稳定性。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术属于软件测试领域,尤其涉及嵌入式测试装置
技术介绍
随着计算机硬件技术的进步和元件质量逐步提高,元件的集成量也大大增加,从而使嵌入式设备的硬件性能得到了极大的提高;与此同时,通过采用成熟的商用操作系统,使系统运行在一个高性能的、可靠的软件平台上,为实现各种大型的复杂的应用打下了良好的基础。所以,在嵌入系统开发中软件的代码量也越来越大,电子类产品的代码量以每两年就翻一翻的速度增长。同时,系统又要求应用也要精简高效、稳定可靠,使软件的开发在 整个系统开发中所占的时间也越来越长,软件的质量对产品的最终质量起到了决定性的作用。因此,迫切需要一种工具能够在软件开发的单板阶段、集成阶段、系统阶段等各阶段对嵌入式系统的软件进行实时在线的测试与分析,以保证系统的性能和可靠性。市面上流行的测试工具大致分为纯软件的测试工具和纯硬件的测试工具。其中,纯软件的测试工具采用的是软件打点技术,即在被测代码中插入一些函数,主要在函数的入口、出口处,以及分支等地,插入特定的函数,以便计算函数执行的时间,利用这些函数来实现测试数据的生成,同时将测试数据送到目标板系统的共享内存中。并在目标系统中运行一个预处理任务,完成这些测试数据的预处理,然后将处理后的数据,通过目标机的网口或串口上送回到主机上,进行后续的分析。通过这个过程,测试者得以知道程序当前的运行状态。从此分析可知,纯软件的测试工具,需借助于用户的目标处理器来完成,即需要占用目标板上的资源。同时,纯软件的测试工具的测试原理,有两个必然存在的特点——插桩函数和预处理任务。分析由于插入了插桩函数和预处理任务的存在,使系统的代码增大,更严重的是这些代码会对系统的运行效率有很大的影响(超过50%)。同时,函数本身要有它的实现过程,它要完成数据的生成和暂存,而且这些函数在它的实现过程中,还可能被其他优先级更高的中断程序所中断。预处理任务需要占用目标系统CPU处理时间、共享内存和通信通道完成数据的处理、数据的上送。由于这些弊端的存在,当采用纯软件测试工具对目标系统进行测试时,用户目标系统是在一种不真实的环境下运行的,我们所捕获的数据也是不够精确的。采用纯软件的测试工具有以下不足缺陷I :缺乏性能分析,它不能对用户目标系统中的函数和任务运行的时间指标进行精确的分析。缺陷2 :做覆盖率分析的时候,因为要大量打点,而打点过多就会影响系统的运行,所以只能做单元覆盖率分析且单元的程序量不能太大。缺陷3 :没有对内存分配进行分析和检查的能力。纯硬件测试工具以逻辑分析仪为例,当代码执行时,逻辑分析仪通过对代码是否置1,来判断程序当前运行的状况。当系统打开缓存时,取一条指令则对此代码置I。而通常这条指令并不一定执行。这样,就存在以下缺陷1、当缓存打开采用指令预取技术,从外存中读一段代码到一级缓存中,这时逻辑分析仪就会报告这些代码已经被执行了,但实际上被送到缓存中的代码可能根本没有被命中。通常为了避免这种误差必须把缓存关闭掉,而缓存关掉就不是在系统真实的运行环境下,有时甚至会由于缓存关闭而导致系统无法正常运行。2、没有对内存分配进行分析和检查的能力。普通的纯软件测试工具,因为采用了普通的打点插桩技术,会导致源代码的膨胀率较高,影响源代码真实的运行,同时占用硬件板上资源进行预处理任务,这需要占用目标硬件板系统的CPU处理时间、共享内存和通信通道来完成数据的处理、数据的上送等,从而使得测试结果可信 度低;同时无法对内存分配进行分析检查,也无法实现性能分析,无法进行任务监控和呼叫监控。普通的纯硬件测试工具,因为采用了普通的总线采样数据机制,会导致数据不准甚至是错误的。同时也无法对内存分配进行分析检查,无法实现性能分析,无法进行任务监控和呼叫监控。综上,现有技术通过软件或硬件测试工具进行嵌入式软件测试时,存在着代码膨胀率过高、容易被中断,占有的硬件板资源较多,测试精度和准确率不高,测试分析对象不够多样化等等的问题。
技术实现思路
本技术实施例的目的在于提供一种嵌入式软件装置,旨在解决现有技术进行嵌入式测试时需占用目标板资源,增大了目标系统的工作负担,影响测试环境的稳定性问题。本技术实施例是这样实现的,一种嵌入式测试装置,包括插桩器,与编译器连接,接收所述编译器预编译的源代码,进行插桩生成插桩数据后发送;数据采集器,与目标板连接,从所述目标板上采集目标代码的运行结果并暂存,预处理后生成测试数据并发送;结果分析器,分别与所述数据采集器和插桩器连接,接收所述插桩器发送的插桩数据和所述数据采集器发送的测试数据,比较分析所述插桩数据和测试数据得到测试结果。进一步地,所述结果分析器包括接收器和分析器,其中所述接收器,分别与所述数据采集器和插桩器连接,接收所述数据采集器发送的测试数据和所述插桩器发送的插桩数据;所述分析器,与所述接收器连接,对所述插桩器发送的插桩数据和所述数据采集器发送的测试数据进行分析,得到测试结果。进一步地,所述数据采集器与所述目标板连接方式为标准总线连接,或者通过标准连接插座、飞线连接,或者适配器连接。进一步地,所述数据总线宽度为8位或16位或32位。进一步地,所述数据采集器与所述结果分析器的连接方式为internet连接。本技术通过在现有硬件测试装置基础上添加设置数据采集器进行数据采集存放及预处理,实现了测试过程无需占用目标板的资源进行存放测试数据,运行额外的预处理任务等,降低了目标系统的工作负担,保证了测试工作的更快更平稳运行,保证了测试精度和准确率。附图说明图I是本技术实施例提供的嵌入式测试装置的结构图。具体实施方式为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。图I示出了本技术实施例提供的嵌入式软件装置的结构。为了便于说明,仅不出了与本专利技术实施例相关的部分。在本技术实施例中,嵌入式测试装置包括插桩器11、数据采集器12和结果分析器13,为了便于说明装置的工作原理,图I同时也示出了进行源代码测试除本技术实施例提供的嵌入式测试装置以外的其他模块编译器14和目标板15。其中,编译器14、目标板15以及源代码通常均由被测源代码提供商提供。具体实现如下插桩器11与编译器14连接,接收编译器14预编译的源代码,进行插桩生成插桩数据后发送至结果分析器13,数据采集器12与目标板15连接,从目标板15上采集目标代码的运行结果并暂存,预处理后生成测试数据并发送至结果分析器13,结果分析器13分别与数据采集器12和插桩器11连接,接收插桩器11发送的插桩数据和数据采集器12发送的测试数据,比较分析插桩数据和测试数据得到测试结果。其中,结果分析器13进一步包括接收器和分析器,接收器分别与插桩器11、数据采集器12连接和分析器连接,接收器接收数据采集器12发送的测试数据和插桩器11发送 的插桩数据后发送给分析器,分析器对插桩数据和测试数据进行分析,得到测试结果。本技术中,数据采集器12与目标板15的连接方式为标准总线连接,或者通过标准连接插座、飞线连接,或者适配器连接,其中,标准总线是CPCI或PCI或PMC或VME,标准连接插座本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:黄梅张哲辉
申请(专利权)人:深圳市运通信息技术有限公司
类型:实用新型
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1