CN101329652B - 一种回归测试自动化系统及方法 - Google Patents
一种回归测试自动化系统及方法 Download PDFInfo
- Publication number
- CN101329652B CN101329652B CN2008101351245A CN200810135124A CN101329652B CN 101329652 B CN101329652 B CN 101329652B CN 2008101351245 A CN2008101351245 A CN 2008101351245A CN 200810135124 A CN200810135124 A CN 200810135124A CN 101329652 B CN101329652 B CN 101329652B
- Authority
- CN
- China
- Prior art keywords
- test
- regression
- suite
- administration module
- plan
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种回归测试自动化方法,包括:生成测试计划框架,提交到测试计划库;搭建回归测试环境,生成测试环境配置、拓扑映射框架并提交到回归测试库;回归测试管理模块提取测试计划框架,生成测试套构建框架;试套管理模块根据测试套构建框架构建测试套构建策略,提取测试用例,构建回归测试套提交给回归测试库;回归测试管理模块检测测试计划,启动测试运行调度器;测试运行调度器通知测试环境管理模块,申请测试资源;测试运行调度器调度回归测试套,并启动测试运行引擎;测试运行引擎执行回归测试套,并生成测试执行结果到运行结果库。本发明还公开了一种一种回归测试自动化系统。本发明能够减少人为干预,实现回归测试自动化。
Description
技术领域
本发明涉及测试领域,尤其涉及一种回归测试自动化系统及方法。
背景技术
在产品的研发过程中,在软件生命周期中的任何一个阶段,只要软件发生了改变,就可能引入新的问题。软件的改变可能源于发现了错误并做了修改,也有可能是因为在集成或维护阶段引入了新的模块。
当软件中隐含错误被发现时,由于开发者对错误理解的不够透彻,也可能导致所做的修改只修正了错误的外在表现,而没有修复错误本身,从而造成修改失败;软件修改还有可能产生副作用从而波及软件未被修改的部分而产生新的问题,使本来正常工作的功能产生异常。同样,在有新功能加入系统的时候,除了新加入的功能可能含有错误外,新功能还有可能对原有系统带来影响。还有,对于各种补丁和升级程序,还要验证补丁和升级是否影响系统的操作或性能。
因此,每当软件发生变化时,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。同时,还需要补充新的测试用例来测试新的或被修改了的功能。为了验证修改的正确性及其影响就需要进行回归测试。
回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的比重,软件开发的各个阶段都会进行多次回归测试。当回归测试需要反复进行,当测试者一次又一次地完成相同的测试时,这些回归测试将变得步骤繁琐、重复,令人厌烦,而在大多数回归测试需要手工完成的时候尤其如此,因此,有必要通过自动化方法来实现重复的、一致性的回归测试,即回归测试自动化。
回归测试的重点是测试用例、测试脚本的管理,以及根据回归测试策略选择测试用例进行的回归测试。随着测试项目的进展,测试用例、测试脚本会不断增加。如果能自动管理这些测试用例、测试脚本,并且根据回归测试策略自动组织这些测试资源,将会提高回归测试的效率。当回归测试要一次又一次的反复进行时,自动化的回归测试组织与实施,无疑也会提高回归测试的效率。
如上所述在软件变更时,需要通过回归测试进行功能验证。基于这种软件变更实施回归测试的步骤一般如下:
步骤101,管理维护原基线测试用例库To,删除不再适用的测试用例;选择对新版本依然有效的测试用例,建立一个新的基线测试用例库Tn;
步骤102,从基线测试用例库Tn提取测试用例,构建回归基线测试套Sb;
步骤103,识别软件被修改部分、包括模块、接口等,从Tn选择测试用例,构建回归测试套Sm,用于测试软件被修改部分;
步骤104,如果基线测试套Sb不能达到所需覆盖要求,则补充测试用例,并构建测试套Ss;
步骤105,冻结软件版本,制定回归测试标准,执行回归测试;将回归测试发现的问题集中修改,集中回归。
分析上述步骤,诸如回归测试套构建,回归测试标准制定以及执行回归测试等等,很多测试环节如果能够整合并自动化,无疑很大程度上会提高回归测试效率。
基于回归测试的必要性和重要性,回归测试在当前IT测试领域应用相当广泛,各个公司都有针对回归测试或自动化的研究与应用。
如中兴通讯股份有限公司的公开号为CN101178687专利申请《软件回归测试的方法》,介绍了一种软件功能回归测试的自动化实现方法,该方法特色在于当软件发生更改时,能轻松进行原有功能的测试,并比较测试结果的差异。但如何组织测试例、如何实现回归测试的自动化、以及如何实施回归测试计划并没有描述。
又如华为技术有限公司的公开号为CN1527509的专利《一种测试方法》, 介绍了一种基于测试用例的自动化测试,具体步骤包括测试用例的生成,测试用例的解析与设备参数配置,测试结果分析等。该方法可以实现回归测试,但涉及到回归测试用例的组织、回归测试实施,以及回归测试相关自动化系统并没有描述。
再如康佳集团股份有限公司的公开号为CN1952818的专利申请《自动检测测试结果的程序单元测试方法》谈到了回归测试方法,但是只是局限在软件的单元测试领域,对系统级软件回归测试、回归测试方法也没有描述。
发明内容
本发明要解决的技术问题就是克服现有技术的缺陷,提出一种回归测试自动化系统及方法,能够减少人为干预,实现回归测试自动化。
为了解决上述技术问题,本发明提供一种回归测试自动化系统,包括测试环境单元,所述测试环境单元包括被测设备和测试仪表,还包括测试管理执行单元和测试数据库,所述测试管理执行单元包括:测试用例管理模块、测试套管理模块、测试环境管理模块、回归测试管理模块、测试运行调度器和测试运行引擎;所述测试数据库包括:测试计划库、测试用例库、回归测试库和运行统计库;
其中,所述测试用例管理模块用于管理维护测试用例,以及根据测试套管理模块的请求,将测试用例库中的测试用例发送给测试套管理模块;
所述测试套管理模块用于从回归测试管理模块获取测试套构建框架,构建测试套构建策略,根据测试套构建策略通过测试用例管理模块从测试用例库提取测试用例,构建回归测试套提交给回归测试库;
所述测试环境管理模块用于管理测试环境单元,生成测试环境配置及环境拓扑并存储到回归测试库中;以及用于测试设备资源的分配与调度;
所述回归测试管理模块用于管理配置测试计划库,从测试计划库提取测试计划框架,生成测试套构建框架存入测试计划库中,以及将所述测试套构建框架发送给测试套管理模块;还用于检测测试计划,启动测试运行调度器;
所述测试运行调度器用于通知测试环境管理模块检测测试环境,申请测 试资源;还用于通过测试套管理模块调度回归测试套,以及根据回归测试管理模块的指示启动测试运行引擎;
所述测试运行引擎用于执行所述回归测试套,并输出测试执行结果到运行统计库。
进一步地,所述测试用例管理模块还用于测试用例框架的管理维护。
进一步地,所述回归测试管理模块还用于根据测试计划配置生成测试计划框架,提交到测试计划库。
进一步地,所述回归测试管理模块还用于回归测试套执行通过标准的制定,以及从运行统计库提取测试执行结果统计分析和比对,回归测试套执行通过失败验证处理,以及测试报告的定义和生成。
进一步地,所述测试环境管理模块,用于被测设备的配置管理包括:
A、初始配置:启用被测设备初始化状态执行测试用例;
B、检测并验证配置:检测被测设备是否正确响应,验证各种参数是否正确配置;
C、清除配置:恢复被测设备到初始化状态或者默认设置,保证测试套运行在稳定的设备状态中,从而保证测试结果的稳定性;
所述测试环境管理模块用于测试仪表管理,包括:
a、测试仪表登陆有效性验证:验证测试仪表是否可以正常、正确登陆;
b、测试仪表端口可预留验证:验证测试仪表是否有端口预留、分配;
c、测试仪表清除配置:恢复测试仪表到初始化状态,保证测试仪表对被测设备操作的稳定性。
进一步地,
所述测试运行调度器用于调度回归测试套:测试运行调度器根据测试计划,通过回归测试管理模块从回归测试库提取回归测试套;
所述测试运行调度器用于申请测试资源:当测试运行调度器调度回归测试套前,首先做资源申请处理;当为当前回归测试套申请不到测试资源时,测试运行调度器根据回归测试套优先级、风险进行处理,或是推迟回归测试套执行或是抢夺资源;
所述测试运行调度器用于创建测试运行引擎:只要回归测试套和测试资源准备就绪,测试运行调度器就会创建测试运行引擎,并管理、监控测试运行引擎的执行进程。
为了解决上述技术问题,本发明还提供一种回归测试自动化方法,包括如下步骤:
(1)生成测试计划框架,提交到测试计划库;
(2)搭建回归测试环境,由测试环境管理模块生成测试环境配置、拓扑映射框架并提交到回归测试库;
(3)回归测试管理模块从测试计划库提取测试计划框架,生成测试套构建框架发送给测试套管理模块;
(4)测试套管理模块根据测试套构建框架构建测试套构建策略,并根据测试套构建策略通过测试用例管理模块从测试用例库提取测试用例,构建回归测试套提交给回归测试库;
(5)回归测试管理模块检测测试计划,启动测试运行调度器;
(6)测试运行调度器通知测试环境管理模块,申请测试资源;测试运行调度器通过测试套管理模块调度回归测试套,并启动测试运行引擎;
(7)测试运行引擎执行回归测试套,并生成测试执行结果到运行结果库。
进一步地,所述步骤(1)中,由回归测试管理模块根据测试计划配置生成测试计划框架,提交到测试计划库。
进一步地,所述步骤(3)中,回归测试管理模块从测试计划库提取测试计划框架,根据测试需求、需求优先级、测试风险、测试规模生成测试套构建框架。
进一步地,所述测试套构建策略包括:
A、基于基线测试用例库,构建回归测试套;
B、基于风险构建回归测试套:选择最为重要的、关键的和可疑的测试,而跳过非关键的、优先级别低或者高稳定的测试用例;
C、基于软件修改构建测试套:当软件的局部发生修改时,局限于被改变的模块或接口构建回归测试套。
进一步地,所述步骤(4)中,当回归测试套构建完成,回归测试管理模块制定测试套通过标准。
进一步地,所述步骤(7)执行之后,还执行:回归测试管理模块分析、比对测试执行结果,验证该次测试是否达到测试目的、测试标准,并生成测试报告存储到运行统计库中。
本发明的有益效果在于:提供一种回归测试的自动化系统架构,该架构整合了包括测试计划的制定、测试套的管理、回归测试的实施以及趋势统计分析等回归测试核心功能模块;并且在架构中整合了测试环境和测试执行引擎的管理,为测试计划的有序执行和测试资源的合理分配提供了保证。并且基于该系统提供了一种回归测试方法,该方法整合了回归测试过程中的主要环节,减少诸多人为因素,有助于提高回归测试的自动化水平和成效。
附图说明
图1是现有技术的回归测试流程图;
图2是本发明实施例的测试用例、测试套以及测试计划的关系示意图;
图3是本发明实施例的回归测试自动化系统结构示意图;
图4是本发明实施例的回归测试自动化系统的具体实施示意图。
具体实施方式
下面结合附图及具体实施例对本发明进行详细说明。
首先对本发明所涉及的技术名词说明如下:
测试用例(Test Case,TC),指对被测的特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。
测试用例框架(Test Case Profile,TCP)包括测试目标、测试环境、预期结果、测试脚本等,并形成格式化文档,具体如下:
TCP字段 | 描述 |
用例ID | 检索测试用例,以及用例的测试脚本 |
用例名称 | 测试用例的功能性描述 |
用例版本 | 当前测试用例的版本描述 |
测试级别 | 测试用例优先级、风险描述 |
前置条件 | 测试用例执行前处理 |
后置条件 | 测试用例执行后处理 |
测试环境 | 测试用例所需要的拓扑逻辑 |
预期结果 | 测试环境稳定条件下测试用例的输出 |
测试逻辑(Test Logical),指测试用例执行的环境或场景,在这种场景下,测试用例能够正确执行并得到预期结果;测试环境可用测试逻辑拓扑来描述。
测试套(Test Suite),是依据产品特性、构建策略、软件模块或其他(如基本功能、系统功能)来划分和组织的,是具有相同测试逻辑的若干测试用例的集合。
测试计划(Test Scheme),就是定义一个测试项目的过程,以便能够正确的度量和控制测试;测试计划一般包括测试目标、风险评估、鉴别和确定测试需求的优先级、估计测试资源、制定规划等。
所述测试用例、测试套以及测试计划的关系可以概括为如图2所示。
在本发明实施例中,测试用例存储在测试用例库中,测试套(在本发明中,为回归测试套)存储在回归测试库中,测试计划存储在测试计划库中。
如图3所示,本发明实施例的系统包括:测试管理执行单元、测试数据库和测试环境单元;
所述测试管理执行单元包括:测试用例管理(Test Case Management,TCM)模块、测试套管理(Test Suite Management,TSM)模块、测试环境管 理(TestBed Manager,TBM)模块、回归测试管理(Regression Test Management,RTM)模块、测试运行调度器(Test Run Scheduler,TRS)以及测试运行引擎(Test Run Engine,TRE);
所述测试数据库包括:测试计划库(Test Scheme Database,TSD)、测试用例库(Test Case Database,TCD)、回归测试库(Regression Test Database,RTD)和运行统计库(Run Statistics Database,RSD);
所述测试环境单元包括:被测设备(Device Under Test,DUT)和测试仪表。
其中,所述测试用例管理模块用于管理、维护自动化测试实施过程中所开发的测试用例,并提交测试用例库统一管理、共享测试用例;还用于根据测试套管理模块的请求,将测试用例库中的测试用例发送给测试套管理模块;还用于测试用例框架的管理维护;
所述测试套管理模块负责从回归测试管理模块获取测试套构建框架(Suite Building Profile,SBP),构建测试套构建策略;负责根据测试套构建策略通过测试用例管理模块从测试用例库检索、分析、提取测试用例,构建回归测试套,并提交到回归测试库;所述测试套构建策略(Suite BuildingStrategy,SBS),负责回归测试的规模、优先级和风险等控制;
所述测试环境管理模块用于管理测试环境单元,包括被测设备、测试仪表等设备分配和资源调度,并生成测试环境配置(TestBed Configuration,TBC)以及拓扑映射框架(Topology Mapping Profile,TMP)并存储到回归测试库中,保证共享的测试环境中被测设备配置以及测试仪表资源预留按照调度有序进行;所述测试环境配置负责拓扑映射框架定义;所述拓扑映射框架实现逻辑拓扑映射到物理环境映射的映射,测试环境管理模块通过拓扑映射框架实现对测试环境的管理、测试资源的分配;
所述回归测试管理模块用于测试计划库(Test Scheme Database,TSD)的管理配置,可负责测试计划的制定、分析、调度和执行,以及测试计划框架(Test Scheme Profile,TSP)的生成和配置,并提交到测试计划库;所述回归测试管理模块用于从测试计划库提取所述测试计划框架,生成测试套构建框架,并存储到测试计划库中;以及根据测试套管理模块的请求,从测试 计划库提取所述测试套构建框架,发送给测试套管理模块;回归测试管理模块还用于检测测试计划,启动测试运行调度器;回归测试管理模块还用于回归测试套执行通过标准的制定,以及从运行统计库提取测试执行结果统计分析和比对,回归测试套执行通过失败验证处理,以及测试报告的定义和生成;所述测试计划框架是实施回归测试的参考和依据,是回归测试成效的基本保障;测试计划框架一般要解决如下几个问题:为何做(what)、如何做(how)、谁来做(who)、何时做(when)、是否完成等问题;在本发明中,测试计划框架可人工配置,也可由回归测试管理模块根据测试计划配置生成,再提交到测试计划库中;回归测试管理模块提交测试计划框架到测试计划库,为测试项目提供包括风险评估、鉴别和确定测试需求的优先级、估计测试资源的需求量、测试规划、测试策略等信息;所述测试套构建框架是测试套构建策略的依据,包括回归测试的规模、最终目标、优先级以及风险等;
所述测试运行调度器用于通知测试环境管理模块检测测试环境,申请测试资源;测试运行调度器还用于通过测试套管理模块分析、调度回归测试套,以及根据回归测试管理模块的指示启动测试运行引擎;测试运行调度器是测试资源分配、运行调度方式(串行调度或并行调度)的管理者,而资源分配与调度决策信息一般来自测试环境配置与测试计划框架等,这些信息都存储在相应的数据库中,如回归测试库、测试计划数据库;所有调度是通过测试环境管理模块以及回归测试管理模块辅助实现的;
所述测试运行引擎用于执行所述回归测试套,并输出执行结果到运行结果统计库;测试运行引擎是测试环境的执行体,与被测设备、测试仪表实现命令控制或各种测试操作,测试运行引擎可以是测试用例的执行单元,也可是自动化测试工具;
所述测试计划库用于存储测试计划框架以及测试套构建框架;
所述回归测试库用于存储测试环境配置、测试拓扑映射以及回归测试套,是测试套配置、构建,以及测试逻辑、测试环境管理的中心;
所述测试用例库用于存储测试用例以及测试用例框架,是测试用例集中管理、配置、维护的中心,是测试项目的核心资源;
所述结果统计库用于存储测试执行结果、测试统计文件。
上述回归测试套构建策略进一步包括:
A、基于基线测试用例库,构建回归测试套;当选择全部基线测试用例时,能最大限度降低遗漏回归测试错误的风险,但测试成本较高;
B、基于风险构建回归测试套;首先选择最为重要的、关键的和可疑的测试,而跳过非关键的、优先级别低或者高稳定的测试用例。
C、基于软件修改构建测试套;当软件的局部发生修改时,可以局限于被改变的模块或接口构建回归测试套,并保证尽可能覆盖到所有受影响的部分。
上述测试环境管理模块,用于被测设备的配置管理(Device ConfigurationManagement,DCM),包括:
A、初始配置:启用被测设备初始化状态执行测试用例;
B、检测并验证配置:检测被测设备是否正确响应,验证各种参数是否正确配置;
C、清除配置:恢复被测设备到初始化状态或者默认设置,保证测试套运行在稳定的设备状态中,从而保证测试结果的稳定性;
上述测试环境管理模块用于测试仪表管理,包括:
A、测试仪表登陆有效性验证:验证测试仪表是否可以正常、正确登陆;
B、测试仪表端口可预留验证:验证测试仪表是否有端口预留、分配;
C、测试仪表清除配置:恢复测试仪表到初始化状态,保证测试仪表对被测设备操作的稳定性。
上述测试运行调度器用于:
A、测试运行调度器负责回归测试套的调度:测试运行调度器根据测试计划,通过回归测试管理模块从回归测试库获取回归测试套;如果回归测试库部署在远程服务器上,则从服务器上获取回归测试套到本地;
B、测试运行调度器负责测试资源的申请:当测试运行调度器调度测试套前,首先做资源申请处理;当为当前测试套申请不到测试资源时,测试运行调度器根据回归测试套优先级、风险进行处理,或是推迟回归测试套执行, 或是抢夺资源;
C、测试运行调度器负责测试运行引擎的创建:只要回归测试套具备并且测试资源具备,测试运行调度器就会创建测试运行引擎测试运行引擎,并管理、监控测试运行引擎的执行进程。
如图4所示,本发明实施例的方法包括如下步骤:
步骤401,制定回归测试计划:无论是单元测试,还是集成测试,制定回归测试计划是实施回归测试的起步点,一个好的测试计划是回归测试成效的基本保障;
测试计划一般要解决如下几个问题:为何做(what)、如何做(how)、谁来做(who)、何时做(when)、是否完成等问题;
配置好上述问题,生成测试计划框架,提交到测试计划库,在后面回归测试具体实时过程中,也会不断更新测试计划库,以保证测试计划的正确实施以及测试自动化的顺利进行;
在本发明中,可以由回归测试管理模块根据测试计划配置生成测试计划框架,提交到测试计划库;也可直接手工配置测试计划框架,并提交到测试计划库;
步骤402,搭建测试环境:测试环境包括各种网络设备、测试仪表、测试工具,对这些设备的管理,是通过测试环境管理模块配置的;测试环境管理模块生成测试环境配置,以及逻辑拓扑到物理拓扑的拓扑映射框架;对设备的管理保存在回归测试库中,测试人员首先搭建好测试的物理环境,然后从回归测试库中选择这些设备的逻辑描述,完成逻辑拓扑到物理环境的映射,及拓扑映射框架;
为了保证在回归测试自动化过程中资源的合理、最大化分配,保证所有资源有序调度,所有测试设备都应该由测试环境管理模块统一管理、分配和调度;
测试套环境搭建,应该是“最小满足、最大利用”的原则,以保证其他测试套有可以调度的资源,在提高自动化测试效率的同时,提高测试资源的 利用率;
步骤403,回归测试管理模块从测试计划库获取测试计划配置,以及测试环境配置,根据测试需求、需求优先级、测试风险、测试规模等,搭建测试套构建框架,将测试套构建框架存储到测试计划库中,并提交到测试套管理模块;
试套构建框架包括回归测试的规模、测试启动、最终目标、优先级以及风险;试套构建框架信息是测试计划框架的格式化描述,便于机器分析与处理,试套构建框架还可以包括测试关键字、测试软件版本等重要信息;
步骤404,测试套管理模块根据测试套构建框架,决定测试套构建策略;一般的构建策略包括基于基线用例库构建(选择基线用例库全部用例)、基于风险构建(基于测试优先级)或基于软件修改构建;测试套的构建策略直接决定了测试套的规模和回归测试的故障覆盖率;
步骤405~406,测试套管理模块根据测试套构建策略,通过测试用例管理模块从测试用例库检索、分析、抽取测试脚本,构建测试套,并提交到回归测试库;
由测试用例管理模块获取的测试脚本,可以是实际测试脚本文件,也可以是脚本的索引,当测试用例库与执行引擎部署在同一台机器上时,脚本索引方式可以提高测试套的生成效率以及脚本运行的效率;
步骤407,当测试套构建完成,回归测试管理模块制定测试套通过标准;
所述测试套通过标准是回归测试是否完成、达标的判断依据,可以由回归测试管理模块根据历史经验默认设置,也可用户制定;测试套通过标准制定,具体包括:
A、测试套执行成败的类型和标准可以是通过测试脚本的绝对数,可以是通过脚本的百分比,还可以是某一具体的物理量,比如吞吐量;
B、当测试套执行完成,回归测试管理模块根据成败类型和标准,从运行统计库获取统计信息,进行分析比对,给出测试套执行结果;
上述完成了一个测试套构建流程,从测试计划制定完成,测试环境搭建后,就可以是自动化、智能的过程,包括回归测试套构建策略的控制、测试 套构建控制等等;这中间可以有人的参与,影响某个环节,但最终不会影响这个流程;从上述流程可以看出,测试计划的制定的核心位置和良好计划制定的重要性;
回归测试管理模块与测试套管理模块为执行机构提供执行元素;当执行条件具备,调度机构测试运行调度器、执行机构测试运行引擎开始执行测试套,具体如下:
步骤408,回归测试管理模块不断检测测试计划,当检测测试套执行命令,便启动测试运行调度器,由测试运行调度器管理包括测试资源、测试套、执行引擎等;回归测试管理模块启动测试运行调度器,可以设计为随机调度模式(Random Schedule)或定时调度模式(Timer Schedule);
所述随机模式是一种手工启动测试运行调度器的模式,在任何时间,只要创建了测试套,就可通过回归测试管理模块启动测试运行调度器;
所述定时模式指,当回归测试管理模块检测到定时计划,并分析当前测试运行调度器状态。当测试运行调度器空闲,则启动测试运行调度器;否则等待测试运行调度器调度完成,除非设置抢断调度模式,执行新的测试计划;
步骤409,测试运行调度器是自动化测试执行的核心,执行测试资源申请、测试套调度、执行引擎创建等;
首先测试运行调度器负责测试套的调度:测试运行调度器根据测试计划,通过回归测试管理模块从回归测试库提取回归测试套;如果回归测试库部署在远程服务器上,则从服务器上获取回归测试套到本地;关于回归测试套的调度,测试运行调度器会根据调度情况实时启动测试运行引擎,以缩短测试套的执行时间,提高效率;
其次测试运行调度器负责测试资源的申请调度:当测试运行调度器调度测试套前,会判断当前可以申请的测试设备、或者可以预留的仪表资源;当为当前测试套申请不到测试资源时,测试运行调度器根据回归测试套优先级、风险进行处理,或是推迟回归测试套执行,或是抢夺资源(一般为了保证测试计划的有序执行,回归测试套只有在条件具备时才执行);
还有就是测试运行调度器对调度顺序的管理:测试运行调度器可以按照 串行执行或者并行执行的方式使得各种测试资源得到最大的优化利用;
步骤410~411,测试运行引擎执行测试套并生成测试结果,将测试结果存储到运行统计库;在测试运行引擎被创建之前,测试运行调度器已经保证一切资源就绪,测试运行调度器充分保证测试资源的有序调度和分配,为测试运行引擎提供资源管理的后台保障;
在测试运行引擎运行过程中,测试环境管理模块负责设备配置、配置验证,并保证回归测试套运行在稳定的设备环境中,从而保证测试运行引擎测试的稳定性和准确性。
步骤412~413,测试运行引擎执行测试套完成,回归测试管理模块分析、比对测试执行结果,验证该次测试是否达到测试目的、测试标准,并生成测试报告存储到运行统计库中;
所述测试报告定义和生成,具体包括:
A、定义测试报告:回归测试报告内容可以是:整体回归测试概要、每个测试套回归测试概要、回归测试详细报告(测试结果、配置信息等);
B、测试报告生成:回归测试管理模块根据测试报告定义形式,从运行统计库获取测试执行结果,生成测试报告,可以是txt文件,可以是html文件或其他。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (12)
1.一种回归测试自动化系统,包括测试环境单元,所述测试环境单元包括被测设备和测试仪表,其特征在于,还包括测试管理执行单元和测试数据库,所述测试管理执行单元包括:测试用例管理模块、测试套管理模块、测试环境管理模块、回归测试管理模块、测试运行调度器和测试运行引擎;所述测试数据库包括:测试计划库、测试用例库、回归测试库和运行统计库;
其中,所述测试用例管理模块用于管理维护测试用例,以及根据测试套管理模块的请求,将测试用例库中的测试用例发送给测试套管理模块;
所述测试套管理模块用于从回归测试管理模块获取测试套构建框架,构建测试套构建策略,根据测试套构建策略通过测试用例管理模块从测试用例库提取测试用例,构建回归测试套提交给回归测试库;
所述测试环境管理模块用于管理测试环境单元,生成测试环境配置及环境拓扑并存储到回归测试库中;以及用于测试设备资源的分配与调度;
所述回归测试管理模块用于管理配置测试计划库,从测试计划库提取测试计划框架,生成测试套构建框架存入测试计划库中,以及将所述测试套构建框架发送给测试套管理模块;还用于检测测试计划,启动测试运行调度器;
所述测试运行调度器用于通知测试环境管理模块检测测试环境,申请测试资源;还用于通过测试套管理模块调度回归测试套,以及根据回归测试管理模块的指示启动测试运行引擎;
所述测试运行引擎用于执行所述回归测试套,并输出测试执行结果到运行统计库。
2.如权利要求1所述的系统,其特征在于,所述测试用例管理模块还用于测试用例框架的管理维护。
3.如权利要求1所述的系统,其特征在于,所述回归测试管理模块还用于根据测试计划配置生成测试计划框架,提交到测试计划库。
4.如权利要求1所述的系统,其特征在于,所述回归测试管理模块还用于回归测试套执行通过标准的制定,以及从运行统计库提取测试执行结果统计分析和比对,回归测试套执行通过失败验证处理,以及测试报告的定义和生成。
5.如权利要求1所述的系统,其特征在于,所述测试环境管理模块,用于被测设备的配置管理包括:
A、初始配置:启用被测设备初始化状态执行测试用例;
B、检测并验证配置:检测被测设备是否正确响应,验证各种参数是否正确配置;
C、清除配置:恢复被测设备到初始化状态或者默认设置,保证测试套运行在稳定的设备状态中,从而保证测试结果的稳定性;
所述测试环境管理模块用于测试仪表管理,包括:
a、测试仪表登陆有效性验证:验证测试仪表是否可以正常、正确登陆;
b、测试仪表端口可预留验证:验证测试仪表是否有端口预留、分配;
c、测试仪表清除配置:恢复测试仪表到初始化状态,保证测试仪表对被测设备操作的稳定性。
6.如权利要求1所述的系统,其特征在于,
所述测试运行调度器用于调度回归测试套:测试运行调度器根据测试计划,通过回归测试管理模块从回归测试库提取回归测试套;
所述测试运行调度器用于申请测试资源:当测试运行调度器调度回归测试套前,首先做资源申请处理;当为当前回归测试套申请不到测试资源时,测试运行调度器根据回归测试套优先级、风险进行处理,推迟回归测试套执行或是抢夺资源;
所述测试运行调度器用于创建测试运行引擎:只要回归测试套和测试资源准备就绪,测试运行调度器就会创建测试运行引擎,并管理、监控测试运行引擎的执行进程。
7.一种回归测试自动化方法,包括如下步骤:
(1)生成测试计划框架,提交到测试计划库;
(2)搭建回归测试环境,由测试环境管理模块生成测试环境配置、拓扑映射框架并提交到回归测试库;
(3)回归测试管理模块从测试计划库提取测试计划框架,生成测试套构建框架发送给测试套管理模块;
(4)测试套管理模块根据测试套构建框架构建测试套构建策略,并根据测试套构建策略通过测试用例管理模块从测试用例库提取测试用例,构建回归测试套提交给回归测试库;
(5)回归测试管理模块检测测试计划,启动测试运行调度器;
(6)测试运行调度器通知测试环境管理模块,申请测试资源;测试运行调度器通过测试套管理模块调度回归测试套,并启动测试运行引擎;
(7)测试运行引擎执行回归测试套,并生成测试执行结果到运行结果库。
8.如权利要求7所述的方法,其特征在于,所述步骤(1)中,由回归测试管理模块根据测试计划配置生成测试计划框架,提交到测试计划库。
9.如权利要求7所述的方法,其特征在于,所述步骤(3)中,回归测试管理模块从测试计划库提取测试计划框架,根据测试需求、需求优先级、测试风险、测试规模生成测试套构建框架。
10.如权利要求7所述的方法,其特征在于,所述测试套构建策略包括:
A、基于基线测试用例库,构建回归测试套;
B、基于风险构建回归测试套:选择最为重要的、关键的和可疑的测试,而跳过非关键的、优先级别低或者高稳定的测试用例;
C、基于软件修改构建测试套:当软件的局部发生修改时,局限于被改变的模块或接口构建回归测试套。
11.如权利要求7所述的方法,其特征在于,所述步骤(4)中,当回归测试套构建完成,回归测试管理模块制定测试套通过标准。
12.如权利要求7所述的方法,其特征在于,所述步骤(7)执行之后,还执行:回归测试管理模块分析、比对测试执行结果,验证该次测试是否达到测试目的、测试标准,并生成测试报告存储到运行统计库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101351245A CN101329652B (zh) | 2008-07-30 | 2008-07-30 | 一种回归测试自动化系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101351245A CN101329652B (zh) | 2008-07-30 | 2008-07-30 | 一种回归测试自动化系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101329652A CN101329652A (zh) | 2008-12-24 |
CN101329652B true CN101329652B (zh) | 2010-12-08 |
Family
ID=40205468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101351245A Expired - Fee Related CN101329652B (zh) | 2008-07-30 | 2008-07-30 | 一种回归测试自动化系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101329652B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020186810A1 (zh) * | 2019-03-19 | 2020-09-24 | 深圳壹账通智能科技有限公司 | 回归测试用例确定方法、装置、计算机设备及存储介质 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077109B (zh) * | 2009-12-28 | 2016-05-25 | 中兴通讯股份有限公司 | 一种测试计划调度方法及系统 |
CN101916222B (zh) * | 2010-08-09 | 2012-07-11 | 哈尔滨工程大学 | 基于控制流图遍历和切片前向遍历相结合的软件测试方法 |
CN103176895B (zh) * | 2011-12-22 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种回归测试方法和系统 |
CN103246947A (zh) * | 2012-02-10 | 2013-08-14 | 广州博纳信息技术有限公司 | 软件测评实验室管理系统 |
CN102740332B (zh) * | 2012-05-31 | 2016-01-06 | 青岛海信移动通信技术股份有限公司 | 移动终端测试方法及测试装置 |
CN103473148B (zh) * | 2012-06-08 | 2017-10-10 | 中兴通讯股份有限公司 | 一种恢复测试环境方法及装置 |
CN103699478A (zh) * | 2012-09-27 | 2014-04-02 | 中国银联股份有限公司 | 一种测试案例生成系统和方法 |
CN103812848B (zh) * | 2012-11-15 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 一种应用程序的内部测试方法、客户端及服务器 |
CN103823747B (zh) * | 2012-11-16 | 2017-09-15 | 上海华虹集成电路有限责任公司 | 自动回归测试的方法 |
CN103412818B (zh) * | 2013-08-14 | 2016-06-29 | 迈普通信技术股份有限公司 | 自动化测试方法及系统 |
CN103473175A (zh) * | 2013-09-11 | 2013-12-25 | 江苏中科梦兰电子科技有限公司 | 一种软件测试用例集的提取方法 |
CN104461874A (zh) * | 2014-11-23 | 2015-03-25 | 国云科技股份有限公司 | 一种规范移动app应用测试的方法 |
CN105589804A (zh) * | 2014-12-31 | 2016-05-18 | 中国银联股份有限公司 | 一种基于流程驱动的测试自动化方法以及测试自动化系统 |
CN104794053B (zh) * | 2015-04-22 | 2017-12-01 | 烽火通信科技股份有限公司 | 一种基于随机用例的逻辑仿真验证回归测试系统及方法 |
CN105718371B (zh) * | 2016-01-21 | 2019-01-11 | 深圳市紫光同创电子有限公司 | 一种回归测试方法、装置及系统 |
CN107529180B (zh) * | 2016-06-21 | 2022-01-25 | 中兴通讯股份有限公司 | 一种基站云测试环境构建装置和方法 |
CN106502642A (zh) * | 2016-09-21 | 2017-03-15 | 北京深维科技有限公司 | 一种eda工具的评价方法及系统 |
CN107885649A (zh) * | 2016-09-29 | 2018-04-06 | 平安科技(深圳)有限公司 | Ios应用程序的性能测试方法和装置 |
CN108802511B (zh) * | 2017-05-04 | 2020-05-05 | 宁德时代新能源科技股份有限公司 | 一种电池管理单元的测试方法及系统 |
CN107391376A (zh) * | 2017-07-26 | 2017-11-24 | 成都科来软件有限公司 | 一种回归测试方法 |
CN107404418B (zh) * | 2017-07-26 | 2020-12-11 | 百度在线网络技术(北京)有限公司 | 互联网产品测试方法、装置、设备及存储介质 |
CN107678942A (zh) * | 2017-08-30 | 2018-02-09 | 苏州朗动网络科技有限公司 | 一种api自动化测试方法 |
CN108021502A (zh) * | 2017-11-20 | 2018-05-11 | 广州品唯软件有限公司 | 客户端业务测试方法、装置及计算机可读存储介质 |
CN109992506B (zh) * | 2019-03-18 | 2024-05-31 | 平安科技(深圳)有限公司 | 调度测试方法、装置、计算机设备和存储介质 |
CN110059012B (zh) * | 2019-04-24 | 2022-08-23 | 江苏满运软件科技有限公司 | 一种程序测试的控制方法、装置、存储介质及平台 |
US11429597B2 (en) | 2020-01-23 | 2022-08-30 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for reconstructing regression test scenarios using post-production events |
CN111309611A (zh) * | 2020-02-16 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种软件产品多版本测试方法及系统 |
CN111240998B (zh) * | 2020-02-17 | 2024-04-19 | 网易(杭州)网络有限公司 | 测试用例处理方法和装置 |
CN112506786B (zh) * | 2020-12-15 | 2022-04-19 | 西安中朗智控科技有限公司 | 一种回归测试方法和回归测试装置 |
CN113358949A (zh) * | 2021-04-13 | 2021-09-07 | 杭州涂鸦信息技术有限公司 | 一种生产工具的测试方法、生产工具测试装置和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1351147A2 (en) * | 2002-04-04 | 2003-10-08 | Broadcom Corporation | Method of generating a test suite |
-
2008
- 2008-07-30 CN CN2008101351245A patent/CN101329652B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1351147A2 (en) * | 2002-04-04 | 2003-10-08 | Broadcom Corporation | Method of generating a test suite |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020186810A1 (zh) * | 2019-03-19 | 2020-09-24 | 深圳壹账通智能科技有限公司 | 回归测试用例确定方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101329652A (zh) | 2008-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101329652B (zh) | 一种回归测试自动化系统及方法 | |
CN105302716B (zh) | 合流开发模式下的测试方法、装置 | |
CN102214139B (zh) | 一种面向分布式系统的自动化测试的执行控制与调度方法 | |
EP2572294B1 (en) | System and method for sql performance assurance services | |
CN102141962A (zh) | 一种安全性分布式测试框架系统及其测试方法 | |
US7370101B1 (en) | Automated testing of cluster data services | |
CN101834890A (zh) | 一种分布式系统的智能化管理系统及方法 | |
CN104657270A (zh) | 测试方法和系统 | |
CN109150653B (zh) | 一种远程硬件在环hil自动化测试方法及系统 | |
CN111309581B (zh) | 一种数据库升级场景下的应用性能检测方法及装置 | |
CN109491922A (zh) | 一种基于模型驱动的测试方法和装置 | |
CN109460367A (zh) | 基于Jmeter可持续集成自动化性能测试的方法 | |
CN104424099B (zh) | 软件测试方法及系统 | |
CN109977012A (zh) | 系统的联调测试方法、装置、设备及计算机可读存储介质 | |
CN110119348B (zh) | 一种软件升级测试的方法及终端 | |
CN112148616A (zh) | 一种性能测试管理平台 | |
CN117931620A (zh) | 一种降低智能终端系统测试技术门槛的自动化测试方法 | |
CN105589804A (zh) | 一种基于流程驱动的测试自动化方法以及测试自动化系统 | |
CN104484275A (zh) | 一种可远程测试智能卡的方法及系统 | |
CN107844427A (zh) | 一种基于测试资源感知的测试用例排序方法 | |
CN116185365A (zh) | 一种云原生的开发系统及其方法 | |
CN109783368A (zh) | 梯形图编程软件测试系统及方法 | |
CN111581075A (zh) | 嵌入式层次化系统的调试方法、系统、计算机及存储介质 | |
Chen et al. | Big data system testing method based on chaos engineering | |
CN104063315B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101208 Termination date: 20190730 |
|
CF01 | Termination of patent right due to non-payment of annual fee |