一种自动化测试系统及方法

文档序号:6535686阅读:165来源:国知局
一种自动化测试系统及方法
【专利摘要】一种自动化测试系统及方法,涉及数字通信和计算机软件领域的自动化测试,与被测设备连接,包括依次连接的多项目管理模块、主控模块、同步交叉模块,还包括同步交叉模块分别连接的判决信息处理模块、配置信息处理模块、自监测处理模块;判决信息处理模块连接判决信息库,配置信息处理模块连接配置信息库,自监测处理模块连接自监测信息库,判决信息库、配置信息库、自监测信息库都与被测设备相连;主控模块连接监控模块和人机接口模块;同步交叉模块针对当前测试案例,完成判决信息处理模块、配置信息处理模块、自监测处理模块之间的同步处理。本发明具备第三方测试切换能力,提高故障定位能力,实现资源共享,节省项目的开发时间成本。
【专利说明】一种自动化测试系统及方法
【技术领域】
[0001]本发明涉及数字通信和计算机软件领域的自动化测试,具体来讲是一种自动化测试系统及方法。
【背景技术】
[0002]集成电路的芯片设计在芯片投片前做原型验证,芯片样片回来以后需要做样片功能验证,最终的目的都是使芯片尽快推向市场。对于复杂功能的芯片的测试案例库非常庞大,如果完全靠手工测试,其工作量很大,为此人们采取自动化回归测试方法来提高测试效率。经查阅,现有的自动化测试技术如中国专利CN200510032851.5的《一种可再现的自动测试方法》、CN201110168160.3的《软件自动测试的方法及系统》等,都会存在以下问题:
[0003]I)现有的自动化测试方案一般是基于同一套测试,不具备第三方测试的切换能力。
[0004]2)—般是通过日志记录,对出现故障的案例进行单独调试,安全的故障定位能力比较低。
[0005]3)现有的自动化测试一般是针对某个特定项目进行,资源共享方面能力不足,影响项目开发进度。

【发明内容】

[0006]针对现有技术中存在的缺陷,本发明的目的在于提供一种自动化测试系统及方法,具备第三方测试的切换能力,提高故障定位能力,实现资源共享,节省项目的开发时间成本。
[0007]为达到以上目的,本发明提供一种自动化测试系统,与被测设备连接,包括依次连接的多项目管理模块、主控模块、同步交叉模块,还包括同步交叉模块分别连接的判决信息处理模块、配置信息处理模块、自监测处理模块,所述判决信息处理模块连接判决信息库,配置信息处理模块连接配置信息库,自监测处理模块连接自监测信息库,且所述判决信息库、配置信息库、自监测信息库都与被测设备相连;所述主控模块连接一个用于监控测试中各关键节点的监控模块,还连接一个用于接收人工输入的人机接口模块;所述多项目管理模块根据不同的用户级别设置配备不同的测试资源;主控模块接收其他模块的输入,完成自动化测试的初始配置;同步交叉模块基于主控模块提供的信息,针对当前的测试案例,完成判决信息处理模块、配置信息处理模块、自监测处理模块三者之间的同步化处理。
[0008]在上述技术方案的基础上,所述监控模块还连接三个数据库,分别为成功案例数据库、异常案例数据库和常用日志信息库。
[0009]本发明还提供一种基于上述系统的自动化测试方法,包括步骤:S1.多项目管理模块进行项目编号以及用户验证;S2.主控模块接收来自多项目管理模块和人机接口模块的信息,完成测试所需配置;S3.同步交叉模块根据一个测试案例启动自动化测试,判决信息库向被测设备发送测试数据流,被测设备对测试数据流经功能转换后,发出转换后的数据流;判决信息库接收转换后的数据流,并对所述数据流进行超时判断、被测设备的状态监测判断后,由当前案例按预期的匹配规则进行收发码流的功能匹配检测;S4.主控模块判断当前测试案例是否为最后一个测试案例,若是,进入S5 ;若否,进入S3 ;S5.监控模块根据每个测试案例的测试通过情况,建立对应测试集的各种数据库。
[0010]在上述技术方案的基础上,所述S2中测试所需配置包括API数据库配置、测试所用的端口配置、测试模式以及测试集合配置。
[0011]在上述技术方案的基础上,所述人机接口模块发来强制修改测试条件的信息,主控模块根据该信息修改相应测试案例所需的变量,测试案例按新变量继续进行。
[0012]在上述技术方案的基础上,所述S2的具体步骤为,S21.主控模块基于项目编号,配置与本轮自动化测试案例相关的API数据库;S22.所述人机接口模块配置输入端口和输出端口,判决信息处理模块通过输出端口发送数据流到被测设备,通过输入端口接收被测设备发送的数据流;S23.用户通过人机接口模块配置测试模式,并配置自动化测试案例的
隹A
口 O
[0013]在上述技术方案的基础上,所述自动化测试案例的集合包括三种模式,全选择模式,即本项目中的所有测试案例;功能块选择模式,即按项目的功能划分的全部测试案例的一个子集;枚举选择模式,即手动从本项目的测试案例的集合中挑选若干测试案例构成的测试集。
[0014]在上述技术方案的基础上,所述S3的测试步骤不成功时,同步交叉模块自动跳转至下一个测试案例测试,或者通知主控模块终止自动化测试;主控模块还随时接受来自人机接口模块的中止信息。
[0015]在上述技术方案的基础上,所述S3的详细步骤为,S31.同步交叉模块监测当前运行的测试案例是否配置成功,如果是或为首次启动测试案例,进入S2 ;否则进入S4 ;S32.同步交叉模块发送信息给配置信息处理模块,调度配置信息库对当前测试序号匹配的测试案例进行测试设备配置;S33.同步交叉模块发送信息给判决信息处理模块,判决信息库调度对应的测试条目,发送测试所需要的数据流给被测设备;S34.判决信息库判断接收数据流是否超时,若是,进入S4 ;否则进入S35 ;S35.按照预期的匹配规则判断数据流功能是否正确,若是,进入S36 ;若否,进入S4 ;S36.自监测处理模块向同步交叉模块发送当前测试案例的同步请求信息,同步交叉模块记录该同步请求信息,作为下次测试案例启动的依据。
[0016]本发明的有益效果在于:
[0017]1、本发明将测试案例逻辑上区分到三个独立的库中,通过同步交叉模块完成这三个库的协调工作,可以修改同步交叉模块中的映射关系,实现基于同一功能来自不同方的测试的互换,在自动化测试中赋予了交互相验证的功能,提高了自动化测试的安全性和可靠性。
[0018]2、所述同步交叉模块建立了当前测试案例的序号,还建立了分布在三个库中的一个测试案例的三个部分之间的映射关系,可以协调这三部分之间的一致性,实现交互验证的功能。
[0019]3、多项目管理模块实现了不同项目之间的资源共享,可以节省项目的开发时间;根据用户的级别设置自动化回归的权限,可提高自动化测试的安全性。
[0020]4、所述人机接口模块,实现自动化测试中的人工干涉能力,提供双模式和多种测试集选择原则,便于跟踪调试,节省自动化测试时间。
[0021]5、所述监控模块可以建立成功案例数据库、异常案例数据库以及常用日志信息库,能够跟踪项目的进度,提高自动化测试中出现异常时的调试能力。
【专利附图】

【附图说明】
[0022]图1为本发明自动化测试系统示意图;
[0023]图2为本发明自动化测试方法流程图。
【具体实施方式】
[0024]以下结合附图及实施例对本发明作进一步详细说明。
[0025]如图1所示,本发明自动化测试系统,与DUT(Device Under Test,被测设备)连接,针对DUT进行自动化测试。自动化测试系统包括依次连接的多项目管理模块、主控模块、同步交叉模块,主控模块还连接人机接口模块和监控模块。所述自动化测试系统还包括同步交叉模块分别连接的判决信息处理模块、配置信息处理模块、自监测处理模块,所述判决信息处理模块连接判决信息库,配置信息处理模块连接配置信息库,自监测处理模块连接自监测信息库,并且所述判决信息库、配置信息库、自监测信息库都与DUT相连。上述各模块是逻辑上的概念,可以是物理分开的,也可以是不分开的,可以驻留在分布式系统,也可驻留在同一台计算机里。DUT可以是软件形式存在(包括编程语言),也可以是若干芯片和软硬件构成的设备。
[0026]所述多项目管理模块可以实现对不同项目共享的测试资源进行统一管理,设置基于项目和用户的双重账户密码管理,根据不同的用户级别设置配备不同的测试资源;给主控模块常规初始化提供相应的缺省输入。所述人机接口模块,用于接收来自界面或者命令行的输入,进行综合处理,将处理后的信息发送给主控模块,交由主控模块统一协调后触发其他模块的工作。所述主控模块接收其他模块的输入,完成自动化测试的初始配置。同时根据其他模块的输入进行综合分析,产生相应的输出给其他模块,协调各模块之间的工作。
[0027]所述同步交叉模块基于主控模块提供的信息,针对当前的测试案例完成:判决信息处理模块、配置信息处理模块、自监测处理模块三者之间的同步化处理,即保证三者之间针对当前测试案例在内容和执行的一致性,步调上保持逻辑顺序。所述判决信息处理模块接收来自同步交叉模块的输入,向DUT的虚拟输入端口发送相应的输出数据流,并接收来自DUT的虚拟输出端口所发送的数据流,为测试案例所需完成的功能测试提供符合逻辑的判决功能。所述判决信息库中存储全部测试案例,接收判决信息处理模块的调度,从中选出和当前测试案例序号相匹配的测试条目,产生测试所需的数据流,提供接收数据包的匹配判决机制。所述配置信息处理模块该模块接收来自同步交叉模块的信息,完成对DUT的基于当前测试案例的配置。所述配置信息库提供匹配当前测试案例序号的配置信息,接收配置信息处理模块的调度,完成对DUT的基于当前测试案例的配置。自监测处理模块用于自动化测试过程中基于当前案例的自监测,包含对DUT的配置是否成功、是否有基于当前测试案例的标识性行为产生的监测等功能处理;处理后的信息将返回给主控模块统一处理,触发其他模块的相应工作。自监测信息库提供匹配当前测试案例序号的自监测信息。
[0028]所述监控模块还连接三个数据库,分别为:成功案例数据库、异常案例数据库和常用日志信息库。监控模块对自动化测试过程中的各关键节点进行监控,成功案例数据库用于项目开发中其他的应用,或下次回归中的类比参考。异常案例数据库方便进行故障定位,是由系统监控模块产生的回归中不通过的案例,以及人工干涉修改了测试环境的案例等组成。常用日志信息库记录本轮自动化测试的开始和结束时间、各案例的开始时间和耗时、案例的所用的初始化配置集合,方便相关人员进行项目进度的跟踪,和提高必要的调试分析资料。所述监控模块还可以建立成功测试配置的DUT配置数据库,建立测试案例收发码流信息数据库。
[0029]本发明基于上述系统的自动化测试方法,包括如下步骤:
[0030]S1.多项目管理模块启动,进行项目编号以及用户验证,即系统提供项目编号选择,以及用户账号和密码对话框;负责自动化测试的技术人员会输入合法的信息,供系统验证是否为合法用户,若验证通过,进入S2,否则进入S4。
[0031]S2.主控模块接收来自多项目管理模块和人机接口模块的信息,完成测试所需配置,包括API数据库配置、测试所用的端口配置、测试模式以及测试集合配置等;其详细步骤为:
[0032]S21.主控模块基于项目编号选择,配置与本轮自动化测试案例相关的API数据库,即各测试案例所用到的基础数据库;其中API数据库与主控模块相连(图未示)。
[0033]S22.所述人机接口模块配置好测试所需的输入端口和输出端口,所述端口为虚拟端口,判决信息处理模块通过输出端口发送数据流到DUT,通过输入端口接收DUT发送的数据流。
[0034]S23.用户通过人机接口模块配置测试模式,测试模式有两种:模式I为Bypassmode,如选择该模式,自动化测试会跳过当前不成功的测试案例(当前案例是否成功由S3中的具体步骤判断),进行下个案例的测试;模式2为限制不成功案例总数的restrictmode,如选择该模式,则系统会对本轮自动化测试中不通过的测试案例计数,当计数到设定门限的时候,即使测试集合中尚有测试案例没有运行完毕,本轮自动化测试也会结束。根据测试模式选择是否因中间测试错误终止自动化测试。用户还基于人机接口模块配置测试集,即自动化测试案例的集合,包括三种模式:全选择模式,即本项目中的所有测试案例;功能块选择模式,即按项目的功能划分的全部测试案例的一个子集;枚举选择模式,即手动从本项目的测试案例的集合中挑选若干测试案例构成的测试集。
[0035]S3.同步交叉模块根据一个测试案例启动自动化测试,判决信息库向DUT发送测试数据流,DUT对测试数据流经功能转换后,发出转换后的数据流;判决信息库接收转换后的数据流,判决信息库对接收数据流进行超时判断、被测设备的状态监测判断后,由当前案例按预期的匹配规则进行收发码流的功能匹配检测。所述S3的测试步骤不成功时,同步交叉模块自动跳转至下一个测试案例测试,或者通知主控模块终止自动化测试。所述S3的详细步骤为:
[0036]S31.同步交叉模块监测当前运行的案例是否配置成功,如果是或为首次启动测试案例,进入S2 ;否则进入S4。
[0037]S32.同步交叉模块发送信息给配置信息处理模块,调度配置信息库对当前测试序号匹配的测试案例进行DUT配置。
[0038]S33.同步交叉模块发送信息给判决信息处理模块,判决信息库调度对应的测试条目,发送测试所需要的数据流给DUT。
[0039]S34.判决信息库判断接收数据流是否超时,若是,进入S4 ;否则进入S35 ;
[0040]S35.按照预期的匹配规则判断数据流功能是否正确,若是,进入S36 ;若否,进入
S4;
[0041]S36.自监测处理模块向同步交叉模块发送当前测试案例的同步请求信息,同步交叉模块记录该同步请求信息,作为下次测试案例启动的依据。
[0042]S4.主控模块判断当前测试案例是否为最后一个测试案例,若是,进入S5 ;若否,进入S3 ;
[0043]S5.监控模块根据每个测试案例的测试通过情况,建立测试成功案例的成功案例数据库;监控模块进行错误分析,建立异常案例数据库;监控模块记录本轮自动化测试终结输出的测试序号和原因,产生常用日志信息库。同时,监控模块还可以建立对应测试集的成功测试配置的DUT配置数据库,以及建立测试案例收发码流信息数据库。
[0044]本发明不局限于上述实施方式,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【权利要求】
1.一种自动化测试系统,与被测设备连接,其特征在于:包括依次连接的多项目管理模块、主控模块、同步交叉模块,还包括同步交叉模块分别连接的判决信息处理模块、配置信息处理模块、自监测处理模块,所述判决信息处理模块连接判决信息库,配置信息处理模块连接配置信息库,自监测处理模块连接自监测信息库,且所述判决信息库、配置信息库、自监测信息库都与被测设备相连;所述主控模块连接一个用于监控测试中各关键节点的监控模块,还连接一个用于接收人工输入的人机接口模块;所述多项目管理模块根据不同的用户级别设置配备不同的测试资源;主控模块接收其他模块的输入,完成自动化测试的初始配置;同步交叉模炔基于主控模块提供的信息,针对当前的测试案例,完成判决信息处理模块、配置信息处理模块、自监测处理模块三者之间的同步化处理。
2.如权利要求1所述的自动化测试系统,其特征在于:所述监控模块还连接三个数据库,分别为成功案例数据库、异常案例数据库和常用日志信息库。
3.一种基于权利要求1所述系统的自动化测试方法,其特征在于,包括步骤: .51.多项目管理模块进行项目编号以及用户验证; .52.主控模块接收来自多项目管理模块和人机接口模块的信息,完成测试所需配置; . 53.同步交叉模块根据一个测试案例启动自动化测试,判决信息库向被测设备发送测试数据流,被测设备对测试数据流经功能转换后,发出转换后的数据流;判决信息库接收转换后的数据流,并对所述数据流进行超时判断、被测设备的状态监测判断后,由当前案例按预期的匹配规则进行收发码流的功能匹配检测; .54.主控模块判断当前测试案例是否为最后一个测试案例,若是,进入S5;若否,进入S3; .55.监控模块根据每个测试案例的测试通过情况,建立对应测试集的各种数据库。
4.如权利要求3所述系统的自动化测试方法,其特征在于:所述S2中测试所需配置包括API数据库配置、测试所用的端口配置、测试模式以及测试集合配置。
5.如权利要求3所述系统的自动化测试方法,其特征在于:所述人机接口模块发来强制修改测试条件的信息,主控模块根据该信息修改相应测试案例所需的变量,测试案例按新变量继续进行。
6.如权利要求3所述系统的自动化测试方法,其特征在于:所述S2的具体步骤为, . 521.主控模炔基于项目编号,配置与本轮自动化测试案例相关的API数据库; .522.所述人机接口模块配置输入端口和输出端口,判决信息处理模块通过输出端口发送数据流到被测设备,通过输入端口接收被测设备发送的数据流; . 523.用户通过人机接口模块配置测试模式,并配置自动化测试案例的集合。
7.如权利要求6所述系统的自动化测试方法,其特征在于:所述自动化测试案例的集合包括三种模式,全选择模式,即本项目中的所有测试案例;功能块选择模式,即按项目的功能划分的全部测试案例的一个子集;枚举选择模式,即手动从本项目的测试案例的集合中挑选若干测试案例构成的测试集。
8.如权利要求3所述系统的自动化测试方法,其特征在于:所述S3的测试步骤不成功时,同步交叉模块自动跳转至下一个测试案例测试,或者通知主控模块终止自动化测试;主控模块还随时接受来自人机接口模块的中止信息。
9.如权利要求3所述系统的自动化测试方法,其特征在于:所述S3的详细步骤为, .531.同步交叉模块监测当前运行的测试案例是否配置成功,如果是或为首次启动测试案例,进入S2 ;否则进入S4 ; .532.同步交叉模块发送信息给配置信息处理模块,调度配置信息库对当前测试序号匹配的测试案例进行测试设备配置; .533.同步交叉模块发送信息给判决信息处理模块,判决信息库调度对应的测试条目,发送测试所需要的数据流给被测设备;.534.判决信息库判断接收数据流是否超时,若是,进入S4;否则进入S35 ;.535.按照预期的匹配规则判断数据流功能是否正确,若是,进入S36;若否,进入S4 ; .536.自监测处理模块向同步交叉模块发送当前测试案例的同步请求信息,同步交叉模块记录该同步请求信息,作为下次测试案例启动的依据。
【文档编号】G06F11/36GK103761185SQ201410015870
【公开日】2014年4月30日 申请日期:2014年1月14日 优先权日:2014年1月14日
【发明者】王爱国, 乔俊超, 杨彦波 申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1