一种面向硬件设备功能的自动测试系统及方法技术方案

技术编号:7112443 阅读:248 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种面向硬件设备功能的自动测试系统及方法,所述系统包括作为被测硬件设备测试平台的现场可编程门阵列(FPGA)测试目标平台,还包括FPGA?bit文件管理和烧录子系统,基本输入/输出系统(BIOS)文件管理及烧录子系统,自动测试系统平台。在初始化完成后,测试时,自动测试系统平台提供对测试目标平台的测试控制,保存有自动测试所需的自动测试脚本文件及测试用例集,在测试时利用自动测试脚本完成自动测试过程,通过测试用例集完成功能测试,并用于保存测试结果。本测试系统具有通用性,并具有较强可扩展性,可根据实际需求,增加特定的环境初始化、执行控制、结果分析模块。

【技术实现步骤摘要】

本专利技术涉及面向硬件设备功能的开发测试
,尤其涉及。
技术介绍
基于FPGA(现场可编程门阵列,Field Programmable Gate Array)原型系统的功能能验证和性能评测是集成电路开发过程中的一个重要环节。在基于FPGA器件的计算机原型系统开发平台中,对各个硬件设备模块(如硬盘控制器、USB控制器、网络适配器等) 的汇编程序测试是硬件设备功能验证的必要步骤。当前在此类测试中一般存在以下几个问题第一,为保证测试的覆盖率以及满足特定情况下的压力测试需求,对某一单独功能模块的测试过程可能涉及大量测试程序,对于所涉及的大量测试程序很难凭借纯手工操作方式进行测试。第二,对于不同的测试,从测试结果判定测试成功与否的标准不尽相同,且有些测试向量可能涉及到对二进制数据的比较分析。若采用手工操作方式进行测试,则往往需要借助其它工具来实现,必然会影响到测试效率。第三,对于大量测试结果的记录与统计,采用依靠人力的手工测试方式同样难以实现。因此,目前对于此类测试,一般采用编写测试脚本的方式完成测试过程,但由于模块差异以及测试脚本的程序特性差异,测试不同模块所得结果的表示方式等内容也不尽相同,往往需要为不同的单元测试编写不同的测试脚本,因其不具通用性而必然造成效率较低、代价较大的结果。目前已有的自动测试相关专利中,测试方案的侧重点均有所不同,并不适应于基于FPGA的计算机原型系统开发平台中各设备功能的软件测试。例如,申请号为 200710076906. 1的专利“一种嵌入设备的软件自动测试工具及方法”主要针对手机、固定机台等嵌入式设备的软件测试,其技术方案需要建立专门的测试用例XML脚本并对其进行解析执行;申请号为200710134884. X的专利“基于可编程逻辑器件的多芯片自动测试方法”则注重测试FPGA电路中的电气特性,无法满足系统级硬件设备功能的测试要求; 申请号为200610126966. 5的专利“嵌入式软件自动测试系统及其测试方法”和申请号为 200410064302. 1的专利“一种嵌入式软件自动化测试的装置及其方法”所提的测试方案则针对软件系统提出的测试方法。所以,这就需要一种面向硬件设备功能的通用的自动测试系统及方法,来解决当前测试中所存在的问题。
技术实现思路
本专利技术所要解决的技术问题在于,提供一种面向硬件设备功能的自动测试系统及4方法,用于解决现有硬件设备的测试系统中存在的测试复杂且不具通用性的问题。为了解决上述问题,本专利技术提出了一种面向硬件设备功能的自动测试系统,包括作为被测硬件设备测试平台的现场可编程门阵列(FPGA)测试目标平台,还包括FPGA bit文件管理和烧录子系统,通过FPGA接口与FPGA测试目标平台相连接,用于管理FPGA测试目标平台上所运行的硬件设备功能模块所需的具体的bit文件,用于在准备测试时通过FPGA接口向FPGA测试目标平台烧录与当前被测的硬件设备功能模块相对应的bit文件;基本输入/输出系统(BIOS)文件管理及烧录子系统,通过BIOS仿真器与FPGA测试目标平台相连接,用于在准备测试时向BIOS仿真器烧录测试所需的BIOS文件;自动测试系统平台,通过硬件调试器与FPGA测试目标平台连接,用于提供对测试目标平台的测试控制,保存有自动测试所需的自动测试脚本文件及测试用例集,在测试时利用自动测试脚本完成自动测试过程,通过测试用例集完成功能测试,并用于保存测试结果 ο进一步地,所述BIOS文件管理及烧录子系统向BIOS仿真器提供的BIOS文件中, 包括用于在初始化流程后及开始执行测试前的一个循环等待对应的死循环地址;用于在跳过上述死循环地址对应的死循环后,BIOS初始化供测试环境使用的段描述符,以及对应的保护模式,最后长跳转至地址0x0:0x0进入保护模式;其中,所述段描述符包括基址为0x00000000的代码段CS的段描述符,代码段从物理地址 0x00000000 开始;所述保护模式从0x0000:0χ00Β00000处,即物理地址0x00B00000处开始执行;数据段DS、ES、FS和堆栈段SS的段描述符基址均为0x00000000,对上述段描述符对应的段址寄存器进行内存读写时,实际读写的物理地址与所用逻辑地址数值相等。进一步地,所述自动测试系统平台保存的测试用例文件的测试代码结构中包括以text段开头、标明32位指令模式、偏移量为0的开头部分;用于在测试过程和结束时保存结果数据的内存区域;用于在测试结束后通知测试脚本测试已完成的应跳转到的一个固定地址。进一步地,所述自动测试系统平台在测试结束后对测试结果的表示方式包括如下方式之一或它们的组合是否执行结束;是否执行成功;保存测试结果;比较测试结果。进一步地,所述自动测试系统平台的自动测试脚本文件中包括用于保存测试脚本文件的所在文件夹的绝对路径信息。本专利技术还提供一种基于上述面向硬件设备功能的自动测试系统的测试方法,包括全局测试初始化步骤,对自动测试系统平台进行初始化,设置测试运行所需的断点信息,统计测试用例文件集,获得测试文件列表,对列表中的每一测试用例文件执行以下两个步骤单文件测试准备步骤,重置FPGA测试目标平台,进行BIOS初始化,将当前测试所需测试用例文件载入FPGA测试目标平台内存中,在进入保护模式后,设置测试程序终止地址断点;单文件测试执行步骤,在保护模式下执行测试用例程序,根据规定的内存使用规范按需使用特定的内存区域,并将结果保存在规定的测试结果数据区域,测试执行结束后, 跳转到终止地址,触发在准备步骤中所设置的终止地址断点;测试过程中和/或测试结束后按对应结果表示方式,对测试结果进行处理。进一步地,所述测试用例文件的测试代码结构中包括以text段开头、标明32位指令模式、偏移量为0的开头部分;用于在测试过程和结束时保存结果数据的内存区域;用于在测试结束后通知测试脚本测试已完成的应跳转到的一个固定地址。进一步地,在对BIOS进行初始化过程中,包括配置在初始化流程后及开始执行测试前的一个循环等待对应的死循环地址;配置在跳过上述死循环地址对应的死循环后, BIOS初始化供测试环境使用的段描述符,以及对应的保护模式,最后跳转至地址0x0:0x0 进入保护模式;其中,所述段描述符包括基址为0x00000000的代码段CS的段描述符,代码段从物理地址 0x00000000 开始;所述保护模式从0x0000 OxOOBOOOOO处,即物理地址0x00B00000处开始执行;数据段DS、ES、FS和堆栈段SS的段描述符基址均为0x00000000,对上述段描述符对应的段址寄存器进行内存读写时,实际读写的物理地址与所用逻辑地址数值相等。进一步地,所述自动测试系统平台对测试结果的表示方式包括如下方式之一或它们的组合是否执行结束;是否执行成功;保存测试结果;比较测试结果。进一步地,所述全局测试初始化步骤,中,包括将测试脚本文件的所在文件夹的绝对路径信息加入自动测试系统平台的自动测试脚本文件的步骤。本专利技术的自动测试系统及自动测试方法,利用硬件调试器(比如FS2)的支持,通过定义统一的测试执行规范实现通用的自动测试系统,支持对不同硬件模块单元测试程序的自动执行,并可对测试结果进行分析判定以及统计。与现有本文档来自技高网
...

【技术保护点】
1.一种面向硬件设备功能的自动测试系统,其特征在于,包括作为被测硬件设备测试平台的现场可编程门阵列(FPGA)测试目标平台,还包括:FPGA bit文件管理和烧录子系统,通过FPGA接口与FPGA测试目标平台相连接,用于管理FPGA测试目标平台上所运行的硬件设备功能模块所需的具体的bit文件,用于在准备测试时通过FPGA接口向FPGA测试目标平台烧录与当前被测的硬件设备功能模块相对应的bit文件;基本输入/输出系统(BIOS)文件管理及烧录子系统,通过BIOS仿真器与FPGA测试目标平台相连接,用于在准备测试时向BIOS仿真器烧录测试所需的BIOS文件;自动测试系统平台,通过硬件调试器与FPGA测试目标平台连接,用于提供对测试目标平台的测试控制,保存有自动测试所需的自动测试脚本文件及测试用例集,在测试时利用自动测试脚本完成自动测试过程,通过测试用例集完成功能测试,并用于保存测试结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:程旭郑衍松黄侃李皓张涛陈守亮
申请(专利权)人:北京北大众志微系统科技有限责任公司
类型:发明
国别省市:11

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

1