一种测试软件集成框架及测试数据的处理方法
技术领域
本发明涉及计算机软件、自动测试以及仪器仪表领域,尤其是一种测试软件集成框架及测试数据的处理方法。
背景技术
传统上,自动测试系统集成的一项重要的工作就是测试软件开发。由于测试系统的定制化要求,目前还没有一种通用的测试软件集成框架,也就意味着从用户的角度而言,测试软件千奇百怪各有不同。随着自动测试的小型化,过去单台套的大型测试系统将逐步被大量小巧轻便的便携式测试设备所取代,一种用户易于操作使用、功能完备且具有扩展性的通用测试软件集成框架呼之欲出。
另外,随着技术水平的发展,目前嵌入式系统、数据采集、DSP和FPGA等大量应用,传统的单一功能一体化测试仪器/仪表已经有被多功能、模块化的智能仪器/仪表所代替的趋势。传统仪表固定的检测程序和基本由人工操作设备的复杂性越来越不适应用户自动化测试以及便捷性操作的需求。
发明内容
本专利要解决的技术问题是提供一种测试软件集成框架,使得测试软件具有很好的兼容性和平台无关性,功能完善、易于使用,即可安装于小型化的自动测试设备中,也可嵌入到新一代智能检测仪器中,还要具有良好的测试数据管理功能,支持网络操作。
根据本发明的一方面,提供了一种测试软件的基本框架,包括:
内核引擎,用于提供测试执行管理,可以提供测试步骤的顺序、选择、循环、跳转流程管理,且还具有测试数据共享功能,为不同测试程序模块间交换和处理同一组测试数据提供管道;
底层基础库,由三类不同形式的框架文件组成,数据库可以存储测试过程中的原始数据和测试完成的结果数据,参数库是测试方法、测试算法以及测试经验的抽象合集、驱动库为测试提供了硬件操作支持;
应用程序接口,是测试程序运行所需的第三方软件接口,具有负责代码级编译/解释的运行时间系统(RTS)、操作系统(OS)功能接口、办公管理软件(Office)以及数据库(DB)软件的调用接口;
设置项,根据不同用户习惯选择和设定用户界面(UI),对硬件资源(HRC)进行部署,配置、创建、管理、删除用户(User)及进行用户权限管理,外网及内网设置;
测试程序模块(APP),支持三类不同应用场景的程序模块APP,自动测试程序(软件控制下的智能测试)、半自动测试程序(人机交互模式下的引导测试)以及手动测试程序(完全人工操作的软面板测试)。
还包括软件模块,采用图形化人机交互界面,与软件运行的操作系统平台无关;具有远程测试、无线测试和网络测试特点;软件模块采用模块化设计,各模块间高内聚低耦合,可以单独对每一个模块进行升级和维护;测试数据具有现场保存和同步分析功能,以数据库形成存放易于数据管理和数据查询;测试程序模块(APP)与底层硬件无关,可通过升级驱动库支持不同硬件测试;测试程序模块(APP)支持网络分发和在线升级,具备收费与权限管理能力。
进一步,所述的软件模块,数据共享提高了单次测试的数据利用效率,可支持多个测试程序模块(APP)的协同测试;运用并行测试方式,硬件设备资源得到了解放,测试时间大大缩短;数据流盘就像测试设备的黑盒子,实时记录所有的测试原始信息,避免关键数据丢失或无法复现测试现场。
根据本发明的另一方面,提供一种测试软件基本框架测试数据的处理方法,包括:
程序间共享数据功能,支持同一程序不同线程以及程序间不同进程共享数据,可实现原始测试数据的多任务处理;
并行测试功能,对于同一组测试数据,既可以图形显示也可以分析处理还可以实时保存;
数据备份与回放功能,对于原始测试数据可以采用后台流盘技术完整备份,并支持按任意时间点回放。
本发明的有益效果是:该框架采用软件模块化设计,各软件单元间通过内核引擎进行数据交换,每个软件模块都可单独替换、更新、升级和维护,具有高内聚低耦合的特点。测试执行提供标准的顺序、选择、循环、跳转等流程,针对不同应用场景还提供了可选的用户界面,适合于测试人员操作习惯。框架提供的底层基础库和应用程序接口使得测试软件与操作系统及硬件环境无关,真正实现了跨平台跨设备一致性。
附图说明
图1是本发明框架的五大部分组成结构示意图;
图2是内核引擎的组成结构示意图;
图3是应用程序接口的组成结构示意图;
图4是底层基础库的组成结构示意图;
图5是设置项的组成结构示意图;
图6是测试程序的组成结构示意图;
图7是测试数据的处理方法流程图。
具体实施方式
下面结合附图说明和实施例对本发明作进一步说明。
图1中,一种测试软件的基本框架,包括内核引擎,用于提供测试执行管理,可以提供测试步骤的顺序、选择、循环、跳转流程管理,且还具有测试数据共享功能,为不同测试程序模块间交换和处理同一组测试数据提供管道;底层基础库,由三类不同形式的框架文件组成,数据库可以存储测试过程中的原始数据和测试完成的结果数据,参数库是测试方法、测试算法以及测试经验的抽象合集、驱动库为测试提供了硬件操作支持;应用程序接口,是测试程序运行所需的第三方软件接口,具有负责代码级编译/解释的运行时间系统(RTS)、操作系统(OS)功能接口、办公管理软件(Office)以及数据库(DB)软件的调用接口;设置项,根据不同用户习惯选择和设定用户界面(UI),对硬件资源(HRC)进行部署,配置、创建、管理、删除用户(User)及进行用户权限管理,外网及内网设置;测试程序模块(APP),支持三类不同应用场景的程序模块APP,自动测试程序(软件控制下的智能测试)、半自动测试程序(人机交互模式下的引导测试)以及手动测试程序(完全人工操作的软面板测试)。
图2中,内核引擎是框架的核心,它负责测试流程管理和测试数据管理两大功能。其中测试流程管理主要是完成测试过程中顺序、选择、循环、跳转结构的软件实现,以便测试程序(APP)根据需要调用;测试数据管理解决数据从哪里来、到哪里去、怎么存储、怎么处理的管道问题,这一部分又可分为数据传输、数据共享和数据存储单元。
图3中,应用程序接口(API)是框架负责与第三方软件平台的接口,由于测试程序可能运行于不同操作系统、需要解释/编译底层代码、需要数据库管理以及需要对文档的格式化支持,因此这一部分包括了RTS、OS、Office及DB的API调用,这些调用大多以动态链接库(dll)形式存在。
图4中,底层基础库实现了框架与硬件无关性、数据的规范化存储以及测试过程的参数化抽象。其中,驱动库负责测试硬件资源与测试程序命令的映射关系,数据库将测试过程数据和测试结果数据及时存储起来,参数库是测试方法、测试步骤、测试经验和测试手段的抽象合集,一部分归一封装为动态链接库、一部分抽象为调用接口参数。
图5中,设置项是框架的关节。通过设置项,框架才有了真正具有运作的功能。其中,UI设置使得框架具有了与测试操作人员进行交互的界面,HRC设置使得框架能够和具体的测试硬件相关联,User设置使得框架具有了用户管理和权限管理,网络设置使得框架具备了内网和外网联接能力。
图6中,测试程序模块(APP)使得框架可以完成最终的测试应用,一共有三类不同形式的程序模块APP,一类是自动测试程序,它是在程序控制下按照预定的流程无外在干预地完成整个测试并输出测试结果;一类是半自动测试程序,它是在人机交互模式下按照程序引导的流程由操作人员有选择地完成测试并给出测试结果;另一类是手动测试程序,它是类似与虚拟仪器软面板的参数化测试程序,完全由测试操作人员通过手动设置面板上的各类参数操作设备获取测试数据并人工判定结果。这三类程序模块APP涵盖了当前自动测试和智能仪表的主要应用。
根据本发明的另一方面还提出了一种测试软件基本框架测试数据的处理方法,包括:
程序间共享数据功能,支持同一程序不同线程以及程序间不同进程共享数据,可实现原始测试数据的多任务处理。
并行测试功能,对于同一组测试数据,既可以图形显示也可以分析处理还可以实时保存。
数据备份与回放功能,对于原始测试数据可以采用后台流盘技术完整备份,并支持按任意时间点回放。
本发明采用软件模块化设计,各软件单元间通过内核引擎进行数据交换,每个软件模块都可单独替换、更新、升级和维护,具有高内聚低耦合的特点。测试执行提供标准的顺序、选择、循环、跳转等流程,针对不同应用场景还提供了可选的用户界面,适合于测试人员操作习惯。框架提供的底层基础库和应用程序接口使得测试软件与操作系统及硬件环境无关,真正实现了跨平台跨设备一致性。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。