CN113110992B - 一种管理测试环境的方法 - Google Patents
一种管理测试环境的方法 Download PDFInfo
- Publication number
- CN113110992B CN113110992B CN202110368259.1A CN202110368259A CN113110992B CN 113110992 B CN113110992 B CN 113110992B CN 202110368259 A CN202110368259 A CN 202110368259A CN 113110992 B CN113110992 B CN 113110992B
- Authority
- CN
- China
- Prior art keywords
- warehouse
- code
- database
- branch
- online
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及软件开发和软件测试领域,尤其是一种管理测试环境的方法,包括:步骤1:对系统代码仓库的分支进行命名规范及新建规则设定;步骤2:对代码目录结构进行规范;步骤3:获取上线窗口有代码改动的仓库;步骤4:基于步骤3获得的仓库对测试环境进行自动化部署。本发明的有益效果如下:本发明通过技术手段获得系统的改动仓库及配置信息改动并依据获得的信息自动化部署测试环境。本发明通过制定仓库命名及文件夹命名标准并实施后,通过程序自动分析与识别有代码变更及有数据库及配置变更仓库,然后通过自动调用对应的仓库部署任务,实现了测试环境的自动化部署与维护,解决了通过人工收集有变动的仓库存在的低效与易错的问题。
Description
技术领域
本发明涉及件开发和软件测试领域,尤其是一种管理测试环境的方法。
背景技术
在进行多系统全链路测试前,需要对测试环境进行系统版本部署和对系统新增/变动配置项进行配置,并数对据库/消息队列等各种中间件及数据库进行更新。若长链路的系统非常多,上线窗口的功能比较多,很多系统有代码改动的时候,通过人工收集每个系统有哪些代码仓库有代码改动及收集是否有数据库及各种配置的改动会非常耗时,然后汇总后再进行版本部署与配置更新,也比较耗时。如果人工漏收集了特定系统的改动,测试环境进行对应的部署,会造成长链路调通测试不能通过的情况,然后再花费人力进行问题定位,会耗费很大的人力。
综上所述,现有技术耗时耗力,还容易出错,因此本发明提出了一种管理测试环境的方法解决此问题。
发明内容
针对上述现有技术中存在的不足,本发明的目的在于提供一种管理测试环境的方法解决现有技术耗时耗力,还容易出错的问题。
为解决上述问题,本发明公开了一种管理测试环境的方法,包括:
步骤1:对系统代码仓库的分支进行命名规范及新建规则设定;
步骤2:对代码目录结构进行规范;
步骤3:获取上线窗口有代码改动的仓库;
步骤4:基于步骤3获得的仓库对测试环境进行自动化部署。
作为优选:步骤1具体包括下述方法:
1.1对系统代码仓库的命名进行统一规范,仓库命名规范为:分支用途+ 上线窗口;分支用途主要分为feature分支,sprint分支,release分支, hotfix分支;上线窗口为根据版本上线时间规划设定;
1.2对新建代码仓库的命名进行规则设定,只有符合步骤1.1命名规范的代码仓库才能够被新建。
作为优选:步骤2具体包括下述方法:
2.1在代码根目录创建src及script目录,src放置代码相关文件, script目录放置配置及数据库相关文件;script目录下新建文件夹,包括 dbscript,configscrit和mqscript,用于保存新增、修改和删除的数据库文件及配置项文件;
2.2如果在某个上线窗口,有需要新增的数据库或者配置项,则在 dbscript,configscrit和mqscript文件夹下新建以上线窗口时间为名字的文件夹,并将数据库或配置项文件放在对应的文件夹。
作为优选:步骤3具体包括下述方法:
3.1获取所有系统的代码的git仓库;
3.2通过git clone下载所有仓库代码;
3.3递归所有仓库代码主目录,运行git branch-a>branch_list.txt,获得每个仓库的所有分支名,并保存到txt文件;
3.4递归所有仓库代码主目录,并解析步骤3.3生成的包含所有分支名的branch_list.txt文件;如果版本到有满足步骤1.1规则的分支名,将该分支名进行步解析,获得上线窗口时间,并将仓库地址,仓库名,仓库分支和仓库上线日期保存到数据库作为一条记录;
3.5通过在数据库搜索上线窗口日期,就可以查询在上线窗口日期有新建分支的数据记录,通过查询到如上的数据记录,进而获得所有的仓库名清单,这些仓库名清单就代表在指定的上线窗口有代码改动的代码仓库;
3.6获得上线窗口有数据库或配置文件变更的仓库,标识并保持到数据库,依据步骤3.5获得的有代码改动的仓库名清单,进入对应的仓库代码主目录,遍历主目录下的script的目录下的dbscript,configscrit和mqscript 文件夹,然后判断是否有以特定上线窗口时间命名的文件夹,如果有就表示该仓库有数据库或者配置有变更,并将是否有变动的信息保存到数据库。
作为优选:步骤4具体包括下述方法:
4.1基于步骤3.5获得有代码变动的仓库清单,通过触发对应的仓库自动部署任务,部署上线窗口的分支;
4.2基于步骤3.5获得有代码变动的仓库清单,然后进一步查询步骤3.6 保存的数据记录,确定是否有数据库或者配置文件更新;
4.3依据步骤4.2获得的有数据库或者配置更新的仓库清单,调用对应仓库的自动部署数据库或者配置文件的任务,完成数据库和配置项的部署,最终完成测试环境的完成自动化部署与维护。
由于采用上述技术方案,本发明有着如下有益效果:本发明通过技术手段获得系统的改动仓库及配置信息改动并依据获得的信息自动化部署测试环境。本发明通过制定仓库命名及文件夹命名标准并实施后,通过程序自动分析与识别有代码变更及有数据库及配置变更仓库,然后通过自动调用对应的仓库部署任务,实现了测试环境的自动化部署与维护,解决了通过人工收集有变动的仓库存在的低效与易错的问题。
具体实施方式
以下对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
为解决上述问题,本发明公开了一种管理测试环境的方法,包括:
步骤1:对系统代码仓库的分支进行命名规范及新建规则设定;
1.1对所有代码仓库的命名进行统一规范,仓库命名规范为:分支用途+ 上线窗口;分支用途主要分为feature分支,sprint分支,release分支和 hotfix分支;上线窗口为根据版本上线时间规划设定,如以 20200912,20210121等基于时间标识的命名。最后的分支命名为:sprint20200121,release20200121;
1.2对新建代码仓库的命名进行规则设定,只有符合步骤1.1命名规范的代码仓库才能够被新建,其它仓库新建将会被拒绝。
步骤2:对代码目录结构进行规范;
2.1在代码根目录创建src及script目录.src放置代码相关文件, script目录放置配置及数据库相关文件;script目录下新建 dbscript,configscrit和mqscript等文件夹,用于保存新增、修改、删除的数据库文件及配置项文件;
2.2如果在某个上线窗口,有需要新增的数据库或者配置项,则在 dbscript,configscrit,mqscript等文件夹下新建以上线窗口时间为名字的文件夹,并将数据库或配置项文件放在对应的文件夹。举例,如果上线窗口 20200121有数据库的新增,则在dbscript目录下新建20200121目录,然后将对应的数据库新增文件db.sql放到20200121目录,最后形成的目录树如:dbscript/20200121/db.sql。
步骤3:获取上线窗口有代码改动的仓库
3.1获取所有系统的代码的git仓库;
3.2通过git clone下载所有仓库代码;
3.3递归所有仓库代码主目录,运行git branch-a>branch_list.txt,获得每个仓库的所有分支名,并保存到txt文件;
3.4递归所有仓库代码主目录,并解析步骤3.3生成的包含所有分支名的branch_list.txt文件;如果版本到有满足步骤1.1规则的分支名,如 sprint20200121,将该分支名进行步解析,获得上线窗口时间,如20200121,并将仓库地址,仓库名,仓库分支,仓库上线日期保存到数据库作为一条记录。形成如下数据库数据记录,如
https://github.com/alibaba/jvm-sandbox.git| jvm-sandbox|sprint20200121|20200121
https://github.com/xwbank/xw-testline.git| /xw-testline|sprint20200121|20200121
https://github.com/xwbank/xw-testline.git| /xw-testline|sprint20190121|20190121;
3.5通过在数据库搜索上线窗口日期如20200121,就可以查询在上线窗口20200121有新建分支的数据记录,如
https://github.com/alibaba/jvm-sandbox.git| jvm-sandbox|sprint20200121|20200121
https://github.com/xwbank/xw-testline.git| /xw-testline|sprint20200121|20200121
通过查询到如上的数据记录,进而获得所有的仓库名清单,这些仓库名清单就代表在指定的上线窗口有代码改动的代码仓库。
3.6获得上线窗口有数据库或配置文件变更的仓库,标识并保持到数据库,依据步骤3.5获得的有代码改动的仓库名清单,进入对应的仓库代码主目录,遍历主目录下的script的目录下的dbscript,configscrit,mqscript 等文件夹,然后判断是否有以特定上线窗口时间命名的文件夹,如果有就表示该仓库有数据库或者配置有变更,将是否有变动的信息保存到数据库。
步骤4:基于步骤3获得的仓库对测试环境进行自动化部署;
4.1基于步骤3.5获得有代码变动的仓库清单,通过触发对应的仓库自动部署任务,部署上线窗口的分支;
4.2基于步骤3.5获得有代码变动的仓库清单,然后进一步查询步骤3.6 保存的数据记录,确定是否有数据库或者配置文件更新;
4.3依据步骤4.2获得的有数据库或者配置更新的仓库清单,调用对应仓库的自动部署数据库或者配置文件的任务,完成数据库和配置项的部署,最终完成测试环境的完成自动化部署与维护。
本发明通过制定仓库的分支命名规则及控制新建仓库权限,使仓库的命名只能按照特定的规则新建,从而统一规范了代码仓库名。通过将配置文件及数据库文件放置到固定文件夹,且根据上线窗口日期新建文件夹并保持对应窗口的数据库文件及配置文件,实现了配置及数据库文件的保存的标准化。
本发明通过获得每个仓库所有分支名,并按照特定的规则进行解析,获得上线窗口有代码变动的仓库名,并在获得变动的仓库的文件目录下,通过判断特定文件夹(dbsrcipt)的特定目录(dbscript、confscript、mqscript) 下是否有日期命名的文件夹(20200121,20211121)来判断是否有数据库及配置更新并标识。
本发明通过获得到的上线窗口有代码变动的仓库及有变动的数据库及配置,并通过调用对应的自动部署任务,实现测试环境的自动化部署与维护。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围。
Claims (2)
1.一种管理测试环境的方法,其特征在于,包括以下步骤:
步骤1:对系统代码仓库的分支进行命名规范及新建规则设定;
1.1对系统代码仓库的命名进行统一规范,仓库命名规范为:分支用途+上线窗口;分支用途主要分为feature分支,sprint分支,release分支,hotfix分支;上线窗口为根据版本上线时间规划设定;
1.2 对新建代码仓库的命名进行规则设定,只有符合步骤1.1命名规范的代码仓库才能够被新建;
步骤2:对代码目录结构进行规范;
2.1 在代码根目录创建src及script目录, src放置代码相关文件,script目录放置配置及数据库相关文件;script目录下新建文件夹,包括dbscript,configscrit和mqscript,用于保存新增、修改和删除的数据库文件及配置项文件;
2.2 如果在某个上线窗口,有需要新增的数据库或者配置项,则在dbscript,configscrit和mqscript文件夹下新建以上线窗口时间为名字的文件夹,并将数据库或配置项文件放在对应的文件夹;
步骤3:获取上线窗口有代码改动的仓库;
3.1 获取所有系统的代码的git仓库;
3.2 通过git clone下载所有仓库代码;
3.3 递归所有仓库代码主目录,运行git branch -a > branch_list.txt,获得每个仓库的所有分支名,并保存到txt文件;
3.4 递归所有仓库代码主目录,并解析步骤3.3生成的包含所有分支名的branch_list.txt文件;如果版本到有满足步骤1.1规则的分支名,将该分支名进行解析,获得上线窗口时间,并将仓库地址,仓库名,仓库分支和仓库上线日期保存到数据库作为一条记录;
3.5 通过在数据库搜索上线窗口日期,就可以查询在上线窗口日期有新建分支的数据记录,通过查询到如上的数据记录,进而获得所有的仓库名清单,这些仓库名清单就代表在指定的上线窗口有代码改动的代码仓库;
3.6 获得上线窗口有数据库或配置文件变更的仓库,标识并保持到数据库,依据步骤3.5获得的有代码改动的仓库名清单,进入对应的仓库代码主目录,遍历主目录下的script的目录下的dbscript,configscrit和mqscript文件夹,然后判断是否有以特定上线窗口时间命名的文件夹,如果有就表示该仓库有数据库或者配置有变更,并将是否有变动的信息保存到数据库;
步骤4:基于步骤3获得的仓库对测试环境进行自动化部署。
2.根据权利要求1所述的一种管理测试环境的方法,其特征在于:步骤4具体包括下述方法:
4.1 基于步骤3.5获得有代码变动的仓库清单,通过触发对应的仓库自动部署任务,部署上线窗口的分支;
4.2 基于步骤3.5获得有代码变动的仓库清单,然后进一步查询步骤3.6保存的数据记录,确定是否有数据库或者配置文件更新;
4.3 依据步骤4.2获得的有数据库或者配置更新的仓库清单,调用对应仓库的自动部署数据库或者配置文件的任务,完成数据库和配置项的部署,最终完成测试环境的完成自动化部署与维护。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110368259.1A CN113110992B (zh) | 2021-04-06 | 2021-04-06 | 一种管理测试环境的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110368259.1A CN113110992B (zh) | 2021-04-06 | 2021-04-06 | 一种管理测试环境的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113110992A CN113110992A (zh) | 2021-07-13 |
CN113110992B true CN113110992B (zh) | 2023-06-06 |
Family
ID=76714069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110368259.1A Active CN113110992B (zh) | 2021-04-06 | 2021-04-06 | 一种管理测试环境的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113110992B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254356B (zh) * | 2021-07-16 | 2021-10-29 | 浩鲸云计算科技股份有限公司 | 一种基于Knative的测试环境管理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679965A (zh) * | 2020-04-23 | 2020-09-18 | 平安国际智慧城市科技股份有限公司 | 自动化测试方法、装置、计算机设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109725911A (zh) * | 2017-10-31 | 2019-05-07 | 北京国双科技有限公司 | 一种多环境项目部署方法、装置、存储介质及处理器 |
CN109840194B (zh) * | 2017-11-28 | 2022-07-08 | 网宿科技股份有限公司 | 一种配置文件的检测方法及系统 |
CN108829399B (zh) * | 2018-04-13 | 2022-05-20 | 杭州朗和科技有限公司 | 一种应用的测试方法、测试装置、介质和计算设备 |
US10936334B2 (en) * | 2018-07-12 | 2021-03-02 | Bank Of America Corporation | Resource configuration migration and implementation utilizing multiple branches |
CN111444080A (zh) * | 2019-01-17 | 2020-07-24 | 北京京东尚科信息技术有限公司 | 持续测试方法和装置 |
CN112506525A (zh) * | 2020-12-03 | 2021-03-16 | 中国人寿保险股份有限公司 | 持续集成和持续交付方法、装置、电子设备及存储介质 |
-
2021
- 2021-04-06 CN CN202110368259.1A patent/CN113110992B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679965A (zh) * | 2020-04-23 | 2020-09-18 | 平安国际智慧城市科技股份有限公司 | 自动化测试方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113110992A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11341155B2 (en) | Mapping instances of a dataset within a data management system | |
JP5538581B2 (ja) | ビジネスエンティティを結合するための方法およびシステム | |
CN110321254B (zh) | 软件版本回滚方法、装置、服务器及存储介质 | |
US8032880B2 (en) | Multi-branch management for updating software | |
US10970673B2 (en) | Bill of material synchronization | |
US20040044996A1 (en) | System and method for verifying installed software | |
CN113110992B (zh) | 一种管理测试环境的方法 | |
CN107368513B (zh) | 客户端数据库更新的方法及装置 | |
US7853651B2 (en) | Method for tracking transport requests and computer system with trackable transport requests | |
CN115712623B (zh) | 一种基于捕获元数据变更的批量数据容错采集方法 | |
Gonzalez-Barahona et al. | The MetricsGrimoire database collection | |
JP4848128B2 (ja) | データベース・システム、データベース・システムのためのコンピュータ実行可能な方法、プログラムおよびデータベース・システムにおける索引テーブルをアップデートする方法 | |
US20050188259A1 (en) | Patch application that enables the identification of patches for installation on a computer system in a reactive manner | |
US8145336B2 (en) | Real-time assembly and part validation and auto-disposition | |
CN114490594A (zh) | 一种数据库管理方法、装置、电子设备及计算机存储介质 | |
CN112817931B (zh) | 一种增量版本文件的生成方法及装置 | |
CN111737316A (zh) | 一种工程清单查询方法、装置、计算机设备和存储介质 | |
CN117348916B (zh) | 脚本生成方法、装置、设备及存储介质 | |
CN113688147B (zh) | 一种数据处理方法及系统 | |
US8874539B2 (en) | Object identity and addressability | |
CN117311766A (zh) | 一种嵌入式linux操作系统及其组件更新管理方法 | |
CN115454483A (zh) | 一种跨版本的版本更新方法和相关装置 | |
CN116795420A (zh) | 一种系统版本验证方法、装置、设备和可读存储介质 | |
US20070208692A1 (en) | System, method and program product for generating triggers for a relational database | |
CN117632740A (zh) | 埋点检测方法、埋点管理方法、装置、计算机设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |