一种持续集成测试方法和系统.pdf

上传人:sha****007 文档编号:6232458 上传时间:2019-05-23 格式:PDF 页数:15 大小:4.66MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210258861.0

申请日:

2012.07.24

公开号:

CN103577907A

公开日:

2014.02.12

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06Q 10/06申请日:20120724|||公开

IPC分类号:

G06Q10/06(2012.01)I

主分类号:

G06Q10/06

申请人:

阿里巴巴集团控股有限公司

发明人:

蔡文婷

地址:

英属开曼群岛大开曼资本大厦一座四层847号邮箱

优先权:

专利代理机构:

北京润泽恒知识产权代理有限公司 11319

代理人:

苏培华

PDF下载: PDF下载
内容摘要

本申请提供了一种持续集成测试方法,可以适用于各种测试环境,复用性比较高,并且可以减少维护中的工作量和复杂度。所述的方法包括:一个持续集成项目同时监测在各个真实环境中运行的待测目标;当检测到某个真实环境中运行的待测目标达到预设条件时,获取所述待测目标运行的真实环境对应的环境标识;通过发送测试命令,调用测试用例,其中,所述测试命令中包括所述环境标识;所述测试用例根据所述环境标识,配置相应的测试环境;在所述测试环境中执行测试用例中的测试脚本,并获取最终的测试结果。本申请所述的方法复用性较高,并且即使待测目标改变,也仅需维护1个CI项目和1个测试用例,大大的将提了持续集成测试的工作量和复杂度。

权利要求书

权利要求书
1.  一种持续集成测试方法,其特征在于,包括:
一个持续集成项目同时监测在各个真实环境中运行的待测目标;
当检测到某个真实环境中运行的待测目标达到预设条件时,获取所述待测目标运行的真实环境对应的环境标识;
通过发送测试命令,调用测试用例,其中,所述测试命令中包括所述环境标识;
所述测试用例根据所述环境标识,配置相应的测试环境;
在所述测试环境中执行测试用例中的测试脚本,并获取最终的测试结果。

2.  根据权利要求1所述的方法,其特征在于,所述测试用例根据所述环境标识,配置相应的测试环境,包括:
根据所述环境标识,对测试用例中的状态位进行赋值;
通过赋值的状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件。

3.  根据权利要求2所述的方法,其特征在于,所述环境标识为状态参数,
根据所述环境标识,对测试用例中的状态位进行赋值,包括:
以系统属性的方式通知所述测试用例,将所述状态参数赋值给所述状态位。

4.  根据权利要求1所述的方法,其特征在于,所述测试用例根据所述环境标识,配置相应的测试环境,包括:
以系统插件的方式,将所述环境标识通知给所述测试用例的状态位;
通过所述状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件。

5.  根据权利要求1所述的方法,其特征在于,所述预设条件为达到检测时间,或,待测目标发生变化。

6.  根据权利要求1所述的方法,其特征在于,还包括:
预先获取所述待测目标运行的真实环境和所述测试环境的对应关系; 
配置测试环境的环境标识,并建立所述环境标识与所述待测目标运行的真实环境对应关系。

7.  一种持续集成测试系统,其特征在于,包括:持续集成项目和测试用例,其中:
所述持续集成项目,包括:
监测模块,用于同时监测在各个真实环境中运行的待测目标;
获取模块,用于当检测到某个真实环境中运行的待测目标达到预设条件时,获取所述待测目标运行的真实环境对应的环境标识;
发送模块,用于通过发送测试命令,调用测试用例,其中,所述测试命令中包括所述环境标识;
所述测试用例,包括
配置模块,用于根据所述环境标识,配置相应的测试环境;
测试模块,用于在所述测试环境中执行测试用例中的测试脚本,并获取最终的测试结果。

8.  根据权利要求7所述的系统,其特征在于,所述环境配置模块,包括:
第一状态位配置子模块,用于根据所述环境标识,对测试用例中的状态位进行赋值;
第一环境识别子模块,用于通过赋值的状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件。

9.  根据权利要求8所述的系统,其特征在于,所述环境标识为状态参数,所述第一状态位配置子模块,还用于以系统属性的方式通知所述测试用例,将所述状态参数赋值给所述状态位。

10.  根据权利要求9所述的系统,其特征在于,所述环境配置模块,包括:
第二状态位配置子模块,用于以系统插件的方式,将所述环境标识通知给所述测试用例的状态位; 
第二环境识别子模块,用于通过所述状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件。

11.  根据权利要求7所述的系统,其特征在于,所述预设条件为达到检测时间,或,待测目标发生变化。

12.  根据权利要求7所述的系统,其特征在于,所述的持续集成项目,还包括:
环境关联模块,用于预先获取所述待测目标运行的真实环境和所述测试环境的对应关系;
标识配置模块,用于配置测试环境的环境标识,并建立所述环境标识与所述待测目标运行的真实环境对应关系。 

说明书

说明书一种持续集成测试方法和系统
技术领域
本申请涉及测试技术,特别是涉及一种持续集成测试方法和系统。
背景技术
CI(Continuous integration,持续集成)是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
在持续集成测试中,首先可以建立CI项目,通过所述CI项目对待测目标进行监控,一旦发现待测目标出现变化,就可以调用测试脚本进行测试。测试时为保证测试的准确性,应当确保测试脚本运行的测试环境与待测目标运行的真实环境一致。
因此,现有技术将测试环境和测试脚本硬编码在一个测试用例中。在进行持续集成测试时,一个CI项目,监测某一真实环境中运行的待测目标,并在测试时调用对应的测试用例,其中,所述测试用例中的测试环境与所述真实环境保持一致。
若同一待测目标由于不同的需求而运行在n个真实环境中,此时就需要建立n个CI项目,调用n个测试用例,其中,n为正整数。实际上,这n个测试脚本中仅仅是测试环境不同。
综上,上述将测试环境和测试脚本硬编码在一个测试用例中的方法,复用性比较低。并且,一个待测目标对应n个CI项目和n个测试用例,一旦待测目标改变,就同时要维护n个CI项目和n个测试用例,导致持续集成测试的工作量和复杂度大大提升。
因此,本领域技术人员迫切解决的一个技术问题是,提出一种持续集成 测试方法,可以适用于各种测试环境,复用性比较高,并且可以减少维护中的工作量和复杂度。
发明内容
本申请提供一种持续集成测试方法,可以适用于各种测试环境,复用性比较高,并且可以减少维护中的工作量和复杂度。
为了解决上述问题,本申请公开了一种持续集成测试方法,包括:
一个持续集成项目同时监测在各个真实环境中运行的待测目标;
当检测到某个真实环境中运行的待测目标达到预设条件时,获取所述待测目标运行的真实环境对应的环境标识;
通过发送测试命令,调用测试用例,其中,所述测试命令中包括所述环境标识;
所述测试用例根据所述环境标识,配置相应的测试环境;
在所述测试环境中执行测试用例中的测试脚本,并获取最终的测试结果。
优选的,所述测试用例根据所述环境标识,配置相应的测试环境,包括:
根据所述环境标识,对测试用例中的状态位进行赋值;
通过赋值的状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件。
优选的,所述环境标识为状态参数,
根据所述环境标识,对测试用例中的状态位进行赋值,包括:
以系统属性的方式通知所述测试用例,将所述状态参数赋值给所述状态位。
优选的,所述测试用例根据所述环境标识,配置相应的测试环境,包括:
以系统插件的方式,将所述环境标识通知给所述测试用例的状态位;
通过所述状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件。
优选的,所述预设条件为达到检测时间,或,待测目标发生变化。
优选的,所述的方法还包括:
预先获取所述待测目标运行的真实环境和所述测试环境的对应关系;
配置测试环境的环境标识,并建立所述环境标识与所述待测目标运行的真实环境对应关系。
相应的,本申请还公开了一种持续集成测试系统,包括:持续集成项目和测试用例,其中:
所述持续集成项目,包括:
监测模块,用于同时监测在各个真实环境中运行的待测目标;
获取模块,用于当检测到某个真实环境中运行的待测目标达到预设条件时,获取所述待测目标运行的真实环境对应的环境标识;
发送模块,用于通过发送测试命令,调用测试用例,其中,所述测试命令中包括所述环境标识;
所述测试用例,包括
配置模块,用于根据所述环境标识,配置相应的测试环境;
测试模块,用于在所述测试环境中执行测试用例中的测试脚本,并获取最终的测试结果。
优选的,所述环境配置模块,包括:
第一状态位配置子模块,用于根据所述环境标识,对测试用例中的状态位进行赋值;
第一环境识别子模块,用于通过赋值的状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件
优选的,所述环境标识为状态参数,所述第一状态位配置子模块,还用于以系统属性的方式通知所述测试用例,将所述状态参数赋值给所述状态位。
优选的,所述环境配置模块,包括:
第二状态位配置子模块,用于以系统插件的方式,将所述环境标识通知 给所述测试用例的状态位;
第二环境识别子模块,用于通过所述状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件。
优选的,所述预设条件为达到检测时间,或,待测目标发生变化。
优选的,所述的持续集成项目,还包括:
环境关联模块,用于预先获取所述待测目标运行的真实环境和所述测试环境的对应关系;
标识配置模块,用于配置测试环境的环境标识,并建立所述环境标识与所述待测目标运行的真实环境对应关系。
与现有技术相比,本申请包括以下优点:
首先,本申请将测试环境与测试用例分离,因此可以一个持续集成项目同时监测在各个真实环境中运行的待测目标,当检测到某个真实环境中运行的待测目标达到预设条件时,获取所述待测目标运行的真实环境对应的环境标识。然后根据所述环境标识,配置相应的测试环境,在所述测试环境中执行测试用例中的测试脚本,并获取最终的测试结果。本申请所述的方法复用性较高。并且本申请所述的方法即使待测目标改变,也仅需维护1个CI项目和1个测试用例,大大的将提了持续集成测试的工作量和复杂度。
其次,本申请可以采用属性赋值方式配置测试环境,也可以采用插件方式配置测试环境,测试环境的配置方法灵活、多变。
附图说明
图1是本申请现有技术中所述持续集成测试示意图;
图2是本申请实施例所述持续集成测试示意图;
图3是本申请实施例所述一种持续集成测试方法流程图;
图4是本申请所述一种Hudson服务器的结构简化图;
图5是本申请实施例所述一种持续集成测试系统结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,给出了本申请现有技术中所述持续集成测试示意图。
现有技术中,将测试环境和测试脚本硬编码在一个测试用例中。在进行持续集成测试时,一个CI项目,监测某一真实环境中运行的待测目标,并在测试时调用对应的测试用例。
若同一待测目标由于不同的需求而运行在n个真实环境中,此时就需要建立n个CI项目,调用n个测试用例,其中,n为正整数。实际上,这n个测试脚本中仅仅是测试环境不同。
因此,现有技术所述的方法复用性比较低,并且维护中会大大提升持续集成测试的工作量和复杂度。
本申请提出一种持续集成测试方法,可以适用于各种测试环境,复用性比较高,并且可以减少维护中的工作量和复杂度。
参照图2,给出了本申请实施例所述持续集成测试示意图。
参照图3,给出了本申请实施例所述一种持续集成测试方法流程图。
步骤11,一个持续集成项目同时监测在各个真实环境中运行的待测目标;
同一个待测目标可以运行在不同的真实环境中,现有技术中,一个持续集成项目仅对应一个真实环境中运行的待测目标,而本申请中可以采用一个持续集成项目同时监控在各个真实环境中运行的待测目标。
步骤12,当检测到某个真实环境中运行的待测目标达到预设条件时,获取所述待测目标运行的真实环境对应的环境标识;
例如,待测目标在真实环境A、B和C中运行,当检测到真实环境B中运行的待测目标达到预设条件时,此时可以获取所述待测目标运行的真实环境B对应的环境标识B'。
优选的,所述预设条件为达到检测时间,或,待测目标发生变化。
本申请预设了检测时间,若某个真实环境中运行的待测目标达到检测时 间,则获取所述待测目标运行的真实环境对应的环境标识。并且,本申请在待测目标发生变化,例如检测到某个真实环境中运行的待测目标中的代码变更,则获取所述待测目标运行的真实环境对应的环境标识。
由于所述测试用例中的测试环境应当与所述真实环境保持一致,因此后续可以根据所述环境标识确定测试环境。
步骤13,通过发送测试命令,调用测试用例,其中,所述测试命令中包括所述环境标识;
然后持续集成项目可以发送测试命令以调用测试用例,进行持续集成测试。其中,所述测试命令中包括所述环境标识。
步骤14,所述测试用例根据所述环境标识,配置相应的测试环境;
然后,测试用例获取所述环境标识,并根据所述环境标识,配置相应的测试环境,则所述测试环境与所述真实环境一致。
其中,测试环境是指测试运行其上的软件和硬件环境的描述,以及任何其它与被测软件交互的软件,包括驱动和桩。测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。
稳定和可控的测试环境,可以使测试人员花费较少的时间就完成测试用例的执行,也无需为测试用例、测试过程的维护花费额外的时间,并且可以保证每一个被提交的缺陷都可以在任何时候被准确的重现。
步骤15,在所述测试环境中执行测试用例中的测试脚本,并获取最终的测试结果。
在所述测试环境中执行测试用例中的测试脚本,进行持续集成测试,获取最终的测试结果。
综上所述,本申请将测试环境与测试用例分离,因此可以一个持续集成项目同时监测在各个真实环境中运行的待测目标,当检测到某个真实环境中运行的待测目标达到预设条件时,获取所述待测目标运行的真实环境对应的环境标识。然后根据所述环境标识,配置相应的测试环境,在所述测试环境中执行测试用例中的测试脚本,并获取最终的测试结果。本申请所述的方法复用性较高。并且本申请所述的方法即使待测目标改变,也仅需维护1个 CI项目和1个测试用例,大大的将提了持续集成测试的工作量和复杂度。
本申请中对测试环境的配置方式有多种,例如:
1、属性赋值方式;
优选的,所述测试用例根据所述环境标识,配置相应的测试环境,包括:
根据所述环境标识,对测试用例中的状态位进行赋值;通过赋值的状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件。
测试用例在配置测试环境时,可以根据所述环境标识,对测试用例中的状态位进行赋值,然后通过赋值的状态位,可以识别出测试环境,然后获取所述测试环境的配置文件,然后根据所述配置文件给测试用例配置所述测试环境其中,所述配置文件包括服务器配置文件和数据库配置文件。
例如,环境标识为B',可以识别出测试环境为B',配置测试环境为B'的配置文件,包括服务器配置文件和数据库配置文件。
其中,状态位的赋值可采用属性赋值的方式,具体步骤如下:
优选的,所述环境标识为状态参数,
根据所述环境标识,对测试用例中的状态位进行赋值,包括:
以系统属性的方式通知所述测试用例,将所述状态参数赋值给所述状态位。
状态位的赋值可采用属性赋值的方式,所述环境标识可以为状态参数因此在获取到所述环境标识即状态参数后,可以以系统属性的方式通知所述测试用例,将所述状态参数赋值给所述状态位。
2、插件方式。
优选的,所述测试用例根据所述环境标识,配置相应的测试环境,包括:
以系统插件的方式,将所述环境标识通知给所述测试用例的状态位;通过所述状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件。
本申请还可以采用系统插件的方式配置测试环境,获取到环境标识后, 可以通过系统插件将所述环境标识通知给所述测试用例的状态位,然后通过状态位可以识别出测试环境,然后获取所述测试环境的配置文件,然后根据所述配置文件给测试用例配置所述测试环境其中,所述配置文件包括服务器配置文件和数据库配置文件。
当然,本申请的测试环境还可以采用其他的方式,上述未一一列举,不用理解为是对本申请的限制。
综上所述,本申请可以采用属性赋值方式配置测试环境,也可以采用插件方式配置测试环境,测试环境的配置方法灵活、多变。
优选的,所述的方法还包括:
预先获取所述待测目标运行的真实环境和所述测试环境的对应关系;配置测试环境的环境标识,并建立所述环境标识与所述待测目标运行的真实环境对应关系。
由于所述测试用例中的测试环境应当与所述真实环境保持一致,因此,本申请可以预先获取所述待测目标运行的真实环境,并获取所述真实环境和所述测试环境的对应关系。然后配置测试环境的环境标识,建立所述环境标识与所述待测目标运行的真实环境对应关系。因此,当检测到某一真实环境中运行的待测目标需要进行持续集成测试时,可以通过所述环境标识与所述待测目标运行的真实环境对应关系,获取到对应的环境标识,后续就可以通过所述环境标识配置上相应的测试环境。
参照图4,给出了本申请所述一种Hudson服务器的结构简化图。
本申请采用Hudson服务器,它一个可扩展的持续集成引擎。它提供了持续执行自动化测试的功能,比如通过时间间隔触发、根据代码变更触发等,大大增加了自动化测试用例有效执行的机率。
本申请可以采用自动化测试框架执行测试用例,例如,以属性赋值的方式切换测试环境,因此自动化测试框架支持基于系统属性的测试环境自动切换。
1、自动化测试框架以状态位方式识别并支持多个测试环境:
1)假设:
自动化测试框架中的有关服务器项配置于文件:server.conf
自动化测试框架中的有关数据库项配置于文件:db.conf
2)为支持多个测试环境,对应配置多套配置项:
测试环境1:
服务器项配置文件:1-server.conf
数据库项配置文件:1-db.conf
测试环境2
服务器项配置文件:2-server.conf
数据库项配置文件:2-db.conf
......
测试环境n
服务器项配置文件:n-server.conf
数据库项配置文件:n-db.conf
3)自动化测试框架支持状态位识别:
状态位conf_file=1时,识别到测试环境1配置文件:
服务器项配置文件识别为1-server.conf
数据库项配置文件识别为1-db.conf
状态位conf_file=2时,识别到测试环境2配置文件:
服务器项配置文件识别为2-server.conf
数据库项配置文件识别为2-db.conf
......
状态位conf_file=n时,识别到测试环境n配置文件:
服务器项配置文件识别为n-server.conf
数据库项配置文件识别为n-db.conf
2、自动化测试框架的状态位支持系统属性赋值(作为外围自动切换配置的通道):SystemProperties.set(″conf_file″,conf_value);
例如,Hudson的CI项目通过构建时执行的命令行,将状态位的赋值以 系统属性的方式通知自动化测试框架:确定本次构建测试关联哪一个测试环境,具体命令行如:
clean install-Dats.config.conf_file=1:状态位conf_file赋值为1
clean install-Dats.config.conf_file=2:状态位conf_file赋值为2
......
clean install-Dats.config.conf_file=n:状态位conf_file赋值为n
本申请可以应用于多种测试当中,例如功能测试和回归测试等,本申请对此不做限定。
参照图5,给出了本申请实施例所述一种持续集成测试系统结构图。
相应的,本申请还提供了一种持续集成测试系统,包括:持续集成项目11和测试用例12
所述持续集成项目11,包括:
监测模块111,用于同时监测在各个真实环境中运行的待测目标;
获取模块112,用于当检测到某个真实环境中运行的待测目标达到预设条件时,获取所述待测目标运行的真实环境对应的环境标识;
发送模块113,用于通过发送测试命令,调用测试用例,其中,所述测试命令中包括所述环境标识;
所述测试用例12,包括
环境配置模块121,用于根据所述环境标识,配置相应的测试环境;
测试模块122,用于在所述测试环境中执行测试用例中的测试脚本,并获取最终的测试结果。
优选的,所述环境配置模块121,包括:
第一状态位配置子模块,用于根据所述环境标识,对测试用例中的状态位进行赋值;
优选的,所述环境标识为状态参数,所述第一状态位配置子模块,还用于以系统属性的方式通知所述测试用例,将所述状态参数赋值给所述状态位。
第一环境识别子模块,用于通过赋值的状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件;
第二状态位配置子模块,用于以系统插件的方式,将所述环境标识通知给所述测试用例的状态位;
第二环境识别子模块,用于通过所述状态位识别测试环境的配置文件,给测试用例配置所述测试环境,其中,所述配置文件包括服务器配置文件和数据库配置文件。
优选的,所述预设条件为达到检测时间,或,待测目标发生变化。
优选的,所述的持续集成项目11还包括:
环境关联模块,用于预先获取所述待测目标运行的真实环境和所述测试环境的对应关系;
标识配置模块,用于配置测试环境的环境标识,并建立所述环境标识与所述待测目标运行的真实环境对应关系。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种持续集成测试方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实 施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

一种持续集成测试方法和系统.pdf_第1页
第1页 / 共15页
一种持续集成测试方法和系统.pdf_第2页
第2页 / 共15页
一种持续集成测试方法和系统.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种持续集成测试方法和系统.pdf》由会员分享,可在线阅读,更多相关《一种持续集成测试方法和系统.pdf(15页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103577907 A (43)申请公布日 2014.02.12 CN 103577907 A (21)申请号 201210258861.0 (22)申请日 2012.07.24 G06Q 10/06(2012.01) (71)申请人 阿里巴巴集团控股有限公司 地址 英属开曼群岛大开曼资本大厦一座四 层 847 号邮箱 (72)发明人 蔡文婷 (74)专利代理机构 北京润泽恒知识产权代理有 限公司 11319 代理人 苏培华 (54) 发明名称 一种持续集成测试方法和系统 (57) 摘要 本申请提供了一种持续集成测试方法, 可以 适用于各种测试环境, 复用性比较高, 。

2、并且可以减 少维护中的工作量和复杂度。所述的方法包括 : 一个持续集成项目同时监测在各个真实环境中运 行的待测目标 ; 当检测到某个真实环境中运行的 待测目标达到预设条件时, 获取所述待测目标运 行的真实环境对应的环境标识 ; 通过发送测试命 令, 调用测试用例, 其中, 所述测试命令中包括所 述环境标识 ; 所述测试用例根据所述环境标识, 配置相应的测试环境 ; 在所述测试环境中执行测 试用例中的测试脚本, 并获取最终的测试结果。 本 申请所述的方法复用性较高, 并且即使待测目标 改变, 也仅需维护1个CI项目和1个测试用例, 大 大的将提了持续集成测试的工作量和复杂度。 (51)Int.C。

3、l. 权利要求书 2 页 说明书 8 页 附图 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书8页 附图4页 (10)申请公布号 CN 103577907 A CN 103577907 A 1/2 页 2 1. 一种持续集成测试方法, 其特征在于, 包括 : 一个持续集成项目同时监测在各个真实环境中运行的待测目标 ; 当检测到某个真实环境中运行的待测目标达到预设条件时, 获取所述待测目标运行的 真实环境对应的环境标识 ; 通过发送测试命令, 调用测试用例, 其中, 所述测试命令中包括所述环境标识 ; 所述测试用例根据所述环境标识, 配置相应的测试环境。

4、 ; 在所述测试环境中执行测试用例中的测试脚本, 并获取最终的测试结果。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述测试用例根据所述环境标识, 配置相 应的测试环境, 包括 : 根据所述环境标识, 对测试用例中的状态位进行赋值 ; 通过赋值的状态位识别测试环境的配置文件, 给测试用例配置所述测试环境, 其中, 所 述配置文件包括服务器配置文件和数据库配置文件。 3. 根据权利要求 2 所述的方法, 其特征在于, 所述环境标识为状态参数, 根据所述环境标识, 对测试用例中的状态位进行赋值, 包括 : 以系统属性的方式通知所述测试用例, 将所述状态参数赋值给所述状态位。 4. 根据权。

5、利要求 1 所述的方法, 其特征在于, 所述测试用例根据所述环境标识, 配置相 应的测试环境, 包括 : 以系统插件的方式, 将所述环境标识通知给所述测试用例的状态位 ; 通过所述状态位识别测试环境的配置文件, 给测试用例配置所述测试环境, 其中, 所述 配置文件包括服务器配置文件和数据库配置文件。 5. 根据权利要求 1 所述的方法, 其特征在于, 所述预设条件为达到检测时间, 或, 待测 目标发生变化。 6. 根据权利要求 1 所述的方法, 其特征在于, 还包括 : 预先获取所述待测目标运行的真实环境和所述测试环境的对应关系 ; 配置测试环境的环境标识, 并建立所述环境标识与所述待测目标运。

6、行的真实环境对应 关系。 7. 一种持续集成测试系统, 其特征在于, 包括 : 持续集成项目和测试用例, 其中 : 所述持续集成项目, 包括 : 监测模块, 用于同时监测在各个真实环境中运行的待测目标 ; 获取模块, 用于当检测到某个真实环境中运行的待测目标达到预设条件时, 获取所述 待测目标运行的真实环境对应的环境标识 ; 发送模块, 用于通过发送测试命令, 调用测试用例, 其中, 所述测试命令中包括所述环 境标识 ; 所述测试用例, 包括 配置模块, 用于根据所述环境标识, 配置相应的测试环境 ; 测试模块, 用于在所述测试环境中执行测试用例中的测试脚本, 并获取最终的测试结 果。 8. 。

7、根据权利要求 7 所述的系统, 其特征在于, 所述环境配置模块, 包括 : 第一状态位配置子模块, 用于根据所述环境标识, 对测试用例中的状态位进行赋值 ; 权 利 要 求 书 CN 103577907 A 2 2/2 页 3 第一环境识别子模块, 用于通过赋值的状态位识别测试环境的配置文件, 给测试用例 配置所述测试环境, 其中, 所述配置文件包括服务器配置文件和数据库配置文件。 9. 根据权利要求 8 所述的系统, 其特征在于, 所述环境标识为状态参数, 所述第一状态 位配置子模块, 还用于以系统属性的方式通知所述测试用例, 将所述状态参数赋值给所述 状态位。 10. 根据权利要求 9 所。

8、述的系统, 其特征在于, 所述环境配置模块, 包括 : 第二状态位配置子模块, 用于以系统插件的方式, 将所述环境标识通知给所述测试用 例的状态位 ; 第二环境识别子模块, 用于通过所述状态位识别测试环境的配置文件, 给测试用例配 置所述测试环境, 其中, 所述配置文件包括服务器配置文件和数据库配置文件。 11. 根据权利要求 7 所述的系统, 其特征在于, 所述预设条件为达到检测时间, 或, 待测 目标发生变化。 12. 根据权利要求 7 所述的系统, 其特征在于, 所述的持续集成项目, 还包括 : 环境关联模块, 用于预先获取所述待测目标运行的真实环境和所述测试环境的对应关 系 ; 标识配。

9、置模块, 用于配置测试环境的环境标识, 并建立所述环境标识与所述待测目标 运行的真实环境对应关系。 权 利 要 求 书 CN 103577907 A 3 1/8 页 4 一种持续集成测试方法和系统 技术领域 0001 本申请涉及测试技术, 特别是涉及一种持续集成测试方法和系统。 背景技术 0002 CI(Continuous integration, 持续集成) 是一种软件开发实践, 即团队开发成员 经常集成它们的工作, 通常每个成员每天至少集成一次, 也就意味着每天可能会发生多次 集成。每次集成都通过自动化的构建 (包括编译, 发布, 自动化测试 ) 来验证, 从而尽快地发 现集成错误。许多。

10、团队发现这个过程可以大大减少集成的问题, 让团队能够更快的开发内 聚的软件。 0003 在持续集成测试中, 首先可以建立 CI 项目, 通过所述 CI 项目对待测目标进行监 控, 一旦发现待测目标出现变化, 就可以调用测试脚本进行测试。 测试时为保证测试的准确 性, 应当确保测试脚本运行的测试环境与待测目标运行的真实环境一致。 0004 因此, 现有技术将测试环境和测试脚本硬编码在一个测试用例中。在进行持续集 成测试时, 一个 CI 项目, 监测某一真实环境中运行的待测目标, 并在测试时调用对应的测 试用例, 其中, 所述测试用例中的测试环境与所述真实环境保持一致。 0005 若同一待测目标由。

11、于不同的需求而运行在 n 个真实环境中, 此时就需要建立 n 个 CI 项目, 调用 n 个测试用例, 其中, n 为正整数。实际上, 这 n 个测试脚本中仅仅是测试环境 不同。 0006 综上, 上述将测试环境和测试脚本硬编码在一个测试用例中的方法, 复用性比较 低。并且, 一个待测目标对应 n 个 CI 项目和 n 个测试用例, 一旦待测目标改变, 就同时要维 护 n 个 CI 项目和 n 个测试用例, 导致持续集成测试的工作量和复杂度大大提升。 0007 因此, 本领域技术人员迫切解决的一个技术问题是, 提出一种持续集成测试方法, 可以适用于各种测试环境, 复用性比较高, 并且可以减少维。

12、护中的工作量和复杂度。 发明内容 0008 本申请提供一种持续集成测试方法, 可以适用于各种测试环境, 复用性比较高, 并 且可以减少维护中的工作量和复杂度。 0009 为了解决上述问题, 本申请公开了一种持续集成测试方法, 包括 : 0010 一个持续集成项目同时监测在各个真实环境中运行的待测目标 ; 0011 当检测到某个真实环境中运行的待测目标达到预设条件时, 获取所述待测目标运 行的真实环境对应的环境标识 ; 0012 通过发送测试命令, 调用测试用例, 其中, 所述测试命令中包括所述环境标识 ; 0013 所述测试用例根据所述环境标识, 配置相应的测试环境 ; 0014 在所述测试环。

13、境中执行测试用例中的测试脚本, 并获取最终的测试结果。 0015 优选的, 所述测试用例根据所述环境标识, 配置相应的测试环境, 包括 : 0016 根据所述环境标识, 对测试用例中的状态位进行赋值 ; 说 明 书 CN 103577907 A 4 2/8 页 5 0017 通过赋值的状态位识别测试环境的配置文件, 给测试用例配置所述测试环境, 其 中, 所述配置文件包括服务器配置文件和数据库配置文件。 0018 优选的, 所述环境标识为状态参数, 0019 根据所述环境标识, 对测试用例中的状态位进行赋值, 包括 : 0020 以系统属性的方式通知所述测试用例, 将所述状态参数赋值给所述状态。

14、位。 0021 优选的, 所述测试用例根据所述环境标识, 配置相应的测试环境, 包括 : 0022 以系统插件的方式, 将所述环境标识通知给所述测试用例的状态位 ; 0023 通过所述状态位识别测试环境的配置文件, 给测试用例配置所述测试环境, 其中, 所述配置文件包括服务器配置文件和数据库配置文件。 0024 优选的, 所述预设条件为达到检测时间, 或, 待测目标发生变化。 0025 优选的, 所述的方法还包括 : 0026 预先获取所述待测目标运行的真实环境和所述测试环境的对应关系 ; 0027 配置测试环境的环境标识, 并建立所述环境标识与所述待测目标运行的真实环境 对应关系。 0028。

15、 相应的, 本申请还公开了一种持续集成测试系统, 包括 : 持续集成项目和测试用 例, 其中 : 0029 所述持续集成项目, 包括 : 0030 监测模块, 用于同时监测在各个真实环境中运行的待测目标 ; 0031 获取模块, 用于当检测到某个真实环境中运行的待测目标达到预设条件时, 获取 所述待测目标运行的真实环境对应的环境标识 ; 0032 发送模块, 用于通过发送测试命令, 调用测试用例, 其中, 所述测试命令中包括所 述环境标识 ; 0033 所述测试用例, 包括 0034 配置模块, 用于根据所述环境标识, 配置相应的测试环境 ; 0035 测试模块, 用于在所述测试环境中执行测试。

16、用例中的测试脚本, 并获取最终的测 试结果。 0036 优选的, 所述环境配置模块, 包括 : 0037 第一状态位配置子模块, 用于根据所述环境标识, 对测试用例中的状态位进行赋 值 ; 0038 第一环境识别子模块, 用于通过赋值的状态位识别测试环境的配置文件, 给测试 用例配置所述测试环境, 其中, 所述配置文件包括服务器配置文件和数据库配置文件 0039 优选的, 所述环境标识为状态参数, 所述第一状态位配置子模块, 还用于以系统属 性的方式通知所述测试用例, 将所述状态参数赋值给所述状态位。 0040 优选的, 所述环境配置模块, 包括 : 0041 第二状态位配置子模块, 用于以系。

17、统插件的方式, 将所述环境标识通知给所述测 试用例的状态位 ; 0042 第二环境识别子模块, 用于通过所述状态位识别测试环境的配置文件, 给测试用 例配置所述测试环境, 其中, 所述配置文件包括服务器配置文件和数据库配置文件。 0043 优选的, 所述预设条件为达到检测时间, 或, 待测目标发生变化。 说 明 书 CN 103577907 A 5 3/8 页 6 0044 优选的, 所述的持续集成项目, 还包括 : 0045 环境关联模块, 用于预先获取所述待测目标运行的真实环境和所述测试环境的对 应关系 ; 0046 标识配置模块, 用于配置测试环境的环境标识, 并建立所述环境标识与所述待。

18、测 目标运行的真实环境对应关系。 0047 与现有技术相比, 本申请包括以下优点 : 0048 首先, 本申请将测试环境与测试用例分离, 因此可以一个持续集成项目同时监测 在各个真实环境中运行的待测目标, 当检测到某个真实环境中运行的待测目标达到预设条 件时, 获取所述待测目标运行的真实环境对应的环境标识。 然后根据所述环境标识, 配置相 应的测试环境, 在所述测试环境中执行测试用例中的测试脚本, 并获取最终的测试结果。 本 申请所述的方法复用性较高。并且本申请所述的方法即使待测目标改变, 也仅需维护 1 个 CI 项目和 1 个测试用例, 大大的将提了持续集成测试的工作量和复杂度。 0049。

19、 其次, 本申请可以采用属性赋值方式配置测试环境, 也可以采用插件方式配置测 试环境, 测试环境的配置方法灵活、 多变。 附图说明 0050 图 1 是本申请现有技术中所述持续集成测试示意图 ; 0051 图 2 是本申请实施例所述持续集成测试示意图 ; 0052 图 3 是本申请实施例所述一种持续集成测试方法流程图 ; 0053 图 4 是本申请所述一种 Hudson 服务器的结构简化图 ; 0054 图 5 是本申请实施例所述一种持续集成测试系统结构图。 具体实施方式 0055 为使本申请的上述目的、 特征和优点能够更加明显易懂, 下面结合附图和具体实 施方式对本申请作进一步详细的说明。 。

20、0056 参照图 1, 给出了本申请现有技术中所述持续集成测试示意图。 0057 现有技术中, 将测试环境和测试脚本硬编码在一个测试用例中。在进行持续集成 测试时, 一个 CI 项目, 监测某一真实环境中运行的待测目标, 并在测试时调用对应的测试 用例。 0058 若同一待测目标由于不同的需求而运行在 n 个真实环境中, 此时就需要建立 n 个 CI 项目, 调用 n 个测试用例, 其中, n 为正整数。实际上, 这 n 个测试脚本中仅仅是测试环境 不同。 0059 因此, 现有技术所述的方法复用性比较低, 并且维护中会大大提升持续集成测试 的工作量和复杂度。 0060 本申请提出一种持续集成。

21、测试方法, 可以适用于各种测试环境, 复用性比较高, 并 且可以减少维护中的工作量和复杂度。 0061 参照图 2, 给出了本申请实施例所述持续集成测试示意图。 0062 参照图 3, 给出了本申请实施例所述一种持续集成测试方法流程图。 0063 步骤 11, 一个持续集成项目同时监测在各个真实环境中运行的待测目标 ; 说 明 书 CN 103577907 A 6 4/8 页 7 0064 同一个待测目标可以运行在不同的真实环境中, 现有技术中, 一个持续集成项目 仅对应一个真实环境中运行的待测目标, 而本申请中可以采用一个持续集成项目同时监控 在各个真实环境中运行的待测目标。 0065 步骤。

22、 12, 当检测到某个真实环境中运行的待测目标达到预设条件时, 获取所述待 测目标运行的真实环境对应的环境标识 ; 0066 例如, 待测目标在真实环境 A、 B 和 C 中运行, 当检测到真实环境 B 中运行的待测目 标达到预设条件时, 此时可以获取所述待测目标运行的真实环境 B 对应的环境标识 B 。 0067 优选的, 所述预设条件为达到检测时间, 或, 待测目标发生变化。 0068 本申请预设了检测时间, 若某个真实环境中运行的待测目标达到检测时间, 则获 取所述待测目标运行的真实环境对应的环境标识。 并且, 本申请在待测目标发生变化, 例如 检测到某个真实环境中运行的待测目标中的代码。

23、变更, 则获取所述待测目标运行的真实环 境对应的环境标识。 0069 由于所述测试用例中的测试环境应当与所述真实环境保持一致, 因此后续可以根 据所述环境标识确定测试环境。 0070 步骤 13, 通过发送测试命令, 调用测试用例, 其中, 所述测试命令中包括所述环境 标识 ; 0071 然后持续集成项目可以发送测试命令以调用测试用例, 进行持续集成测试。 其中, 所述测试命令中包括所述环境标识。 0072 步骤 14, 所述测试用例根据所述环境标识, 配置相应的测试环境 ; 0073 然后, 测试用例获取所述环境标识, 并根据所述环境标识, 配置相应的测试环境, 则所述测试环境与所述真实环境。

24、一致。 0074 其中, 测试环境是指测试运行其上的软件和硬件环境的描述, 以及任何其它与被 测软件交互的软件, 包括驱动和桩。测试环境是指为了完成软件测试工作所必需的计算机 硬件、 软件、 网络设备、 历史数据的总称。 0075 稳定和可控的测试环境, 可以使测试人员花费较少的时间就完成测试用例的执 行, 也无需为测试用例、 测试过程的维护花费额外的时间, 并且可以保证每一个被提交的缺 陷都可以在任何时候被准确的重现。 0076 步骤 15, 在所述测试环境中执行测试用例中的测试脚本, 并获取最终的测试结果。 0077 在所述测试环境中执行测试用例中的测试脚本, 进行持续集成测试, 获取最终。

25、的 测试结果。 0078 综上所述, 本申请将测试环境与测试用例分离, 因此可以一个持续集成项目同时 监测在各个真实环境中运行的待测目标, 当检测到某个真实环境中运行的待测目标达到预 设条件时, 获取所述待测目标运行的真实环境对应的环境标识。 然后根据所述环境标识, 配 置相应的测试环境, 在所述测试环境中执行测试用例中的测试脚本, 并获取最终的测试结 果。本申请所述的方法复用性较高。并且本申请所述的方法即使待测目标改变, 也仅需维 护 1 个 CI 项目和 1 个测试用例, 大大的将提了持续集成测试的工作量和复杂度。 0079 本申请中对测试环境的配置方式有多种, 例如 : 0080 1、 。

26、属性赋值方式 ; 0081 优选的, 所述测试用例根据所述环境标识, 配置相应的测试环境, 包括 : 说 明 书 CN 103577907 A 7 5/8 页 8 0082 根据所述环境标识, 对测试用例中的状态位进行赋值 ; 通过赋值的状态位识别测 试环境的配置文件, 给测试用例配置所述测试环境, 其中, 所述配置文件包括服务器配置文 件和数据库配置文件。 0083 测试用例在配置测试环境时, 可以根据所述环境标识, 对测试用例中的状态位进 行赋值, 然后通过赋值的状态位, 可以识别出测试环境, 然后获取所述测试环境的配置文 件, 然后根据所述配置文件给测试用例配置所述测试环境其中, 所述配。

27、置文件包括服务器 配置文件和数据库配置文件。 0084 例如, 环境标识为 B , 可以识别出测试环境为 B , 配置测试环境为 B 的配置 文件, 包括服务器配置文件和数据库配置文件。 0085 其中, 状态位的赋值可采用属性赋值的方式, 具体步骤如下 : 0086 优选的, 所述环境标识为状态参数, 0087 根据所述环境标识, 对测试用例中的状态位进行赋值, 包括 : 0088 以系统属性的方式通知所述测试用例, 将所述状态参数赋值给所述状态位。 0089 状态位的赋值可采用属性赋值的方式, 所述环境标识可以为状态参数因此在获取 到所述环境标识即状态参数后, 可以以系统属性的方式通知所述。

28、测试用例, 将所述状态参 数赋值给所述状态位。 0090 2、 插件方式。 0091 优选的, 所述测试用例根据所述环境标识, 配置相应的测试环境, 包括 : 0092 以系统插件的方式, 将所述环境标识通知给所述测试用例的状态位 ; 通过所述状 态位识别测试环境的配置文件, 给测试用例配置所述测试环境, 其中, 所述配置文件包括服 务器配置文件和数据库配置文件。 0093 本申请还可以采用系统插件的方式配置测试环境, 获取到环境标识后, 可以通过 系统插件将所述环境标识通知给所述测试用例的状态位, 然后通过状态位可以识别出测试 环境, 然后获取所述测试环境的配置文件, 然后根据所述配置文件给。

29、测试用例配置所述测 试环境其中, 所述配置文件包括服务器配置文件和数据库配置文件。 0094 当然, 本申请的测试环境还可以采用其他的方式, 上述未一一列举, 不用理解为是 对本申请的限制。 0095 综上所述, 本申请可以采用属性赋值方式配置测试环境, 也可以采用插件方式配 置测试环境, 测试环境的配置方法灵活、 多变。 0096 优选的, 所述的方法还包括 : 0097 预先获取所述待测目标运行的真实环境和所述测试环境的对应关系 ; 配置测试环 境的环境标识, 并建立所述环境标识与所述待测目标运行的真实环境对应关系。 0098 由于所述测试用例中的测试环境应当与所述真实环境保持一致, 因此。

30、, 本申请可 以预先获取所述待测目标运行的真实环境, 并获取所述真实环境和所述测试环境的对应关 系。然后配置测试环境的环境标识, 建立所述环境标识与所述待测目标运行的真实环境对 应关系。 因此, 当检测到某一真实环境中运行的待测目标需要进行持续集成测试时, 可以通 过所述环境标识与所述待测目标运行的真实环境对应关系, 获取到对应的环境标识, 后续 就可以通过所述环境标识配置上相应的测试环境。 0099 参照图 4, 给出了本申请所述一种 Hudson 服务器的结构简化图。 说 明 书 CN 103577907 A 8 6/8 页 9 0100 本申请采用 Hudson 服务器, 它一个可扩展的。

31、持续集成引擎。它提供了持续执行自 动化测试的功能, 比如通过时间间隔触发、 根据代码变更触发等, 大大增加了自动化测试用 例有效执行的机率。 0101 本申请可以采用自动化测试框架执行测试用例, 例如, 以属性赋值的方式切换测 试环境, 因此自动化测试框架支持基于系统属性的测试环境自动切换。 0102 1、 自动化测试框架以状态位方式识别并支持多个测试环境 : 0103 1) 假设 : 0104 自动化测试框架中的有关服务器项配置于文件 : server.conf 0105 自动化测试框架中的有关数据库项配置于文件 : db.conf 0106 2) 为支持多个测试环境, 对应配置多套配置项 。

32、: 0107 测试环境 1 : 0108 服务器项配置文件 : 1-server.conf 0109 数据库项配置文件 : 1-db.conf 0110 测试环境 2 0111 服务器项配置文件 : 2-server.conf 0112 数据库项配置文件 : 2-db.conf 0113 0114 测试环境 n 0115 服务器项配置文件 : n-server.conf 0116 数据库项配置文件 : n-db.conf 0117 3) 自动化测试框架支持状态位识别 : 0118 状态位 conf_file=1 时, 识别到测试环境 1 配置文件 : 0119 服务器项配置文件识别为 1-se。

33、rver.conf 0120 数据库项配置文件识别为 1-db.conf 0121 状态位 conf_file=2 时, 识别到测试环境 2 配置文件 : 0122 服务器项配置文件识别为 2-server.conf 0123 数据库项配置文件识别为 2-db.conf 0124 0125 状态位 conf_file=n 时, 识别到测试环境 n 配置文件 : 0126 服务器项配置文件识别为 n-server.conf 0127 数据库项配置文件识别为 n-db.conf 0128 2、 自动化测试框架的状态位支持系统属性赋值 (作为外围自动切换配置的通道) : SystemProperti。

34、es.set( conf_file ,conf_value) ; 0129 例如, Hudson 的 CI 项目通过构建时执行的命令行, 将状态位的赋值以系统属性的 方式通知自动化测试框架 : 确定本次构建测试关联哪一个测试环境, 具体命令行如 : 0130 clean install-Dats.config.conf_file=1 : 状态位 conf_file 赋值为 1 0131 clean install-Dats.config.conf_file=2 : 状态位 conf_file 赋值为 2 0132 0133 clean install-Dats.config.conf_file。

35、=n : 状态位 conf_file 赋值为 n 说 明 书 CN 103577907 A 9 7/8 页 10 0134 本申请可以应用于多种测试当中, 例如功能测试和回归测试等, 本申请对此不做 限定。 0135 参照图 5, 给出了本申请实施例所述一种持续集成测试系统结构图。 0136 相应的, 本申请还提供了一种持续集成测试系统, 包括 : 持续集成项目 11 和测试 用例 12 0137 所述持续集成项目 11, 包括 : 0138 监测模块 111, 用于同时监测在各个真实环境中运行的待测目标 ; 0139 获取模块 112, 用于当检测到某个真实环境中运行的待测目标达到预设条件时。

36、, 获 取所述待测目标运行的真实环境对应的环境标识 ; 0140 发送模块 113, 用于通过发送测试命令, 调用测试用例, 其中, 所述测试命令中包括 所述环境标识 ; 0141 所述测试用例 12, 包括 0142 环境配置模块 121, 用于根据所述环境标识, 配置相应的测试环境 ; 0143 测试模块 122, 用于在所述测试环境中执行测试用例中的测试脚本, 并获取最终的 测试结果。 0144 优选的, 所述环境配置模块 121, 包括 : 0145 第一状态位配置子模块, 用于根据所述环境标识, 对测试用例中的状态位进行赋 值 ; 0146 优选的, 所述环境标识为状态参数, 所述第。

37、一状态位配置子模块, 还用于以系统属 性的方式通知所述测试用例, 将所述状态参数赋值给所述状态位。 0147 第一环境识别子模块, 用于通过赋值的状态位识别测试环境的配置文件, 给测试 用例配置所述测试环境, 其中, 所述配置文件包括服务器配置文件和数据库配置文件 ; 0148 第二状态位配置子模块, 用于以系统插件的方式, 将所述环境标识通知给所述测 试用例的状态位 ; 0149 第二环境识别子模块, 用于通过所述状态位识别测试环境的配置文件, 给测试用 例配置所述测试环境, 其中, 所述配置文件包括服务器配置文件和数据库配置文件。 0150 优选的, 所述预设条件为达到检测时间, 或, 待。

38、测目标发生变化。 0151 优选的, 所述的持续集成项目 11 还包括 : 0152 环境关联模块, 用于预先获取所述待测目标运行的真实环境和所述测试环境的对 应关系 ; 0153 标识配置模块, 用于配置测试环境的环境标识, 并建立所述环境标识与所述待测 目标运行的真实环境对应关系。 0154 对于系统实施例而言, 由于其与方法实施例基本相似, 所以描述的比较简单, 相关 之处参见方法实施例的部分说明即可。 0155 本说明书中的各个实施例均采用递进的方式描述, 每个实施例重点说明的都是与 其他实施例的不同之处, 各个实施例之间相同相似的部分互相参见即可。 0156 本领域内的技术人员应明白。

39、, 本申请的实施例可提供为方法、 系统、 或计算机程序 产品。因此, 本申请可采用完全硬件实施例、 完全软件实施例、 或结合软件和硬件方面的实 施例的形式。而且, 本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机 说 明 书 CN 103577907 A 10 8/8 页 11 可用存储介质 (包括但不限于磁盘存储器、 CD-ROM、 光学存储器等) 上实施的计算机程序产 品的形式。 0157 尽管已描述了本申请的优选实施例, 但本领域内的技术人员一旦得知了基本创造 性概念, 则可对这些实施例做出另外的变更和修改。 所以, 所附权利要求意欲解释为包括优 选实施例以及落入本申请范围的。

40、所有变更和修改。 0158 本申请是参照根据本申请实施例的方法、 设备 (系统) 、 和计算机程序产品的流程 图和或方框图来描述的。 应理解可由计算机程序指令实现流程图和或方框图中的每一 流程和或方框、 以及流程图和或方框图中的流程和或方框的结合。可提供这些计算 机程序指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理 器以产生一个机器, 使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能 的装置。 0159 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方。

41、式工作的计算机可读存储器中, 使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品, 该指令装置实现在流程图一个流程或多个流程和或方框图一个方框或 多个方框中指定的功能。 0160 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理, 从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图 一个方框或多个方框中指定的功能的步骤。 0161 最后, 还需要说明的是, 在本文中, 诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来, 。

42、而不一定要求或者暗示这些实体或操作 之间存在任何这种实际的关系或者顺序。而且, 术语 “包括” 、“包含” 或者其任何其他变体 意在涵盖非排他性的包含, 从而使得包括一系列要素的过程、 方法、 商品或者设备不仅包括 那些要素, 而且还包括没有明确列出的其他要素, 或者是还包括为这种过程、 方法、 商品或 者设备所固有的要素。在没有更多限制的情况下, 由语句 “包括一个” 限定的要素, 并 不排除在包括所述要素的过程、 方法、 商品或者设备中还存在另外的相同要素。 0162 以上对本申请所提供的一种持续集成测试方法和系统, 进行了详细介绍, 本文中 应用了具体个例对本申请的原理及实施方式进行了阐。

43、述, 以上实施例的说明只是用于帮助 理解本申请的方法及其核心思想 ; 同时, 对于本领域的一般技术人员, 依据本申请的思想, 在具体实施方式及应用范围上均会有改变之处, 综上所述, 本说明书内容不应理解为对本 申请的限制。 说 明 书 CN 103577907 A 11 1/4 页 12 图 1 说 明 书 附 图 CN 103577907 A 12 2/4 页 13 图 2 说 明 书 附 图 CN 103577907 A 13 3/4 页 14 图 3 图 4 说 明 书 附 图 CN 103577907 A 14 4/4 页 15 图 5 说 明 书 附 图 CN 103577907 A 15 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1