CN111694754A - Application program testing method and device, electronic equipment and computer medium - Google Patents

Application program testing method and device, electronic equipment and computer medium Download PDF

Info

Publication number
CN111694754A
CN111694754A CN202010754760.7A CN202010754760A CN111694754A CN 111694754 A CN111694754 A CN 111694754A CN 202010754760 A CN202010754760 A CN 202010754760A CN 111694754 A CN111694754 A CN 111694754A
Authority
CN
China
Prior art keywords
node
page
current
tree structure
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010754760.7A
Other languages
Chinese (zh)
Other versions
CN111694754B (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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010754760.7A priority Critical patent/CN111694754B/en
Publication of CN111694754A publication Critical patent/CN111694754A/en
Application granted granted Critical
Publication of CN111694754B publication Critical patent/CN111694754B/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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The present disclosure provides a method, an apparatus, an electronic device and a computer medium for testing an application program, the method comprising: acquiring a test instruction aiming at an application program to be tested, acquiring related information of a current page and a tree structure chart of the application program, and adding a current node corresponding to the current page to a father node corresponding to the current page to obtain a new tree structure chart based on the related information of the current page and the tree structure chart; determining the node value of the current node; determining a target node based on the node value of the current node and the new tree structure diagram; and testing the target page action of the target node based on the target node to obtain a test result corresponding to the current page. In the scheme of the disclosure, the relevant information is represented by the tree structure diagram, so that the problem of local dead loop does not exist, and the influence of each node in the tree structure diagram on the target node is considered, so that the test result of the target page action of the target node is more accurate.

Description

Application program testing method and device, electronic equipment and computer medium
Technical Field
The present disclosure relates to the field of computer processing technologies, and in particular, to a method and an apparatus for testing an application program, an electronic device, and a computer medium.
Background
For the application program applied to the client, an automatic testing method is usually adopted to test the application program so as to find problems in time and better maintain the application program.
In the prior art, when an application program is tested, an automatic test model created based on a directed cyclic graph predicts a certain page in the application program to be tested, but because the automatic test model is created based on the directed cyclic graph and is limited by the directed cyclic graph, when the page is tested, the problem of local dead cycle may occur, so that only local information related to the page can be acquired, and therefore, a test result obtained by testing the page to be tested based on the local information is inaccurate, and further, the test result of the application program is inaccurate.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
In a first aspect, the present disclosure provides a method for testing an application, the method including:
acquiring a test instruction aiming at an application program to be tested, wherein the test instruction comprises a page identification of a current page of the application program to be tested;
acquiring related information of a current page and a tree structure diagram of an application program, wherein the related information comprises page information and page actions;
the method comprises the steps that each node in a tree structure diagram represents page information of each page of an application program, connecting lines among the nodes represent related page actions among the nodes, for corresponding child nodes and parent nodes in the tree structure diagram, the page corresponding to the child nodes is the page updated after the corresponding parent nodes execute the corresponding page actions, and a root node of the tree structure diagram is the page information of a starting page of the application program;
based on the related information of the current page and the tree structure chart, adding the current node corresponding to the current page to the father node corresponding to the current page to obtain a new tree structure chart;
determining the node value of the current node, wherein the node value represents the importance degree of the page corresponding to the node;
determining a target node based on the node value of the current node and the new tree structure diagram;
and testing the target page action of the target node based on the target node to obtain a test result corresponding to the current page.
In a second aspect, the present disclosure provides an apparatus for testing an application, the apparatus comprising:
the test instruction acquisition module is used for acquiring a test instruction aiming at the application program to be tested, and the test instruction comprises a page identification of the current page of the application program to be tested;
the information acquisition module is used for acquiring related information of the current page and a tree structure chart of the application program, wherein the related information comprises page information and page actions;
the method comprises the steps that each node in a tree structure diagram represents page information of each page of an application program, connecting lines among the nodes represent related page actions among the nodes, for corresponding child nodes and parent nodes in the tree structure diagram, the page corresponding to the child nodes is the page updated after the corresponding parent nodes execute the corresponding page actions, and a root node of the tree structure diagram is the page information of a starting page of the application program;
the node adding module is used for adding a current node corresponding to the current page to a father node corresponding to the current page based on the relevant information of the current page and the tree structure chart to obtain a new tree structure chart;
the node value determining module is used for determining the node value of the current node, and the node value represents the importance degree of the page corresponding to the node;
the target node determining module is used for determining a target node based on the node value of the current node and the new tree structure chart;
and the test module is used for testing the target page action of the target node based on the target node to obtain a test result corresponding to the current page.
In a third aspect, the present disclosure provides an electronic device comprising:
a processor and a memory;
a memory for storing computer operating instructions;
a processor for executing the method as shown in any embodiment of the first aspect of the present disclosure by invoking computer operation instructions.
In a fourth aspect, the present disclosure provides a computer readable medium having stored thereon at least one instruction, at least one program, set of codes or set of instructions, which is loaded and executed by a processor to implement a method as set forth in any one of the embodiments of the first aspect of the present disclosure.
The technical scheme provided by the embodiment of the disclosure has the following beneficial effects:
the testing method, device, electronic equipment and computer medium of the application program of the embodiment of the disclosure can obtain the relevant information of the current page based on the page mark of the current page in the testing instruction and the tree structure diagram of the application program when the application program to be tested needs to be tested, because the tree structure diagram is composed of the relevant information of each page in the application program, the problem of local dead cycle can be avoided in the process of determining the target node based on the relevant information of the current page and the new tree structure diagram, the current node corresponding to the current page is added into the tree structure diagram to form the new tree structure diagram, the target node determined based on the new tree structure diagram and the node value of the current node, the influence of each node in the new tree on the target node is considered, namely the influence of the global information related to the current page on the target node is considered, so that the test result of the target page action of the target node is more accurate.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings used in the description of the embodiments of the present disclosure will be briefly described below.
Fig. 1 is a schematic flowchart of a method for testing an application according to an embodiment of the present disclosure;
FIG. 2 is a schematic diagram of a directed cyclic graph provided by an embodiment of the present disclosure;
FIG. 3 is a schematic diagram of a tree structure according to an embodiment of the present disclosure;
FIG. 4 is a schematic diagram of yet another directed cyclic graph provided by embodiments of the present disclosure;
fig. 5 is a schematic flow chart of multi-machine parallel according to an embodiment of the present disclosure;
FIG. 6 is a schematic diagram illustrating the effect of activity coverage of various algorithms according to an embodiment of the disclosure;
FIG. 7 is a diagram illustrating the effect of activity coverage of another algorithm according to an embodiment of the present disclosure;
fig. 8 is a schematic overall flowchart of another testing method based on multi-machine parallel application programs according to an embodiment of the present disclosure;
fig. 9 is a schematic structural diagram of an apparatus for testing an application according to an embodiment of the present disclosure;
fig. 10 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order, and/or performed in parallel. Moreover, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "include" and variations thereof as used herein are open-ended, i.e., "including but not limited to". The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions for other terms will be given in the following description.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing the devices, modules or units, and are not used for limiting the devices, modules or units to be different devices, modules or units, and also for limiting the sequence or interdependence relationship of the functions executed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The following describes the technical solutions of the present disclosure and how to solve the above technical problems in specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present disclosure will be described below with reference to the accompanying drawings.
An embodiment of the present disclosure provides a method for testing an application, where the method may be performed by a backend server, and as shown in fig. 1, the method may include:
step S110, a test instruction for the application program to be tested is obtained, where the test instruction includes a page identifier of a current page of the application program to be tested.
The application program to be tested may be any application program installed on the client, the application program to be tested refers to a computer program capable of completing various designated tasks, and the application program to be tested may be an unpublished application program or an already published application program.
The test instruction may be triggered based on a relevant trigger on the client, and when the operation of the user for the trigger is tested, the test instruction may be generated correspondingly.
The page identifier is used for identifying each page in the application program, different pages correspond to different page identifiers, the page identifiers can be numbers, letters, combinations of numbers and letters, and the like, and in the scheme of the disclosure, the specific expression mode of the page identifiers is not limited.
The current page refers to a page needing to be tested, namely a currently displayed page corresponding to the application program.
Step S120, acquiring relevant information of the current page and a tree structure diagram of the application program, wherein the relevant information comprises page information and page action.
The tree structure chart comprises a tree structure chart, a tree structure chart and a tree structure chart, wherein each node in the tree structure chart represents page information of each page of an application program, a connecting line between the nodes represents related page actions between the nodes, for a corresponding child node and a corresponding father node in the tree structure chart, the page corresponding to the child node is a page updated after the corresponding father node executes the corresponding page action, and a root node of the tree structure chart is the page information of a starting page of the application program.
The page information refers to information that can characterize the identity of a page, i.e., which page can be known through the page information. For example, if the page state information states corresponding to different pages are different, the page information may be the page state information states corresponding to the pages.
The page action refers to an event between pages, where the event may be an operation for a certain identifier in a page, and operations corresponding to different identifiers may correspond to different pages, and then based on an operation for a certain identifier in a page, the page corresponding to the operation may be updated. The page can be updated to the page corresponding to the page action correspondingly based on different page actions, and the page corresponding to the page action can be the page itself or other pages except the page. In an alternative of the present disclosure, the operation may include a page refresh operation, a page sliding operation, a page reversing operation, a volume adjusting operation, and the like, and the present disclosure does not limit the specific expression of the page action.
As an example, when a certain operation a for the page a is acquired, if the operation a is a refresh page operation, the page b updated based on the operation a is the page a itself. If the operation a is the operation of sliding the page, the page b updated by the operation a is the page corresponding to the sliding operation, and the page b and the page a are different pages.
In the automatic test, the scheme disclosed by the invention can be correspondingly used for generating a test script, and a test instruction is automatically sent to the server based on the test script, so that the manual page clicking operation of a person is replaced. That is, through the page instruction, the user can conveniently implement various operations on the page, and the like.
In the scheme of the disclosure, the root node of the tree structure diagram is related information of a start page of the application program, and the start page is a first page corresponding to the application program.
In an alternative of the present disclosure, the relevant information of the page to be tested can be obtained through the Xml Tree control.
In the prior art, a directed graph with a ring is used to represent page information of each page in an application and page actions between the pages, as an example, as shown in a schematic diagram of a directed graph with a ring in fig. 2, page information of each page in an application is defined as state, page actions (i.e., events) between the pages are defined as events, and conversion between the pages is realized by the individual events. In the example shown in fig. 2, a page a, a page b and a page c included in one application program are shown, where the page a is represented by an state1, the page b is represented by a state2, the page c is represented by a state3, the state1 updates to the state2 based on the event1, that is, an event1 is triggered in the page a, and the page a is converted to the page b (that is, page information changes), the state2 updates to the state1 based on the event2, and the state1 updates to the state3 based on the event 3. Based on the state1, the state2, the state3, the event1, the event2 and the event3, the directed cyclic graph corresponding to the application program can be constructed.
In the present solution, a tree structure diagram is used to represent page information of each page in an application program and page actions between the pages, and as an example, as shown in a schematic diagram of a tree structure diagram shown in fig. 3, as shown in the diagram, page information of each page in an application program is defined as a state, and page actions between the pages are defined as actions. In this example, the page information of the start page of the application is updated from the root node to the node state1 (that is, the page information is changed from state0 to state1) as a root node state0 (which may be abbreviated as S0) in the tree structure diagram based on the page action, a1, and is updated from the root node to the node state2 based on the page action, a2, so that the root node state0 is a parent node of the node state1 and the node state2, and the node state1 and the node state2 are child nodes of the node state 0.
Similarly, based on the page action, A3, can be updated from node state1 to state3 (S3 shown in the figure), and based on the page action, a4, can be updated from node state1 to state4 (S4 shown in the figure), where node state1 is a parent node of node state3 and node state4, and point 3 and node state4 are child nodes of node state 1.
S3 shown in fig. 3 is updated to state5 (S5 shown in the figure) after action, a5, is performed based on the page action, S5 corresponds to the same page as S0 (action a5 is triggered on the page corresponding to S3 as shown by the dotted line in the figure, and the page state S5 in which the page state change occurs is substantially the same as S0).
Here, the Activity left shown in the figure indicates the number of activities remaining in the Activity (i.e., Activity) list corresponding to the node, i.e., the number of activities for which the test has not been completed. activity is a basic component of an application, which may be referred to as an activity, that provides an area on the screen that allows the user to do interactive operations thereon, such as making a call, taking a picture, sending a mail, or displaying a map, etc. activity may be understood as a window that draws a user interface, and this window may fill the entire screen, may be smaller than the screen, or may float above other windows.
The representation of 4activities left in the figure is the remaining number of activities corresponding to the activity list corresponding to the root node, and the activity represents a component interacting with the user. 4activities left indicates that the number of pages that can be updated to is 4 based on the root node.
Other nodes shown in the graph are also in the tree structure diagram, and are not described again. Based on the node states 0 to 9 (S9 shown in the figure), a tree structure diagram corresponding to the application program is constructed.
Based on the above two graphs, in the directed cyclic graph, a closed loop (local dead loop) may be formed between two pages, for example, between page a and page b shown in fig. 2, a closed loop may be formed based on page actions event1 and event 2. In the tree structure diagram, a closed loop is not formed between two pages, for example, in S3 shown in fig. 3, after a5 is operated based on a page action, in the tree structure diagram, S5 is updated to S5, and a closed loop is not formed as a child node of S3. Therefore, when the related information of the related node of a certain node is acquired, the acquisition of the information can not be influenced by the closed loop based on the tree structure chart and the corresponding test processing.
Step S130, based on the relevant information of the current page and the tree structure diagram, a new tree structure diagram is obtained after the current node corresponding to the current page is added to the father node corresponding to the current page.
After the relevant information of the current page is obtained, the tree structure diagram can be updated based on the relevant information, that is, the current node corresponding to the current page is added to the parent node corresponding to the current page. Therefore, the obtained new tree structure chart comprises the current node corresponding to the current page, namely, the tree structure chart is continuously updated in the test process.
Step S140, determining the node value of the current node, wherein the node value represents the importance degree of the page corresponding to the node.
The node value of the current node represents the importance degree of the current page, the relative importance degree of the current page in the page which is not tested in the application program can be evaluated through the node value, the higher the node value is, the higher the importance degree is, namely, the greater the significance of testing the current page is.
And S150, determining a target node based on the node value of the current node and the new tree structure diagram.
The target node refers to a node corresponding to a page updated to the current page based on the corresponding page action in the new tree structure diagram.
Step S160, based on the target node, the target page action of the target node is tested, and a test result corresponding to the current page is obtained.
In an alternative of the present disclosure, testing a target page action of a target node based on the target node to obtain a test result corresponding to a current page includes:
based on the target node, determining a target page action corresponding to the current page when the current page is updated to the page corresponding to the target node;
and sending the target page action to the client side where the application program is located so that the client side tests the target page action to obtain a test result corresponding to the current page.
The essence of testing the current page is to test the efficacy corresponding to the target page action, that is, based on the target page action, whether the current page can be accurately updated to the page corresponding to the target node.
It should be noted that, for the testing of the application program to be tested, the test result of the application program to be tested may be determined based on the test result of a current page in the application program to be tested, that is, the test result of a current page may characterize the test result of the test application program. The test result of the application program to be tested may also be determined based on the test results of at least two pages in the application program to be tested, and in an alternative of the present disclosure, the determination of the test result of the application program to be tested based on the test results of several pages may be configured based on actual requirements, which is not limited in the solution of the present disclosure.
The scheme in the embodiment of the disclosure can acquire the related information of the current page and the tree structure chart of the application program based on the page mark of the current page in the test instruction when the application program to be tested needs to be tested, because the tree structure chart is composed of the relevant information of each page in the application program, in the process of determining the target node based on the relevant information of the current page and the new tree structure chart, the problem of local dead loop does not exist, the current node corresponding to the current page is added into the tree structure chart, forming a new tree structure chart, determining a target node based on the new tree structure chart and the node value of the current node, considering the influence of each node in the new tree structure chart on the target node, the influence of global information related to the current page on the target node is considered, so that the test result of the target page action of the target node is more accurate.
In the embodiment of the present disclosure, based on the related information of the current page and the tree structure diagram, after adding the current node corresponding to the current page to the parent node corresponding to the current page, a new tree structure diagram is obtained, which includes:
determining a father node of a current node corresponding to the current page in the tree structure chart based on the relevant information of the current page and the tree structure chart;
determining the priority of each node in all nodes from the current node to the root node;
if the current node does not exist in the tree structure chart, adding a child node corresponding to the current page behind a parent node of the current node; updating the priority and/or Activity list of each node in all nodes from the father node to the root node of the current node based on the priority of the current node to obtain a new tree structure chart;
and if the current node exists in the tree structure chart, adding a child node corresponding to the current page behind the father node of the current node to obtain a new tree structure chart.
In the alternative scheme of the disclosure, the current node corresponding to the current page can be determined directly based on the page information of the current page, and the current node corresponding to the current page can also be determined based on the page information of the current page and the page action of the previous step; the page action of the previous step refers to a page action corresponding to the previous page updated to the current page. And then, determining a parent node of the current node in the tree structure chart based on the page action of the previous step corresponding to the current page. And the node corresponding to the previous page is the father node of the current node.
As shown in the schematic diagram of the tree structure diagram in FIG. 3, it is assumed that the current node corresponds to S3, and the parent node of S3 is S1.
For example, as shown in the schematic diagram of the tree structure diagram shown in fig. 3, assuming that the current node corresponds to S3, all nodes between the current node and the root node may include nodes S0, S1, and S3.
Wherein. The priority of each node represents the importance degree of each node in the application program, and the higher the priority, the greater the meaning of testing is, for example, for a page commonly used in the application program, the priority of the node corresponding to the page is relatively higher, that is, the meaning of testing the page is greater, and if the page is an uncommon page, the priority of the page is relatively lower, that is, the meaning of testing the page is relatively smaller.
The current node does not exist in the tree structure diagram, which indicates that the current page is a page that has not been tested before, that is, a page that does not appear in the tree structure diagram, the current node may be added to the tree structure diagram, and the current node is taken as a child node of a parent node of the current node, as shown in fig. 3, it is assumed that the current node corresponds to S3, the parent node of S3 is S1, and after S3 is added to the parent node S1, S3 is taken as a child node of the parent node S1.
After the current node is accessed into the tree structure chart, the tree structure chart is changed to obtain a new tree structure chart, and in the new tree structure chart, the priority and/or Activity list of each node in all nodes from the father node to the root node of the current node can be reversely updated based on the priority of the current node. Therefore, the priority and/or Activity list of each node in the tree structure diagram is in a real-time updating state, and further, when other pages are tested next time, the test result obtained according to the new tree structure diagram is more accurate.
As can be seen from the foregoing description, the Activity list corresponding to a certain page indicates a page that can be updated to based on the page. The larger the number of pages that can be updated to, the more meaningful the testing of the page.
In the scheme of the present disclosure, if the current node does not exist in the tree structure diagram, after the current node is accessed into the tree structure diagram, the number of pages corresponding to the Activity list corresponding to the parent node of the current node is added by 1, that is, the number of pages that can be updated from the parent node of the current node is greater than the current page. The Activity list corresponding to the parent node of the current node changes, and the priority corresponding to the parent node of the current node also changes. Then, for the father node of the current node, the Activity list and the priority corresponding to the father node are changed, and when updating in the reverse direction, the priority and the Activity list of each node in all the nodes from the father node to the root node of the current node can be updated.
The current node exists in the tree structure diagram, which indicates that the current page is a page that has been tested before, that is, a page that appears in the tree structure diagram, the current node may be added to the tree structure diagram, and the current node is taken as a child node of a parent node of the current node, as shown in fig. 3, it is assumed that the current node corresponds to S5, the parent node of S5 is S3, after S5 is added to the parent node S3, S5 is taken as a child node of the parent node S3, and S5 and the root node S0 correspond to the same page.
If the current node exists in the tree structure chart, the relay node does not need to participate in reverse updating, so that the influence of closed loop can be avoided.
As shown in fig. 4, the page information of each page in the application is defined as g0si, and i is an integer; the page actions between pages are defined as g0aj, j being an integer.
In fig. 4, the root node is g0s0, and from the root node, the previous node is a parent node of the next node and the next node is a child node of the previous node, in the figure, g0s2 is a child node of g0s1 and g0s1 is a parent node of g0s 2.
As shown in the figure, node g0s7 corresponds to three closed loops, namely, a closed loop formed by updating g0s7 to g0s7 based on page actions g0a110, a closed loop formed by updating g0s7 to g0s9 based on page actions g0a112, a closed loop formed by updating g0s9 to g0s7 based on page actions g0a125, and a closed loop formed by updating g0s7 to g0s8 based on page actions g0a114 and updating g0s8 to g0s7 based on page actions g0a 118. When g0s7 is updated to g0s10 based on page action g0a106, a new value (node value) R is obtained in the step, when the R value is propagated to all nodes on the previous path in a reverse mode based on the directed cyclic graph, the value R needs to be multiplied by an attenuation coefficient gamma according to the distance between the nodes, and the value obtained corresponding to the node with the distance n is R gammanHowever, due to the existence of the closed loop, the distance n between the nodes cannot be accurately determined, so that the reverse update cannot be normally performed.
In the scheme of the present disclosure, the pruning operation of the directed cyclic graph is realized through the relay node in the tree structure diagram, that is, in the tree structure diagram, there is no closed loop, so that the reverse update is not affected.
In the embodiment of the present disclosure, determining the priority of each node in all nodes between the current node and the root node includes:
acquiring the access times and/or the length of an Activity list of each node in all nodes between a current node and a root node;
determining the priority of each node in all nodes between the current node and the root node based on the access times of each node in all nodes between the current node and the root node and/or the length of the Activity list;
the number of accesses represents the total number of all nodes which can be updated to any node from the current node to the root node based on the page action, and the length of the Activity list represents the total number of pages which can be updated to any page in the application program.
The length of the Activity list indicates the number of pages in the Activity list, for example, the Activity list corresponding to the current node indicates the number of pages that can be updated after the current page is acted based on the corresponding page. The larger the number of pages, the higher the priority of the current node.
The number of accesses refers to the total number of pages that can be updated from a certain page (including any page itself) in the pages of the application to any page in the pages of the application, for example, if the current page is M3, the current page can be updated from M1 to M3, and the current page can also be updated from M6 to M3, then the number of accesses corresponding to the current page is 2. The more times of access, the higher the priority of the page which is accessed frequently, and the higher the priority of the page which is accessed frequently. Then in an alternative aspect of the present disclosure, the priority of each node may be determined based on the number of accesses and/or the length of the Activity list.
In an alternative of the present disclosure, specifically described by taking the priority of a node as an example, the priority of the node is calculated by a UCB formula (Upper Conference Bound) based on the number of accesses of the node and the length of the Activity list. The node may be any node from the current node to the root node.
The UCB formula is as follows:
Figure BDA0002611167170000101
wherein the content of the first and second substances,Pclength of Activity List, V, representing the nodepIndicates the number of accesses of the parent node of the node, VcThe number of accesses of the node is represented, C is a constant, a value of ucb represents the priority of the node, and a larger value of ucb represents a higher priority of the node.
In the embodiment of the present disclosure, determining the priority of each node in all nodes between a current node and a root node based on the number of accesses of each node in all nodes between the current node and the root node and the length of the Activity list includes:
determining a first weight corresponding to the access times of each node in all the nodes and a second weight corresponding to the length of an Activity list corresponding to each node in all the nodes;
and determining the priority of each node in all the nodes based on the access times of each node in all the nodes, the first weight, the length of the Activity list corresponding to each node in all the nodes and the second weight.
When determining the priority of a node based on the access times and the length of the Activity list, respectively determining a first weight corresponding to the access times and a second weight corresponding to the length of the Activity list in consideration of different contributions of the access times and the length of the Activity list to the priority, and then balancing the influence of the two factors on the priority based on the first weight and the second weight, so that the determined priority is more accurate.
The first weight and the second weight may be pre-configured, that is, for any node, the corresponding first weight and second weight are the same. The first weight and the second weight may also be determined in real time, that is, the first weight and the second weight corresponding to each node are determined in real time based on the number of accesses and the length of the Activity list corresponding to each node. At this time, the weight corresponding to each node may be different.
In an alternative aspect of the present disclosure, determining a node value for a current node includes:
and determining the node value of the current node through a UCT algorithm.
The Upper Confidence interval (UCT) algorithm is a game Tree Search algorithm combining a Monte-Carlo Tree Search (MCTS) method and a UCB formula.
The node value of a node can be determined based on the number of access times of the node and the length of the Activity list, and then the node value of the node can be characterized by the priority of the node, that is, the node value of the node can be characterized by the evaluation value r calculated by the UCT algorithm.
In the embodiment of the disclosure, determining the target node based on the node value of the current node and the new tree structure diagram includes:
determining a value threshold range corresponding to the node value based on the node value of the current node and a preconfigured value threshold;
determining a target screening strategy corresponding to the current node based on a value threshold range corresponding to the node value and the corresponding relation between each value threshold range and each screening strategy which are pre-configured;
and determining a target node based on the target screening strategy and the new tree structure chart.
The value threshold value is at least one value configured in advance, and the value threshold value range corresponding to the node value refers to whether the node value is greater than a certain value threshold value, smaller than a certain value threshold value or between two value threshold values. Different screening strategies are correspondingly configured based on different value threshold value ranges, for example, when the node value is greater than a certain value threshold value, the corresponding screening strategy is A, and when the node value is less than the certain value threshold value, the corresponding screening strategy is B. Based on different values of the nodes, the target node can be determined based on different screening strategies correspondingly.
In the embodiment of the present disclosure, the determining a target node based on the priority of the node by the target screening policy, and the determining the target node based on the target screening policy and the new tree structure diagram includes:
determining the priority of each child node corresponding to the parent node of the current node based on the new tree structure chart;
and determining a target node based on the node value of the current node and the priority of each child node corresponding to the parent node of the current node.
In the tree structure shown in fig. 3, it is assumed that the current node is S3, the parent node of the current node is S1, and each child node of the parent node S1 includes a child node S3 and a child node S4. Then the highest priority child node may be selected as the target node based on the priority of the child node S3 and the priority of the child node S4 when determining the target node.
As an example, the preconfigured value thresholds are each123123Are successively larger decimal numbers of 0 to 1. The node value of the current node is r, when r <, the node value of the current node is r1In time, the corresponding screening strategy is: selecting a child node with a high priority from child nodes corresponding to a parent node of the current node as a target node, wherein r <1If the node value is too low, the child node with the highest priority is selected as the target node, so that the page tested at this time has testing significance. When in use1≤r<2In time, the corresponding screening strategy is: and selecting the child node which is not accessed from the child nodes corresponding to the parent node of the current node as a target node. When in use2≤r<3And when the current node is a relay node, the corresponding screening strategy is as follows: and selecting the relay child node as the target node. When the corresponding screening strategy is: and executing a back operation, and returning to a page corresponding to the parent node of the current node, or restarting the operation and returning to the initial page. r is not less than3If the node value is too high, the node value of the node before the current node is also high, the node can return to the page or the starting page corresponding to the parent node of the current node, and the page or the starting page corresponding to the parent node of the current node is tested again, so that the page or the starting page corresponding to the parent node of the current node is tested more fully.
In an alternative of the present disclosure, if the obtained test instruction includes at least two test instructions, each test instruction includes a page identifier of a current page in the application program; the method further comprises the following steps:
creating a thread corresponding to each page identifier in at least two page identifiers;
based on the related information of the current page and the tree structure chart, adding the current node corresponding to the current page to the father node corresponding to the current page to obtain a new tree structure chart; determining the node value of the current node; determining a target node based on the node value of the current node and the new tree structure diagram, wherein the steps of:
based on the related information of the current page and the tree structure chart, identifying a corresponding thread through the page of the current page, and based on the related information of the current page and the tree structure chart, adding a current node corresponding to the current page to a father node corresponding to the current page to obtain a new tree structure chart; determining the node value of the current node; and determining a target node based on the node value of the current node and the new tree structure diagram.
If there are at least two test instructions, that is, two pages need to be tested, then the test can be performed in a multi-machine parallel manner, that is, a thread corresponding to each page identifier is created, and when the step of determining the target node is performed after the current node corresponding to the current page is added to the parent node corresponding to the current page based on the relevant information and the tree structure diagram of the current page, the operation can be performed based on the thread corresponding to the page identifier. In this way, the same operations described above can be performed in parallel by multiple threads at the same time to improve processing efficiency.
As an example, as shown in the schematic diagram of the multi-machine parallel test scheme shown in fig. 5, a client (phone shown in the figure) generates one test instruction corresponding to one client, each test instruction includes a page identifier taskid, a thread (agent shown in the figure) is created corresponding to a page identifier in different test instructions, and one agent can process one test instruction corresponding to one agent.
The test instructions corresponding to the multiple clients are sent to a server (fastbot _ server shown in the figure), and the server can determine the thread corresponding to each test instruction based on the correspondence between the page identifier and the thread, as shown in the figure, the thread agent1 corresponds to 1, the thread agent2 corresponds to 2, the test instruction corresponding to 1 can be processed based on 1, and the test instruction corresponding to 2 can be processed based on 2.
In the alternative scheme of the disclosure, based on the related information of the current page and the tree structure chart, a new tree structure chart is obtained after the current node corresponding to the current page is added to the father node corresponding to the current page; determining the node value of the current node; determining a target node based on the node value of the current node and the new tree structure diagram, wherein the steps of:
locking the tree structure chart, based on the related information of the current page corresponding to one of at least two test instructions and the tree structure chart, identifying the corresponding thread through the page of the current page, and based on the related information of the current page and the tree structure chart, adding the current node corresponding to the current page to the father node corresponding to the current page to obtain a new tree structure chart; determining the node value of the current node; and determining a target node based on the node value of the current node and the new tree structure diagram.
If a multi-machine parallel scheme is adopted for a plurality of test instructions, when one test instruction is processed based on one thread, namely, after relevant information and a tree structure diagram based on a current page are executed and a current node corresponding to the current page is added to a father node corresponding to the current page, a target node is determined, the tree structure diagram can be locked first, after the operation is finished, the tree structure diagram is unlocked, and when another test instruction is correspondingly processed through other threads, the interference of other threads on the processing process of the thread is avoided.
In the alternative of the present disclosure, the time complexity of the algorithm of the present disclosure is mainly consumed in the reverse update of the nodes in the tree structure diagram and the traversal operation of all the corresponding page action actions under the current node. The time complexity corresponding to the reverse update is determined by the height (layer number) of the tree structure diagram and is marked as O (h); in the process of traversing all corresponding page actions of the current node, assuming that there are n executable actions on average at each state, the time complexity corresponding to the traversal of all corresponding page actions of the current node is o (n). Thus, the temporal complexity of the algorithm may be O (n + h).
The activity coverage rate change trend graph of each algorithm as shown in fig. 6, wherein each algorithm includes an improved algorithm based on a monte carlo search tree (an mcts algorithm shown in the figure), a shortest path algorithm (a pathsearching algorithm shown in the figure), an mtree algorithm and an n-stepQ algorithm, the number of clients is the same, for example, 20 clients, the test duration is 3 hours, the horizontal axis in the graph represents the test duration (run time shown in the figure) in units of seconds, the vertical axis in the graph represents the activity coverage rate (activity coverage rate shown in the figure), the activity coverage rates corresponding to different algorithms during the test duration are represented by different forms of curves, and as can be seen from the graph, the mtree algorithm (the curve corresponding to the top in the graph) is an algorithm in which the increase rate is the highest and the highest activity coverage rate can be reached.
As shown in the comparison graph of activity coverage of each algorithm in a set time period in fig. 7, the number of clients is the same, for example, 20 clients are all represented, in the graph, different algorithms are represented by histograms of different colors, the vertical axis represents activity coverage, the horizontal axis represents activity coverage of three algorithms corresponding to three different time periods, the time lengths corresponding to the three time periods may be the same or different, and it can be seen from the graph that the activity coverage corresponding to the MTREE (i.e., MTREE in the graph) algorithm is the highest in each time period.
In order to enhance the understanding of the solution of the present disclosure, the solution of the present disclosure is further described below with reference to fig. 8:
an application program (APK shown in the figure) to be tested is installed on a client (AUT shown in the figure), when the application program needs to be tested in a large number of lines, an installation package (Fastbot client shown in the figure) for testing can be installed on the client, a module (AI-Core shown in the figure, scene recognition) with a scene recognition function is arranged in the installation package, and the module can determine the testing requirement of the client, namely what kind of processing is required to be performed, such as a single machine test (stateful Agent shown in the figure), a multi-machine cooperative test (Socket Agent shown in the figure), and a test case playback (Replay Agent) shown in the figure, wherein the single machine test refers to testing the application program in a single machine mode, the multi-machine cooperative test refers to simultaneously testing the application programs of a plurality of clients, and the test case playback refers to replaying the test process corresponding to the tested application program To understand the testing process.
The client side sends a test requirement to a server side (a Fastbot server side shown in the figure), the test requirement comprises a page identifier of each page in at least one page to be tested in the application program to be tested, the server side tests the application program to be tested on the client side through the scheme of the disclosure based on the test requirement, and the main test process is as follows: a Model (Build Model shown in the figure) is constructed, the Model is the page Action prediction Model described in the foregoing, and a target page Action (Action Selector shown in the figure) of a page to be tested can be predicted in the Model based on a monte carlo-based method provided by AI-Core. If only one client has a test requirement, the process may be a single-step operation (an Action center (generating single-step operation) shown in the figure), and if there are multiple test requirements at the same time, a multi-machine cooperation mode may be adopted, that is, multiple clients share one model, so as to implement the test on the application programs in multiple clients and obtain the test results corresponding to the application programs. After the Test is completed, a Test case (Test terminator shown in the figure) can be generated, the generated Test case includes the process of the Test, and the Test case can be played back through a playback device. It can be appreciated that as tests are continually increased, test cases may be continually updated.
The whole testing process can be realized in an automatic mode without human intervention (robot scheduling shown in the figure).
The constructed model is stored (model storage shown in the figure), and based on the test process, the model can be continuously updated, so that the same page is prevented from being repeatedly tested in the test process. In the solution of the present disclosure, a visualization platform may be provided, through which a test result of an application program is provided for a user, and in the test result, the following indicators (Metrics shown in the figure) may be specifically included: test code Coverage, results of test failures (crash), statistics of related data (tool related statistics shown in the figure). The related data comprises the consumption condition of crash, which is concerned by a business party and discovered, the single-day starting times of the application program, the number of business lines accessed by the application program, the overall coverage rate growth trend of the test code and the like.
In practical application, the visual platform can be connected with the server through an open API interface, the test result is displayed through the visual platform, the visual platform can be directly connected with the server, and the test result is displayed through the visual platform.
Based on the obtained test result, the test result can be provided to a third-party service, so that the third-party service performs subsequent analysis processing based on the test result. Such as user behavior collection, abstract simulation of client data (client data Mock shown in the figure).
Based on the same principle as the testing method of the application program shown in fig. 1, an embodiment of the present disclosure also provides an application program testing apparatus 20, as shown in fig. 9, where the apparatus 20 may include: a test instruction acquisition module 210, an information acquisition module 220, a node addition module 230, a node value determination module 240, a target node determination module 250, and a test module 260, wherein,
a test instruction obtaining module 210, configured to obtain a test instruction for the application program to be tested, where the test instruction includes a current page identifier of the application program to be tested;
the information acquisition module 220 is configured to acquire relevant information of a current page and a tree structure diagram of an application program, where the relevant information includes page information and page actions;
the method comprises the steps that each node in a tree structure diagram represents page information of each page of an application program, connecting lines among the nodes represent related page actions among the nodes, for corresponding child nodes and parent nodes in the tree structure diagram, the page corresponding to the child nodes is the page updated after the corresponding parent nodes execute the corresponding page actions, and a root node of the tree structure diagram is the page information of a starting page of the application program;
a node adding module 230, configured to add a current node corresponding to the current page to a parent node corresponding to the current page based on the relevant information of the current page and the tree structure diagram, so as to obtain a new tree structure diagram;
a node value determining module 240, configured to determine a node value of a current node, where the node value represents an importance degree of a page corresponding to the node;
a target node determining module 250, configured to determine a target node based on the node value of the current node and the new tree structure diagram;
the testing module 260 is configured to test a target page action of the target node based on the target node, so as to obtain a testing result corresponding to the current page.
Optionally, the test module is configured to, when testing a target page action of the target node based on the target node and obtaining a test result corresponding to the current page, specifically:
based on the target node, determining a target page action corresponding to the current page when the current page is updated to the page corresponding to the target node;
and sending the target page action to the client side where the application program is located so that the client side tests the target page action to obtain a test result corresponding to the current page.
Optionally, the node adding module is specifically configured to, after adding the current node corresponding to the current page to the parent node corresponding to the current page based on the relevant information of the current page and the tree structure diagram, obtain a new tree structure diagram:
determining a father node of a current node corresponding to the current page in the tree structure chart based on the relevant information of the current page;
determining the priority of each node in all nodes from the current node to the root node;
if the current node does not exist in the tree structure chart, adding a child node corresponding to the current page behind a parent node of the current node; updating the priority and/or activity list of each node in all nodes from the father node to the root node of the current node based on the priority of the current node to obtain a new tree structure chart;
and if the current node exists in the tree structure chart, adding a child node corresponding to the current page behind the father node of the current node to obtain a new tree structure chart.
Optionally, when determining the priority of each node in all nodes between the current node and the root node, the node adding module is specifically configured to:
acquiring the access times and/or the length of an activity list of each node in all nodes between a current node and a root node;
determining the priority of each node in all nodes between the current node and the root node based on the access times of each node in all nodes between the current node and the root node and/or the length of the activity list;
the number of accesses represents the total number of all nodes which can be updated to any node from the current node to the root node based on the page action, and the length of the Activity list represents the total number of pages which can be updated to any page in the application program.
Optionally, the node adding module is specifically configured to, when determining the priority of each node in all nodes between the current node and the root node based on the number of accesses of each node in all nodes between the current node and the root node and the length of the active list:
determining a first weight corresponding to the access times of each node in all nodes and a second weight corresponding to the length of an active list corresponding to each node in all nodes;
and determining the priority of each node in all the nodes based on the access times of each node in all the nodes, the first weight, the length of the activity list corresponding to each node in all the nodes and the second weight.
Optionally, when the target node determination module determines the target node based on the node value of the current node and the new tree structure diagram, the target node determination module is specifically configured to:
determining a value threshold range corresponding to the node value based on the node value of the current node and a preconfigured value threshold;
determining a target screening strategy corresponding to the current node based on a value threshold range corresponding to the node value and the corresponding relation between each value threshold range and each screening strategy which are pre-configured;
and determining a target node based on the target screening strategy and the new tree structure chart.
Optionally, the target screening policy is to determine a target node based on a priority of the node, and the target node determining module is specifically configured to, when determining the target node based on the target screening policy and the new tree structure diagram:
determining the priority of each child node corresponding to the parent node of the current node based on the new tree structure chart;
and determining a target node based on the node value of the current node and the priority of each child node corresponding to the parent node of the current node.
Optionally, if the obtained test instruction includes at least two test instructions, each test instruction includes a page identifier of a current page in the application program; the device also includes:
the thread creating module is used for creating a thread corresponding to each page identifier in the at least two page identifiers;
the device adds the current node corresponding to the current page to the father node corresponding to the current page based on the relevant information of the current page and the tree structure chart to obtain a new tree structure chart; determining the node value of the current node; when the target node is determined based on the node value of the current node and the new tree structure diagram, the method is specifically used for:
based on the related information of the current page and the tree structure chart, identifying a corresponding thread through the page of the current page, and based on the related information of the current page and the tree structure chart, adding a current node corresponding to the current page to a father node corresponding to the current page to obtain a new tree structure chart; determining the node value of the current node; and determining a target node based on the node value of the current node and the new tree structure diagram.
Optionally, the device obtains a new tree structure diagram after adding a current node corresponding to the current page to a parent node corresponding to the current page based on the relevant information of the current page and the tree structure diagram; determining the node value of the current node; when the target node is determined based on the node value of the current node and the new tree structure diagram, the method is specifically used for:
locking the tree structure chart, based on the related information of the current page corresponding to one of at least two test instructions and the tree structure chart, identifying the corresponding thread through the page of the current page, and based on the related information of the current page and the tree structure chart, adding the current node corresponding to the current page to the father node corresponding to the current page to obtain a new tree structure chart; determining the node value of the current node; and determining a target node based on the node value of the current node and the new tree structure diagram.
The apparatus of the embodiment of the present disclosure may execute the method for testing an application program shown in fig. 1, and the implementation principles thereof are similar, the actions performed by each module in the apparatus for testing an application program in each embodiment of the present disclosure correspond to the steps in the method for testing an application program in each embodiment of the present disclosure, and for the detailed functional description of each module in the apparatus for testing an application program, reference may be specifically made to the description in the method for testing a corresponding application program shown in the foregoing, and details are not repeated here.
Based on the same principle as the method in the embodiment of the present disclosure, reference is made to fig. 10, which shows a schematic structural diagram of an electronic device (e.g., the server in fig. 1) 600 suitable for implementing the embodiment of the present disclosure. The terminal device in the embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 10 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
The electronic device includes: a memory and a processor, wherein the processor may be referred to as the processing device 601 hereinafter, and the memory may include at least one of a Read Only Memory (ROM)602, a Random Access Memory (RAM)603 and a storage device 608 hereinafter, which are specifically shown as follows:
as shown in fig. 10, electronic device 600 may include a processing means (e.g., central processing unit, graphics processor, etc.) 601 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the electronic apparatus 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Generally, the following devices may be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 608 including, for example, tape, hard disk, etc.; and a communication device 609. The communication means 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. While fig. 10 illustrates an electronic device 600 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer readable medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 609, or may be installed from the storage means 608, or may be installed from the ROM 602. The computer program, when executed by the processing device 601, performs the above-described functions defined in the methods of the embodiments of the present disclosure.
It should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable medium or any combination of the two. A computer readable medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network protocol, such as HTTP (Hyper Text transfer protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring a test instruction aiming at an application program to be tested, wherein the test instruction comprises a page identification of a current page of the application program to be tested; acquiring related information of a current page and a tree structure chart of an application program, wherein the related information comprises page information and page action; based on the related information of the current page and the tree structure chart, adding the current node corresponding to the current page to the father node corresponding to the current page to obtain a new tree structure chart; determining the node value of the current node; determining a target node based on the node value of the current node and the new tree structure diagram; and testing the target page action of the target node based on the target node to obtain a test result corresponding to the current page.
Computer program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including but not limited to an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules or units described in the embodiments of the present disclosure may be implemented by software or hardware. Wherein the designation of a module or unit does not in some cases constitute a limitation of the unit itself.
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
According to one or more embodiments of the present disclosure, [ example one ] there is provided a test method of an application program, including:
acquiring a test instruction aiming at an application program to be tested, wherein the test instruction comprises a page identifier of a current page of the application program to be tested;
acquiring related information of the current page and a tree structure diagram of the application program, wherein the related information comprises page information and page actions;
each node in the tree structure chart represents page information of each page of the application program, a connecting line between the nodes represents related page actions between the nodes, for a corresponding child node and a corresponding parent node in the tree structure chart, a page corresponding to the child node is a page updated after the corresponding parent node executes the corresponding page action, and a root node of the tree structure chart is the page information of a starting page of the application program;
based on the related information of the current page and the tree structure chart, adding the current node corresponding to the current page to a father node corresponding to the current page to obtain a new tree structure chart;
determining the node value of the current node, wherein the node value represents the importance degree of a page corresponding to the node;
determining a target node based on the node value of the current node and the new tree structure diagram;
and testing the target page action of the target node based on the target node to obtain a test result corresponding to the current page.
According to one or more embodiments of the present disclosure, the testing a target page action of the target node based on the target node to obtain a test result corresponding to the current page includes:
based on the target node, determining a target page action corresponding to the current page when the current page is updated to a page corresponding to the target node;
and sending the target page action to a client side where the application program is located, so that the client side tests the target page action to obtain a test result corresponding to the current page.
According to one or more embodiments of the present disclosure, after adding the current node corresponding to the current page to the parent node corresponding to the current page based on the relevant information of the current page and the tree structure diagram, obtaining a new tree structure diagram includes:
determining a father node of a current node corresponding to the current page in the tree structure chart based on the relevant information of the current page;
determining the priority of each node in all nodes between the current node and the root node;
if the current node does not exist in the tree structure chart, adding a child node corresponding to the current page behind a parent node of the current node; updating the priority and/or Activity list of each node in all nodes from the father node of the current node to the root node based on the priority of the current node to obtain a new tree structure chart;
and if the current node exists in the tree structure chart, adding a child node corresponding to the current page behind a father node of the current node to obtain a new tree structure chart.
According to one or more embodiments of the present disclosure, the determining the priority of each node in all nodes from the current node to the root node includes:
acquiring the access times and/or the length of an activity list of each node in all nodes between the current node and the root node;
determining the priority of each node in all nodes between the current node and the root node based on the access times of each node in all nodes between the current node and the root node and/or the length of an activity list;
wherein the number of accesses characterizes a total number of all nodes that can be updated to any of the root nodes from the current node based on page actions, and the length of the active list characterizes a total number of pages that can be updated to from any of the pages in the application.
According to one or more embodiments of the present disclosure, determining the priority of each of all nodes between the current node and the root node based on the number of accesses of each of all nodes between the current node and the root node and the length of the active list includes:
determining a first weight corresponding to the number of access times of each node in all the nodes and a second weight corresponding to the length of an activity list corresponding to each node in all the nodes;
determining the priority of each node in all the nodes based on the number of accesses of each node in all the nodes, the first weight, the length of the activity list corresponding to each node in all the nodes and the second weight.
According to one or more embodiments of the present disclosure, the determining a target node based on the node value of the current node and the new tree structure diagram includes:
determining a value threshold range corresponding to the node value based on the node value of the current node and a preconfigured value threshold;
determining a target screening strategy corresponding to the current node based on a value threshold range corresponding to the node value and a corresponding relation between each value threshold range and each screening strategy which are pre-configured;
and determining a target node based on the target screening strategy and the new tree structure chart.
According to one or more embodiments of the present disclosure, the determining a target node based on the target screening policy and the new tree structure diagram includes:
determining the priority of each child node corresponding to the parent node of the current node based on the new tree structure chart;
and determining the target node based on the node value of the current node and the priority of each child node corresponding to the parent node of the current node.
According to one or more embodiments of the present disclosure, if the obtained test instruction includes at least two test instructions, each test instruction includes a page identifier of a current page in the application program; the method further comprises the following steps:
creating a thread corresponding to each page identifier in the at least two page identifiers;
based on the related information of the current page and the tree structure chart, a new tree structure chart is obtained after a current node corresponding to the current page is added to a father node corresponding to the current page; determining a node value of the current node; determining a target node based on the node value of the current node and the new tree structure diagram, wherein the step of determining the target node comprises the following steps:
based on the related information of the current page and the tree structure chart, a new tree structure chart is obtained by a thread corresponding to the page identifier of the current page and adding the current node corresponding to the current page to the father node corresponding to the current page based on the related information of the current page and the tree structure chart; determining a node value of the current node; and determining a target node based on the node value of the current node and the new tree structure diagram.
According to one or more embodiments of the present disclosure, after adding a current node corresponding to the current page to a parent node corresponding to the current page based on the relevant information of the current page and the tree structure diagram, a new tree structure diagram is obtained; determining a node value of the current node; determining a target node based on the node value of the current node and the new tree structure diagram, wherein the step of determining the target node comprises the following steps:
locking the tree structure chart, based on the related information of the current page corresponding to one of the at least two test instructions and the tree structure chart, through a thread corresponding to the page identifier of the current page, and based on the related information of the current page and the tree structure chart, adding the current node corresponding to the current page to a father node corresponding to the current page to obtain a new tree structure chart; determining a node value of the current node; and determining a target node based on the node value of the current node and the new tree structure diagram.
According to one or more embodiments of the present disclosure, [ example two ] there is provided an apparatus for testing an application, the apparatus including:
the test instruction acquisition module is used for acquiring a test instruction for an application program to be tested, wherein the test instruction comprises a page identifier of a current page of the application program to be tested;
the information acquisition module is used for acquiring the related information of the current page and the tree structure diagram of the application program, wherein the related information comprises page information and page actions;
each node in the tree structure chart represents page information of each page of the application program, a connecting line between the nodes represents related page actions between the nodes, for a corresponding child node and a corresponding parent node in the tree structure chart, a page corresponding to the child node is a page updated after the corresponding parent node executes the corresponding page action, and a root node of the tree structure chart is the page information of a starting page of the application program;
a node adding module, configured to add a current node corresponding to the current page to a parent node corresponding to the current page based on the relevant information of the current page and the tree structure diagram, so as to obtain a new tree structure diagram;
the node value determining module is used for determining the node value of the current node, and the node value represents the importance degree of the page corresponding to the node;
the target node determining module is used for determining a target node based on the node value of the current node and the new tree structure chart;
and the test module is used for testing the target page action of the target node based on the target node to obtain a test result corresponding to the current page.
According to one or more embodiments of the present disclosure, when the test module tests a target page action of the target node based on the target node to obtain a test result corresponding to the current page, the test module is specifically configured to:
based on the target node, determining a target page action corresponding to the current page when the current page is updated to a page corresponding to the target node;
and sending the target page action to a client side where the application program is located, so that the client side tests the target page action to obtain a test result corresponding to the current page.
According to one or more embodiments of the present disclosure, the node adding module is specifically configured to, after adding the current node corresponding to the current page to the parent node corresponding to the current page based on the relevant information of the current page and the tree structure diagram, obtain a new tree structure diagram:
determining a father node of a current node corresponding to the current page in the tree structure chart based on the relevant information of the current page;
determining the priority of each node in all nodes between the current node and the root node;
if the current node does not exist in the tree structure chart, adding a child node corresponding to the current page behind a parent node of the current node; updating the priority and/or activity list of each node in all nodes from the father node of the current node to the root node based on the priority of the current node to obtain a new tree structure chart;
and if the current node exists in the tree structure chart, adding a child node corresponding to the current page behind a father node of the current node to obtain a new tree structure chart.
According to one or more embodiments of the present disclosure, when determining the priority of each node in all nodes between the current node and the root node, the node adding module is specifically configured to:
acquiring the access times and/or the length of an activity list of each node in all nodes between the current node and the root node;
determining the priority of each node in all nodes between the current node and the root node based on the access times of each node in all nodes between the current node and the root node and/or the length of an activity list;
wherein the number of accesses characterizes a total number of all nodes that can be updated to any of the root nodes from the current node based on page actions, and the length of the active list characterizes a total number of pages that can be updated to from any of the pages in the application.
According to one or more embodiments of the present disclosure, when determining the priority of each of the nodes between the current node and the root node based on the number of accesses of each of the nodes between the current node and the root node and the length of the activity y list, the node adding module is specifically configured to:
determining a first weight corresponding to the number of access times of each node in all the nodes and a second weight corresponding to the length of an activity list corresponding to each node in all the nodes;
determining the priority of each node in all the nodes based on the number of accesses of each node in all the nodes, the first weight, the length of the activity list corresponding to each node in all the nodes and the second weight.
According to one or more embodiments of the present disclosure, when the target node determination module determines the target node based on the node value of the current node and the new tree structure diagram, the target node determination module is specifically configured to:
determining a value threshold range corresponding to the node value based on the node value of the current node and a preconfigured value threshold;
determining a target screening strategy corresponding to the current node based on a value threshold range corresponding to the node value and a corresponding relation between each value threshold range and each screening strategy which are pre-configured;
and determining a target node based on the target screening strategy and the new tree structure chart.
According to one or more embodiments of the present disclosure, the target screening policy is to determine a target node based on a priority of a node, and the target node determination module is specifically configured to, when determining the target node based on the target screening policy and the new tree structure diagram:
determining the priority of each child node corresponding to the parent node of the current node based on the new tree structure chart;
and determining the target node based on the node value of the current node and the priority of each child node corresponding to the parent node of the current node.
According to one or more embodiments of the present disclosure, if the obtained test instruction includes at least two test instructions, each test instruction includes a page identifier of a current page in the application program; the device also includes:
the thread creating module is used for creating a thread corresponding to each page identifier in the at least two page identifiers;
the device obtains a new tree structure chart after adding a current node corresponding to the current page to a father node corresponding to the current page based on the relevant information of the current page and the tree structure chart; determining a node value of the current node; when the target node is determined based on the node value of the current node and the new tree structure diagram, the method is specifically configured to:
based on the related information of the current page and the tree structure chart, a new tree structure chart is obtained by a thread corresponding to the page identifier of the current page and adding the current node corresponding to the current page to the father node corresponding to the current page based on the related information of the current page and the tree structure chart; determining a node value of the current node; and determining a target node based on the node value of the current node and the new tree structure diagram.
According to one or more embodiments of the present disclosure, the apparatus obtains a new tree structure diagram after adding a current node corresponding to the current page to a parent node corresponding to the current page based on the relevant information of the current page and the tree structure diagram; determining a node value of the current node; when the target node is determined based on the node value of the current node and the new tree structure diagram, the method is specifically configured to:
locking the tree structure chart, based on the related information of the current page corresponding to one of the at least two test instructions and the tree structure chart, through a thread corresponding to the page identifier of the current page, and based on the related information of the current page and the tree structure chart, adding the current node corresponding to the current page to a father node corresponding to the current page to obtain a new tree structure chart; determining a node value of the current node; and determining a target node based on the node value of the current node and the new tree structure diagram.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the disclosure herein is not limited to the particular combination of features described above, but also encompasses other embodiments in which any combination of the features described above or their equivalents does not depart from the spirit of the disclosure. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.
Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (11)

1. A method for testing an application program, comprising:
acquiring a test instruction aiming at an application program to be tested, wherein the test instruction comprises a page identifier of a current page of the application program to be tested;
acquiring related information of the current page and a tree structure diagram of the application program, wherein the related information comprises page information and page actions;
each node in the tree structure chart represents page information of each page of the application program, a connecting line between the nodes represents related page actions between the nodes, for a corresponding child node and a corresponding parent node in the tree structure chart, a page corresponding to the child node is a page updated after the corresponding parent node executes the corresponding page action, and a root node of the tree structure chart is the page information of a starting page of the application program;
based on the related information of the current page and the tree structure chart, adding the current node corresponding to the current page to a father node corresponding to the current page to obtain a new tree structure chart;
determining the node value of the current node, wherein the node value represents the importance degree of a page corresponding to the node;
determining a target node based on the node value of the current node and the new tree structure diagram;
and testing the target page action of the target node based on the target node to obtain a test result corresponding to the current page.
2. The method of claim 1, wherein the obtaining a new tree structure diagram after adding the current node corresponding to the current page to the parent node corresponding to the current page based on the relevant information of the current page and the tree structure diagram comprises:
determining a father node of a current node corresponding to the current page in the tree structure chart based on the relevant information of the current page;
determining the priority of each node in all nodes between the current node and the root node;
if the current node does not exist in the tree structure chart, adding a child node corresponding to the current page behind a parent node of the current node; updating the priority and/or activity list of each node in all nodes from the father node of the current node to the root node based on the priority of the current node to obtain a new tree structure chart;
and if the current node exists in the tree structure chart, adding a child node corresponding to the current page behind a father node of the current node to obtain a new tree structure chart.
3. The method of claim 2, wherein the determining the priority of each of all nodes between the current node and the root node comprises:
acquiring the access times and/or the length of an activity list of each node in all nodes between the current node and the root node;
determining the priority of each node in all nodes between the current node and the root node based on the access times of each node in all nodes between the current node and the root node and/or the length of an activity list;
wherein the number of accesses characterizes a total number of all nodes that can be updated to any of the root nodes from the current node based on page actions, and the length of the active list characterizes a total number of pages that can be updated to from any of the pages in the application.
4. The method of claim 3, wherein determining the priority of each of the nodes between the current node and the root node based on the number of accesses to each of the nodes between the current node and the root node and the length of the active list comprises:
determining a first weight corresponding to the number of access times of each node in all the nodes and a second weight corresponding to the length of an activity list corresponding to each node in all the nodes;
determining the priority of each node in all the nodes based on the number of accesses of each node in all the nodes, the first weight, the length of the activity list corresponding to each node in all the nodes and the second weight.
5. The method according to any one of claims 1 to 4, wherein the determining a target node based on the node value of the current node and the new tree structure diagram comprises:
determining a value threshold range corresponding to the node value based on the node value of the current node and a preconfigured value threshold;
determining a target screening strategy corresponding to the current node based on a value threshold range corresponding to the node value and a corresponding relation between each value threshold range and each screening strategy which are pre-configured;
and determining a target node based on the target screening strategy and the new tree structure chart.
6. The method of claim 5, wherein the target screening policy is to determine a target node based on a priority of a node, and wherein the determining a target node based on the target screening policy and the new tree structure diagram comprises:
determining the priority of each child node corresponding to the parent node of the current node based on the new tree structure chart;
and determining the target node based on the node value of the current node and the priority of each child node corresponding to the parent node of the current node.
7. The method according to any one of claims 1 to 4, wherein if the obtained test instruction includes at least two test instructions, each test instruction includes a page identifier of a current page in the application program; the method further comprises the following steps:
creating a thread corresponding to each page identifier in the at least two page identifiers;
based on the related information of the current page and the tree structure chart, a new tree structure chart is obtained after a current node corresponding to the current page is added to a father node corresponding to the current page; determining a node value of the current node; determining a target node based on the node value of the current node and the new tree structure diagram, wherein the step of determining the target node comprises the following steps:
based on the related information of the current page and the tree structure chart, a new tree structure chart is obtained by a thread corresponding to the page identifier of the current page and adding the current node corresponding to the current page to the father node corresponding to the current page based on the related information of the current page and the tree structure chart; determining a node value of the current node; and determining a target node based on the node value of the current node and the new tree structure diagram.
8. The method according to claim 7, wherein a new tree structure diagram is obtained after the current node corresponding to the current page is added to the parent node corresponding to the current page based on the relevant information of the current page and the tree structure diagram; determining a node value of the current node; determining a target node based on the node value of the current node and the new tree structure diagram, wherein the step of determining the target node comprises the following steps:
locking the tree structure chart, based on the related information of the current page corresponding to one of the at least two test instructions and the tree structure chart, through a thread corresponding to the page identifier of the current page, and based on the related information of the current page and the tree structure chart, adding the current node corresponding to the current page to a father node corresponding to the current page to obtain a new tree structure chart; determining a node value of the current node; and determining a target node based on the node value of the current node and the new tree structure diagram.
9. A testing device for an application program is characterized in that,
the test instruction acquisition module is used for acquiring a test instruction for an application program to be tested, wherein the test instruction comprises a page identifier of a current page of the application program to be tested;
the information acquisition module is used for acquiring the related information of the current page and the tree structure diagram of the application program, wherein the related information comprises page information and page actions;
each node in the tree structure chart represents page information of each page of the application program, a connecting line between the nodes represents related page actions between the nodes, for a corresponding child node and a corresponding parent node in the tree structure chart, a page corresponding to the child node is a page updated after the corresponding parent node executes the corresponding page action, and a root node of the tree structure chart is the page information of a starting page of the application program;
a node adding module, configured to add a current node corresponding to the current page to a parent node corresponding to the current page based on the relevant information of the current page and the tree structure diagram, so as to obtain a new tree structure diagram;
the node value determining module is used for determining the node value of the current node, and the node value represents the importance degree of the page corresponding to the node;
the target node determining module is used for determining a target node based on the node value of the current node and the new tree structure chart;
and the test module is used for testing the target page action of the target node based on the target node to obtain a test result corresponding to the current page.
10. An electronic device, comprising:
a processor and a memory;
the memory is used for storing computer operation instructions; the processor is used for executing the method of any one of claims 1 to 8 by calling the computer operation instruction.
11. A computer readable medium having stored thereon at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by a processor to implement the method of any of claims 1 to 8.
CN202010754760.7A 2020-07-30 2020-07-30 Application program testing method and device, electronic equipment and computer medium Active CN111694754B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010754760.7A CN111694754B (en) 2020-07-30 2020-07-30 Application program testing method and device, electronic equipment and computer medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010754760.7A CN111694754B (en) 2020-07-30 2020-07-30 Application program testing method and device, electronic equipment and computer medium

Publications (2)

Publication Number Publication Date
CN111694754A true CN111694754A (en) 2020-09-22
CN111694754B CN111694754B (en) 2023-04-07

Family

ID=72487096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010754760.7A Active CN111694754B (en) 2020-07-30 2020-07-30 Application program testing method and device, electronic equipment and computer medium

Country Status (1)

Country Link
CN (1) CN111694754B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559338A (en) * 2020-12-11 2021-03-26 北京百度网讯科技有限公司 Application program checking method, device, equipment and storage medium
CN114996291A (en) * 2022-08-05 2022-09-02 中汽信息科技(天津)有限公司 Self-adaptive priority multi-level data updating method
WO2023093137A1 (en) * 2021-11-24 2023-06-01 中国银联股份有限公司 Application (app) testing method and apparatus, electronic device, and storage medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2365440A1 (en) * 2010-03-12 2011-09-14 Xmos Ltd Program flow route constructor
CN103853649A (en) * 2012-11-28 2014-06-11 百度在线网络技术(北京)有限公司 Application program testing method and system
CN104572430A (en) * 2013-10-24 2015-04-29 腾讯科技(深圳)有限公司 Method, device and system for testing terminal application interface
CN106326104A (en) * 2015-07-08 2017-01-11 腾讯科技(深圳)有限公司 Terminal control test method and apparatus
CN108710575A (en) * 2018-05-23 2018-10-26 华南理工大学 Unit test method based on automatic generation of path coverage test case
CN110166501A (en) * 2018-02-11 2019-08-23 华为技术有限公司 A kind of localization method, terminal and server
US20200026640A1 (en) * 2018-07-23 2020-01-23 Verizon Patent And Licensing Inc. Systems and methods for modular test platform for applications
CN111158881A (en) * 2019-12-31 2020-05-15 北京字节跳动网络技术有限公司 Data processing method and device, electronic equipment and computer readable storage medium
CN111290940A (en) * 2018-12-10 2020-06-16 中国移动通信集团江西有限公司 Automatic testing method, device, equipment and medium for APP

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2365440A1 (en) * 2010-03-12 2011-09-14 Xmos Ltd Program flow route constructor
CN103853649A (en) * 2012-11-28 2014-06-11 百度在线网络技术(北京)有限公司 Application program testing method and system
CN104572430A (en) * 2013-10-24 2015-04-29 腾讯科技(深圳)有限公司 Method, device and system for testing terminal application interface
CN106326104A (en) * 2015-07-08 2017-01-11 腾讯科技(深圳)有限公司 Terminal control test method and apparatus
CN110166501A (en) * 2018-02-11 2019-08-23 华为技术有限公司 A kind of localization method, terminal and server
CN108710575A (en) * 2018-05-23 2018-10-26 华南理工大学 Unit test method based on automatic generation of path coverage test case
US20200026640A1 (en) * 2018-07-23 2020-01-23 Verizon Patent And Licensing Inc. Systems and methods for modular test platform for applications
CN111290940A (en) * 2018-12-10 2020-06-16 中国移动通信集团江西有限公司 Automatic testing method, device, equipment and medium for APP
CN111158881A (en) * 2019-12-31 2020-05-15 北京字节跳动网络技术有限公司 Data processing method and device, electronic equipment and computer readable storage medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559338A (en) * 2020-12-11 2021-03-26 北京百度网讯科技有限公司 Application program checking method, device, equipment and storage medium
CN112559338B (en) * 2020-12-11 2024-02-06 北京百度网讯科技有限公司 Verification method, device, equipment and storage medium of application program
WO2023093137A1 (en) * 2021-11-24 2023-06-01 中国银联股份有限公司 Application (app) testing method and apparatus, electronic device, and storage medium
CN114996291A (en) * 2022-08-05 2022-09-02 中汽信息科技(天津)有限公司 Self-adaptive priority multi-level data updating method

Also Published As

Publication number Publication date
CN111694754B (en) 2023-04-07

Similar Documents

Publication Publication Date Title
CN111694754B (en) Application program testing method and device, electronic equipment and computer medium
CN110765354B (en) Information pushing method and device, electronic equipment and storage medium
CN108721898A (en) The determination method and apparatus of frame per second, storage medium, electronic device
CN111694757B (en) Application program testing method and device, electronic equipment and computer readable storage medium
US20200314159A1 (en) Anomaly detection for streaming data
CN115841366A (en) Article recommendation model training method and device, electronic equipment and storage medium
CN113392018B (en) Traffic distribution method and device, storage medium and electronic equipment
CN111752834A (en) Automatic testing method and device
US20240118984A1 (en) Prediction method and apparatus for faulty gpu, electronic device and storage medium
CN111858381B (en) Application fault tolerance capability test method, electronic device and medium
CN111158881B (en) Data processing method, device, electronic equipment and computer readable storage medium
CN115221033A (en) Interface protocol testing method and device, computer readable medium and electronic equipment
CN112242911B (en) Network flow based test method and device, storage medium and electronic equipment
CN110960857A (en) Game data monitoring method and device, electronic equipment and storage medium
CN115588064A (en) Video generation method and device, electronic equipment and storage medium
CN115134254A (en) Network simulation method, device, equipment and storage medium
CN116149978A (en) Service interface testing method and device, electronic equipment and storage medium
CN114116480A (en) Method, device, medium and equipment for determining application program test coverage rate
CN114035861A (en) Cluster configuration method and device, electronic equipment and computer readable medium
CN114157578A (en) Network state prediction method and device
CN112286808A (en) Application program testing method and device, electronic equipment and medium
CN111641535A (en) Network monitoring method, network monitoring device, electronic equipment and medium
CN117041139B (en) Data packet transmission method, device, computer equipment and storage medium
CN115309622A (en) Software testing method, device, equipment and storage medium based on probability model
CN117076268A (en) Webpage performance bottleneck attribution method, device, system, equipment and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant