A software testing environment management system and method

By designing a software test environment management system, the automated creation and maintenance of the test environment is solved, and the problems of poor stability of the test environment, high maintenance costs and time-consuming manual synchronous updates in the existing technology are solved, and the testing efficiency and environmental stability are improved.

CN113609005BActive Publication Date: 2025-02-07ZHEJIANG GEELY HLDG GRP CO LTD +1
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202110812425.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-07-19
Publication Date
2025-02-07
Estimated Expiration
2041-07-19

AI Technical Summary

Technical Problem

The prior art has problems such as poor stability, high maintenance costs and time-consuming and labor-consuming in the management of software testing environments.

Method used

Design a software testing environment management system, including test environment management module, application management module, release module and environment synchronization module, to automatically create and maintain the test environment, and automatically synchronize multiple sets of test environments.

Benefits of technology

By automatically creating and maintaining test environments, the stability and efficiency of the test environment are improved, maintenance costs are reduced, and errors and time-consuming of manually synchronized updates are reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113609005B_ABST
    Figure CN113609005B_ABST
Patent Text Reader

Abstract

The present application relates to a software testing environment management system and method, the system creates a test environment according to the test requirements of the application to be tested through a test environment management module; the test environment includes a hardware environment and a software environment; the software environment includes a container space; the initial application information of the application to be tested is converted into containerized application information through an application management module; the containerized application information includes application description information and application code information; the release module automatically compiles according to the application description information and application code information, and deploys the compiled application to be tested into the container space to implement the test of the application to be tested; if there are multiple test environments for the application to be tested, the multiple test environments are synchronously managed through an environment synchronization module. In this way, the automatic creation and maintenance of the test environment can be realized, and the stability of the test environment can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of software testing technology, and in particular to a software testing environment management system and method. Background Art

[0002] Software testing describes a process used to facilitate the identification of the correctness, integrity, security and quality of software. The classic definition of software testing is: the process of operating a program under specified conditions to discover program errors, measure software quality, and evaluate whether it meets design requirements.

[0003] The test environment refers to the computer hardware, software, network equipment, and historical data required to complete software testing. The test environment can be roughly divided into hardware environment and software environment. The hardware environment includes the PC, server, equipment, network cable, distributor and other hardware equipment required for testing; the software environment includes database, operating system, tested software, coexisting software, etc.; under special conditions, the network environment must also be considered, such as network bandwidth, IP address settings, etc.

[0004] During the testing phase, different types of testing work such as functional testing, performance testing, security testing, and automated testing need to be carried out simultaneously. In order to avoid interference between the various tasks, it is necessary to build multiple different test environments based on the same set of program codes and databases. Whether the test environment is stable or controllable will affect the testing effect of the software. An unstable test environment will directly affect the testing efficiency and even cause the test to be terminated.

[0005] At present, there are the following difficulties in managing the test environment: 1. Due to the high load of the test environment machine, bugs in the test code, configuration errors, etc., the test environment is unstable and needs to be reduced or discovered in a timely manner. 2. It is very costly to maintain multiple test environments, and maintenance must be done in an automated way. 3. Although a test activity is only performed on one environment, the latest code and configuration must be updated to other environments in a timely manner. This synchronization behavior is time-consuming and labor-intensive and prone to errors if handled manually, and an automated mechanism is needed.

[0006] Therefore, a software testing environment management system and method must be designed to solve these problems. Summary of the invention

[0007] The embodiments of the present application provide a software testing environment management system and method, which can realize the automated creation and maintenance of the testing environment and improve the stability of the testing environment.

[0008] On the one hand, an embodiment of the present application provides a software testing environment management system, including:

[0009] The test environment management module is used to create a test environment according to the test requirements of the application to be tested; the test environment includes the hardware environment and the software environment; the software environment includes the container space;

[0010] An application management module, used to convert the initial application information of the application to be tested into containerized application information; the containerized application information includes application description information and application code information;

[0011] A publishing module is used to automatically compile the application description information and the application code information, and deploy the compiled application to be tested into the container space to implement testing of the application to be tested;

[0012] The environment synchronization module is used to synchronize and manage multiple test environments if there are multiple test environments for the application to be tested.

[0013] Optionally, a data monitoring module is also included;

[0014] The data monitoring module is used to monitor the operation data of the server, the attribute data of the application to be tested currently running on the server, and the operation data of the intermediate device.

[0015] Optionally, an alarm module is also included; the alarm module is connected to the data monitoring module;

[0016] The alarm module is used to issue an alarm based on the abnormal data sent by the data monitoring module and send an alarm notification message to the terminal.

[0017] Optionally, it also includes a data storage module;

[0018] The data storage module is used to create a storage path and store the test data generated during the test process in the storage path; the test data includes the test log.

[0019] Optionally, the environment synchronization module includes a comparison submodule and an update submodule;

[0020] A comparison submodule is used to compare the current test environment in the multiple test environments with the test environment to be updated in the multiple test environments based on the preset comparison rules in the comparison tool to obtain a comparison result; the comparison result includes application difference information and configuration difference information;

[0021] The update submodule is used to update the test environment to be updated based on the application difference information and the configuration difference information.

[0022] Optionally, the software environment includes a front-end page testing environment;

[0023] The test environment management module is also used to generate subdomains that support wildcard domain names and install and configure reverse proxy servers according to the front-end test requirements of the application to be tested.

[0024] On the other hand, an embodiment of the present application provides a software testing environment management method, including:

[0025] Create a test environment based on the test requirements of the application to be tested; the test environment includes the hardware environment and the software environment; the software environment includes the container space;

[0026] Converting the initial application information of the application to be tested into containerized application information; the containerized application information includes application description information and application code information;

[0027] Automatically compile the application description information and the application code information, and deploy the compiled application to be tested into the container space to test the application to be tested;

[0028] If the application to be tested has multiple test environments, manage the multiple test environments synchronously.

[0029] Optionally, before creating a test environment according to the test requirements of the application to be tested, the method further includes:

[0030] Monitor the running data of the server, the attribute data of the application to be tested currently running on the server, and the running data of the intermediate device.

[0031] Optionally, the operation data of the server includes at least one of a server address, disk space information, memory usage information, and central processing unit usage information;

[0032] The attribute data of the application to be tested includes at least one of the application name, application version information, and current occupied memory information;

[0033] The intermediate device includes at least one of a database, a reverse proxy server and a message middleware.

[0034] Optionally, the method further includes:

[0035] Create a storage path and store the test data generated during the test process in the storage path; the test data includes the test log.

[0036] The software testing environment management system and method provided by the embodiments of the present application have the following beneficial effects:

[0037] The test environment management module is used to create a test environment according to the test requirements of the application to be tested; the test environment includes the hardware environment and the software environment; the software environment includes the container space; the initial application information of the application to be tested is converted into containerized application information through the application management module; the containerized application information includes application description information and application code information; the release module is used to automatically compile the application description information and application code information, and the compiled application to be tested is deployed to the container space to implement the test of the application to be tested; if there are multiple test environments for the application to be tested, the multiple test environments are synchronously managed through the environment synchronization module. In this way, the automatic creation and maintenance of the test environment can be realized, and the stability of the test environment can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0039] Figure 1 It is a structural diagram of a software testing environment management system provided by an embodiment of the present application;

[0040] Figure 2 It is a structural diagram of another software testing environment management system provided by an embodiment of the present application;

[0041] Figure 3 It is a structural diagram of a data monitoring module provided in an embodiment of the present application;

[0042] Figure 4 It is a structural diagram of another software testing environment management system provided by an embodiment of the present application;

[0043] Figure 5 It is a structural diagram of another software testing environment management system provided by an embodiment of the present application;

[0044] Figure 6 It is a structural diagram of an environment synchronization module provided in an embodiment of the present application;

[0045] Figure 7 It is a flowchart of a software testing environment management method provided in an embodiment of the present application. DETAILED DESCRIPTION

[0046] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0047] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or server that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0048] Although there are many test environment monitoring and test environment management tools, these tools are usually designed for rapid application release and are suitable for the management of a single environment. Existing tools do not fully consider the needs of test scenarios, especially the actual scenario of managing multiple test environments, and still cannot meet the actual needs of the test environment.

[0049] In view of the practical difficulties in software testing environment management, the embodiments of the present application provide a software testing environment management system that can realize automatic management and automatic synchronization of the testing environment, save costs, and improve efficiency.

[0050] The following is a specific embodiment of a software testing environment management system of the present application. Figure 1 , Figure 1 : is a structural diagram of a software testing environment management system provided by an embodiment of the present application, the system comprising:

[0051] The test environment management module 101 is used to create a test environment according to the test requirements of the application to be tested; the test environment includes a hardware environment and a software environment; the software environment includes a container space;

[0052] The application management module 102 is used to convert the initial application information of the application to be tested into containerized application information; the containerized application information includes application description information and application code information;

[0053] The publishing module 103 is used to automatically compile the application description information and the application code information, and deploy the compiled application to be tested into the container space to implement the test of the application to be tested;

[0054] The environment synchronization module 104 is used to synchronize and manage multiple test environments if there are multiple test environments for the application to be tested.

[0055] In the embodiment of the present application, firstly, the test environment is automatically created according to the test requirements of the application to be tested through the test environment management module 101, including the hardware environment and the software environment; wherein the software environment includes the container space; in this way, the test environment can be created and copied with one click, so that the environment can be used out of the box, and a new set of test environments can be quickly and automatically created according to different test requirements, which can greatly improve the efficiency of creating the test environment; secondly, compared with the traditional application management mode in the prior art, which can only maintain the initial application information and is not suitable for containerized management, the present application converts the initial application information of the application to be tested into containerized application information through the application management module 102; the containerized application information includes application description information and application code information; in this way, multiple applications to be tested can be managed. The test application is centrally managed, which is suitable for enterprise-level batch and standardized container application management; secondly, the release module 103 automatically compiles according to the application description information and application code information, and deploys the compiled application to be tested to the container space to test the application to be tested, that is, the release module 103 can automatically detect the code, automatically compile and package, and automatically deploy to the container cluster, and subsequently can also automatically check whether the startup is successful, automatically perform monitoring and inspection and other functions; in this way, higher-dimensional automation can be achieved, and the operation efficiency is higher and simpler; secondly, if there are multiple test environments for the application to be tested, the multiple test environments can be synchronously managed through the environment synchronization module 104, so that the purpose of maintaining multiple environments at low cost can be achieved.

[0056] Kubernetes is a popular container management system, but the use of Kubernetes is too complicated, the learning cost is high for testers, the operation steps are complicated, and it does not meet the needs of rapid deployment. This application hides the underlying details of Kubernetes and abstracts the environment-level operations, which can meet the needs of enterprise-level test environment management and use, and is user-friendly, easy to operate, and has low learning costs.

[0057] In an optional implementation, the containerized application information also includes application service ports, application configuration files, and application storage volumes, and the publishing module 103 relies on the containerized application information to automatically publish and deploy the application level; the publishing module 103 deploys the container space according to the application service port, application configuration file, and application storage volume, and deploys the compiled application to be tested into the container space to implement the test of the application to be tested. In this way, the present application can unify the application image, and there is no need to make an image for each application to be tested. Instead, the application information is automatically downloaded when the container is started, which is more convenient for unified management and upgrading. As long as the tester selects the code branch, the present application system can complete the full process of compilation, deployment, startup, and inspection. That is, by providing quick operations such as turning on Debug and adjusting JVM parameters, the underlying details are encapsulated, so that higher-dimensional automation can be achieved, and the operation efficiency is higher and simpler.

[0058] In an optional implementation, if Figure 2 As shown, the system may further include a data monitoring module 105;

[0059] The data monitoring module 105 is used to monitor the operation data of the server, the attribute data of the application to be tested currently running on the server, and the operation data of the intermediate device.

[0060] In this optional implementation, the data monitoring module 105 can monitor based on the application dimension, and the monitored data is more targeted, which can not only ensure the availability of the test environment, but also expose problems introduced in the software code.

[0061] Specifically, the operation data of the server includes at least one of the server address, disk space information, memory usage information and central processing unit usage information; correspondingly, Figure 3 As shown, the data monitoring module 105 may include a basic monitoring unit 1051, and the basic monitoring unit 1051 is used to: collect the operation data of the server, including the server address (IP address), disk space information, memory usage information and central processing unit (CPU) usage information;

[0062] The attribute data of the application to be tested includes at least one of the application name, application version information and current memory usage information; correspondingly, Figure 3As shown, the data monitoring module 105 also includes an application monitoring unit 1052, which is used to: monitor the attribute data of the application to be tested running on the server, including at least one of the application name, application version information, current memory usage information, and heap memory usage information; through the application monitoring unit, the application to be tested running on the server can be automatically discovered, and the attribute data of the application to be tested can be automatically collected, so that the tester can grasp the application deployment status in real time; at the same time, combined with the alarm function, for the application to be tested with high stability requirements, after the alarm is turned on, if the monitored attribute data is abnormal, an alarm notification can be sent to the subscriber in time;

[0063] The above-mentioned intermediate device includes at least one of a database, a reverse proxy server and a message middleware; correspondingly, Figure 3 As shown, the data monitoring module 105 further includes a middleware monitoring unit 1053, and the middleware monitoring unit 1053 is used to monitor the core functions of at least one middleware including a database, a reverse proxy server and a message middleware.

[0064] The above-mentioned middleware is a type of independent intermediate system software or service program between the operating system and the user application. Among them, the reverse proxy server is located between the user and the target server, but for the user, the reverse proxy server is equivalent to the target server, that is, the user can directly access the reverse proxy server to obtain the resources of the target server. At the same time, the user does not need to know the address of the target server, nor does he need to make any settings on the user side; message middleware is suitable for any system that needs to communicate over the network, and is responsible for establishing a channel for network communication and sending data or files.

[0065] In an optional implementation, if Figure 4 As shown, the system can also have an alarm module 106; wherein the alarm module 106 is connected to the data monitoring module 105;

[0066] The alarm module 106 is used to generate an alarm based on the abnormal data sent by the data monitoring module 105 and send an alarm notification message to the terminal.

[0067] In an optional implementation, if Figure 5 As shown, the system may further include a data storage module 107;

[0068] The data storage module 107 is used to create a storage path and store the test data generated during the test process in the storage path; the test data includes a test log.

[0069] In this optional implementation, the data storage module 107 automatically creates a log storage directory used by the current test environment for unified log management.

[0070] In an optional implementation, when the software environment includes a front-end page test environment, then,

[0071] The test environment management module 101 is also used to generate a subdomain supporting wildcard domain names and install and configure a reverse proxy server according to the front-end test requirements of the application to be tested.

[0072] Specifically, the H5 storage directory used by the front-end page test environment is automatically created through the data storage module 107 to save the front-end H5 files; usually the front-end deployment requires manual application for domain names, installation of Nginx, configuration of Nginx, compilation and deployment of H5 and other operations, which is time-consuming and laborious; and through the test environment management module 101 of the present application, the wildcard domain name mechanism is used to automatically create subdomain names and reverse proxy to specific back-end services or front-end H5, so that the automatic management of domain names can be realized; by automatically creating domain names, automatically creating H5 storage, automatically modifying Nginx configuration, and automatically compiling and deploying, the H5 site environment can be generated with one click.

[0073] In an optional implementation, if Figure 6 As shown, the environment synchronization module 104 includes a comparison submodule 1041 and an update submodule 1042;

[0074] The comparison submodule 1041 is used to compare the current test environment in the multiple test environments with the test environment to be updated in the multiple test environments based on the preset comparison rules in the comparison tool to obtain a comparison result; the comparison result includes application difference information and configuration difference information;

[0075] The updating submodule 1042 is used to update the test environment to be updated based on the application difference information and the configuration difference information.

[0076] Specifically, since it is necessary to create multiple test environments according to different test requirements during the software testing process, although only one set of environments is used for each test behavior, the applications and configurations of other test environments need to be continuously updated to the latest. Therefore, the present application uses a comparison sub-module 1041 to automatically compare the application differences and configuration differences between the test environments, that is, based on the preset comparison rules in the comparison tool, the current test environment in the multiple test environments is compared with the test environment to be updated in the multiple test environments; for example, the current test environment A is compared with the test environment B to be updated through the comparison tool to obtain the application difference information and configuration difference information between the two environments, and then the test environment B to be updated is updated based on the application difference information and configuration difference information, so that the synchronization between multiple test environments is achieved through comparison and update.

[0077] On the other hand, the embodiment of the present application provides a method for managing a software testing environment. The following describes a specific embodiment of the method for managing a software testing environment of the present application. Figure 7 It is a flowchart of a software testing environment management method provided in an embodiment of the present application. This specification provides method operation steps such as the embodiment or flowchart, but may include more or fewer operation steps based on conventional or non-creative labor. The order of steps listed in the embodiment is only one way of executing the steps among many orders, and does not represent the only execution order. When the actual system or server product is executed, it can be executed in the order shown in the embodiment or the figure or in parallel (for example, in a parallel processor or multi-threaded processing environment). Specifically, Figure 7 As shown, the method may include:

[0078] S701: Create a test environment according to the test requirements of the application to be tested; the test environment includes a hardware environment and a software environment; the software environment includes a container space;

[0079] S703: Convert the initial application information of the application to be tested into containerized application information; the containerized application information includes application description information and application code information;

[0080] S705: Automatically compile the application description information and the application code information, and deploy the compiled application to be tested into the container space to implement testing of the application to be tested;

[0081] S707: If the application to be tested has multiple test environments, the multiple test environments are managed synchronously.

[0082] In an optional implementation manner, before the above step S701, the method may further include:

[0083] S700: Monitor the operation data of the server, the attribute data of the application to be tested currently running on the server, and the operation data of the intermediate device.

[0084] In an optional implementation, the operation data of the server includes at least one of a server address, disk space information, memory usage information, and central processing unit usage information;

[0085] The attribute data of the application to be tested includes at least one of the application name, application version information, and current occupied memory information;

[0086] The intermediate device includes at least one of a database, a reverse proxy server and a message middleware.

[0087] In an optional implementation manner, the method may further include:

[0088] S709: Create a storage path, and store the test data generated during the test process in the storage path; the test data includes a test log.

[0089] The method and system embodiments in the embodiments of the present application are based on the same application concept.

[0090] It should be noted that the above-mentioned sequence of the embodiments of the present application is for description only and does not represent the advantages and disadvantages of the embodiments. The above-mentioned specific embodiments of this specification are described. Other embodiments are within the scope of the attached claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0091] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0092] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included in the protection scope of the present application.

Claims

1. A software testing environment management system, characterized in that: include: A data monitoring module is used to monitor the operation data of the server, the attribute data of the application to be tested currently running on the server, and the operation data of the intermediate device; The data monitoring module includes a basic monitoring unit, an application monitoring unit, and a middleware monitoring unit; The basic monitoring unit is used to collect the operation data of the server; the operation data of the server includes at least one of the server address, disk space information, memory occupancy information and central processing unit occupancy information; The application monitoring unit is used to monitor the attribute data of the application to be tested running on the server; The attribute data of the application to be tested includes at least one of application name, application version information and current occupied memory information; The middleware monitoring unit is used to monitor the core functions of the middleware; the middleware includes at least one of a database, a reverse proxy server and a message middleware; A test environment management module, used to create a test environment according to the test requirements of the application to be tested; the test environment includes a hardware environment and a software environment; the software environment includes a container space; An application management module, configured to convert the initial application information of the application to be tested into containerized application information; the containerized application information includes application description information, application code information, application service port, application configuration file and application storage volume; A publishing module, configured to automatically compile according to the application description information and the application code information, deploy the container space according to the application service port, the application configuration file and the application storage volume, and deploy the compiled application to be tested into the container space to implement testing of the application to be tested; An environment synchronization module, used for synchronously managing multiple test environments if the application to be tested has multiple test environments; the environment synchronization module includes a comparison submodule and an update submodule; The comparison submodule is used to compare the current test environment in the multiple test environments with the test environment to be updated in the multiple test environments based on the preset comparison rules in the comparison tool to obtain a comparison result; the comparison result includes application difference information and configuration difference information; The updating submodule is used to update the test environment to be updated based on the application difference information and the configuration difference information.

2. The system according to claim 1, characterized in that It also includes an alarm module; the alarm module is connected to the data monitoring module; The alarm module is used to issue an alarm based on the abnormal data sent by the data monitoring module and send an alarm notification message to the terminal.

3. The system according to claim 1, characterized in that Also included is a data storage module; The data storage module is used to create a storage path and store the test data generated during the test process in the storage path; the test data includes a test log.

4. The system according to claim 1, characterized in that The software environment includes a front-end page testing environment; The test environment management module is also used to generate a subdomain name supporting a wildcard domain name and install and configure a reverse proxy server according to the front-end test requirements of the application to be tested.

5. A software testing environment management method, characterized in that: include: Monitoring the operation data of the server, the attribute data of the application to be tested currently running on the server, and the operation data of the intermediate device; Collect server operation data; The operation data of the server includes at least one of the server address, disk space information, memory usage information and central processing unit usage information; the attribute data of the application to be tested running on the monitoring server; the attribute data of the application to be tested includes at least one of the application name, application version information and current memory usage information; the core functions of the intermediate device are monitored; the intermediate device includes at least one of a database, a reverse proxy server and a message middleware; Creating a test environment according to the test requirements of the application to be tested; the test environment includes a hardware environment and a software environment; the software environment includes a container space; Converting the initial application information of the application to be tested into containerized application information; the containerized application information includes application description information, application code information, application service port, application configuration file and application storage volume; Automatically compile according to the application description information and the application code information, deploy the container space according to the application service port, the application configuration file and the application storage volume, and deploy the compiled application to be tested into the container space to implement testing of the application to be tested; If there are multiple test environments for the application to be tested, the multiple test environments are managed synchronously, and based on the preset comparison rules in the comparison tool, the current test environment in the multiple test environments is compared with the test environment to be updated in the multiple test environments to obtain a comparison result; the comparison result includes application difference information and configuration difference information; based on the application difference information and the configuration difference information, the test environment to be updated is updated.

6. The method according to claim 5, characterized in that The method further comprises: A storage path is created, and the test data generated during the test process is stored in the storage path; the test data includes a test log.

Citation Information

Patent Citations

  • Test environment deployment method and device, computer equipment and storage medium

    CN108763090A

  • Cloud platform-based software development method, cloud platform, device and medium

    CN109240662A

  • Bank large-scale test environment management method and system

    CN109634848A

  • H5 client code setting multi-environment test method and system

    CN110781083A

  • Method and device for updating container configuration

    CN111506358A