CN112486812A - Distributed framework software testing method and device supporting cloud - Google Patents

Distributed framework software testing method and device supporting cloud Download PDF

Info

Publication number
CN112486812A
CN112486812A CN202011349636.9A CN202011349636A CN112486812A CN 112486812 A CN112486812 A CN 112486812A CN 202011349636 A CN202011349636 A CN 202011349636A CN 112486812 A CN112486812 A CN 112486812A
Authority
CN
China
Prior art keywords
test case
test
code
unit
user
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
CN202011349636.9A
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.)
Beijing Vastdata Technology Co ltd
Original Assignee
Beijing Vastdata Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Vastdata Technology Co ltd filed Critical Beijing Vastdata Technology Co ltd
Priority to CN202011349636.9A priority Critical patent/CN112486812A/en
Publication of CN112486812A publication Critical patent/CN112486812A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Abstract

The invention discloses a distributed framework software testing method and a distributed framework software testing device supporting cloud, wherein the method comprises the steps of receiving and analyzing a testing command to obtain a user change code, a basic code and test case information; merging the user change code and the basic code, compiling and packaging to obtain a fusion code; determining the number of test cases and computing processing equipment according to the test case information, and scheduling the computing processing equipment with corresponding number; installing the fusion code on the computing processing equipment, executing the test case in parallel to obtain a test case execution result, and collecting related system information such as a CPU (central processing unit), a GPU (graphic processing unit), a memory and the like; and completing the test of the software according to the test case execution result and the related system information. According to the distributed framework software testing method provided by the invention, a plurality of computing processing devices are adopted to execute a large number of test cases in parallel, the limitation of the time length for running the test cases by a single computer is broken through, and the software testing efficiency is improved.

Description

Distributed framework software testing method and device supporting cloud
Technical Field
The invention relates to the field of software testing, in particular to a distributed framework software testing method and device supporting cloud.
Background
With the rapid development of internet technology, a wide variety of application software is also produced. In order to meet the increasing work and life requirements, the software functions are increased, so that the volume of corresponding software codes is increased, and the difficulty of software testing is higher and higher.
Currently, software testing is roughly divided into traditional software testing, cloud native application software and the like. Software testing is an important means for ensuring software quality, improving software interchangeability and providing information for developers to conveniently prepare for risk assessment.
In order to ensure the effectiveness of software testing, a large number of test cases are needed for test simulation, but when a certain number is reached, a single computer is difficult to complete the operation of all test cases within a certain time, such as 12 hours, and modern software engineering often requires that the overall quality of software caused by code change is known within 12 hours.
Therefore, how to test the software efficiently becomes a difficult problem to be solved urgently.
Disclosure of Invention
In order to solve the problem of low long time-efficiency of a test case run by a single computer in the background technology, the invention provides a distributed framework software test method supporting cloud, which comprises the following steps:
receiving and analyzing a test command to obtain a user change code, a basic code and test case information;
merging the user change code and the basic code, compiling and packaging to obtain a fused code;
determining the number of test cases and computing processing equipment according to the test case information, and scheduling the corresponding number of computing processing equipment;
installing the fusion code on the computing processing equipment, executing the test case in parallel to obtain a test case execution result, and collecting related system information;
and completing the test of the software according to the test case execution result and the related system information.
Further, before receiving and analyzing the test command to obtain the user change code, the basic code and the test case information, the method further comprises the following steps:
and the user issues a test command, wherein the test command comprises a user code change transaction name and a test case set.
Further, the computing processing device includes: physical computers, virtual machines, and dockers.
Further, the software testing comprises: traditional software testing and cloud-native application software testing.
Further, the user change code and the basic code are obtained, and the user change code and the basic code are combined, compiled and packaged to obtain the fusion code, wherein the fusion code is realized through a Jenkins process;
after the installation of the fusion code and before the parallel execution of the test case, the method further comprises the step of installing other software depended by the test case according to an image or Jenkins process.
Further, the related system information includes: CPU, GPU, memory, hard disk, network, and power consumption information.
Furthermore, the test case information and the related system information are stored in a database in a centralized manner.
Further, after completing the test of the software according to the test case execution result and the related system information, the method further includes:
according to an artificial intelligence analysis model trained by the historical problem solution method data in the database, artificial intelligence suggestions are given to software which completes testing; and after the user solves the problem, filling a solution and storing the solution in the database.
The distributed framework software testing device supporting the cloud comprises:
one end of the management control unit is respectively connected with the calculation processing unit, the database unit and the test case report unit; the management control unit is used for receiving and analyzing a test command sent by a user to obtain a user change code, a basic code and test case information;
the management control unit is further used for merging the user change codes and the basic codes to obtain fusion codes, determining the number and scheduling results of the computing processing equipment according to the test case information, and sending the fusion codes, the scheduling results of the computing processing equipment and the test case information to the computing processing unit;
one end of the calculation processing unit is connected with the database unit, and the other end of the calculation processing unit is connected with the test case report unit; the computing processing unit is used for determining needed computing processing equipment according to the scheduling result of the computing processing equipment and the fusion code, and installing the fusion code to the computing processing equipment;
the calculation processing unit is further configured to determine a required test case according to the test case information, execute the test case on the calculation processing device in parallel to obtain a test case execution result, collect related system information, and send the test case execution result and the related system information to the database unit for storage and the test case reporting unit.
The database unit is used for sending the test case information to the management control unit according to the received analysis result of the test command; the database unit is also used for sending the test case to the calculation processing unit according to the test case information.
And the test case reporting unit is used for summarizing the test case execution result and the related system information into a test report and returning the test report to the user.
Further, the apparatus further comprises:
the test case configuration unit is connected with the management control unit at one end; the test case configuration unit is used for sending a test command of a user to the management control unit;
one end of the artificial intelligence analysis unit is respectively connected with the calculation processing unit and the database unit, and the other end of the artificial intelligence analysis unit is connected with the test case report unit; the artificial intelligence analysis unit is used for receiving the test case execution result and the related system information sent by the calculation processing unit, determining artificial intelligence suggestions according to an artificial intelligence model aiming at problems found by the test case, and sending the artificial intelligence suggestions to the test case report unit. And the artificial intelligence analysis unit is also used for filling a solution and storing the solution in the database unit after the user solves the problem.
Further, the management control unit includes:
the test command analysis module is connected with the test case configuration unit at one end and is respectively connected with the database unit and the flow management monitoring module at the other end; the test command analysis module is used for receiving and analyzing a test command sent by a user and sending a test command analysis result to the database unit and the process management monitoring module;
one end of the process management monitoring module is connected with the test command analysis module, and the other end of the process management monitoring module is respectively connected with the calculation processing management module, the calculation processing unit, the database unit, the test case report unit and the artificial intelligence analysis unit;
the flow management monitoring module is used for obtaining a user change code, a basic code and test case information according to the test command analysis result; the flow management monitoring module is also used for merging the user change code and the basic code to obtain a fusion code and sending the fusion code to the calculation processing unit; the flow management monitoring module is also used for determining the number of the computing processing equipment according to the test case information and sending the number of the computing processing equipment to the computing processing management module;
the process management module adopts a Jenkins process;
the computing processing management module is connected with the computing processing unit at one end; the calculation processing management module is used for scheduling the required calculation processing equipment according to the number of the calculation processing equipment and sending the scheduling result to the calculation processing unit.
Further, the computing processing device includes: physical computers, virtual machines, and dockers.
Further, the software testing comprises: traditional software testing and cloud-native application software testing.
Further, the related system information includes: CPU, GPU, memory, hard disk, network, and power consumption information.
The invention has the beneficial effects that: the technical scheme of the invention provides a distributed framework software testing method and a distributed framework software testing device supporting cloud, wherein the method comprises the steps of receiving and analyzing a testing command to obtain a user change code, a basic code and test case information; merging the user change code and the basic code, compiling and packaging to obtain a fusion code; determining the number of test cases and computing processing equipment according to the test case information, and scheduling the computing processing equipment with corresponding number; installing the fusion code on the computing processing equipment, executing the test case in parallel to obtain a test case execution result, and collecting related system information such as a CPU (central processing unit), a GPU (graphic processing unit), a memory and the like; and completing the test of the software according to the test case execution result and the related system information. According to the distributed framework software testing method provided by the invention, a plurality of computing processing devices are adopted to execute a large number of test cases in parallel, any number of test cases can be borne, the limitation of the time length for running the test cases by a single computer is broken through, and the software testing efficiency is improved. Meanwhile, the method can test traditional software and cloud native application software; the test case information, the operation information and the solution information are all stored in the database in a centralized manner, so that a user can flexibly allocate resources, combine and monitor the test case without modifying source codes, and intelligent problem solving becomes possible.
Drawings
A more complete understanding of exemplary embodiments of the present invention may be had by reference to the following drawings in which:
fig. 1 is a flowchart of a method for testing distributed framework software supporting a cloud according to an embodiment of the present invention;
fig. 2 is a flowchart of an intelligent testing method for distributed framework software supporting cloud according to an embodiment of the present invention;
fig. 3 is a flowchart of a cloud-based distributed framework software testing method based on intelligent determination according to an embodiment of the present invention;
fig. 4 is a structural diagram of a distributed framework software testing apparatus supporting a cloud according to an embodiment of the present invention.
Detailed Description
The exemplary embodiments of the present invention will now be described with reference to the accompanying drawings, however, the present invention may be embodied in many different forms and is not limited to the embodiments described herein, which are provided for complete and complete disclosure of the present invention and to fully convey the scope of the present invention to those skilled in the art. The terminology used in the exemplary embodiments illustrated in the accompanying drawings is not intended to be limiting of the invention. In the drawings, the same units/elements are denoted by the same reference numerals.
Unless otherwise defined, terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Further, it will be understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense.
Fig. 1 is a flowchart of a method for testing distributed framework software supporting a cloud according to an embodiment of the present invention. As shown in fig. 1, the method includes:
step 110, receiving and analyzing a test command; receiving and analyzing a test command sent by a user, wherein the test command in the embodiment specifically comprises a user code change transaction name and a test case set; reading a version control environment, a required hardware resource environment and test case information of a user code from a database according to the analyzed test command, wherein the test case information comprises a name, a call command and running time; the version control environment of the user code is GIT or SVN; the database also comprises test case data and all relevant information of the computing processing equipment which can be used for distributed testing;
automatically allocating a physical computer or a virtual machine or a Docker, and reading a user code change transaction through a Jenkins process so as to determine a user change code and a basic code; specifically, the method in this example can test traditional software, and can also test cloud native application software through kubernets and Docker technologies.
Step 120, obtaining a fusion code; specifically, in this example, the user change code and the basic code are merged through a Jenkins process, and a fusion code is obtained after compiling and packing.
Step 130, scheduling the computing processing equipment; determining the number of test cases and computing processing equipment according to the test case information, and scheduling the corresponding number of computing processing equipment; specifically, in this example, the computing processing device includes a physical computer, a virtual machine, and a Docker.
Step 140, executing the test case; automatically installing the fusion code on the computing processing equipment, and directly loading other software depending on the test case if corresponding images exist, or automatically installing the fusion code by using a Jenkins process if the corresponding images do not exist; after the test case is executed in parallel on the computing processing equipment, a test case execution result is obtained, meanwhile, relevant system information such as a CPU, a GPU, a memory, a hard disk, a network and power consumption is collected, stored in a database and sent to a user side in real time, and the fact that a user can inquire the running state of the test case at any time in the running process is guaranteed.
Step 150, summarizing results to complete testing; and summarizing the test case execution result and the related system information, returning the test case execution result and the related system information to the user, and completing the test of the software.
Fig. 2 is a flowchart of an intelligent testing method for distributed framework software supporting cloud according to an embodiment of the present invention. As shown in fig. 2, the method includes:
step 210, issuing a test command; specifically, the test command in this example includes a user code change transaction name and a test case set.
Step 220, receiving and analyzing a test command; receiving and analyzing the test command sent by the user; reading a version control environment, a required hardware resource environment and test case information of a user code from a database according to the analyzed test command, wherein the test case information comprises a name, a call command and running time; the database also comprises test case data, all relevant information of calculation processing equipment which can be used for distributed test, historical data accumulated by the previous method for solving the problem of the test case by a user, and an artificial intelligent model which is trained and mainly adopts a neural network; the integration of the database enables a user to flexibly allocate resources, combine and monitor test cases without modifying source codes, and enables intelligent problem solving to be possible; the version control environment of the user code is GIT or SVN;
automatically allocating a physical computer or a virtual machine or a Docker, and reading a user code change transaction through a Jenkins process so as to determine a user change code and a basic code; specifically, the method in this example can test traditional software, and can also test cloud native application software through kubernets and Docker technologies.
Step 230, obtaining a fusion code; specifically, in this example, the user change code and the basic code are merged through a Jenkins process, and a fusion code is obtained after compiling and packing.
Step 240, scheduling the computing processing device; determining the number of test cases and computing processing equipment according to the test case information, and scheduling the corresponding number of computing processing equipment; specifically, in this example, the computing processing device includes a physical computer, a virtual machine, and a Docker.
Step 250, executing the test case; automatically installing the fusion code on the computing processing equipment, and directly loading other software depending on the test case if corresponding images exist, or automatically installing the fusion code by using a Jenkins process if the corresponding images do not exist; after the test case is executed in parallel on the computing processing equipment, a test case execution result is obtained, meanwhile, relevant system information such as a CPU, a GPU, a memory, a hard disk, a network and power consumption is collected, stored in a database and sent to a user side in real time, and the fact that a user can inquire the running state of the test case at any time in the running process is guaranteed.
Step 260, summarizing results to give intelligent suggestions; according to the test case execution result and the related system information, an artificial intelligence suggestion is intelligently given by using an artificial intelligence model aiming at the problems found by the test case; summarizing the test case execution result, the related system information and the artificial intelligence suggestion, and returning the result to a user to finish the test of the software; specifically, in this example, the artificial intelligence model is an artificial intelligence model mainly based on a neural network trained according to historical data accumulated by a previous method for solving the problem of the test case by the user.
Step 270, performing online incremental training; aiming at the problems found by the test cases, after the problems are solved by a user, the solution is stored in a database for the on-line incremental training of the artificial intelligent analysis model.
Fig. 3 is a flowchart of a cloud-supported distributed framework software testing method based on intelligent determination according to an embodiment of the present invention. As shown in fig. 3, the method includes:
step 3001, storing test case information to a database; before testing, a user needs to input test case information through a web page or a command line of a test case configuration unit and store the test case information into a database, specifically, the test case information includes a test case name, a belonging test case set, a calling method, a required hardware resource environment, a type of a required computing processing device, a version control system and access information thereof, a predicted running time, an operating system, dependent software and the like; the hardware resource environment comprises a memory, a CPU, a hard disk, a GPU and the like; the computing processing device comprises a physical computer, a virtual machine and a Docker; the expected operating time is less than 12 hours.
Step 3002, issuing a test command; specifically, the test command in this example includes a user code change transaction name and a test case set.
Step 3003, determining whether the analysis test command is incorrect; receiving and analyzing the test command, and judging whether the test command is analyzed wrongly; if the test result is wrong, returning the error and related information to the user, and ending the test; if there is no error, step 3004 is performed.
Step 3004, judging whether Docker is needed; reading and judging whether Docker is needed or not from a database according to the analyzed test command result; if so, invoking Kubernets to allocate appropriate Docker resources, and then executing step 3005; if not, step 3005 is performed directly.
Step 3005, determining a user modification code and a basic code; reading out the version control environment, the required hardware resource environment and the test case information of the user code from the database according to the analyzed test command; specifically, in this example, the version control environment of the user code is a GIT or SVN; the database also comprises test case data, all relevant information of calculation processing equipment which can be used for distributed test, historical data accumulated by the previous method for solving the problem of the test case by a user, and an artificial intelligent model which is trained and mainly adopts a neural network; the integration of the database enables a user to flexibly allocate resources, combine and monitor test cases without modifying source codes, and enables intelligent problem solving to be possible;
automatically allocating a physical computer or a virtual machine or a Docker, if the corresponding image exists, directly loading, if not, automatically installing by utilizing a Jenkins flow, reading a user code change transaction through the Jenkins flow, and determining a user change code and a basic code; specifically, the method in this example can test traditional software, and can also test cloud native application software through kubernets and Docker technologies.
Step 3006, obtain a fused code; specifically, in this example, the user change code and the basic code are merged through a Jenkins process, and a fusion code is obtained after compiling and packing.
Step 3007, scheduling computing processing devices; determining the number of test cases and computing processing equipment according to the test case information, and scheduling the corresponding number of computing processing equipment; specifically, in this example, the computing processing device includes a physical computer, a virtual machine, and a Docker.
Step 3008, executing the test case; automatically installing the fusion code on the computing processing equipment, and directly loading other software depending on the test case if corresponding images exist, or automatically installing the fusion code by using a Jenkins process if the corresponding images do not exist; after the test case is finished, executing the test case on the computing processing equipment in parallel to obtain a test case execution result, collecting related system information such as a CPU (central processing unit), a GPU (graphic processing unit), a memory, a hard disk, a network and power consumption, storing the system information into a database and sending the system information to a user side in real time to ensure that the user can inquire the running state of the test case at any time in the running process; the user can also cancel the test case operation at any time.
Step 3009, judging the running time of the individual test case; in the operation process, judging whether the actual operation time of the independent test case exceeds 12 hours through a Jenkins process; if the test case exceeds the preset value, returning error information to the user to request to disassemble the test case; if not, go to step 3010.
Step 3010, summarize the results to give intelligent suggestions; according to the test case execution result and the related system information, an artificial intelligence suggestion is intelligently given by using an artificial intelligence model aiming at the problems found by the test case; summarizing the test case execution result, the related system information and the artificial intelligence suggestion, and returning the result to a user to finish the test of the software; specifically, in this example, the artificial intelligence model is an artificial intelligence model mainly based on a neural network trained according to historical data accumulated by a previous method for solving the problem of the test case by the user.
Step 3011, performing online incremental training; aiming at the problems found by the test cases, after the problems are solved by a user, the solution is stored in a database for the on-line incremental training of the artificial intelligent analysis model.
Fig. 4 is a structural diagram of a distributed framework software testing apparatus supporting a cloud according to an embodiment of the present invention. As shown in fig. 4, the apparatus includes:
a test case configuration unit 410, wherein one end of the test case configuration unit 410 is connected with the management control unit 420; the test case configuration unit 410 is configured to send a test command of a user to the management control unit 420; specifically, in this example, the test command includes a user code change transaction name and a test case set.
A management control unit 420, wherein one end of the management control unit 420 is respectively connected with the calculation processing unit 430, the database unit 440, the test case reporting unit 450 and the artificial intelligence analysis unit 460; the management control unit 420 is configured to receive and analyze a test command sent by a user to obtain a user modification code, a basic code, and test case information;
specifically, in this example, the test case information includes a test case name, a test case set to which the test case belongs, a calling method, a required hardware resource environment, a type of a required computing processing device, a version control system and access information thereof, a predicted running time, an operating system, dependent software, and the like; the hardware resource environment comprises a memory, a CPU, a hard disk, a GPU and the like; the computing processing device comprises a physical computer, a virtual machine and a Docker; if Docker needs to be called, Kubernetes needs to be used for distributing proper Docker resources; the expected operating time is less than 12 hours.
The management control unit 420 is further configured to merge the user change code and the basic code to obtain a fusion code, determine the number of computing processing devices and a scheduling result according to the test case information, and send the fusion code, the scheduling result of the computing processing devices, and the test case information to the computing processing unit 430;
further, the management control unit 420 includes:
a test command analysis module 4201, one end of the test command analysis module 4201 is connected to the test case configuration unit 410, and the other end is connected to the database unit 440 and the process management monitoring module 4202 respectively; the test command parsing module 4201 is configured to receive and parse a test command sent by a user, and send a test command parsing result to the database unit 440 and the process management monitoring module 4202;
a process management monitoring module 4202, one end of the process management monitoring module 4202 is connected to the test command parsing module 4201, and the other end is connected to the calculation processing management module 4203, the calculation processing unit 430, the database unit 440, the test case reporting unit 450, and the artificial intelligence analysis unit 460;
the process management monitoring module 4202 is configured to obtain a user change code, a basic code, and test case information according to the test command analysis result; the process management monitoring module 4202 is further configured to merge the user change code and the basic code to obtain a merged code, and send the merged code to the computing unit 430; the flow management monitoring module 4202 is further configured to determine the number of computing processing devices according to the test case information, and send the number of computing processing devices to the computing processing management module 4203; the process management monitoring module 4202 is further configured to complete continuous integration, maintain a life cycle of the whole test case operation, and ensure that a user can query the test case operation state at any time during the operation process; test case operation can also be cancelled at any time; the process management module adopts a Jenkins process;
a calculation processing management module 4203, one end of the calculation processing management module 4203 being connected to the calculation processing unit 430; the calculation processing management module 4203 is configured to schedule the required calculation processing devices according to the number of the calculation processing devices, and send the scheduling result to the calculation processing unit 430.
A calculation processing unit 430, one end of the calculation processing unit 430 is connected to the database unit 440, and the other end is connected to the test case reporting unit 450; the calculation processing unit 430 is configured to determine a required calculation processing device according to a scheduling result of the calculation processing device and the fusion code, and install the fusion code to the calculation processing device;
the computation processing unit 430 is further configured to determine a required test case according to the test case information, execute the test case on the computation processing device in parallel to obtain a test case execution result, collect related system information, and send the test case execution result and the related system information to the database unit 440 for storage and the test case reporting unit 450; specifically, the related system information in this embodiment includes information of a CPU, a GPU, a memory, a hard disk, a network, and power consumption.
A database unit 440, where the database unit 440 is configured to send the test case information to the management control unit 420 according to the analysis result of the received test command; the database unit 440 is further configured to send the test case to the computation processing unit 430 according to the test case information;
specifically, in this example, the database unit 440 includes a version control environment of a user code, a required hardware resource environment, test case data, information related to all computing processing devices that can be used for distributed testing, and historical data accumulated by previous methods for solving test case problems by a user, and a trained artificial intelligence model based on a neural network, so that the user can flexibly allocate resources, combine and monitor test cases without modifying a source code, and intelligent problem solving becomes possible; and the version control environment of the user code is GIT or SVN.
The test case reporting unit 450 is configured to summarize the test case execution result, the related system information, and the artificial intelligence suggestion, and return the summarized result to the user to complete the test on the software.
An artificial intelligence analysis unit 460, wherein one end of the artificial intelligence analysis unit 460 is connected to the calculation processing unit 430 and the database unit 440, and the other end is connected to the test case report unit 450; the artificial intelligence analysis unit 460 is configured to receive the test case execution result and the related system information sent by the computation processing unit, determine an artificial intelligence suggestion according to an artificial intelligence model for a problem found in the test case, and send the artificial intelligence suggestion to the test case reporting unit 450; the artificial intelligence analysis unit is also used for filling a solution method and storing the solution method in the database unit 440 after a user solves a problem so as to provide on-line incremental training of an artificial intelligence analysis model; specifically, in this example, the artificial intelligence model is an artificial intelligence model mainly based on a neural network trained according to historical data accumulated by a previous method for solving the problem of the test case by the user.
Further, the software test comprises a traditional software test and a cloud native application software test.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the disclosure may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Reference to step numbers in this specification is only for distinguishing between steps and is not intended to limit the temporal or logical relationship between steps, which includes all possible scenarios unless the context clearly dictates otherwise.
Moreover, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the disclosure and form different embodiments. For example, any of the embodiments claimed in the claims can be used in any combination.
Various component embodiments of the disclosure may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. The present disclosure may also be embodied as device or system programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present disclosure may be stored on a computer-readable medium or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the disclosure, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The disclosure may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several systems, several of these systems may be embodied by one and the same item of hardware.
The foregoing is directed to embodiments of the present disclosure, and it is noted that numerous improvements, modifications, and variations may be made by those skilled in the art without departing from the spirit of the disclosure, and that such improvements, modifications, and variations are considered to be within the scope of the present disclosure.

Claims (14)

1. A distributed framework software testing method supporting cloud is characterized by comprising the following steps:
receiving and analyzing a test command to obtain a user change code, a basic code and test case information;
merging the user change code and the basic code, compiling and packaging to obtain a fused code;
determining the number of test cases and computing processing equipment according to the test case information, and scheduling the corresponding number of computing processing equipment;
installing the fusion code on the computing processing equipment, executing the test case in parallel to obtain a test case execution result, and collecting related system information;
and completing the test of the software according to the test case execution result and the related system information.
2. The method of claim 1, wherein before receiving and parsing the test command to obtain the user modification code, the base code, and the test case information, the method further comprises:
and the user issues a test command, wherein the test command comprises a user code change transaction name and a test case set.
3. The method of claim 1, wherein the computing processing device comprises: physical computers, virtual machines, and dockers.
4. The method of claim 1, wherein the software testing comprises: traditional software testing and cloud-native application software testing.
5. The method of claim 1, wherein:
the user change code and the basic code are obtained, and the user change code and the basic code are combined, compiled and packaged to obtain the fusion code, wherein the fusion code is realized through a Jenkins process;
after the installation of the fusion code and before the parallel execution of the test case, the method further comprises the step of installing other software depended by the test case according to an image or Jenkins process.
6. The method of claim 1, wherein the related system information comprises: CPU, GPU, memory, hard disk, network, and power consumption information.
7. The method of claim 1, wherein: the test case information and the related system information are stored in a database in a centralized manner.
8. The method of claim 7, wherein after completing the testing of the software according to the test case execution result and the related system information, further comprising:
according to the historical problem solution data in the database, training an artificial intelligence analysis model and giving artificial intelligence suggestions to the software which completes the test; and after the user solves the problem, filling a solution and storing the solution in the database.
9. An apparatus for testing distributed framework software supporting a cloud, the apparatus comprising:
one end of the management control unit is respectively connected with the calculation processing unit, the database unit and the test case report unit; the management control unit is used for receiving and analyzing a test command sent by a user to obtain a user change code, a basic code and test case information;
the management control unit is further used for merging the user change codes and the basic codes to obtain fusion codes, determining the number and scheduling results of the computing processing equipment according to the test case information, and sending the fusion codes, the scheduling results of the computing processing equipment and the test case information to the computing processing unit;
one end of the calculation processing unit is connected with the database unit, and the other end of the calculation processing unit is connected with the test case report unit; the computing processing unit is used for determining needed computing processing equipment according to the scheduling result of the computing processing equipment and the fusion code, and installing the fusion code to the computing processing equipment;
the calculation processing unit is further configured to determine a required test case according to the test case information, execute the test case on the calculation processing device in parallel to obtain a test case execution result, collect related system information, and send the test case execution result and the related system information to the database unit for storage and the test case reporting unit.
The database unit is used for sending the test case information to the management control unit according to the received analysis result of the test command; the database unit is also used for sending the test case to the calculation processing unit according to the test case information.
And the test case reporting unit is used for summarizing the test case execution result and the related system information into a test report and returning the test report to the user.
10. The apparatus of claim 9, further comprising:
the test case configuration unit is connected with the management control unit at one end; the test case configuration unit is used for sending a test command of a user to the management control unit;
one end of the artificial intelligence analysis unit is respectively connected with the calculation processing unit and the database unit, and the other end of the artificial intelligence analysis unit is connected with the test case report unit; the artificial intelligence analysis unit is used for receiving the test case execution result and the related system information sent by the calculation processing unit, determining artificial intelligence suggestions according to an artificial intelligence model aiming at problems found by the test case, and sending the artificial intelligence suggestions to the test case report unit. And the artificial intelligence analysis unit is also used for filling a solution and storing the solution in the database unit after the user solves the problem.
11. The apparatus of claim 10, wherein the management control unit comprises:
the test command analysis module is connected with the test case configuration unit at one end and is respectively connected with the database unit and the flow management monitoring module at the other end; the test command analysis module is used for receiving and analyzing a test command sent by a user and sending a test command analysis result to the database unit and the process management monitoring module;
one end of the process management monitoring module is connected with the test command analysis module, and the other end of the process management monitoring module is respectively connected with the calculation processing management module, the calculation processing unit, the database unit, the test case report unit and the artificial intelligence analysis unit;
the flow management monitoring module is used for obtaining a user change code, a basic code and test case information according to the test command analysis result; the flow management monitoring module is also used for merging the user change code and the basic code to obtain a fusion code and sending the fusion code to the calculation processing unit; the flow management monitoring module is also used for determining the number of the computing processing equipment according to the test case information and sending the number of the computing processing equipment to the computing processing management module;
the process management module adopts a Jenkins process;
the computing processing management module is connected with the computing processing unit at one end; the calculation processing management module is used for scheduling the required calculation processing equipment according to the number of the calculation processing equipment and sending the scheduling result to the calculation processing unit.
12. The apparatus of claim 9, wherein the computing processing device comprises: physical computers, virtual machines, and dockers.
13. The apparatus of claim 9, wherein the software testing comprises: traditional software testing and cloud-native application software testing.
14. The apparatus of claim 9, wherein: the related system information includes: CPU, GPU, memory, hard disk, network, and power consumption information.
CN202011349636.9A 2020-11-26 2020-11-26 Distributed framework software testing method and device supporting cloud Pending CN112486812A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011349636.9A CN112486812A (en) 2020-11-26 2020-11-26 Distributed framework software testing method and device supporting cloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011349636.9A CN112486812A (en) 2020-11-26 2020-11-26 Distributed framework software testing method and device supporting cloud

Publications (1)

Publication Number Publication Date
CN112486812A true CN112486812A (en) 2021-03-12

Family

ID=74935347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011349636.9A Pending CN112486812A (en) 2020-11-26 2020-11-26 Distributed framework software testing method and device supporting cloud

Country Status (1)

Country Link
CN (1) CN112486812A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064475A (en) * 2021-11-11 2022-02-18 中国联合网络通信集团有限公司 Cloud native application testing method, device, equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064475A (en) * 2021-11-11 2022-02-18 中国联合网络通信集团有限公司 Cloud native application testing method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
CN110287052B (en) Root cause task determination method and device for abnormal task
EP3285170B1 (en) Application profiling job management system, program, and method
EP2442230B1 (en) Two pass automated application instrumentation
US5347647A (en) Method of predicting the performance of an emulated computer system
CN102279766B (en) Method and system for concurrently simulating processors and scheduler
CN109471718B (en) Computing resource configuration method, device, equipment and medium based on face recognition
JP6342129B2 (en) Source code error position detection apparatus and method for mixed mode program
CN111813635A (en) Monitoring method, system and device for intelligent contracts of block chains
CN110083535A (en) A kind of method for testing software and device
CN111381970A (en) Cluster task resource allocation method and device, computer device and storage medium
CN104866402A (en) Server testing method and apparatus
CN116467061A (en) Task execution method and device, storage medium and electronic equipment
CN102331961B (en) Method, system and dispatcher for simulating multiple processors in parallel
CN112486812A (en) Distributed framework software testing method and device supporting cloud
US20150331787A1 (en) Software verification
CN114416849A (en) Data processing method and device, electronic equipment and storage medium
CN114595058A (en) Model training method and device based on GPU (graphics processing Unit) resources, electronic equipment and storage medium
Alcaraz et al. Hardware counters’ space reduction for code region characterization
CN112580816A (en) Machine learning training resource management
CN102986151A (en) Monitoring system and data transfer device and method thereof
CN109814924B (en) Software complexity calculation method
CN116719579A (en) AI model observability realization method and device, electronic equipment and storage medium
Willnecker et al. Model-based prediction of automatic memory management and garbage collection behavior
CN113806231A (en) Code coverage rate analysis method, device, equipment and medium
CN112364071A (en) Goods value data analysis method and 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