CN117851257A - Distributed software testing environment construction system based on cloud computing - Google Patents

Distributed software testing environment construction system based on cloud computing Download PDF

Info

Publication number
CN117851257A
CN117851257A CN202410038330.3A CN202410038330A CN117851257A CN 117851257 A CN117851257 A CN 117851257A CN 202410038330 A CN202410038330 A CN 202410038330A CN 117851257 A CN117851257 A CN 117851257A
Authority
CN
China
Prior art keywords
environment
unit
test
module
cloud computing
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.)
Pending
Application number
CN202410038330.3A
Other languages
Chinese (zh)
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.)
Changzhou Institute Of Innovation And Development Nanjing Normal University
Original Assignee
Changzhou Institute Of Innovation And Development Nanjing Normal University
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 Changzhou Institute Of Innovation And Development Nanjing Normal University filed Critical Changzhou Institute Of Innovation And Development Nanjing Normal University
Priority to CN202410038330.3A priority Critical patent/CN117851257A/en
Publication of CN117851257A publication Critical patent/CN117851257A/en
Pending legal-status Critical Current

Links

Abstract

The application relates to the field of environment construction, and provides a distributed software testing environment construction system based on cloud computing, which comprises the following components: the upper computer: monitoring the running state of the equipment; the environment construction module: constructing a simulation environment required by detection software; deployment engine: automatically deploying software and configuration to a target environment; an environment isolation module: isolating the build environment into a plurality of separate environments; a resource allocation module: dynamically allocating and releasing resources according to the requirements; and an automatic detection module: executing the test case under a preset condition, and checking whether the behavior of the software accords with the expectation; and (3) continuously deploying a module: the application is automatically built, tested and deployed when the code is changed. The resource allocation module is used for adjusting, expanding strategies, resource monitoring, priority management and other key components through the algorithm, so that the resource utilization efficiency of the test environment is improved, the system can better adapt to the continuously-changing test requirements, and the accurate and efficient detection result is ensured.

Description

Distributed software testing environment construction system based on cloud computing
Technical Field
The invention relates to the technical field of environment construction, in particular to a distributed software testing environment construction system based on cloud computing.
Background
In the software development process, the testing and evaluation of the software performance are crucial, the construction of a software testing environment is a common method for achieving the aim, the construction of the software testing environment aims at providing a controllable, stable and repeatable environment so as to execute various software testing activities, and the method has crucial significance for ensuring the software quality and effectively developing the testing work.
In modern software development and testing processes, ensuring stable and efficient operation of software performance is critical, and in order to achieve this goal, resources need to be reasonably allocated in a built software testing environment to maintain normal operation of multiple testing environments, however, in an actual testing environment, there is a phenomenon that: part of the detection environment runs for a long time but is not fully utilized, which definitely leads to waste of resources and further reduces the utilization rate of the whole resources.
Disclosure of Invention
Aiming at the defects of the prior art, the invention provides a distributed software testing environment construction system based on cloud computing, which solves the problem that resources are wasted because certain environments can always run and are not fully utilized.
In order to achieve the above purpose, the invention is realized by the following technical scheme: a cloud computing-based distributed software testing environment construction system, comprising:
the upper computer: monitoring the running state of the equipment;
the environment construction module: constructing a simulation environment required by detection software;
deployment engine: automatically deploying software and configuration to a target environment;
an environment isolation module: isolating the build environment into a plurality of separate environments;
a resource allocation module: dynamically allocating and releasing resources according to the requirements;
and an automatic detection module: executing the test case under a preset condition, and checking whether the behavior of the software accords with the expectation;
and (3) continuously deploying a module: automatically constructing, testing and deploying an application program when the code is changed;
an orchestration engine: is responsible for managing and coordinating various components, services or resources to ensure that they function properly in a test environment;
backup recovery module: the backup software tests parameters and can restore data through backup after emergency.
Preferably, the environment construction module includes: a tool integration unit that defines and manages an infrastructure in a code manner; a virtual network element simulating a virtual network scenario, such as a high-latency and unstable network environment; the prediction analysis unit is used for carrying out real-time monitoring and problem prediction on the environmental performance by utilizing an algorithm, and identifying and solving potential performance bottlenecks in advance; and the vulnerability repairing unit integrates vulnerability scanning and repairing tools and automatically detects and repairs security vulnerabilities possibly existing.
Preferably, the environmental isolation module includes: a containerized isolation unit, based on isolation of container technology, ensuring that each test environment is run in a separate container; the network isolation unit is used for dividing the virtual network; the environment reduction unit automatically reduces the test environment to an initial state before each test operation; and the behavior isolation unit is used for realizing parallel execution of the test cases.
Preferably, the resource allocation module includes: the algorithm adjusting unit is used for analyzing the test requirements, the historical data and the performance indexes by using a machine learning algorithm and intelligently distributing resources to meet the requirements of different test scenes; the expansion strategy unit is used for implementing an automatic expansion strategy and dynamically adjusting the scale of the test environment according to the change of load and demand; the resource monitoring unit is used for monitoring the resources in real time; the priority management unit is used for distributing priorities to different detection tasks and ensuring that the key tasks are processed preferentially under the condition of limited resources.
Preferably, the automatic detection module includes: an abnormal model is built, a model is built for abnormal data, and the false alarm rate is reduced; the risk driving unit automatically selects a test case according to the changed risk assessment so as to test the high risk area preferentially; the abnormal data analysis unit is used for analyzing the conditions of errors, data loss or damage and the like in data transmission of the data stream; and an automatic rollback unit automatically performing a rollback operation to restore the system to a stable state when a serious problem is detected.
Preferably, the continuous deployment module includes: the server-free deployment unit provides the capability of automatically expanding and managing resources through service functions and flexibly deploys according to requirements; a performance detection unit for detecting the performance of the deployed system; and (3) an intelligent rollback strategy, wherein if the performance of the system is abnormal, the system automatically rolls back to a previous stable version.
Preferably, the backup recovery module includes: an incremental backup unit for backing up only the changed part; multi-place backup, namely backing up data to data centers in different geographic positions; and cloud storage, integrating cloud storage service, so that backup data can be stored in the cloud.
Preferably, the predictive analysis unit uses an algorithm as an ARIMA model, and the specific mathematical model is:
[\phi(B)\DeltaY_t=\theta(B)\varepsilon_t]
where "\phi (B)) and" \theta (B)) are polynomial functions representing autoregressive and moving average, respectively, and (B) is a backward shift operator.
Preferably, the algorithm used in the algorithm adjustment unit is a random forest, and the specific mathematical model is:
[\hat{y}_i=\text{majorityvoting}(\text{Tree}_1(X_i),\text{Tree}_2(X_i),\ldots,\text{Tree}_n(X_i))]
where "\hat { y } -i) is the predicted value of the random forest to the sample (X_i).
Preferably, the resource monitoring unit is connected with the priority management unit in a negative feedback manner.
The invention provides a distributed software testing environment construction system based on cloud computing. The beneficial effects are as follows:
1. according to the invention, the resource utilization efficiency of the test environment is improved through key components such as algorithm adjustment, telescopic strategy, resource monitoring and priority management by the resource allocation module, and the system can better adapt to the continuously-changing test requirements, so that the accurate and efficient detection result is ensured.
2. According to the invention, through the key functions of the automatic detection module, such as abnormal model establishment, risk driving test, abnormal data analysis, automatic rollback and the like, various problems can be found and processed in time in the test process, the degree of automation and the accuracy of a test flow are improved, and important guarantee is provided for ensuring the stability and the reliability of a system.
3. According to the invention, the continuous deployment module can maintain stability in the continuous updating and deployment process through the flexibility of the serverless deployment unit, the monitoring of the performance detection unit and the emergency treatment of the intelligent rollback strategy, and can automatically cope with the abnormal performance condition, so that the system can always provide high-performance and reliable service.
Drawings
FIG. 1 is a flow chart of the present invention;
FIG. 2 is a block diagram of an environment building block according to the present invention;
FIG. 3 is a block diagram of an environmental isolation module according to the present invention;
FIG. 4 is a block diagram of a resource allocation module according to the present invention;
FIG. 5 is a block diagram of an automatic detection module according to the present invention;
FIG. 6 is a block diagram of a continuously deployed module according to the present invention;
FIG. 7 is a schematic diagram of a backup recovery module according to the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Examples:
referring to fig. 1-7, an embodiment of the present invention provides a distributed software testing environment building system based on cloud computing, including:
the upper computer: monitoring the running state of the equipment;
the environment construction module: constructing a simulation environment required by detection software;
deployment engine: automatically deploying software and configuration to a target environment;
an environment isolation module: isolating the build environment into a plurality of separate environments;
a resource allocation module: dynamically allocating and releasing resources according to the requirements;
and an automatic detection module: executing the test case under a preset condition, and checking whether the behavior of the software accords with the expectation;
and (3) continuously deploying a module: automatically constructing, testing and deploying an application program when the code is changed;
an orchestration engine: is responsible for managing and coordinating various components, services or resources to ensure that they function properly in a test environment;
backup recovery module: the backup software tests parameters and can restore data through backup after emergency.
The environment construction module comprises: a tool integration unit that defines and manages an infrastructure in a code manner; a virtual network element simulating a virtual network scenario, such as a high-latency and unstable network environment; the prediction analysis unit is used for carrying out real-time monitoring and problem prediction on the environmental performance by utilizing an algorithm, and identifying and solving potential performance bottlenecks in advance; and the vulnerability repairing unit integrates vulnerability scanning and repairing tools and automatically detects and repairs security vulnerabilities possibly existing.
Specifically, the tool integration unit defines and manages the infrastructure in a code manner to realize automatic and repeatable environment construction and configuration, the tool such as Terraform or AWS CloudFormation is used to allow the infrastructure to be described in a code manner, so that automatic environment deployment and management are realized, the virtual network unit allows simulation of various network scenes including high-delay and unstable network environments and the like to evaluate the performance and stability of the system under different network conditions, potential performance bottlenecks in the environment are easier to detect under the simulation of various network conditions, and the vulnerability repair unit repairs detected bottleneck vulnerabilities, so that the environment construction module can not only efficiently construct the infrastructure, but also simulate various scenes through the virtual network unit, monitor and predict performance problems in real time through the prediction analysis unit, automatically maintain the safety of the system through the vulnerability repair unit, and comprehensively improve the maintainability and stability of the system.
The environmental isolation module includes: a containerized isolation unit, based on isolation of container technology, ensuring that each test environment is run in a separate container; the network isolation unit is used for dividing the virtual network; the environment reduction unit automatically reduces the test environment to an initial state before each test operation; and the behavior isolation unit is used for realizing parallel execution of the test cases.
Specifically, the containerized isolation unit independently encapsulates each test environment in a lightweight and portable container by using a container technology, so that the problem of inaccurate or unstable test caused by mutual influence among the environments is solved, secondly, the network isolation unit realizes network isolation among different test environments by dividing a virtual network, so that the independence of each test environment is protected, and the complex network topology in the real world can be simulated, thereby more comprehensively testing the performance and stability of the application under various network conditions, ensuring that each test case operates in a clean and consistent environment, avoiding the influence of the previous test on the subsequent test, automatically restoring the test environment, improving the test repeatability, enabling the test result to have higher credibility, and the behavior isolation unit realizes the parallel execution of the test cases.
The resource allocation module comprises: the algorithm adjusting unit is used for analyzing the test requirements, the historical data and the performance indexes by using a machine learning algorithm and intelligently distributing resources to meet the requirements of different test scenes; the expansion strategy unit is used for implementing an automatic expansion strategy and dynamically adjusting the scale of the test environment according to the change of load and demand; the resource monitoring unit is used for monitoring the resources in real time; the priority management unit is used for distributing priorities to different detection tasks and ensuring that the key tasks are processed preferentially under the condition of limited resources.
The resource monitoring unit is connected with the priority management unit in a negative feedback way.
Specifically, the algorithm adjusting unit utilizes the machine learning algorithm to analyze the test requirements, the historical data and the performance indexes, intelligently predicts future test scenes by deeply mining the information, distributes proper resources for each scene according to the predictions, so as to improve the resource utilization efficiency, and can better adapt to the continuously changing test requirements, the telescopic strategy unit implements an automatic telescopic strategy, dynamically adjusts the scale of the test environment according to the changes of the load and the requirements, so that the system can expand the scale under high load to meet the requirements of large-scale test, and automatically reduces the scale under low load to avoid resource waste, the resource monitoring unit is responsible for monitoring various resources in the system in real time, and can timely find potential performance problems or resource bottlenecks by monitoring the CPU, the memory, the storage and the like, and the priority management unit takes responsibility for distributing priorities to different detection tasks.
The automatic detection module comprises: an abnormal model is built, a model is built for abnormal data, and the false alarm rate is reduced; the risk driving unit automatically selects a test case according to the changed risk assessment so as to test the high risk area preferentially; the abnormal data analysis unit is used for analyzing the conditions of errors, data loss or damage and the like in data transmission of the data stream; and an automatic rollback unit automatically performing a rollback operation to restore the system to a stable state when a serious problem is detected.
Specifically, the abnormal model is established by collecting, analyzing and modeling abnormal data, so as to reduce false alarm rate, enable the system to more accurately identify real abnormal conditions, reduce false judgment on normal operation, enable the system to more reliably identify potential problems by establishing an effective abnormal model, improve accuracy of test results, the risk driving unit intelligently selects test cases based on changed risk assessment, place more attention on tests in high risk areas, enable the utilization of test resources to be optimized, ensure that the areas which possibly cause system faults or abnormal conditions are covered and preferentially treated in a limited time, enable the abnormal data analysis unit to monitor errors, data loss or damage and the like in the data transmission process, timely discover and process the abnormal conditions, the analysis is helpful for identifying and correcting potential problems in an early stage, ensure accuracy and reliability of data transmission, and the automatic rollback unit automatically executes rollback operation once detecting serious faults or abnormal conditions of the system, enables the system to be restored to a previous stable state, and ensures that the system can quickly recover from faults or abnormal conditions once the problems occur.
The continuous deployment module comprises: the server-free deployment unit provides the capability of automatically expanding and managing resources through service functions and flexibly deploys according to requirements; a performance detection unit for detecting the performance of the deployed system; and (3) an intelligent rollback strategy, wherein if the performance of the system is abnormal, the system automatically rolls back to a previous stable version.
Specifically, the serverless deployment unit provides the capability of automatic expansion and resource management through the service function, so that the system can be flexibly deployed according to the requirement, flow fluctuation and requirement increase can be more effectively dealt with, elastic expansion is realized, stable service can be provided under the condition of high load, the performance detection unit is responsible for monitoring performance indexes of the system, including but not limited to response time, throughput, resource utilization rate and the like, so that the system can still reach the expected performance level after new version deployment, the intelligent rollback strategy automatically triggers the rollback function under the condition of abnormal system performance, the system is rolled back to the stable version verified before, and serious faults or performance reduction in the system operation are avoided.
The backup recovery module comprises: an incremental backup unit for backing up only the changed part; multi-place backup, namely backing up data to data centers in different geographic positions; and cloud storage, integrating cloud storage service, so that backup data can be stored in the cloud.
Specifically, the incremental backup unit enables the system to backup only a part of the changed data, rather than the whole data set. The method not only saves the storage space, but also is more efficient in the backup and recovery processes, the multi-place backup ensures the high availability and safety of the backup data, the backup of the data to the data centers in different geographic positions means that even if one place fails or disasters, the data can still be recovered from other places, the cloud storage can conveniently store the backup data in the cloud by integrating the cloud storage service, the backup data has a highly extensible storage space, and the data can be accessed anytime and anywhere, so that the confidentiality and the integrity of the backup data are enhanced.
The predictive analysis unit uses an algorithm as an ARIMA model, and a specific mathematical model is as follows:
[\phi(B)\Delta Y_t=\theta(B)\varepsilon_t]
where "\phi (B)) and" \theta (B)) are polynomial functions representing autoregressive and moving average, respectively, and (B) is a backward shift operator.
The algorithm used in the algorithm adjusting unit is a random forest, and the specific mathematical model is as follows:
[\hat{y}_i=\text{majority voting}(\text{Tree}_1(X_i),\text{Tree}_2(X_i),\ldots,\text{Tree}_n(X_i))]
where "\hat { y } -i) is the predicted value of the random forest to the sample (X_i).
Although embodiments of the present invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made therein without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.

Claims (10)

1. The distributed software testing environment construction system based on cloud computing is characterized by comprising:
the upper computer: monitoring the running state of the equipment;
the environment construction module: constructing a simulation environment required by detection software;
deployment engine: automatically deploying software and configuration to a target environment;
an environment isolation module: isolating the build environment into a plurality of separate environments;
a resource allocation module: dynamically allocating and releasing resources according to the requirements;
and an automatic detection module: executing the test case under a preset condition, and checking whether the behavior of the software accords with the expectation;
and (3) continuously deploying a module: automatically constructing, testing and deploying an application program when the code is changed;
an orchestration engine: is responsible for managing and coordinating various components, services or resources to ensure that they function properly in a test environment;
backup recovery module: the backup software tests parameters and can restore data through backup after emergency.
2. The cloud computing-based distributed software testing environment construction system of claim 1, wherein said environment construction module comprises: a tool integration unit that defines and manages an infrastructure in a code manner; a virtual network element simulating a virtual network scenario, such as a high-latency and unstable network environment; the prediction analysis unit is used for carrying out real-time monitoring and problem prediction on the environmental performance by utilizing an algorithm, and identifying and solving potential performance bottlenecks in advance; and the vulnerability repairing unit integrates vulnerability scanning and repairing tools and automatically detects and repairs security vulnerabilities possibly existing.
3. The cloud computing-based distributed software testing environment construction system of claim 1, wherein said environment isolation module comprises: a containerized isolation unit, based on isolation of container technology, ensuring that each test environment is run in a separate container; the network isolation unit is used for dividing the virtual network; the environment reduction unit automatically reduces the test environment to an initial state before each test operation; and the behavior isolation unit is used for realizing parallel execution of the test cases.
4. The cloud computing-based distributed software testing environment construction system of claim 1, wherein said resource allocation module comprises: the algorithm adjusting unit is used for analyzing the test requirements, the historical data and the performance indexes by using a machine learning algorithm and intelligently distributing resources to meet the requirements of different test scenes; the expansion strategy unit is used for implementing an automatic expansion strategy and dynamically adjusting the scale of the test environment according to the change of load and demand; the resource monitoring unit is used for monitoring the resources in real time; the priority management unit is used for distributing priorities to different detection tasks and ensuring that the key tasks are processed preferentially under the condition of limited resources.
5. The cloud computing-based distributed software testing environment construction system of claim 1, wherein said automatic detection module comprises: an abnormal model is built, a model is built for abnormal data, and the false alarm rate is reduced; the risk driving unit automatically selects a test case according to the changed risk assessment so as to test the high risk area preferentially; the abnormal data analysis unit is used for analyzing the conditions of errors, data loss or damage and the like in data transmission of the data stream; and an automatic rollback unit automatically performing a rollback operation to restore the system to a stable state when a serious problem is detected.
6. The cloud computing-based distributed software testing environment construction system of claim 1, wherein the continuous deployment module comprises: the server-free deployment unit provides the capability of automatically expanding and managing resources through service functions and flexibly deploys according to requirements; a performance detection unit for detecting the performance of the deployed system; and (3) an intelligent rollback strategy, wherein if the performance of the system is abnormal, the system automatically rolls back to a previous stable version.
7. The cloud computing-based distributed software testing environment construction system of claim 1, wherein the backup restoration module comprises: an incremental backup unit for backing up only the changed part; multi-place backup, namely backing up data to data centers in different geographic positions; and cloud storage, integrating cloud storage service, so that backup data can be stored in the cloud.
8. The cloud computing-based distributed software testing environment construction system according to claim 2, wherein the predictive analysis unit uses an algorithm as an ARIMA model, and the specific mathematical model is:
[\phi(B)\Delta Y_t=\theta(B)\varepsilon_t]
where "\phi (B)) and" \theta (B)) are polynomial functions representing autoregressive and moving average, respectively, and (B) is a backward shift operator.
9. The cloud computing-based distributed software testing environment construction system according to claim 4, wherein the algorithm used in the algorithm adjustment unit is a random forest, and the specific mathematical model is:
[\hat{y}_i=\text{majority voting}(\text{Tree}_1(X_i),\text{Tree}_2(X_i),\ldots,\text{Tree}_n(X_i))]
where "\hat { y } -i) is the predicted value of the random forest to the sample (X_i).
10. The cloud computing-based distributed software testing environment construction system according to claim 4, wherein the resource monitoring unit is in negative feedback connection with the priority management unit.
CN202410038330.3A 2024-01-11 2024-01-11 Distributed software testing environment construction system based on cloud computing Pending CN117851257A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410038330.3A CN117851257A (en) 2024-01-11 2024-01-11 Distributed software testing environment construction system based on cloud computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410038330.3A CN117851257A (en) 2024-01-11 2024-01-11 Distributed software testing environment construction system based on cloud computing

Publications (1)

Publication Number Publication Date
CN117851257A true CN117851257A (en) 2024-04-09

Family

ID=90528460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410038330.3A Pending CN117851257A (en) 2024-01-11 2024-01-11 Distributed software testing environment construction system based on cloud computing

Country Status (1)

Country Link
CN (1) CN117851257A (en)

Similar Documents

Publication Publication Date Title
CN109934361B (en) Automatic operation and maintenance platform model based on container and big data
CN110493025B (en) Fault root cause diagnosis method and device based on multilayer digraphs
KR20210019564A (en) Operation maintenance system and method
CN108521339B (en) Feedback type node fault processing method and system based on cluster log
TWI725744B (en) Method for establishing system resource prediction and resource management model through multi-layer correlations
CN113010393A (en) Fault drilling method and device based on chaotic engineering
CA2614860A1 (en) System and method for detecting imbalances in dynamic workload scheduling in clustered environments
CN113946499A (en) Micro-service link tracking and performance analysis method, system, equipment and application
CN116701043B (en) Heterogeneous computing system-oriented fault node switching method, device and equipment
CN108121595A (en) A kind of Docker containers multi-process management method and system
CN108664394A (en) A kind of RAM leakage process tracing method and device
CN114896166A (en) Scene library construction method and device, electronic equipment and storage medium
CN115733762A (en) Monitoring system with big data analysis capability
CN112463432A (en) Inspection method, device and system based on index data
CN113537590A (en) Data anomaly prediction method and system
CN110764785B (en) Cloud platform tool chain and cloud platform operation and maintenance method for power industry based on open source assembly
CN117851257A (en) Distributed software testing environment construction system based on cloud computing
CN104735063A (en) Security evaluating and detecting method used for cloud infrastructure
CN111708654A (en) Method and equipment for repairing virtual machine fault
CN110716875A (en) Concurrency test method based on feedback mechanism in domestic office environment
CN115277473A (en) Remote operation and maintenance method and device for edge gateway, computer equipment and storage medium
CN114819367A (en) Public service platform based on industrial internet
CN114490371A (en) Data testing method, device, testing equipment and medium based on artificial intelligence
Gilani et al. Alternative controls for soft real-time industrial control services in case of broken cloud links
CN112711508A (en) Intelligent operation and maintenance service system facing large-scale client system

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