Test system, test method, electronic device and storage medium
By designing a test system including control nodes, test nodes and terminals under test, the problem of timely adjustment of the test process in the prior art is solved, and a comprehensive evaluation of the stability and reliability of terminal equipment is achieved.
Patent Information
- Application Number
- CN202311264931.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-27
- Publication Date
- 2025-04-01
AI Technical Summary
During the research and development of existing terminal equipment, the testing process cannot be adjusted in time, resulting in the test objects being not comprehensive enough and the stability and reliability of the equipment cannot be reasonably evaluated.
Design a test system, including a control node, a test node and a test terminal. By passing the test task from the control node to the test node, then to the test terminal, and receiving log data, the control node determines the test decision based on the log data and adjusts the test target.
The test objectives are adjusted in a timely and accurate manner to ensure the reasonable and accurate evaluation of the stability and reliability of the terminal equipment.
Smart Images

Figure CN119739618A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of information technology, and in particular to a testing system, a testing method, an electronic device and a storage medium. Background Art
[0002] In the process of developing existing terminal equipment, there may be problems with low stability and reliability. In order to ensure the stability and reliability of the terminal equipment, it is necessary to perform stability tests on the existing functions and new functions of the system in the terminal equipment.
[0003] However, in the current testing process, multiple terminal devices are usually tested randomly or based on fixed cases; this makes it impossible to adjust the test tasks in a timely manner, resulting in an incomplete test object and an inability to reasonably evaluate the stability and reliability of the terminal devices. Summary of the invention
[0004] The embodiments of the present disclosure disclose a testing system, a testing method, an electronic device and a storage medium.
[0005] According to a first aspect of an embodiment of the present disclosure, a test system is provided, the test system comprising: a control node, a test node, and a terminal under test; the control node is connected to at least one of the test nodes, and one of the test nodes is connected to at least one of the terminals under test;
[0006] The control node is used to send a first test task to the test node; wherein the first test task is used to test the test object;
[0007] The test node is configured to send the first test task to the terminal under test, receive log data returned by the terminal under test based on the first test task, and send the log data to the control node;
[0008] The control node is further used to determine a test decision based on the log data; wherein the test decision is at least used to determine a test target that needs to continue testing.
[0009] In some embodiments, the first test task carries a first identifier of the terminal under test;
[0010] The test node is configured to send the first test task to the tested terminal that matches the first identifier.
[0011] In some embodiments, the test target includes: a first terminal under test among the terminals under test;
[0012] The control node is configured to determine that it is necessary to continue testing the test object of the first terminal under test if it is determined based on the log data that an abnormality occurs in the test object of the second terminal under test among the terminals under test.
[0013] In some embodiments, the control node is used to send a second test task to the test node; wherein the second test task carries the first identifier matching the first terminal under test, and the second test task is used to test the test object of the first terminal under test;
[0014] The test node is used to send the second test task to the first terminal under test, receive the log data returned by the first terminal under test based on the second test task, and send the log data to the control node.
[0015] In some embodiments, the test target includes: a first test object;
[0016] The control node is configured to determine that it is necessary to continue testing the first test object of the terminal under test if it is determined based on the log data that no abnormality occurs in the second test object of the terminal under test.
[0017] In some embodiments, the control node is used to send a third test task to the test node, wherein the third test task carries a second identifier that matches the first test object, and the third test task is used to test the first test object of the terminal under test;
[0018] The test node is used to send the third test task to the terminal under test, receive the log data returned by the terminal under test based on the third test task, and send the log data to the control node.
[0019] In some embodiments, the control node is further configured to perform the following steps:
[0020] Segmenting the test object of the terminal under test based on a predetermined algorithm to obtain at least one level of test sub-objects;
[0021] Recursively traverse each level of test sub-objects to determine all test sub-objects at each level; wherein each test sub-object at each level has a corresponding identifier;
[0022] The data corresponding to the test sub-object at each level is input into the trained neural network model to determine the classification result of the test sub-object; wherein the classification result is used to characterize whether the test sub-object is the tested test object.
[0023] In some embodiments, the test object includes at least one of the following:
[0024] Processes, functional modules, frames, events, pages, and controls.
[0025] In some embodiments, the system further comprises:
[0026] The terminal under test is used to determine abnormal problems of the terminal under test based on a tracking mechanism when triggering a test on a test object; and determine the log data corresponding to the abnormal problem based on the abnormal problem.
[0027] In some embodiments, the terminal under test is used to determine abnormal problems of the application of the terminal under test based on a tracking mechanism introduced to the application;
[0028] and / or,
[0029] The terminal under test is used to determine abnormal problems of the application framework layer of the terminal under test based on the tracking mechanism introduced to the application framework layer;
[0030] and / or,
[0031] The terminal under test is used to determine abnormal problems of the system operation layer of the terminal under test based on the tracking mechanism introduced into the system operation layer;
[0032] and / or,
[0033] The terminal under test is used to determine abnormal problems in the operating system kernel layer of the terminal under test based on the tracking mechanism introduced into the operating system kernel layer.
[0034] In some embodiments, the tested terminal is used to determine the log data corresponding to the code-type abnormal problem based on the abnormal problem being a code-type abnormal problem;
[0035] and / or,
[0036] The terminal under test is used to determine the log data corresponding to the function-type abnormal problem based on the abnormal problem being a function-type abnormal problem;
[0037] and / or,
[0038] The terminal under test is used to determine the log data corresponding to the heap abnormal problem based on that the abnormal problem is a heap abnormal problem;
[0039] and / or,
[0040] The terminal under test is used to determine the log data corresponding to the stack-type abnormal problem based on the abnormal problem being a stack-type abnormal problem.
[0041] In some embodiments, the test node is used to add a fault injection test strategy to test the terminal under test when the test task does not cover at least one test object and / or some functions of at least one test object cannot be detected; wherein the fault injection test strategy is: a strategy based on injecting at least one fault capability for testing; the fault capability includes: abnormal data injection, broadcast scanning and / or service attack.
[0042] According to a second aspect of an embodiment of the present disclosure, a testing method is provided, which is performed by a control node, and the method includes:
[0043] Sending a first test task to a test node; wherein the first test task is used by the test node to send to at least one terminal under test connected to the test node, and the first test task is used to test a test object;
[0044] Receiving log data sent by the test node; wherein the log data is determined by the terminal under test based on the first test task;
[0045] Based on the log data, a test decision is determined; wherein the test decision is at least used to determine a test target that needs to continue testing.
[0046] In some embodiments, the test target includes: a first terminal under test among the terminals under test;
[0047] The determining of the test decision based on the log data includes: if it is determined based on the log data that an abnormality occurs in a test object of a second terminal under test among the terminals under test, determining that it is necessary to continue testing the test object of the first terminal under test.
[0048] In some embodiments, the method further comprises:
[0049] Sending a second test task to the test node; wherein the second test task carries a first identifier matching the first terminal under test, and the second test task is used to test the test object of the first terminal under test;
[0050] Receive the log data returned by the first tested terminal based on the second test task.
[0051] In some embodiments, the test target includes: a first test object;
[0052] The determining of the test decision based on the log data includes: if it is determined based on the log data that no abnormality occurs in the second test object of the terminal under test, determining that the first test object of the terminal under test needs to be continued to be tested.
[0053] In some embodiments, the method further comprises:
[0054] Sending a third test task to the test node, wherein the third test task carries a second identifier that matches the first test object, and the third test task is used to test the first test object of the terminal under test;
[0055] Receive the log data returned by the terminal under test based on the third test task.
[0056] In some embodiments, the method further comprises:
[0057] Segmenting the test object of the terminal under test based on a predetermined algorithm to obtain at least one level of test sub-objects;
[0058] Recursively traverse each level of test sub-objects to determine all test sub-objects at each level; wherein each test sub-object at each level has a corresponding identifier;
[0059] The data corresponding to the test sub-object at each level is input into the trained neural network model to determine the classification result of the test sub-object; wherein the classification result is used to characterize whether the test sub-object is the tested test object.
[0060] In some embodiments, the test object includes at least one of the following:
[0061] Processes, functional modules, frames, events, pages, and controls.
[0062] According to a third aspect of an embodiment of the present disclosure, a testing method is provided, which is performed by a testing node, and the method includes:
[0063] Receive a first test task sent by a control node; wherein the first test task is used to test a test object;
[0064] Sending the first test task to the terminal under test;
[0065] Receiving log data returned by the terminal under test based on the first test task; wherein the log data is used by the control node to determine a test decision, wherein the test decision is at least used to determine a test target that needs to continue testing;
[0066] The log data corresponding to the first test task is sent to the control node.
[0067] In some embodiments, the first test task carries a first identifier of the terminal under test;
[0068] The sending the first test task to the terminal under test includes: sending the first test task to the terminal under test that matches the first identifier.
[0069] In some embodiments, the method further comprises:
[0070] receiving a second test task sent by the control node; wherein the second test task carries a first identifier matching the first terminal under test, and the second test task is used to test a test object of the first terminal under test;
[0071] Sending the second test task to the first tested terminal;
[0072] Receiving the log data returned by the first tested terminal based on the second test task;
[0073] Send the log data corresponding to the second test task to the control node.
[0074] In some embodiments, the method further comprises:
[0075] receiving a third test task sent by the control node; the third test task carries a second identifier matching the first test object, wherein the third test task is used to test the first test object of the terminal under test;
[0076] Sending the third test task to the terminal under test;
[0077] Receiving the log data returned by the tested terminal based on the third test task;
[0078] The log data corresponding to the third test task is sent to the control node.
[0079] In some embodiments, the method further comprises:
[0080] When the test task does not cover at least one test object and / or some functions of at least one test object cannot be detected, a fault injection test strategy is added to test the terminal under test; wherein, the fault injection test strategy is: a strategy for injecting at least one fault capability for testing; the fault capability includes: abnormal data injection, broadcast scanning and / or service attack.
[0081] According to a fourth aspect of an embodiment of the present disclosure, a test method is provided, which is performed by a terminal under test, and the method includes:
[0082] Receive a first test task sent by a test node; wherein the first test task is sent by a control node to the test node;
[0083] Testing the test object based on the first test task to obtain log data corresponding to the first test task;
[0084] The log data corresponding to the first test task is sent to the test node; wherein the log data is used by the control node to determine a test decision; and the test decision is at least used to decide on a test target that needs to continue testing.
[0085] In some embodiments, the first test task carries a first identifier of the terminal under test;
[0086] The receiving a first test task sent by the test node includes: receiving the first test task matching the first identifier.
[0087] In some embodiments, the method further comprises:
[0088] Receive a second test task sent by the test node; wherein the second test task carries a first identifier that matches the first terminal under test;
[0089] Based on the second test task, testing the test object of the first terminal under test;
[0090] Return the log data corresponding to the second test task to the test node.
[0091] In some embodiments, the method further comprises:
[0092] receiving a third test task sent by the test node; wherein the third test task carries a second identifier matching the first test object;
[0093] Based on the third test task, testing the first test object of the terminal under test;
[0094] Return the log data corresponding to the third test task to the test node.
[0095] In some embodiments, the method further comprises:
[0096] When triggering a test on a test object, determining abnormal problems of the terminal under test based on a tracking mechanism;
[0097] The log data corresponding to the abnormal problem is determined based on the abnormal problem.
[0098] In some embodiments, the determining of the abnormal problem of the terminal under test based on the tracking mechanism includes at least one of the following:
[0099] Based on the tracking mechanism introduced into the application, determine the abnormal problem of the application of the terminal under test;
[0100] Based on the tracking mechanism introduced into the application framework layer, determine the abnormal problem of the application framework layer of the terminal under test;
[0101] Based on the tracking mechanism introduced into the system operation layer, determine the abnormal problem of the system operation layer of the terminal under test;
[0102] Based on the tracking mechanism introduced into the operating system kernel layer, the abnormal problem of the operating system kernel layer of the terminal under test is determined.
[0103] In some embodiments, determining the log data corresponding to the abnormal problem based on the abnormal problem includes at least one of the following:
[0104] Based on the abnormal problem being a code-related abnormal problem, determining the log data corresponding to the code-related abnormal problem;
[0105] Based on the abnormal problem being a function-type abnormal problem, determining the log data corresponding to the function-type abnormal problem;
[0106] Based on the abnormal problem being a heap abnormal problem, determining the log data corresponding to the heap abnormal problem;
[0107] Based on the fact that the abnormal problem is a stack abnormal problem, the log data corresponding to the stack abnormal problem is determined.
[0108] According to a fifth aspect of an embodiment of the present disclosure, an electronic device is provided, the electronic device comprising:
[0109] a memory for storing processor-executable instructions;
[0110] A processor connected to the memory;
[0111] Wherein, the processor is configured to: implement the testing method described in any embodiment of the present disclosure when executing the executable instructions.
[0112] According to a sixth aspect of an embodiment of the present disclosure, a storage medium is provided, wherein the storage medium stores a computer executable program, wherein the computer executable program, when executed by a processor, implements the test method described in any embodiment of the present disclosure.
[0113] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects:
[0114] In an embodiment of the present disclosure, a test system is provided. The test system includes: a control node, a test node, and a terminal under test; the control node is connected to at least one of the test nodes, and one of the test nodes is connected to at least one of the terminal under test; the control node is used to send a first test task to the test node; wherein the first test task is used to test a test object; the test node is used to send the first test task to the terminal under test, and receive log data returned by the terminal under test based on the first test task; send the log data to the control node; the control node is also used to determine a test decision based on the log data; wherein the test decision is at least used to determine a test target that needs to continue testing.
[0115] In this way, the control node in the embodiment of the present disclosure can determine the appropriate test decision based on the log data to decide the test target for continued measurement; in this way, the test target for continued testing can be adjusted in a timely and accurate manner, thereby ensuring a reasonable and accurate evaluation of the stability and reliability of the terminal to be tested.
[0116] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0117] 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 present disclosure.
[0118] Figure 1 is a schematic diagram of a system architecture of a test system according to an exemplary embodiment;
[0119] Figure 2 is a structural schematic diagram of a test system according to an exemplary embodiment;
[0120] Figure 3 is a schematic diagram of a system architecture of a test system according to an exemplary embodiment;
[0121] Figure 4 is a schematic diagram of a system architecture of a test system according to an exemplary embodiment;
[0122] Figure 5 is a schematic diagram of a neural network model according to an exemplary embodiment;
[0123] Figure 6 is a flow chart of a testing method according to an exemplary embodiment;
[0124] Figure 7is a flow chart of a testing method according to an exemplary embodiment;
[0125] Figure 8 is a flow chart of a testing method according to an exemplary embodiment;
[0126] Fig. 9 is a flow chart of a testing method according to an exemplary embodiment;
[0127] Fig.10 The diagram is a schematic structural diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION
[0128] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices consistent with some aspects of the present disclosure as detailed in the appended claims.
[0129] In some embodiments, the steps of automated testing of the system stability of terminal devices are as follows: 1) Preset test environment: relay and hub hardware communicate, and / or terminal device mount can be identified; 2) Tool end creates tasks: select terminal devices to be tested, and / or configure parameters such as use case type and / or test duration; 3) Test task execution: control all terminal devices through ADB port, and execute tasks according to use case library configuration; 4) Capture logs at predetermined intervals and upload for analysis to extract faults. Figure 1 As shown, Figure 1 It is a schematic diagram of the system architecture of automated testing.
[0130] In the disclosed embodiment, Figure 2 FIG. 1 is a structural block diagram of a test system according to an exemplary embodiment. Figure 2 As shown, the test system includes: a control node, a test node, and a terminal under test; the control node is connected to at least one of the test nodes, and one of the test nodes is connected to at least one of the terminals under test;
[0131] The control node is used to send a first test task to the test node; wherein the first test task is used to test the test object;
[0132] The test node is configured to send the first test task to the terminal under test, receive log data returned by the terminal under test based on the first test task, and send the log data to the control node;
[0133] The control node is further used to determine a test decision based on the log data; wherein the test decision is at least used to determine a test target that needs to continue testing.
[0134] Optionally, a test decision is used to indicate the test objectives that require continued testing.
[0135] Optionally, the first test task is used to test at least one function of the test object. Exemplarily, the function includes at least one of the following: stability, response speed, and processing speed.
[0136] Exemplarily, the first test task is used to test at least one function of the test object, including at least one of the following:
[0137] The first test task is used to test the stability of the test object;
[0138] The first test task is used to test the response speed of the test object;
[0139] The first test task is used to test the processing speed of the test object.
[0140] In some embodiments, the control node may be used to perform related control operations in the test system.
[0141] In some embodiments, the control node may be any device with processing capability, for example, a server or a computer.
[0142] In some embodiments, the control node may include at least one of the following: an intelligent interaction engine, a web (WEB) front-end interaction platform, and a control center.
[0143] In some embodiments, the WEB front-end interactive platform can be used to perform at least one of the following operations:
[0144] Manage the terminals under test;
[0145] Create a test task;
[0146] Configure test parameters.
[0147] In some embodiments, the control center can be used to perform at least one of the following operations:
[0148] Receive test requests from the WEB front-end interactive platform and respond to and execute;
[0149] Manage the distribution process of test tasks;
[0150] Manage the task status of test tasks;
[0151] Receive event information of the test object in the tested terminal returned by the test node;
[0152] Receive page information of the test object in the tested terminal returned by the test node;
[0153] Send event information to the intelligent interaction engine;
[0154] Send page information to the intelligent interaction engine.
[0155] In some embodiments, the intelligent interaction engine can be used to perform at least one of the following operations:
[0156] Analyze and calculate based on the information sent by the control center and generate test decisions;
[0157] The test decision is sent to the test node through the control center, and then sent to the terminal under test through the test node.
[0158] In some embodiments, the intelligent interaction engine, the WEB front-end interaction platform and / or the control center can be located in the same device; or, the intelligent interaction engine, the WEB front-end interaction platform and / or the control center can be independently arranged in the test system, that is, respectively located in different independent devices.
[0159] In some embodiments, the test node may be used to perform test and / or data transfer related operations in the test system.
[0160] In some embodiments, the test node may be any terminal with processing capability. For example, the test node may be a personal computer (PC).
[0161] In some embodiments, the test node may be configured to perform at least one of the following operations:
[0162] Interact with the terminal under test and perform specific test processes;
[0163] Collecting event information of the test object in the tested terminal;
[0164] Collect page information of the test object in the tested terminal;
[0165] Send event information to the test node;
[0166] Send page information to the test node;
[0167] Receive the test decision sent by the test node and execute the corresponding test task based on the test decision.
[0168] In some embodiments, the terminal under test may be a terminal device tested in a test system.
[0169] In some embodiments, the terminal under test may be any mobile terminal or fixed terminal. The terminal under test may be a device that provides voice and / or data connectivity to a user. Exemplarily, the terminal under test may be an Internet of Things terminal, such as a sensor device, a mobile phone (or "cellular" phone), and a computer with an Internet of Things terminal, for example, a fixed, portable, pocket-sized, handheld, computer-built-in, or vehicle-mounted device. Alternatively, the terminal under test may also be a device of an unmanned aerial vehicle. Alternatively, the terminal under test may also be a vehicle-mounted device, for example, a driving computer with wireless communication capabilities, or a wireless terminal external to the driving computer.
[0170] In some embodiments, the terminal under test may include a first terminal under test and / or a second terminal under test.
[0171] In some embodiments, the control node may be connected to one or more test nodes. In the embodiments of the present disclosure, a plurality of nodes is two or more.
[0172] In some embodiments, the test node may be connected to one or more terminals under test.
[0173] In some embodiments, the test decision is used to determine at least one of the following: a test target, a test method, a test parameter, a test version, and a test environment.
[0174] Optionally, the test target may include: a terminal under test and / or a test object.
[0175] Optionally, the test method may include: a test function, a test algorithm and / or a test model.
[0176] Optionally, the test version may include: a first test version, a second test version and / or a third test version.
[0177] Optionally, the test environment may include: a development environment (dev), a test environment (test), a simulation environment (staging), an acceptance environment (uat) and / or a production environment (prod).
[0178] In some embodiments, the first test task may be one or more, and the plurality may be two or more. The plurality of first test tasks may be the same and / or different.
[0179] For example, Figure 3 and Figure 4 FIG. 1 is an architecture diagram of a test system according to an exemplary embodiment. Figure 3 and Figure 4 As shown, the control node includes an intelligent interaction engine, a WEB front-end interaction platform and a control center.
[0180] In some embodiments, the test subjects include but are not limited to at least one of the following:
[0181] Processes, functional modules, frames, events, pages, and controls.
[0182] Exemplarily, the process may be a process of a payment application of the first tested terminal.
[0183] Exemplarily, the function module may be a password input function module in a payment application of the first tested terminal.
[0184] Exemplarily, the event may be a click, input, slide, double-click and / or interface call action of the second tested terminal.
[0185] Exemplarily, the page may be a payment page in a payment application of the second tested terminal.
[0186] Exemplarily, the control may be a component corresponding to a click action and / or an input action of the second tested terminal.
[0187] In some embodiments, the first test task is used to test the test object, including:
[0188] The first test task is used to test at least one test object of the terminal under test.
[0189] In this way, the control node in the embodiment of the present disclosure can determine the appropriate test decision based on the log data to decide the test target for continued measurement; in this way, the test target for continued testing can be adjusted in a timely and accurate manner, thereby ensuring a reasonable and accurate evaluation of the stability and reliability of the terminal to be tested.
[0190] In some embodiments, the first test task carries a first identifier of the terminal under test;
[0191] The test node is configured to send the first test task to the tested terminal that matches the first identifier.
[0192] In some embodiments, the first identifier is used to identify the terminal under test corresponding to the test task.
[0193] In some embodiments, the second identifier in the following embodiments is used to identify the test object corresponding to the test task.
[0194] In some embodiments, the first identifier and the second identifier may be an index, a character string, a number and / or an address.
[0195] Exemplarily, the first identifier may be an address and / or model used to identify the first test terminal.
[0196] Exemplarily, the second identifier includes a first number and a second number; the first number is used to indicate the first test object; the second number is used to indicate the first test object.
[0197] In this way, the disclosed embodiment can accurately match the tested terminal and the test object corresponding to the test task according to the identifier, so as to facilitate the collection of event information and / or page information of the test object in the tested terminal during subsequent testing.
[0198] In some embodiments, the test target includes: a first terminal under test among the terminals under test;
[0199] The control node is configured to determine that it is necessary to continue testing the test object of the first terminal under test if it is determined based on the log data that an abnormality occurs in the test object of the second terminal under test among the terminals under test.
[0200] In some embodiments, the first terminal under test may be an untested terminal under test; and the second terminal under test may be a tested terminal under test.
[0201] In some embodiments, the control node is used to analyze the log data corresponding to the first test task to determine the second test task; wherein the second test task includes a test target.
[0202] In this way, the control node in the disclosed embodiment can timely analyze and adjust the test target according to the log data corresponding to the first test task to determine the second test task. In addition, the control node receives the log data corresponding to the second test task and makes further analysis and adjustment to reduce the situation where the test object exception is not handled in time.
[0203] In some embodiments, the control node is used to send a second test task to the test node; wherein the second test task carries the first identifier matching the first terminal under test, and the second test task is used to test the test object of the first terminal under test;
[0204] The test node is used to send the second test task to the first terminal under test, receive the log data returned by the first terminal under test based on the second test task, and send the log data to the control node.
[0205] In the embodiment of the present disclosure, when an abnormality occurs in the test object of the second terminal under test, the first terminal under test can be tested; in this way, all the terminals under test can be tested relatively comprehensively to eliminate the cause of the abnormality of the test object, and then debugging can be carried out in time according to the cause of the abnormality to ensure the stability and reliability of the terminal under test.
[0206] In some embodiments, the test target includes: a second terminal under test of the terminal under test;
[0207] The control node is configured to determine that the untested test object of the second test terminal needs to be continuously tested if it is determined based on the log data that no abnormality occurs to the test object of the second test terminal among the tested terminals.
[0208] In some embodiments, the control node is used to send a second test task to the test node; wherein the second test task carries the first identifier matching the second tested terminal and the second identifier matching the untested test object of the second test terminal, and the second test task is used to test the untested test object of the second test terminal;
[0209] The test node is used to send the second test task to the second terminal under test, receive the log data returned by the second terminal under test based on the second test task, and send the log data to the control node.
[0210] In this way, the disclosed embodiment can timely determine that the test target is other untested test objects in the second terminal under test when the test object of the second terminal under test does not show any abnormality. In addition, all test objects of the terminal under test can be tested in a timely and comprehensive manner, reducing the situation where multiple terminals under test repeatedly test the same test object, thereby reducing unnecessary waste of test resources.
[0211] In some embodiments, the test target includes: a first test object;
[0212] The control node is configured to determine that it is necessary to continue testing the first test object of the terminal under test if it is determined based on the log data that no abnormality occurs in the second test object of the terminal under test.
[0213] In some embodiments, the first test object is an untested test object; and the second test object is a tested test object.
[0214] In some embodiments, the control node is used to analyze the log data corresponding to the first test task to determine a third test task; wherein the third test task includes a test target.
[0215] In some embodiments, the control node is used to send a third test task to the test node, wherein the third test task carries a second identifier that matches the first test object of the terminal under test; the third test task is used to test the first test object of the terminal under test;
[0216] The test node is used to send the third test task to the terminal under test, receive the log data returned by the terminal under test based on the third test task, and send the log data to the control node.
[0217] In this way, in the embodiment of the present disclosure, when the second test object of the terminal under test does not show any abnormality, the test object can be adjusted to the first test object in a timely manner to test the untested test object. In addition, all test objects of the terminal under test can be fully tested to reduce the situation of the same test object, thereby reducing unnecessary waste of test resources.
[0218] In some embodiments, the test target includes: a second test object;
[0219] The control node is configured to determine that it is necessary to continue testing the second test object of the terminal under test if it is determined based on the log data that an abnormality occurs in the second test object of the terminal under test.
[0220] In some embodiments, the control node is used to send a third test task to the test node, wherein the third test task carries a second identifier that matches the second test object of the terminal under test; the third test task is used to test the second test object of the terminal under test;
[0221] The test node is used to send the third test task to the terminal under test, receive the log data returned by the terminal under test based on the third test task, and send the log data to the control node.
[0222] In this way, when an abnormality occurs in the second test object of the terminal under test, the embodiment of the present disclosure can continue to test and adjust the second test object of the terminal under test, so as to determine the cause of the abnormality and eliminate the abnormal fault in time.
[0223] In some embodiments, the control node is further configured to perform the following steps:
[0224] Segmenting the test object of the terminal under test based on a predetermined algorithm to obtain at least one level of test sub-objects;
[0225] Recursively traverse each level of test sub-objects to determine all test sub-objects at each level; wherein each test sub-object at each level has a corresponding identifier;
[0226] The data corresponding to the test sub-object at each level is input into the trained neural network model to determine the classification result of the test sub-object; wherein the classification result is used to characterize whether the test sub-object is the tested test object.
[0227] Exemplarily, the predetermined algorithm may be a neural network, a mathematical model and / or a graphics method.
[0228] In some embodiments, the classification results include: a first classification result for characterizing that the test sub-object is a tested test object and a second classification result for characterizing that the test sub-object is an untested test object.
[0229] Exemplarily, the test object is a payment application (APP), and the first-level test sub-objects may be a QR code scanning function module, a payment and collection module, a card wallet module, a transfer module, an accounting module, etc.; the second-level test sub-objects may be the corresponding lighting module, album module, and object recognition module under the QR code function module; the second-level test sub-objects may be the corresponding payment code module, payment code module, and payment method module under the payment and collection module; the second-level test sub-objects may be the corresponding expenditure module, income module, statistics module, and payment method classification module under the accounting module; the third-level test sub-objects may be the corresponding album image module under the album module, the corresponding flashlight module under the lighting module, and the corresponding scanning module under the object recognition module; the third-level test sub-objects may be the bank card module, balance module, loan module, etc. under the payment method module; and so on, until all the test sub-objects of the last level are determined.
[0230] In some embodiments, the neural network model may be any algorithm model for classifying data.
[0231] For example, Figure 5 As shown, the neural network model can be an unsupervised learning dimensionality reduction algorithm model. The control node inputs the data corresponding to the current test sub-object into the neural network model, compresses the data into a latent space representation, and generates training sample data to train the neural network model. The control node inputs the data corresponding to each level of the test sub-object into the trained neural network model, performs convolution pooling on the data, and determines the classification result of the test sub-object.
[0232] In this way, the disclosed embodiment can obtain each level of test sub-objects of the test object and accurately distinguish each level of test sub-objects, so as to facilitate determining whether the test sub-object is a tested test object; this is in turn conducive to subsequent adjustments to the test objectives based on the classification results, comprehensively covering all test objects to maximize the test capabilities.
[0233] In some embodiments, the system further comprises:
[0234] The terminal under test is used to determine abnormal problems of the terminal under test based on a tracking mechanism when triggering a test on a test object; and determine the log data corresponding to the abnormal problem based on the abnormal problem.
[0235] In some embodiments, the tracking mechanism can be used to throw and / or report abnormal data when an exception occurs in the test object.
[0236] In some embodiments, the tracking mechanism includes code tracking, visual tracking and / or no tracking (full tracking).
[0237] In some embodiments, the terminal under test is used to determine abnormal problems of the application of the terminal under test based on a tracking mechanism introduced to the application;
[0238] and / or,
[0239] The terminal under test is used to determine abnormal problems of the application framework layer of the terminal under test based on the tracking mechanism introduced to the application framework layer;
[0240] and / or,
[0241] The terminal under test is used to determine abnormal problems of the system operation layer of the terminal under test based on the tracking mechanism introduced into the system operation layer;
[0242] and / or,
[0243] The terminal under test is used to determine abnormal problems in the operating system kernel layer of the terminal under test based on the tracking mechanism introduced into the operating system kernel layer.
[0244] Exemplarily, the application includes but is not limited to at least one of the following: a music application, a chat application, a video application, and a payment application. For example, the terminal under test deploys the tracking mechanism in the music application. When an exception occurs in the music application, the corresponding exception data can be thrown based on the tracking mechanism to determine the location and cause of the abnormal problem.
[0245] The application framework layer includes, but is not limited to, at least one of the following: an activity manager, a window manager, a content provider, a view system, a package manager, a telephony manager, a resource manager, a location manager, a notification manager, and an Extensible Messaging and Presence Protocol (XMPP) service.
[0246] Exemplarily, the system operation layer includes but is not limited to at least one of the following: a system library and a C / C++ library.
[0247] In some embodiments, the operating system kernel layer may be a single kernel structure, a micro kernel structure, a hybrid kernel structure and / or an exokernel structure. Optionally, the operating system kernel layer may be a LINUX kernel layer.
[0248] In this way, by embedding the tracking mechanism into the system architecture that needs to be used in the test process, all test objects of the terminal under test can be fully covered, and the cause and location of the abnormal problem can be accurately determined; moreover, the corresponding data of the abnormal problem can be thrown out in real time, and the abnormality can be eliminated in time to ensure the stability of the terminal under test.
[0249] In some embodiments, the tested terminal is used to determine the log data corresponding to the code-type abnormal problem based on the abnormal problem being a code-type abnormal problem;
[0250] and / or,
[0251] The terminal under test is used to determine the log data corresponding to the function-type abnormal problem based on the abnormal problem being a function-type abnormal problem;
[0252] and / or,
[0253] The terminal under test is used to determine the log data corresponding to the heap abnormal problem based on that the abnormal problem is a heap abnormal problem;
[0254] and / or,
[0255] The terminal under test is used to determine the log data corresponding to the stack-type abnormal problem based on the abnormal problem being a stack-type abnormal problem.
[0256] Exemplarily, as shown in Table 1, Table 1 is a schematic diagram of classifying abnormal problems determined after parsing log data.
[0257]
[0258]
[0259] Table 1
[0260] It is understood that each element in the above Table 1 exists independently. These elements are exemplarily listed in the same table, but it does not mean that all elements in the table must exist at the same time as shown in the table. The value of each element is independent of the value of any other element in Table 1. Therefore, those skilled in the art can understand that the value of each element in Table 1 is an independent embodiment.
[0261] In this way, the location of the abnormal problem and the cause of the abnormal problem can be further refined and classified, making it easier for subsequent operators to eliminate the abnormal fault in a timely manner.
[0262] In some embodiments, the test node is used to add a fault injection test strategy to test the terminal under test when the test task does not cover at least one test object and / or some functions of at least one test object cannot be detected; wherein the fault injection test strategy is: a strategy based on injecting at least one fault capability for testing; the fault capability includes: abnormal data injection, broadcast scanning and / or service attack.
[0263] In some embodiments, some functions of the at least one test object cannot be detected, including:
[0264] Some functions of at least one test object cannot be detected based on the predetermined detection method.
[0265] Exemplarily, the predetermined detection method may be a user interface (UI) method.
[0266] Exemplarily, the abnormal data injection may be SQL abnormal injection, wherein the SQL abnormal injection includes: character type injection and / or numeric type injection.
[0267] Optionally, the test node performs a test based on SQL exception injection, including: inserting malicious code into a string, and then passing the string to an instance of SQL Server for analysis and execution; if the test result indicates that the test object has no abnormality, the test node can determine that the test object has an abnormality; if the test result indicates that the test object has an abnormality, the test node can determine that the test object has no abnormality.
[0268] Optionally, the test node performs a test based on broadcast scanning: including: intercepting the broadcast corresponding to the test object; if the interception is successful, the test node determines that the test object is abnormal; if the interception is unsuccessful, the test node determines that the test object is not abnormal. Exemplarily, the broadcast can be a telephone broadcast of a communication application.
[0269] Optionally, the test node performs a test based on a service attack, including: injecting abnormal parameters into the service corresponding to the test object, determining whether the abnormal parameters can be called and / or whether the service can be controlled by the abnormal parameters; if the test result indicates that the test node can call the abnormal parameters and / or can control the service by the abnormal parameters, determining that the test object is abnormal; if the test result indicates that the test node cannot call the abnormal parameters and / or cannot control the service by the abnormal parameters, determining that the test object is not abnormal. Exemplarily, the service includes at least one of the following: a music service provided by a music application, a video service provided by a video application, a voice service provided by a voice application, and / or a payment service provided by a payment application.
[0270] In this way, the test object can be tested from multiple angles, both forward and reverse, based on the fault injection strategy, to further accurately and proactively discover whether the test object has abnormalities and the causes of the abnormalities, so as to provide active and / or passive fault detection capabilities.
[0271] The following test method is performed by a control node, which corresponds to the above description of the test system and is similar to the description of the test method performed by the control node; and, for technical details not disclosed in the embodiment of the test method performed by the control node, please refer to the description of the test system example and / or the description of the test method example performed by the control node, and no detailed description is given here.
[0272] In the disclosed embodiment, Figure 6 A test method is shown according to an exemplary embodiment. Figure 6 As shown, the test method is executed by a control node, and the method includes:
[0273] Step S110: sending a first test task to a test node; wherein the first test task is used by the test node to send to at least one terminal under test connected to the test node, and the first test task is used to test a test object;
[0274] Step S120: receiving log data sent by the test node; wherein the log data is determined by the tested terminal based on the first test task;
[0275] Step S130: Determine a test decision based on the log data; wherein the test decision is at least used to determine a test target that needs to continue testing.
[0276] In some embodiments, the test target includes: a first terminal under test among the terminals under test;
[0277] The determining of the test decision based on the log data includes: if it is determined based on the log data that an abnormality occurs in a test object of a second terminal under test among the terminals under test, determining that it is necessary to continue testing the test object of the first terminal under test.
[0278] In some embodiments, the method further comprises:
[0279] Sending a second test task to the test node; wherein the second test task carries a first identifier matching the first terminal under test, and the second test task is used to test the test object of the first terminal under test;
[0280] Receive the log data returned by the first tested terminal based on the second test task.
[0281] In some embodiments, determining a test decision based on the log data includes:
[0282] A test decision is determined based on the log data returned by the first test task and / or the log data returned by the second test task.
[0283] In some embodiments, the test target includes: a first test object;
[0284] The determining of the test decision based on the log data includes: if it is determined based on the log data that no abnormality occurs in the second test object of the terminal under test, determining that the first test object of the terminal under test needs to be continued to be tested.
[0285] In some embodiments, the method further comprises:
[0286] Sending a third test task to the test node, wherein the third test task carries a second identifier matching the first tested object, and the third test task is used to test the first test object of the tested terminal;
[0287] Receive the log data returned by the terminal under test based on the third test task.
[0288] In some embodiments, determining a test decision based on the log data includes:
[0289] A test decision is determined based on the log data returned by the first test task, the log data returned by the second test task, and / or the log data returned by the third test task.
[0290] In some embodiments, the method further comprises:
[0291] Segmenting the test object of the terminal under test based on a predetermined algorithm to obtain at least one level of test sub-objects;
[0292] Recursively traverse each level of test sub-objects to determine all test sub-objects at each level; wherein each test sub-object at each level has a corresponding identifier;
[0293] The data corresponding to each level of the test sub-object is input into the trained neural network model to determine the classification result of the test sub-object; wherein the classification result is used to characterize whether the test sub-object is the tested test object.
[0294] In some embodiments, the test object includes at least one of the following:
[0295] Processes, functional modules, frames, events, pages, and controls.
[0296] The following test method is performed by a test node, which corresponds to the above description of the test system and is similar to the description of the test method performed by the test node; and, for technical details not disclosed in the test method embodiment performed by the test node, please refer to the description of the test system example and / or the description of the test method example performed by the test node, and no detailed description is given here.
[0297] In the disclosed embodiment, Figure 7 A test method is shown according to an exemplary embodiment. Figure 7 As shown, the test method is executed by a test node, and the method includes:
[0298] Step S210: receiving a first test task sent by a control node; wherein the first test task is used to test a test object;
[0299] Step S220: sending the first test task to the terminal under test;
[0300] Step S230: receiving log data returned by the terminal under test based on the first test task; wherein the log data is used by the control node to determine a test decision, wherein the test decision is at least used to determine a test target that needs to continue testing;
[0301] Step S240: Sending log data corresponding to the first test task to the control node.
[0302] In some embodiments, the first test task carries a first identifier of the terminal under test;
[0303] The sending the first test task to the terminal under test includes: sending the first test task to the terminal under test that matches the first identifier.
[0304] In some embodiments, the method further comprises:
[0305] receiving a second test task sent by the control node; wherein the second test task carries a first identifier matching the first terminal under test, and the second test task is used to test a test object of the first terminal under test;
[0306] Sending the second test task to the first tested terminal;
[0307] Receiving the log data returned by the first tested terminal based on the second test task;
[0308] Send the log data corresponding to the second test task to the control node.
[0309] In some embodiments, the method further comprises:
[0310] receiving a third test task sent by the control node; the third test task carries a second identifier matching the first test object, wherein the third test task is used to test the first test object of the terminal under test;
[0311] Sending the third test task to the terminal under test;
[0312] Receiving the log data returned by the tested terminal based on the third test task;
[0313] The log data corresponding to the third test task is sent to the control node.
[0314] In some embodiments, the method further comprises:
[0315] When the test task does not cover at least one test object and / or some functions of at least one test object cannot be detected, a fault injection test strategy is added to test the terminal under test; wherein, the fault injection test strategy is: a strategy for injecting at least one fault capability for testing; the fault capability includes: abnormal data injection, broadcast scanning and / or service attack.
[0316] The following test method is performed by the terminal under test, which corresponds to the description of the test system and is similar to the description of the test method performed by the terminal under test; and, for technical details not disclosed in the embodiment of the test method performed by the terminal under test, please refer to the description of the test system example and / or the description of the test method example performed by the terminal under test, and no detailed description is given here.
[0317] Figure 8 A test method is shown according to an exemplary embodiment. Figure 8 As shown, the test method is executed by the terminal under test, and the method includes:
[0318] Step S310: receiving a first test task sent by a test node; wherein the first test task is sent by a control node to the test node;
[0319] Step S320: testing the test object based on the first test task to obtain log data corresponding to the first test task;
[0320] Step S330: Send the log data corresponding to the first test task to the test node; wherein the log data is used by the control node to determine a test decision; the test decision is at least used to decide on a test target that needs to continue testing.
[0321] In some embodiments, the first test task carries a first identifier of the terminal under test;
[0322] The receiving a first test task sent by the test node includes: receiving the first test task matching the first identifier.
[0323] In some embodiments, the method further comprises:
[0324] Receive a second test task sent by the test node; wherein the second test task carries a first identifier that matches the first terminal under test;
[0325] Based on the second test task, testing the test object of the first terminal under test;
[0326] Return the log data corresponding to the second test task to the test node.
[0327] In some embodiments, the method further comprises:
[0328] receiving a third test task sent by the test node; wherein the third test task carries a second identifier matching the first test object;
[0329] Based on the third test task, testing the first test object of the terminal under test;
[0330] Return the log data corresponding to the third test task to the test node.
[0331] In some embodiments, the method further comprises:
[0332] When triggering a test on a test object, determining abnormal problems of the terminal under test based on a tracking mechanism;
[0333] The log data corresponding to the abnormal problem is determined based on the abnormal problem.
[0334] In some embodiments, the determining of the abnormal problem of the terminal under test based on the tracking mechanism includes at least one of the following:
[0335] Determine abnormal problems of the application of the terminal under test based on the tracking mechanism introduced to the application;
[0336] Based on the tracking mechanism introduced into the application framework layer, determine the abnormal problem of the application framework layer of the terminal under test;
[0337] Based on the tracking mechanism introduced into the system operation layer, determine the abnormal problem of the system operation layer of the terminal under test;
[0338] Based on the tracking mechanism introduced into the operating system kernel layer, the abnormal problem of the operating system kernel layer of the terminal under test is determined.
[0339] In some embodiments, determining the log data corresponding to the abnormal problem based on the abnormal problem includes at least one of the following:
[0340] Based on the abnormal problem being a code-related abnormal problem, determining the log data corresponding to the code-related abnormal problem;
[0341] Based on the abnormal problem being a function-type abnormal problem, determining the log data corresponding to the function-type abnormal problem;
[0342] Based on the abnormal problem being a heap abnormal problem, determining the log data corresponding to the heap abnormal problem;
[0343] Based on the fact that the abnormal problem is a stack abnormal problem, the log data corresponding to the stack abnormal problem is determined.
[0344] A specific example is provided below in combination with any of the above embodiments:
[0345] In an application scenario, such as Fig. 9 As shown, a test system includes: an intelligent interaction engine, a WEB front-end interaction platform, a control center, a test node and a device under test.
[0346] Step S901: deploy the device under test in the laboratory test environment; the test node can monitor the plug-in and unplug status of the device under test, and upload the device distribution information to the WEB front-end interactive platform for visual operation management.
[0347] Here, the device under test may be the terminal under test in the above embodiment.
[0348] Step S902: The WEB front-end interactive platform creates a task, the control center receives and parses the request corresponding to the task, and schedules the test node to execute the task.
[0349] Here, the task may be the test task in the above embodiment; wherein the test task includes a first test task, a second test task and / or a third test task.
[0350] Step S903: During the testing of the device under test, information such as executed processes, control analysis and / or events is automatically collected and uploaded to the data storage center of the intelligent interaction engine.
[0351] Step S904: the intelligent interaction engine performs a balanced exploration on the system and / or application (APP) under test, such as stimulating uncovered actions (ACTION) and / or event saturation, positively stimulating new pages, and negatively stimulating old pages.
[0352] Here, the system under test and / or APP may be the test object in the above embodiments.
[0353] Step S905: The test event-related data of all devices under test are shared and uniformly analyzed by the data brain of the intelligent interaction engine, supporting the multi-machine decision-making function of the test strategy, and different devices under test cover different functional modules.
[0354] Here, the test event related data may be the log data in the above embodiment; the functional module may be the test object in the above embodiment.
[0355] Step S906: The test node responds to the execution of the generated event stream and / or use case, dynamically adjusts the strategy, calls the extended capability and performs fault injection for the functions that cannot be detected based on the interface test.
[0356] Here, the event flow and / or use case may be the test task in the above embodiment; the strategy may be the test decision in the above embodiment.
[0357] Step S907: During the automated execution process, the device under test starts the underlying tracking function to capture exceptions in real time and accurately locate problems.
[0358] Here, the underlying dot function may be the dot-embedding mechanism of the above-mentioned embodiment.
[0359] Step S908: The test results are automatically transmitted back, and a test report is automatically generated after the test is completed.
[0360] Here, the test result may be the log data in the above embodiment.
[0361] In this way, the intelligent interaction engine in the embodiment of the present disclosure can dynamically adjust the strategy to decide the test target to continue measuring; in this way, the test target to continue testing can be adjusted in a timely and accurate manner, thereby ensuring a reasonable and accurate evaluation of the stability and reliability of the terminal to be tested.
[0362] Moreover, by testing the test object based on the fault injection strategy, the test can be performed from multiple angles, both forward and reverse, to further accurately and proactively discover whether the test object has abnormalities and the causes of the abnormalities, so as to provide active and / or passive fault detection capabilities.
[0363] Moreover, by embedding the underlying management function into the system architecture required in the test process, all test objects of the device under test can be fully covered, thereby accurately identifying the cause and location of abnormal problems; and the corresponding data of the abnormal problems can be thrown out in real time, thereby promptly eliminating the abnormalities and ensuring the stability of the device under test.
[0364] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the test system, and will not be elaborated here.
[0365] An embodiment of the present disclosure provides an electronic device, the electronic device comprising:
[0366] a memory for storing processor-executable instructions;
[0367] A processor connected to the memory;
[0368] Wherein, the processor is configured to: implement the test system described in any embodiment of the present disclosure when executing the executable instructions.
[0369] The memory may be various types of memory, such as random access memory, read-only memory, flash memory, etc. The memory may be used for information storage, for example, storing computer executable instructions, etc. The computer executable instructions may be various program instructions, for example, target program instructions and / or source program instructions, etc.
[0370] The processor may be any type of processor, for example, a central processing unit, a microprocessor, a digital signal processor, a programmable array, a digital signal processor, an application specific integrated circuit or an image processor, etc. The processor may be connected to the memory via a bus, which may be an integrated circuit bus, etc.
[0371] like Fig.10 As shown, an embodiment of the present disclosure shows a structure of an electronic device. Fig.10 The electronic device 900 includes a processing component 922, which further includes one or more processors, and a memory resource represented by a memory 932 for storing instructions executable by the processing component 922, such as an application. The application stored in the memory 932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 922 is configured to execute instructions to perform the aforementioned system test system.
[0372] The electronic device 900 may also include a power supply component 926 configured to perform power management of the electronic device 900, a wired or wireless network interface 950 configured to connect the electronic device 900 to a network, and an input / output (I / O) interface 958. The electronic device 900 may operate based on an operating system stored in the memory 932, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™ or the like.
[0373] An embodiment of the present disclosure provides a storage medium, wherein the storage medium stores a computer executable program, wherein the computer executable program, when executed by a processor, can implement the test system described in any embodiment of the present disclosure.
[0374] The computer-readable storage medium provided in the embodiments of the present disclosure may be any storage medium that can store program codes, such as ROM, PROM, EPROM, EEPROM, FlashMemory, magnetic surface storage, optical disk, or CD-ROM.
[0375] In the above embodiments provided in the present disclosure, it should be understood that the disclosed systems and devices can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the modules is only a logical function division. There may be other division methods in actual implementation, such as: multiple modules or components can be combined, or can be integrated into another system, or some features can be ignored, or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0376] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the embodiment of the present disclosure.
[0377] In addition, all functional units in the embodiments of the present disclosure may be integrated into one processing module, or each unit may be distinguished as a separate unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0378] It should be noted that: "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0379] In addition, the technical solutions described in the embodiments of the present disclosure may be arbitrarily combined without conflict.
[0380] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. The present disclosure is intended to cover any variations, uses or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are to be considered exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
[0381] It should be understood that the present disclosure is not limited to the exact structures that have been 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
1. A testing system, characterized in that: The test system comprises: a control node, a test node, and a terminal under test; the control node is connected to at least one of the test nodes, and one of the test nodes is connected to at least one of the terminals under test; The control node is used to send a first test task to the test node; wherein the first test task is used to test the test object; The test node is configured to send the first test task to the terminal under test, receive log data returned by the terminal under test based on the first test task, and send the log data to the control node; The control node is further used to determine a test decision based on the log data; wherein the test decision is at least used to determine a test target that needs to continue testing.
2. The system according to claim 1, characterized in that The first test task carries a first identifier of the terminal under test; The test node is configured to send the first test task to the tested terminal that matches the first identifier.
3. The system according to claim 1 or 2, characterized in that: The test target includes: a first terminal under test among the terminals under test; The control node is configured to determine that it is necessary to continue testing the test object of the first terminal under test if it is determined based on the log data that an abnormality occurs in the test object of the second terminal under test among the terminals under test.
4. The system according to claim 3, characterized in that The control node is used to send a second test task to the test node; wherein the second test task carries a first identifier matching the first terminal under test, and the second test task is used to test the test object of the first terminal under test; The test node is used to send the second test task to the first terminal under test, receive the log data returned by the first terminal under test based on the second test task, and send the log data to the control node.
5. The system according to claim 1 or 2, characterized in that: The test targets include: a first test object; The control node is configured to determine that it is necessary to continue testing the first test object of the terminal under test if it is determined based on the log data that no abnormality occurs in the second test object of the terminal under test.
6. The system according to claim 5, characterized in that The control node is used to send a third test task to the test node, wherein the third test task carries a second identifier matching the first test object, and the third test task is used to test the first test object of the terminal under test; The test node is used to send the third test task to the terminal under test, receive the log data returned by the terminal under test based on the third test task, and send the log data to the control node.
7. The system according to claim 1 or 2, characterized in that: The control node is further used to perform the following steps: Segmenting the test object of the terminal under test based on a predetermined algorithm to obtain at least one level of test sub-objects; Recursively traverse each level of test sub-objects to determine all test sub-objects at each level; wherein each test sub-object at each level has a corresponding identifier; The data corresponding to the test sub-object at each level is input into the trained neural network model to determine the classification result of the test sub-object; wherein the classification result is used to characterize whether the test sub-object is the tested test object.
8. The system according to claim 1 or 2, characterized in that: The test object includes at least one of the following: Processes, functional modules, frames, events, pages, and controls.
9. The system according to claim 1 or 2, characterized in that: The system further comprises: The terminal under test is used to determine abnormal problems of the terminal under test based on a tracking mechanism when triggering a test on a test object; and determine the log data corresponding to the abnormal problem based on the abnormal problem.
10. The system according to claim 9, characterized in that The terminal under test is used to determine abnormal problems of the application of the terminal under test based on the tracking mechanism introduced to the application; and / or, The terminal under test is used to determine abnormal problems of the application framework layer of the terminal under test based on the tracking mechanism introduced to the application framework layer; and / or, The terminal under test is used to determine abnormal problems of the system operation layer of the terminal under test based on the tracking mechanism introduced into the system operation layer; and / or, The terminal under test is used to determine abnormal problems in the operating system kernel layer of the terminal under test based on the tracking mechanism introduced into the operating system kernel layer.
11. The system according to claim 9, characterized in that The terminal under test is used to determine the log data corresponding to the code-type abnormal problem based on the abnormal problem being a code-type abnormal problem; and / or, The terminal under test is used to determine the log data corresponding to the function-type abnormal problem based on the abnormal problem being a function-type abnormal problem; and / or, The terminal under test is used to determine the log data corresponding to the heap abnormal problem based on that the abnormal problem is a heap abnormal problem; and / or, The terminal under test is used to determine the log data corresponding to the stack-type abnormal problem based on the abnormal problem being a stack-type abnormal problem.
12. The system according to claim 1 or 2, characterized in that: The test node is used to add a fault injection test strategy to test the terminal under test when the test task does not cover at least one test object and / or some functions of at least one test object cannot be detected; wherein the fault injection test strategy is: a strategy based on injecting at least one fault capability for testing; the fault capability includes: abnormal data injection, broadcast scanning and / or service attack.
13. A testing method, characterized in that: Executed by a control node, the method includes: Sending a first test task to a test node; wherein the first test task is used by the test node to send to at least one terminal under test connected to the test node, and the first test task is used to test a test object; Receiving log data sent by the test node; wherein the log data is determined by the terminal under test based on the first test task; Based on the log data, a test decision is determined; wherein the test decision is at least used to determine a test target that needs to continue testing.
14. The method according to claim 13, characterized in that The test target includes: a first terminal under test among the terminals under test; The determining of the test decision based on the log data includes: if it is determined based on the log data that an abnormality occurs in a test object of a second terminal under test among the terminals under test, determining that it is necessary to continue testing the test object of the first terminal under test.
15. The method according to claim 14, characterized in that The method further comprises: Sending a second test task to the test node; wherein the second test task carries a first identifier matching the first terminal under test, and the second test task is used to test the test object of the first terminal under test; Receive the log data returned by the first tested terminal based on the second test task.
16. The method according to claim 13, characterized in that The test targets include: a first test object; The determining of the test decision based on the log data includes: if it is determined based on the log data that no abnormality occurs in the second test object of the terminal under test, determining that the first test object of the terminal under test needs to be continued to be tested.
17. The method according to claim 16, characterized in that The method further comprises: Sending a third test task to the test node, wherein the third test task carries a second identifier matching the first test object, and the third test task is used to test the first test object of the terminal under test; Receive the log data returned by the terminal under test based on the third test task.
18. The method according to claim 13, characterized in that The method further comprises: Segmenting the test object of the terminal under test based on a predetermined algorithm to obtain at least one level of test sub-objects; Recursively traverse each level of test sub-objects to determine all test sub-objects at each level; wherein each test sub-object at each level has a corresponding identifier; The data corresponding to the test sub-object at each level is input into the trained neural network model to determine the classification result of the test sub-object; wherein the classification result is used to characterize whether the test sub-object is the tested test object.
19. The method according to claim 13, characterized in that The test object includes at least one of the following: Processes, functional modules, frames, events, pages, and controls.
20. A testing method, characterized in that: Executed by a test node, the method includes: Receive a first test task sent by a control node; wherein the first test task is used to test a test object; Sending the first test task to the terminal under test; Receiving log data returned by the terminal under test based on the first test task; wherein the log data corresponding to the first test task is used by the control node to determine a test decision, wherein the test decision is at least used to determine a test target that needs to continue testing; The log data corresponding to the first test task is sent to the control node.
21. The method according to claim 20, characterized in that The first test task carries a first identifier of the terminal under test; The sending the first test task to the terminal under test includes: sending the first test task to the terminal under test that matches the first identifier.
22. The method according to claim 20, characterized in that The method further comprises: Receive a second test task sent by the control node; wherein the second test task carries a first identifier matching the first terminal under test, and the second test task is used to test a test object of the first terminal under test; Sending the second test task to the first tested terminal; Receiving the log data returned by the first tested terminal based on the second test task; Send the log data corresponding to the second test task to the control node.
23. The method according to claim 20, characterized in that The method further comprises: receiving a third test task sent by the control node; wherein the third test task carries a second identifier matching the first test object, and the third test task is used to test the first test object of the terminal under test; Sending the third test task to the terminal under test; Receiving the log data returned by the tested terminal based on the third test task; The log data corresponding to the third test task is sent to the control node.
24. The method according to claim 20, characterized in that The method further comprises: When the test task does not cover at least one test object and / or some functions of at least one test object cannot be detected, a fault injection test strategy is added to test the terminal under test; wherein, the fault injection test strategy is: a strategy for injecting at least one fault capability for testing; the fault capability includes: abnormal data injection, broadcast scanning and / or service attack.
25. A testing method, characterized in that: The method is performed by the terminal under test and includes: Receive a first test task sent by a test node; wherein the first test task is sent by a control node to the test node; Testing the test object based on the first test task to obtain log data corresponding to the first test task; The log data corresponding to the first test task is sent to the test node; wherein the log data corresponding to the first test task is used by the control node to determine a test decision; the test decision is at least used to decide on a test target that needs to continue testing.
26. The method according to claim 25, characterized in that The first test task carries a first identifier of the terminal under test; The receiving a first test task sent by the test node includes: receiving the first test task matching the first identifier.
27. The method according to claim 25, characterized in that The method further comprises: Receive a second test task sent by the test node; wherein the second test task carries a first identifier that matches the first terminal under test; Based on the second test task, testing the test object of the first terminal under test; Return the log data corresponding to the second test task to the test node.
28. The method according to claim 25, characterized in that The method further comprises: receiving a third test task sent by the test node; wherein the third test task carries a second identifier matching the first test object; Based on the third test task, testing the first test object of the terminal under test; Return the log data corresponding to the third test task to the test node.
29. The method according to claim 25, characterized in that The method further comprises: When triggering a test on a test object, determining abnormal problems of the terminal under test based on a tracking mechanism; The log data corresponding to the abnormal problem is determined based on the abnormal problem.
30. The method according to claim 29, characterized in that The determining of the abnormal problem of the terminal under test based on the tracking mechanism includes at least one of the following: Based on the tracking mechanism introduced into the application, determine the abnormal problem of the application of the terminal under test; Based on the tracking mechanism introduced into the application framework layer, determine the abnormal problem of the application framework layer of the terminal under test; Based on the tracking mechanism introduced into the system operation layer, determine the abnormal problem of the system operation layer of the terminal under test; Based on the tracking mechanism introduced into the operating system kernel layer, the abnormal problem of the operating system kernel layer of the terminal under test is determined.
31. The method according to claim 29, characterized in that The determining, based on the abnormal problem, the log data corresponding to the abnormal problem comprises at least one of the following: Based on the abnormal problem being a code-related abnormal problem, determining the log data corresponding to the code-related abnormal problem; Based on the abnormal problem being a function-type abnormal problem, determining the log data corresponding to the function-type abnormal problem; Based on the abnormal problem being a heap abnormal problem, determining the log data corresponding to the heap abnormal problem; Based on the fact that the abnormal problem is a stack abnormal problem, the log data corresponding to the stack abnormal problem is determined.
32. An electronic device, comprising: a memory for storing processor-executable instructions; A processor connected to the memory; The processor is configured to execute the testing method as described in any one of claims 13 to 19, 20 to 24, or 25 to 31.
33. A storage medium, characterized in that: An executable computer program is stored on the storage medium, wherein when the executable computer program is executed by the processor, the testing method described in any one of claims 13 to 19, 20 to 24, or 25 to 31 is implemented.