CN112650666A - Software testing system, method, device, control equipment and storage medium - Google Patents
Software testing system, method, device, control equipment and storage medium Download PDFInfo
- Publication number
- CN112650666A CN112650666A CN201910968649.5A CN201910968649A CN112650666A CN 112650666 A CN112650666 A CN 112650666A CN 201910968649 A CN201910968649 A CN 201910968649A CN 112650666 A CN112650666 A CN 112650666A
- Authority
- CN
- China
- Prior art keywords
- test
- software
- testing
- tested
- node
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000013522 software testing Methods 0.000 title claims abstract description 67
- 238000012360 testing method Methods 0.000 claims abstract description 1068
- 230000002452 interceptive effect Effects 0.000 claims abstract description 78
- 238000004891 communication Methods 0.000 claims description 92
- 238000012544 monitoring process Methods 0.000 claims description 55
- 230000015654 memory Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 abstract description 24
- 238000004140 cleaning Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000001121 heart beat frequency Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
The disclosure relates to a software testing system, a software testing method, a software testing device, a software testing control device and a storage medium, and relates to the technical field of computers. The software testing system comprises: the testing device group comprises a plurality of testing devices, each testing device is provided with a testing program, the control device is used for obtaining a plurality of pieces of software to be tested uploaded by a user through an interactive interface, the testing device used for testing each piece of software to be tested is determined from the testing device group, the piece of software to be tested is sent to the determined testing device, the determined testing device receives the piece of software to be tested, the testing program is used for testing the piece of software to be tested, a testing result is obtained, the testing result is sent to the control device, the control device is further used for receiving the testing result, and the testing result is displayed through the interactive interface. When the scheme provided by the embodiment of the disclosure is applied to software testing, the resource requirement of the testing process on the terminal equipment used by the user can be reduced.
Description
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a software testing system, a software testing method, a software testing apparatus, a control device, and a storage medium.
Background
With the development of hardware technology, the performance of the terminal device used by the user is more and more powerful, and various software capable of running on the terminal device is produced accordingly. In order to ensure the security of the software running on the user's terminal device, the user usually performs a security test on the various software before installing the software.
In the related art, when a user uses a terminal device to test software to be installed, a test process usually continuously occupies resources of the terminal device for a long time, and the user cannot use the terminal device in the process.
For example, when a user uses his android phone to test a 70M-sized android software, the testing process needs to continuously occupy the phone resources for half an hour or even longer, and during this period, the user cannot use his phone.
Therefore, when the software testing is performed by applying the above method, the resource demand of the testing process on the terminal equipment used by the user is high, especially when a plurality of pieces of software are required to be tested, more terminal equipment of the user is occupied, and the resource of the terminal equipment used by the user is limited, so that the software cannot be tested in time due to the shortage of the resource of the terminal equipment of the user.
Disclosure of Invention
The present disclosure provides a software testing system, method, apparatus, control device and storage medium to reduce the resource requirement of a software testing process for a terminal device used by a user. The technical scheme of the disclosure is as follows:
according to a first aspect of embodiments of the present disclosure, there is provided a software testing system, the system comprising: control device and test equipment group, including a plurality of test equipment in the test equipment group, each test equipment installs test program, wherein:
the control equipment is used for acquiring a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determining test equipment for testing each piece of acquired software to be tested from the test equipment group, and sending corresponding software to be tested to each determined test equipment;
the determined test equipment is used for receiving the software to be tested, testing the received software to be tested by using the test program to obtain a test result, and sending the test result to the control equipment;
the control device is further configured to receive a test result sent by each test device in the test device group, and display the received test result through the interactive interface.
In an embodiment of the present disclosure, the control device includes a monitoring service, a test node cluster, a storage service, and a database, where a test node in the test node cluster is a node created by the monitoring service, and the test node in the test node cluster is in one-to-one correspondence communication connection with test devices in the test device group, where:
the monitoring service is used for acquiring a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determining a testing node for testing each piece of acquired software to be tested from the testing node cluster, and sending corresponding software to be tested to each determined testing node;
the determined test node is used for receiving the software to be tested, sending the received software to be tested to the test equipment in communication connection with the test node, receiving the test result sent by the test equipment in communication connection with the test node, and sending the received test result to the storage service;
the storage service is used for receiving the test results sent by each test node in the test node cluster and storing the received test results in the database;
and the database is used for storing the test results and displaying the test results of the requested software to be tested through the interactive interface when the user requests the test results of each software to be tested through the interactive interface.
In an embodiment of the present disclosure, the test device in the test device group is further configured to:
detecting the running state of the self, and sending the detected running state to a test node in communication connection with the self;
and/or
The method comprises the steps of detecting the testing progress of the software to be tested by the software testing system, and sending the testing progress to a testing node in communication connection with the software testing system.
In an embodiment of the present disclosure, the test devices in the test device group are further configured to restart and reestablish a communication connection with the corresponding test node when the operating state is a fault state.
In an embodiment of the present disclosure, the test node in the test node cluster is further configured to send the running status to the monitoring service;
the monitoring service is further configured to receive the running state, determine a test node for testing the software to be tested corresponding to the test node in the fault state from the test node cluster again when the running state is the fault state, and send the software to be tested corresponding to the test node in the fault state to the newly determined test node.
In an embodiment of the present disclosure, the test device in the test device group is further configured to send a heartbeat packet to a test node in communication connection with the test device group;
the monitoring service is further configured to monitor the number of times that the test node in the test node cluster does not receive the heartbeat packet continuously, delete the test node of which the number of times reaches a preset number, and reconstruct the deleted test node.
In an embodiment of the present disclosure, the test node in the test node cluster is further configured to send an operating environment cleaning instruction to the test device that completes the test after the test device that is in communication connection with the test node completes the test;
and the test equipment in the test equipment group is also used for receiving the operating environment cleaning instruction and cleaning the operating environment of the test equipment group.
In an embodiment of the present disclosure, the test devices in the test device group are further configured to request the monitoring service to download the test program;
the monitoring service is also used for allocating an IP address and a port which are in communication connection with the testing equipment, embedding the IP address and the port into the testing program, sending the testing program with the embedded IP address and the embedded port to the testing equipment in the testing equipment group, and creating a testing node based on the communication of the IP address and the port;
and the test equipment in the test equipment group is also used for installing the test program embedded with the IP address and the port.
According to a second aspect of the embodiments of the present disclosure, there is provided a software testing method, which is applied to a software testing system, the system including: the method comprises the following steps that control equipment and a test equipment group are adopted, the test equipment group comprises a plurality of test equipment, and each test equipment is provided with a test program, and the method comprises the following steps:
the control equipment acquires a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determines test equipment for testing each piece of acquired software to be tested from the test equipment group, and sends corresponding software to be tested to each determined test equipment;
the determined test equipment receives software to be tested, tests the received software to be tested by using the test program to obtain a test result, and sends the test result to the control equipment;
and the control equipment receives the test result sent by each test equipment in the test equipment group and displays the received test result through the interactive interface.
In one embodiment of the present disclosure, the control device includes a monitoring service, a test node cluster, a storage service, and a database, where a test node in the test node cluster is a node created by the monitoring service, and the test node in the test node cluster is in one-to-one correspondence communication connection with test devices in the test device group;
the method includes the steps that the control equipment obtains a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determines testing equipment for testing each piece of obtained software to be tested from the testing equipment group, and sends corresponding software to be tested to each determined testing equipment, and the method includes the following steps:
the monitoring service acquires a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determines a testing node for testing each piece of acquired software to be tested from the testing node cluster, and sends corresponding software to be tested to each determined testing node;
the determined test node receives the software to be tested and sends the received software to be tested to the test equipment in communication connection with the test node;
the control device receives the test results sent by each test node in the test node cluster, and displays the received test results through the interactive interface, including:
the determined test node receives a test result sent by test equipment in communication connection with the test node, and sends the received test result to the storage service;
the storage service receives the test result and stores the test result in the database;
and the database stores the test results and displays the test results of the requested software to be tested through the interactive interface when a user requests the test results of each software to be tested through the interactive interface.
In one embodiment of the present disclosure, the method further comprises:
the test equipment in the test equipment group detects the running state of the test equipment and sends the detected running state to the test node in communication connection with the test equipment;
and/or
And the testing equipment in the testing equipment group detects the testing progress of the testing equipment for testing the software to be tested and sends the testing progress to the testing node in communication connection with the testing equipment.
In one embodiment of the present disclosure, the method further comprises:
and restarting the test equipment in the test equipment group under the condition that the running state is the fault state, and reestablishing communication connection with the corresponding test node.
In one embodiment of the present disclosure, the method further comprises:
the test nodes in the test node cluster send the running state to the monitoring service;
and the monitoring service receives the running state, re-determines a test node for testing the to-be-tested software corresponding to the test node in the fault state from the test node cluster under the condition that the running state is the fault state, and sends the to-be-tested software corresponding to the test node in the fault state to the re-determined test node.
In one embodiment of the present disclosure, the method further comprises:
the test equipment in the test equipment group sends a heartbeat packet to a test node in communication connection with the test equipment group;
and the monitoring service monitors the times that the test nodes in the test node cluster continuously do not receive the heartbeat packet, deletes the test nodes with the times reaching the preset times, and reconstructs the deleted test nodes.
In one embodiment of the present disclosure, the method further comprises:
after the test node in the test node cluster finishes the test with the test equipment in communication connection with the test node cluster, sending an operating environment cleaning instruction to the test equipment which finishes the test;
and the test equipment in the test equipment group receives the operating environment cleaning instruction and cleans the operating environment of the test equipment group.
In one embodiment of the present disclosure, the method further comprises:
the test equipment in the test equipment group requests the monitoring service to download the test program;
the monitoring service allocates an IP address and a port which are in communication connection with the testing equipment, embeds the IP address and the port into the testing program, sends the testing program embedded with the IP address and the port to the testing equipment in the testing equipment group, and creates a testing node based on the communication of the IP address and the port;
and the test equipment in the test equipment group is provided with a test program embedded with the IP address and the port.
According to a third aspect of the embodiments of the present disclosure, there is provided a software testing method applied to a control device in a software testing system, the system including: the method comprises the following steps that control equipment and a test equipment group are adopted, the test equipment group comprises a plurality of test equipment, and each test equipment is provided with a test program, and the method comprises the following steps:
acquiring a plurality of to-be-tested software uploaded by a user through an interactive interface;
determining test equipment for testing each obtained software to be tested from the test equipment group;
sending each piece of software to be tested to each determined testing device, so that the determined testing device tests the software to be tested by using the testing program to obtain a testing result;
and receiving the determined test results sent by each test device, and displaying the received test results through the interactive interface.
In one embodiment of the present disclosure, the control device includes a test node cluster, a test node in the test node cluster is a node created for each test device in the test device group, and the control device is in one-to-one correspondence communication connection with each test device through the test node;
the determining of the testing device for testing each obtained software to be tested from the testing device group includes:
determining a test node for testing each obtained software to be tested from the test node cluster, wherein the test node is used as a working test node, and a test device in communication connection with the working test node is used as a test device for testing the software to be tested;
the sending each piece of software to be tested to each determined testing device includes:
sending each software to be tested to test equipment in communication connection with the working test node through the working test node;
the receiving the determined test results sent by each test device, and displaying the received test results through the interactive interface includes:
receiving a test result sent by test equipment in communication connection with the working test node, and storing the test result in a database;
and when the user requests the test result through the interactive interface, displaying the test result through the interactive interface.
In one embodiment of the present disclosure, the method further comprises:
receiving the self running state sent by the test equipment in the test equipment group;
and/or
And receiving the test progress of testing the software to be tested, which is sent by the test equipment in the test equipment group.
In one embodiment of the present disclosure, the method further comprises:
and under the condition that the running state is the fault state, re-determining a test node for testing the software to be tested corresponding to the test node in the fault state from the test node cluster, and sending the software to be tested corresponding to the test node in the fault state to the re-determined test node.
In one embodiment of the present disclosure, the method further comprises:
monitoring the times that the test nodes in the test node cluster continuously do not receive heartbeat packets sent by the test equipment in communication connection with the test nodes;
and deleting the test nodes with the times reaching the preset times, and rebuilding the deleted test nodes.
In one embodiment of the present disclosure, the method further comprises:
and aiming at each test node in the test node cluster, after the test equipment in communication connection with the test node cluster finishes testing, sending an operating environment cleaning instruction to the test equipment through the test node, so that the test equipment in the test equipment group cleans the operating environment of the test equipment.
In one embodiment of the present disclosure, the method further comprises:
obtaining a request for downloading the test program sent by the test equipment in the test equipment group;
allocating an IP address and a port which are in communication connection with the test equipment;
embedding the IP address and port into the test program;
and sending the test program embedded with the IP address and the port to test equipment, and creating a test node based on the communication of the IP address and the port.
According to a fourth aspect of the embodiments of the present disclosure, there is provided a software testing apparatus, which is applied to a control device in a software testing system, the system including: control device and test equipment group, including a plurality of test equipment in the test equipment group, each test equipment installs test program, the device includes:
the software obtaining module is used for obtaining a plurality of to-be-tested software uploaded by a user through an interactive interface;
the test equipment determining module is used for determining test equipment for testing each obtained software to be tested from the test equipment group;
the software sending module is used for sending each piece of software to be tested to each determined testing device so that the determined testing device tests the software to be tested by using the testing program to obtain a testing result;
and the result receiving module is used for receiving the determined test results sent by each test device and displaying the received test results through the interactive interface.
In one embodiment of the present disclosure, the control device includes a test node cluster, a test node in the test node cluster is a node created for each test device in the test device group, and the control device is in one-to-one correspondence communication connection with each test device through the test node;
the test equipment determination module is specifically configured to:
determining a test node for testing each obtained software to be tested from the test node cluster, wherein the test node is used as a working test node, and a test device in communication connection with the working test node is used as a test device for testing the software to be tested;
the software sending module is specifically configured to:
sending each software to be tested to test equipment in communication connection with the working test node through the working test node;
the result receiving module is specifically configured to:
receiving a test result sent by test equipment in communication connection with the working test node, and storing the test result in a database;
and when the user requests the test result through the interactive interface, displaying the test result through the interactive interface.
In one embodiment of the present disclosure, the apparatus further comprises:
the state receiving module is used for receiving the self running state sent by the test equipment in the test equipment group;
and/or
And the progress receiving module is used for receiving the test progress which is sent by the test equipment in the test equipment group and used for testing the software to be tested.
In one embodiment of the present disclosure, the apparatus further comprises:
and the new node determining module is used for re-determining the test node for testing the software to be tested corresponding to the test node in the fault state from the test node cluster under the condition that the running state is the fault state, and sending the software to be tested corresponding to the test node in the fault state to the re-determined test node.
In one embodiment of the present disclosure, the apparatus further comprises:
the heartbeat frequency monitoring module is used for monitoring the frequency that the test nodes in the test node cluster continuously do not receive heartbeat packets sent by the test equipment in communication connection with the test nodes;
and the node reconstruction module is used for deleting the test nodes with the times reaching the preset times and reconstructing the deleted test nodes.
In one embodiment of the present disclosure, the apparatus further comprises:
and the environment cleaning module is used for sending an operating environment cleaning instruction to the test equipment through the test nodes after the test equipment in communication connection with the test nodes finishes testing aiming at each test node in the test node cluster, so that the test equipment in the test equipment group can clean the operating environment of the test equipment group.
In one embodiment of the present disclosure, the apparatus further comprises:
a request obtaining module, configured to obtain a request for downloading the test program sent by the test device in the test device group;
the node distribution module is used for distributing an IP address and a port which are in communication connection with the test equipment;
the information embedding module is used for embedding the IP address and the port into the test program;
and the node creating module is used for sending the test program embedded with the IP address and the port to the test equipment and creating the test node based on the communication of the IP address and the port.
According to a fifth aspect of embodiments of the present disclosure, there is provided a control apparatus including:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the software testing method of any one of the third aspects.
According to a sixth aspect of embodiments of the present disclosure, there is provided a storage medium having instructions that, when executed by a processor of a control apparatus, enable the control apparatus to perform the software testing method according to any one of the third aspects.
The technical scheme provided by the embodiment of the disclosure at least brings the following beneficial effects:
when the scheme provided by the embodiment of the disclosure is applied to testing software to be tested, firstly, the control device obtains a plurality of pieces of software to be tested uploaded by a user through an interactive interface, a testing device used for testing each piece of software to be tested is determined from a testing device group, the software to be tested is sent to each determined testing device, the determined testing device receives the software to be tested, the received software to be tested is tested by using a testing program, a testing result is obtained, the testing result is sent to the control device, and then the control device receives the testing result sent by each testing device and displays the received testing result through the interactive interface. Therefore, when the user tests the software to be tested, the user only needs to upload each software to be tested to the control equipment through the interactive interface, the control equipment selects the test equipment to test the software to be tested, and the user does not need to occupy the resources of the terminal equipment of the user. Therefore, when the scheme provided by the embodiment of the disclosure is applied to software testing, the resource requirement of the software testing process on the terminal device used by the user can be reduced.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure and are not to be construed as limiting the disclosure.
FIG. 1 is a block diagram illustrating a software testing system according to an exemplary embodiment.
FIG. 2 is a block diagram of another software testing system shown in accordance with an exemplary embodiment.
FIG. 3 is a flowchart illustrating a method of testing software according to an exemplary embodiment.
FIG. 4 is a flow diagram illustrating another method of software testing according to an example embodiment.
Fig. 5 is a schematic structural diagram illustrating a software testing apparatus according to an exemplary embodiment.
Fig. 6 is a schematic diagram illustrating a configuration of a control device according to an exemplary embodiment.
Detailed Description
In order to make the technical solutions of the present disclosure better understood by those of ordinary skill in the art, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the disclosure described herein are capable of operation in sequences other than those illustrated or otherwise described herein. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
FIG. 1 is a block diagram illustrating a software testing system according to an exemplary embodiment, as shown in FIG. 1, the system including: the device comprises a control device and a test device group, wherein the test device group comprises a plurality of test devices, and each test device is provided with a test program.
Wherein:
the control device is used for acquiring a plurality of pieces of software to be tested uploaded by a user through the interactive interface, determining test devices for testing the acquired pieces of software to be tested from the test device group, and sending the corresponding pieces of software to be tested to the determined test devices.
The determined test equipment is used for receiving the software to be tested, testing the received software to be tested by using the test program to obtain a test result, and sending the test result to the control equipment.
The control equipment is also used for receiving the test results sent by each test equipment in the test equipment group and displaying the received test results through the interactive interface.
In an embodiment of the present disclosure, the testing device may be a hardware device such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, or the like, in which a software testing environment is installed. The test device can also be a virtual device simulating the running environment of the software to be tested.
For example, in a case that the software to be tested is android software, the software testing environment may be an android operating system, and thus the testing device may be a hardware device such as a mobile phone, a tablet computer, a notebook computer, and a desktop computer, which is equipped with the android operating system, and the testing device may be a virtual device such as an android simulator.
In an embodiment of the present disclosure, after the test device installs the test program, the test program may obtain the system permission of the test device in advance. The test program can be communicated with the control module, so that the control device can manage the test device conveniently, and the test program can read the test log collected by the test device when testing the software to be tested.
The test program is used for testing software to be tested. When the test program tests the software to be tested, the test program can be simulated to operate, logs collected by the test equipment in the process of running the software to be tested are obtained, and the logs are analyzed, so that a test result is obtained. The test program may be downloaded from the control device by the test device in advance.
The interactive interface is an interface which faces to a user and is used for providing man-machine interaction service. The interactive Interface can be connected with the control device through an Application Programming Interface (API) Interface, which is convenient for realizing data transmission between the interactive Interface and the control device.
In one embodiment of the present disclosure, the control device may further receive a test instruction sent by a user through the interactive interface. The test instruction may be a test start instruction, a test stop instruction, a test pause instruction, or a test item instruction for testing one of the software to be tested, for example, the test instruction may be a security test instruction for testing security of the software to be tested, or a memory occupation test instruction for testing memory occupation of the software to be tested, and the like. Therefore, the user can conveniently control the test process and improve the test efficiency.
In one embodiment of the present disclosure, the test device may detect an operation state of the test device itself, and transmit the obtained operation state to the control device. Therefore, the control equipment can obtain the running state of each test equipment in the test equipment group, and the control equipment can conveniently distribute the test tasks according to the running state of each test equipment.
In one embodiment of the present disclosure, when determining a test device for testing software to be tested from the test device group, the test device may be determined to be in a ready state from the test device group.
Specifically, the operation state of the test device in the test device group may include:
and (3) testing state: characterizing the testing device is testing the software. In this case, the test device is considered to be executing the test task, and therefore the software to be tested is not sent to the test device in the test state;
and (3) fault state: and characterizing that the test equipment fails. In this case, the software to be tested cannot be tested, and therefore the software to be tested is not sent to the test equipment in the fault state;
ready state: the characterization test equipment can receive the software to be tested and test the software to be tested. In this case, the software to be tested may be sent to the testing device in a ready state.
In one embodiment of the present disclosure, a mutual exclusion lock may be set on each test node. Therefore, when the test node tests the node to be tested, the test node can be locked, and the test node does not receive the software to be tested any more; after the test node completes the test, the test node is unlocked, and the test node can receive the software to be tested again and test the software to be tested.
In an embodiment of the present disclosure, after obtaining the test result, the test device may send the test result to the control device in a form of a Hyper Text Transfer Protocol (HTTP). The HTTP protocol has strong compatibility, safety and reliability, is suitable for transmitting a large amount of data, and is convenient for sending a test result to the control equipment. The form of sending the test result to the control equipment by the test equipment is different from the form of sending the software to be tested to the test equipment by the control equipment, so that the data form can be prevented from being occupied.
In an embodiment of the present disclosure, when the control device sends a plurality of pieces of software to be tested to each determined testing device, each piece of software to be tested may be sent to the plurality of determined testing devices at random, or each testing device may be sorted in advance, and the software to be tested is sent according to the sorting of the testing devices. For example, each piece of software to be tested may be sent to a plurality of test devices that are ranked in the top order.
In an embodiment of the present disclosure, when allocating test devices to each software to be tested, the test devices may be allocated according to an uploading sequence of the software to be tested, or may be allocated according to a sequence of sizes of memories occupied by the software to be tested. The present disclosure is not limited thereto.
In one embodiment of the present disclosure, the device for testing the software to be tested may also be specified by the user. Specifically, the control device may receive an instruction from a user, and determine a test device for testing the software to be tested according to the instruction.
When the scheme provided by the embodiment of the disclosure is applied to test the software to be tested, a user only needs to upload a plurality of software to be tested to the control device through the interactive interface, and the control device selects a plurality of test devices to test each software to be tested, so that the user does not need to occupy the resources of the user's own terminal device. Therefore, when the scheme provided by the embodiment of the disclosure is applied to software testing, the resource requirement of the software testing process on the terminal device used by the user can be reduced, and the convenience of testing the software is improved.
Referring to fig. 2, in an embodiment of the present disclosure, a control device includes a monitoring service 201, a test node cluster 202, a storage service 203, and a database 204, where a test node in the test node cluster 202 is a node created by the monitoring service 201, and the test nodes in the test node cluster 202 are in one-to-one correspondence communication connection with test devices in a test device group.
In one embodiment of the present disclosure, a test device in a test device group requests a monitoring service to download a test program, the monitoring service allocates an IP (Internet Protocol Address) Address and a port in communication connection with the test device, embeds the IP Address and the port into the test program, sends the test program with the IP Address and the port embedded into the test device, creates a test node based on communication between the IP Address and the port, and installs the test program with the IP Address and the port embedded into the test device. Therefore, because the test program in the test equipment is embedded with the IP address and the port of the test node, the test equipment can be actively connected with the corresponding test node according to the IP address and the port. The IP address and the port of the test node are used to establish communication connection with the test device, that is, when the test device is connected with the test node, the test node corresponding to the IP address and the port included in the test program in the test device will be connected, so that the test device and the test node are connected in a one-to-one correspondence manner. Therefore, when a user needs to test a plurality of pieces of software, the number of the test devices in the test device group can be increased, and a new test node is created in the control device, so that the software testing system can test the plurality of pieces of software.
In an embodiment of the present disclosure, the monitoring service may also obtain an equipment identifier of the test equipment, create a test node embedded with the equipment identifier, and then actively connect with the corresponding test equipment by the network node according to the contained equipment identifier. The device identifier may be a serial number of the test device, a Media Access Control (MAC) address, and the like.
Specifically, in the case where the control device includes the monitoring service 201, the test node cluster 202, the storage service 203, and the database 204, the monitoring device operates in the following manner.
The monitoring service 201 is configured to obtain a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determine a testing node for testing each piece of obtained software to be tested from the testing node cluster 202, and send corresponding software to be tested to each determined testing node.
The determined test node is configured to receive software to be tested, send the received software to be tested to the test device communicatively connected to the test node, receive the test result sent by the test device communicatively connected to the test node, and send the received test result to the storage service 203.
The storage service 203 is configured to receive test results sent by each test node in the test node cluster, and store the received test results in the database 204.
The database 204 is configured to store the test results, and when a user requests the test results of each software to be tested through the interactive interface, display the requested test results of the software to be tested through the interactive interface.
The control device obtains a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determines test devices for testing the pieces of software to be tested from a test device group, sends the pieces of software to be tested to the determined test devices, receives test results sent by the test devices, and displays the test results through the interactive interface.
The specific concepts and steps involved in the foregoing are described in detail below, respectively.
Specifically, the operating states of the test devices in the test device group may include a test state, a fault state, and a ready state, and since the test nodes are in one-to-one correspondence with the test devices, the test devices may send their operating states to the test nodes in communication, so that the test nodes may know the states of the test devices in communication with the test nodes, and the states of the test devices may be understood as the states of the test nodes for convenience of description. That is, after obtaining the software to be tested, the monitoring service determines the test node in the ready state from the test node cluster, and then sends the software to be tested to the test node.
In one embodiment of the present disclosure, a test device in a test device group may detect an operating state of the test device group and send the detected operating state to a test node communicatively connected to the test device group. Therefore, the test node can obtain the running state of the test equipment in communication connection with the test node.
In an embodiment of the present disclosure, after obtaining the running state of the test device, the test node may send the running state to the monitoring service, so that the monitoring service may obtain the state of each test node.
In an embodiment of the present disclosure, the test device may send the test result to the test node, and the test node sends the test result to the storage service after receiving the test result. Therefore, the user can obtain the test result in time, find the problems in the test process in time and process the problems.
In one embodiment of the present disclosure, the test node may send the software to be tested to the test device in a TCP (Transmission Control Protocol) Protocol. The security of the TCP protocol is high, data loss in the data transmission process can be prevented, and the test equipment can successfully receive the software to be tested.
The test node can be understood as a connection interface for connecting the control equipment and the test equipment, the monitoring service hooks the input end and the output end of the connection interface, and the monitoring service interacts with the test node through the hooks, so that the monitoring service can conveniently and quickly send software to be tested to the test node.
Specifically, a user sends a test result obtaining request through the interactive interface, the database sends the test result to the interactive interface after receiving the request, and the test result is displayed to the user through the interactive interface.
In the process of testing the software to be tested, the test system may have faults, including that the test equipment is in a fault state, the test equipment is disconnected from the test node, and the like. In order to ensure that the software to be tested is successfully tested, the faults need to be processed.
In an embodiment of the present disclosure, the test devices in the test device group may detect their own operating states, restart the test devices when the operating states are fault states, and reestablish communication connections with the corresponding test nodes.
In the process of testing the software to be tested, the test equipment may be down, overtime, and the like, and in this case, the test equipment is automatically restarted and connected with the corresponding test node again.
In one embodiment of the present disclosure, the test devices in the test device group detect their own operating states and send the operating states to the test nodes, and the test nodes send the operating states to the monitoring service after receiving the operating states. When the running state is the fault state, the monitoring service can abandon the current test node, determine the test node for testing the software to be tested from the test node cluster again, send the software to be tested to the newly determined test node, and test the software to be tested by the test equipment corresponding to the new test node.
In an embodiment of the present disclosure, a test device in a test device group may send a heartbeat packet to a test node in communication connection with the test device group, a monitoring service monitors the number of times that the test node in the test node cluster continuously does not receive the heartbeat packet, deletes the test node when the number of times reaches a preset number of times, and reconstructs the deleted test node. The preset number of times may be 3 times, 5 times, and the like, and the embodiment of the present disclosure does not limit this.
Specifically, the test device may send the heartbeat packet to the test node at a preset time interval, for example, the test device may send the heartbeat packet to the test node every 5 seconds. The test device may also send a heartbeat packet according to a test progress of testing the software to be tested, for example, the test device sends a heartbeat packet to the test node every time it completes one test item.
When the monitoring service monitors that the times reach the preset times, the test equipment is considered to be disconnected with the test node, and therefore the test node needs to be rebuilt. The IP address and the port of the reconstructed test node are the same as those of the original test node, so that the test equipment can reestablish communication connection with the reconstructed test node again.
In an embodiment of the disclosure, after the test node is reestablished and reaches a preset time, if the monitoring service monitors that the test device and the test node still do not reestablish the communication connection, an alarm signal is sent out to prompt a user to troubleshoot and process a fault.
The preset time length may be a time length required for restarting the test equipment, which is measured in advance. That is, when a fault occurs, on one hand, the monitoring service rebuilds the test node, on the other hand, the test equipment restarts itself, and when the test node is rebuilt for a preset time, the test equipment is considered to have completed restarting. If the monitoring service monitors that the communication connection between the test equipment and the test node is not reestablished, the situation shows that the reconstruction of the test node and the restarting of the test equipment cannot eliminate the fault, and therefore an alarm signal is sent out.
It can be seen from the above embodiments that, the software testing system provided by the embodiment of the present disclosure can automatically process a fault when the fault occurs, and can improve the stability of the software testing system.
In an embodiment of the present disclosure, the testing device in the testing device group may further detect a testing progress of the testing device itself for testing the software to be tested, and send the testing progress to a testing node in communication connection with the testing device itself. Therefore, the test node can send the test progress to the control equipment, and a user can obtain the test progress through the control equipment, so that the user can conveniently manage the test process.
In an embodiment of the present disclosure, the test node is further configured to send an operating environment cleaning instruction to the test device that completes the test after the test device that is in communication connection with the test node completes the test, and the test device in the test device group receives the operating environment cleaning instruction and cleans an operating environment of the test node.
Specifically, the test equipment can send the test progress of the test equipment to the test node in communication connection with the test equipment, and the test node judges whether the test equipment completes the test according to the received test progress. If so, the test node sends an operating environment cleaning instruction to the test equipment. After receiving the operating environment cleaning instruction, the test equipment cleans the operating environment of itself, and may include: deleting the software to be tested, deleting the log collected when testing the software to be tested, cleaning the memory of the software to be tested, and the like. This facilitates the test equipment to receive new software to be tested.
Fig. 3 is a flowchart illustrating a software testing method applied to a software testing system according to an exemplary embodiment, the system including: the method comprises the following steps that control equipment and a test equipment group are adopted, the test equipment group comprises a plurality of test equipment, and each test equipment is provided with a test program, and the method comprises the following steps:
301, the control device obtains a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determines a testing device for testing each piece of obtained software to be tested from the testing device group, and sends corresponding software to be tested to each determined testing device;
In an embodiment of the present disclosure, the control device includes a monitoring service, a test node cluster, a storage service, and a database, where a test node in the test node cluster is a node created by the monitoring service, and the test node in the test node cluster is in one-to-one correspondence communication connection with test devices in the test device group, where:
the monitoring service acquires a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determines a testing node for testing each piece of acquired software to be tested from the testing node cluster, and sends corresponding software to be tested to each determined testing node;
the determined test node receives software to be tested, sends the received software to be tested to test equipment in communication connection with the test node, receives a test result sent by the test equipment in communication connection with the test node, and sends the received test result to the storage service;
the storage service receives the test result and stores the test result in the database;
and the database stores the test results and displays the test results of the requested software to be tested through the interactive interface when a user requests the test results of each software to be tested through the interactive interface.
In one embodiment of the present disclosure, the method further comprises:
the test equipment in the test equipment group detects the running state of the test equipment and sends the detected running state to the test node in communication connection with the test equipment;
and/or
And the testing equipment in the testing equipment group detects the testing progress of the testing equipment for testing the software to be tested and sends the testing progress to the testing node in communication connection with the testing equipment.
In one embodiment of the present disclosure, the method further comprises:
and restarting the test equipment in the test equipment group under the condition that the running state is the fault state, and reestablishing communication connection with the corresponding test node.
In one embodiment of the present disclosure, the method further comprises:
the test node sends the running state to the monitoring service;
and the monitoring service receives the running state, re-determines a test node for testing the to-be-tested software corresponding to the test node in the fault state from the test node cluster under the condition that the running state is the fault state, and sends the to-be-tested software corresponding to the test node in the fault state to the re-determined test node.
In one embodiment of the present disclosure, the method further comprises:
the test equipment in the test equipment group sends a heartbeat packet to a test node in communication connection with the test equipment group;
and the monitoring service monitors the times that the test nodes in the test node cluster do not receive the heartbeat packet continuously, deletes the test nodes when the times reach the preset times, and reconstructs the deleted test nodes.
In one embodiment of the present disclosure, the method further comprises:
after the test node finishes testing with the test equipment in communication connection with the test node, sending an operating environment cleaning instruction to the test equipment which finishes testing;
and the test equipment in the test equipment group receives the operating environment cleaning instruction and cleans the operating environment of the test equipment group.
In one embodiment of the present disclosure, the method further comprises:
the test equipment in the test equipment group requests the monitoring service to download the test program;
the monitoring service allocates an IP address and a port which are in communication connection with the testing equipment, embeds the IP address and the port into the testing program, sends the testing program embedded with the IP address and the port to the testing equipment, and creates a testing node based on the communication of the IP address and the port;
and the test equipment installs the test program embedded with the IP address and the port.
When the scheme provided by the embodiment is applied to test the software to be tested, the control device first obtains a plurality of pieces of software to be tested uploaded by a user through the interactive interface, determines the test device for testing each piece of software to be tested from the test device group, and sends the software to be tested to each determined test device, the determined test device receives the software to be tested, tests the received software to be tested by using the test program to obtain a test result, and sends the test result to the control device, and then the control device receives the test result sent by each test device and displays the received test result through the interactive interface. Therefore, when the user tests the software to be tested, the user only needs to upload each software to be tested to the control equipment through the interactive interface, the control equipment selects the test equipment to test the software to be tested, and the user does not need to occupy the resources of the terminal equipment of the user. Therefore, when the scheme provided by the embodiment is applied to software testing, the resource requirement of the software testing process on the terminal equipment used by the user can be reduced.
FIG. 4 is a flowchart illustrating another software testing method applied to a control device in a software testing system according to an exemplary embodiment, the system including: the method comprises the following steps that control equipment and a test equipment group are adopted, the test equipment group comprises a plurality of test equipment, and each test equipment is provided with a test program, and the method comprises the following steps:
In one embodiment of the present disclosure, the control device includes a test node cluster, a test node in the test node cluster is a node created for each test device in the test device group, and the control device is in one-to-one correspondence communication connection with each test device through the test node;
the determining of the testing device for testing each obtained software to be tested from the testing device group includes:
determining a test node for testing each obtained software to be tested from the test node cluster, wherein the test node is used as a working test node, and a test device in communication connection with the working test node is used as a test device for testing the software to be tested;
the sending each piece of software to be tested to each determined testing device includes:
sending each software to be tested to test equipment in communication connection with the working test node through the working test node;
the receiving the determined test results sent by each test device, and displaying the received test results through the interactive interface includes:
receiving a test result sent by test equipment in communication connection with the working test node, and storing the test result in a database;
and when the user requests the test result through the interactive interface, displaying the test result through the interactive interface.
In one embodiment of the present disclosure, the method further comprises:
receiving the self running state sent by the test equipment in the test equipment group;
and/or
And receiving the testing progress of testing the software to be tested, which is sent by the testing equipment in the testing equipment group.
In one embodiment of the present disclosure, the method further comprises:
and under the condition that the running state is the fault state, re-determining a test node for testing the software to be tested corresponding to the test node in the fault state from the test node cluster, and sending the software to be tested corresponding to the test node in the fault state to the re-determined test node.
In one embodiment of the present disclosure, the method further comprises:
monitoring the times that the test nodes in the test node cluster continuously do not receive heartbeat packets sent by the test equipment in communication connection with the test nodes;
and deleting the test nodes with the times reaching the preset times, and rebuilding the deleted test nodes.
In one embodiment of the present disclosure, the method further comprises:
and aiming at each test node in the test node cluster, after the test equipment in communication connection with the test node cluster finishes testing, sending an operating environment cleaning instruction to the test equipment through the test node, so that the test equipment in the test equipment group cleans the operating environment of the test equipment.
In one embodiment of the present disclosure, the method further comprises:
obtaining a request for downloading the test program sent by the test equipment in the test equipment group;
allocating an IP address and a port which are in communication connection with the test equipment;
embedding the IP address and port into the test program;
and sending the test program embedded with the IP address and the port to test equipment, and creating a test node based on the communication of the IP address and the port.
When the scheme provided by the embodiment is applied to test the software to be tested, the control device first obtains a plurality of pieces of software to be tested uploaded by a user through the interactive interface, determines the test device for testing each piece of software to be tested from the test device group, and sends the software to be tested to each determined test device, the determined test device receives the software to be tested, tests the received software to be tested by using the test program to obtain a test result, and sends the test result to the control device, and then the control device receives the test result sent by each test device and displays the received test result through the interactive interface. Therefore, when the user tests the software to be tested, the user only needs to upload each software to be tested to the control equipment through the interactive interface, the control equipment selects the test equipment to test the software to be tested, and the user does not need to occupy the resources of the terminal equipment of the user. Therefore, when the scheme provided by the embodiment is applied to software testing, the resource requirement of the software testing process on the terminal equipment used by the user can be reduced.
Fig. 5 is a schematic structural diagram of a software testing apparatus according to an exemplary embodiment, the apparatus is applied to a control device in a software testing system, and the system includes: control device and test equipment group, including a plurality of test equipment in the test equipment group, each test equipment installs test program, the device includes:
a software obtaining module 501, configured to obtain multiple pieces of software to be tested, which are uploaded by a user through an interactive interface;
a testing device determining module 502, configured to determine, from the testing device group, a testing device for testing each obtained software to be tested;
a software sending module 503, configured to send each piece of software to be tested to each determined testing device, so that the determined testing device tests the software to be tested by using the testing program to obtain a testing result;
a result receiving module 504, configured to receive the determined test result sent by each test device, and display the received test result through the interactive interface.
In one embodiment of the present disclosure, the control device includes a test node cluster, a test node in the test node cluster is a node created for each test device in the test device group, and the control device is in one-to-one correspondence communication connection with each test device through the test node;
the test device determining module 502 is specifically configured to:
determining a test node for testing each obtained software to be tested from the test node cluster, wherein the test node is used as a working test node, and a test device in communication connection with the working test node is used as a test device for testing the software to be tested;
the software sending module 503 is specifically configured to:
sending each software to be tested to test equipment in communication connection with the working test node through the working test node;
the result receiving module 504 is specifically configured to:
receiving a test result sent by test equipment in communication connection with the working test node, and storing the test result in a database;
and when the user requests the test result through the interactive interface, displaying the test result through the interactive interface.
In one embodiment of the present disclosure, the apparatus further comprises:
the state receiving module is used for receiving the self running state sent by the test equipment in the test equipment group;
and/or
And the progress receiving module is used for receiving the test progress which is sent by the test equipment in the test equipment group and used for testing the software to be tested.
In one embodiment of the present disclosure, the apparatus further comprises:
and the new node determining module is used for re-determining the test node for testing the software to be tested corresponding to the test node in the fault state from the test node cluster under the condition that the running state is the fault state, and sending the software to be tested corresponding to the test node in the fault state to the re-determined test node.
In one embodiment of the present disclosure, the apparatus further comprises:
the heartbeat frequency monitoring module is used for monitoring the frequency that the test nodes in the test node cluster continuously do not receive heartbeat packets sent by the test equipment in communication connection with the test nodes;
and the node reconstruction module is used for deleting the test nodes with the times reaching the preset times and reconstructing the deleted test nodes.
In one embodiment of the present disclosure, the apparatus further comprises:
and the environment cleaning module is used for sending an operating environment cleaning instruction to the test equipment through the test nodes after the test equipment in communication connection with the test nodes finishes testing aiming at each test node in the test node cluster, so that the test equipment in the test equipment group can clean the operating environment of the test equipment group.
In one embodiment of the present disclosure, the apparatus further comprises:
a request obtaining module, configured to obtain a request for downloading the test program sent by the test device in the test device group;
the node distribution module is used for distributing an IP address and a port which are in communication connection with the test equipment;
the information embedding module is used for embedding the IP address and the port into the test program;
and the node creating module is used for sending the test program embedded with the IP address and the port to the test equipment and creating the test node based on the communication of the IP address and the port.
When the scheme provided by the embodiment is applied to test the software to be tested, the control device first obtains a plurality of pieces of software to be tested uploaded by a user through the interactive interface, determines the test device for testing each piece of software to be tested from the test device group, and sends the software to be tested to each determined test device, the determined test device receives the software to be tested, tests the received software to be tested by using the test program to obtain a test result, and sends the test result to the control device, and then the control device receives the test result sent by each test device and displays the received test result through the interactive interface. Therefore, when the user tests the software to be tested, the user only needs to upload each software to be tested to the control equipment through the interactive interface, the control equipment selects the test equipment to test the software to be tested, and the user does not need to occupy the resources of the terminal equipment of the user. Therefore, when the scheme provided by the embodiment is applied to software testing, the resource requirement of the software testing process on the terminal equipment used by the user can be reduced.
The embodiment of the present disclosure further provides a control device, as shown in fig. 6, including a processor 601, a communication interface 602, a memory 603, and a communication bus 604, where the processor 601, the communication interface 602, and the memory 603 complete mutual communication through the communication bus 604,
a memory 603 for storing a computer program;
the processor 601 is configured to implement the software testing method when executing the program stored in the memory 603.
The communication bus mentioned above for the control device may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
The communication interface is used for communication between the control device and other devices.
The Memory may include a Random Access Memory (RAM) or a Non-Volatile Memory (NVM), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The Processor may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but also Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components.
In yet another embodiment provided by the present application, a computer-readable storage medium is further provided, in which a computer program is stored, and the computer program, when executed by a processor, implements the steps of any of the above software testing methods.
In yet another embodiment provided by the present application, there is also provided a computer program product containing instructions which, when run on a computer, cause the computer to perform any of the software testing methods of the above embodiments.
When the scheme provided by the embodiment is applied to test the software to be tested, the control device first obtains a plurality of pieces of software to be tested uploaded by a user through the interactive interface, determines the test device for testing each piece of software to be tested from the test device group, and sends the software to be tested to each determined test device, the determined test device receives the software to be tested, tests the received software to be tested by using the test program to obtain a test result, and sends the test result to the control device, and then the control device receives the test result sent by each test device and displays the received test result through the interactive interface. Therefore, when the user tests the software to be tested, the user only needs to upload each software to be tested to the control equipment through the interactive interface, the control equipment selects the test equipment to test the software to be tested, and the user does not need to occupy the resources of the terminal equipment of the user. Therefore, when the scheme provided by the embodiment is applied to software testing, the resource requirement of the software testing process on the terminal equipment used by the user can be reduced.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The procedures or functions described in accordance with the embodiments of the disclosure are, in whole or in part, generated when the computer program instructions are loaded and executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, as for the embodiment of the apparatus and the embodiment of the control device, since they are basically similar to the embodiment of the method, the description is relatively simple, and the relevant points can be referred to the partial description of the embodiment of the method.
The above description is only for the preferred embodiment of the present application, and is not intended to limit the scope of the present application. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application are included in the protection scope of the present application.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims (10)
1. A software testing system, the system comprising: control device and test equipment group, including a plurality of test equipment in the test equipment group, each test equipment installs test program, wherein:
the control equipment is used for acquiring a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determining test equipment for testing each piece of acquired software to be tested from the test equipment group, and sending corresponding software to be tested to each determined test equipment;
the determined test equipment is used for receiving the software to be tested, testing the received software to be tested by using the test program to obtain a test result, and sending the test result to the control equipment;
the control device is further configured to receive a test result sent by each test device in the test device group, and display the received test result through the interactive interface.
2. The system of claim 1, wherein the control device comprises a monitoring service, a cluster of test nodes, a storage service, and a database, wherein a test node in the cluster of test nodes is a node created by the monitoring service, and wherein a test node in the cluster of test nodes is in one-to-one correspondence communication connection with a test device in the group of test devices, wherein:
the monitoring service is used for acquiring a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determining a testing node for testing each piece of acquired software to be tested from the testing node cluster, and sending corresponding software to be tested to each determined testing node;
the determined test node is used for receiving the software to be tested, sending the received software to be tested to the test equipment in communication connection with the test node, receiving the test result sent by the test equipment in communication connection with the test node, and sending the received test result to the storage service;
the storage service is used for receiving the test results sent by each test node in the test node cluster and storing the received test results in the database;
and the database is used for storing the test results and displaying the test results of the requested software to be tested through the interactive interface when the user requests the test results of each software to be tested through the interactive interface.
3. The system of claim 2, wherein the test devices in the test device group are further configured to:
detecting the running state of the self, and sending the detected running state to a test node in communication connection with the self;
and/or
The method comprises the steps of detecting the testing progress of the software to be tested by the software testing system, and sending the testing progress to a testing node in communication connection with the software testing system.
4. The system of claim 3,
and the test equipment in the test equipment group is also used for restarting and reestablishing communication connection with the corresponding test node under the condition that the running state is the fault state.
5. The system of claim 3,
the test nodes in the test node cluster are also used for sending the running state to the monitoring service;
the monitoring service is further configured to receive the running state, determine a test node for testing the software to be tested corresponding to the test node in the fault state from the test node cluster again when the running state is the fault state, and send the software to be tested corresponding to the test node in the fault state to the newly determined test node.
6. A software testing method is characterized in that the method is applied to a software testing system, and the system comprises: the method comprises the following steps that control equipment and a test equipment group are adopted, the test equipment group comprises a plurality of test equipment, and each test equipment is provided with a test program, and the method comprises the following steps:
the control equipment acquires a plurality of pieces of software to be tested uploaded by a user through an interactive interface, determines test equipment for testing each piece of acquired software to be tested from the test equipment group, and sends corresponding software to be tested to each determined test equipment;
the determined test equipment receives software to be tested, tests the received software to be tested by using the test program to obtain a test result, and sends the test result to the control equipment;
and the control equipment receives the test result sent by each test equipment in the test equipment group and displays the received test result through the interactive interface.
7. A software testing method is characterized in that the method is applied to a control device in a software testing system, and the system comprises: the method comprises the following steps that control equipment and a test equipment group are adopted, the test equipment group comprises a plurality of test equipment, and each test equipment is provided with a test program, and the method comprises the following steps:
acquiring a plurality of to-be-tested software uploaded by a user through an interactive interface;
determining test equipment for testing each obtained software to be tested from the test equipment group;
sending each piece of software to be tested to each determined testing device, so that the determined testing device tests the software to be tested by using the testing program to obtain a testing result;
and receiving the determined test results sent by each test device, and displaying the received test results through the interactive interface.
8. A software testing device, which is applied to a control device in a software testing system, the system comprising: control device and test equipment group, including a plurality of test equipment in the test equipment group, each test equipment installs test program, the device includes:
the software obtaining module is used for obtaining a plurality of to-be-tested software uploaded by a user through an interactive interface;
the test equipment determining module is used for determining test equipment for testing each obtained software to be tested from the test equipment group;
the software sending module is used for sending each piece of software to be tested to each determined testing device so that the determined testing device tests the software to be tested by using the testing program to obtain a testing result;
and the result receiving module is used for receiving the determined test results sent by each test device and displaying the received test results through the interactive interface.
9. A control apparatus, characterized by comprising:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the software testing method as claimed in claim 7.
10. A storage medium, characterized in that instructions in the storage medium, when executed by a processor of a control device, enable the control device to perform the software testing method as claimed in claim 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968649.5A CN112650666B (en) | 2019-10-12 | 2019-10-12 | Software testing system, method, device, control equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968649.5A CN112650666B (en) | 2019-10-12 | 2019-10-12 | Software testing system, method, device, control equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112650666A true CN112650666A (en) | 2021-04-13 |
CN112650666B CN112650666B (en) | 2024-04-09 |
Family
ID=75342959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910968649.5A Active CN112650666B (en) | 2019-10-12 | 2019-10-12 | Software testing system, method, device, control equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650666B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113470618A (en) * | 2021-06-08 | 2021-10-01 | 阿波罗智联(北京)科技有限公司 | Wake-up test method and device, electronic equipment and readable storage medium |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030103310A1 (en) * | 2001-12-03 | 2003-06-05 | Shirriff Kenneth W. | Apparatus and method for network-based testing of cluster user interface |
CN102347810A (en) * | 2011-10-21 | 2012-02-08 | 迈普通信技术股份有限公司 | Centralized test system and method of machine room |
CN104050076A (en) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | Testing method, device and system of application software on mobile terminal |
CN105573902A (en) * | 2014-10-10 | 2016-05-11 | 阿里巴巴集团控股有限公司 | Application testing method and system |
CN105607994A (en) * | 2015-10-19 | 2016-05-25 | 珠海金山网络游戏科技有限公司 | Mobile terminal software testing method and system |
CN107273299A (en) * | 2017-07-07 | 2017-10-20 | 广东中星电子有限公司 | Software testing device, software test platform and method |
CN107330770A (en) * | 2017-07-18 | 2017-11-07 | 百达致胜(北京)科技有限公司 | Cloud automatic vending system and control method |
CN107341098A (en) * | 2017-07-13 | 2017-11-10 | 携程旅游信息技术(上海)有限公司 | Software performance testing method, platform, equipment and storage medium |
CN107451059A (en) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | A kind of method for testing software and test device |
CN107833139A (en) * | 2017-11-23 | 2018-03-23 | 上海壹账通金融科技有限公司 | Transaction data processing method, device, computer equipment and storage medium |
CN108052444A (en) * | 2017-11-13 | 2018-05-18 | 北京百度网讯科技有限公司 | A kind of method and apparatus of performance test for mobile application |
CN108255730A (en) * | 2018-01-23 | 2018-07-06 | 平安普惠企业管理有限公司 | Software interface test approach, test equipment, storage medium and device |
CN108763052A (en) * | 2018-04-11 | 2018-11-06 | 福建天晴数码有限公司 | A kind of method for testing performance and system of virtual reality software memory reclaim mechanism |
CN108829597A (en) * | 2018-06-13 | 2018-11-16 | 中国平安人寿保险股份有限公司 | Software crowd surveys method and device, computer installation and readable storage medium storing program for executing |
CN109302522A (en) * | 2018-09-11 | 2019-02-01 | 北京京东金融科技控股有限公司 | Test method, device and computer system and medium |
CN109871328A (en) * | 2019-02-26 | 2019-06-11 | 网宿科技股份有限公司 | A kind of method for testing software and device |
WO2019128299A1 (en) * | 2017-12-28 | 2019-07-04 | 华为技术有限公司 | Test system and test method |
CN110096438A (en) * | 2019-04-12 | 2019-08-06 | 平安普惠企业管理有限公司 | Method for testing software and relevant apparatus |
CN110134581A (en) * | 2019-04-02 | 2019-08-16 | 浙江数链科技有限公司 | Method for testing software, device, computer equipment and storage medium |
CN110147314A (en) * | 2019-04-12 | 2019-08-20 | 深圳壹账通智能科技有限公司 | Test method, device and computer readable storage medium |
CN110187912A (en) * | 2019-05-16 | 2019-08-30 | 华为技术有限公司 | A kind of node selecting method and device |
CN110297766A (en) * | 2019-06-03 | 2019-10-01 | 合肥移瑞通信技术有限公司 | Method for testing software and software testing system based on distributed test node cluster |
-
2019
- 2019-10-12 CN CN201910968649.5A patent/CN112650666B/en active Active
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030103310A1 (en) * | 2001-12-03 | 2003-06-05 | Shirriff Kenneth W. | Apparatus and method for network-based testing of cluster user interface |
CN102347810A (en) * | 2011-10-21 | 2012-02-08 | 迈普通信技术股份有限公司 | Centralized test system and method of machine room |
CN104050076A (en) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | Testing method, device and system of application software on mobile terminal |
CN105573902A (en) * | 2014-10-10 | 2016-05-11 | 阿里巴巴集团控股有限公司 | Application testing method and system |
CN105607994A (en) * | 2015-10-19 | 2016-05-25 | 珠海金山网络游戏科技有限公司 | Mobile terminal software testing method and system |
CN107273299A (en) * | 2017-07-07 | 2017-10-20 | 广东中星电子有限公司 | Software testing device, software test platform and method |
CN107341098A (en) * | 2017-07-13 | 2017-11-10 | 携程旅游信息技术(上海)有限公司 | Software performance testing method, platform, equipment and storage medium |
CN107330770A (en) * | 2017-07-18 | 2017-11-07 | 百达致胜(北京)科技有限公司 | Cloud automatic vending system and control method |
CN107451059A (en) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | A kind of method for testing software and test device |
CN108052444A (en) * | 2017-11-13 | 2018-05-18 | 北京百度网讯科技有限公司 | A kind of method and apparatus of performance test for mobile application |
CN107833139A (en) * | 2017-11-23 | 2018-03-23 | 上海壹账通金融科技有限公司 | Transaction data processing method, device, computer equipment and storage medium |
WO2019128299A1 (en) * | 2017-12-28 | 2019-07-04 | 华为技术有限公司 | Test system and test method |
CN108255730A (en) * | 2018-01-23 | 2018-07-06 | 平安普惠企业管理有限公司 | Software interface test approach, test equipment, storage medium and device |
CN108763052A (en) * | 2018-04-11 | 2018-11-06 | 福建天晴数码有限公司 | A kind of method for testing performance and system of virtual reality software memory reclaim mechanism |
CN108829597A (en) * | 2018-06-13 | 2018-11-16 | 中国平安人寿保险股份有限公司 | Software crowd surveys method and device, computer installation and readable storage medium storing program for executing |
CN109302522A (en) * | 2018-09-11 | 2019-02-01 | 北京京东金融科技控股有限公司 | Test method, device and computer system and medium |
CN109871328A (en) * | 2019-02-26 | 2019-06-11 | 网宿科技股份有限公司 | A kind of method for testing software and device |
CN110134581A (en) * | 2019-04-02 | 2019-08-16 | 浙江数链科技有限公司 | Method for testing software, device, computer equipment and storage medium |
CN110096438A (en) * | 2019-04-12 | 2019-08-06 | 平安普惠企业管理有限公司 | Method for testing software and relevant apparatus |
CN110147314A (en) * | 2019-04-12 | 2019-08-20 | 深圳壹账通智能科技有限公司 | Test method, device and computer readable storage medium |
CN110187912A (en) * | 2019-05-16 | 2019-08-30 | 华为技术有限公司 | A kind of node selecting method and device |
CN110297766A (en) * | 2019-06-03 | 2019-10-01 | 合肥移瑞通信技术有限公司 | Method for testing software and software testing system based on distributed test node cluster |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113470618A (en) * | 2021-06-08 | 2021-10-01 | 阿波罗智联(北京)科技有限公司 | Wake-up test method and device, electronic equipment and readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN112650666B (en) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109302522B (en) | Test method, test device, computer system, and computer medium | |
CN111124850A (en) | MQTT server performance testing method, system, computer equipment and storage medium | |
CN111026635B (en) | Software project testing system, method, device and storage medium | |
CN107896244B (en) | Version file distribution method, client and server | |
CN105426298B (en) | A kind of method for testing software and system based on ADB | |
CN108256118B (en) | Data processing method, device, system, computing equipment and storage medium | |
CN109600280B (en) | Pressure testing system, method, device and computer readable storage medium | |
US9292423B1 (en) | Monitoring applications for compatibility issues | |
CN107566214B (en) | Performance test method and device | |
CN109586969A (en) | Content distributing network disaster recovery method, device, computer equipment and storage medium | |
CN109587258A (en) | Activating method and device are visited in a kind of service | |
CN108347356A (en) | A kind of multi-protocols unit test method, device, electronic equipment and storage medium | |
CN105607994A (en) | Mobile terminal software testing method and system | |
CN110166544B (en) | Load balancing application creation method and device, computer equipment and storage medium | |
CN110825985A (en) | Data acquisition system, method and device, control equipment and proxy equipment | |
CN113852426A (en) | Remote testing method, device and system | |
CN108733545B (en) | Pressure testing method and device | |
WO2016188101A1 (en) | Service system test method and device | |
CN108694116B (en) | Network stability testing method, device and system of VPC cluster | |
CN110430070B (en) | Service state analysis method, device, server, data analysis equipment and medium | |
CN112650666B (en) | Software testing system, method, device, control equipment and storage medium | |
CN107181606B (en) | Method and apparatus for controlling network nodes | |
US11275674B1 (en) | Operations support system (OSS) test tool | |
CN111061623B (en) | Method, device, middle server, storage medium and system for debugging program | |
CN113051178A (en) | Test data construction method, device, equipment and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |