一种基于主机平台的嵌入式模块和子系统的通用测试装置制造方法及图纸

技术编号:2872905 阅读:255 留言:0更新日期:2012-04-11 18:40
一种基于主机平台的嵌入式模块和子系统的通用测试装置,基于公共资源库对运行于主机抽象虚拟环境上的模块和子系统进行测试,它包括一个测试用例编辑单元、一个测试用例池、一个测试单元、一个调试单元和一个分析单元,本发明专利技术将本来需要下载到硬件系统中才能进行的模块和子系统测试,无缝的移植到公共Host(主机)平台上进行,减少模块测试对具体的硬件和底层操作系统的依赖,并且最大限度对所有的模块和子系统,提供一个基于公共Host平台的通用的测试装置,从而最大限度的避免测试工具的重复开发,缩短模块和子系统的测试周期,提高软件开发效率。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种基于主机平台的嵌入式模块和子系统的通用测试装置
技术介绍
现有的大型嵌入式系统软件的测试主要包括以下几个方面源码测试、模块测试、集成测试、规程测试以及性能测试等。对于源码测试、集成测试、规程测试以及性能测试一般都有第三方提供的相应测试工具,如源码测试工具有LogicScope(一种软件程序度量测试工具)和Rational Purify(一种软件程序覆盖率测试工具);很多测试仪器提供商都有相应的仿真器、规程测试仪以及安全性测试工具。但对于模块和子系统测试,由于与系统的具体功能、实现技术以及采用的平台密切相关,所以很难找到一种第三方提供的通用的模块测试工具。现在的通常做法是,由软件测试人员针对特定的模块和子系统,编写特定的测试工具,但因为一个大型的嵌入式系统通常有几十,甚至几百个模块组成,且对于一个大型系统,每个模块的状态转移可能非常复杂,要覆盖所有的可能情况需要编写的测试代码量很大,且缺乏通用性,代码利用率低,测试周期长,同时,由于不同开发人员编写测试代码时可能产生的错误与遗漏,导致部分本应该在模块测试时发现的缺陷引入到系统集成测试阶段,甚至导致测试结果的不可靠性。另外,这种测试方法一般还需要特定的硬件测试环境的支持,影响了软件测试的进度。
技术实现思路
本专利技术的目的是,为所有的嵌入式模块和子系统,提供一个基于公共Host(主机)平台的通用的测试装置,从而最大限度的避免测试工具的重复开发,缩短模块和子系统的测试周期,提高软件开发效率。本专利技术所提供的一种基于主机平台的嵌入式模块和子系统的通用测试装置,基于公共资源库对运行于主机抽象虚拟环境上的模块和子系统进行测试,其特征在于它包括一个测试用例编辑单元、一个测试用例池、一个测试单元、一个调试单元和一个分析单元,其中测试用例池,存放测试用例的数据库;测试用例编辑单元,与测试用例池相连,主要完成测试用例的编辑、修改、检查、管理功能,测试用例表现为消息的数据结构形式,消息头中包括测试对象信息,消息体中包括输入参数信息,并可将测试用例组成一个有效的测试用例集,根据预先定义的规则,检查测试用例的合法性,以决定是否存储到测试用例池中;测试单元,与测试用例池相连,包括选择发送功能实体和接收发送功能实体,选择发送功能实体提供用户界面,方便测试人员从测试用例池中选取测试用例或测试用例集,通过发送测试消息激励模块或子系统,由接收发送功能实体接收模块或子系统的响应,完成对测试用例指定的测试对象的测试,并把最后测试的结果发送给测试装置的分析单元;调试单元,与测试用例池相连,包括选择发送功能实体和接收显示功能实体,对模块内重要的消息完成跟踪功能,针对模块或子系统里的调试代码,通过编译开关设置激活,使模块内部发送和接受的重要消息透明地传送到本调试单元,由本调试单元进行解码分析,从而实现了消息跟踪调试功能,为了实现特定的调试,由选择发送功能实体从测试用例池中读取特定的测试用例驱动模块或子系统,接收显示功能实体直接显示跟踪的消息原语内容;分析单元,与调试单元相连,包含三个功能实体,即接收功能实体、分析功能实体及记录和显示功能实体,用作对测试结果记录进行分析,除了完成基本功能,包括整个测试耗时、通过和未通过的测试项数、记录每个未通过项,还完成高级测试结果分析功能,包括代码覆盖率、关键函数的执行频率、各个模块与函数的相对执行时间,并可将分析结构反馈给测试用例编辑单元,用于调整测试用例或测试用例集进入测试用例池的准则,同时将分析结果记录到文件和进行界面呈现。上述的基于主机平台的嵌入式模块和子系统的通用测试装置,其中,测试装置与被测试的模块或子系统间的通信机制采用消息形式,并且调用主机平台上的抽象虚拟环境提供的应用编程接口发送和接受消息,消息的格式由特定的测试用例提供。上述的基于主机平台的嵌入式模块和子系统的通用测试装置,其中,测试单元的测试是串行进行的,即当前一个测试用例完成时,才能进行下一个测试,或当前的测试用例集完成后,才能进行下一个测试用例集的测试。上述的基于主机平台的嵌入式模块和子系统的通用测试装置,其中,测试包括由测试单元实现的黑盒测试和由调试单元实现的白盒测试两种,且对于一个测试用例驱动的测试是否完成的判断,可由调试单元自动完成或者由测试人员灵活指定。通过本专利技术,为大型嵌入式系统的开发提供了一种基于主机平台的模块和子系统的通用测试方法,将本来需要下载到硬件系统中才能进行的测试,无缝的移植到公共Host(主机)平台上进行,不仅减少了软件测试对硬件资源的依赖性及繁琐性,有效的提高了软件调试的效率;而且更为重要的是,该测试装置能根据不同的测试用例,对不同的模块和子系统进行测试。测试装置的绝大部分直接运行于主机平台,以后即使抽象虚拟环境需要改写时,只要HOST平台不变,测试装置仍具有较好的通用性,从而最大限度的避免了测试工具的重复开发,缩短了模块和子系统的测试周期。从实际测试的效果来看,该测试装置比通常的方法能更早、更多的发现模块或子系统设计中的缺陷,有效的检查出如消息参数错误、模块状态转移错误、以及状态处理错误等缺陷,较以前的方法能缩短近50%的模块和子系统测试时间。同时,上述模块测试缺陷的发现概率能够达到80%,有效的避免了将上述缺陷引入到系统测试阶段。附图说明图1本专利技术测试装置的总体结构图;图2本专利技术中的测试用例数据结构图;图3本专利技术中的测试单元结构图;图4本专利技术中的分析单元结构图;图5本专利技术中的调试单元结构图。具体实施方式本专利技术基于这样一个事实前提对于大型嵌入式系统,由于所采用的操作系统(OS)可能变化,一般开发者在软件设计之初就考虑到了系统的可移植性,在底层使用一种虚拟层的机制将操作系统封装,从而实现上层应用与操作系统的无关性。所以可以通过一种基于公共Host(主机)平台的抽象单元,提供一个与设备虚拟层相当的等价层,从而能够无缝的将一个嵌入式系统移植到公共Host平台,通过提供编译文件单元(包括主机抽象虚拟环境),由嵌入式系统的源代码编译成的可执行文件能够在主机平台上运行。如图1所示,本专利技术是测试装置5,其绝大部分实体运行于HOST平台1,只有少量涉及到与模块和子系统3通信的消息接口函数调用了主机抽象虚拟环境2提供的API(应用编程接口),并且它还利用了公共资源库4。在此环境中测试装置5对模块和子系统3提供测试功能。HOST平台1物理上是一台运行Windows2000(微软公司的一种计算机操作系统)的PC(个人电脑)。主机抽象虚拟环境2是一层基于Windows2000的虚拟机,对上提供与VxWorks(一种实时操作系统)虚拟机一样的API(应用编程接口),封装了Windows2000的具体细节。VxWorks(一种实时操作系统)虚拟机是为模块和子系统3开发的,封装了VxWorks的具体细节,运行在VxWorks上,图1中没有给出。主机抽象虚拟环境2是为移植模块和子系统3到HOST平台1上开发的,以配合测试装置5的使用。模块和子系统3是在VxWorks虚拟机上开发的RNC(无线资源控制器)、NodeB(基站收发信机B)以及MT(移动终端)的上层协议软件,正常情况下运行于VxWorks,此处,通过主机抽象虚拟环境2把它移植到HOST平台1运行。公共资源库4包本文档来自技高网...

【技术保护点】
一种基于主机平台的嵌入式模块和子系统的通用测试装置,基于公共资源库对运行于主机抽象虚拟环境上的模块和子系统进行测试,其特征在于:它包括一个测试用例编辑单元、一个测试用例池、一个测试单元、一个调试单元和一个分析单元,其中: 测试用例池,存放测试用例的数据库; 测试用例编辑单元,与测试用例池相连,主要完成测试用例的编辑、修改、检查、管理功能,测试用例表现为消息的数据结构形式,消息头中包括测试对象信息,消息体中包括输入参数信息,并可将测试用例组成一个有效的测试用例集,根据预先定义的规则,检查测试用例的合法性,以决定是否存储到测试用例池中; 测试单元,与测试用例池相连,包括选择发送功能实体和接收发送功能实体,选择发送功能实体提供用户界面,方便测试人员从测试用例池中选取测试用例或测试用例集,通过发送测试消息激励模块或子系统,由接收发送功能实体接收模块或子系统的响应,完成对测试用例指定的测试对象的测试,并把最后测试的结果发送给测试装置的分析单元; 调试单元,与测试用例池相连,包括选择发送功能实体和接收显示功能实体,对模块内重要的消息完成跟踪功能,针对模块或子系统里的调试代码,通过编译开关设置激活,使模块内部发送和接受的重要消息透明地传送到本调试单元,由本调试单元进行解码分析,从而实现了消息跟踪调试功能,为了实现特定的调试,由选择发送功能实体从测试用例池中读取特定的测试用例驱动模块或子系统,接收显示功能实体直接显示跟踪的消息原语内容; 分析单元,与调试单元相连,包含三个功能实体,即接收功能实体、分析功能实体及记录和显示功能实体,用作对测试结果记录进行分析,除了完成基本功能,包括整个测试耗时、通过和未通过的测试项数、记录每个未通过项,还完成高级测试结果分析功能,包括代码覆盖率、关键函数的执行频率、各个模块与函数的相对执行时间,并可将分析结构反馈给测试用例编辑单元,用于调整测试用例或测试用例集进入测试用例池的准则,同时将分析结果记录到文件和进行界面呈现。...

【技术特征摘要】

【专利技术属性】
技术研发人员:张建林曹鹏志胡国雄刘泽红肖振民候文权
申请(专利权)人:上海贝尔有限公司
类型:发明
国别省市:31[中国|上海]

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

1