一种基于多套测试环境的自动扩充方法与流程

文档序号:17398208发布日期:2019-04-13 00:59阅读:170来源:国知局
一种基于多套测试环境的自动扩充方法与流程

本发明涉及计算机软件领域,具体涉及测试领域,提供了一种基于多套测试环境的自动扩充方法。



背景技术:

在软件测试中业务功能测试需要以测试环境为依托进行,业务测试任务量的不确定性对测试环境提出了较高要求,特别是在大量任务并发的情况下。

时序性任务:测试点对时间有较强依赖,比如某测试任务只能在10号执行,下一任务只能在20号执行。比如银行测试中的日切批量测试。时序性任务对测试环境要求很高,在同一时刻同一环境只能支持一个。一套测试环境往往包含多个相互关联的业务系统。不同产品线对应的测试系统会有一定差异性,但都包含处理时序任务相关的核心系统,不同产品线测试系统差异性主要集中在核心系统的上游系统。

为解决大量时序性任务测试可行性及时效性问题。现有技术中目前的解决大量时序任务测试的现有方案主要有两种。

方案一:各个时序测试任务按对时间要求依次排队,按串行的方式执行,排在后面的测试任务需等前面任务执行完成及对应校验后才能执行下一任务。如果前面测试任务发现缺陷后面任务需等缺陷解决后才能验证。如此虽解决了执行可行性上的问题,但是势必会造成各测试任务相互依赖互相等待、浪费大量时间,如果任务较多还会造成各测试任务间的数据相互干扰,增加测试验证难度,进一步增加测试耗时。

方案二:根据时序测试任务的数量,建立对应套数的测试环境,理想情况下每个任务对应一套环境,如此便能解决多时序任务执行可行性问题以及测试任务执行时效性问题。但是一套测试环境往往由数十个业务系统组成,建立过多的测试环境会耗费大量的环境资源及人力资源。且由于时序测试任务量的不确定性,会造成一定程度的环境资源浪费,同时对测试环境的动态管理亦提出了较高挑战。

以上两种方案虽能都能解决大量时序性测试任务执行可行性问题,但都有较为严重附加问题。

与以上两种方案相比,本方案在解决可行性的基础上优化了执行耗时及环境资源浪费问题。针对大量时序测试任务环境不够时本方案会在多个相关系统中梳理出和时序相关的系统,首先从其它产品线测试环境中借用时序相关系统,如果还不够的情况下会单独对时序相关系统进行扩充,扩充系统与其余上下线游系统会通过自动配置的方式进行关联,形成多套虚拟环境,数据在原始环境及虚拟环境间同步,在使用上能达到和建多套实体环境相同的效果。



技术实现要素:

本发明的目的在于解决大量时序性测试任务执行可行性问题和效率问题,提供一种不需要新建多个环境即可实现测试扩充的方法。

本发明为实现上述目的采用以下技术方案:

一种基于多套测试环境的自动扩充方法,其特征在于,包括以下步骤:

步骤1:从各产品线测试环境抽取出相同时序性相关系统,依据产品线的不同分别命名为a、a1、a2...,将需要对时序相关系统进行扩充的产品线的时序性相关系统作为母时序性相关系统,其他产品线的时序性相关系统作为子时序相关系统,根据母时序相关系统的私有配置变量pv配置关联配置模板m-c;

步骤2:生成各子时序相关系统的新环境自有配置列表,并通过新环境自有配置列表自动添加各子时序相关系统的新环境的关联配置,完成各子时序相关系统与母时序相关系统上下游系统就关联;

步骤3:各子时序相关系统从步骤1所述的母时序相关系统进行数据同步,根据时序任务执行计划中日期字段数据不同,随机分配到各子时序相关系统的执行任务,并根据执行任务,匹配执行对应日期字段的数据。

步骤4:在任务执行完后,恢复各产品线系统原有配置。

上述技术方案中,步骤1包括以下步骤:

步骤1.1:从各产品线测试环境抽取出相同时序性相关系统,依据产品线的不同分别命名为a、a1、a2...,将需要对时序相关系统进行扩充的产品线的时序性相关系统作为母时序性相关系统,其他产品线的时序性相关系统作为子时序相关系统;

步骤1.2:梳理母时序性相关系统与上下游系统间关联配置,将关联配置以键值对的形式进行存储,关联配置包括公共配置和私有配置;将私有配置中变化的内容提取出来形成私有配置变量pv,将公有配置名、公有配置值,私有配置名,私有配置变量pv逐个存储形成关联配置模板m-c;

步骤1.3:按照关联配置模板m-c中涉及的配置项从子时序性相关系统中抽取配置项实际值,形成环境扩充前各产品线环境原有配置模版m-a1、m-a2…,这些模版将用于后续环境的恢复。

上述技术方案中,步骤2包括以下步骤:

步骤2.1:当用户需要多套环境时首先借用闲置产品线中的时序相关系统a1、a2...,以关联配置模板m-c的私有变量pv为依据,获取时序相关系统a1、a2...的私有变量pv’对应的实际值,子时序性相关系统私有变量pv’实际值替换关联配置模板m-c中的私有变量pv形成各子时序性相关系统的新环境自有配置列表;

步骤2.2在全局配置中心系统中找到各子时序性相关系统对应的配置集群,逐个替换为新环境自有配置列表中的值,完成子时序性相关系统与上下游系统就关联。

上述技术方案中,步骤3包括以下步骤:

步骤3.1:子时序性相关系统数据均从母时序性相关系统通过数据同步获得,首先获取数据库数据量的大小d1及需要同步的库的数量,并根据实际需要设置数据量阈值d2;

步骤4.2:如果数据量d1大于数据量阈值d2则采用多线程同步以提高同步效率,反之则采用单线程同步,数据量大小判定及同步方式切换均采用代码自动执行;

步骤4.3:根据时序任务执行计划中日期字段数据不同,随机分配到各个新环境时序性相关系统a’的执行任务,并根据执行任务,匹配执行对应日期字段的数据。

上述技术方案中,步骤4包括以下步骤:依据步骤13中扩充前各产品线环境原有配置模版m-a1、m-a2…,在全局配置中心找到各子时序性相关系统对应的配置集群替换为原有配置模版m-a1、m-a2…,完成了借用环境a1、a2...环境的恢复。

本发明因为采用上述技术方案,因此具备以下效果:

1、在环境搭建方面,同搭建一整套环境相比利用闲置系统或只扩充搭建时序性相关系统能节约环境资源、节约环境搭建时间。

2、环境全程自动搭建,将搭建做到标准化模板化,搭建效率更高,也利于环境动态维护。

3、在测试任务方面,大量日切作业由串行执行变并行执行,减少测试任务间的相互影响相互等待、提高测试准确性、减少数据污染。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明方法流程示意图;

图2为本发明系统示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

实施例1

一种基于多套测试环境的自动扩充方法,其特征在于,包括以下步骤:

步骤1:从各产品线测试环境抽取出相同时序性相关系统,依据产品线的不同分别命名为a、a1、a2...,这里采用其中a作为待扩充的原测试环境的时序相关系统,根据时序性相关系统a的私有配置变量pv配置关联配置模板m-c;本领域技术人员在本技术方案的启示下,应该能够得知,也可采用a1作为原测试系统的时序相关系统,这里原测试系统的时序相关系统我们称之为,母时序性相关系统,对于其他系统,我们称之为子时序性相关系统,对于字母时序相关系系统的选择,本领域技术人员应当得知,其可以根据具体需要扩充的产品线,和闲置产品线来确定。

步骤1.1:从各产品线测试环境抽取出和时序性任务执行相关时序性相关系统,依据产品线的不同分别命名为a、a1、a2...其中a为待扩充的原测试环境的时序相关系统即母时序性相关系统。

步骤1.2:梳理原环境时序相关系统a与上下游系统间关联配置,将关联配置以键值对的形式进行存储,关联配置包括公共配置和私有配置;将私有配置中变化的内容提取出来形成私有配置变量pv,将公有配置名、公有配置值,私有配置名,私有配置变量pv逐个存储形成关联配置模板m-c;

步骤1.3:按照模版m-c中涉及的配置项从a1、a2...等其余产品线时序相关系统中抽取配置项实际值,形成环境扩充前各产品线环境原有配置模版m-a1、m-a2...,这些模版将用于后续环境的恢复。

为针对当其他产品线无闲置时序性相关系统可以调配的情况,本申请还包括步骤2:建立快速部署标准,根据需要动态快速部署子时序性相关系统;

具体标准如下:

a系统应用目录统一:应用放在统一的文件目录,

a系统应用名称命名统一:均以原应用名+递增的自然数为新应用名、

a系统设置文件配置统一:统一配置配置中心地址、新应用名一建立应用与配置中心的对应关系。

将该应用部署标准形成配置脚本,当用户输入需要的环境数量时即可重复执行该脚本部署多套。

统一母时序性相关系统的应用及数据库的部署标准,能根据时序任务需求动态部署子时序性相关系统。

步骤3:生成各子时序相关系统的新环境自有配置列表,并通过新环境自有配置列表自动添加各子时序相关系统的新环境的关联配置,完成各子时序相关系统与母时序相关系统上下游系统就关联;

步骤3.1:当用户需要多套环境时首先借用闲置产品线中的时序相关系统a1、a2...,以关联配置模板m-c的私有变量pv为依据,获取时序相关系统a1、a2...的私有变量pv’对应的实际值,子时序性相关系统私有变量pv’实际值替换关联配置模板m-c中的私有变量pv形成各子时序性相关系统的待配置列表l-a1、l-a2...。

步骤3.2:当从闲置产品线中借用时序相关系统仍然无法满足需求时,需要自动新建时序相关系统。依据步骤2建立的部署标准,根据需要部署子时序相关系统,通过代码自动获取关联配置模板m-c中的私有配置变量pv的相关值,经过字符串拼接得到子时序性相关系统的私有配置变量实际值pv’,私有配置变量实际值pv’替换关联配置模板m-c的私有配置变量pv得到新的子时序性相关系统的自有配置列表l-a’。

步骤3.3:关联配置按时序相关系统来源的不同分为两类,第一类从闲置产品线中借用的时序相关系统a1、a2...,在全局配置中心系统中找到a1、a2...对应的配置集群,逐个替换为配置列表l-a1、l-a2..中的值。第二类对于新部署的子时序性相关系统,在全局配置中心系统,通过api访问的方式自动为新的子时序性相关系统的自有配置模板列表l-a’中的配置项建立集群,每一个子时序性相关系统对应一个集群,在对应的集群中逐个添加l-a’中的配置项,完成子时序性相关系统与上下游系统就关联。

步骤4:各子时序相关系统从步骤1所述的母时序相关系统进行数据同步,根据时序任务执行计划中日期字段数据不同,随机分配到各子时序相关系统的执行任务,并根据执行任务,匹配执行对应日期字段的数据。

步骤4.1:子时序性相关系统数据均从母时序性相关系统通过数据同步获得,首先获取数据库数据量的大小d1及需要同步的库的数量,并根据实际需要设置数据量阈值d2;

步骤4.2:如果数据量d1大于数据量阈值d2则采用多线程同步以提高同步效率,反之则采用单线程同步,数据量大小判定及同步方式切换均采用代码自动执行;

步骤4.3:根据时序任务执行计划中日期字段数据不同,随机分配到各个子时序性相关的执行任务,并根据执行任务,匹配执行对应日期字段的数据。

步骤5:在任务执行完后,恢复各产品线系统原有配置。

上述技术方案中,步骤5包括以下步骤:依据步骤1.3中扩充前各产品线环境原有配置模版m-a1、m-a2…,在全局配置中心找到a1、a2...对应的配置集群替换为原有配置模版m-a1、m-a2…,的值即完成了被借用环境a1、a2...环境的恢复。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1