Cloud platform-based software testing tool cluster management method and system

By deploying a software testing tool cluster on the cloud platform, the problems of low tool utilization and inconvenient deployment in existing technologies are solved, unified resource management and cost reduction are achieved, and testing efficiency is improved.

CN114003508BActive Publication Date: 2025-10-17CHINA ELECTRIC POWER RESEARCH INSTITUTE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111343058.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-12
Publication Date
2025-10-17
Estimated Expiration
2041-11-12

AI Technical Summary

Technical Problem

In the existing technology, software testing tools have low utilization rates and are inconvenient to deploy and migrate, resulting in high costs and the inability to achieve unified resource management and scheduling, making it difficult to improve parallel testing processing capabilities.

Method used

Adopting a cloud platform-based software testing tool cluster management method, the testing tools are deployed in the cloud in a clustered manner, and services are provided through virtualization and clustering services to achieve unified management and scheduling of resources, improve resource utilization, and reduce testing costs.

Benefits of technology

Through the cluster management method of the cloud platform, the utilization rate of test tools is improved, the test cost is reduced, and the test efficiency and parallel test processing capabilities are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114003508B_ABST
    Figure CN114003508B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of software testing, and discloses a software testing tool cluster management method and system based on a cloud platform; the software testing tool cluster management system based on the cloud platform comprises a business layer, a service layer and a tool layer; the business layer is used for providing a visible operation interface for software testing application and test task process management to a user; the service layer is integrated with a plurality of test services; and the service layer is integrated with a plurality of software testing tools and is used for calling the software testing tools to perform software testing for the corresponding test services. The software testing tool cluster management system based on the cloud platform can virtualize and platformize different kinds of test tools, and a tester can remotely call the tools to perform testing through a unified entrance, so that the utilization rate of the test tools is effectively improved, the use cost of the tools is reduced, and the standardization degree of detection is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of software testing, and particularly relates to a software testing tool cluster management method and system based on a cloud platform. BACKGROUND

[0002] For most information system development and testing teams, several software testing tools are used in the development and testing process. There are many types of testing tools, some of which need to be installed and deployed on a single machine, and some of which need to be deployed on a server for remote access. The installation and deployment operation is complex, and it is difficult to perform multi-task parallel detection. If deployment is performed after virtualization image encapsulation, only the resources are simply packaged and managed, the permissions cannot be controlled, and the data cannot be shared and counted. If each unit purchases multiple testing tools according to the needs and deploys them on each server, the use rate is low, the cost is high, the time and labor cost is increased, and the project investment is increased. The unified management and scheduling of resources cannot be achieved, and the parallel cluster testing effect cannot be achieved.

[0003] With the increasing testing needs, the iterative testing and feedback speed for variable needs needs to be improved. In the case of ensuring the project progress, the testing tool deployment and migration time must be reduced, the parallel testing processing capacity must be improved, and the testing efficiency must be improved. SUMMARY

[0004] The purpose of the present application is to provide a software testing tool cluster management method and system based on a cloud platform, to solve the technical problems of low tool use rate, inconvenient deployment and migration when testing software by using the testing tools in the prior art. The software testing tool cluster management method and system based on a cloud platform deploys the testing tools in a cluster mode on the cloud, provides services to customers in the form of cloud tenants through virtualization and cluster service transformation, can improve the resource use rate, and reduce the testing cost.

[0005] In order to achieve the above purpose, the present application adopts the following technical solutions:

[0006] The software testing tool cluster management system based on a cloud platform comprises a business layer, a service layer and a tool layer.

[0007] The business layer is configured to provide a visible operation interface for software testing application and testing task flow management to a user.

[0008] The service layer integrates a plurality of testing services.

[0009] The service layer integrates a plurality of software testing tools, which are configured to be called by the corresponding testing services for software testing.

[0010] The further improvement of the present application is that the business layer comprises a testing flow management module and a self-service testing service management module.

[0011] The self-service test service management module is used for inputting software test application and test parameters.

[0012] The test flow management module is used for test task flow management; the flow management includes one or more of running, pausing, retesting and test report downloading.

[0013] The further improvement of the present application is that the service layer includes one or more of performance test service, interface test service, function test service, security penetration test service, mobile application test service, code scanning test service and resource pool cloud platform service.

[0014] The further improvement of the present application is that the tool layer includes test tool software and resource virtualization software.

[0015] The further improvement of the present application is that the test tool includes one or more of security penetration test tool, performance test tool, interface test tool, function test tool, code scanning test tool and mobile application test tool.

[0016] The resource virtualization software includes resource pool cloud platform and Docker; the resource pool cloud platform is used for providing test environment required by software test to users and providing running environment required by each test tool for running; the Docker is used for deploying tool software in a container.

[0017] The further improvement of the present application is that the security penetration test tool, performance test tool, interface test tool, function test tool, code scanning test tool and mobile application test tool are software test tools deployed in the cloud.

[0018] The further improvement of the present application is that the test tool includes CS test tool; the CS test tool is carried in a virtual machine or container mode and provides cluster service in a virtual machine or container multi-instance mode.

[0019] The further improvement of the present application is that the test tool includes BS test tool; the BS test tool provides service by itself in a Web service mode and can provide cluster service in a multi-application instance mode through middleware load balancing.

[0020] The software test tool cluster management method based on a cloud platform includes the following steps:

[0021] Step 1: a user newly creates a test project in a self-service test service management module of a business layer.

[0022] Step 2: according to the test item, the corresponding test service type is selected, and the test item information is filled in; according to the selected test service type, the self-service test service management module automatically screens the parameter materials required to be submitted by the test item according to the preset information of the database, and the user fills in the parameter information according to the screened parameter materials;

[0023] Step 3: after filling in the parameter information, the test item request is submitted, and the test item and the test task are created;

[0024] Step 4: the selected test service is assigned to the corresponding test tool cluster to test the materials submitted by the user, and the resource pool platform assigns and builds the test environment required for testing.

[0025] The further improvement of the application is that the application further comprises the following steps:

[0026] Step 5: the user views the test progress of each test item and each test service type through the test process management module, deletes the task when the test item and the test task fail, retests, and downloads the test report fed back by the test tool cluster after testing.

[0027] The further improvement of the application is that the test service type comprises one or more of performance test service, interface test service, function test service, security penetration test service, mobile application test service, code scanning test service and resource pool cloud platform service.

[0028] The test tool comprises one or more of a security penetration test tool, a performance test tool, an interface test tool, a function test tool, a code scanning test tool and a mobile application test tool.

[0029] Compared with the prior art, the application has the following beneficial effects:

[0030] The software test tool cluster management method and system based on the cloud platform can virtualize and platformize different kinds of test tools, and the test personnel can remotely call the tools for testing through a unified entrance, so that the utilization rate of the test tools is effectively improved, the tool use cost is reduced, and the standardization degree of detection is improved. BRIEF DESCRIPTION OF DRAWINGS

[0031] The drawings accompanying the specification of the application form part of the application and serve to provide further understanding of the application, and the illustrative embodiments of the application and the description thereof serve to explain the application, and do not constitute an improper limitation on the application. In the drawings:

[0032] Figure 1 It is a general diagram of the software test tool cluster management architecture based on the cloud platform;

[0033] Figure 2A cloud platform-based software testing tool cluster management system structure schematic diagram of the present application;

[0034] Figure 3 A self-test service management module page schematic diagram;

[0035] Figure 4 A test flow management module page schematic diagram. DETAILED DESCRIPTION

[0036] The present application will be described in detail below with reference to the accompanying drawings and embodiments. It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict.

[0037] The following detailed description is exemplary description, which is intended to provide further detailed description of the present application. Unless otherwise specified, all technical terms used in the present application have the same meaning as generally understood by those skilled in the art. The terms used in the present application are only for the purpose of describing the specific embodiments, and are not intended to limit the exemplary embodiments according to the present application.

[0038] The cloud platform-based software testing tool cluster management method is mainly realized through the testing tool cluster management technology.

[0039] Referring to Figure 1 The core technology involved in the present application is the testing tool cluster management technology. In the cloud computing architecture, it mainly exists in the PaaS layer (Platform-as-a-Service, platform as a service) and the SaaS layer (Software-as-a-Service, software as a service).

[0040] The testing tool cluster management technology mainly realizes the management and scheduling of tool cloudization and clustering at the technical level, provides test services for users, and the core technology includes the clustering technology of CS and BS testing tools. Among them, the CS testing tool is mainly carried in the form of a virtual machine or a container, and provides cluster service in the form of multiple instances of virtual machines or containers; the BS testing tool provides services through a Web service, and multiple application instances can be provided to provide cluster services through middleware load balancing and other ways. Through the above technology, different types of testing tools are virtualized to form an intermediate testing tool cluster service layer, and a unified testing tool cluster is built to provide services for users and test applications. The above testing tool cluster constitutes Figure 1 the PaaS layer testing tool cluster part in the present application.

[0041] For CS type test tool software, the tool software is deployed in a virtual machine or a container, and a virtual machine or a container image template is made according to different test tools. The cluster scheduling center pre-initializes a certain number of virtual machines or image instances of each type of tool as a test execution machine cluster according to the configuration, and each execution machine runs "stateless". When receiving a test task, the cluster scheduling center assigns the test task to an idle execution machine for testing, and uploads the test results to the cloud for the user to check after the test is completed. When the test cluster load is too large, the cluster scheduling center can create new execution machines using templates at any time and add them to the cluster. When an abnormal test node occurs, the abnormal test node can be closed at any time without affecting the operation of the cluster. Test personnel only need to fill in the necessary tool parameters on the web page, and the cluster can simulate the whole process of the test personnel clicking operation through parameter configuration, drive the execution of the tool, and realize automatic testing.

[0042] For BS type test tool software, a plurality of virtual machines are applied in the cloud, BS test tool software is deployed, and a WebService interface is opened. Each set of tools can receive samples and configuration instructions through the interface to realize task creation, sample import, configuration parameter setting, test execution and state tracking, report extraction, and can form a customizable report content through online reading of the report text and text formatting. The tool provides two types of interfaces for users, standard interfaces provide a simple interface based on default configuration for users, and only a few necessary parameter information is required, which is suitable for non-professional test personnel; the professional interface can configure most of the parameter information of the tool through the interface, meet the individual needs of users, and is suitable for professional test personnel. Users combine their own business process requirements to customize the interface through secondary development or integrate the tool into the Devops pipeline, manage and execute the test by calling the background interface service, simplify the professionalism and complexity of the tool, and provide remote automatic test service for users through simple web service.

[0043] The SaaS layer test service center is divided into service categories such as functional automation testing, compatibility testing, performance testing management, code defect detection, mobile application testing management, interface testing service, security penetration testing service, and code scanning test. The test tool cluster formed by the PaaS layer provides interfaces and interfaces for users. After the user applies for the service, only needs to upload the sample through the interface, select the required configuration options, and submit to automatically call the background test tool cluster to carry out the test work, and automatically generate the test report for the user to view and download.

[0044] Embodiment 1

[0045] Please refer to Figures 2 to 4 As shown in the figure, the cloud platform-based software test tool cluster management system provided by the application comprises a business layer, a service layer and a tool layer.

[0046] The business layer is a user-visible operation interface, including a test flow management module and a self-service test service management module; the test flow management module is mainly responsible for the flow of software testing, and the self-service test service management module is the integration of test tools, used for inputting the application and necessary parameters of corresponding software testing. The test flow management module is used for unified management of test application projects submitted by testers and various test tool test tasks, and realizes running, pausing, retesting, and downloading of test reports.

[0047] The service layer includes performance test services, interface test services, function test services, security penetration test services, mobile application test services, code scanning test services, and resource pool cloud platform services. The service layer is integrated with test tools, and virtually provides different types of test services and resource services, provides the use of various test tools, and the export function of reports.

[0048] The tool layer is divided into test tool software and resource virtualization software; the test tool software includes commercial tools, open source tools, and self-developed tools. Specifically, the tool layer includes security penetration test tools, performance test tools, interface test tools, function test tools, code scanning test tools, mobile application test tools, resource pool cloud platforms, and Docker. Among them, the security penetration test tools, performance test tools, interface test tools, function test tools, code scanning test tools, and mobile application test tools are software test tools deployed in the cloud. The resource pool cloud platform is used to provide the test environment required for software testing to users, and to provide the running environment required for each test tool. Docker is used to deploy tool software in a container.

[0049] Among them, the commercial tools generally have limited interfaces, and some functions can be presented in the form of services; the open source tools have relatively complete interfaces, and most functions can be presented in the form of services; the self-developed tools can be integrated with the service layer according to the needs of users, and generally the interfaces can be customized, the interfaces are relatively complete, and all functions can be presented in the form of services.

[0050] The application discloses a software test tool cluster management system based on a cloud platform, and users can perform self-service testing through a self-service test service management module of a business layer and realize management of a business test flow through a test flow management module.

[0051] The application discloses a software test tool cluster management system based on a cloud platform, which realizes single sign-on and unified authentication through a unified portal, integrates services in a service layer, integrates multiple test services into one system, and breaks the boundaries of various systems to provide a unified self-service test service platform for development manufacturers.

[0052] Example 2

[0053] The application provides a cloud platform-based software testing tool cluster management method, which decomposes software testing work into a business layer, a service layer and a tool layer from the perspective of business processes and technical applications of informatization construction, integrates different types of commercial and open source testing tools and forms a clustered service, and displays the service to users in a standardized Web service manner, so that the users can submit a test and upload a sample through simple page operations, select a service type and submit a test, and self-help collect a test report; specifically, the method comprises the following steps:

[0054] Step 1: A user logs in to access the business layer through a unified portal through an account and a password; in a self-help test service management module of the business layer, a test project is newly created;

[0055] Step 2: According to the test project, a corresponding test service type is selected, test project information is filled in, and according to the selected test service type, the self-help test service management module automatically screens parameter materials required to be submitted by the test project according to preset information of a database, and the user fills in parameter information according to the screened parameter materials;

[0056] Step 3: After filling in the parameter information, a test project request is submitted, and a test project and a test task are created;

[0057] Step 4: The selected test service allocates a corresponding test tool cluster to test the materials submitted by the user, and a resource pool platform allocates and builds a test environment required for testing;

[0058] Step 5: The user can view the test progress of each test project and each test service type through a test flow management module, and can run or pause the test project and the test task; when the test project and the test task fail, the task is deleted, retested, and after the test is completed, a test report fed back by the test tool cluster is downloaded.

[0059] In the application, commercial, open source and self-developed software (including CS and BS software tools) are integrated and reconstructed into a cluster service, wherein a single machine test tool unit is used to standardize deployment of single machine test tool software and hardware in a virtual machine or container image mode, a specific number of tool execution machine environments can be dynamically allocated according to test project information, and automatic testing can be performed. The network service tool unit is used to provide services to the outside in a service interface mode, and can be called by a test application.

[0060] Those skilled in the art will appreciate that embodiments of the application can be devised for a method, a system, or a computer program product. Accordingly, the present application can be embodied in the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage devices, etc.) embodying computer readable program code.

[0061] The present application is described in reference to the flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams.

[0062] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams.

[0063] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams.

[0064] Finally, it should be noted that the above-mentioned embodiments are merely intended for describing the technical solutions of the present application, but not for limiting it. Although the present application is described in detail with reference to the above embodiments, those skilled in the field to which the present application pertains should understand that they can make modifications or equivalent replacements to the specific embodiments of the present application without departing from the spirit and scope of the present application, and any modifications or equivalent replacements made to the specific embodiments of the present application without departing from the spirit and scope of the present application shall be included in the protection scope of the claims of the present application.

Claims

1. A cloud-based software testing tool cluster management system, characterized by: include: Business layer, service layer and tool layer; The business layer is used to provide users with a visible operation interface for software testing application and test task process management; The service layer integrates several testing services; The tool layer integrates several software testing tools for corresponding testing services to call and perform software testing; The tool layer includes test tool software and resource virtualization software; The testing tools include one or more of security penetration testing tools, performance testing tools, interface testing tools, functional testing tools, code scanning testing tools and mobile application testing tools; The resource virtualization software includes a resource pool cloud platform and Docker; the resource pool cloud platform is used to provide users with the test environment required for software testing and to provide the operating environment required for the operation of each test tool; the Docker is used to deploy the tool software in a container; The testing tool includes a CS testing tool; the CS testing tool is carried in a virtual machine or container manner, and provides clustered services in a virtual machine or container multi-instance manner; the testing tool includes a BS testing tool; the BS testing tool itself provides services in a Web service manner, and can create multiple application instances to provide clustered services through middleware load balancing.

2. The cloud platform-based software testing tool cluster management system according to claim 1, characterized in that: The business layer includes a test process management module and a self-service test service management module; The self-service testing service management module is used to apply for software testing and input test parameters; The test process management module is used for test task process management; The process management includes one or more of running, pausing, retesting and test report downloading.

3. The cloud platform-based software testing tool cluster management system according to claim 1, characterized in that: The service layer includes one or more of performance testing services, interface testing services, functional testing services, security penetration testing services, mobile application testing services, code scanning testing services and resource pool cloud platform services.

4. The cloud platform-based software testing tool cluster management system according to claim 1, characterized in that: The security penetration testing tools, performance testing tools, interface testing tools, functional testing tools, code scanning testing tools, and mobile application testing tools are software testing tools deployed in the cloud.

5. A software testing tool cluster management method based on a cloud platform, characterized in that: The cloud platform-based software testing tool cluster management system according to any one of claims 1 to 4 comprises the following steps: Step 1: Create a new test project in the self-service test service management module of the business layer; Step 2: Select the corresponding test service type based on the test project and fill in the test project information. Based on the selected test service type, the self-service test service management module automatically selects the parameter materials required for the test project based on the preset information in the database. The user then fills in the parameter information based on the selected parameter materials. Step 3: After filling in the parameter information, submit the test project request to create the test project and test task; Step 4: The selected testing service allocates the corresponding testing tool cluster to test the materials submitted by the user, and the resource pool platform allocates and builds the test environment required for the test.

6. The cloud platform-based software testing tool cluster management method according to claim 5, characterized in that: The following steps are also included: Step 5: The user can view the test progress of each test item and each test service type through the test process management module. When the test item and test task fail, delete the task and retest. After the test is completed, download the test report fed back by the test tool cluster.

7. The cloud platform-based software testing tool cluster management method according to claim 5, characterized in that: The testing service types include one or more of performance testing services, interface testing services, functional testing services, security penetration testing services, mobile application testing services, code scanning testing services, and resource pool cloud platform services; The testing tools include one or more of security penetration testing tools, performance testing tools, interface testing tools, functional testing tools, code scanning testing tools and mobile application testing tools.

Citation Information

Patent Citations

  • Test tool resource management method and system based on cloud platform

    CN109783348A