CN112527689B - Application testing method and device and storage medium - Google Patents

Application testing method and device and storage medium Download PDF

Info

Publication number
CN112527689B
CN112527689B CN202110177636.3A CN202110177636A CN112527689B CN 112527689 B CN112527689 B CN 112527689B CN 202110177636 A CN202110177636 A CN 202110177636A CN 112527689 B CN112527689 B CN 112527689B
Authority
CN
China
Prior art keywords
control
node
application
information
logic tree
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.)
Active
Application number
CN202110177636.3A
Other languages
Chinese (zh)
Other versions
CN112527689A (en
Inventor
李安旭
李斌
李小琴
蒋剑琴
陈家顺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Tencent Technology Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110177636.3A priority Critical patent/CN112527689B/en
Publication of CN112527689A publication Critical patent/CN112527689A/en
Application granted granted Critical
Publication of CN112527689B publication Critical patent/CN112527689B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime

Abstract

The method constructs a control logic tree based on the identified control information of the controls, the logic relationship among the controls and the weight information of each control; the weight information is dynamically updated according to the pseudo input operation information which is already carried out by the control; and performing pseudo input operation on the selected control according to the control logic tree until a test ending condition is met, and obtaining an application test result of the target application. Therefore, the application test is carried out according to the constructed control logic tree and the dynamic weight, repeated click of the control is reduced, the traversal effectiveness and effectiveness of the control are improved, and the application test efficiency is obviously improved.

Description

Application testing method and device and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to an application testing method, an application testing device, and a storage medium.
Background
With the continuous development of applications, the functions of the applications are in a variety. Before the application program is on-line or released, the application program usually needs to be tested in advance to improve the running stability and the device compatibility of the application program.
The Monkey test may be used to test the stability of the application as well as the device compatibility of the application. Generally, the Monkey test is a program which can run in a simulator or an actual device, and a random pseudo input event stream (such as key input, touch screen input, gesture input and the like) is sent to a system, so that the test of an application program is realized.
Disclosure of Invention
The present disclosure provides an application test method, apparatus, and storage medium to solve at least one technical problem in the prior art.
In one aspect, the present disclosure provides an application testing method, including:
responding to an application test instruction, and identifying each control in each application interface in the target application to be tested;
constructing a control logic tree based on the identified control information of the controls, the logic relationship among the controls and the weight information of each control; each node in the control logic tree corresponds to each control in the application interface one by one, the weight information represents the probability that each control is selected to perform pseudo input operation, and the weight information is dynamically updated according to the pseudo input operation information which is already performed by the control;
performing pseudo input operation on the selected control according to the control logic tree until a test ending condition is met;
and obtaining an application test result of the target application according to the obtained test information corresponding to each pseudo input operation.
In another aspect, an application testing apparatus is provided, including:
the identification module is used for responding to the application test instruction and identifying each control in each application interface in the target application to be tested;
the construction module is used for constructing a control logic tree based on the identified control information of the controls, the logic relationship among the controls and the weight information of each control; each node in the control logic tree corresponds to each control in the application interface one by one, the weight information represents the probability that each control is selected to perform pseudo input operation, and the weight information is dynamically updated according to the pseudo input operation information which is already performed by the control;
the test module is used for carrying out pseudo input operation on the selected control according to the control logic tree until a test ending condition is met;
and the test result determining module is used for obtaining the application test result of the target application according to the obtained test information corresponding to each pseudo input operation.
In another aspect, a computer device is also provided, which includes a processor and a memory, in which at least one instruction, at least one program, set of codes, or set of instructions is stored, which is loaded and executed by the processor to implement the method of any one of the above.
In another aspect, there is also provided a computer readable storage medium having stored therein at least one instruction, at least one program, set of codes, or set of instructions for being loaded by a processor and for executing a method as described in any one of the above.
In another aspect, a computer program product or a computer program is also provided, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform any of the methods described above in this embodiment.
The application test method, the application test device and the storage medium have the following technical effects:
the method and the device for testing the target application identify each control in each application interface in the target application to be tested by responding to the application testing instruction; constructing a control logic tree based on the identified control information of the controls, the logic relationship among the controls and the weight information of each control; each node in the control logic tree corresponds to each control in the application interface one by one, the weight information represents the probability that each control is selected to perform pseudo input operation, and the weight information is dynamically updated according to the pseudo input operation information which is already performed by the control; performing pseudo input operation on the selected control according to the control logic tree until a test ending condition is met; and obtaining an application test result of the target application according to the obtained test information corresponding to each pseudo input operation. Therefore, by constructing the control logic tree and carrying out application test according to the control logic tree and the dynamic weight, repeated click of the control is reduced, the traversal effectiveness and effectiveness of the control are improved, and the application test efficiency is obviously improved.
Drawings
In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions and advantages of the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present disclosure, and other drawings can be obtained by those skilled in the art without inventive efforts.
FIG. 1 is a schematic diagram of a hardware environment to which a testing method is applied according to an embodiment of the present disclosure;
fig. 2 is a schematic flow chart of an application testing method provided in the embodiment of the present disclosure;
FIG. 3 is an exemplary logical tree diagram of controls provided by embodiments of the present disclosure;
FIG. 4 is a schematic flow chart diagram illustrating another application testing method provided by the embodiments of the present disclosure;
FIG. 5 is a schematic diagram of an exemplary control logic tree containing operation paths provided by an embodiment of the present disclosure;
FIG. 6 is an overall process diagram of another application testing method provided by the embodiment of the present disclosure;
fig. 7 is a block diagram of an application testing apparatus according to an embodiment of the present disclosure;
FIG. 8 is a block diagram of another application testing apparatus provided in the embodiments of the present disclosure;
fig. 9 is a hardware structure diagram of an apparatus provided by the present disclosure for implementing the method provided by the embodiment of the present disclosure.
Detailed Description
The technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure, and it is obvious that the described embodiments are only a part of the embodiments of the present disclosure, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments disclosed herein without making any creative effort, shall fall within the protection scope of the present disclosure.
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. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or server that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Referring to fig. 1, fig. 1 is a schematic diagram of a hardware environment applying a testing method according to an embodiment of the present disclosure, and as shown in fig. 1, the hardware environment may include at least a terminal 10 and a server 20.
The terminal 10 may be used as a device for hosting applications, and the server 20 may be used for providing a background application test service for the terminal 10. For example, the terminal 10 may run an application to be tested, and the server 20 performs an application test on the application to be tested on the terminal and generates an application test result, and then feeds the application test result back to a tester.
The terminal 10 may be an entity device such as a tablet computer, a notebook computer, a desktop computer, a smart phone, a smart speaker, a smart wearable device, a digital assistant, an augmented reality device, a virtual reality device, or an application running in the entity device, but is not limited thereto. The server 20 may include an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a network service, cloud communication, a middleware service, a domain name service, a security service, a CDN, a big data and artificial intelligence platform, and the like. The terminals and servers may be connected directly or indirectly through wired or wireless communication, and the terminals and servers may be nodes on a blockchain. The present disclosure is not limited thereto.
It should be noted that, in practical applications, the application test method may also be implemented in a terminal, or implemented by both the terminal and a server.
Of course, the method provided by the embodiment of the present disclosure is not limited to be used in the hardware environment shown in fig. 1, and may also be used in other possible hardware environments, and the embodiment of the present disclosure is not limited thereto. The functions that can be implemented by each device in the hardware environment shown in fig. 1 will be described in the following method embodiments, and will not be described in detail herein.
Fig. 2 is a schematic flow chart diagram of an application testing method provided by the embodiment of the disclosure, and the present specification provides the method operation steps as described in the embodiment or the flow chart diagram, but more or less operation steps can be included based on conventional or non-inventive labor. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. In practice, the system or server product may be implemented in a sequential or parallel manner (e.g., parallel processor or multi-threaded environment) according to the embodiments or methods shown in the figures. Specifically, as shown in fig. 2, the method may include:
s201, responding to an application test instruction, and identifying each control in each application interface in the target application to be tested.
Alternatively, before the application test is performed, the program code of the to-be-debugged version of the application to be tested may be downloaded and installed in advance. Next, the operator may generate an application test command by triggering the application test button. The application test instruction can be used for instructing to perform Monkey testing on the target application to be tested. After receiving the application test instruction, the target application to be tested can be loaded and run, and then each application interface corresponding to the target application is entered. The target application may include, but is not limited to, an instant messaging application, a shopping application, a video application, a live application, a gaming application, a news application, and the like.
Each target application can be composed of application interfaces or windows, multiple application interfaces or windows can exist at the same time, but only one application interface or window is usually in an activated state, each application interface can include at least one control (such as a click box, a button, a slider, an input box, a pull-down menu and the like), and a control triggering the current application interface can jump to a next/previous application interface and can display a sub-control associated with the control in the current application interface.
The Monkey test is mainly used for testing each control in an application interface, so that each control in each application interface in a target application needs to be identified, the identified controls are conveniently tested subsequently, and whether a BUG (BUG) exists in the program code of the version is judged by detecting whether the control has abnormal problems such as application non-response (anr) and crash (crash).
For example only, taking the target application as a Windows application as an example, Pywinauto may be adopted to identify and operate a control in the application interface. The Pywinuto is a Windows automation test script module which is developed based on Python and can support the background of UIA (Microsoft User Interface automation), and provides a series of functions of programmable processing of Windows standard controls, including designation of Windows, mouse or keyboard operation and the like; meanwhile, the method can conveniently acquire the control tree of the window and all the attributes of each control. The UIA is a technology provided by Microsoft for automated testing, and provides a plurality of dlls (a library containing codes and data which can be used by a plurality of programs at the same time) and a set of API (Application Programming Interface) and interfaces and corresponding modes thereof, so that the control and the Application program have better accessibility, and the control tree structure and all attributes of the Windows Application can be obtained through the UIA.
Specifically, after obtaining the connection of the Windows application, the Pywinauto finds a matched window through the attributes of the name, the class name, whether the window is visible, and the like of the window, and further, may identify all the controls in each application interface according to the classname and the processed (process ID) of each element in the application interface. Then, the user can execute relevant operations such as acquiring control attributes, judging logical relations among the controls, clicking a mouse, inputting a keyboard and the like on the specified controls through the Pywinauto, so that the subsequent Windows application test can be conveniently realized.
S202, a control logic tree is constructed based on the identified control information of the controls, the logic relation among the controls and the weight information of each control.
Optionally, after identifying each control in each application interface in the target application, control information of the identified controls, logical relationships between the controls, and weight information of each control may be obtained first, and then a control logical tree may be constructed based on the obtained information. And each node in the control logic tree corresponds to each control in the application interface one by one.
Optionally, the control information of the control may include control attribute information, which may include a control name and control description information, and may also include a control class name, position coordinates, whether operable, text, and other control attribute information.
The logical relationship between the controls is used for reflecting the relationship attributes between the controls, such as the superior-inferior relationship, the peer relationship and the like. The hierarchical relationship can be represented by the parent-child node relationship in the control logic tree, and the peer relationship can be represented by the brother node relationship of the same node layer in the control logic tree.
And the weight information of the control is used for representing the probability of each control being selected to perform the pseudo input operation, and the weight information is dynamically updated according to the pseudo input operation information which is already performed by the control. Each node in the constructed control logic tree can be endowed with the weight information parameter of the corresponding control. The weight information may be represented by a decimal number, an integer, and the like, which is not specifically limited by the present disclosure. Because the Monkey test is a program which can run in a simulator or actual equipment, the test of the application program is realized by sending a random pseudo input event stream (such as key input, touch screen input, gesture input and the like) to the system, wherein the execution of one pseudo input operation on each pair of selected controls is equivalent to the execution of one Monkey test on the selected controls.
In an alternative embodiment, even though the controls for the entire target application are extracted, most of the controls are not meaningful because the control logical tree structure is heavily populated with structural and arrangement information. At this time, the constructing a control logic tree based on the identified control information of the controls, the logical relationship between the controls, and the weight information of each control may include: based on the control information of the control, filtering the identified controls to obtain a target control; the target control is a control with a pseudo input operation meaning; and constructing a control logic tree based on the control information of the target controls, the logic relation among the target controls and the weight information of each target control.
Optionally, the controls are further filtered, so that the controls with the meaning of the pseudo input operation can be obtained through screening. This filtering process can be recursively filtered. In practical application, a control logic tree containing only meaningful controls can be obtained by filtering layout layers and some invisible controls in the target application. By screening and filtering the control logic tree, the tree structure can be simplified, unnecessary control searching and testing operations are reduced, and the application testing efficiency is further improved.
In practical applications, as an exemplary control logic tree shown in fig. 3, taking a target application as a Windows application as an example, the overall control information structure of the Windows application may be a tree structure taking a desktop as a root node (denoted as R), three nodes a1, a2, and A3 exist in a first page of the Windows application, the three nodes are child nodes of the root node R, a parent-child node relationship among the three nodes is reflected by a connecting line among R-a1, R-a2, and R-A3, and a1, a2, and A3 are child nodes belonging to the root node R, and then the three nodes are siblings of the same node layer. And if the A1 node is triggered, jumping to the next-level application interface, wherein two nodes B1 and B2 exist in the next-level application interface, and the two nodes are child nodes of A1 and are associated through a connecting line. By analogy, B3 and B4 are child nodes of a2 and A3, respectively, C1 and C2 are child nodes of B1, C3 and C4 are child nodes of B2, C4, C5 and C6 are child nodes of B3, and C7 and C8 are child nodes of B4. Since C4 is a common child of B2 and B3, there is a connection between the C4 node and the B2 node and between the C4 node and the B3 node.
In an optional embodiment, the control logic tree may be constructed in real time, that is, for each current application interface, a server executing a Monkey test may first identify a control of the current application interface, construct the control logic tree based on information of the control, and then jump to a new application interface, acquire each control in the new application interface in real time, and add new control information acquired in real time to the already constructed control logic tree to obtain an updated control logic tree. And when a new application interface is triggered, the previous application interface is usually subjected to Monkey testing, and the weight information of the control subjected to Monkey testing is adjusted to obtain updated weight information. For example only, if the current weight information of the control 1 in the current application interface is a, the weight information of the control 1 in the constructed control logic tree is a. And when the Monkey test is executed on each control in the current application interface, jumping to a new application interface, and adding each control in the new application interface as a new control node to the constructed control logic tree to obtain an updated control logic tree. At this time, since the control 1 has already executed the Monkey test in the updated control logic tree, the weight information of the control 1 is adjusted from a to updated weight information a', that is, the weight information of the corresponding control in the control logic tree is updated.
In addition, besides continuously adding new control nodes into the control logic tree, the weight information of the control nodes existing in the control logic tree can be updated in real time, so that real-time application test can be performed, the control construction time is saved, and particularly for application programs containing complex controls, the efficiency of the application test can be obviously improved.
And S203, performing pseudo input operation on the selected control according to the control logic tree until a test ending condition is met.
Optionally, the pseudo input operation includes, but is not limited to, operation types such as single-double click, keyboard input, right key, sliding, dragging and the like, and the specific operation type of the pseudo input operation is determined according to the type of the control. For example only, if the selected control is an input box, the corresponding pseudo input operation is a keyboard input. And if the selected control is a slide block, the corresponding pseudo input operation is sliding.
In an optional embodiment, as shown in fig. 4, the performing, according to the control logic tree, a pseudo input operation on the selected control until a test end condition is met includes:
s401, performing pseudo input operation on the selected control according to the weight information of each node in the control logic tree.
Optionally, each node in the control logic tree may contain weight information, and the weight information of all nodes is normalized. Here, the weight information of the node is current weight information, which may be initial weight information or updated weight information at the previous time.
The weight information of different nodes may be the same, for example, if the weight information is initial weight information, the initial weight information of each node may be 1/n, where n is the total number of all nodes. Of course, the weight information of different nodes may also be different, for example, a higher weight may be set for a node corresponding to a control requiring more pseudo input operation times, and a lower weight may be set for a node corresponding to a control requiring less pseudo input operation times. Therefore, the differential Monkey test can be carried out according to the actual operation condition of the control, and the actual operation requirement of the user can be met.
In an alternative embodiment, as shown in fig. 4, performing a pseudo input operation on the selected control according to the weight information of each node in the control logic tree may include:
s4011, determining a current target node from a current node layer where a current application interface of the control logic tree is located according to weight information of each node in the control logic tree;
s4012, according to the control identification of the current target node, searching a target control corresponding to the control identification in the current application interface, and executing a pseudo input operation on the target control;
s4013, if the next-level application interface is jumped to, determining a current target child node corresponding to the current target node from a next-level node layer corresponding to the next-level application interface of the control logic tree;
s4014, according to the control logic tree, performing depth traversal on the controls corresponding to the subordinate nodes of the current target child node to execute pseudo input operation; the depth traversal refers to traversing each descendant control node of the control node A until all leaf control nodes of the control node A are traversed, and the depth traversal of the control node A is realized.
S4015, when it is determined that the depth of the current target child node is completely traversed and the current target child node has a brother node, continuously selecting a next target child node of the current target node according to the weight information, and taking the next target child node as the current target child node;
s4016, repeatedly executing the step of performing the depth traversal on the controls corresponding to the subordinate nodes of the current target child node to execute the pseudo input operation until all child nodes of the current target node are determined to be traversed.
In practical application, as shown in fig. 3, if the current target node is a1, the control corresponding to the a1 node is output, the application interface is moved to the next-level application interface, the current target child node B1 corresponding to a1 is determined, the B1 child node is deeply traversed, that is, the leaf nodes C1 and C2 of the B1 child node are traversed, and corresponding pseudo input operations are performed on the leaf nodes C1 and C2 according to the control types of the leaf nodes C1 and C2. The pseudo input operation includes, but is not limited to, a single double click, a keyboard input, a right key, a slide, a drag, and the like. For example, for the control type of the text input box, a random text string input operation is performed; and executing single-click or long-press operation on the button class control type, and the like. When all leaf nodes of the B1 child node are detected to be traversed, it is determined that the B1 child node has performed the depth traversal, and if there are siblings B2 and B3 in the B1 child node, a next target self node is selected from the siblings, for example, B2 is selected as the current target child node, and the depth traversal as the B1 child node is repeatedly performed on the B2 child node until all child nodes of the current target node a1 have been traversed. By analogy, the traversal operation of each node can be continuously executed by taking other sibling nodes of A1 as the current target node.
In an optional embodiment, the control identifier of each node in the control logical tree includes a control name and control description information. Therefore, after the node to be operated is determined, when the control is searched recursively, only the name (name) and the description information (description) of the control are used for uniquely identifying the control, and other control attributes are obtained and used only when a single selected control is operated, so that when the node is just started to be stored, all the controls and all the attributes of the controls of the current window need to be searched recursively again without executing pseudo input operation on each control once, and only the name and the description information of the control are obtained as the control identification of the node for searching the control, all the attributes of the control do not need to be obtained, and other attributes of the control are obtained through the windll only when the name and the description information of the control are needed. After the optimization and adjustment, the access speed of a single control is reduced to within 1s from about 4s on average, and the application testing efficiency is greatly improved.
S402, updating the weight information according to the pseudo input operation information of each control to obtain updated weight information.
The pseudo input operation information may include the number of pseudo input operations, the result of the pseudo input operation, and the like.
Optionally, if the pseudo input operation information includes the number of pseudo input operations, the formula for calculating the updated weight information may be: updated weight information = historical weight value/(number of control operations/preset weight factor). The preset weighting factor may be a constant coefficient, and different values may be set according to the importance degree of the control.
For example, if the historical weight value of a control a is 0.2, the preset weight factor is 1, and the control a has been previously performed 5 times (for example, clicked 5 times) of the input operation, the updated weight information of the control a =0.2/(5/1) = 0.04. If the historical weight value of a control B is 0.5, the preset weight factor is 1, and the control B has been previously input 2 times (for example, clicked 2 times), the updated weight information =0.5/(2/1) = 0.25. If the historical weight value of a control C is 0.5, the preset weight factor is 2, and the control C has been previously input 2 times (for example, clicked 2 times), the updated weight information =0.5/(2/2) = 0.5.
In practical application, after the updated weight information of all the controls is determined, normalization processing can be performed on the updated weight information obtained through calculation. This normalization process includes, but is not limited to, normalizing the sum of the weights of all controls to 1. At this time, the weight obtained by the normalization processing may be used as a final updated weight value of each control, and the final updated weight value may be used as a current weight value of each control. The larger the current weight value of the control is, the greater the probability that the control is selected to execute the Monkey test is.
In another alternative, if the pseudo input operation information includes the number of pseudo input operations, the formula for calculating the updated weight information of one control may further be:
sum*=(clickTimesForActivity/viewWeightForActivity)/(viewRecord.clickTimes/viewRecord.weight)
wherein sum represents weight information of control update, "=" is a value operator, clickTimesForActivity represents the number of times a page is clicked, viewWeightForActivity represents the sum of page control weights, viewrecord.
For example, if there are 4 widgets in a page and the weight values of these 4 widgets are 1, 2, 3 and 4, respectively, then viewWeightForActivity =1+2+3+4= 10.
Weight in the above formula is positively correlated with the size of the control and the type of the control. Where the control size may be expressed as sqrt (node.width.node.height), where node.width.node.height represents the area of the control. For the control types, if a certain control is an input type, the control type is set to have a relatively large weight value (for example, set to 3), and other control types may be set to have a relatively small weight value (for example, set to 1). Illustratively, if the widget area of a widget M is 4 and its type is input type, then the widget M has viewrecord = sqrt (4) × 3= 6. If the widget area of a widget N is 1 and its type is input type, then the widget M has viewrecord. If the widget area of a widget P is 1 and its type is not input type, then the widget M has viewrecord.
In practical application, after the updated weight information of all the controls in the control logic tree is determined, normalization processing can be performed on all the calculated weight values to obtain the final updated weight information of each control. This normalization process includes, but is not limited to, normalizing the sum of the weights of all controls to 1.
If the pseudo input operation information comprises a pseudo input operation result, and the pseudo input operation result shows that the control corresponding to the node is abnormal, the abnormal control information can be recorded, the node corresponding to the control is removed from the control logic tree, and the control logic tree and the weight information of each node are updated.
By dynamically adjusting the weight information of the control, the control which is not clicked or has fewer clicks obtains larger weight, more controls can be ensured to be clicked as far as possible, and meanwhile, a large amount of repeated operations can be well avoided, so that invalid operations on abnormal controls can be reduced, and the application test efficiency and effectiveness are improved.
And S403, determining a control operation path based on the control logic tree and the updated weight information, and sequentially executing pseudo input operation on the selected control according to the control operation path.
Optionally, the determining a control operation path based on the control logic tree and the updated weight information includes: determining the sequence of the controls to be operated based on the control logic tree and the updated weight information; and determining a control operation path according to the sequence of the controls to be operated.
In practical application, as shown in fig. 5, when the traversal is performed on the leaf nodes of the a1 node, the dummy input operation has been performed on the leaf nodes of C1, C2, C3 and C4, and when the traversal is performed on the a2 node, since C4 is a common child node of B2 and B3, the weight of C4 is smaller than the weight of C5 and C6, so that when the deep traversal is performed on the B3 child node, it is preferable to traverse C5 and C6, and reduce traversal C4. At this time, for example only, the determined control operation path may be A2-B3-C5-C6-C5-C6-C4 (as shown by the dotted line in FIG. 5) according to the control logical tree and the updated weight information. And after the control operation path is determined, executing pseudo input operation on the control corresponding to each node according to the node sequence in the control operation path.
Alternatively, for the controls with the same weight in the same window, the control performing the pseudo input operation each time can be selected through a random algorithm. By way of example only, the random algorithm may be a roulette algorithm, which is essentially a randomly selected algorithm.
S404, repeatedly executing the updating step of the weight information and the step of sequentially executing the pseudo input operation on the control according to the control operation path until the test ending condition is met.
Optionally, the test ending condition includes at least one of reaching a preset test time, finishing traversing the control corresponding to each node in the control logic tree, and reaching a preset test frequency.
The preset test time may be determined according to the complexity of the control in the target application, for example, the preset test time may be 7 to 10 hours, and when an application test is performed on a new target application, the preset test time may be initialized to a matching numerical value. The preset number of tests may be an average number of times that each control in the target application executes the Monkey test, or a total number of times that the target application executes the Monkey test.
In an optional embodiment, in the application testing method, the operation priority of the descendant node corresponding to the first parent node in the control logic tree is higher than the operation priorities of other unoperated parent nodes. Specifically, when the child control of the parent node is not traversed completely in the current window, no operation is performed on other parent nodes, that is, a control logic tree structure with operation priority is established, so that the priority order of the nodes in the control logic tree is set, an attempt is always made to click on the control of a node with higher operation priority (for example, a descendant node with a lower order), and then the control with lower operation priority (for example, a parent node with a higher order) is operated. And according to the control tree structure added with the logic, after a new control appears after clicking a certain control, adding the newly appeared control into the child node of the control node. And the other parent control can be operated only when the child control clicks over. Experiments show that the coverage rate of the Monkey testing method after operation priority optimization can reach about 80%.
And S204, obtaining an application test result of the target application according to the obtained test information corresponding to each pseudo input operation.
Optionally, the obtaining an application test result of the target application according to the obtained test information corresponding to each pseudo input operation may include: generating an application test report based on the application test result of the target application; and sending or displaying the application test report.
Illustratively, for the target application being a Windows application, it may be detected whether the target application has a crash (crash) by detecting the bug process, and if so, the crash file is acquired. Whether the window is not responded, that is, whether application non-response occurs or not can be detected through the Win32 API IsHungAppWindow () function (anr), and if anr is detected, the dmp file can be captured through a procamp tool.
The application test report may include attribute information of the exception control and exception information thereof. Besides, the application test report can also include the test times of the control with abnormity, the control operation path and the like.
The method and the device for testing the target application identify each control in each application interface in the target application to be tested by responding to the application testing instruction; constructing a control logic tree based on the identified control information of the controls, the logic relationship among the controls and the weight information of each control; each node in the control logic tree corresponds to each control in the application interface one by one, the weight information represents the probability that each control is selected to perform pseudo input operation, and the weight information is dynamically updated according to the pseudo input operation information which is already performed by the control; performing pseudo input operation on the selected control according to the control logic tree until a test ending condition is met; and obtaining an application test result of the target application according to the obtained test information corresponding to each pseudo input operation. Therefore, by constructing the control logic tree and carrying out application test according to the control logic tree and the dynamic weight, repeated click of the control is reduced, the traversal effectiveness and effectiveness of the control are improved, and the application test efficiency is obviously improved.
Fig. 6 is a schematic overall process diagram of another application testing method provided in the embodiment of the present disclosure, specifically as shown in fig. 6, the method may include:
s601, running a target application;
s602, judging whether a test ending condition is met; if the determination result is no, executing step S603, otherwise, executing step S615;
s603, acquiring control information of the current application interface;
s604, updating the control logic tree;
s605, performing depth traversal on the control corresponding to each subordinate node of the current target child node of the current target node;
s606, judging whether the current target child node is completely traversed in depth; if the determination result is negative, executing step S607, otherwise, executing step S608;
s607, continuously traversing the current target child node;
s608, acquiring weight information of the control;
s609, continuously selecting a next target child node of the current target node according to the weight information, taking the next target child node as the current target child node, and traversing all child nodes of the current target node;
s610, selecting a control and determining a control operation path according to the weight information;
s611, executing a pseudo input operation and updating the weight information of the control;
s612, judging whether crash and anr are detected; if yes, go to step S613; otherwise, go to step S614;
s613, collecting crash and anr information;
s614, updating the current target node, and returning to the step S602;
and S615, generating a test report.
It should be noted that, for the details of the application test method in the embodiments of the present disclosure, reference is made to the description of the application test method in the foregoing embodiments, and details are not repeated herein.
It is noted that while for simplicity of explanation, the foregoing method embodiments have been described as a series of acts or combination of acts, it will be appreciated by those skilled in the art that the present disclosure is not limited by the order of acts, as some steps may, in accordance with the present disclosure, occur in other orders and concurrently. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required for the disclosure.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present disclosure may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present disclosure.
The following are embodiments of the disclosed apparatus that may be used to perform embodiments of the disclosed methods. For details not disclosed in the embodiments of the apparatus of the present disclosure, refer to the embodiments of the method of the present disclosure.
Referring to fig. 7, a block diagram of an application testing apparatus according to an embodiment of the disclosure is shown. The apparatus may have functions of implementing the above method examples, and the functions may be implemented by hardware or by hardware executing corresponding software. The application testing apparatus may include:
the identification module 710 is configured to identify, in response to an application test instruction, each control in each application interface in the target application to be tested;
a building module 720, configured to build a control logic tree based on the identified control information of the controls, the logical relationship among the controls, and the weight information of each control; each node in the control logic tree corresponds to each control in the application interface one by one, the weight information represents the probability that each control is selected to perform pseudo input operation, and the weight information is dynamically updated according to the pseudo input operation information which is already performed by the control;
the test module 730 is used for performing pseudo input operation on the selected control according to the control logic tree until a test ending condition is met;
the test result determining module 740 is configured to obtain an application test result of the target application according to the obtained test information corresponding to each pseudo input operation.
In an alternative embodiment, as shown in fig. 8, the test module 730 includes:
the first testing sub-module 731 is configured to perform a pseudo input operation on the selected control according to the weight information of each node in the control logic tree;
the updating submodule 732 is configured to update the weight information according to the pseudo input operation information that has been performed on each control, so as to obtain updated weight information;
the second testing sub-module 733, configured to determine a control operation path based on the control logic tree and the updated weight information, and sequentially perform a pseudo input operation on the selected control according to the control operation path;
the third testing sub-module 734 is configured to repeatedly perform the step of updating the weight information and the step of sequentially performing a pseudo input operation on the control according to the control operation path until a test end condition is met.
In an optional embodiment, the first test submodule is specifically configured to:
determining a current target node from a current node layer where a current application interface of the control logic tree is located according to the weight information of each node in the control logic tree;
searching a target control corresponding to the control identification in the current application interface according to the control identification of the current target node, and executing a pseudo input operation on the target control;
if the current target sub-node is jumped to the next level of the application interface, determining a current target sub-node corresponding to the current target node from a next level node layer corresponding to the next level of the application interface of the control logic tree;
according to the control logic tree, performing depth traversal on controls corresponding to all subordinate nodes of the current target child node to execute pseudo input operation;
when the depth of the current target child node is determined to be traversed completely and the current target child node is determined to have a brother node, continuously selecting a next target child node of the current target node according to the weight information, and taking the next target child node as the current target child node;
and repeating the step of performing the deep traversal on the controls corresponding to the subordinate nodes of the current target child node to perform the pseudo input operation until all child nodes of the current target node are determined to be traversed.
In an optional embodiment, the update submodule is specifically configured to:
determining the sequence of the controls to be operated based on the control logic tree and the updated weight information;
and determining a control operation path according to the sequence of the controls to be operated.
In an optional embodiment, the test end condition includes at least one of reaching a preset test time, completing traversing the control corresponding to each node in the control logic tree, and reaching a preset test number.
In an optional embodiment, the operation priority of the descendant node corresponding to the first parent node in the control logical tree is higher than the operation priorities of other unoperated parent nodes;
the control identification of each node in the control logic tree comprises a control name and control description information.
In an optional embodiment, the building module 720 further includes:
the filtering submodule is used for filtering the identified controls according to the control information of the controls to obtain target controls; the target control is a control with a pseudo input operation meaning;
and the construction sub-module is used for constructing a control logic tree based on the control information of the target controls, the logic relationship among the target controls and the weight information of each target control.
In an optional embodiment, the apparatus further comprises:
the report generation module is used for generating an application test report based on an application test result of the target application, wherein the application test report comprises attribute information of an abnormal control and abnormal information of the abnormal control;
and the report sending module is used for sending or displaying the application test report.
It should be noted that the application testing apparatus and the application testing method in the embodiments of the present disclosure are based on the same inventive concept, and please refer to the description of the foregoing embodiments, which is not repeated herein.
The disclosed embodiments provide a computer device that may include a processor and a memory having stored therein at least one instruction, at least one program, set of codes, or set of instructions that is loaded and executed by the processor to implement a method as in any of the above method embodiments.
The disclosed embodiments also provide a computer-readable storage medium having at least one instruction, at least one program, a set of codes, or a set of instructions stored therein, which is loaded by a processor and executes a method according to any one of the above method embodiments.
Embodiments of the present disclosure also provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform any one of the methods described above in the embodiments.
Further, fig. 9 shows a hardware structure diagram of a device for implementing the method provided by the embodiment of the present disclosure, where the device may be a computer terminal, a mobile terminal, or other devices, and the device may also participate in forming or including the apparatus provided by the embodiment of the present disclosure. As shown in fig. 9, the computer terminal 9 may include one or more processors (shown as 92a, 92b, … …, 92 n) which may include, but are not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA, a memory 94 for storing data, and a transmission device 96 for communication functions. Besides, the method can also comprise the following steps: a display, an input/output interface (I/O interface), a Universal Serial Bus (USB) port (which may be included as one of the ports of the I/O interface), a network interface, a power source, and/or a camera. It will be understood by those skilled in the art that the structure shown in fig. 9 is only an illustration and is not intended to limit the structure of the electronic device. For example, the computer terminal 9 may also include more or fewer components than shown in FIG. 9, or have a different configuration than shown in FIG. 9.
It should be noted that the one or more processors and/or other data processing circuitry described above may be referred to generally herein as "data processing circuitry". The data processing circuitry may be embodied in whole or in part in software, hardware, firmware, or any combination thereof. Furthermore, the data processing circuit may be a single stand-alone processing module, or incorporated in whole or in part into any of the other elements in the computer terminal 9 (or mobile device). As referred to in the disclosed embodiments, the data processing circuit acts as a processor control (e.g., selection of a variable resistance termination path connected to the interface).
The memory 94 can be used for storing software programs and modules of application software, such as program instructions/data storage devices corresponding to the method described in the embodiment of the present disclosure, and the processor executes various functional applications and data processing by running the software programs and modules stored in the memory 94, so as to implement one of the neural network processing methods described above. The memory 94 may include high speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 94 may further include memory located remotely from the processor, which may be connected to the computer terminal 9 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 96 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the computer terminal 9. In one example, the transmission device 96 includes a Network adapter (NIC) that can be connected to other Network devices through a base station to communicate with the internet. In one example, the transmission device 96 may be a Radio Frequency (RF) module, which is used to communicate with the internet by wireless means.
The display may be, for example, a touch screen type Liquid Crystal Display (LCD) that may enable a user to interact with a user interface of the computer terminal 9 (or mobile device).
It should be noted that: the precedence order of the embodiments of the present disclosure is merely for description, and does not represent the merits of the embodiments. And specific embodiments of the disclosure have been described above. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The embodiments in the disclosure are described in a progressive manner, and the same and similar parts among the embodiments can be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, as for the device and server embodiments, since they are substantially similar to the method embodiments, the description is simple, and the relevant points can be referred to the partial description of the method embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only exemplary of the present disclosure and is not intended to limit the present disclosure, so that any modification, equivalent replacement, or improvement made within the spirit and principle of the present disclosure should be included in the scope of the present disclosure.

Claims (11)

1. An application testing method, comprising:
responding to an application test instruction, and identifying each control in each application interface in the target application to be tested;
constructing a control logic tree based on the identified control information of the controls, the logic relationship among the controls and the weight information of each control; each node in the control logic tree corresponds to each control in the application interface one by one, the weight information represents the probability that each control is selected to perform pseudo input operation, and the weight information is dynamically updated according to the pseudo input operation information which is already performed by the control; the operation priority of a descendant node corresponding to the first parent node in the control logic tree is higher than the operation priority of other unoperated parent nodes; the weight information is determined according to the historical weight of the control, the operated times of the control and a preset weight factor corresponding to each control, or the weight information is determined according to the historical weight of the control, the operated times of the page and the sum of the weights of the controls of the page;
performing pseudo input operation on the selected control according to the control logic tree until a test ending condition is met;
and obtaining an application test result of the target application according to the obtained test information corresponding to each pseudo input operation.
2. The method according to claim 1, wherein the performing a pseudo input operation on the selected control according to the control logic tree until a test end condition is met comprises:
performing pseudo input operation on the selected control according to the weight information of each node in the control logic tree;
updating the weight information according to the pseudo input operation information which is already carried out by each control to obtain updated weight information;
determining a control operation path based on the control logic tree and the updated weight information, and sequentially executing pseudo input operation on the selected control according to the control operation path;
and repeating the steps of updating the weight information and sequentially performing pseudo input operation on the control according to the control operation path until the test ending condition is met.
3. The method according to claim 2, wherein the performing the pseudo input operation on the selected control according to the weight information of each node in the control logic tree comprises:
determining a current target node from a current node layer where a current application interface of the control logic tree is located according to the weight information of each node in the control logic tree;
searching a target control corresponding to the control identification in the current application interface according to the control identification of the current target node, and executing a pseudo input operation on the target control;
if the current target node is jumped to the next level interface of the application, determining a current target child node corresponding to the current target node from a next level node layer corresponding to the next level interface of the control logic tree;
according to the control logic tree, performing depth traversal on controls corresponding to all subordinate nodes of the current target child node to execute pseudo input operation;
when the depth of the current target child node is determined to be traversed completely and the current target child node is determined to have a brother node, continuously selecting a next target child node of the current target node according to the weight information, and taking the next target child node as the current target child node;
and repeating the step of performing the deep traversal on the controls corresponding to the subordinate nodes of the current target child node to perform the pseudo input operation until all child nodes of the current target node are determined to be traversed.
4. The method of claim 2, wherein the determining a control operation path based on the control logic tree and the updated weight information comprises:
determining the sequence of the controls to be operated based on the control logic tree and the updated weight information;
and determining a control operation path according to the sequence of the controls to be operated.
5. The method of any of claims 1-4, wherein the end-of-test condition comprises at least one of reaching a preset test time, traversing the control corresponding to each node in the control logic tree, and reaching a preset number of tests.
6. The method according to any one of claims 1 to 4,
the control identification of each node in the control logic tree comprises a control name and control description information.
7. The method according to any one of claims 1 to 4, wherein the constructing a control logic tree based on the identified control information of the controls, the logical relationship between the controls, and the weight information of each control comprises:
according to the control information of the control, filtering the identified controls to obtain a target control; the target control is a control with a pseudo input operation meaning;
and constructing a control logic tree based on the control information of the target controls, the logic relation among the target controls and the weight information of each target control.
8. The method according to any one of claims 1-4, further comprising:
generating an application test report based on an application test result of the target application, wherein the application test report comprises attribute information of an abnormal control and abnormal information thereof;
and sending or displaying the application test report.
9. An application testing apparatus, comprising:
the identification module is used for responding to the application test instruction and identifying each control in each application interface in the target application to be tested;
the construction module is used for constructing a control logic tree based on the identified control information of the controls, the logic relationship among the controls and the weight information of each control; each node in the control logic tree corresponds to each control in the application interface one by one, the weight information represents the probability that each control is selected to perform pseudo input operation, and the weight information is dynamically updated according to the pseudo input operation information which is already performed by the control; the operation priority of a descendant node corresponding to the first parent node in the control logic tree is higher than the operation priority of other unoperated parent nodes; the weight information is determined according to the historical weight of the control, the operated times of the control and a preset weight factor corresponding to each control, or the weight information is determined according to the historical weight of the control, the operated times of the page and the sum of the weights of the controls of the page;
the test module is used for carrying out pseudo input operation on the selected control according to the control logic tree until a test ending condition is met;
and the test result determining module is used for obtaining the application test result of the target application according to the obtained test information corresponding to each pseudo input operation.
10. A computer-readable storage medium, in which at least one instruction or at least one program is stored, the at least one instruction or the at least one program being loaded and executed by a processor to implement the application testing method according to any one of claims 1 to 8.
11. A computer device comprising a processor and a memory, the memory having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, the at least one instruction, the at least one program, the set of codes, or the set of instructions being loaded and executed by the processor to implement the application testing method according to any one of claims 1-8.
CN202110177636.3A 2021-02-09 2021-02-09 Application testing method and device and storage medium Active CN112527689B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110177636.3A CN112527689B (en) 2021-02-09 2021-02-09 Application testing method and device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110177636.3A CN112527689B (en) 2021-02-09 2021-02-09 Application testing method and device and storage medium

Publications (2)

Publication Number Publication Date
CN112527689A CN112527689A (en) 2021-03-19
CN112527689B true CN112527689B (en) 2021-05-11

Family

ID=74975531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110177636.3A Active CN112527689B (en) 2021-02-09 2021-02-09 Application testing method and device and storage medium

Country Status (1)

Country Link
CN (1) CN112527689B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113608818B (en) * 2021-08-19 2024-01-16 北京字跳网络技术有限公司 Data processing method, device, electronic equipment, storage medium and program product
CN115334088B (en) * 2022-08-15 2024-02-27 中国联合网络通信集团有限公司 Domain name system data synchronization method, device and system based on blockchain

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169455A (en) * 2010-02-26 2011-08-31 国际商业机器公司 Debugging method and system for software performance test
CN105550114B (en) * 2015-12-23 2018-01-19 广东欧珀移动通信有限公司 Automated testing method, device and mobile terminal
CN108628732A (en) * 2017-03-16 2018-10-09 腾讯科技(深圳)有限公司 A kind of application interface control visiting test method and device
CN110580222A (en) * 2019-08-29 2019-12-17 清华大学 Software test case generation method and system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850511A (en) * 1996-10-28 1998-12-15 Hewlett-Packard Company Computer implemented methods and apparatus for testing a telecommunications management network (TMN) agent
CN105988933B (en) * 2016-01-29 2018-09-07 腾讯科技(深圳)有限公司 The operable node recognition methods in interface, application testing method, apparatus and system
CN105988934B (en) * 2016-02-01 2018-07-27 腾讯科技(深圳)有限公司 Hand swims automated detection method and device
CN106294152B (en) * 2016-08-09 2019-03-12 努比亚技术有限公司 Using the traversal test device and method of user interface
CN109656827B (en) * 2018-12-17 2021-10-19 北京云测信息技术有限公司 Control tree generation method and terminal equipment
CN111209215B (en) * 2020-02-24 2021-08-24 腾讯科技(深圳)有限公司 Application program testing method and device, computer equipment and storage medium
CN112052180A (en) * 2020-09-24 2020-12-08 广州宸祺出行科技有限公司 Stability testing method and system based on control arrangement

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169455A (en) * 2010-02-26 2011-08-31 国际商业机器公司 Debugging method and system for software performance test
CN105550114B (en) * 2015-12-23 2018-01-19 广东欧珀移动通信有限公司 Automated testing method, device and mobile terminal
CN108628732A (en) * 2017-03-16 2018-10-09 腾讯科技(深圳)有限公司 A kind of application interface control visiting test method and device
CN110580222A (en) * 2019-08-29 2019-12-17 清华大学 Software test case generation method and system

Also Published As

Publication number Publication date
CN112527689A (en) 2021-03-19

Similar Documents

Publication Publication Date Title
US11163851B2 (en) Method, apparatus, computer device and storage medium of page displaying
CN107861655B (en) Control matching method and device, computer equipment and storage medium
US10679133B1 (en) Constructing and utilizing a knowledge graph for information technology infrastructure
KR102017756B1 (en) Apparatus and method for detecting abnormal behavior
US10013458B2 (en) Detecting logical relationships based on structured query statements
CN112527689B (en) Application testing method and device and storage medium
CN112270399B (en) Operator registration processing method and device based on deep learning and electronic equipment
CN111752843B (en) Method, apparatus, electronic device and readable storage medium for determining influence surface
KR101765296B1 (en) Apparatus and method for providing data analysis tool with user created analysis module
US11714625B2 (en) Generating applications for versatile platform deployment
CN111756832B (en) Method and device for pushing information, electronic equipment and computer readable storage medium
CN114254950A (en) Telecommunication resource data processing method and device, electronic equipment and storage medium
CN111475164A (en) Component dependency relationship detection method and device and electronic equipment
CN112015468A (en) Interface document processing method and device, electronic equipment and storage medium
CN113656315B (en) Data testing method and device, electronic equipment and storage medium
CN109446384B (en) Method and system for generating personnel organization architecture information
US11157267B1 (en) Evaluation of dynamic relationships between application components
CN113761517B (en) Method, device, equipment and storage medium for determining third party SDK
CN115803729A (en) Direct data loading of middleware generated records
US10620946B1 (en) Dynamic modeling for opaque code during static analysis
CN112540820A (en) User interface updating method and device and electronic equipment
CN111831317A (en) Method and device for acquiring dependency relationship between services, electronic equipment and storage medium
CN114610204B (en) Auxiliary device and method for data processing, storage medium and electronic equipment
CN111753330B (en) Determination method, apparatus, device and readable storage medium for data leakage main body
EP3674916B1 (en) Data pipeline creation system and method

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40041367

Country of ref document: HK

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220214

Address after: 510220 No. 1, brand area, No. 397, Xingang Middle Road, Haizhu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU TENCENT TECHNOLOGY Co.,Ltd.

Address before: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.