CN108073499B - Application program testing method and device - Google Patents

Application program testing method and device Download PDF

Info

Publication number
CN108073499B
CN108073499B CN201610992267.2A CN201610992267A CN108073499B CN 108073499 B CN108073499 B CN 108073499B CN 201610992267 A CN201610992267 A CN 201610992267A CN 108073499 B CN108073499 B CN 108073499B
Authority
CN
China
Prior art keywords
target application
data
application process
exit
abnormal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610992267.2A
Other languages
Chinese (zh)
Other versions
CN108073499A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610992267.2A priority Critical patent/CN108073499B/en
Publication of CN108073499A publication Critical patent/CN108073499A/en
Application granted granted Critical
Publication of CN108073499B publication Critical patent/CN108073499B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a method and a device for testing an application program. Wherein, the method comprises the following steps: running a target application program, wherein the target application program is an application program to be tested, target codes are injected into the target application program, and a target application process is generated in the process of running the target application program; monitoring running data of the target application process, wherein the running data comprises normal quitting data and abnormal quitting data of the target application process; determining a stability parameter of the target application process according to the normal exit data and the abnormal exit data; judging whether the stability parameter meets a preset condition or not; and deleting the target code from the target application program under the condition that the stability parameter is judged not to meet the preset condition. The invention solves the technical problem of low accuracy of testing the application program in the prior art.

Description

Application program testing method and device
Technical Field
The invention relates to the field of application programs, in particular to a method and a device for testing an application program.
Background
After a piece of code capable of realizing a certain function is injected into an application program, the application process obtained by running the application program has the function, for example, assuming that the target code is used for intercepting advertisements, after the target code is injected into the application program a, the advertisements can be intercepted when the application program a is run. However, after the object code is injected into the application a, the running stability of the application a may be affected. Therefore, the application a needs to be tested to determine the strength of the impact of the injection of the target code on the operation of the application a.
In the prior art, the influence of injected code on the stability of an application process is mainly monitored according to a signal processor. The specific process is as follows: the application program in the Android can be in two running states: native and Java virtual machines. Native is the same as a common Linux program, while the Java virtual machine is running Java bytecode. When native code operation has an error, the kernel sends a signal to the process, and calls a signal processor of the process to process, and then the default processing result is that the process exits abnormally. In the Java virtual machine, there is a similar mechanism, when an exception occurs and the application code is not captured, the virtual machine calls the exception handler of the thread to process, and the default processing result is also the process exception exit. In both states, the application can register its own processor to replace the default processor to receive such exception messages, so that some good and poor work can be done before the process exits: such as logging, etc. By using the technical characteristics, the abnormal condition of the application process can be monitored.
The method in the prior art has the main defect that the method can only monitor the abnormal exit of a single application, and cannot know the normal exit and abnormal exit conditions of the application at the same time, so that the accuracy of testing the application program is low.
In view of the above problems, no effective solution has been proposed.
Disclosure of Invention
The embodiment of the invention provides a method and a device for testing an application program, which at least solve the technical problem of low accuracy of testing the application program in the prior art.
According to an aspect of an embodiment of the present invention, there is provided a method for testing an application program, including: running a target application program, wherein the target application program is an application program to be tested, target codes are injected into the target application program, and a target application process is generated in the process of running the target application program; monitoring running data of the target application process, wherein the running data comprises normal exit data and abnormal exit data of the target application process; determining a stability parameter of the target application process according to the normal exit data and the abnormal exit data; judging whether the stability parameter meets a preset condition or not; and deleting the target code from the target application program under the condition that the stability parameter is judged not to meet the preset condition.
According to another aspect of the embodiments of the present invention, there is also provided an apparatus for testing an application, including: the system comprises an operation unit, a test unit and a control unit, wherein the operation unit is used for operating a target application program, the target application program is an application program to be tested, a target code is injected into the target application program, and a target application process is generated in the process of operating the target application program; the monitoring unit is used for monitoring the running data of the target application process, wherein the running data comprises normal exit data and abnormal exit data of the target application process; the determining unit is used for determining the stability parameter of the target application process according to the normal exit data and the abnormal exit data; the judging unit is used for judging whether the stability parameter meets a preset condition or not; and the deleting unit is used for deleting the target code from the target application program under the condition that the stability parameter is judged not to meet the preset condition.
In the embodiment of the invention, the target code is injected into the target application program, the target application program is operated to generate the target application process, the stability parameter of the target application process is determined according to the normal exit data and the abnormal exit data of the target application process, and if the stability parameter meets the preset condition, the influence of the target code on the stability of the target application process is small; if the stability parameter does not meet the preset condition, the influence of the target code on the stability of the target application process is large, and under the condition that the influence of the target code on the stability of the target application process is large, the target code is deleted from the target application program, and the normal exit condition and the abnormal exit condition of the application process can be obtained simultaneously, so that the influence of the injected code on the operation of the application program is comprehensively considered, the technical effect of improving the testing accuracy of the application program is achieved, and the technical problem of low accuracy of the testing application program in the prior art is solved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:
FIG. 1 is a schematic diagram of a hardware environment according to an embodiment of the present invention;
FIG. 2 is a flow chart of a method of testing an application according to an embodiment of the invention;
FIG. 3 is a flow diagram of monitoring for application exception exits, according to an embodiment of the present invention;
FIG. 4 is a flow diagram of a hijacked dlopen function execution according to an embodiment of the invention;
FIG. 5 is a schematic diagram of an apparatus for testing an application according to an embodiment of the present invention;
fig. 6 is a schematic diagram of a server according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Technical term interpretation:
logcat: in the Android system log system, an external tool can read log information during the running of the system through logcat.
The tombstone file: when the Android system is abnormal, the system records some information of an abnormal site into a file, and usually stores a part of the information into a/data/system/dropbox directory.
debuggerd: the debug is a self-contained process of the Android system, when an application process is dead due to abnormality, the debug process can read stack information of a coast process and store the stack information in a tombstone file, and meanwhile, a coast log is output to logcat.
binder service object: and in the Android system, the other corresponding party is a binder client object. When a service object dies, a notification is sent to the binder client object that registered the death interception message.
It should be noted that the application process exit in the embodiment of the present invention includes an application process abnormal exit and an application process normal exit.
According to an embodiment of the present invention, an embodiment of a method for testing an application program is provided.
Alternatively, in this embodiment, the test method of the application program may be applied to a hardware environment formed by the server 102 and the terminal 104 as shown in fig. 1. As shown in fig. 1, a server 102 is connected to a terminal 104 via a network including, but not limited to: the terminal 104 is not limited to a PC, a mobile phone, a tablet computer, etc. in a wide area network, a metropolitan area network, or a local area network. The application testing method according to the embodiment of the present invention may be executed by the terminal 104 or the server 102. The testing method of the terminal 104 executing the application program of the embodiment of the present invention may be executed by a client installed thereon.
In the case where the test method of the application program is executed by the terminal 104, the procedure of the method is as follows: the target application program of the terminal 104 is injected with a target code, the target application program is operated to generate a target application process, and the terminal 104 monitors operation data of the target application process, wherein the operation data comprises normal exit data and abnormal exit data of the target application process. The terminal 104 determines the stability parameter of the target application process according to the normal exit data and the abnormal exit data, and determines whether the stability parameter meets a preset condition. When the terminal 104 determines that the stability parameter does not satisfy the preset condition, it indicates that the injection of the object code into the object application program has a large influence on the stability of the object application process, and at this time, the object code needs to be deleted from the object application program.
In the case where the test method of the application program is executed by the server 102, a network architecture diagram provided by the embodiment of the present invention is shown in fig. 1. As shown in fig. 1, an object code is injected into an object application program of the terminal 104, the object application program is run to generate an object application process, and the terminal 104 monitors running data of the object application process, where the running data includes normal exit data and abnormal exit data of the object application process. The terminal 104 transmits the normal exit data and the abnormal exit data to the server 102. The server 102 receives the normal exit data and the abnormal exit data of the target application process, and determines the stability parameter of the target application process according to the normal exit data and the abnormal exit data. The server 102 determines whether the stability parameter satisfies a predetermined condition. When the server 102 determines that the stability parameter does not satisfy the preset condition, which indicates that the injection of the object code into the object application has a large influence on the stability of the object application process, it is necessary to send an instruction to the terminal 104, where the instruction is used to instruct to delete the object code from the object application.
According to an embodiment of the present invention, there is provided a method for testing an application program, as shown in fig. 2, the method including the steps of:
step S202, a target application program is run, where the target application program is an application program to be tested, and a target code is injected into the target application program, and a target application process is generated in the process of running the target application program.
Step S204, monitoring the running data of the target application process, wherein the running data comprises normal exit data and abnormal exit data of the target application process.
And step S206, determining the stability parameter of the target application process according to the normal exit data and the abnormal exit data.
Step S208, judging whether the stability parameter meets the preset condition.
And step S210, deleting the target code from the target application program under the condition that the stability parameter is judged not to meet the preset condition.
The object code may be a piece of code that is capable of implementing a certain function. For example, assuming that the object code functions to intercept advertisements, after the object code is injected into application a, the interception of advertisements can be achieved while application a is running. However, after the object code is injected into the application a, the running stability of the application a may be affected. Therefore, the application a needs to be tested to determine the impact of the injection of the target code on the operation of the application a.
In the embodiment of the present invention, all the parameters capable of indicating the running stability of the application program may be taken as the stability parameters of the application process, and the stability parameters may have various representations, which are listed below for explanation.
First representation of the stability parameter:
si=ai/biformula (1)
Wherein s isiA stability parameter, a, representing the target application process iiRepresenting the number of abnormal exits of the target application process i within a period of time (obtained from the abnormal exit data), biIndicating the exit of the target application process i within the period of timeNumber of times wherein bi=ai+ci,ciIndicating the number of normal exits (obtained from the normal exit data) of the target application process i within the period of time.
Stability parameter s shown in equation (1)iIs the exception rate of the target application process i, usually an application without a significant bug, the exception rate should be very low or even close to 0, and if the exception rate is higher than 1%, the application is generally considered to have serious quality problems.
Second representation of the stability parameter:
si=ai/ciformula (2)
Wherein s isiA stability parameter, a, representing the target application process iiRepresenting the number of abnormal exits of the target application process i within a period of time (obtained from the abnormal exit data), ciIndicating the number of normal exits (obtained from the normal exit data) of the target application process i within the period of time.
When there are multiple target applications (greater than or equal to 2), running each target application generates a target application process, and therefore, a plurality of target application processes are generated in total, in this case, the stability parameter may be considered to be obtained by integrating the stability conditions of the N target application processes, and the stability parameter may be a weighted average of the stability parameters of the multiple target application processes. That is, the third representation of the stability parameter:
Figure BDA0001150009760000071
n denotes a total of N target application programs, and a target application process is obtained by running each target application program, that is, a total of N target application processes. And S represents a stability parameter obtained by integrating the stability conditions of the N target application processes.
Wherein s isiRepresenting the stability parameter, s, of the target application process iiCan be calculated by the above formula (1) or formula (2).
wiRepresenting the weight of the target application process i. Different weight values can be given to the target application processes corresponding to different target application programs according to the importance degrees of the different target application programs. The benefits of this method of calculating the stability parameter are: object codes are injected into the plurality of application programs, the influence of the object codes on the stability of the application processes corresponding to the application programs is possibly different, the influence on the stability of some application processes is larger, and the influence on the stability of other application processes is smaller. The weight of the corresponding application process is given a larger value for more important applications, and the weight of the corresponding application process is given a smaller value for less important applications, so that the influence of the object code on the stability of the important application process can be highlighted.
When the target application has a plurality of (2 or more), the stability parameter may have a fourth expression:
formula (4) of A/B
And S represents a stability parameter obtained by integrating the stability conditions of the N target application processes.
A represents the sum of the number of abnormal exits of the N target application processes,
Figure BDA0001150009760000081
aiindicating the number of abnormal exits (obtained from the abnormal exit data) of the target application process i within a period of time.
B represents the sum of the number of exits of the N target application processes,
Figure BDA0001150009760000082
biindicating the number of exits of the target application process i within the period of time.
The stability condition of a plurality of application processes is considered to obtain a stability parameter, and the influence of injected target codes on the system application processes is judged according to the stability parameter, so that the effect of improving the judgment accuracy is achieved.
And after the stability parameters are obtained, judging whether the stability parameters meet preset conditions. The predetermined condition may be a range of values, for example, the predetermined condition is that the stability parameter is less than 0.01%.
When the stability parameter meets the preset condition, the stability of the application process is considered to be less influenced by the injected code. When the stability parameter does not meet the preset condition, the stability of the application process is considered to be greatly influenced by the injected object code, and the injected object code needs to be deleted from the application program.
In the embodiment of the invention, the target code is injected into the target application program, the target application program is operated to generate the target application process, the stability parameter of the target application process is determined according to the normal exit data and the abnormal exit data of the target application process, and if the stability parameter meets the preset condition, the influence of the target code on the stability of the target application process is small; if the stability parameter does not meet the preset condition, the influence of the target code on the stability of the target application process is large, and under the condition that the influence of the target code on the stability of the target application process is large, the target code is deleted from the target application program, and the normal exit condition and the abnormal exit condition of the application process can be obtained simultaneously, so that the influence of the injected code on the operation of the application program is comprehensively considered, the technical problem of low accuracy of the application program test in the prior art is solved, and the technical effect of improving the test accuracy of the application program is achieved.
The process of monitoring the operational data of the target application process may be such that: creating a first object in the target application process, wherein the first object is destroyed along with the exit of the target application process; monitoring whether the first object is destroyed; determining that the target application process exits when the first object is monitored to be destroyed, wherein the target application process exits including abnormal exits and normal exits; and taking data generated when the target application process exits as first exiting data. When the target application process is abnormally exited, abnormal exit data can be generated; the first exit data is generated in both cases of a normal exit and an abnormal exit of the target application process.
The first object is an object with a life cycle created in the target application process space, the first object and the process in which the first object is located are in a symbiotic death, and when the process in which the first object is located exits, the first object can be destroyed. Therefore, whether the process in which the first object is located exits or not can be known by monitoring whether the first object is destroyed or not.
The first object may be a binder object, a socket object, etc.
In the case that the first object is a binder object, the process of monitoring whether the first object is destroyed is as follows: registering a first notification of a binder service object, wherein the first notification is used for indicating that a process in which the binder is positioned exits; judging whether a first notice is detected; in the event that the first notification is detected, it is determined that the binder object is destroyed.
The binder is a mechanism for cross-process communication of the Android system, and sends a death notification (i.e., a first notification) to its client when a binder object dies (i.e., a process in which the binder is located exits). The monitoring client firstly injects a target process and creates a binder service object. The death notification for the binder service object is then registered and the number of exits (first exit data) for the target application process is obtained.
In the case where the first object is a socket object, the process of monitoring whether the first object is destroyed is as follows: calling a target function, wherein the target function is used for receiving information sent by a target application process, and the target function exits under the condition that the target application process exits; judging whether the target function exit is detected; and in the case of detecting the exit of the objective function, determining that the socket object is destroyed.
The target function is a function for receiving information sent by the target application process, and when the target application process exits, the target function exits along with the information, so that whether the socket object is destroyed can be known by detecting whether the target function exits, and whether the process exits can be known.
Optionally, the monitoring the running data of the target application process includes: acquiring abnormal exit data of the target application process, wherein the abnormal exit data can be generated under the condition that the target application process exits abnormally; acquiring first exit data of a target application process, wherein the first exit data can be generated under the two conditions of normal exit and abnormal exit of the target application process; and acquiring normal exit data according to the abnormal exit data and the first exit data.
The run data of the target application process comprises first exit data. The acquisition process of the first exit data has already been described in detail above.
The abnormal exit data of the application can be acquired by any one of the following two methods:
a first method of obtaining abnormal exit data for an application:
and acquiring abnormal exit data of the application by using the tombstone file. Judging whether the gravestone file directory is changed or not according to the read gravestone file directory; if the tombstone file directory is changed, determining that the target application process is abnormally exited; and taking the running data generated when the target application process is abnormally exited as abnormal exiting data.
Due to the characteristics of the Android system, a tombstone file cannot be generated when the application process normally exits; when the application exits abnormally, a tombstone file is recorded to a specific directory, so that the abnormal occurrence of a process can be known by monitoring events such as file writing of the directory, and the specific application information of the abnormal occurrence can be known by analyzing the specific content of the tombstone file. If the tombstone file directory is changed, the target application process is abnormally exited.
The process of determining whether the tombstone file directory is changed according to the read tombstone file directory may be implemented using the following method (a) or method (b).
Method (a): creating a directory modification event listener, wherein after the directory modification event listener is created, if an application process is abnormally exited, a system can generate a tombstone file; judging whether the system generates a tombstone file or not; in the case where the system generates a tombstone file, it is determined that the tombstone file directory is changed. The step of taking the running data generated when the target application process is abnormally exited as the abnormal exiting data comprises the following steps: and analyzing the tombstone file to obtain abnormal exit data.
The abnormal quit of all the applications can be known by using the tombstone file, the modification event of the tombstone file directory can be monitored by adopting an inotify mechanism, and the method is strong in real-time performance. The specific process is as follows: first, a directory modification event listener (by inotify) is created, and when an application exits abnormally, the system generates an abnormal information file (tombstone file) whose header contains which application and which process are abnormal. By simply analyzing the abnormal information file, the abnormal exit of the application can be positioned.
Method (b): the new modifications are discovered by periodically scanning the tombstone file directory. And scanning the tombstone file directory once at regular intervals, and if the tombstone file directory is changed, indicating that the target application process is abnormally exited.
FIG. 3 is a flow diagram of monitoring for application exception exits, according to an embodiment of the present invention.
As shown in fig. 3, the monitoring application initiates monitoring of the process. The daemon monitors the tombstone directory. When the third-party application process is abnormally quitted, the Android system sends out a tombstone file modification instruction, the daemon process modifies the tombstone file according to the instruction, and when the monitoring application monitors that the tombstone file is modified, the third-party application process is determined to be abnormally quitted.
The test method of the application program provided by the embodiment of the invention can obtain the exit data (namely the first exit data) generated under the condition that the application exits completely, and calculate the stability index (the stability parameter) of the application, and the scheme in the prior art only obtains the abnormal exit times of the application, so that the test result obtained by the test method of the application program provided by the embodiment of the invention is more accurate, and meanwhile, the test method of the application program can monitor all the applications in the whole system, and has great value for a mobile phone management tool which has potential influence on the whole system.
A second method of obtaining abnormal exit data for an application:
running a debugging program, wherein a first process is generated in the process of running the debugging program; detecting whether the first process creates a tombstone file; determining that the target application process is abnormally exited under the condition that the first process is detected to create the tombstone file; and taking the running data generated when the target application process is abnormally exited as abnormal exiting data. The first process may be a debug process. The debug process is the creator of the exception information file (tombstone file) mentioned in the first method, so that the effect of intercepting the message of application exception crash is achieved by injecting the process to intercept the action of creating the file (the action of creating the file is executed through a dlopen function), and the number of times of application exception exit can be obtained. Fig. 4 is a flow diagram of the execution of a hijacked dlopen function according to an embodiment of the present invention.
As shown in fig. 4, the monitoring application injects a third-party process, the third-party application process creates a binder service, and when the third-party application process exits abnormally, the third-party application process sends a binder death notification (i.e., the first notification) to the monitoring application.
The test method of the application program provided by the embodiment of the invention not only can monitor the normal exit and abnormal exit of the application, but also can cover all application processes of the whole system, and has very important reference significance for the application which wants to evaluate the influence of the test method on the stability of other applications in the system.
The method for testing the application program provided by the embodiment of the invention can be applied to Android system security applications and testing tool applications. For example, application a is a test tool class application of the Android system. When the application program testing method provided by the embodiment of the invention is applied to the application A, whether the global advertisement blocking function (namely the target code is used for realizing advertisement blocking) causes the application B to frequently quit abnormally can be known, so that the advertisement blocking of the application B can be closed when a certain early warning proportion is exceeded.
For example, there are 10 applications on the terminal, namely application B1, applications B2, … … and application B10. Object code (the role of which is to achieve ad blocking) is injected into these 10 applications. And monitoring all exit conditions (including normal exit conditions and abnormal exit conditions) of the application processes corresponding to the application program B1, the application programs B2 and … … and the application program B10 by using the application A, and respectively calculating the abnormal rate of the application processes corresponding to the application program B1, the application programs B2 and … … and the application program B10 according to the first exit data and the abnormal exit data. The anomaly rate (stability parameter) of the application process can be calculated using equation (1) as described above.
Suppose that the exception rates for 10 application processes are obtained as shown in table 1.
TABLE 1
Figure BDA0001150009760000121
Figure BDA0001150009760000131
After the same target code is injected, the exception rates of the application processes of the application program B1, the application programs B2, … … and the application program B10 are different, and since the exception rate is obtained by dividing the number of times of abnormal exit of the application process by the number of times of all exits of the application process, the higher the exception rate is, the more frequent the abnormal exit of the application process is, and the worse the running stability of the application process is.
In the case of an application without a significant bug, the exception rate should be a small number, close to 0. If the exception rate of the application process corresponding to an application program is more than 1%, the application program can be considered to have serious quality problems.
As can be seen from table 1, the exception rates of the application processes corresponding to the application program B1 and the application program B2 are large, and both are greater than 1%, which indicates that the injection of the object code seriously affects the running stability of the application processes corresponding to the application program B1 and the application program B2. In this case, the object code injected into the application B1 and the application B2 needs to be deleted to ensure the running stability of the application processes corresponding to the application B1 and the application B2. After the target code injected into the application program B1 and the application program B2 is deleted, the advertisement is not intercepted when the application processes corresponding to the application program B1 and the application program B2 run.
The abnormal rates of the application processes corresponding to the application programs B3 to B10 are small and far less than 1%, which indicates that the injection of the object code has little influence on the running stability of the application processes corresponding to the application programs B3 to B10, and can be ignored. The advertisement is intercepted when the application processes corresponding to application B3 through application B10 run.
In the embodiment of the invention, the application which has root authority and performs code injection on the Android system or the common application can use the method to judge whether the injection behavior of the application affects the stability of the third-party process, so as to perform avoidance in advance or make technical adaptation.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required by the invention.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
According to an embodiment of the present invention, there is also provided an application program testing apparatus for implementing the method for testing an application program, as shown in fig. 5, the apparatus including: the device comprises an operation unit 10, a monitoring unit 20, a determination unit 30, a judgment unit 40 and a deletion unit 50.
The running unit 10 is configured to run a target application, where the target application is an application to be tested, and a target code is injected into the target application, and a target application process is generated in a process of running the target application.
And the monitoring unit 20 is configured to monitor operation data of the target application process, where the operation data includes normal exit data and abnormal exit data of the target application process.
And the determining unit 30 is used for determining the stability parameter of the target application process according to the normal exit data and the abnormal exit data.
And the judging unit 40 is used for judging whether the stability parameter meets the preset condition.
And the deleting unit 50 is used for deleting the target code from the target application program under the condition that the stability parameter is judged not to meet the preset condition.
Optionally, the monitoring unit 20 comprises: the monitoring system comprises a creating subunit, a monitoring subunit, a first determining subunit and a second determining subunit. And the creating subunit is used for creating a first object in the target application process, wherein the first object is destroyed along with the exit of the target application process. And the monitoring subunit is used for monitoring whether the first object is destroyed. The first determining subunit is configured to determine that the target application process exits when it is monitored that the first object is destroyed, where the target application process exits including an abnormal exit and a normal exit. And the second determining subunit is used for taking the data generated when the target application process exits as the first exiting data.
Optionally, the monitoring subunit comprises: the device comprises a registration module, a first judgment module and a first determination module. The registration module is used for registering a first notice of the first object, wherein the first notice is used for indicating that the process where the first object is located exits. And the first judging module is used for judging whether the first notice is detected. A first determination module to determine that the first object is destroyed if the first notification is detected.
Optionally, the monitoring unit 20 comprises: the device comprises a first acquisition subunit, a second acquisition subunit and a third acquisition subunit. The first acquiring subunit is configured to acquire abnormal exit data of the target application process, where the abnormal exit data is generated when the target application process exits abnormally. And the second acquiring subunit is used for acquiring first exit data of the target application process, wherein the first exit data is generated under the two conditions of normal exit and abnormal exit of the target application process. And the third acquiring subunit is used for acquiring the normal exit data according to the abnormal exit data and the first exit data.
Optionally, the monitoring unit 20 comprises: the device comprises a judgment subunit, a third determination subunit and a fourth determination subunit. And the judging subunit is used for judging whether the tombstone file directory is changed or not according to the read tombstone file directory. And a third determining subunit, configured to determine that an abnormal exit has occurred to the target application process if the tombstone file directory is changed. And the fourth determining subunit is used for taking the running data generated when the target application process is abnormally exited as abnormal exiting data.
Optionally, the judging subunit includes: the device comprises a creating module, a second judging module and a second determining module. And the creating module is used for creating a directory modification event listener, wherein after the directory modification event listener is created, if an application process is abnormally quitted, the system can generate a tombstone file. And the second judgment module is used for judging whether the system generates the tombstone file or not. A second determining module for determining that the tombstone file directory is changed in case that the system generates the tombstone file. The fourth determining subunit includes: and an analysis module. And the analysis module is used for analyzing the tombstone file to obtain abnormal exit data.
Optionally, the monitoring unit 20 comprises: the device comprises a running subunit, a detection subunit, a fifth determination subunit and a sixth determination subunit. And the operation subunit is used for operating the debugging program, wherein a first process is generated in the process of operating the debugging program. A detecting subunit, configured to detect whether the first process creates a tombstone file. And a fifth determining subunit, configured to determine that an abnormal exit has occurred in the target application process, in a case where the detecting subunit detects that the first process has created the tombstone file. And the sixth determining subunit is used for taking the running data generated when the target application process is abnormally exited as abnormal exiting data.
According to an embodiment of the present invention, there is also provided a server for implementing the test method of the application program, as shown in fig. 6, the server mainly includes a processor 601, a display 603, a data interface 604, a memory 605 and a network interface 606, where:
the data interface 604 transmits the running data of the target application process to the processor 901 mainly by means of data transmission.
The memory 605 is mainly used for storing the operation data and stability parameters of the target application process.
The network interface 606 is mainly used for network communication with terminals and other servers.
The display 603 is mainly used for displaying the running data of the target application process.
The processor 601 is mainly configured to perform the following operations:
running a target application program, wherein the target application program is an application program to be tested, target codes are injected into the target application program, and a target application process is generated in the process of running the target application program; monitoring running data of the target application process, wherein the running data comprises normal quitting data and abnormal quitting data of the target application process; determining a stability parameter of the target application process according to the normal exit data and the abnormal exit data; judging whether the stability parameter meets a preset condition or not; and deleting the target code from the target application program under the condition that the stability parameter is judged not to meet the preset condition.
The processor 601 is further configured to perform: creating a first object in the target application process, wherein the first object is destroyed along with the exit of the target application process; monitoring whether the first object is destroyed; determining that the target application process exits when the first object is monitored to be destroyed, wherein the target application process exits including abnormal exits and normal exits; and taking data generated when the target application process exits as first exiting data.
The processor 601 is further configured to perform: registering a first notice of the first object, wherein the first notice is used for indicating that the process in which the first object is positioned exits; judging whether a first notice is detected; in the event that the first notification is detected, it is determined that the first object is destroyed.
The processor 601 is further configured to perform: acquiring abnormal exit data of the target application process, wherein the abnormal exit data can be generated under the condition that the target application process exits abnormally; acquiring first exit data of a target application process, wherein the first exit data can be generated under the two conditions of normal exit and abnormal exit of the target application process; and acquiring normal exit data according to the abnormal exit data and the first exit data.
The processor 601 is further configured to perform: judging whether the gravestone file directory is changed or not according to the read gravestone file directory; if the tombstone file directory is changed, determining that the target application process is abnormally exited; and taking the running data generated when the target application process is abnormally exited as abnormal exiting data.
The processor 601 is further configured to perform: creating a directory modification event listener, wherein after the directory modification event listener is created, if an application process is abnormally exited, a system can generate a tombstone file; judging whether the system generates a tombstone file or not; when the system generates a gravestone file, determining that the gravestone file directory is changed, and taking the running data generated when the target application process is abnormally exited as abnormal exiting data comprises the following steps: and analyzing the tombstone file to obtain abnormal exit data.
The processor 601 is further configured to perform: running a debugging program, wherein a first process is generated in the process of running the debugging program; detecting whether the first process creates a tombstone file; determining that the target application process is abnormally exited under the condition that the first process is detected to create the tombstone file; and taking the running data generated when the target application process is abnormally exited as abnormal exiting data.
Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment is not described herein again.
The embodiment of the invention also provides a storage medium. Alternatively, in this embodiment, the storage medium may be used to store the program codes of the methods of the embodiments of the present invention.
Optionally, in this embodiment, the storage medium may be located in at least one of a plurality of network devices in a network of a mobile communication network, a wide area network, a metropolitan area network, or a local area network.
Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps:
s1, running a target application program, wherein the target application program is an application program to be tested, target codes are injected into the target application program, and a target application process is generated in the process of running the target application program;
s2, monitoring the running data of the target application process, wherein the running data comprises normal exit data and abnormal exit data of the target application process;
s3, determining the stability parameter of the target application process according to the normal exit data and the abnormal exit data;
s4, judging whether the stability parameter meets a preset condition;
and S5, deleting the target code from the target application program under the condition that the stability parameter is judged not to meet the preset condition.
Optionally, in this embodiment, the processor executes, according to the program code stored in the storage medium: creating a first object in the target application process, wherein the first object is destroyed along with the exit of the target application process; monitoring whether the first object is destroyed; determining that the target application process exits when the first object is monitored to be destroyed, wherein the target application process exits including abnormal exits and normal exits; and taking data generated when the target application process exits as first exiting data.
Optionally, in this embodiment, the processor executes, according to the program code stored in the storage medium: registering a first notice of the first object, wherein the first notice is used for indicating that the process in which the first object is positioned exits; judging whether a first notice is detected; in the event that the first notification is detected, it is determined that the first object is destroyed.
Optionally, in this embodiment, the processor executes, according to the program code stored in the storage medium: acquiring abnormal exit data of the target application process, wherein the abnormal exit data can be generated under the condition that the target application process exits abnormally; acquiring first exit data of a target application process, wherein the first exit data can be generated under the two conditions of normal exit and abnormal exit of the target application process; and acquiring normal exit data according to the abnormal exit data and the first exit data.
Optionally, in this embodiment, the processor executes, according to the program code stored in the storage medium: judging whether the gravestone file directory is changed or not according to the read gravestone file directory; if the tombstone file directory is changed, determining that the target application process is abnormally exited; and taking the running data generated when the target application process is abnormally exited as abnormal exiting data.
Optionally, in this embodiment, the processor executes, according to the program code stored in the storage medium: creating a directory modification event listener, wherein after the directory modification event listener is created, if an application process is abnormally exited, a system can generate a tombstone file; judging whether the system generates a tombstone file or not; when the system generates a gravestone file, determining that the gravestone file directory is changed, and taking the running data generated when the target application process is abnormally exited as abnormal exiting data comprises the following steps: and analyzing the tombstone file to obtain abnormal exit data.
Optionally, in this embodiment, the processor executes, according to the program code stored in the storage medium: running a debugging program, wherein a first process is generated in the process of running the debugging program; detecting whether the first process creates a tombstone file; determining that the target application process is abnormally exited under the condition that the first process is detected to create the tombstone file; and taking the running data generated when the target application process is abnormally exited as abnormal exiting data.
Optionally, in this embodiment, the storage medium may include, but is not limited to: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment is not described herein again.
The integrated unit in the above embodiments, if implemented in the form of a software functional unit and sold or used as a separate product, may be stored in the above computer-readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing one or more computer devices (which may be personal computers, servers, network devices, etc.) to execute all or part of the steps of the method according to the embodiments of the present invention.
In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the several embodiments provided in the present application, it should be understood that the disclosed client may be implemented in other manners. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one type of division of logical functions, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.

Claims (12)

1. A method for testing an application program, comprising:
running a target application program, wherein the target application program is an application program to be tested, target codes are injected into the target application program, and a target application process is generated in the process of running the target application program;
monitoring running data of the target application process, wherein the running data comprises normal exit data and abnormal exit data of the target application process;
wherein monitoring the operational data of the target application process comprises: judging whether the gravestone file directory is changed or not according to the read gravestone file directory; if the tombstone file directory is changed, determining that the target application process is abnormally exited; taking the running data generated when the target application process is abnormally exited as the abnormal exiting data; or
Running a debugging program, wherein a first process is generated in the process of running the debugging program; detecting whether the first process creates a tombstone file; determining that an abnormal exit of the target application process occurs in case that the first process is detected to create the tombstone file; taking the running data generated when the target application process is abnormally exited as the abnormal exiting data;
determining a stability parameter of the target application process according to the normal exit data and the abnormal exit data;
judging whether the stability parameter meets a preset condition or not;
and deleting the target code from the target application program under the condition that the stability parameter is judged not to meet the preset condition.
2. The method of claim 1, wherein the execution data comprises first exit data, and wherein monitoring the execution data of the target application process comprises:
creating a first object in the target application process, wherein the first object is destroyed as the target application process exits;
monitoring whether the first object is destroyed;
determining that the target application process exits when the first object is monitored to be destroyed, wherein the target application process exits comprise abnormal exits and normal exits;
and taking the data generated when the target application process exits as the first exiting data.
3. The method of claim 2, wherein monitoring whether the first object is destroyed comprises:
registering a first notification of the first object, wherein the first notification is used for indicating that a process in which the first object is located is exited;
determining whether the first notification is detected;
determining that the first object is destroyed if the first notification is detected.
4. The method of claim 1, wherein monitoring the operational data of the target application process comprises:
obtaining abnormal exit data of the target application process, wherein the abnormal exit data are generated under the condition that the target application process exits abnormally;
acquiring first exit data of the target application process, wherein the first exit data are generated under the conditions of normal exit and abnormal exit of the target application process;
and acquiring the normal exit data according to the abnormal exit data and the first exit data.
5. The method as claimed in claim 1, wherein determining whether the tombstone file directory is changed according to the read tombstone file directory comprises:
creating a directory modification event listener, wherein after the directory modification event listener is created, if an application process is abnormally exited, a system can generate a tombstone file;
determining whether the system generates the tombstone file;
determining that the tombstone file directory is changed in a case that the system generates the tombstone file,
taking the running data generated when the target application process is abnormally exited as the abnormal exiting data comprises the following steps:
and analyzing the tombstone file to obtain the abnormal exit data.
6. An apparatus for testing an application, comprising:
the system comprises an operation unit, a test unit and a control unit, wherein the operation unit is used for operating a target application program, the target application program is an application program to be tested, a target code is injected into the target application program, and a target application process is generated in the process of operating the target application program;
the monitoring unit is used for monitoring the running data of the target application process, wherein the running data comprises normal exit data and abnormal exit data of the target application process;
wherein the monitoring unit includes: the judging subunit is used for judging whether the gravestone file directory is changed or not according to the read gravestone file directory; a third determining subunit, configured to determine that an abnormal exit has occurred in the target application process if the tombstone file directory is changed; a fourth determining subunit, configured to use running data generated when the target application process is abnormally exited as the abnormal exit data; or
The monitoring unit includes: the debugging device comprises an operation subunit and a debugging unit, wherein the operation subunit is used for operating a debugging program, and a first process is generated in the process of operating the debugging program; a detecting subunit, configured to detect whether the first process creates a tombstone file; a fifth determining subunit, configured to determine that an abnormal exit has occurred in the target application process, in a case where the detecting subunit detects that the first process created the tombstone file; a sixth determining subunit, configured to use running data generated when the target application process is abnormally exited as the abnormal exit data;
the determining unit is used for determining the stability parameter of the target application process according to the normal exit data and the abnormal exit data;
the judging unit is used for judging whether the stability parameter meets a preset condition or not;
and the deleting unit is used for deleting the target code from the target application program under the condition that the stability parameter is judged not to meet the preset condition.
7. The apparatus of claim 6, wherein the operational data comprises first exit data, and wherein the monitoring unit comprises:
a creating subunit, configured to create a first object in the target application process, where the first object is destroyed along with exit of the target application process;
the monitoring subunit is used for monitoring whether the first object is destroyed;
the first determining subunit is configured to determine that the target application process exits when it is monitored that the first object is destroyed, where the target application process exits including an abnormal exit and a normal exit;
and the second determining subunit is used for taking the data generated when the target application process exits as the first exiting data.
8. The apparatus of claim 7, wherein the monitoring subunit comprises:
the registration module is used for registering a first notice of the first object, wherein the first notice is used for indicating that the process where the first object is located exits;
the first judging module is used for judging whether the first notice is detected or not;
a first determination module to determine that the first object is destroyed if the first notification is detected.
9. The apparatus of claim 6, wherein the monitoring unit comprises:
the first acquiring subunit is configured to acquire abnormal exit data of the target application process, where the abnormal exit data is generated when the target application process exits abnormally;
the second acquiring subunit is configured to acquire first exit data of the target application process, where the first exit data is generated under both a normal exit and an abnormal exit of the target application process;
and the third acquiring subunit is used for acquiring the normal exit data according to the abnormal exit data and the first exit data.
10. The apparatus of claim 6, wherein the determining subunit comprises:
the system comprises a creating module, a monitoring module and a processing module, wherein the creating module is used for creating a directory modification event listener, and after the directory modification event listener is created, if an application process is abnormally quitted, a tombstone file can be generated by the system;
the second judgment module is used for judging whether the system generates the tombstone file or not;
a second determining module for determining that the tombstone file directory is changed in case that the system generates the tombstone file,
the fourth determining subunit includes:
and the analysis module is used for analyzing the tombstone file to obtain the abnormal exit data.
11. An electronic device comprising a memory and a processor, characterized in that the memory has stored therein a computer program, the processor being arranged to execute the method of any of claims 1 to 5 by means of the computer program.
12. A computer-readable storage medium comprising a stored program, wherein the program when executed performs the method of any of claims 1 to 5.
CN201610992267.2A 2016-11-10 2016-11-10 Application program testing method and device Active CN108073499B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610992267.2A CN108073499B (en) 2016-11-10 2016-11-10 Application program testing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610992267.2A CN108073499B (en) 2016-11-10 2016-11-10 Application program testing method and device

Publications (2)

Publication Number Publication Date
CN108073499A CN108073499A (en) 2018-05-25
CN108073499B true CN108073499B (en) 2020-09-29

Family

ID=62154776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610992267.2A Active CN108073499B (en) 2016-11-10 2016-11-10 Application program testing method and device

Country Status (1)

Country Link
CN (1) CN108073499B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002694B (en) * 2018-06-08 2021-01-26 广东小天才科技有限公司 Method and device for positioning problem point after application code confusion
CN109117340B (en) * 2018-06-29 2022-03-29 Oppo(重庆)智能科技有限公司 Mobile terminal, method for monitoring interprocess communication of mobile terminal and storage medium
CN109753419A (en) * 2018-12-29 2019-05-14 苏州思必驰信息科技有限公司 A kind of method and device of the abnormal log information of all applications of non-invasive monitoring Android system
CN111159702B (en) * 2019-12-12 2022-02-18 绿盟科技集团股份有限公司 Process list generation method and device
CN116627848B (en) * 2023-07-24 2023-09-29 成都中科合迅科技有限公司 Automatic test method and system for application program

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983209A (en) * 2005-12-14 2007-06-20 中兴通讯股份有限公司 System and method for automatically testing software unit
US7299455B2 (en) * 1995-06-02 2007-11-20 Cisco Technology, Inc. Remote monitoring of computer programs
CN101719077A (en) * 2009-12-24 2010-06-02 北京飞天诚信科技有限公司 Method and device for injecting codes in .Net program
CN101847121A (en) * 2010-05-07 2010-09-29 北京大学 Method for discovering software vulnerabilities
CN101859274A (en) * 2009-04-07 2010-10-13 西门子(中国)有限公司 Method and system for fuzz testing
CN102141962A (en) * 2011-04-07 2011-08-03 北京航空航天大学 Safety distributed test framework system and test method thereof
CN102156640A (en) * 2011-04-19 2011-08-17 山东浪潮金融信息***有限公司 Method for generating data operation code
CN102722434A (en) * 2012-05-24 2012-10-10 兰雨晴 Performance test method and tool aiming at Linux process scheduling
CN103516557A (en) * 2012-06-26 2014-01-15 腾讯科技(深圳)有限公司 Method and system for testing
US8645766B2 (en) * 2011-10-05 2014-02-04 International Business Machines Corporation Serialized error injection into a function under test
CN103701657A (en) * 2012-09-28 2014-04-02 ***股份有限公司 Device and method for monitoring and processing dysfunction of continuously running data processing system
CN104268055A (en) * 2014-09-01 2015-01-07 腾讯科技(深圳)有限公司 Program exception monitoring method and device
CN104834590A (en) * 2014-02-11 2015-08-12 腾讯科技(深圳)有限公司 Software test method and system
CN105094777A (en) * 2014-05-14 2015-11-25 腾讯科技(深圳)有限公司 Method and device for realizing application screen shot
CN105701000A (en) * 2014-11-25 2016-06-22 中兴通讯股份有限公司 Service testing method and device
CN105786562A (en) * 2016-02-04 2016-07-20 百度在线网络技术(北京)有限公司 Method and device for integrating plug-in
CN106055469A (en) * 2016-05-19 2016-10-26 中国科学院软件研究所 System and method for mobile terminal application testing based on code injection

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299455B2 (en) * 1995-06-02 2007-11-20 Cisco Technology, Inc. Remote monitoring of computer programs
CN1983209A (en) * 2005-12-14 2007-06-20 中兴通讯股份有限公司 System and method for automatically testing software unit
CN101859274A (en) * 2009-04-07 2010-10-13 西门子(中国)有限公司 Method and system for fuzz testing
CN101719077A (en) * 2009-12-24 2010-06-02 北京飞天诚信科技有限公司 Method and device for injecting codes in .Net program
CN101847121A (en) * 2010-05-07 2010-09-29 北京大学 Method for discovering software vulnerabilities
CN102141962A (en) * 2011-04-07 2011-08-03 北京航空航天大学 Safety distributed test framework system and test method thereof
CN102156640A (en) * 2011-04-19 2011-08-17 山东浪潮金融信息***有限公司 Method for generating data operation code
US8645766B2 (en) * 2011-10-05 2014-02-04 International Business Machines Corporation Serialized error injection into a function under test
CN102722434A (en) * 2012-05-24 2012-10-10 兰雨晴 Performance test method and tool aiming at Linux process scheduling
CN103516557A (en) * 2012-06-26 2014-01-15 腾讯科技(深圳)有限公司 Method and system for testing
CN103701657A (en) * 2012-09-28 2014-04-02 ***股份有限公司 Device and method for monitoring and processing dysfunction of continuously running data processing system
CN104834590A (en) * 2014-02-11 2015-08-12 腾讯科技(深圳)有限公司 Software test method and system
CN105094777A (en) * 2014-05-14 2015-11-25 腾讯科技(深圳)有限公司 Method and device for realizing application screen shot
CN104268055A (en) * 2014-09-01 2015-01-07 腾讯科技(深圳)有限公司 Program exception monitoring method and device
CN105701000A (en) * 2014-11-25 2016-06-22 中兴通讯股份有限公司 Service testing method and device
CN105786562A (en) * 2016-02-04 2016-07-20 百度在线网络技术(北京)有限公司 Method and device for integrating plug-in
CN106055469A (en) * 2016-05-19 2016-10-26 中国科学院软件研究所 System and method for mobile terminal application testing based on code injection

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Android Tombstone分析;CentTian;《https://www.cnblogs.com/codertian/p/5980426.html》;20161020;全文 *
Binder对象死亡通知机制;jltxgcy;《https://blog.csdn.net/jltxgcy/article/details/27791513》;20140531;第一到第四部分 *

Also Published As

Publication number Publication date
CN108073499A (en) 2018-05-25

Similar Documents

Publication Publication Date Title
CN108073499B (en) Application program testing method and device
CN113489713B (en) Network attack detection method, device, equipment and storage medium
CN105404581B (en) A kind of evaluating method and device of database
US10984109B2 (en) Application component auditor
CN107241229B (en) Service monitoring method and device based on interface testing tool
US9471477B2 (en) Monitoring and capturing early diagnostic data
JP6037397B2 (en) User operation log recording method, program and apparatus thereof
CN110674149B (en) Service data processing method and device, computer equipment and storage medium
CN103678380A (en) Test state presentation and anomaly indexing system and method
US10680913B1 (en) Error remediation in software as a service (SaaS) portals
US20160050101A1 (en) Real-Time Network Monitoring and Alerting
CN116680147A (en) Operation monitoring method and device of LED display screen and electronic equipment
CN116382952A (en) Exception handling method, device and system
CN115878358A (en) Abnormal log analysis method and device, electronic equipment and storage medium
CN111597093A (en) Exception handling method, device and equipment
CN112527606A (en) Data flow analysis method and device, computer equipment and storage medium
CN112329021A (en) Method and device for checking application bugs, electronic device and storage medium
CN110502404B (en) Early warning processing method based on data management platform and related equipment
CN113297090B (en) System test method, device, computer equipment and storage medium
CN114024867B (en) Network anomaly detection method and device
CN112948202A (en) Application program monitoring method, device, equipment and readable storage medium
CN117093455A (en) Emergency data copying method and device, electronic equipment and storage medium
CN116545835A (en) Fault alarm processing method and device, electronic equipment and storage medium
CN115913887A (en) Fault processing method, device and storage medium
CN116841671A (en) Page detection method, device, equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant