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

技术编号:2827433 阅读:239 留言:0更新日期:2012-04-11 18:40
一种自动化测试方法,其特征在于,该方法包括:    A、确定所需使用的测试用例以及各测试用例所使用的函数库;    B、查找当前测试用例所使用各函数库的函数库信息,并根据所述函数库信息调用并加载各个函数库;    C、确定各个函数库加载成功时,调用并执行当前测试用例;    D、确定当前测试用例之后仍存在需执行的测试用例时,执行步骤B,否则,结束当前处理流程。

【技术实现步骤摘要】

本专利技术涉及自动化测试技术,尤其涉及一种自动化测试方法及系统
技术介绍
在产品研发过程中,通常需要模拟实际应用场景搭建测试环境,对产品进行测试。在测试过程中,所述产品被称为被测对象。为了顺利完成测试工作,测试人员一般还需要对被测对象进行配置,并操作测试设备如测试计算机、测试仪表等所提供的测试软件。目前,自动化测试由于在回归测试、压力测试、并发测试、大数据量测试、崩溃性测试等方面具有优势,且测试结果具有一致性和可重复性,具备更好的时间资源利用等特点,得到越来越广泛的应用。使用自动化测试系统,在测试人员搭建的测试环境上,执行自动化测试用例以对产品进行自动化测试,如此可以有效减少测试人员的工作量,提高测试效率和可靠性。而对被测对象的配置、对测试仪表软件或者测试软件的操作,并不是自动化测试用例所内嵌的功能,因此,现在很多测试仪厂家为测试仪软件提供了自动化测试的接口函数库;同时,测试软件也可以对接口函数封装,成为自动化测试系统所支持的扩展函数库,以实现与图形界面或命令行相同的功能。自动化测试用例可以使用接口函数库提供自动化测试接口,来完成底层诸如建立链接、发送流量、获得统计量等实际功能。对于网络通讯设备的自动化测试而言,还需要大量的协议编码、解码等其他多种函数库支持。所述函数库的提供形式可以为动态链接库、脚本等多种形式。对于不同的自动化测试用例,其所需要自动化测试函数支持库也不尽相同。自动化测试系统中主要涉及对于测试支持库加载的处理,在现有技术中,-->通常的处理方法有两种:一种方法是,在自动化测试开始前,由自动化测试系统将所有测试支持库全部加载。该方法在被测对象功能比较简单、所需测试对象函数支持库以及测试软件函数支持库较为简单的时候,可以简单方便的完成自动化测试任务。但是,随着信息技术的发展,目前很多被测对象包含的模块越来越多,功能越来越强大,系统越来越复杂,进而对于不同的模块和功能所需要的测试手段也各有不同,这就需要大量的被测对象函数支持库、测试仪表函数支持库、以及测试工具软件函数支持库来完成自动化测试任务。如果自动化测试函数支持库在开始阶段统一加载,虽然处理简单,但必然需要占用大量的自动化测试资源和较长的启动时间;而且,对特定的测试任务来说,有些函数库根本不会被使用,所以将其加载也是完全没有必要的。另一种对测试支持库加载的处理方法是,由使用测试用例的测试工程师在自动化测试开始前进行手工选择。由于测试任务中测试用例选择的不同,其所使用的函数支持库也不同,因此,如果由测试工程师手工选择,无形之中增加了测试工程师的负担,且需要测试工程师了解测试用例使用函数支持库的情况。在这种方法中,如果测试工程师对函数库冗余选择,会造成资源浪费;而如果测试工程师漏选了某个函数库,则可能造成测试用例执行的失败。而且,对于不同的产品、产品的不同模块以及模块的不同功能进行自动化测试时所需使用的函数支持库也不能有效进行管理。综上所述,在现有的自动化测试系统中,并不能对自动化测试函数支持库进行有效地组织和管理,无法自动根据所执行测试用例对自动化测试函数支持库进行动态加载和卸载;而且,即使在某些测试系统中由测试系统自行加载测试支持库,也会在测试开始前全部加载,造成资源的严重浪费,测试效率降低。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种自动化测试方法和系统,能在执行测试用例时自动加载测试用例所使用的函数库,节约测试资源,提高测试-->效率。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术提供了一种自动化测试方法,该方法包括:A、确定所需使用的测试用例以及各测试用例所使用的函数库;B、查找当前测试用例所使用各函数库的函数库信息,并根据所述函数库信息调用并加载各个函数库;C、确定各个函数库加载成功时,调用并执行当前测试用例;D、确定当前测试用例之后仍存在需执行的测试用例时,执行步骤B,否则,结束当前处理流程。其中,步骤C与步骤D之间进一步包括:C1、记录当前测试用例的运行结果、以及执行当前测试用例时所加载的函数库。步骤C进一步包括:确定当前测试用例对应的任一函数库加载失败时,执行步骤C1。步骤C1与步骤D之间进一步包括:依次确定当前测试用例所对应的函数库在执行所述当前测试用例之后的测试用例时是否仍需使用,如果被确定的函数库仍需使用,不清理所述被确定的函数库;如果被确定的函数库不需使用但所述被确定的函数库不支持卸载时,不清理所述被确定的函数库;如果被确定的函数库不需使用且所述被确定的函数库支持卸载时,卸载所述被确定的函数库。步骤A与步骤B之间进一步包括:A1、根据各测试用例对函数库的使用情况以及函数库的资源占用权重,进行测试用例执行顺序的优化。所述确定所需使用的测试用例至少确定:测试用例的名称。所述函数库信息至少包括:函数库的存储路径。本专利技术同时提供了一种自动化测试系统,该系统包括:测试任务生成模块、执行模块、测试用例库模块、函数库动态处理模块、函数库管理模块以及函数-->库模块,其中,测试任务生成模块,用于确定所需使用的测试用例,并从测试用例库模块中查找各个测试用例执行时所使用的函数库名称,并将上述信息发送给执行模块;执行模块,用于将测试任务生成模块发来的所述信息发送给函数库动态处理模块;还用于接收到函数库动态处理模块返回的函数库加载成功信息后,从测试用例库模块中调用并执行相应的测试用例;测试用例库模块,用于存储测试用例以及各测试用例所使用的函数库相关信息,并在执行模块调用测试用例时,将相应的测试用例发送给执行模块;在测试任务生成模块查找测试用例对应的函数库时,将相应的函数库的名称发送给测试任务生成模块;函数库动态处理模块,用于根据测试用例对应的函数库名称,从函数库管理模块中获取各个函数库的函数库信息,并根据所述函数库信息从函数库模块中调用并加载各个函数库,当所述函数库加载成功后,向执行模块返回函数库加载成功信息;函数库管理模块,用于存储各个函数库对应的函数库信息,并在函数库动态处理模块获取函数库信息时,反馈相应的函数库信息;函数库模块,用于存储各个函数库,并在函数库动态处理模块调用函数库时,返回相应的函数库。其中,执行模块进一步用于:当前测试用例执行完成后,记录当前测试用例的运行结果,并发送当前测试用例执行完成消息给函数库动态处理模块;函数库动态处理模块进一步用于:接收到所述当前测试用例执行完成消息后,卸载当前测试用例所对应的函数库中,当前测试用例之后的测试用例执行中不需使用且支持卸载的函数库;还用于记录已加载、或卸载的函数库。函数库动态处理模块进一步包括:函数库加载记录表管理模块、动态加载模块以及动态清理模块,其中,动态加载模块,用于根据测试用例对应的函数库名称获取其中各个函数库-->的函数库信息,并根据所述函数库信息加载各个函数库,并在每个函数库加载成功后,向函数库加载记录表管理模块发送相应的函数库信息;当执行当前测试用例所需使用的所有函数库加载成功后,向执行模块返回加载成功信号;动态清理模块,接收到所述当前测试用例执行完成消息后,卸载当前测试用例所对应的函数库中,当前测试用例之后的测试用例执行中不需使用且支持卸载的函数库,并在每个函数库卸载成功时,向函数库加载记录表管理模块发送相应的函数库信息;函数库加载记录本文档来自技高网
...

【技术保护点】
一种自动化测试方法,其特征在于,该方法包括:A、确定所需使用的测试用例以及各测试用例所使用的函数库;B、查找当前测试用例所使用各函数库的函数库信息,并根据所述函数库信息调用并加载各个函数库;C、确定各个函数库加载成功时,调用并执行当前测试用例;D、确定当前测试用例之后仍存在需执行的测试用例时,执行步骤B,否则,结束当前处理流程。

【技术特征摘要】
1.一种自动化测试方法,其特征在于,该方法包括:A、确定所需使用的测试用例以及各测试用例所使用的函数库;B、查找当前测试用例所使用各函数库的函数库信息,并根据所述函数库信息调用并加载各个函数库;C、确定各个函数库加载成功时,调用并执行当前测试用例;D、确定当前测试用例之后仍存在需执行的测试用例时,执行步骤B,否则,结束当前处理流程。2.根据权利要求1所述的自动化测试方法,其特征在于,步骤C与步骤D之间进一步包括:C1、记录当前测试用例的运行结果、以及执行当前测试用例时所加载的函数库。3.根据权利要求2所述的自动化测试方法,其特征在于,步骤C进一步包括:确定当前测试用例对应的任一函数库加载失败时,执行步骤C1。4.根据权利要求2或3所述的自动化测试方法,其特征在于,步骤C1与步骤D之间进一步包括:依次确定当前测试用例所对应的函数库在执行所述当前测试用例之后的测试用例时是否仍需使用,如果被确定的函数库仍需使用,不清理所述被确定的函数库;如果被确定的函数库不需使用但所述被确定的函数库不支持卸载时,不清理所述被确定的函数库;如果被确定的函数库不需使用且所述被确定的函数库支持卸载时,卸载所述被确定的函数库。5.根据权利要求1至3任一项所述的自动化测试方法,其特征在于,步骤A与步骤B之间进一步包括:A1、根据各测试用例对函数库的使用情况以及函数库的资源占用权重,进行测试用例执行顺序的优化。6.根据权利要求1至3任一项所述的自动化测试方法,其特征在于,所述确定所需使用的测试用例至少确定:测试用例的名称。7.根据权利要求1至3任一项所述的自动化测试方法,其特征在于,所述函数库信息至少包括:函数库的存储路径。8.一种自动化测试系统,其特征在于,该系统包括:测试任务生成模块、执行模块、测试用例库模块、函数库动态处理模块、函数库管理模块以及函数库模块,其中,测试任务生成模块,用于确定所需使用的测试用例,并从测试用例库模块中查找各个测试用例执行时所使用的函数库名称,并将上述信息发送给执行模块;执行模块,用于将测试任务生成模块发来的所述信息发送给函数库动态处理模块;还用于接收到函数库动态处理模块返回的函数库加载成功信息后,从测试用例库模块中调用并执行相应的测试用例;测试用例库模块,用于存储测试用例以及各测试用例所使用的函数库相关信息,并在执行模块调用测试用例时,将相应的测试用例发送给执行模块;在测试任务生成模块查找测试用例对应的函数库时,将相应的函数库的名称发送给测试任务生成模块;函...

【专利技术属性】
技术研发人员:沙金刚史颖春樊志强刘宗昌
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

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

1