[发明专利]一种基于嵌入式软件的测试分析系统及方法无效
申请号: | 201110161469.X | 申请日: | 2011-06-15 |
公开(公告)号: | CN102222041A | 公开(公告)日: | 2011-10-19 |
发明(设计)人: | 黄梅;张哲辉 | 申请(专利权)人: | 深圳市运通信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 嵌入式 软件 测试 分析 系统 方法 | ||
技术领域
本发明属于软件测试领域,尤其涉及一种基于嵌入式软件的测试分析系统及方法。
背景技术
随着计算机硬件技术的进步和元件质量逐步提高,元件的集成量也大大增加,从而使嵌入式设备的硬件性能得到了极大的提高;与此同时,通过采用成熟的商用嵌入式操作系统,使整个系统运行在一个高性能的、可靠的软件平台上,为实现各种大型的复杂的应用打下了良好的基础。面对系统复杂性的增加,自然需要功能强大、性能稳定的嵌入式应用软件与之相适应。所以,在嵌入系统开发中软件的代码量也越来越大,电子类产品的代码量以每两年就翻一翻的速度增长。同时,系统又要求应用要精简高效、稳定可靠,这使得软件的开发在整个系统开发中所占的重要性越来越高,开发时间也越来越长,软件的质量对产品的最终质量起到了决定性的作用。因此,迫切需要一种工具能够在软件开发的单板阶段、集成阶段、系统阶段等各阶段,对嵌入式系统的软件进行实时在线的测试与分析,以保证系统的性能和稳定可靠性。
市面上流行的测试工具大致分为纯软件的测试工具和纯硬件的测试工具。其中,纯软件的测试工具采用的是软件打点技术,即在被测代码中插入一些函数,主要在函数的入口、出口处,以及分支等地,插入特定的函数,以便计算函数执行的时间,利用这些函数来实现测试数据的生成,同时将测试数据送到目标板系统的共享内存中。并在目标系统中运行一个预处理任务,完成这些测试数据的预处理,然后将处理后的数据,通过目标机的网口或串口上送回到主机上,进行后续的分析。通过这个过程,测试者得以知道程序当前的运行状态。
从此分析可知,纯软件的测试工具,需借助于用户的目标处理器来完成,即需要占用目标板上的资源。同时,纯软件的测试工具的测试原理,有两个必然存在的特点——插桩函数和预处理任务。分析:由于插入了插桩函数和预处理任务的存在,使系统的代码增大,更严重的是这些代码会对系统的运行效率有很大的影响(超过50%)。同时,函数本身要有它的实现过程,它要完成数据的生成和暂存,而且这些函数在它的实现过程中,还可能被其他优先级更高的中断程序所中断。预处理任务需要占用目标系统CPU处理时间、共享内存和通信通道完成数据的处理、数据的上送。由于这些弊端的存在,当采用纯软件测试工具对目标系统进行测试时,用户目标系统是在一种不真实的环境下运行的,我们所捕获的数据也是不够精确的。采用纯软件的测试工具有以下不足:
缺陷1:缺乏性能分析,它不能对用户目标系统中的函数和任务运行的时间指标进行精确的分析。
缺陷2:做覆盖率分析的时候,因为要大量打点,而打点过多就会影响系统的运行,所以只能做单元覆盖率分析且单元的程序量不能太大。
缺陷3:没有对内存分配进行分析和检查的能力。
纯硬件测试工具以逻辑分析仪为例,逻辑分析仪通过双端口标志寄存器,当代码执行时,双端口标志寄存器同时对执行的代码置1,通过对代码是否置1,来判断程序当前运行的状况。分析:当系统打开缓存(CACHE)时,取一条指令则对此代码置1。而这条指令并不一定执行。采用纯硬件的测试工具有以下不足:
缺陷1:当CACHE打开我们会采用指令预取技术,从外存中读取一段代码到一级CACHE中,这时逻辑分析仪就会报告这些代码已经被执行了,但实际上被送到CACHE中的代码可能根本没有被命中。为了避免这种误差必须把CACHE关闭掉,而CACHE关掉就不是系统真实的运行环境了,有时甚至会由于CACHE关闭而导致系统无法正常运行。
缺陷2:没有对内存分配进行分析和检查的能力。
综上,现有技术通过软件或硬件测试工具进行嵌入式软件测试时,存在着:代码膨胀率过高、容易被中断,占有的硬件板资源较多,测试精度和准确率不高,测试分析对象不够多样化等等的问题。
发明内容
本发明实施例的目的在于提供一种基于嵌入式软件的测试分析系统,旨在解决现有技术进行嵌入式软件测试分析时,不能较好的融合纯软件和纯硬件测试工具的优点,且测试分析对象不够多样化的问题。
本发明实施例是这样实现的,一种基于嵌入式软件的测试分析系统,包括:
插桩器,用于对经过编译器预编译的源代码进行插桩;
插桩标识数据库生成单元,用于根据所述插桩器对所述预编译的源代码的插桩结果生成插桩标识数据库;
数据采集器,用于从目标板上监控并采集可执行目标代码的运行结果,对所述可执行目标代码的运行结果进行处理生成测试数据并保存,所述可执行目标代码由插桩后的源代码经过所述编译器编译、链接生成;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市运通信息技术有限公司,未经深圳市运通信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110161469.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种刹车装置
- 下一篇:可携式键盘及可携式电子系统