CN101226502A - 一种自动化测试方法及系统 - Google Patents

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

Info

Publication number
CN101226502A
CN101226502A CNA2008100575840A CN200810057584A CN101226502A CN 101226502 A CN101226502 A CN 101226502A CN A2008100575840 A CNA2008100575840 A CN A2008100575840A CN 200810057584 A CN200810057584 A CN 200810057584A CN 101226502 A CN101226502 A CN 101226502A
Authority
CN
China
Prior art keywords
function library
test case
module
library
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008100575840A
Other languages
English (en)
Other versions
CN101226502B (zh
Inventor
沙金刚
史颖春
樊志强
刘宗昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2008100575840A priority Critical patent/CN101226502B/zh
Publication of CN101226502A publication Critical patent/CN101226502A/zh
Application granted granted Critical
Publication of CN101226502B publication Critical patent/CN101226502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种自动化测试方法,该方法包括:A.确定所需使用的测试用例,并查找各测试用例所使用的函数库;B.查找当前测试用例所使用各函数库的函数库信息,并根据所述函数库信息调用并加载各个函数库;C.确定各个函数库加载成功时,调用并执行当前测试用例;D.确定当前测试用例之后仍存在需执行的测试用例时,执行步骤B,否则,当前流程结束。本发明同时提供了一种自动化测试系统,该方法和系统自动加载测试用例所使用的函数库,且能够节约测试资源,提高测试效率。

Description

一种自动化测试方法及系统
技术领域
本发明涉及自动化测试技术,尤其涉及一种自动化测试方法及系统。
背景技术
在产品研发过程中,通常需要模拟实际应用场景搭建测试环境,对产品进行测试。在测试过程中,所述产品被称为被测对象。为了顺利完成测试工作,测试人员一般还需要对被测对象进行配置,并操作测试设备如测试计算机、测试仪表等所提供的测试软件。目前,自动化测试由于在回归测试、压力测试、并发测试、大数据量测试、崩溃性测试等方面具有优势,且测试结果具有一致性和可重复性,具备更好的时间资源利用等特点,得到越来越广泛的应用。
使用自动化测试系统,在测试人员搭建的测试环境上,执行自动化测试用例以对产品进行自动化测试,如此可以有效减少测试人员的工作量,提高测试效率和可靠性。而对被测对象的配置、对测试仪表软件或者测试软件的操作,并不是自动化测试用例所内嵌的功能,因此,现在很多测试仪厂家为测试仪软件提供了自动化测试的接口函数库;同时,测试软件也可以对接口函数封装,成为自动化测试系统所支持的扩展函数库,以实现与图形界面或命令行相同的功能。
自动化测试用例可以使用接口函数库提供自动化测试接口,来完成底层诸如建立链接、发送流量、获得统计量等实际功能。对于网络通讯设备的自动化测试而言,还需要大量的协议编码、解码等其他多种函数库支持。所述函数库的提供形式可以为动态链接库、脚本等多种形式。对于不同的自动化测试用例,其所需要自动化测试函数支持库也不尽相同。
自动化测试系统中主要涉及对于测试支持库加载的处理,在现有技术中,通常的处理方法有两种:
一种方法是,在自动化测试开始前,由自动化测试系统将所有测试支持库全部加载。该方法在被测对象功能比较简单、所需测试对象函数支持库以及测试软件函数支持库较为简单的时候,可以简单方便的完成自动化测试任务。但是,随着信息技术的发展,目前很多被测对象包含的模块越来越多,功能越来越强大,系统越来越复杂,进而对于不同的模块和功能所需要的测试手段也各有不同,这就需要大量的被测对象函数支持库、测试仪表函数支持库、以及测试工具软件函数支持库来完成自动化测试任务。如果自动化测试函数支持库在开始阶段统一加载,虽然处理简单,但必然需要占用大量的自动化测试资源和较长的启动时间;而且,对特定的测试任务来说,有些函数库根本不会被使用,所以将其加载也是完全没有必要的。
另一种对测试支持库加载的处理方法是,由使用测试用例的测试工程师在自动化测试开始前进行手工选择。由于测试任务中测试用例选择的不同,其所使用的函数支持库也不同,因此,如果由测试工程师手工选择,无形之中增加了测试工程师的负担,且需要测试工程师了解测试用例使用函数支持库的情况。在这种方法中,如果测试工程师对函数库冗余选择,会造成资源浪费;而如果测试工程师漏选了某个函数库,则可能造成测试用例执行的失败。而且,对于不同的产品、产品的不同模块以及模块的不同功能进行自动化测试时所需使用的函数支持库也不能有效进行管理。
综上所述,在现有的自动化测试系统中,并不能对自动化测试函数支持库进行有效地组织和管理,无法自动根据所执行测试用例对自动化测试函数支持库进行动态加载和卸载;而且,即使在某些测试系统中由测试系统自行加载测试支持库,也会在测试开始前全部加载,造成资源的严重浪费,测试效率降低。
发明内容
有鉴于此,本发明的主要目的在于提供一种自动化测试方法和系统,能在执行测试用例时自动加载测试用例所使用的函数库,节约测试资源,提高测试效率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种自动化测试方法,该方法包括:
A、确定所需使用的测试用例以及各测试用例所使用的函数库;
B、查找当前测试用例所使用各函数库的函数库信息,并根据所述函数库信息调用并加载各个函数库;
C、确定各个函数库加载成功时,调用并执行当前测试用例;
D、确定当前测试用例之后仍存在需执行的测试用例时,执行步骤B,否则,结束当前处理流程。
其中,步骤C与步骤D之间进一步包括:
C1、记录当前测试用例的运行结果、以及执行当前测试用例时所加载的函数库。
步骤C进一步包括:
确定当前测试用例对应的任一函数库加载失败时,执行步骤C1。
步骤C1与步骤D之间进一步包括:
依次确定当前测试用例所对应的函数库在执行所述当前测试用例之后的测试用例时是否仍需使用,如果被确定的函数库仍需使用,不清理所述被确定的函数库;如果被确定的函数库不需使用但所述被确定的函数库不支持卸载时,不清理所述被确定的函数库;如果被确定的函数库不需使用且所述被确定的函数库支持卸载时,卸载所述被确定的函数库。
步骤A与步骤B之间进一步包括:
A1、根据各测试用例对函数库的使用情况以及函数库的资源占用权重,进行测试用例执行顺序的优化。
所述确定所需使用的测试用例至少确定:测试用例的名称。
所述函数库信息至少包括:函数库的存储路径。
本发明同时提供了一种自动化测试系统,该系统包括:测试任务生成模块、执行模块、测试用例库模块、函数库动态处理模块、函数库管理模块以及函数库模块,其中,
测试任务生成模块,用于确定所需使用的测试用例,并从测试用例库模块中查找各个测试用例执行时所使用的函数库名称,并将上述信息发送给执行模块;
执行模块,用于将测试任务生成模块发来的所述信息发送给函数库动态处理模块;还用于接收到函数库动态处理模块返回的函数库加载成功信息后,从测试用例库模块中调用并执行相应的测试用例;
测试用例库模块,用于存储测试用例以及各测试用例所使用的函数库相关信息,并在执行模块调用测试用例时,将相应的测试用例发送给执行模块;在测试任务生成模块查找测试用例对应的函数库时,将相应的函数库的名称发送给测试任务生成模块;
函数库动态处理模块,用于根据测试用例对应的函数库名称,从函数库管理模块中获取各个函数库的函数库信息,并根据所述函数库信息从函数库模块中调用并加载各个函数库,当所述函数库加载成功后,向执行模块返回函数库加载成功信息;
函数库管理模块,用于存储各个函数库对应的函数库信息,并在函数库动态处理模块获取函数库信息时,反馈相应的函数库信息;
函数库模块,用于存储各个函数库,并在函数库动态处理模块调用函数库时,返回相应的函数库。
其中,执行模块进一步用于:当前测试用例执行完成后,记录当前测试用例的运行结果,并发送当前测试用例执行完成消息给函数库动态处理模块;
函数库动态处理模块进一步用于:接收到所述当前测试用例执行完成消息后,卸载当前测试用例所对应的函数库中,当前测试用例之后的测试用例执行中不需使用且支持卸载的函数库;还用于记录已加载、或卸载的函数库。
函数库动态处理模块进一步包括:函数库加载记录表管理模块、动态加载模块以及动态清理模块,其中,
动态加载模块,用于根据测试用例对应的函数库名称获取其中各个函数库的函数库信息,并根据所述函数库信息加载各个函数库,并在每个函数库加载成功后,向函数库加载记录表管理模块发送相应的函数库信息;当执行当前测试用例所需使用的所有函数库加载成功后,向执行模块返回加载成功信号;
动态清理模块,接收到所述当前测试用例执行完成消息后,卸载当前测试用例所对应的函数库中,当前测试用例之后的测试用例执行中不需使用且支持卸载的函数库,并在每个函数库卸载成功时,向函数库加载记录表管理模块发送相应的函数库信息;
函数库加载记录表管理模块,用于接收到所述函数库信息后,相应的记录已经加载、或卸载的各函数库信息。
测试任务生成模块进一步用于:从测试用例库模块查找函数库对应的资源占用权重,之后,对测试用例执行顺序进行优化;
相应的,测试用例库模块进一步用于:测试任务生成模块查找函数库对应的资源占用权重时,将相应的信息发送给测试任务生成模块。
测试任务生成模块进一步用于:从函数库管理模块查找函数库对应的资源占用权重,之后,对测试用例执行顺序进行优化;
相应的,函数库管理模块进一步用于:测试任务生成模块查找函数库对应的资源占用权重时,将相应的信息发送给测试任务生成模块。
本发明所提供的自动化测试方法和系统,在执行过程中,自动加载执行当前测试用例所使用的函数库,提高了测试效率。每执行一个测试用例,加载该测试用例所对应的函数库,而不必在测试开始时,加载所有测试用例所对应的函数库,从而减少了测试资源的占用,缩短了测试的启动时间,进一步提高了测试效率。在每个测试用例执行完成后,卸载该测试用例所依赖的函数库中,该测试用例之后的测试用例执行中不需使用且支持卸载的函数库,进一步减少了测试过程中测试资源的占用。
本发明根据各测试用例对函数库的使用情况、以及函数库的资源占用权重进行测试用例执行顺序的优化,所使用的相同函数库占用资源较多的测试用例优先执行,之后,卸载所述函数库,从而将该函数库所占用的资源释放掉,进一步节省了测试资源,提高了测试效率。
附图说明
图1为本发明自动化测试方法流程示意图;
图2为本发明自动化测试系统结构示意图;
图3为本发明函数库管理组织示意图。
具体实施方式
本发明的基本思想是:确定所需使用的测试用例,并确定测试用例所使用的函数库;依次执行各测试用例,每个测试用例的执行步骤为:获取当前测试用例所使用的各个函数库的函数库信息,并根据所述函数库信息加载各个函数库;确定各个函数库加载成功时,调用并执行当前测试用例。
以下通过具体实施例结合附图详细说明本发明自动化测试方法和系统的实现。
图1为本发明自动化测试方法流程示意图,如图1所示,该方法包括:
步骤101:确定所需使用的测试用例。
在实际实现过程中,可以将确定后的测试用例生成测试任务列表,以存储所述测试用例,所述测试任务列表中至少包括:各个测试用例的名称。
本步骤中,所述确定可以为:向用户提供相应的测试用例选择界面,由用户选择所需使用的测试用例。
进一步地,具体如何实现所述选择界面、以及如何生成所述测试任务列表属于公知技术,这里不再赘述。
步骤102:分别查找各个测试用例执行时所需使用的函数库名称。
在实际实现过程中,可以将查找得到的所述函数库名称加入到所述测试任务列表中,或者为每一个测试用例建立一个对应的依赖库列表,以存储对应测试用例执行时所需使用的函数库。在具体实现时,所述测试任务列表、或依赖库列表中至少包括:测试用例名称、以及测试用例在执行时所需使用的函数库的名称。
本步骤中,所述查找可以根据测试用例的名称作为索引进行查找。而且,具体在何处查找所述函数库名称,根据所述测试用例对应函数库的存储方式、以及实现方式的不同,可以做适应性改变。例如,可以将所有测试用例对应函数库信息存储于一个列表中,则在本步骤中将会在所述列表中查找所需使用的各个测试用例对应的函数库的名称。具体如何实现所述查找、具体如何生成所述测试任务列表、以及如何将所述函数库名称添加到所述测试用例列表中属于公知技术,这里不再赘述。
步骤103:根据各测试用例对函数库的使用情况、以及函数库的资源占用权重进行测试用例执行顺序的优化,生成新的测试任务列表。
其中,每个函数库所对应的资源占用权重根据经验值进行预先设定,可以在步骤102中进行函数库名称的查找时,同时查找所述函数库的资源占用权重信息。
所述优化可以为:尽量将使用某个相同函数库的多个测试用例进行集中,并且优先集中并运行那些所使用的所述相同函数库的资源占用权重大的测试用例。例如,某一个函数库运行时占用资源较多,则优先把使用到这个函数库的测试用例集中到一起,将这些测试用例运行后,就可以把该函数库在步骤109中进行卸载,从而将该函数库所占用的资源释放掉,节省测试资源,提高测试效率。
其中,步骤103为可选步骤。另外,具体如何实现所述优化属于公知技术,这里不再赘述。
从步骤104~步骤111,开始测试用例的执行过程,其中,每个测试用例的执行均需循环执行一次步骤104~步骤111。在下述步骤104~步骤111的描述中,所述当前测试用例为当前正在执行的测试用例。
步骤104:根据当前测试用例所需使用的各个函数库的名称,获取各个函数库的函数库信息。
所述函数库信息至少包括:函数库的存储路径。其中,具体如何获取所述函数库信息属于公知技术,这里不再赘述。
步骤105:根据所述函数库信息加载当前测试用例所需使用的各个函数库。
其中,具体如何加载所述函数库可使用现有技术中的相关技术,这里不再赘述。
步骤106:判断当前测试用例所需使用的各个函数库是否加载成功,即:判断该测试用例执行函数库环境是否成功建立,如果成功,则执行步骤107;如果失败,则执行步骤108。
其中,当任一个函数库未加载成功时,均认为当前测试用例执行函数库环境未成功建立,此时,判断结果为失败。
具体如何判断所述函数库是否加载成功可使用现有技术中的相关技术,这里不再赘述。
步骤107:调用并执行当前测试用例。
步骤108:记录当前测试用例的运行结果、以及执行当前测试用例时所加载的函数库。
如果本步骤为步骤106后转来执行的步骤,则测试用例的运行结果可以表示为未执行;如果本步骤为步骤107后执行的步骤,则测试用例的运行结果可以表示为已执行。在实现过程中,具体如何记录上述信息可以使用现有相关技术,由相关人员自主设定,这里不再赘述。而且,记录执行当前测试用例所加载的函数库可以在步骤105后执行,此时,本步骤中只需记录当前测试用例的运行结果。
步骤109:依次判断当前测试用例执行时所加载的各函数库在执行位于当前测试用例之后的测试用例时,是否需要使用到,如果需要,则不清理相应的函数库,之后,继续执行步骤109,对下一个数据库进行判断,如果当前被判断的函数库为最后一个进行所述判断的数据库,则执行步骤111;如果被判断的数据库不再需要使用到,则执行步骤110。
其中,当测试用例未成功执行时,即步骤106中判断为失败时,本步骤仍需执行,因为在步骤105中已进行了当前测试用例所对应的函数库的加载。而且,本步骤中可以只判断步骤108中所记录的所述执行当前测试用例所加载的函数库,无需判断当前已经加载的每一个函数库。
其中,在图1所示的实施例中,步骤102中已得到各个测试用例所需使用的函数库名称,则本步骤中,只需分别搜索位于当前测试用例之后执行的测试用例所对应的函数库中是否存在被确定的函数库即可。或者,当步骤102中未确定出所有测试用例对应的函数库名称时,在本步骤中可分别确定位于当前测试用例之后执行的测试用例所对应的函数库名称,之后再进行所述函数库的搜索。
步骤110:判断该函数库是否支持卸载,如果是,卸载相应的函数库,之后,执行步骤111;如果否,则执行步骤109,对下一个函数库进行判断,直到执行当前测试用例所加载的所有的函数库均判断完毕,之后,执行步骤111。
由步骤109~110可以看出,步骤109~步骤110是一个以函数库为单位的循环,对于依赖库列表中的函数库进行依次判断。
步骤111:判断是否还存在需执行的测试用例,如果存在,则执行步骤104,进行下一个测试用例执行所需使用的函数库的调用,并执行后续步骤;如果不存在,测试任务执行结束。
由步骤111可以看出,步骤104~步骤111是以测试用例依赖库列表中的每一个测试用例为单位循环执行的,即每个测试用例的运行均需要执行步骤104~步骤111的循环。
其中,步骤103、108~110为可选步骤。
图2为本发明自动化测试系统结构示意图,如图2所示,该系统包括:测试任务生成模块210、执行模块220、测试用例库模块230、函数库动态处理模块240、函数库管理模块250、以及函数库模块260,其中,
测试任务生成模块210,用于确定所需使用的测试用例,从测试用例库模块230中查找各个测试用例执行时所需使用的函数库名称,并将上述信息发送给执行模块220。
其中,测试任务生成模块210还用于对测试用例执行顺序进行优化,则发送给执行模块220的所述信息中的测试用例为优化执行顺序后的测试用例。
其中,由于对测试用例执行顺序进行优化时,需要根据各测试用例对函数库的使用情况、以及函数库的资源占用权重进行所述优化,因此,在测试任务生成模块210进行所述优化前,需根据函数库所对应的函数库占用权重所保存的位置,相应查找函数库所对应的所述占用权重信息。例如,函数库所对应的函数库占用权重可以保存在测试用例库模块230、或函数库管理模块250中,相应的,测试任务生成模块210进一步用于从测试用例库模块230、或函数库管理模块250中查找函数库所对应的资源占用权重。
另外,在图2所述实施例的实现过程中,测试用例可以用测试任务列表等的方式实现,则测试任务生成模块210只需将生成的相应的列表发送给执行模块220即可。这里,并不限制各个模块之间所交互信息的实现方式。
执行模块220,用于将测试任务生成模块210发来的所述信息发送给函数库动态处理模块240;还用于接收到函数库动态处理模块240返回的函数库加载成功信息后,从测试用例库模块230中调用并执行相应的测试用例,所述当前测试用例执行完成后,记录当前测试用例的运行结果以及当前测试用例对应各函数库加载情况,并发送当前测试用例执行完成消息给函数库动态处理模块240。
测试用例库模块230,用于存储测试用例以及各测试用例所使用的函数库,并在执行模块220调用测试用例时,将相应的测试用例发送给执行模块220;在测试任务生成模块210查找测试用例对应的函数库时,将相应的函数库的名称发送给测试任务生成模块210;还用于测试任务生成模块查找函数库对应的资源占用权重时,将相应的信息发送给测试任务生成模块。
函数库动态处理模块240,用于根据测试用例对应的函数库名称,从函数库管理模块250中获取各个函数库的函数库信息,并根据所述函数库信息从函数库模块260中调用并加载各个函数库,记录加载成功的函数库;并且,当执行当前测试用例所需使用的所有函数库加载成功后,向执行模块220返回函数库加载成功信息;还用于接收到所述当前测试用例执行完成消息后,卸载当前测试用例所使用的函数库中,当前测试用例之后的测试用例执行中不需使用且支持卸载的函数库,并记录卸载成功的函数库。
其中,函数库动态处理模块240在实现过程中,也可以由三个模块来实现,分别是函数库加载记录表管理模块、动态加载模块和动态清理模块,其中,
动态加载模块,用于根据测试用例对应的函数库名称获取各个函数库的函数库信息,并根据所述函数库信息加载各个函数库,并在每个函数库加载成功后,向函数库加载记录表管理模块发送相应的函数库信息;当执行当前测试用例所需使用的所有函数库加载成功后,向执行模块220返回加载成功信息;
动态清理模块,接收到所述当前测试用例执行完成消息后,卸载当前测试用例所对应的函数库中,当前测试用例之后的测试用例执行中不需使用且支持卸载的函数库,并在每个函数库卸载成功后,向函数库加载记录表管理模块发送相应的函数库信息;
函数库加载记录表管理模块,用于记录系统中已经加载、或卸载的各函数库的信息。当动态加载模块成功加载一个函数库时,将该函数库的信息发送给函数库加载记录表管理模块,函数库加载记录表管理模块相应的记录该函数库信息;当动态清理模块成功卸载一个函数库时,将该函数库的信息发送给函数库加载记录表管理模块,函数库加载记录表管理模块相应记录该函数库信息,其中,这里的记录卸载的函数库信息也可以为直接删除该卸载的函数库对应的信息。
函数库管理模块250,用于存储各个函数库对应的函数库信息,并在函数库动态处理模块240获取时,反馈相应的函数库信息;还用于测试任务生成模块查找函数库对应的资源占用权重时,将相应的信息发送给测试任务生成模块。
函数库模块260,用于存储各个函数库,并在函数库动态处理模块240调用函数库,返回相应的函数库。
其中,对于函数库模块260的实现,可以对各种不同的函数库进行分级管理。如图3所示,可以提取全局测试用例都可能会使用到的,如测试仪表函数库或者可以全局测试用例复用的自动化测试用例资源,进入全局公共库进行管理;而对于和特定产品相关的,比如测试用例中对特定待测设备产品进行配置的函数支持库、或特定产品范围内可以复用的自动化测试资源等,一起放入产品公共库进行管理,如图3所示,还可以根据测试的不同产品分为产品A公共库、产品B公共库以及产品C公共库等;把测试产品中某模块的接口函数库、或者可以复用的自动化测试资源进行提取,如某个模块的报文协议编解码函数等放入模块公共库进行管理,同样可以根据测试模块的不同,分为模块I公共库、模块II公共库等;在模块公共库之下,还可以进一步划分,这里不再赘述。将函数库进行分级管理可以有序组织系统中不断增加的各种函数支持库,而且可以更好实现自动化测试资源的复用。
其中,在实际实现中,函数库管理模块250与函数库模块260之间也可以实现信息交互,即:配置函数库模块260中各个函数库的函数库信息,由函数库管理模块250存储相应的函数库信息。在具体实现过程,上述模块之间的信息交互可以使用现有相关技术完成,这里不再赘述。
其中,测试用例一般以文件、或数据库等方式存储于测试用例库230中,而函数库一般以例如脚本文件、动态链接库(DLL)或者软件包方式存储于函数库模块260中,但是,在实际应用中可以自主设定所述测试用例、函数库的储存方式,这里并不限定。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (12)

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.一种自动化测试系统,其特征在于,该系统包括:测试任务生成模块、执行模块、测试用例库模块、函数库动态处理模块、函数库管理模块以及函数库模块,其中,
测试任务生成模块,用于确定所需使用的测试用例,并从测试用例库模块中查找各个测试用例执行时所使用的函数库名称,并将上述信息发送给执行模块;
执行模块,用于将测试任务生成模块发来的所述信息发送给函数库动态处理模块;还用于接收到函数库动态处理模块返回的函数库加载成功信息后,从测试用例库模块中调用并执行相应的测试用例;
测试用例库模块,用于存储测试用例以及各测试用例所使用的函数库相关信息,并在执行模块调用测试用例时,将相应的测试用例发送给执行模块;在测试任务生成模块查找测试用例对应的函数库时,将相应的函数库的名称发送给测试任务生成模块;
函数库动态处理模块,用于根据测试用例对应的函数库名称,从函数库管理模块中获取各个函数库的函数库信息,并根据所述函数库信息从函数库模块中调用并加载各个函数库,当所述函数库加载成功后,向执行模块返回函数库加载成功信息;
函数库管理模块,用于存储各个函数库对应的函数库信息,并在函数库动态处理模块获取函数库信息时,反馈相应的函数库信息;
函数库模块,用于存储各个函数库,并在函数库动态处理模块调用函数库时,返回相应的函数库。
9.根据权利要求8所述的自动化测试系统,其特征在于,执行模块进一步用于:当前测试用例执行完成后,记录当前测试用例的运行结果,并发送当前测试用例执行完成消息给函数库动态处理模块;
函数库动态处理模块进一步用于:接收到所述当前测试用例执行完成消息后,卸载当前测试用例所对应的函数库中,当前测试用例之后的测试用例执行中不需使用且支持卸载的函数库;还用于记录已加载、或卸载的函数库。
10.根据权利要求9所述的自动化测试系统,其特征在于,函数库动态处理模块进一步包括:函数库加载记录表管理模块、动态加载模块以及动态清理模块,其中,
动态加载模块,用于根据测试用例对应的函数库名称获取其中各个函数库的函数库信息,并根据所述函数库信息加载各个函数库,并在每个函数库加载成功后,向函数库加载记录表管理模块发送相应的函数库信息;当执行当前测试用例所需使用的所有函数库加载成功后,向执行模块返回加载成功信号;
动态清理模块,接收到所述当前测试用例执行完成消息后,卸载当前测试用例所对应的函数库中,当前测试用例之后的测试用例执行中不需使用且支持卸载的函数库,并在每个函数库卸载成功时,向函数库加载记录表管理模块发送相应的函数库信息;
函数库加载记录表管理模块,用于接收到所述函数库信息后,相应的记录已经加载、或卸载的各函数库信息。
11.根据权利要求8至10任一项所述的自动化测试系统,其特征在于,测试任务生成模块进一步用于:从测试用例库模块查找函数库对应的资源占用权重,之后,对测试用例执行顺序进行优化;
相应的,测试用例库模块进一步用于:测试任务生成模块查找函数库对应的资源占用权重时,将相应的信息发送给测试任务生成模块。
12.根据权利要求8至10任一项所述的自动化测试系统,其特征在于,测试任务生成模块进一步用于:从函数库管理模块查找函数库对应的资源占用权重,之后,对测试用例执行顺序进行优化;
相应的,函数库管理模块进一步用于:测试任务生成模块查找函数库对应的资源占用权重时,将相应的信息发送给测试任务生成模块。
CN2008100575840A 2008-02-03 2008-02-03 一种自动化测试方法及系统 Active CN101226502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100575840A CN101226502B (zh) 2008-02-03 2008-02-03 一种自动化测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100575840A CN101226502B (zh) 2008-02-03 2008-02-03 一种自动化测试方法及系统

Publications (2)

Publication Number Publication Date
CN101226502A true CN101226502A (zh) 2008-07-23
CN101226502B CN101226502B (zh) 2010-10-13

Family

ID=39858511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100575840A Active CN101226502B (zh) 2008-02-03 2008-02-03 一种自动化测试方法及系统

Country Status (1)

Country Link
CN (1) CN101226502B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012845A (zh) * 2010-12-16 2011-04-13 迈普通信技术股份有限公司 一种提高自动化测试资源利用率的方法
CN102222036A (zh) * 2010-04-14 2011-10-19 阿里巴巴集团控股有限公司 一种自动化测试方法和设备
CN102354200A (zh) * 2011-06-10 2012-02-15 大唐移动通信设备有限公司 一种通过控制仪表进行自动化测试的方法及装置
CN104360945A (zh) * 2014-11-18 2015-02-18 电信科学技术第十研究所 一种测试用例筛选的计算机实现的方法、计算机及系统
CN104794059A (zh) * 2015-05-08 2015-07-22 北京理工大学 一种基于函数调用记录的缺陷定位方法及装置
CN105718371A (zh) * 2016-01-21 2016-06-29 深圳市同创国芯电子有限公司 一种回归测试方法、装置及系统
CN107621972A (zh) * 2016-07-15 2018-01-23 中兴通讯股份有限公司 大数据任务动态管理方法、装置及服务器
CN110554937A (zh) * 2018-05-31 2019-12-10 奥特润株式会社 车辆用软件诊断系统以及其操作方法
CN114526925A (zh) * 2022-02-21 2022-05-24 中国第一汽车股份有限公司 一种车辆的下线检测方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505342B1 (en) * 2000-05-31 2003-01-07 Siemens Corporate Research, Inc. System and method for functional testing of distributed, component-based software
CN1248116C (zh) * 2002-09-23 2006-03-29 上海贝尔有限公司 一种基于主机平台的嵌入式模块和子系统的通用测试装置
CN100337216C (zh) * 2004-09-04 2007-09-12 华为技术有限公司 一种软件测试方法
CN101025686A (zh) * 2007-03-22 2007-08-29 中兴通讯股份有限公司 一种自动化测试系统及测试脚本的生成和运行方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222036A (zh) * 2010-04-14 2011-10-19 阿里巴巴集团控股有限公司 一种自动化测试方法和设备
CN102222036B (zh) * 2010-04-14 2014-11-12 阿里巴巴集团控股有限公司 一种自动化测试方法和设备
CN102012845B (zh) * 2010-12-16 2012-08-08 迈普通信技术股份有限公司 一种提高自动化测试资源利用率的方法
CN102012845A (zh) * 2010-12-16 2011-04-13 迈普通信技术股份有限公司 一种提高自动化测试资源利用率的方法
CN102354200A (zh) * 2011-06-10 2012-02-15 大唐移动通信设备有限公司 一种通过控制仪表进行自动化测试的方法及装置
CN104360945B (zh) * 2014-11-18 2017-07-07 电信科学技术第十研究所 一种测试用例筛选的计算机实现的方法、计算机及系统
CN104360945A (zh) * 2014-11-18 2015-02-18 电信科学技术第十研究所 一种测试用例筛选的计算机实现的方法、计算机及系统
CN104794059A (zh) * 2015-05-08 2015-07-22 北京理工大学 一种基于函数调用记录的缺陷定位方法及装置
CN104794059B (zh) * 2015-05-08 2017-08-04 北京理工大学 一种基于函数调用记录的缺陷定位方法及装置
CN105718371A (zh) * 2016-01-21 2016-06-29 深圳市同创国芯电子有限公司 一种回归测试方法、装置及系统
CN107621972A (zh) * 2016-07-15 2018-01-23 中兴通讯股份有限公司 大数据任务动态管理方法、装置及服务器
CN110554937A (zh) * 2018-05-31 2019-12-10 奥特润株式会社 车辆用软件诊断系统以及其操作方法
CN110554937B (zh) * 2018-05-31 2023-05-23 现代奥特奥博株式会社 车辆用软件诊断系统以及其操作方法
CN114526925A (zh) * 2022-02-21 2022-05-24 中国第一汽车股份有限公司 一种车辆的下线检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN101226502B (zh) 2010-10-13

Similar Documents

Publication Publication Date Title
CN101226502B (zh) 一种自动化测试方法及系统
CN101247293B (zh) 自动测试方法及系统
CN101930400B (zh) Sdk自动化测试系统及方法
US7797684B2 (en) Automatic failure analysis of code development options
CN113067883B (zh) 数据传输方法、装置、计算机设备及存储介质
CN102118281B (zh) 自动化测试方法、装置及网络设备
CN107807815B (zh) 分布式处理任务的方法和装置
CN103365668B (zh) 一种动态链接库装载和链接的方法、装置
CN111008046B (zh) 一种软件化雷达组件跨平台动态加载和动态管理系统
US20170270229A1 (en) Information processing method and device and computer storage medium
CN109697159A (zh) 一种基于混合云平台的自动化开发运维系统
CN106980571A (zh) 一种测试用例集的构建方法和设备
CN112379884A (zh) 基于Spark和并行内存计算的流程引擎实现方法及系统
CN116737130B (zh) 面向模态中间表示的编译方法、系统、设备和存储介质
CN106095678A (zh) 用于Windows平台下数据库业务操作的自动化结果检查方法
CN103077135A (zh) 一种支持并行测试的测试资源管理方法
CN111797015B (zh) 一种基于动态字节码的测试方法及装置
CN100478914C (zh) 一种交叉集成开发环境中的符号调试方法及系统
CN106933611A (zh) 类加载方法及类加载器
CN104683486A (zh) 分布式系统中处理同步消息的方法、装置、分布式系统
CN112860412B (zh) 业务数据处理方法、装置、电子设备及存储介质
CN102521132A (zh) 实时输出日志的自动化测试方法和系统
CN102004660A (zh) 一种业务流程的实现方法及装置
CN100489802C (zh) 实时调整压力测试参数的测试系统及方法
CN101013977A (zh) 网络测试的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant