Application testing method and device, equipment and storage medium

By integrating reverse engineering tools into the application to obtain and modify the execution information of the called functions, the problem of being unable to simulate dynamic environments in existing technologies is solved. This enables comprehensive testing of the application in scenarios with dynamically changing data, and improves the ability to discover problems.

CN121636336APending Publication Date: 2026-03-10安徽玩虎信息技术有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511564882.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-30
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing application testing solutions cannot effectively simulate the behavior of applications under scenarios where data changes dynamically during operation, and are therefore unable to meet the testing needs in dynamic environments.

Method used

By integrating reverse engineering tools into the target application, the execution information of the called function is obtained, the input parameter information is modified, and the modified execution result is obtained. The subsequent operations of the target application are then tracked to determine the test results.

Benefits of technology

It enables dynamic monitoring of applications during actual operation, more closely simulating data changes, identifying potential problems, and improving the comprehensiveness and accuracy of testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121636336A_ABST
    Figure CN121636336A_ABST
Patent Text Reader

Abstract

The invention discloses an application testing method and device, equipment and a storage medium, and relates to the technical field of computers. The method comprises the steps that under the condition that a target application executes a calling function, execution information of the calling function is obtained through a reverse analysis tool integrated in the target application, and the execution information comprises input parameter information; based on the test requirement of the calling function, modifying the input parameter information through a reverse analysis tool, and obtaining a first execution result of the calling function after the input parameter information is modified; and modifying the first execution result through a reverse analysis tool, obtaining a second execution result obtained by executing subsequent operation by the target application based on the modified first execution result, and determining a test result of the target application based on the second execution result. According to the method and the device, the effective test of the overall behavior of the application in a data dynamic change scene is realized, and the processing capability or existing vulnerabilities of the application in various conditions are evaluated more comprehensively.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, and particularly relates to an application testing method and device, equipment and a storage medium. BACKGROUND

[0002] With the popularity of mobile applications, the security and stability requirements of the application are higher and higher. Developers need to analyze and test the application in depth, simulate various possible use cases, and troubleshoot potential vulnerabilities and risks to ensure that the application can run normally in actual operation.

[0003] In the existing application testing scheme, a static analysis method is generally used to test the application. The static analysis method mainly analyzes the static resources such as the code and binary files of the application to detect potential problems. However, the static analysis method cannot simulate the dynamic environment of the actual operation of the application, and it is difficult to effectively test the behavior of the application in the data dynamic change scene in the running process, and it cannot meet the testing requirements in the dynamic environment. SUMMARY

[0004] The present application provides an application testing method, device, equipment and storage medium, which solves the problem that the existing application testing scheme cannot effectively test the behavior of the application in the data dynamic change scene in the running process, cannot meet the testing requirements in the dynamic environment, can effectively find the problems that may occur in the actual operation of the application, and more comprehensively evaluates the processing capacity or vulnerabilities of the application under different conditions.

[0005] In order to achieve the above purpose, the present application adopts the following technical scheme: In a first aspect, the present application provides an application testing method, comprising: In the case that a target application executes a call function, an execution information of the call function is acquired through a reverse analysis tool integrated in the target application, wherein the execution information includes parameter information; Based on the testing requirements of the call function, the parameter information is modified through the reverse analysis tool, and a first execution result of the call function after the modification of the parameter information is acquired; The first execution result is modified through the reverse analysis tool, and a second execution result obtained by the target application after executing subsequent operations based on the modified first execution result is acquired, and a testing result of the target application is determined based on the second execution result.

[0006] Optionally, the determination of the testing result of the target application based on the second execution result comprises: comparing the second execution result with a preset expected result, wherein the expected result is a result of an output of the target application determined in advance based on the test requirement; in a case where the second execution result is consistent with the preset expected result, determining that a test result of the target application is normal; in a case where the second execution result is inconsistent with the preset expected result, determining that the test result of the target application is abnormal.

[0007] Optionally, after the determination that the test result of the target application is abnormal, the method further comprises: obtaining difference information between the second execution result and the expected result; determining an abnormal reason according to the difference information and a function logic of the calling function.

[0008] Optionally, the modifying the input parameter information based on the test requirement of the calling function comprises: determining a test requirement of the calling function, wherein the test requirement comprises any one or more of boundary data verification, abnormal data verification or error data verification; determining modification data of the input parameter information according to each test requirement, and modifying the input parameter information into the modification data.

[0009] Optionally, after the obtaining of the first execution result of the calling function after the modification of the input parameter information, the method further comprises: obtaining stack information corresponding to the calling function after the modification of the input parameter information executed by the target application, and determining an actual execution path of the calling function after the modification of the input parameter information based on the stack information; constructing an input parameter information change mapping table according to the input parameter information and the modified input parameter information; matching the actual execution path with a preset path atlas of the target application based on the input parameter information change mapping table, and determining whether the first execution result is expected based on a matching result.

[0010] Optionally, the determining whether the first execution result is expected based on the matching result comprises: matching the actual execution path with the preset path atlas of the target application, and determining whether there is a path bifurcation node caused by the change of the input parameter information; in a case where the path bifurcation node exists, determining an actual output of the target application at the path bifurcation node after the modification of the input parameter information; determine whether the first execution result is expected or not based on the actual output and an expected result of the target application at the path diverging node.

[0011] Optionally, the execution information of the calling function is acquired by a reverse analysis tool integrated in the target application, including: the binary file of the target application is disassembled by the reverse analysis tool to identify an entry address of the calling function in the target application; a hook function is set based on the entry address, and the execution information of the calling function executed by the target application is acquired through the hook function.

[0012] In a second aspect, the present application provides an application testing device, including: an information acquisition module, configured to acquire execution information of a calling function by a reverse analysis tool integrated in the target application in a case where the target application executes the calling function, wherein the execution information includes argument information; an information modification module, configured to modify the argument information based on a testing requirement of the calling function by the reverse analysis tool, and acquire a first execution result of the calling function after the argument information is modified; a result determination module, configured to modify the first execution result by the reverse analysis tool, acquire a second execution result of the target application obtained by subsequent operations based on the modified first execution result, and determine a testing result of the target application based on the second execution result.

[0013] In a third aspect, the present application provides an application testing device, including: one or more processors; a memory storing one or more programs, when the one or more programs are executed by the one or more processors, the one or more processors implement the application testing method of the first aspect.

[0014] In a fourth aspect, the present application provides a storage medium containing computer executable instructions, when the computer executable instructions are executed by a computer processor, the computer executable instructions are used to execute the application testing method of the first aspect.

[0015] In summary, compared with the prior art, the technical solution provided by the present application brings at least the following effective effects: In this application, when a target application executes a function call, the execution information of the function call, including input parameter information, is obtained through a reverse engineering tool integrated into the target application. Based on the test requirements of the function call, the input parameter information is modified through the reverse engineering tool, and the first execution result of the function call after the modification of the input parameter information is obtained. The first execution result is modified through the reverse engineering tool, and the second execution result obtained by the target application performing subsequent operations based on the modified first execution result is obtained. The test result of the target application is determined based on the second execution result. Among the aforementioned technical methods, by integrating reverse analysis tools into the target application to obtain the input parameter information of the calling functions, dynamic monitoring of the application during actual operation is achieved. By modifying the input parameter information through reverse analysis tools, dynamic data changes under various actual operating scenarios can be simulated, which can more realistically reproduce various data changes that the application may encounter in actual use. This effectively discovers problems that may occur in the actual operation of the application, such as improper handling of erroneous data and failure to handle boundary conditions, thus improving the ability to detect problems. At the same time, by modifying the first execution result through reverse analysis tools and tracking the second execution result of subsequent operations of the target application, a full-link dynamic intervention and monitoring is formed from input parameters to intermediate results to final behavior. This covers the dynamic process of data flow within the application, realizes effective testing of the overall behavior of the application under dynamic data change scenarios, and more comprehensively evaluates the application's processing capabilities or existing vulnerabilities under various conditions, thus improving the comprehensiveness of application testing. Attached Figure Description

[0016] Figure 1 This is a flowchart of an application test provided in an embodiment of this application; Figure 2 This is a flowchart illustrating the modification of input parameter information provided in the embodiments of this application; Figure 3 This is a flowchart provided in an embodiment of the present application for determining whether the first execution result meets expectations; Figure 4 This is another flowchart provided in the embodiments of this application for determining whether the first execution result meets expectations; Figure 5 This is a flowchart illustrating the test results for determining the target application, as provided in an embodiment of this application. Figure 6 This is a flowchart illustrating the cause of an anomaly when the test result is abnormal, as provided in an embodiment of this application. Figure 7 This is a schematic diagram of the structure of an application testing device provided in an embodiment of this application; Figure 8 This is a schematic diagram of the structure of an application testing device provided in an embodiment of this application. Detailed Implementation

[0017] In order to make the purposes, technical solutions and advantages of the present application clearer, the following further describes the specific embodiments of the present application in conjunction with the drawings. It can be understood that the specific embodiments described herein are only used to explain the present application, but not to limit the present application. In addition, it should be noted that, for the convenience of description, only the parts related to the present application are shown in the drawings, but not all. Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the operations (or steps) as sequential processes, many of the operations can be implemented in parallel, concurrently or simultaneously. In addition, the order of the operations can be rearranged. The process can be terminated when the operations are completed, but can also have additional steps not included in the drawings. The process can correspond to a method, function, procedure, subroutine, subprogram, etc.

[0018] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally a class, not limited to the number of objects, for example, the first object can be one or more. In addition, "and / or" in the specification and claims indicates at least one of the connected objects, and the character " / ", generally indicates that the objects before and after are in a "or" relationship.

[0019] In the existing application test scheme, a static analysis method is generally used to test the application. The static analysis method mainly analyzes the static resources such as the code and binary files of the application to detect potential problems. However, the static analysis method cannot simulate the dynamic environment of the actual running of the application, and it is difficult to effectively test the behavior of the application in the data dynamic change scene in the running process, and it cannot meet the test demand in the dynamic environment.

[0020] In order to solve the problem that the existing application test solution is difficult to effectively test the behavior of the application in the data dynamic change scenario in the running process, and cannot meet the test requirements in the dynamic environment, an application test method is provided in the embodiment of the application. The input parameter information of the calling function is obtained by the reverse analysis tool integrated in the target application, the dynamic monitoring of the application in the actual running process is realized, the data dynamic change in various actual running scenarios is simulated by modifying the input parameter information by the reverse analysis tool, the various data change situations that the application may encounter in actual use can be restored more closely and truly, so that the problems that may occur in the actual running of the application, such as improper processing of error data, invalid processing of boundary conditions, etc., can be effectively found, and the problem finding capability is improved. At the same time, the first execution result is modified by the reverse analysis tool, and the second execution result of the subsequent operation of the target application is tracked, the whole-link dynamic intervention and monitoring from the input parameter to the intermediate result and then to the final behavior are formed, the dynamic process of the data circulation in the application is covered, the effective test of the overall behavior of the application in the data dynamic change scenario is realized, the processing capability or the existing vulnerability of the application in various situations is more comprehensively evaluated, and the comprehensiveness of the application test is improved.

[0021] The application test method provided in the embodiment can be executed by an application test device. The application test device can be realized by software and / or hardware. The application test device can be composed of two or more physical entities, or can be composed of one physical entity.

[0022] The application test device is installed with at least one type of operating system. The operating system includes but is not limited to an Android system, a Linux system and a Windows system. The application test device can install at least one application program based on the operating system. The application program can be an application program provided by the operating system, or can be an application program downloaded from a third-party device or a server. In the embodiment, the application test device has at least one application program that can execute the application test method.

[0023] The technical solutions provided by the embodiments of the application will be described in detail below with reference to the accompanying drawings.

[0024] Figure 1 A flowchart of an application test method provided by the embodiment of the application is given. Please refer to Figure 1 The application test method specifically includes: S110, in the case that a target application executes a calling function, obtaining execution information of the calling function by a reverse analysis tool integrated in the target application, wherein the execution information includes input parameter information.

[0025] The target application in the embodiments of the present application refers to various application programs that need to be tested. During the running of the application, function calls will be involved. The function in the embodiments of the present application can be an API function (Application Programming Interface, API for short).

[0026] The reverse analysis tool is a tool for analyzing and intervening in software during its running. Optionally, the reverse analysis tool is integrated into the target application through specific code injection technology or configuration modification, so that the reverse analysis tool can be started and run together with the target application. In addition, the reverse analysis tool can be applied to application testing of Android and iOS platforms.

[0027] In the embodiments of the present application, after the target application is started by the user, the reverse analysis tool monitors the function call process in the application and obtains function-related execution information. The execution information refers to a collection of various data and state information that can completely reflect the execution process, context environment and execution result of the function, which is generated by the function execution logic, memory interaction, program running state and the like during the execution of the called function. Optionally, the execution information in the present application includes input parameter information, stack information and output parameter information. The input parameter information is the input parameter information of the function call, which refers to the input data passed to the function when the function is called during the program running process. The input data provides a specific operation object, processing basis or original data required for calculation for implementing the specific function of the function. The stack information can be understood as the state and content in the program stack during the function call process, which is used to store the context information of the function call, including the return address, local variable, register state and the like. The output parameter information (i.e. output parameter information) refers to the result data returned to the target application or downstream program module after the execution of the called function, which is used to feed back the execution result or state of the function.

[0028] For example, the reverse analysis tool integrated in the target application obtains the execution information of the called function, and the specific steps include: The binary file is the machine code form after the computer program is compiled, and the disassembly processing can convert it into assembly language code, so as to facilitate the reverse analysis tool to identify the instruction sequence and function structure and other information in it, so as to accurately locate the entry address of each function in the target application.

[0029] The hook function is set based on the entry address, and execution information of the calling function executed by the target application is obtained through the hook function. The hook function (Hook function) is a technical means capable of inserting specific code in the program execution flow to intercept or monitor function call behavior. When the target application calls a function that has been set with a hook, the hook function will be triggered and executed first, thereby obtaining the relevant execution information of the function call. For example, specific instructions or function calls can be used in the hook function to read data in the register or memory to obtain the specific value and type of each argument passed to the function, and thus complete the collection of execution information.

[0030] S120, based on the test requirement of the calling function, modifying the argument information through the reverse analysis tool, and obtaining a first execution result of the calling function after the argument information is modified.

[0031] The test requirement in the embodiments of the present application refers to the purpose of testing the target application and its calling function. The test requirement is determined based on the expected function of the application or the safety requirement and various use scenarios that the application may face. Optionally, the test requirement can include any one or more of boundary data verification, abnormal data verification, or error data verification. The boundary data verification refers to determining whether the behavior of the function when receiving extreme values or boundary values as arguments is as expected, i.e., for verifying the processing capability of the function for critical values. The abnormal data verification is for testing the processing capability of the function for abnormal data, for example, when the function receives arguments that do not conform to the data type or format, whether the function can perform reasonable error handling, such as returning a specific error code, throwing an exception, etc., without causing the application to terminate abnormally or exhibiting unpredictable behavior. The error data verification function is for the performance of the function when receiving error content arguments, such as when the argument value passed to the function obviously does not conform to the actual business logic or data rules, whether the function can correctly identify and handle these error data.

[0032] An exemplary, Figure 2 is a flowchart of modifying argument information provided by the embodiments of the present application. As Figure 2 shown, the step of modifying the argument information specifically includes S1201-S1202: S1201, determining the test requirement of the calling function, wherein the test requirement includes any one or more of boundary data verification, abnormal data verification, or error data verification.

[0033] S1202, determining the modification data of the argument information according to each test requirement, and modifying the argument information to the modification data.

[0034] The first execution result in the embodiments of the present application refers to the output result generated by the function according to its internal logic after the function receives the modified argument information after the target application executes the calling function. Specifically, after obtaining the first execution result of the calling function after modifying the argument information, the present application further includes determining whether the first execution result is expected to reflect the preliminary execution of the function under the modified argument condition. By analyzing the first execution result, it can be determined whether the function is executed according to the expected logic, whether it can process various input data and produce correct output. For example, Figure 3 is a flowchart provided by the embodiments of the present application for determining whether the first execution result is expected. As shown in Figure 3 , the step of determining whether the first execution result is expected specifically includes S1203-S1205: S1203, obtaining the stack information corresponding to the calling function after modifying the argument information of the target application, and determining the actual execution path of the calling function after modifying the argument information based on the stack information.

[0035] Among them, the actual execution path refers to the flow track of the calling function in processing the modified argument information according to the internal logic, which can be understood as the embodiment description of the complete execution flow track of the function from the start to the first execution result, reflecting the specific process of program control logic and data processing.

[0036] S1204, constructing an argument information change mapping table according to the argument information and the modified argument information.

[0037] Among them, the argument information change mapping table is a structured data table used to record the correspondence relationship of the argument information before and after modification, and its function is to trace the change track of the argument data.

[0038] S1205, based on the argument information change mapping table, matching the actual execution path with the preset path atlas of the target application, and based on the matching result, determining whether the first execution result is expected.

[0039] Among them, the preset path atlas refers to the structured atlas constructed in advance based on the functional requirements of the target application and the expected behavior of the calling function, which contains the standard flow track of the calling function under various argument condition scenarios.

[0040] For example, Figure 4 is another flowchart provided by the embodiments of the present application for determining whether the first execution result is expected. As shown in Figure 4 , the step of determining whether the first execution result is expected specifically includes S12051-S12053: S12051, match the actual execution path with a preset path atlas of the target application, and determine whether there is a path bifurcation node caused by the change of the input parameter information.

[0041] Further, the actual execution path is compared with the preset path atlas one by one to check whether there is a path bifurcation node caused by the modification of the input parameter, that is, a branch point where the actual execution path and the preset path are different.

[0042] S12052, in the case where the path bifurcation node exists, determine the actual output of the target application at the path bifurcation node after the modification of the input parameter information.

[0043] The actual output data of the target application at the path bifurcation node reflects the behavior or result of the target application at the path bifurcation node after the modification of the input parameter.

[0044] S12053, determine whether the first execution result is as expected according to the actual output and the expected result of the target application at the path bifurcation node.

[0045] S130, modify the first execution result by using the reverse analysis tool, obtain a second execution result of the target application after a subsequent operation based on the modified first execution result, and determine a test result of the target application based on the second execution result.

[0046] In order to verify the abnormal processing capability of the target application, detect whether the target application has a potential security vulnerability, or comprehensively evaluate the logical correctness of the target application, the first execution result is modified by using the reverse analysis tool in the embodiment of the application, and the modified result is fed back to the target application, so that the application continues to execute subsequent operations, and the test result of the target application is determined according to the final result.

[0047] Exemplarily, Figure 5 is a flowchart for determining a test result of a target application provided by the embodiment of the application. As Figure 5 shown, the step of determining the test result of the target application specifically includes S1301-S1303: S1301, compare the second execution result with a preset expected result, wherein the expected result is a result corresponding to the output of the target application determined in advance based on the test requirement.

[0048] S1302, in the case where the second execution result is consistent with the preset expected result, determine that the test result of the target application is normal.

[0049] S1303, in the case where the second execution result is inconsistent with the preset expected result, determining that the test result of the target application is abnormal.

[0050] For example, the embodiment of the present application takes the login function of a target application as an example, assuming that the test requirement is to verify whether the application can correctly handle and output an error prompt when the password input by a user is abnormal data (for example, the password should be 3 Arabic numerals, but the user inputs non-numeric characters), the error prompt being, for example, “password error, please re-enter”. Assuming that “user 1, password 123” in a correct input parameter information is modified to “user 1, password as abc (abnormal data, the password should be 3 Arabic numerals)”, the first execution result obtained based on the modified input parameter information is “password error”, the first execution result “password error” is modified to “password correct”, if the target application is based on the modified first execution result, according to the design logic of the target application, the modified first execution result is verified again, and the final output second execution result is “password error, please re-enter”, which meets the expectation; if the target application directly performs subsequent processing based on the modified first execution result, without re-verification, the final output second execution result is “jump to the main page after the user 1 logs in successfully, and display welcome information and the like”, which does not meet the preset expected result, indicating that the target application is abnormal.

[0051] In the embodiment of the present application, after determining that the test result of the target application is abnormal, the abnormal reason is also determined; for example, Figure 6 is a flowchart of determining the abnormal reason in the case where the test result is abnormal, provided by the embodiment of the present application. As shown in Figure 6 the step of determining the abnormal reason in the case where the test result is abnormal specifically includes S1304-S1305: S1304, obtaining difference information between the second execution result and the expected result.

[0052] S1305, determining the abnormal reason according to the difference information and the function logic of the called function.

[0053] The function logic refers to internal operation rules or verification mechanisms preset by the calling function for implementing specific functions. For example, the function logic of the calling function includes re-verification of the returned execution result at the first execution result based on the input parameter information. Therefore, based on the difference information and the function logic of the calling function, it can be found that the target application checks the modified first execution result returned by the function or directly uses the tampered execution result for subsequent processing without checking. If the second execution result is abnormal, that is, the tampered execution result is directly used for subsequent processing without checking, it can be determined that there is a verification logic vulnerability (such as incomplete verification conditions or incorrect verification methods) or the function logic is not correctly executed (for example, due to code errors or negligence, the re-verification step is not correctly executed, for example, the verification condition is set incorrectly, or the verification step is accidentally skipped).

[0054] In summary, the application embodiment provides an application testing method. In the case where the target application executes the calling function, the execution information of the calling function is obtained by the reverse analysis tool integrated in the target application. The execution information includes input parameter information. Based on the test requirements of the calling function, the reverse analysis tool modifies the input parameter information, and obtains the first execution result of the calling function after modifying the input parameter information. The reverse analysis tool modifies the first execution result, and obtains the second execution result of the subsequent operation of the target application based on the modified first execution result. The test result of the target application is determined based on the second execution result. In the above technical means, the input parameter information of the calling function is obtained by the reverse analysis tool integrated in the target application, which realizes dynamic monitoring of the application in the actual running process. By modifying the input parameter information by the reverse analysis tool, the dynamic change of data in various actual running scenarios can be simulated, which can more closely restore various data changes that the application may encounter in actual use, thereby effectively discovering problems that may occur in the actual running of the application, such as improper handling of error data, invalid handling of boundary conditions, etc., and improving the problem discovery capability. At the same time, by modifying the first execution result by the reverse analysis tool and tracking the second execution result of the subsequent operation of the target application, a full-link dynamic intervention and monitoring from the input parameter to the intermediate result and then to the final behavior is formed, covering the dynamic process of data circulation in the application, realizing effective testing of the overall behavior of the application in the data dynamic change scenario, more comprehensively evaluating the processing capability or existing vulnerabilities of the application in various situations, and improving the comprehensiveness of application testing.

[0055] Figure 7 A structural schematic diagram of an application testing device provided by the application embodiment is shown in FIG. 2. As shown in FIG. 2, the application testing device includes an information acquisition module 21, an information modification module 22, and a result determination module 23. Figure 7 The application testing device provided by the application embodiment specifically includes an information acquisition module 21, an information modification module 22, and a result determination module 23.

[0056] The information obtaining module 21 is configured to, in the case that the target application executes a calling function, obtain execution information of the calling function by a reverse analysis tool integrated in the target application, wherein the execution information comprises input parameter information. The information modifying module 22 is configured to modify the input parameter information based on a test requirement of the calling function by the reverse analysis tool, and obtain a first execution result of the calling function after the input parameter information is modified. The result determining module 23 is configured to modify the first execution result by the reverse analysis tool, obtain a second execution result of a subsequent operation of the target application based on the modified first execution result, and determine a test result of the target application based on the second execution result.

[0057] On the basis of the above embodiment, the information obtaining module 21 comprises: The address identifying unit is configured to perform reverse assembly processing on a binary file of the target application by the reverse analysis tool to identify an entry address of the calling function in the target application. The execution information obtaining unit is configured to set a hook function based on the entry address, and obtain execution information of the target application executing the calling function by the hook function.

[0058] On the basis of the above embodiment, the information modifying module 22 comprises: The requirement determining unit is configured to determine a test requirement of the calling function, wherein the test requirement comprises any one or more of boundary data verification, abnormal data verification, or error data verification. The information modifying unit is configured to determine modification data of the input parameter information according to each test requirement, and modify the input parameter information into the modification data.

[0059] On the basis of the above embodiment, after the first execution result of the calling function after the input parameter information is modified is obtained, the method further comprises: Obtaining stack information corresponding to the calling function after the input parameter information is modified, which is executed by the target application, and determining an actual execution path of the calling function after the input parameter information is modified based on the stack information. Constructing an input parameter information change mapping table according to the input parameter information and the modified input parameter information. Matching the actual execution path with a preset path atlas of the target application based on the input parameter information change mapping table, and determining whether the first execution result is as expected based on a matching result.

[0060] On the basis of the above embodiment, the determination of whether the first execution result is as expected based on the matching result comprises: The actual execution path is matched with a preset path atlas of the target application, to determine whether there is a path bifurcation node caused by the input parameter information change; In the case where the path bifurcation node exists, the actual output of the target application at the path bifurcation node after the input parameter information is modified is determined; According to the actual output and the expected result of the target application at the path bifurcation node, it is determined whether the first execution result is expected.

[0061] On the basis of the above embodiments, the result determination module 23 comprises: A result comparison unit is configured to compare the second execution result with a preset expected result, wherein the expected result is a result of the corresponding output of the target application determined in advance based on the test requirement; A first result determination unit is configured to determine that the test result of the target application is normal in the case where the second execution result is consistent with the preset expected result; A second result determination unit is configured to determine that the test result of the target application is abnormal in the case where the second execution result is inconsistent with the preset expected result.

[0062] On the basis of the above embodiments, after it is determined that the test result of the target application is abnormal, the method further comprises: Obtaining difference information between the second execution result and the expected result; According to the difference information and the function logic of the called function, the abnormal reason is determined.

[0063] In summary, the application embodiment provides an application testing device. In the case of executing a calling function in a target application, the execution information of the calling function is obtained by a reverse analysis tool integrated in the target application, and the execution information includes the parameter information. Based on the testing requirement of the calling function, the reverse analysis tool modifies the parameter information, and obtains the first execution result of the calling function after the modification of the parameter information. The reverse analysis tool modifies the first execution result, and obtains the second execution result of the subsequent operation of the target application based on the modified first execution result. The testing result of the target application is determined based on the second execution result. In the above technical means, the parameter information of the calling function is obtained by the reverse analysis tool integrated in the target application, the dynamic monitoring of the application in the actual running process is realized, the parameter information is modified by the reverse analysis tool, the dynamic change of the data in various actual running scenarios can be simulated, the various data change conditions that the application may encounter in the actual use can be restored more realistically, and thus the problems that may occur in the actual running of the application, such as improper processing of error data and invalid processing of boundary conditions, can be effectively found, and the problem finding capability is improved. Meanwhile, the first execution result is modified by the reverse analysis tool, and the second execution result of the subsequent operation of the target application is tracked, the whole-link dynamic intervention and monitoring from the parameter to the intermediate result and then to the final behavior are formed, the dynamic process of the data circulation in the application is covered, the effective testing of the overall behavior of the application in the data dynamic change scenario is realized, the processing capability or the existing vulnerability of the application in various conditions is more comprehensively evaluated, and the comprehensiveness of the application testing is improved.

[0064] The application embodiment provides an application testing device, which can be used for executing the application testing method provided by the above embodiment, and has the corresponding functions and beneficial effects.

[0065] Figure 8 FIG. 1 is a structural schematic diagram of an application testing device provided by an application embodiment, referring to Figure 8 The application testing device includes a processor 31, a memory 32, a communication device 33, an input device 34, and an output device 35. The number of the processor 31 in the application testing device can be one or more, and the number of the memory 32 in the application testing device can be one or more. The processor 31, the memory 32, the communication device 33, the input device 34, and the output device 35 of the application testing device can be connected through a bus or other means.

[0066] The memory 32, as a computer readable storage medium, can be used to store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the application test method of any embodiment of the present application (for example, the information acquisition module 21, the information modification module 22 and the result determination module 23 in the application test device). The memory 32 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system and application programs required by at least one function; the data storage area can store data created according to the use of the device, etc. In addition, the memory 32 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state memory device. In some examples, the memory can further include a memory remotely arranged with respect to the processor, which can be connected to the device through a network. Examples of the above network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.

[0067] The communication device 33 is used for data transmission.

[0068] The processor 31 executes various functional applications and data processing of the device by running the software programs, instructions and modules stored in the memory 32, that is, implements the application test method described above.

[0069] The input device 34 can be used to receive input digital or character information, and generate key signal input related to user settings and function control of the device. The output device 35 can include a display device such as a display screen.

[0070] The application test device provided above can be used to execute the application test method provided in the above embodiments, and has the corresponding functions and beneficial effects.

[0071] The embodiment of the present application also provides a storage medium containing computer executable instructions, which are used to execute an application test method when executed by a computer processor. The application test method comprises: in the case that a target application executes a calling function, obtaining execution information of the calling function through a reverse analysis tool integrated in the target application, the execution information comprising parameter information; based on the test requirement of the calling function, modifying the parameter information through the reverse analysis tool, and obtaining a first execution result of the calling function after the modification of the parameter information; modifying the first execution result through the reverse analysis tool, and obtaining a second execution result obtained by the target application after executing subsequent operations based on the modified first execution result; and determining a test result of the target application based on the second execution result.

[0072] Storage medium - any type of memory device or storage device. The term "storage medium" is intended to include an installation medium, e.g., a CD-ROM, floppy disks, or tape apparatus; computer system memory or random access memory such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; or a non-volatile memory such as a magnetic medium (e.g., a hard drive or optical storage); registers or other similar types of memory elements, etc. The memory medium can also include other types of storage medium or combinations thereof. In addition, the memory medium can reside in a first computer system's main memory, or in a second different computer system's memory, which second computer system can provide the first computer system with an interface in order to perform a program stored in the memory medium. The term "storage medium" can also be synonymous with a "memory medium" where the two terms are used interchangeably. The memory medium can store program instructions (e.g., as an installed program) that can be executed by one or more processors.

[0073] Of course, the storage medium provided by the embodiments of the present application includes computer executable instructions, and the computer executable instructions are not limited to the application test method as above, but can also perform the related operations in the application test method provided by any of the embodiments of the present application.

[0074] The application test device, the storage medium and the application test equipment provided in the above embodiments can execute the application test method provided by any of the embodiments of the present application, and the technical details not described in detail in the above embodiments can refer to the application test method provided by any of the embodiments of the present application.

[0075] The above are only the preferred embodiments of the present application and the technical principles used. The present application is not limited to the specific embodiments herein, and various obvious changes, re-adjustments and replacements made by those skilled in the art will not deviate from the protection scope of the present application. Therefore, although the present application has been described in more detail through the above embodiments, the present application is not limited to the above embodiments, and can include more other equivalent embodiments without deviating from the concept of the present application, and the scope of the present application is determined by the scope of the claims.

Claims

1. An application testing method characterized by, The method comprises the following steps: In the case that a target application executes a calling function, obtaining execution information of the calling function through a reverse analysis tool integrated in the target application, wherein the execution information comprises input parameter information; Based on test requirements of the calling function, modifying the input parameter information through the reverse analysis tool, and obtaining a first execution result of the calling function after the input parameter information is modified; Modifying the first execution result through the reverse analysis tool, and obtaining a second execution result obtained by the target application after subsequent operations based on the modified first execution result, and determining a test result of the target application based on the second execution result.

2. The method of claim 1, wherein, The step of determining the test result of the target application based on the second execution result comprises the following steps: Comparing the second execution result with a preset expected result, wherein the expected result is a result corresponding to an output of the target application which is determined in advance based on the test requirements; In the case that the second execution result is consistent with the preset expected result, determining that the test result of the target application is normal; In the case that the second execution result is inconsistent with the preset expected result, determining that the test result of the target application is abnormal.

3. The application testing method according to claim 2, characterized in that, After determining that the test result of the target application is abnormal, the method further comprises the following steps: Obtaining difference information between the second execution result and the expected result; Determining an abnormal reason according to the difference information and a functional logic of the calling function.

4. The method of claim 1, wherein, The step of modifying the input parameter information through the reverse analysis tool based on the test requirements of the calling function comprises the following steps: Determining test requirements of the calling function, wherein the test requirements comprise any one or more of boundary data verification, abnormal data verification or error data verification; Determining modification data of the input parameter information according to each test requirement, and modifying the input parameter information into the modification data.

5. The method of any one of claims 1-4, wherein, After obtaining the first execution result of the calling function after the input parameter information is modified, the method further comprises the following steps: Obtaining stack information corresponding to the calling function after the input parameter information is modified, which is executed by the target application, and determining an actual execution path of the calling function after the input parameter information is modified based on the stack information; Constructing an input parameter information change mapping table according to the input parameter information and the modified input parameter information; Based on the input parameter information change mapping table, matching the actual execution path with a preset path atlas of the target application, and determining whether the first execution result is expected based on a matching result.

6. The application testing method according to claim 5, characterized in that, The step of determining whether the first execution result is expected based on the matching result comprises the following steps: Matching the actual execution path with the preset path atlas of the target application, and judging whether there is a path bifurcation node caused by the input parameter information change; In the case that the path bifurcation node exists, determining an actual output of the target application at the path bifurcation node after the input parameter information is modified; Determining whether the first execution result is expected according to the actual output and an expected result of the target application at the path bifurcation node.

7. The method of claim 1-4, wherein the test method is used to determine the presence of a target analyte in a sample. The execution information of the calling function is acquired by a reverse analysis tool integrated in the target application, including: The binary file of the target application is disassembled by the reverse analysis tool to identify the entry address of the calling function in the target application; A hook function is set based on the entry address, and the execution information of the calling function executed by the target application is acquired through the hook function.

8. An application testing apparatus characterized by comprising: The application test method comprises: An information acquisition module is configured to acquire execution information of a calling function by a reverse analysis tool integrated in a target application when the target application executes the calling function, wherein the execution information comprises argument information; An information modification module is configured to modify the argument information based on a test requirement of the calling function by the reverse analysis tool, and acquire a first execution result of the calling function after the argument information is modified; A result determination module is configured to modify the first execution result by the reverse analysis tool, acquire a second execution result obtained by the target application after subsequent operations based on the modified first execution result, and determine a test result of the target application based on the second execution result.

9. An application test device, characterized by The application test method comprises: One or more processors; A memory storing one or more programs, when the one or more programs are executed by the one or more processors, the one or more processors implement the application test method as claimed in any one of claims 1-7.

10. A storage medium containing computer-executable instructions, wherein: The computer executable instructions, when executed by a computer processor, are used to perform the application test method as claimed in any one of claims 1-7.