[go: up one dir, main page]

CN112732320B - Continuous integration method, device, electronic device and medium for software development process - Google Patents

Continuous integration method, device, electronic device and medium for software development process Download PDF

Info

Publication number
CN112732320B
CN112732320B CN202110050101.XA CN202110050101A CN112732320B CN 112732320 B CN112732320 B CN 112732320B CN 202110050101 A CN202110050101 A CN 202110050101A CN 112732320 B CN112732320 B CN 112732320B
Authority
CN
China
Prior art keywords
test
product
installation package
continuous integration
product installation
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
Application number
CN202110050101.XA
Other languages
Chinese (zh)
Other versions
CN112732320A (en
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.)
Beijing Ruian Technology Co Ltd
Original Assignee
Beijing Ruian Technology Co Ltd
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 Beijing Ruian Technology Co Ltd filed Critical Beijing Ruian Technology Co Ltd
Priority to CN202110050101.XA priority Critical patent/CN112732320B/en
Publication of CN112732320A publication Critical patent/CN112732320A/en
Application granted granted Critical
Publication of CN112732320B publication Critical patent/CN112732320B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种软件开发过程的持续集成方法、装置、电子设备及介质,该方法包括:获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将产品代码进行打包,以获得产品安装包;基于持续集成工具中的部署脚本将产品安装包部署至预设位置;基于持续集成工具中的测试脚本以及从代码管理工具中获取的测试用例,对预设位置的产品安装包进行测试;基于产品测试结果,将产品安装包发布至与产品测试结果相对应的发布区域。通过本发明实施例的技术方案,实现了开发和测试的持续集成的效果,提高了软件开发迭代的速度。

The embodiment of the present invention discloses a continuous integration method, device, electronic device and medium of a software development process, the method comprising: obtaining product code in a code management tool, and packaging the product code based on a packaging script in the continuous integration tool to obtain a product installation package; deploying the product installation package to a preset location based on a deployment script in the continuous integration tool; testing the product installation package at the preset location based on a test script in the continuous integration tool and a test case obtained from the code management tool; and publishing the product installation package to a publishing area corresponding to the product test result based on the product test result. Through the technical solution of the embodiment of the present invention, the effect of continuous integration of development and testing is achieved, and the speed of software development iteration is improved.

Description

软件开发过程的持续集成方法、装置、电子设备及介质Continuous integration method, device, electronic device and medium for software development process

技术领域Technical Field

本发明实施例涉及软件开发技术领域,尤其涉及一种软件开发过程的持续集成方法、装置、电子设备及介质。The embodiments of the present invention relate to the field of software development technology, and in particular to a continuous integration method, device, electronic device and medium in a software development process.

背景技术Background technique

软件开发需要研发部门、测试部门以及运营部门共同完成。随着业务产品交付需求的逐步增加,对于软件开发速度的需求也逐步增加。并且,随着数据中心自动化技术和配置管理工具的普及,对于软件开发的质量与速度都存在较高的需求。Software development requires the joint efforts of the R&D department, the testing department, and the operations department. As the demand for business product delivery gradually increases, the demand for software development speed also gradually increases. In addition, with the popularization of data center automation technology and configuration management tools, there is a high demand for the quality and speed of software development.

但是,软件开发所需的各部门之间的工作分离并且独立,例如:当研发部门根据产品需求生成产品代码时,测试部门处于空闲状态等。上述过程会造成沟通成本高以及耗时长的问题,难以满足日益增长的软件迭代速度的需求。However, the work between departments required for software development is separated and independent. For example, when the R&D department generates product code according to product requirements, the testing department is idle, etc. The above process will cause high communication costs and long time consumption, making it difficult to meet the growing demand for software iteration speed.

发明内容Summary of the invention

本发明实施例提供了一种软件开发过程的持续集成方法、装置、电子设备及介质,以实现开发和测试的持续集成,提高软件开发迭代的速度。The embodiments of the present invention provide a continuous integration method, device, electronic device and medium for a software development process, so as to realize continuous integration of development and testing and improve the speed of software development iteration.

第一方面,本发明实施例提供了一种软件开发过程的持续集成方法,该方法包括:In a first aspect, an embodiment of the present invention provides a continuous integration method for a software development process, the method comprising:

获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将所述产品代码进行打包,以获得产品安装包;Obtaining product codes from a code management tool, and packaging the product codes based on a packaging script in a continuous integration tool to obtain a product installation package;

基于所述持续集成工具中的部署脚本将所述产品安装包部署至预设位置;Deploy the product installation package to a preset location based on the deployment script in the continuous integration tool;

基于所述持续集成工具中的测试脚本以及从所述代码管理工具中获取的测试用例,对所述预设位置的所述产品安装包进行测试;Testing the product installation package at the preset location based on the test script in the continuous integration tool and the test cases obtained from the code management tool;

基于产品测试结果,将所述产品安装包发布至与所述产品测试结果相对应的发布区域。Based on the product test result, the product installation package is published to a publishing area corresponding to the product test result.

第二方面,本发明实施例还提供了一种软件开发过程的持续集成装置,该装置包括:In a second aspect, an embodiment of the present invention further provides a continuous integration device for a software development process, the device comprising:

安装包获取模块,用于获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将所述产品代码进行打包,以获得产品安装包;An installation package acquisition module is used to acquire product codes in a code management tool and package the product codes based on a packaging script in a continuous integration tool to obtain a product installation package;

安装包部署模块,用于基于所述持续集成工具中的部署脚本将所述产品安装包部署至预设位置;An installation package deployment module, used to deploy the product installation package to a preset location based on the deployment script in the continuous integration tool;

产品测试模块,用于基于所述持续集成工具中的测试脚本以及从所述代码管理工具中获取的测试用例,对所述预设位置的所述产品安装包进行测试;A product testing module, configured to test the product installation package at the preset location based on the test script in the continuous integration tool and the test cases obtained from the code management tool;

产品发布模块,用于基于产品测试结果,将所述产品安装包发布至与所述产品测试结果相对应的发布区域。The product publishing module is used to publish the product installation package to a publishing area corresponding to the product test result based on the product test result.

第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:In a third aspect, an embodiment of the present invention further provides an electronic device, the electronic device comprising:

一个或多个处理器;one or more processors;

存储装置,用于存储一个或多个程序,a storage device for storing one or more programs,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例任一所述的软件开发过程的持续集成方法。When the one or more programs are executed by the one or more processors, the one or more processors implement the continuous integration method for the software development process as described in any one of the embodiments of the present invention.

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例任一所述的软件开发过程的持续集成方法。In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements a continuous integration method for a software development process as described in any one of the embodiments of the present invention.

本发明实施例的技术方案,通过获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将产品代码进行打包,以获得产品安装包;基于持续集成工具中的部署脚本将产品安装包部署至预设位置,以便于对产品安装包进行后续测试;基于持续集成工具中的测试脚本以及从代码管理工具中获取的测试用例,对预设位置的产品安装包进行测试;基于产品测试结果,将所述产品安装包发布至与产品测试结果相对应的发布区域,解决了软件开发各部门相互独立工作,沟通成本高的问题,实现了开发和测试的持续集成的效果,提高了软件开发迭代的速度。The technical solution of the embodiment of the present invention obtains the product code in the code management tool, and packages the product code based on the packaging script in the continuous integration tool to obtain the product installation package; deploys the product installation package to a preset location based on the deployment script in the continuous integration tool to facilitate subsequent testing of the product installation package; tests the product installation package at the preset location based on the test script in the continuous integration tool and the test cases obtained from the code management tool; and publishes the product installation package to a publishing area corresponding to the product test result based on the product test result, thereby solving the problem that various software development departments work independently and have high communication costs, achieving the effect of continuous integration of development and testing, and improving the speed of software development iteration.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。In order to more clearly illustrate the technical solution of the exemplary embodiment of the present invention, the following briefly introduces the drawings required to describe the embodiments. Obviously, the drawings introduced are only drawings of a part of the embodiments to be described in the present invention, rather than all the drawings. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

图1为本发明实施例一所提供的一种软件开发过程的持续集成方法的流程示意图;FIG1 is a schematic diagram of a process flow of a continuous integration method for a software development process provided by a first embodiment of the present invention;

图2为本发明实施例二所提供的一种软件开发过程的持续集成方法的流程示意图;FIG2 is a schematic diagram of a flow chart of a continuous integration method for a software development process provided by a second embodiment of the present invention;

图3为本发明实施例三所提供的一种软件开发过程的持续集成方法的示意图;FIG3 is a schematic diagram of a continuous integration method for a software development process provided by a third embodiment of the present invention;

图4为本发明实施例三所提供的另一种软件开发过程的持续集成方法的示意图;FIG4 is a schematic diagram of another continuous integration method for a software development process provided by Embodiment 3 of the present invention;

图5为本发明实施例四所提供的一种软件开发过程的持续集成装置的结构示意图;FIG5 is a schematic diagram of the structure of a continuous integration device for a software development process provided by a fourth embodiment of the present invention;

图6为本发明实施例五所提供的一种电子设备的结构示意图。FIG6 is a schematic diagram of the structure of an electronic device provided in Embodiment 5 of the present invention.

具体实施方式Detailed ways

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.

实施例一Embodiment 1

图1为本发明实施例一所提供的一种软件开发过程的持续集成方法的流程示意图,本实施例可适用于在进行软件开发时,对开发和测试进行持续集成的情况,该方法可以由软件开发过程的持续集成装置来执行,该装置可以通过软件和/或硬件的形式实现,该硬件可以是电子设备,可选的,电子设备可以是移动终端等。Figure 1 is a flow chart of a continuous integration method for a software development process provided in a first embodiment of the present invention. This embodiment is applicable to situations where continuous integration of development and testing is performed during software development. The method can be executed by a continuous integration device for a software development process. The device can be implemented in the form of software and/or hardware. The hardware can be an electronic device. Optionally, the electronic device can be a mobile terminal, etc.

如图1所述,本实施例的方法具体包括如下步骤:As shown in FIG. 1 , the method of this embodiment specifically includes the following steps:

S110、获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将产品代码进行打包,以获得产品安装包。S110: Obtain product code from a code management tool, and package the product code based on a packaging script in a continuous integration tool to obtain a product installation package.

其中,代码管理工具可以是针对代码实现上传、下载、合并等功能的平台软件,例如可以是Gitlab(用于仓库管理系统的开源项目)等。产品代码可以是软件开发所需的代码,可以包括各研发人员开发编写的代码。持续集成工具可以是监控持续重复工作的工具,例如可以是Jenkins(基于Java开发的持续集成工具)等。打包脚本可以是一段脚本代码,用于将某些指定的程序进行打包。产品安装包可以是执行打包脚本后生成的安装包,用于安装执行产品。产品安装包可以是.exe格式的可执行程序,也可以是.zip格式的压缩包等。Among them, the code management tool can be a platform software that implements functions such as uploading, downloading, and merging for the code, for example, it can be Gitlab (an open source project for warehouse management systems), etc. The product code can be the code required for software development, and can include the code developed and written by various R&D personnel. The continuous integration tool can be a tool for monitoring continuous repetitive work, for example, it can be Jenkins (a continuous integration tool developed based on Java), etc. The packaging script can be a script code used to package certain specified programs. The product installation package can be an installation package generated after executing the packaging script, which is used to install and execute the product. The product installation package can be an executable program in .exe format, or a compressed package in .zip format, etc.

具体的,当需要对某一产品的产品代码进行打包测试时,可以获取代码管理工具中存储的该产品的产品代码。当检测到该产品的产品代码获取完成时,可以执行打包脚本,将产品代码进行打包处理,以生成产品安装包,用于传输至测试服务器或测试平台等进行后续测试使用。Specifically, when it is necessary to package and test the product code of a product, the product code of the product stored in the code management tool can be obtained. When it is detected that the product code of the product has been obtained, the packaging script can be executed to package the product code to generate a product installation package for transmission to a test server or test platform for subsequent testing.

需要说明的是,代码管理工具中存储的产品代码可以是一个或多个产品所对应的产品代码。为了便于管理和调取,不同产品的产品代码可以存储在代码管理工具中不同的存储空间内,例如:存储至不同产品所对应的目录下的存储空间内等。It should be noted that the product code stored in the code management tool may be the product code corresponding to one or more products. For ease of management and retrieval, the product codes of different products may be stored in different storage spaces in the code management tool, for example, in storage spaces under directories corresponding to different products.

S120、基于持续集成工具中的部署脚本将产品安装包部署至预设位置。S120. Deploy the product installation package to a preset location based on the deployment script in the continuous integration tool.

其中,部署脚本可以是一段脚本代码,用于对产品安装包进行部署和/或安装。预设位置可以是用于测试产品安装包的位置,例如可以是测试服务器或测试平台等。The deployment script may be a script code for deploying and/or installing the product installation package. The preset location may be a location for testing the product installation package, such as a test server or a test platform.

具体的,基于持续集成工具中的部署脚本可以将产品安装包发送至预设位置。并且,还可以将产品安装包在预设位置进行安装以得到产品,便于对该产品安装包进行测试。Specifically, the product installation package can be sent to a preset location based on the deployment script in the continuous integration tool. In addition, the product installation package can be installed at the preset location to obtain the product, which is convenient for testing the product installation package.

S130、基于持续集成工具中的测试脚本以及从代码管理工具中获取的测试用例,对预设位置的产品安装包进行测试。S130: Testing the product installation package at the preset location based on the test script in the continuous integration tool and the test cases obtained from the code management tool.

其中,测试脚本可以是一段脚本代码,用于执行各测试用例,对产品安装包进行测试。测试用例可以是为某个需求而编写的一组测试输入、执行条件以及预期结果的用例,用于测试产品是否满足该需求。测试用例可以存储至代码管理工具中。可选的,在代码管理工具中,测试用例可以按照分类类型进行存储,例如:按照功能测试、易用性测试、可安装性测试、GUI(Graphical User Interface,图形用户界面)测试、兼容性测试、安全测试等进行存储。并且,若不同产品所对应的测试用例不同,则测试用例也可以与产品标识以及版本标识对应存储。Among them, the test script can be a section of script code, which is used to execute each test case to test the product installation package. A test case can be a set of test inputs, execution conditions and expected results written for a certain requirement, which is used to test whether the product meets the requirement. Test cases can be stored in a code management tool. Optionally, in the code management tool, test cases can be stored according to classification types, for example: according to functional testing, usability testing, installability testing, GUI (Graphical User Interface) testing, compatibility testing, security testing, etc. In addition, if different products correspond to different test cases, the test cases can also be stored corresponding to the product identification and version identification.

具体的,从代码管理工具中可以获取与产品安装包所对应的测试用例。基于持续集成工具中的测试脚本以及获取的各测试用例,可以分别对预设位置的产品安装包进行测试。Specifically, the test cases corresponding to the product installation package can be obtained from the code management tool. Based on the test scripts in the continuous integration tool and the obtained test cases, the product installation packages at the preset locations can be tested respectively.

可选的,若预设位置为多个,则可以在不同的预设位置的产品安装包进行不同的测试。例如:预设位置包括功能测试平台,安全性测试平台,可以在功能测试平台上对产品安装包进行功能测试,在安全性测试平台上进行安全性测试等。Optionally, if there are multiple preset locations, different tests can be performed on the product installation packages at different preset locations. For example, the preset locations include a functional test platform and a security test platform, and the product installation package can be tested for functionality on the functional test platform and tested for security on the security test platform.

需要说明的是,同一产品的不同版本的产品安装包所对应的测试用例不同。例如,产品A的2.0版本相较于产品A的1.0版本新增了功能B,则产品A的2.0版本所对应的测试用例相较于1.0版本可以增加对功能B进行测试的测试用例。It should be noted that different versions of the same product installation package have different test cases. For example, if version 2.0 of product A adds function B compared to version 1.0 of product A, the test cases corresponding to version 2.0 of product A can add test cases for function B compared to version 1.0.

S140、基于产品测试结果,将产品安装包发布至与产品测试结果相对应的发布区域。S140. Based on the product test result, publish the product installation package to a publishing area corresponding to the product test result.

其中,产品测试结果可以是通过测试或不通过测试。发布区域可以是发布产品安装包的区域,并且,发布区域可以与产品是否通过测试相对应。The product test result may be a pass or fail test. The release area may be an area where the product installation package is released, and the release area may correspond to whether the product passes the test.

具体的,基于产品测试结果,可以将产品安装包发布至不同的发布区域,以供后续销售安装或重新开发使用。Specifically, based on the product test results, the product installation package can be released to different release areas for subsequent sales installation or redevelopment use.

示例性的,若产品测试结果为通过,则可以将产品安装包发布至待下载安装区,以供运营人员对该产品安装包进行销售和/或安装。若产品测试结果为不通过,则可以将产品安装包发布至待重新开发区,以供研发人员和测试人员对产品安装包进行重新开发和测试。For example, if the product test result is passed, the product installation package can be published to the download and installation area for operators to sell and/or install the product installation package. If the product test result is not passed, the product installation package can be published to the redevelopment area for R&D personnel and testers to redevelop and test the product installation package.

在上述技术方案的基础上,在对预设位置的产品安装包进行测试后,可以生成测试报告,并反馈至研发人员的终端设备。On the basis of the above technical solution, after testing the product installation package at the preset location, a test report can be generated and fed back to the terminal device of the R&D personnel.

其中,测试报告可以是对各测试用例执行测试的测试结果进行总结分析的报告。The test report may be a report summarizing and analyzing the test results of each test case.

具体的,基于各测试用例的测试结果,可以自动生成与产品安装包所对应的测试报告,并将该测试报告发送至研发人员的终端设备,例如:以邮件的形式发送至研发人员的终端设备,或以提示消息的形式发送至研发人员的终端设备。当研发人员接收到测试报告后,若测试结果为测试不通过,则研发人员可以根据测试报告的内容,对产品代码进行修改或重新开发等。Specifically, based on the test results of each test case, a test report corresponding to the product installation package can be automatically generated, and the test report can be sent to the terminal device of the developer, for example, in the form of an email or a prompt message. After the developer receives the test report, if the test result is that the test fails, the developer can modify or redevelop the product code according to the content of the test report.

在上述技术方案的基础上,可以将产品测试结果为通过的产品安装包存储至产品镜像库,以对产品安装包进行备份。On the basis of the above technical solution, the product installation package with a product test result of passing can be stored in the product mirror library to back up the product installation package.

本发明实施例的技术方案,通过获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将产品代码进行打包,以获得产品安装包;基于持续集成工具中的部署脚本将产品安装包部署至预设位置,以便于对产品安装包进行后续测试;基于持续集成工具中的测试脚本以及从代码管理工具中获取的测试用例,对预设位置的产品安装包进行测试;基于产品测试结果,将所述产品安装包发布至与产品测试结果相对应的发布区域,解决了软件开发各部门相互独立工作,沟通成本高的问题,实现了开发和测试的持续集成的效果,提高了软件开发迭代的速度。The technical solution of the embodiment of the present invention obtains the product code in the code management tool, and packages the product code based on the packaging script in the continuous integration tool to obtain the product installation package; deploys the product installation package to a preset location based on the deployment script in the continuous integration tool to facilitate subsequent testing of the product installation package; tests the product installation package at the preset location based on the test script in the continuous integration tool and the test cases obtained from the code management tool; and publishes the product installation package to a publishing area corresponding to the product test result based on the product test result, thereby solving the problem that various software development departments work independently and have high communication costs, achieving the effect of continuous integration of development and testing, and improving the speed of software development iteration.

实施例二Embodiment 2

图2为本发明实施例二所提供的一种软件开发过程的持续集成方法的流程示意图,本实施例在上述各实施例的基础上,针对产品安装包的部署,测试方式可参见本实施例的技术方案。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。FIG2 is a flow chart of a continuous integration method for a software development process provided by Embodiment 2 of the present invention. Based on the above embodiments, this embodiment is aimed at the deployment of the product installation package, and the testing method can refer to the technical solution of this embodiment. The explanations of the terms that are the same or corresponding to the above embodiments are not repeated here.

如图2所示,该方法具体包括以下步骤:As shown in FIG2 , the method specifically comprises the following steps:

S210、当检测到代码管理工具中的各分支产品代码提交完成时,基于代码管理工具合并各分支产品代码,并将合并后的代码作为产品代码。S210: When it is detected that the submission of each branch product code in the code management tool is completed, merge the branch product codes based on the code management tool, and use the merged code as the product code.

其中,分支产品代码可以是不同研发人员负责开发的部分产品代码。Among them, the branch product code can be part of the product code developed by different R&D personnel.

具体的,当各研发人员完成所负责部分的产品代码的开发时,可以上传将开发的部分产品代码上传至代码管理工具的代码分支中。当检测到产品代码所对应的各分支产品代码上传提交完成时,可以调用代码管理工具中的合并操作,将各分支产品代码进行合并,以得到完整的产品代码。Specifically, when each R&D personnel completes the development of the product code for the part they are responsible for, they can upload the developed part of the product code to the code branch of the code management tool. When it is detected that the upload and submission of each branch product code corresponding to the product code is completed, the merge operation in the code management tool can be called to merge the branch product codes to obtain the complete product code.

需要说明的是,设置不同分支产品代码的好处在于各研发人员可以分别负责部分产品代码的开发,以提高产品代码的开发速率。并且,在合并各分支产品代码时,无需人为的进行合并,可以节省人力资源并避免代码合并过程中的错误。It should be noted that the advantage of setting different branch product codes is that each R&D personnel can be responsible for the development of part of the product code to improve the development rate of the product code. In addition, when merging the branch product codes, there is no need to merge manually, which can save human resources and avoid errors in the code merging process.

S220、获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将产品代码进行打包,以获得产品安装包。S220: Obtain product code from the code management tool, and package the product code based on a packaging script in the continuous integration tool to obtain a product installation package.

S230、基于持续集成工具中的部署脚本将产品安装包部署至预设位置。S230. Deploy the product installation package to a preset location based on the deployment script in the continuous integration tool.

将产品安装包部署至预设位置时,可以包括部署以及安装两个步骤。可选的,基于持续集成工具中的部署脚本将产品安装包部署至测试服务器。执行产品安装包,将产品安装至测试服务器。When deploying the product installation package to a preset location, two steps may be included: deployment and installation. Optionally, the product installation package may be deployed to a test server based on a deployment script in a continuous integration tool. The product installation package may be executed to install the product on the test server.

其中,测试服务器可以是执行产品安装包测试的服务器。The test server may be a server for executing product installation package testing.

具体的,基于持续集成工具中的预先编写的部署脚本,可以将产品安装包发送部署至测试服务器,以供后续对该产品安装包进行测试使用。为了对产品安装包所对应的产品进行测试,可以执行产品安装包,将产品安装至测试服务器。若产品安装包为.exe格式的可执行文件,则可以运行该可执行文件,以将产品安装至测试服务器。若产品安装包为.zip格式的压缩文件,则可以将该压缩文件解压缩至测试服务器。在本实施例中,对产品安装包的格式以及安装方式不做具体限定。Specifically, based on the pre-written deployment script in the continuous integration tool, the product installation package can be sent and deployed to the test server for subsequent testing of the product installation package. In order to test the product corresponding to the product installation package, the product installation package can be executed to install the product on the test server. If the product installation package is an executable file in .exe format, the executable file can be run to install the product on the test server. If the product installation package is a compressed file in .zip format, the compressed file can be decompressed to the test server. In this embodiment, the format and installation method of the product installation package are not specifically limited.

S240、基于持续集成工具中的测试脚本以及从代码管理工具中获取的测试用例,对预设位置的产品安装包进行测试。S240. Based on the test scripts in the continuous integration tool and the test cases obtained from the code management tool, the product installation package in the preset location is tested.

通常情况下,产品开发迭代可以是基于上一次产品开发的产品代码进行开发的。在进行测试时,可以将测试用例分为对已有功能进行测试时使用的回归测试用例,以及对新功能进行测试时使用的新功能测试用例。此时,基于测试用例对产品安装包进行测试的具体过程如下:Generally, product development iterations can be developed based on the product code of the previous product development. When testing, test cases can be divided into regression test cases used to test existing functions and new function test cases used to test new functions. At this time, the specific process of testing the product installation package based on the test cases is as follows:

从代码管理工具中获取回归测试用例以及新功能测试用例;基于持续集成工具中的测试脚本以及回归测试用例,对预设位置的所述产品安装包进行回归测试;基于持续集成工具中的测试脚本以及新功能测试用例,对预设位置的产品安装包进行新功能测试。Obtain regression test cases and new function test cases from the code management tool; perform regression testing on the product installation package at the preset location based on the test scripts and regression test cases in the continuous integration tool; perform new function testing on the product installation package at the preset location based on the test scripts and new function test cases in the continuous integration tool.

具体的,从代码管理工具中可以获取与产品安装包所对应的回归测试用例以及新功能测试用例。基于持续集成工具中的测试脚本以及各回归测试用例,可以对产品安装包进行回归测试。基于持续集成工具中的测试脚本以及各新功能测试用例,可以对产品安装包进行新功能测试。回归测试应用在迭代中的项目,对旧功能进行回归测试,目的是验证新增加的功能是否会对旧功能产生影响。新功能测试是对现有版本产品安装包中新增加的功能进行测试。Specifically, regression test cases and new function test cases corresponding to the product installation package can be obtained from the code management tool. Based on the test scripts and regression test cases in the continuous integration tool, regression testing can be performed on the product installation package. Based on the test scripts and new function test cases in the continuous integration tool, new function testing can be performed on the product installation package. Regression testing is applied to projects in iterations to perform regression testing on old functions in order to verify whether the newly added functions will have an impact on the old functions. New function testing is the testing of newly added functions in the existing version of the product installation package.

为了在预设位置完成对产品安装包的测试,可以将测试用例也部署至预设位置,以快速的对产品安装包进行测试。将测试用例打包并部署至预设位置,进而对产品安装包进行测试的具体步骤如下:In order to complete the test of the product installation package at the preset location, the test case can also be deployed to the preset location to quickly test the product installation package. The specific steps for packaging and deploying the test case to the preset location and then testing the product installation package are as follows:

步骤一、获取代码管理工具中的测试用例,并基于持续集成工具中的打包脚本将测试用例进行打包,以获得测试用例包。Step 1: Obtain the test cases in the code management tool, and package the test cases based on the packaging script in the continuous integration tool to obtain a test case package.

具体的,从代码管理工具中可以获取与产品安装包所对应的测试用例。可以执行打包脚本,将测试用例进行打包处理,以生成测试用例包,用于测试产品安装包。Specifically, the test cases corresponding to the product installation package can be obtained from the code management tool, and the packaging script can be executed to package the test cases to generate a test case package for testing the product installation package.

步骤二、基于持续集成工具中的部署脚本将测试用例包部署至预设位置。Step 2: Deploy the test case package to the preset location based on the deployment script in the continuous integration tool.

具体的,基于持续集成工具中的部署脚本可以将测试用例包发送至与产品安装包相同的预设位置。并且,还可以将测试用例包在预设位置进行解压缩或安装等操作,以得到完整的各个测试用例,便于对产品安装包进行测试。Specifically, based on the deployment script in the continuous integration tool, the test case package can be sent to the same preset location as the product installation package. In addition, the test case package can be decompressed or installed at the preset location to obtain complete test cases, which is convenient for testing the product installation package.

步骤三、基于持续集成工具中的测试脚本以及测试用例包中的各测试用例,对预设位置的产品安装包进行测试。Step 3: Based on the test scripts in the continuous integration tool and the test cases in the test case package, test the product installation package at the preset location.

具体的,将预设位置处存放的各测试用例用于产品安装包的测试。基于持续集成工具中的测试脚本以及预设位置的各测试用例,分别对预设位置的产品安装包进行测试。Specifically, each test case stored at the preset location is used for testing the product installation package. Based on the test script in the continuous integration tool and each test case at the preset location, the product installation package at the preset location is tested respectively.

S250、反馈各测试用例的测试进程。S250: Feedback the test progress of each test case.

其中,测试进程可以是各测试用例的完成情况,用于提示研发人员和测试人员产品安装包测试的进度,以及各测试用例所对应的子测试结果。子测试结果可以是与测试用例对应的测试结果。The test progress may be the completion status of each test case, which is used to remind R&D personnel and testers of the progress of the product installation package test, as well as the sub-test results corresponding to each test case. The sub-test results may be the test results corresponding to the test case.

具体的,可以以表格或文档的形式记录对产品安装包进行测试时所使用的全部测试用例,测试状态以及子测试结果。当当前测试用例执行完成后,可以将当前测试用例所对应的状态由未完成修改为已完成,例如:可以是以文字或颜色的形式对测试用例的测试状态进行标注。并且,根据当前测试用例的测试结果更新当前测试用例所对应的子测试结果,如通过或不通过。Specifically, all test cases, test status, and sub-test results used in testing the product installation package can be recorded in the form of a table or document. When the current test case is executed, the status corresponding to the current test case can be changed from unfinished to completed, for example, the test status of the test case can be marked in the form of text or color. In addition, the sub-test results corresponding to the current test case are updated according to the test results of the current test case, such as passed or failed.

示例性的,可以将已完成的测试用例的中通过测试的部分测试用例名称用绿色显示,将未通过测试的部分测试用例名称用红色显示,将未完成的测试用例用黑色显示,以使技术人员能够清楚准确的确定测试进程。Exemplarily, the names of some test cases that passed the test among the completed test cases can be displayed in green, the names of some test cases that failed the test can be displayed in red, and the unfinished test cases can be displayed in black, so that the technicians can clearly and accurately determine the test progress.

可选的,反馈已完成测试用例的标识以及与已完成测试用例的子测试结果;反馈当前测试用例的标识以及未完成测试用例的标识。Optionally, the ID of the completed test case and the sub-test results of the completed test case are fed back; the ID of the current test case and the ID of the unfinished test case are fed back.

其中,测试用例的标识可以是用于区分不同测试用例的标识符,可以是字符串等形式,并且,测试用例的标识与测试用例是一一对应的。The identification of the test case may be an identifier used to distinguish different test cases, and may be in the form of a string or the like, and the identification of the test case corresponds one-to-one to the test case.

具体的,可以将已完成测试的测试用例的标识以及子测试结果进行反馈,并反馈当前测试用例的标识以及未完成测试用例的标识。上述内容可以反馈至研发人员和测试人员的终端设备上,以使研发人员和测试人员能够及时获取当前的测试进程。当某一测试用例的子测试结果为不通过时,研发人员可以针对产品安装包中与该不通过的测试用例相对应的部分进行修正,测试人员也可以针对该测试用例进行测试用例的检查,以在测试未全部完成时,就能够启动产品代码和测试用例的检查。Specifically, the identification of the test case that has been completed and the sub-test results can be fed back, and the identification of the current test case and the identification of the unfinished test case can be fed back. The above content can be fed back to the terminal devices of the R&D personnel and the testers so that the R&D personnel and the testers can obtain the current test progress in time. When the sub-test result of a test case is failed, the R&D personnel can correct the part of the product installation package that corresponds to the failed test case, and the tester can also check the test case for the test case, so that the product code and test case inspection can be started when the test is not fully completed.

需要说明的是,反馈各测试用例的测试进程的好处在于:能够使测试进程实时化和透明化。现有技术中由于测试部门与研发部门分离的状态,会造成在进行测试时,研发部门只能等待全部测试完成后测试部门反馈的测试报告,研发人员再根据测试报告对产品代码进行修改。实时化和透明化反馈各测试用例的测试进程,可以使研发人员实时根据测试进程对产品代码修改,无需等待全部测试完成后再进行产品代码的修改,提高了研发部门与测试部门的合作效率,进而提高了产品迭代开发的效率。It should be noted that the benefit of providing feedback on the test progress of each test case is that it can make the test process real-time and transparent. In the prior art, due to the separation of the testing department and the R&D department, when conducting tests, the R&D department can only wait for the test report fed back by the testing department after all tests are completed, and the R&D personnel will then modify the product code based on the test report. Real-time and transparent feedback on the test progress of each test case allows R&D personnel to modify the product code in real time according to the test progress, without having to wait until all tests are completed before modifying the product code, thereby improving the cooperation efficiency between the R&D department and the testing department, and thereby improving the efficiency of product iterative development.

S260、基于产品测试结果,将产品安装包发布至与产品测试结果相对应的发布区域。S260. Based on the product test result, publish the product installation package to a publishing area corresponding to the product test result.

当检测到测试完成时,基于各测试用例所对应的子测试结果确定产品测试结果;若产品测试结果为通过,则将产品安装包发布至待下载安装区;若产品测试结果为不通过,则将产品安装包发布至待重新开发区。When the test completion is detected, the product test result is determined based on the sub-test results corresponding to each test case; if the product test result is passed, the product installation package is released to the area to be downloaded and installed; if the product test result is not passed, the product installation package is released to the area to be redeveloped.

具体的,当检测到测试完成时,可以获取各测试用例所对应的子测试结果,若子测试结果全部为通过,则可以确定产品测试结果为通过;若子测试结果中存在至少一个子测试结果为不通过,则可以确定产品测试结果为不通过。还可以是若通过测试的子测试结果超过预设数量或预设比例,则确定产品测试结果为通过,反之,则确定产品测试结果为不通过。若产品测试结果为通过,则将产品安装包发布至待下载安装区,以使运营人员和/或销售人员能够获取产品安装包,对产品安装包进行宣传和销售等。若产品测试结果为不通过,则将产品安装包发布至待重新开发区,以使研发人员对产品安装包进行修改或重新开发。Specifically, when it is detected that the test is completed, the sub-test results corresponding to each test case can be obtained. If all the sub-test results are passed, the product test result can be determined to be passed; if at least one sub-test result among the sub-test results is failed, the product test result can be determined to be failed. Alternatively, if the number of sub-test results that pass the test exceeds a preset number or a preset ratio, the product test result is determined to be passed, otherwise, the product test result is determined to be failed. If the product test result is passed, the product installation package is published to the area to be downloaded and installed, so that the operation personnel and/or sales personnel can obtain the product installation package, promote and sell the product installation package, etc. If the product test result is failed, the product installation package is published to the area to be redeveloped, so that the R&D personnel can modify or redevelop the product installation package.

本发明实施例的技术方案,通过当检测到代码管理工具中的各分支产品代码提交完成时,基于代码管理工具合并各分支产品代码,并将合并后的代码作为产品代码,可以将多个开发人员开发的程序代码进行自动整合;获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将产品代码进行打包,以获得产品安装包;基于持续集成工具中的部署脚本将产品安装包部署至预设位置,以便于对产品安装包进行后续测试;基于持续集成工具中的测试脚本以及从代码管理工具中获取的测试用例,对预设位置的产品安装包进行测试;反馈各测试用例的测试进程,以使测试过程透明化和实时化;基于产品测试结果,将所述产品安装包发布至与产品测试结果相对应的发布区域,解决了软件开发各部门相互独立工作,沟通成本高的问题,实现了开发和测试的持续集成的效果,提高了软件开发迭代的速度。The technical solution of the embodiment of the present invention can automatically integrate program codes developed by multiple developers by merging the product codes of each branch based on the code management tool when it is detected that the submission of each branch product code in the code management tool is completed, and using the merged code as the product code; obtaining the product code in the code management tool, and packaging the product code based on the packaging script in the continuous integration tool to obtain a product installation package; deploying the product installation package to a preset location based on the deployment script in the continuous integration tool to facilitate subsequent testing of the product installation package; testing the product installation package at the preset location based on the test script in the continuous integration tool and the test cases obtained from the code management tool; feeding back the test progress of each test case to make the test process transparent and real-time; based on the product test results, publishing the product installation package to the publishing area corresponding to the product test results, thereby solving the problem of independent work of various software development departments and high communication costs, achieving the effect of continuous integration of development and testing, and improving the speed of software development iterations.

实施例三Embodiment 3

图3为本发明实施例三所提供的一种软件开发过程的持续集成方法的示意图,其中,与上述各实施例相同或相应的术语的解释在此不再赘述。FIG3 is a schematic diagram of a continuous integration method for a software development process provided by a third embodiment of the present invention, wherein explanations of terms identical or corresponding to those in the above embodiments are not repeated here.

如图3所示,软件开发过程的持续集成方法如下:As shown in Figure 3, the continuous integration method of the software development process is as follows:

各开发人员可以将开发的代码上传至代码托管平台(代码管理工具)中与代码相对应的分支(develop分支)中。其中,代码托管平台可以是git/svn的平台。当检测到各develop分支中的代码上传完成后,可以对各develop分支中的代码进行合并(Merge操作),并将合并后的代码存储至主分支(master分支)中。Each developer can upload the developed code to the branch (develop branch) corresponding to the code in the code hosting platform (code management tool). The code hosting platform can be a git/svn platform. When it is detected that the code in each develop branch has been uploaded, the code in each develop branch can be merged (Merge operation) and the merged code can be stored in the main branch (master branch).

获取master分支中的代码,并发送至jenkins(持续集成工具)中预先构建的打包平台,以对代码构建打包,得到产品安装包(测试包)。对产品安装包进行回归测试,即自动化测试,若回归测试不通过,则将回归测试结果反馈至开发人员;若回归测试通过,则对产品安装包进行新功能测试,若新功能测试不通过,则将新功能测试结果反馈至开发人员;若新功能测试通过,则将产品安装包存储至测试区的产品版本镜像库中,并生成测试报告。并且,将产品安装包设置为正式包,发布至产品发布区中,以供客户使用。客户在使用的过程中,可以反馈产品的相关问题,当接收到客户反馈的技术问题时,可以将技术问题发送至开发人员的终端设备上,以使开发人员可以进行产品的持续迭代开发。Get the code in the master branch and send it to the pre-built packaging platform in Jenkins (continuous integration tool) to package the code and obtain the product installation package (test package). Perform regression testing, i.e., automated testing, on the product installation package. If the regression test fails, the regression test results are fed back to the developer; if the regression test passes, perform new function testing on the product installation package. If the new function test fails, the new function test results are fed back to the developer; if the new function test passes, the product installation package is stored in the product version image library in the test area, and a test report is generated. In addition, the product installation package is set as a formal package and released to the product release area for customer use. During use, customers can feedback product-related issues. When receiving technical issues reported by customers, the technical issues can be sent to the developer's terminal device so that the developer can carry out continuous iterative development of the product.

图4为本发明实施例三所提供的另一种软件开发过程的持续集成方法的示意图,其中,与上述各实施例相同或相应的术语的解释在此不再赘述。FIG4 is a schematic diagram of another continuous integration method for a software development process provided by Embodiment 3 of the present invention, wherein explanations of terms identical or corresponding to those in the above embodiments are not repeated here.

如图4所示,软件开发过程的持续集成方法如下:As shown in Figure 4, the continuous integration method of the software development process is as follows:

测试人员可以将各测试用例上传至代码托管平台中,开发人员可以将开发的代码上传至代码托管平台中。当检测到各develop分支中的代码上传完成后,可以对各develop分支中的代码进行Merge操作,并将Merge操作的代码存储至master分支中。Testers can upload test cases to the code hosting platform, and developers can upload developed codes to the code hosting platform. When the code in each development branch is uploaded, the code in each development branch can be merged and stored in the master branch.

获取测试部分和开发部分的master分支中的代码,并发送至jenkins中预先构建的打包平台,以对测试用例以及开发代码构建打包,得到测试用例包和产品安装包。基于jenkins中的部署脚本,可以将测试用例包和产品安装包部署至测试服务器上。在测试服务器上,可以对产品安装包进行回归测试,回归测试可以包括功能测试以及性能测试等。在测试服务器上,还可以对产品安装包进行新功能测试,基于测试人员针对新功能编写的新功能测试用例对产品测试包进行迭代测试,并且可以将新功能测试的测试用例反馈至代码托管平台中的测试部分,将其作为下一次测试时的回归测试用例,达到用例积累的目的。Get the code in the master branch of the test part and the development part, and send it to the pre-built packaging platform in Jenkins to build and package the test cases and development code to obtain the test case package and product installation package. Based on the deployment script in Jenkins, the test case package and product installation package can be deployed to the test server. On the test server, the product installation package can be regression tested, and the regression test can include functional testing and performance testing. On the test server, the product installation package can also be tested for new functions. The product test package can be iteratively tested based on the new function test cases written by the testers for the new functions, and the test cases of the new function test can be fed back to the test part in the code hosting platform, and used as regression test cases for the next test, so as to achieve the purpose of case accumulation.

当测试完成时,根据测试结果生成测试报告,并将测试报告发送至测试平台的版本测试报告模块中。若测试结果为测试通过,则可以将产品安装包发送至测试平台的产品版本镜像库中,以作备份使用,并提示测试结束。若测试结果为测试不通过,则可以将测试结果反馈至开发人员的终端设备,并提示测试结束。When the test is completed, a test report is generated based on the test results and sent to the version test report module of the test platform. If the test result is that the test passes, the product installation package can be sent to the product version image library of the test platform for backup, and the test ends. If the test result is that the test fails, the test result can be fed back to the developer's terminal device, and the test ends.

测试平台还可以具有用户管理、项目管理、任务管理以及底层接口服务等功能。可以基于测试平台对产品测试的过程,资源,人员以及服务器等进行分配,还可以基于测试平台向测试服务器下发测试任务等。The test platform can also have functions such as user management, project management, task management, and underlying interface services. The process, resources, personnel, and servers of product testing can be allocated based on the test platform, and test tasks can be issued to the test server based on the test platform.

本发明实施例通过代码托管工具和持续集成工具减少了软件开发生命周期中各环节中的人员参与,可以实现软件开发生命周期的全自动化管理,提高软件的迭代速度和交付质量。The embodiment of the present invention reduces the involvement of personnel in various links in the software development life cycle through code hosting tools and continuous integration tools, can achieve fully automated management of the software development life cycle, and improve the iteration speed and delivery quality of the software.

本实施例的技术方案,通过开发人员在代码托管平台中提交产品代码,测试人员在代码托管平台中提交测试用例,当检测到产品代码提交完成时,触发合并代码的操作,并触发jenkins中的构建打包任务,进而,依次触发jenkins中的自动安装部署任务以及自动测试任务,根据自动测试任务生成测试报告并将产品安装包发布到发布区,解决了软件开发各部门相互独立工作,沟通成本高的问题,实现了开发和测试的持续集成的效果,提高了软件开发迭代的速度。The technical solution of this embodiment is that developers submit product codes in the code hosting platform, and testers submit test cases in the code hosting platform. When it is detected that the product code submission is completed, the code merging operation is triggered, and the build packaging task in Jenkins is triggered, and then the automatic installation and deployment task and the automatic testing task in Jenkins are triggered in sequence. A test report is generated according to the automatic testing task and the product installation package is published to the release area, which solves the problem that each software development department works independently and has high communication costs, realizes the effect of continuous integration of development and testing, and improves the speed of software development iteration.

实施例四Embodiment 4

图5为本发明实施例四所提供的一种软件开发过程的持续集成装置的结构示意图,该装置包括:安装包获取模块510,安装包部署模块520,产品测试模块530以及产品发布模块540。5 is a schematic diagram of the structure of a continuous integration device for a software development process provided in a fourth embodiment of the present invention. The device includes: an installation package acquisition module 510 , an installation package deployment module 520 , a product testing module 530 and a product publishing module 540 .

其中,安装包获取模块510,用于获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将所述产品代码进行打包,以获得产品安装包;安装包部署模块520,用于基于所述持续集成工具中的部署脚本将所述产品安装包部署至预设位置;产品测试模块530,用于基于所述持续集成工具中的测试脚本以及从所述代码管理工具中获取的测试用例,对所述预设位置的所述产品安装包进行测试;产品发布模块540,用于基于产品测试结果,将所述产品安装包发布至与所述产品测试结果相对应的发布区域。Among them, the installation package acquisition module 510 is used to obtain the product code in the code management tool, and package the product code based on the packaging script in the continuous integration tool to obtain the product installation package; the installation package deployment module 520 is used to deploy the product installation package to a preset location based on the deployment script in the continuous integration tool; the product testing module 530 is used to test the product installation package at the preset location based on the test script in the continuous integration tool and the test cases obtained from the code management tool; the product publishing module 540 is used to publish the product installation package to a publishing area corresponding to the product test result based on the product test result.

可选的,所述装置还包括:分支产品代码合并模块,用于当检测到代码管理工具中的各分支产品代码提交完成时,基于所述代码管理工具合并所述各分支产品代码,并将合并后的代码作为产品代码。Optionally, the device further includes: a branch product code merging module, which is used to merge the branch product codes based on the code management tool when it is detected that the submission of each branch product code in the code management tool is completed, and use the merged code as the product code.

可选的,安装包部署模块520,还用于基于所述持续集成工具中的部署脚本将所述产品安装包部署至测试服务器;执行所述产品安装包,将所述产品安装至所述测试服务器。Optionally, the installation package deployment module 520 is further used to deploy the product installation package to the test server based on the deployment script in the continuous integration tool; execute the product installation package to install the product to the test server.

可选的,产品测试模块530,还用于从所述代码管理工具中获取回归测试用例以及新功能测试用例;基于所述持续集成工具中的测试脚本以及所述回归测试用例,对所述预设位置的所述产品安装包进行回归测试;基于所述持续集成工具中的测试脚本以及所述新功能测试用例,对所述预设位置的所述产品安装包进行新功能测试。Optionally, the product testing module 530 is also used to obtain regression test cases and new function test cases from the code management tool; based on the test scripts in the continuous integration tool and the regression test cases, perform regression testing on the product installation package at the preset location; based on the test scripts in the continuous integration tool and the new function test cases, perform new function testing on the product installation package at the preset location.

可选的,产品测试模块530,还用于获取所述代码管理工具中的测试用例,并基于所述持续集成工具中的打包脚本将所述测试用例进行打包,以获得测试用例包;基于所述持续集成工具中的部署脚本将所述测试用例包部署至预设位置;基于所述持续集成工具中的测试脚本以及所述测试用例包中的各测试用例,对所述预设位置的产品安装包进行测试。Optionally, the product testing module 530 is also used to obtain test cases in the code management tool, and package the test cases based on the packaging script in the continuous integration tool to obtain a test case package; deploy the test case package to a preset location based on the deployment script in the continuous integration tool; and test the product installation package at the preset location based on the test script in the continuous integration tool and each test case in the test case package.

可选的,所述装置还包括:测试进程反馈模块,用于反馈各测试用例的测试进程。Optionally, the device further includes: a test progress feedback module, configured to provide feedback on the test progress of each test case.

可选的,产品发布模块540,还用于当检测到测试完成时,基于各测试用例所对应的子测试结果确定产品测试结果;若所述产品测试结果为通过,则将所述产品安装包发布至待下载安装区;若所述产品测试结果为不通过,则将所述产品安装包发布至待重新开发区。Optionally, the product release module 540 is also used to determine the product test result based on the sub-test results corresponding to each test case when the test completion is detected; if the product test result is passed, the product installation package is released to the area to be downloaded and installed; if the product test result is failed, the product installation package is released to the area to be redeveloped.

本发明实施例的技术方案,通过获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将产品代码进行打包,以获得产品安装包;基于持续集成工具中的部署脚本将产品安装包部署至预设位置,以便于对产品安装包进行后续测试;基于持续集成工具中的测试脚本以及从代码管理工具中获取的测试用例,对预设位置的产品安装包进行测试;基于产品测试结果,将所述产品安装包发布至与产品测试结果相对应的发布区域,解决了软件开发各部门相互独立工作,沟通成本高的问题,实现了开发和测试的持续集成的效果,提高了软件开发迭代的速度。The technical solution of the embodiment of the present invention obtains the product code in the code management tool, and packages the product code based on the packaging script in the continuous integration tool to obtain the product installation package; deploys the product installation package to a preset location based on the deployment script in the continuous integration tool to facilitate subsequent testing of the product installation package; tests the product installation package at the preset location based on the test script in the continuous integration tool and the test cases obtained from the code management tool; and publishes the product installation package to a publishing area corresponding to the product test result based on the product test result, thereby solving the problem that various software development departments work independently and have high communication costs, achieving the effect of continuous integration of development and testing, and improving the speed of software development iteration.

本发明实施例所提供的软件开发过程的持续集成装置可执行本发明任意实施例所提供的软件开发过程的持续集成方法,具备执行方法相应的功能模块和有益效果。The continuous integration device for software development process provided by the embodiment of the present invention can execute the continuous integration method for software development process provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the embodiments of the present invention.

实施例五Embodiment 5

图6为本发明实施例五所提供的一种电子设备的结构示意图。图6示出了适于用来实现本发明实施例实施方式的示例性电子设备60的框图。图6显示的电子设备60仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。FIG6 is a schematic diagram of the structure of an electronic device provided by Embodiment 5 of the present invention. FIG6 shows a block diagram of an exemplary electronic device 60 suitable for implementing the implementation of the embodiment of the present invention. The electronic device 60 shown in FIG6 is only an example and should not bring any limitation to the functions and scope of use of the embodiment of the present invention.

如图6所示,电子设备60以通用计算设备的形式表现。电子设备60的组件可以包括但不限于:一个或者多个处理器或者处理单元601,系统存储器602,连接不同系统组件(包括系统存储器602和处理单元601)的总线603。As shown in Fig. 6, electronic device 60 is in the form of a general computing device. Components of electronic device 60 may include but are not limited to: one or more processors or processing units 601, system memory 602, and bus 603 connecting different system components (including system memory 602 and processing unit 601).

总线603表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。Bus 603 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or a local bus using any of a variety of bus architectures. For example, these architectures include but are not limited to Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MAC) bus, Enhanced ISA bus, Video Electronics Standards Association (VESA) local bus and Peripheral Component Interconnect (PCI) bus.

电子设备60典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备60访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。The electronic device 60 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the electronic device 60, including volatile and non-volatile media, removable and non-removable media.

系统存储器602可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)604和/或高速缓存存储器605。电子设备60可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统606可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线603相连。存储器602可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。The system memory 602 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 604 and/or cache memory 605. The electronic device 60 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, the storage system 606 may be used to read and write non-removable, non-volatile magnetic media (not shown in FIG. 6 , commonly referred to as a “hard drive”). Although not shown in FIG. 6 , a disk drive for reading and writing a removable non-volatile disk (such as a “floppy disk”) and an optical disk drive for reading and writing a removable non-volatile optical disk (such as a CD-ROM, DVD-ROM or other optical media) may be provided. In these cases, each drive may be connected to the bus 603 via one or more data medium interfaces. The memory 602 may include at least one program product having a set (e.g., at least one) of program modules that are configured to perform the functions of the various embodiments of the present invention.

具有一组(至少一个)程序模块607的程序/实用工具608,可以存储在例如存储器602中,这样的程序模块607包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块607通常执行本发明所描述的实施例中的功能和/或方法。A program/utility 608 having a set (at least one) of program modules 607 may be stored, for example, in the memory 602, such program modules 607 including but not limited to an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. The program modules 607 generally perform the functions and/or methods of the embodiments described herein.

电子设备60也可以与一个或多个外部设备609(例如键盘、指向设备、显示器610等)通信,还可与一个或者多个使得用户能与该电子设备60交互的设备通信,和/或与使得该电子设备60能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口611进行。并且,电子设备60还可以通过网络适配器612与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器612通过总线603与电子设备60的其它模块通信。应当明白,尽管图6中未示出,可以结合电子设备60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。The electronic device 60 may also communicate with one or more external devices 609 (e.g., keyboards, pointing devices, displays 610, etc.), may communicate with one or more devices that enable a user to interact with the electronic device 60, and/or may communicate with any device that enables the electronic device 60 to communicate with one or more other computing devices (e.g., network cards, modems, etc.). Such communication may be performed via an input/output (I/O) interface 611. Furthermore, the electronic device 60 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and/or public networks, such as the Internet) via a network adapter 612. As shown, the network adapter 612 communicates with other modules of the electronic device 60 via a bus 603. It should be understood that, although not shown in FIG. 6 , other hardware and/or software modules may be used in conjunction with the electronic device 60, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.

处理单元601通过运行存储在系统存储器602中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的软件开发过程的持续集成方法。The processing unit 601 executes various functional applications and data processing by running the programs stored in the system memory 602, for example, implementing the continuous integration method of the software development process provided by the embodiment of the present invention.

实施例六Embodiment 6

本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种软件开发过程的持续集成方法,该方法包括:Embodiment 6 of the present invention further provides a storage medium comprising computer executable instructions, wherein the computer executable instructions are used to execute a continuous integration method for a software development process when executed by a computer processor, the method comprising:

获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将所述产品代码进行打包,以获得产品安装包;Obtaining product codes from a code management tool, and packaging the product codes based on a packaging script in a continuous integration tool to obtain a product installation package;

基于所述持续集成工具中的部署脚本将所述产品安装包部署至预设位置;Deploy the product installation package to a preset location based on the deployment script in the continuous integration tool;

基于所述持续集成工具中的测试脚本以及从所述代码管理工具中获取的测试用例,对所述预设位置的所述产品安装包进行测试;Testing the product installation package at the preset location based on the test script in the continuous integration tool and the test cases obtained from the code management tool;

基于产品测试结果,将所述产品安装包发布至与测试结果相对应的发布区域。Based on the product test result, the product installation package is published to a publishing area corresponding to the test result.

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。The computer storage medium of the embodiment of the present invention can adopt any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, - but not limited to - an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, a computer-readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。Computer program code for performing the operation of embodiments of the present invention may be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (9)

1.一种软件开发过程的持续集成方法,其特征在于,包括:1. A continuous integration method for a software development process, comprising: 获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将所述产品代码进行打包,以获得产品安装包;Obtaining product codes from a code management tool, and packaging the product codes based on a packaging script in a continuous integration tool to obtain a product installation package; 基于所述持续集成工具中的部署脚本将所述产品安装包部署至预设位置;Deploy the product installation package to a preset location based on the deployment script in the continuous integration tool; 基于所述持续集成工具中的测试脚本以及从所述代码管理工具中获取的测试用例,对所述预设位置的所述产品安装包进行测试;Testing the product installation package at the preset location based on the test script in the continuous integration tool and the test cases obtained from the code management tool; 基于产品测试结果,将所述产品安装包发布至与所述产品测试结果相对应的发布区域;Based on the product test result, publishing the product installation package to a publishing area corresponding to the product test result; 其中,对所述预设位置的所述产品安装包进行测试之后,还包括:After testing the product installation package at the preset location, the method further includes: 反馈已完成测试用例的标识以及与已完成测试用例的子测试结果;Feedback the identification of completed test cases and the sub-test results of completed test cases; 反馈当前测试用例的标识以及未完成测试用例的标识,子测试结果是与测试用例对应的测试结果,测试用例的标识是用于区分不同测试用例的标识符;Feedback the ID of the current test case and the ID of the unfinished test case. The sub-test result is the test result corresponding to the test case. The ID of the test case is an identifier used to distinguish different test cases. 其中,若预设位置为多个,则不同预设位置的产品安装包分别用于进行不同类型的测试;所述预设位置包括功能测试平台和安全性测试平台。Among them, if there are multiple preset positions, the product installation packages in different preset positions are used to perform different types of tests respectively; the preset positions include a functional testing platform and a security testing platform. 2.根据权利要求1所述的方法,其特征在于,在所述获取代码管理工具中的产品代码之前,还包括:2. The method according to claim 1, characterized in that before obtaining the product code in the code management tool, it also includes: 当检测到代码管理工具中的各分支产品代码提交完成时,基于所述代码管理工具合并所述各分支产品代码,并将合并后的代码作为产品代码。When it is detected that the submission of each branch product code in the code management tool is completed, the branch product codes are merged based on the code management tool, and the merged code is used as the product code. 3.根据权利要求1所述的方法,其特征在于,所述基于所述持续集成工具中的部署脚本将所述产品安装包部署至预设位置,包括:3. The method according to claim 1, wherein deploying the product installation package to a preset location based on a deployment script in the continuous integration tool comprises: 基于所述持续集成工具中的部署脚本将所述产品安装包部署至测试服务器;Deploy the product installation package to the test server based on the deployment script in the continuous integration tool; 执行所述产品安装包,将所述产品安装至所述测试服务器。Execute the product installation package to install the product on the test server. 4.根据权利要求1所述的方法,其特征在于,所述基于所述持续集成工具中的测试脚本以及从所述代码管理工具中获取的测试用例,对所述预设位置的所述产品安装包进行测试,包括:4. The method according to claim 1, characterized in that the testing of the product installation package at the preset location based on the test script in the continuous integration tool and the test case obtained from the code management tool comprises: 从所述代码管理工具中获取回归测试用例以及新功能测试用例;Obtain regression test cases and new function test cases from the code management tool; 基于所述持续集成工具中的测试脚本以及所述回归测试用例,对所述预设位置的所述产品安装包进行回归测试;Based on the test script in the continuous integration tool and the regression test case, performing regression testing on the product installation package at the preset location; 基于所述持续集成工具中的测试脚本以及所述新功能测试用例,对所述预设位置的所述产品安装包进行新功能测试。Based on the test script in the continuous integration tool and the new function test case, a new function test is performed on the product installation package at the preset location. 5.根据权利要求1所述的方法,其特征在于,所述基于所述持续集成工具中的测试脚本以及从所述代码管理工具中获取的测试用例,对所述预设位置的所述产品安装包进行测试,包括:5. The method according to claim 1, characterized in that the testing of the product installation package at the preset location based on the test script in the continuous integration tool and the test case obtained from the code management tool comprises: 获取所述代码管理工具中的测试用例,并基于所述持续集成工具中的打包脚本将所述测试用例进行打包,以获得测试用例包;Acquire the test cases in the code management tool, and package the test cases based on the packaging script in the continuous integration tool to obtain a test case package; 基于所述持续集成工具中的部署脚本将所述测试用例包部署至预设位置;Deploy the test case package to a preset location based on the deployment script in the continuous integration tool; 基于所述持续集成工具中的测试脚本以及所述测试用例包中的各测试用例,对所述预设位置的产品安装包进行测试。The product installation package at the preset location is tested based on the test script in the continuous integration tool and the test cases in the test case package. 6.根据权利要求1所述的方法,其特征在于,所述基于产品测试结果,将所述产品安装包发布至与所述产品测试结果相对应的发布区域,包括:6. The method according to claim 1, wherein the step of publishing the product installation package to a publishing area corresponding to the product test result based on the product test result comprises: 当检测到测试完成时,基于各测试用例所对应的子测试结果确定产品测试结果;When the test is detected to be complete, the product test result is determined based on the sub-test results corresponding to each test case; 若所述产品测试结果为通过,则将所述产品安装包发布至待下载安装区;If the product test result is passed, the product installation package is published to the area to be downloaded and installed; 若所述产品测试结果为不通过,则将所述产品安装包发布至待重新开发区。If the product test result is failure, the product installation package will be released to the area to be redeveloped. 7.一种软件开发过程的持续集成装置,其特征在于,包括:7. A continuous integration device for a software development process, comprising: 安装包获取模块,用于获取代码管理工具中的产品代码,并基于持续集成工具中的打包脚本将所述产品代码进行打包,以获得产品安装包;An installation package acquisition module is used to acquire product codes in a code management tool and package the product codes based on a packaging script in a continuous integration tool to obtain a product installation package; 安装包部署模块,用于基于所述持续集成工具中的部署脚本将所述产品安装包部署至预设位置;An installation package deployment module, used to deploy the product installation package to a preset location based on the deployment script in the continuous integration tool; 产品测试模块,用于基于所述持续集成工具中的测试脚本以及从所述代码管理工具中获取的测试用例,对所述预设位置的所述产品安装包进行测试;A product testing module, configured to test the product installation package at the preset location based on the test script in the continuous integration tool and the test cases obtained from the code management tool; 产品发布模块,用于基于产品测试结果,将所述产品安装包发布至与所述产品测试结果相对应的发布区域;A product publishing module, used to publish the product installation package to a publishing area corresponding to the product test result based on the product test result; 完成测试用例反馈模块,用于反馈已完成测试用例的标识以及与已完成测试用例的子测试结果;A test case completion feedback module is used to provide feedback on the identification of completed test cases and sub-test results of completed test cases; 未完成测试用例反馈模块,用于反馈当前测试用例的标识以及未完成测试用例的标识,子测试结果是与测试用例对应的测试结果,测试用例的标识是用于区分不同测试用例的标识符;The unfinished test case feedback module is used to feedback the identifier of the current test case and the identifier of the unfinished test case. The sub-test result is the test result corresponding to the test case. The identifier of the test case is an identifier used to distinguish different test cases. 其中,若预设位置为多个,则不同预设位置的产品安装包分别用于进行不同类型的测试;所述预设位置包括功能测试平台和安全性测试平台。Among them, if there are multiple preset positions, the product installation packages in different preset positions are used to perform different types of tests respectively; the preset positions include a functional testing platform and a security testing platform. 8.一种电子设备,其特征在于,所述电子设备包括:8. An electronic device, characterized in that the electronic device comprises: 一个或多个处理器;one or more processors; 存储装置,用于存储一个或多个程序,a storage device for storing one or more programs, 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的软件开发过程的持续集成方法。When the one or more programs are executed by the one or more processors, the one or more processors implement the continuous integration method for the software development process as described in any one of claims 1-6. 9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的软件开发过程的持续集成方法。9. A computer-readable storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the continuous integration method for a software development process as described in any one of claims 1 to 6 is implemented.
CN202110050101.XA 2021-01-14 2021-01-14 Continuous integration method, device, electronic device and medium for software development process Active CN112732320B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110050101.XA CN112732320B (en) 2021-01-14 2021-01-14 Continuous integration method, device, electronic device and medium for software development process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110050101.XA CN112732320B (en) 2021-01-14 2021-01-14 Continuous integration method, device, electronic device and medium for software development process

Publications (2)

Publication Number Publication Date
CN112732320A CN112732320A (en) 2021-04-30
CN112732320B true CN112732320B (en) 2024-05-10

Family

ID=75593151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110050101.XA Active CN112732320B (en) 2021-01-14 2021-01-14 Continuous integration method, device, electronic device and medium for software development process

Country Status (1)

Country Link
CN (1) CN112732320B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115481030B (en) * 2022-09-21 2025-09-05 平安银行股份有限公司 Automated testing method, device, terminal and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032625A (en) * 2018-09-04 2018-12-18 山东浪潮云投信息科技有限公司 A kind of software continuous integrated approach and device
CN109766269A (en) * 2018-12-18 2019-05-17 微梦创科网络科技(中国)有限公司 Continuous integration automated testing methods, devices, equipment and media
JP2019125042A (en) * 2018-01-12 2019-07-25 株式会社日立製作所 Test execution order generation device, test execution order generation method and storage medium
CN110362469A (en) * 2019-05-28 2019-10-22 中国平安人寿保险股份有限公司 Based on modular testing use-case control method, device, terminal and storage medium
CN111324522A (en) * 2018-12-13 2020-06-23 北京数聚鑫云信息技术有限公司 Automatic test system and method
CN111897566A (en) * 2020-06-23 2020-11-06 福建升腾资讯有限公司 Software development continuous integration method, device, equipment and medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2577547A (en) * 2018-09-28 2020-04-01 Advanced Risc Mach Ltd Automated test coverage of computing systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019125042A (en) * 2018-01-12 2019-07-25 株式会社日立製作所 Test execution order generation device, test execution order generation method and storage medium
CN109032625A (en) * 2018-09-04 2018-12-18 山东浪潮云投信息科技有限公司 A kind of software continuous integrated approach and device
CN111324522A (en) * 2018-12-13 2020-06-23 北京数聚鑫云信息技术有限公司 Automatic test system and method
CN109766269A (en) * 2018-12-18 2019-05-17 微梦创科网络科技(中国)有限公司 Continuous integration automated testing methods, devices, equipment and media
CN110362469A (en) * 2019-05-28 2019-10-22 中国平安人寿保险股份有限公司 Based on modular testing use-case control method, device, terminal and storage medium
CN111897566A (en) * 2020-06-23 2020-11-06 福建升腾资讯有限公司 Software development continuous integration method, device, equipment and medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
软件测试用例执行优化研究;王吉茂 等;计算机工程与设计;20131216;第34卷(第12期);第4242-4246段 *

Also Published As

Publication number Publication date
CN112732320A (en) 2021-04-30

Similar Documents

Publication Publication Date Title
US9135150B2 (en) Automated execution of functional test scripts on a remote system within a unit testing framework
CN113760704B (en) Web UI testing method, device, equipment and storage medium
US8640096B2 (en) Configuration of componentized software applications
CN111651366A (en) SDK testing method, device, equipment and storage medium
US9411711B2 (en) Adopting an existing automation script to a new framework
CN111488136A (en) Continuous integration and continuous delivery method, system, device and storage medium
US20060080638A1 (en) Automated multi-platform build and test environment for software application development
US20130159994A1 (en) Application runtime expert for deployment of an application on multiple computer systems
CN114115838B (en) A data interaction method and system based on distributed components and cloud platform
CN115576539A (en) Continuous integration method, device, equipment and medium of software data
CN111488275B (en) UI (user interface) automatic testing method and device, storage medium and electronic equipment
CN109977012A (en) Joint debugging test method, device, equipment and the computer readable storage medium of system
CN115185570A (en) JIRA system-based task flow processing method, system, device, medium, and computer program product
CN114647572A (en) Method and system for software application component testing
CN114745313A (en) Terminal remote testing method, apparatus, electronic device and readable medium
CN112732320B (en) Continuous integration method, device, electronic device and medium for software development process
CN113392002A (en) Test system construction method, device, equipment and storage medium
CN112527312B (en) Test method and test device for embedded system
CN113986263A (en) Code automation test method, device, electronic equipment and storage medium
CN114253600A (en) Feature comparison method and device based on shadow system and electronic equipment
CN117435503A (en) Test tool generation method, test device, test equipment and test medium
CN114416537A (en) Unit testing method, server, client and storage medium
CN115145826A (en) A full-process automated testing method and system
CN114237574A (en) Financial transaction production management system, method, apparatus, medium, and program product
CN114564213A (en) Pre-installed software deployment method, system, terminal and storage medium

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Continuous integration methods, devices, electronic equipment, and media for the software development process

Granted publication date: 20240510

Pledgee: Ping An Bank Ltd. Beijing branch

Pledgor: RUN TECHNOLOGIES Co.,Ltd. BEIJING

Registration number: Y2025980030334