Data processing method, device and equipment, readable storage medium and program product
By extracting control information and execution paths in the advertising form, and generating test cases, the problem of automated generation and low coverage of advertising form test cases is solved, and efficient test case generation and maintenance is achieved.
Patent Information
- Application Number
- CN202310729656.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-17
- Publication Date
- 2024-12-17
AI Technical Summary
The existing technology cannot realize the automated generation of advertising form test cases, resulting in low coverage of test cases, high maintenance costs and inability to guarantee uniqueness.
By extracting control information obtained through traffic capture based on timing tasks, determining the execution path between multiple content pages, generating test cases, ensuring that all content patterns are traversed and coverage is improved.
It realizes automated generation of test cases, improves coverage, reduces maintenance costs, and ensures the uniqueness and quality of test cases.
Smart Images

Figure CN119149381A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a data processing method, a data processing apparatus, a computer device, a computer-readable storage medium, and a computer program product. Background Art
[0002] A test case is a descriptive script or plan for testing software or systems. It guides testers through specific specifications, processes, and methods, effectively identifying and resolving potential issues, defects, and vulnerabilities, thereby ensuring the quality of the software or system. For example, in the advertising sector, advertising formats are constantly evolving to attract users and maintain freshness. This results in a lag in the replenishment of test cases for these formats. Currently, test cases are generated by recording the user interface and identifying manual operation processes. However, this method cannot automatically generate test cases. Furthermore, ads often have multiple combinations of formats, making it difficult to manually traverse all of them, resulting in low test case coverage. Therefore, how to automatically generate test cases and ensure test case coverage is a pressing issue. Summary of the Invention
[0003] The present application provides a data processing method, apparatus, device, readable storage medium and program product, which can automatically generate test cases and ensure the coverage of test cases.
[0004] In a first aspect, the present application provides a data processing method, the method comprising:
[0005] Extracting control information of data to be processed, the data to be processed including multiple content pages, the control information including characteristic information of each control in the multiple content pages, the characteristic information including one or more of an identifier and a triggering method, the data to be processed being obtained through traffic capture based on a scheduled task, the traffic capture referring to capturing network data packets generated during network communication;
[0006] determining path information of at least one execution path of the data to be processed based on characteristic information of each control in the plurality of content pages, the path information of each execution path including at least two content pages corresponding to each execution path, a jump order between the at least two content pages, and a jump mode, the jump mode indicating that a specific control in the current content page is operated using a trigger mode corresponding to the specific control to jump to a content page next to the current content page;
[0007] At least one test case for the data to be processed is generated according to the path information of the at least one execution path.
[0008] In a second aspect, the present application provides a data processing device, the device comprising:
[0009] an acquisition module configured to extract control information of data to be processed, the data to be processed comprising multiple content pages, the control information comprising characteristic information of each control in the multiple content pages, the characteristic information comprising one or more of an identifier and a triggering method, the data to be processed being obtained through traffic capture based on a scheduled task, the traffic capture being the capture of network data packets generated during network communication;
[0010] a processing module configured to determine path information of at least one execution path of the data to be processed based on characteristic information of each control in the plurality of content pages, the path information of each execution path including at least two content pages corresponding to each execution path, a jump order between the at least two content pages, and a jump method, the jump method being used to instruct a specific control in the current content page to operate the specific control via a trigger method corresponding to the specific control to jump to a content page next to the current content page;
[0011] A use case generation module is used to generate at least one test case for the above-mentioned data to be processed according to the path information of the above-mentioned at least one execution path.
[0012] In a third aspect, the present application provides a computer device comprising: a processor, a storage device and a communication interface, wherein the processor, the communication interface and the storage device are interconnected, wherein the storage device stores executable program code, and the processor is used to call the executable program code to implement the above-mentioned data processing method.
[0013] In a fourth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and the program instructions are executed by a processor to implement the data processing method as described above.
[0014] In a fifth aspect, the present application provides a computer program product, which includes a computer program or computer instructions, and the computer program or computer instructions are executed by a processor to implement the above-mentioned data processing method.
[0015] The embodiment of the present application first extracts the control information of the data to be processed, and the control information includes the characteristic information of each control in the multiple content pages of the data to be processed, and then determines the path information of at least one execution path of the data to be processed based on the characteristic information of each control, and finally generates at least one test case of the data to be processed based on the path information of at least one execution path, thereby realizing the automatic generation of test cases. In addition, the data to be processed is obtained through traffic capture based on a scheduled task, so that various types of content data can be extracted from the existing network traffic, thereby ensuring the richness of the data and further improving the coverage of the generated test cases. Moreover, the path information of each execution path generated by the characteristic information of each control includes at least two content pages corresponding to each execution path, the jump order and jump method between at least two content pages, thereby traversing all content forms of the data to be processed, so as to facilitate the subsequent generation of test cases corresponding to each execution path, further ensuring the coverage of the generated test cases. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0017] Figure 1 is a schematic diagram of the architecture of a data processing system provided by an exemplary embodiment of the present application;
[0018] Figure 2 is a flowchart of a data processing method provided by an exemplary embodiment of the present application;
[0019] Figure 3 is a flowchart of another data processing method provided by an exemplary embodiment of the present application;
[0020] Figure 4A This is a schematic diagram of a directed graph representing page jumps provided by an exemplary embodiment of the present application;
[0021] Figure 4B is a schematic diagram of a directed graph representing a use case model provided by an exemplary embodiment of the present application;
[0022] Figure 4C is a schematic diagram of a visual interface of a detection rule library provided by an exemplary embodiment of the present application;
[0023] Figure 4D This is a schematic diagram of an interface of a detection rule library provided by an exemplary embodiment of the present application;
[0024] Figure 5 This is a flowchart of an automated test case generation method provided by an exemplary embodiment of the present application;
[0025] Figure 6 is a schematic block diagram of a data processing device provided by an exemplary embodiment of the present application;
[0026] Figure 7 It is a schematic block diagram of a computer device provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0027] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0028] It should be noted that the terms "first" and "second" in the embodiments of this application are for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a technical feature designated as "first" or "second" may explicitly or implicitly include at least one such feature.
[0029] To better understand the solutions of the embodiments of the present application, the following first introduces the relevant terms and concepts that may be involved in the embodiments of the present application:
[0030] User Interface (UI): refers to the overall design of the software's human-computer interaction, operational logic, and aesthetic interface, such as the operation of each control on each page of an application APP.
[0031] UI Automator: is a testing framework for Android, commonly used to test the functionality of Android applications. UI Automator allows you to write automated tests to test UI interactions on Android devices. It provides a set of application programming interfaces (APIs) to interact with UI elements such as buttons, text fields, and menus, and allows you to simulate user actions such as taps, swipes, and scrolls.
[0032] The following describes the application scenarios of the solutions of the embodiments of the present application: Taking the advertising scenario as an example, the advertising form has been maintaining a high-speed iteration to attract users and maintain their sense of freshness. This will cause the test cases of the advertising form to be usually supplemented relatively late. At present, test cases are generated by using APP UI recording tools to record the user interface and identify the manual operation process. APP UI recording tools such as UIRecord, SoloPi, MonkeyRunner, etc. The method of using such tools is to record the screen by directly clicking on the screen, and automatically identify the manual operation process during the recording process. After the recording is completed, a script will be generated locally. The script can be used as a test case. The test case can be executed by directly replaying and executing the recorded script.
[0033] However, the above method has the following problems:
[0034] 1. It only supports known test scenarios and cannot automatically generate test cases. This method requires manual operation and recording of the manual operation process. However, advertisements often have many different forms, making it difficult to manually traverse all forms, resulting in low test case coverage.
[0035] 2. High test case maintenance costs. Since APP UI recording itself is a collection of a series of operation data, it is continuous and inseparable, and therefore almost impossible to edit. This also leads to extremely high test case maintenance costs.
[0036] 3. It is impossible to ensure the uniqueness of test cases. Test cases recorded by different people may be repeated in scenario coverage.
[0037] Based on this, the embodiment of the present application proposes to extract the control information of the data to be processed through traffic capture based on a scheduled task. The data to be processed includes multiple content pages, and the control information includes the characteristic information of each control in the multiple content pages, so that various types of content data (such as advertising data) can be extracted from the existing network traffic, thereby achieving exhaustive traversal, covering all advertising forms in the existing network, and realizing automatic exploration and supplementation of UI use cases. The embodiment of the present application then determines the path information of at least one execution path of the data to be processed based on the characteristic information of each control in the multiple content pages, and finally generates at least one test case for the data to be processed based on the path information of at least one execution path. By traversing all execution paths of the data to be processed and generating test cases corresponding to each execution path, the automatic generation of test cases is realized and the coverage of test cases is guaranteed.
[0038] It should be noted that the method proposed in the embodiment of the present application can be applied not only to advertising business scenarios, but also to business scenarios other than advertising business scenarios, such as game business scenarios, etc., and the embodiment of the present application is not limited to this.
[0039] It can be understood that in the specific implementation of this application, related data such as data to be processed, control information of the data to be processed and network interaction data, content fingerprint information, path fingerprint information, use case fingerprint information, etc. are involved. When the embodiments in this application are applied to specific products or technologies, the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0040] This application will be specifically described through the following examples:
[0041] See also Figure 1 , which is a schematic diagram of the architecture of a data processing system provided by an exemplary embodiment of the present application. The data processing system may specifically include a terminal device 101 and a server 102. The terminal device 101 and the server 102 are connected via a network, such as a local area network, a wide area network, or the mobile internet. An operation subject performs an operation on a browser or client application on the terminal device 101, and the server 102 can respond to the operation by providing various services related to test case generation to the operation subject.
[0042] In one embodiment, server 102 may extract control information for data to be processed from terminal device 101. The data to be processed includes multiple content pages, and the control information includes characteristic information of each control within the multiple content pages. The characteristic information includes one or more of an identifier and a triggering method. The data to be processed is obtained by server 102 through traffic capture of terminal device 101 based on a scheduled task. Server 102 then determines path information for at least one execution path of the data to be processed based on the characteristic information of each control within the multiple content pages. The path information for each execution path includes at least two content pages corresponding to each execution path, a jump order between the at least two content pages, and a jump method. The jump method indicates that a specific control within the current content page is operated using a triggering method corresponding to the specific control, resulting in a jump to the next content page after the current content page. Server 102 finally generates at least one test case for the data to be processed based on the path information of the at least one execution path.
[0043] For example, Figure 1As shown, the path information of at least one execution path of the data to be processed determined by the server 102 may include path information 1 and path information 2, wherein path information 1 includes two content pages (such as page 1 and page 2), a jump order between the two content pages (such as page 1 jumps to page 2), and a jump method (such as page 1 jumps to page 2 by triggering control a in page 1, and the triggering method is single point); path information 2 includes two content pages (such as page 1 and page 2), a jump order between the two content pages (such as page 1 jumps to page 2), and a jump method (such as page 1 jumps to page 2 by triggering control b in page 1, and the triggering method is long press). Finally, based on the path information of at least one execution path, the server 102 generates test cases corresponding to the path information of each execution path of the data to be processed.
[0044] The terminal device 101 is also referred to as a terminal, user equipment (UE), access terminal, subscriber unit, mobile device, user terminal, wireless communication device, user agent, or user apparatus. The terminal device may be, but is not limited to, a smart home appliance, a handheld device with wireless communication capabilities (e.g., a smartphone or tablet), a computing device (e.g., a personal computer (PC)), an in-vehicle terminal, an intelligent voice interaction device, a wearable device, or other smart device.
[0045] Server 102 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms.
[0046] In one embodiment, the architecture of the data processing system proposed in the present application may further include a database, which may be used to store data to be processed, control information of the data to be processed, path information of the execution path, and other data, and may also be used to store logical judgment data related to the generation of test cases, and these data may be recorded in the database through different database tables. For example, the database may be a database located in a server, that is, a database built into or provided by the server; the database may also be an external database connected to the server, such as a cloud database (i.e., a database deployed in the cloud), which may be based on any of private cloud, public cloud, hybrid cloud, edge cloud, etc., so that the cloud database focuses on different functions.
[0047] It is understood that the system architecture diagram described in the embodiment of the present application is intended to more clearly illustrate the technical solution of the embodiment of the present application and does not constitute a limitation on the technical solution provided by the embodiment of the present application. For example, the data processing method provided in the embodiment of the present application can be executed by the server 102, as well as by other servers or server clusters that are different from the server 102 and can communicate with the terminal device 101 and / or the server 102. It is known to those skilled in the art that Figure 1 The number of terminal devices and servers in the embodiment is merely illustrative. Any number of terminal devices and servers can be configured according to business implementation needs. Moreover, as the system architecture evolves and new business scenarios emerge, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems. In subsequent embodiments, the term "terminal device" will refer to the terminal device 101, and the term "server" will refer to the server 102. These will not be repeated in the subsequent embodiments.
[0048] See also Figure 2 , which is a flow chart of a data processing method provided by an exemplary embodiment of the present application, and is described by taking the method applied to a server as an example, the method may include the following steps:
[0049] S201 : Extracting control information of data to be processed, where the data to be processed includes multiple content pages, and the control information includes feature information of each control in the multiple content pages.
[0050] In an embodiment of the present application, the data to be processed refers to data for which test cases need to be generated, such as advertising data. The data to be processed may include multiple content pages, such as multiple advertising pages (such as a start page, an intermediate page, and an end page) included in an advertisement data. Each content page includes one or more controls, so the control information refers to the characteristic information of each control in the multiple content pages included in the data to be processed, and the characteristic information of the control includes one or more of the identification and triggering mode of the control. The triggering mode refers to the type of user operation by which the control can be triggered, such as single point, long press, drag, etc. The server extracts the control information of the data to be processed so as to analyze the characteristic information of each control in the multiple content pages, thereby obtaining the possible execution paths of the data to be processed (such as different jump orders between multiple content pages included in an advertisement data, and different jump modes), and determines the path information corresponding to each execution path.
[0051] Taking advertising data as an example, test cases generated for advertising data can refer to ad UI test cases written using automated programs to verify the quality and accuracy of ads. Test cases can cover every detail of an ad, such as the different ad pages, the order and method of transitions between ad pages, etc. This allows for the generation of test cases for different ad formats and ensures the correctness of different ad formats across different screen resolutions, devices, operating systems, and other environments.
[0052] In one embodiment, controls in a content page refer to various interactive elements in an application or system that can be used by users. By triggering controls, users can interact with the application or system and control its behavior. Controls may include: buttons, text boxes, drop-down menus, sliders, radio buttons, check boxes, tabs, etc.
[0053] In one embodiment, the data to be processed is obtained by capturing live network traffic based on a scheduled task. Traffic capture refers to capturing network data packets generated during network communications. Taking the advertising scenario as an example, the data to be processed based on a scheduled task can refer to capturing live network advertising traffic data through a scheduled task (e.g., at fixed time intervals) using an API provided by the advertising platform or the advertising provider. The server can store the captured data to be processed in a database to facilitate subsequent data processing. Traffic capture based on a scheduled task can extract various types of content data (e.g., advertising data) from the live network traffic, thereby achieving exhaustive traversal and covering all advertising formats on the live network. This enables automatic exploration and supplementation of test cases, ensuring test case coverage. Furthermore, compared to real-time traffic data acquisition and analysis, which may contain noise, abnormal data, or missing data, it is difficult to ensure data accuracy and validity. Traffic capture based on a scheduled task allows for thorough data cleaning, deduplication, and other data preprocessing before analysis of the captured data to ensure data accuracy. In addition, compared to obtaining traffic data in real time for analysis, the traffic data captured through scheduled tasks will be stored in advance. When traffic data analysis is required, only the stored results need to be called, thereby reducing the real-time computing load of the system.
[0054] S202: Determine path information of at least one execution path of the data to be processed based on characteristic information of each control in the plurality of content pages, where the path information of each execution path includes at least two content pages corresponding to each execution path, a jump order between the at least two content pages, and a jump method.
[0055] In the embodiments of the present application, an execution path is a pointer to a feasible page jump method for the data to be processed, and the path information of the execution path refers to the path information corresponding to a feasible page jump method. The jump method is used to indicate that a specific control on the current content page is triggered by operating a specific control, thereby jumping to the next content page after the current content page.
[0056] Taking the advertising scenario as an example, the path information of an execution path may include multiple advertising pages included in the advertising data, the jump order between the multiple advertising pages (such as jumping from advertising page 1 to advertising page 2, and then jumping to advertising page 3), and the jump method (such as jumping from advertising page 1 to advertising page 2 by clicking control a in advertising page 1, and jumping from advertising page 2 to advertising page 3 by clicking control c in advertising page 2). Through the above method, all execution paths of the data to be processed can be generated based on the characteristic information of each control in multiple content pages, thereby traversing the entire content form of the data to be processed (such as advertising data), so as to facilitate the subsequent generation of test cases corresponding to each execution path, thereby ensuring the coverage of the generated test cases.
[0057] In one embodiment, the server may first analyze the page sorting methods of multiple content pages to obtain multiple feasible page sorting methods, such as two content pages may generate There are 2 page sorting methods, and 3 content pages can be generated There are 6 page sorting methods in total; the server then analyzes the triggering methods of the controls in each content page in the multiple feasible page sorting methods and the jump content page corresponding to the triggering methods to obtain multiple feasible execution paths. For example, one page sorting method is: [Advertisement Page 1, Advertisement Page 2], where Advertisement Page 1 includes controls a and b, and Advertisement Page 2 includes controls c and d. Then the server can analyze the triggering methods of controls a and b in Advertisement Page 1 and the jump content page corresponding to the triggering methods. When the triggering methods of controls a and b and the jump content page corresponding to the triggering methods indicate that it is possible to jump to Advertisement Page 2 (for example, the triggering method corresponding to control a is single point, and the jump content page corresponding to the triggering method can be Advertisement Page 2), then it means that the data to be processed has a feasible execution path. The path information of the feasible execution path includes: two content pages (such as content page 1 and content page 2), the jump order between the two content pages (such as jumping from Advertisement Page 1 to Advertisement Page 2), and the jump method (triggering control a in Advertisement Page 1 through a single-point triggering operation to achieve the jump from Advertisement Page 1 to Advertisement Page 2). It should be noted that the embodiment of the present application is described using two content pages as an example, and the data to be processed may also include more than two content pages. The specific processing process can be referred to the method in the embodiment of the present application, and the embodiment of the present application will not be repeated.
[0058] In one embodiment, the server can also first determine the starting content page and the ending content page among the multiple content pages, and then analyze the page sorting methods of the multiple content pages based on the starting content page and the ending content page to obtain multiple feasible page sorting methods, and then analyze the triggering methods of the controls in each content page in the multiple feasible page sorting methods and the jump content page corresponding to the triggering methods to obtain the steps of multiple feasible execution paths. The starting content page can generally be the homepage of the advertisement, and the ending content page can generally be the last page of the advertisement, or a specified page. Through this method, the complexity of the execution path search can be simplified, computing resources can be saved, and computing efficiency can be improved. At the same time, in the advertising scene, the first page presented to the user is the homepage (i.e., the starting content page), and the last page presented is the last page (i.e., the ending content page). Therefore, by fixing the homepage and the last page, in the combination of feasible arrangement methods, the presentation order of the advertising data can be better grasped, thereby improving the practicality of the advertising data and its compatibility with actual business.
[0059] S203: Generate at least one test case for the data to be processed according to the path information of at least one execution path.
[0060] In an embodiment of the present application, the server processes the path information of each execution path in at least one execution path and generates test cases corresponding to each execution path. The embodiment of the present application realizes the automated generation of test cases and ensures the coverage of test cases. The generated test cases can be used to perform automated testing on the processed data to confirm whether the processed data works as expected, thereby improving the quality and stability of the data and reducing the workload of manual testing.
[0061] Taking the advertising scenario as an example, using the generated advertising test cases to perform automated testing on the advertising UI can help testers identify application problems more quickly, which helps improve software quality and reduce possible problems when the application goes online. Using the above method, testing efficiency can be improved. At the same time, the code and test data that the automated test relies on are all defined in advance, avoiding errors caused by human negligence or misoperation, thereby improving test accuracy.
[0062] In one embodiment, a test case includes path information of the corresponding execution path, such as at least two content pages corresponding to the execution path, the jump order and jump method between at least two content pages. In addition, the test case may also include detection rules for each control contained in each content page. The control detection rules are used to detect whether the functions of the controls are normal, mainly including detecting whether each page and control conforms to the user's habits, expectations and expectations. By testing the quality of the controls, the readability, usability and friendliness of the content page can be improved, thereby improving the user experience. At the same time, possible defects and problems on the content page can be discovered, such as: whether the link is correct, whether the picture is clear, whether there are spelling errors, etc., thereby reducing the error rate and maximizing the overall quality of the data.
[0063] See also Figure 3 , which is a flow chart of a data processing method provided by an exemplary embodiment of the present application, and is described by taking the method applied to a server as an example, the method may include the following steps:
[0064] S301: Extract control information of data to be processed, where the data to be processed includes multiple content pages, and the control information includes feature information of each control in the multiple content pages.
[0065] Among them, the characteristic information includes one or more of identification and triggering methods. The data to be processed is obtained through traffic capture based on the scheduled task. Traffic capture refers to capturing network data packets generated during network communication.
[0066] In one embodiment, the server can use a UI automation testing tool to extract control information for the data to be processed. For example, when entering an application page, the server can use a UI automation testing tool (such as the open source tool UIAutomator) to obtain control information. Using UIAutomator for testing can save time, improve test accuracy, and increase test coverage. The open source tool UIAutomator can also be redeveloped and customized according to actual business needs, making it more flexible and easy to expand.
[0067] In one embodiment, taking the open source tool UI Automator as an example, the process of extracting control information of the data to be processed by the UI automation testing tool can be as follows:
[0068] 1. Establish an Android development environment and configure the Android SDK and required drivers.
[0069] 2. Connect the device by writing a UI Automator framework script (such as a Python script) and open the application through commands.
[0070] 3. Use the screenshot function provided by UI Automator to obtain screenshots of the application at various times through automatic screenshot methods, so as to generate the UI tree of the application (the UI tree describes the nested relationship of each element in the application interface and shows the parent-child relationship between them).
[0071] 4. Parse the UI tree of the application and obtain the control information of the data to be processed.
[0072] In one embodiment, taking the advertising scenario as an example, the execution process of the automated test case of the advertising UI by the server can be described as: data construction + UI operation sequence + result verification. Among them, the UI operation can be expressed as a triggering method (that is, an operation) for a certain control on a certain page, and the UI operation can be represented by a triple: [P (content page), V (control), A (triggering method)]. Among them, the data corresponding to P (content page) may include: page name (Activity name), control tree (xml), page screenshot, etc.; the data corresponding to V (control) may include: control information, which can be converted into json for storage; the data corresponding to A (triggering method) may include: triggering method (such as single click, long press, input, drag, etc.) and parameters corresponding to different triggering methods, and the parameters are used to indicate the control operated by the triggering method.
[0073] Based on this, the execution process of a test case can be represented as a triple list, and the execution process of multiple test cases can be represented as a combination of multiple triple lists. If the content page with the same name is regarded as a node (such as the message list page), and V (control) and A (trigger method) are regarded as edges, the combination of the triple lists can be used to draw a directed graph, such as Figure 4A As shown in the neutron graph (1), the directed graph represents: through the content page 1 (i.e. Figure 4A In page 1), the trigger mode (such as single click) corresponding to the control a in the control a is used to jump to the next content page of the content page 1 (such as content page 1'); Figure 4A As shown in the neutron graph (2), the directed graph represents: through the content page 2 (i.e. Figure 4A In the embodiment of the present invention, the trigger method corresponding to control b in page 2 is used (such as long pressing) to operate control b to jump to the next content page of content page 2 (such as content page 2'). It should be noted that the above-mentioned content page 1' and content page 2' can also jump to other content pages through the corresponding trigger method, and this embodiment of the application is not limited to this.
[0074] In one embodiment, the server can pre-define the information of various controls on the component configuration system, achieving standardized data construction. All subsequent UI development processes must strictly follow the configuration on the component configuration system to build the component information structure. For example, the information structure of different components is shown in Table 1 below:
[0075] Table 1
[0076]
[0077]
[0078] Table 1 illustrates the information structures of four controls: "camera_button," "video_progress," "form_post_button," and "form_text." Taking the "camera_button" control as an example, its information structure includes id (an identifier, such as 10001), chinese_text (the Chinese name, such as "camera,"), action (a trigger method, such as click and longclick), quality_rule (a check rule corresponding to the control, such as check_camera_button_rule, used to check whether the camera_button control functions properly), and depend (a dependency relationship between controls, describing whether the control's operation depends on the operations of other controls). This information structure for controls facilitates the organization and management of test cases. Furthermore, since all trigger methods for each control are covered, the comprehensiveness and reliability of the test are improved.
[0079] Based on this, when the server extracts the control information of the data to be processed, it can extract the control information of the data to be processed based on the above information structure, for example, extracting the control information for one or more data of id, chinese_text, action, quality_rule and depend in the information structure of the camera_button component.
[0080] The following describes in detail a method for determining path information of at least one execution path of to-be-processed data based on characteristic information of each control in a plurality of content pages through steps S302-S303:
[0081] S302: Build a use case model based on feature information of each control in the multiple content pages. The use case model includes multiple content pages, each control included in each content page, a triggering method of each control, and a jump content page corresponding to the triggering method of each control.
[0082] Among them, the path information of each execution path includes at least two content pages corresponding to each execution path, the jump order between the at least two content pages, and the jump method. The jump method is used to indicate that a specific control is operated through a trigger method corresponding to a specific control in the current content page to jump to the next content page of the current content page.
[0083] In an embodiment of the present application, the server can use a use case model generation service to generate a use case model. The use case model can describe the functional requirements of the system and the interaction between the user and the system. In an embodiment of the present application, the use case model includes multiple content pages of data to be processed, each control included in each content page, the triggering method of each control, and the jump content page corresponding to the triggering method of each control (the jump content page refers to the landing page corresponding to the triggering method of each control).
[0084] The server can use the use case model generation service to construct a use case model based on the feature information of each control in multiple content pages. For example, a use case model is shown in Table 2 below:
[0085] Table 2
[0086]
[0087]
[0088] In Table 2, p0 represents the first content page, and p1 represents the second content page. This use case model includes the name of each content page (e.g., content page p0 is named "timeline") and the corresponding control list (e.g., components_list). The control list includes each control included in the content page. For example, content page p0 includes the camera_button control and the video_progress control. Each control has a corresponding id (e.g., 10001), action (e.g., click), and quality_rule (e.g., check_camera_button_rule).
[0089] The following will use a directed graph to represent the use case model and explain the use case model: Figure 4B As shown, this use case model includes multiple content pages, such as Page 1, Page 2, and Page 3. For ease of understanding, only Page 1, Page 2, and Page 3 are analyzed below. Page 1 includes multiple controls, such as Control a and Control b; Page 2 includes multiple controls, such as Control c and Control d; and Page 3 includes multiple controls, such as Control e and Control f. Control a on Page 1 is triggered by long press, and the corresponding content page it jumps to is Page 2; Control b on Page 1 is triggered by single click, and the corresponding content page it jumps to is Page 2; Control d on Page 2 is triggered by single click, and the corresponding content page it jumps to is Page 3.
[0090] In one embodiment, controls can be divided into jumpable controls and non-jumpable controls. Jumpable controls refer to controls that can jump to other pages or open other applications when the control is operated, such as hyperlinks, buttons, etc. Non-jumpable controls refer to controls that cannot jump to other pages or open other applications when the control is operated, such as text boxes, labels, lists, etc. Figure 4B As shown, control a, control b, control d, and control f are jumpable controls, and control c and control e are non-jumpable controls.
[0091] It should be noted that the same control can include multiple triggering methods, and the multiple triggering methods included in the same control can include jumpable triggering methods and non-jumpable triggering methods. For example, control b in page 1 can include two trigger types: single-click and long-press. When control b is operated by single-clicking, it can jump to page 2; when control b is operated by long-pressing, non-page jump type functions can be realized, such as page zooming.
[0092] In addition, the same control can include multiple trigger types, and the multiple trigger methods included in the same control can correspond to the same jump content page or different jump content pages. For example, control a in page 1 can include two trigger types: single click and long press. When control a is operated by single click, it can jump to page 3; when control a is operated by long press, it can jump to page 2.
[0093] S303: Perform execution path analysis on the use case model to obtain path information of at least one execution path of the data to be processed.
[0094] In an embodiment of the present application, the server may analyze feasible execution paths in the use case model, obtain at least one execution path of the data to be processed, and determine path information of each execution path.
[0095] by Figure 4BFor example, let's take Pages 1, 2, and 3 in the example. Page 1 includes two jumpable controls, Control a and Control b. Control a can jump to Page 2 via a long press, and Control b can jump to Page 2 via a single click. Page 2 includes a jumpable control, Control d, which can jump to Page 3 via a single click. By analyzing the execution path of the use case model, two execution paths can be obtained. The first execution path is: long-pressing Control a on Page 1 jumps to Page 2, and single-clicking Control d on Page 2 jumps to Page 3. The second execution path is: single-clicking Control b on Page 1 jumps to Page 2, and single-clicking Control d on Page 2 jumps to Page 3. The server then determines the path information corresponding to the two execution paths based on the two execution paths. The path information for each execution path includes at least two content pages corresponding to each execution path, the jump order between the at least two content pages, and the jump method.
[0096] In one embodiment, the above step S303 can be implemented according to the following steps:
[0097] (1) Determine the starting content page from multiple content pages.
[0098] The starting content page may be the first content page that needs to be displayed to the user among multiple content pages included in the data to be processed, such as an advertisement homepage in advertisement data.
[0099] (2) According to the triggering modes corresponding to the multiple controls included in the starting content page and the jump content pages corresponding to the triggering modes, multiple landing content pages corresponding to the starting content page are determined.
[0100] Among them, the server determines multiple landing content pages corresponding to the starting content page based on the trigger methods corresponding to the multiple controls included in the starting content page and the jump content pages corresponding to each trigger method. The landing content page refers to a specific content page that can be jumped to by operating a specific control in the starting content page through a specific trigger method. Since the starting content page includes multiple controls, and each control may include one or more trigger methods, each trigger method may have a corresponding landing content page. Therefore, the starting content page may correspond to multiple landing content pages (or there may be only one landing content page, such as jumping directly from the advertisement homepage to the advertisement last page in the advertising data).
[0101] (3) If the multiple landing content pages include a termination content page, path information of at least one execution path of the data to be processed is generated based on the starting content page and the termination content page, and the termination content page is a content page to which the included controls cannot jump, or a designated content page.
[0102] The terminating content page is a content page where the included controls cannot be redirected, such as a content page where all controls are non-redirectable controls or a content page that contains no controls. The terminating content page can also be a designated content page, such as the last content page to be displayed to the user among multiple content pages included in the data to be processed, such as the last page of advertisements in advertisement data.
[0103] If the server determines that the multiple landing content pages corresponding to the starting content page include the ending content page, the path information of at least one execution path of the data to be processed can be generated based on the jump order and jump method between the starting content page, the ending content page, and the two content pages. For example, the starting content page contains two controls, such as control a and control b. By a single-point operation, the control a in the starting content page can be jumped to the ending content page. By a long-press operation, the control b in the starting content page can be jumped to the ending content page. Then, the path information of the two execution paths can be generated accordingly. It should be noted that the starting content page and the ending content page can also include multiple intermediate content pages. In this case, the specific process of generating the path information of the execution path can refer to the method described in the above embodiment, and the embodiments of this application will not be repeated.
[0104] Determining the starting and ending content pages using this method improves execution path search efficiency. It also makes it clearer which page a user enters and exits an ad, enabling better ad strategy planning and facilitating detailed analysis of user interaction. By generating different execution paths, we can understand users' distinct click behaviors and jump paths, facilitating further analysis of key metrics such as conversion rates under different ad page permutations. This allows for more accurate assessment of ad effectiveness and the rational planning and allocation of ad resources.
[0105] In one embodiment, the server can be configured according to the structure of the above use case model (as shown in Table 2 and Figure 4B As shown), the Go template engine is used to convert the test case JSON file description into the test case code. The implementation process is as follows:
[0106] 1. Read the use case model and treat each content page in the use case model as a node.
[0107] 2. Construct a directed graph, treat the component (referring to the device) and action (referring to the triggering method) of each node as the attributes of the edge, and use the edge to point from the current node to the next node.
[0108] 3. Analyze each path of the directed graph:
[0109] 1) Select a starting node (such as the advertisement homepage) and mark it as visited.
[0110] 2) For each neighbor node of the starting node (i.e., the landing node to which the starting node may jump), if the neighbor node has not been visited, mark it as visited and add it to the path.
[0111] 3) For the neighbor nodes that have just been added to the path, recursively execute step 2) until the terminal node is reached (such as the last page of the advertisement) or no more unvisited neighbor nodes can be added.
[0112] 4) Go back to the previous node, delete the last added node, and continue to traverse other unvisited neighbor nodes until all paths have been visited.
[0113] During the search process, a stack or queue can be used to record paths. Depth-first search can be implemented using a stack, while breadth-first search can be implemented using a queue. During the search process, each time a terminal node is reached, the current path is recorded. After traversing the search, all paths are obtained. Each path corresponds to an execution path, and the path information for each execution path can be used to generate a corresponding test case.
[0114] The following describes in detail the method for generating at least one test case of to-be-processed data according to the path information of at least one execution path through steps S304-S305:
[0115] S304: Obtain content fingerprint information of the data to be processed and path fingerprint information of a target execution path, where the target execution path is any one of the at least one execution path.
[0116] In the embodiment of the present application, the content fingerprint information is used to uniquely identify a piece of data to be processed. Taking the advertising scenario as an example, the data to be processed refers to the advertising data, and the content fingerprint information of the advertising data is the unique identifier of the advertising content.
[0117] In one embodiment, the above-mentioned acquisition of content fingerprint information of the data to be processed and path fingerprint information of the target execution path can be achieved according to the following steps:
[0118] (1) Content feature extraction and processing are performed on the network interaction data of the data to be processed to obtain content features. The content features include one or more of the identifier, specification parameters, traffic type, jump method, and data source of the data to be processed.
[0119] In the embodiment of the present application, by performing content feature extraction processing on the network interaction data of the data to be processed, multi-dimensional data analysis, identification and determination of data features can be performed.
[0120] In one embodiment, taking an advertising scenario as an example, network interaction data may refer to a request packet and a return packet of an advertisement pull interface. The server may extract different types of content features included in the request packet and the return packet to obtain content features of the data to be processed. For example, a request packet of an advertisement pull interface is shown in Table 3 below:
[0121] Table 3
[0122]
[0123]
[0124]
[0125] The base part is the basic information part of the ad request, which includes some common information, such as the mini program ID (appid), user account (bind_uin), mini program identity (biz_uin), client IP address (client_ip), client version number (client_version), device type (device_type), operating system type (operator_system), request timestamp (timestamp) and other fields.
[0126] The custom part is the optional customized information part of the ad request, including fields such as whether the source of the requested ad is a game (from_game), whether it is in care mode (iscaremode), network type (network_type), and scene type (scene_type). These fields can be used to push appropriate advertising content.
[0127] The slot_custom part contains information related to the ad slot, including screen orientation (orientation), mini program original ID (orig_weapp_id), ad slot ID (pos_id), mini program page path (weapp_path), and other parameters related to the specific ad slot, so as to select and display advertising content that meets the requirements of the specific ad slot.
[0128] For example, the return packet of an advertisement pull interface is shown in Table 4 below:
[0129] Table 4
[0130]
[0131]
[0132] The return package includes the ad description information (ad_desc), ad height information (ad_height), ad width information (ad_width), button behavior (button_action, including button jump type jump_type), canvas information (canvas_info), creative extension information (crt_exp_info), ad specifications (crt_size), jump type (dest_type, such as native page, H5 page, video, mini program, video account, etc.), traffic type (post_type), promotion type (product_type, such as Android application, official account, shopping software product) and other parameters.
[0133] In one embodiment, the request and return packets of the ad pull interface can be extracted from the form backend system in the ad delivery platform. The form backend system is used to manage the creation, editing, and display of ad forms. The form here refers to the style and layout of the ad actually presented on the page, including content such as text, pictures, and videos, as well as their arrangement. After extracting the return packet from the form backend system, the server can obtain various attributes and configurations of the ad data from the return packet, such as ad size, display mode, style, content, etc., thereby achieving exhaustive traversal and coverage of existing ad forms.
[0134] (2) Encrypt the content features to obtain the content fingerprint information of the data to be processed.
[0135] In an embodiment of the present application, the server encrypts content features (such as multiple advertising features) to obtain content fingerprint information of the data to be processed. In the advertising scenario, the content fingerprint information is a unique identifier of the content of the advertising data. By generating content fingerprint information corresponding to different advertising data, different types of advertising data can be managed.
[0136] In one embodiment, taking an advertising scenario as an example, the server can extract corresponding advertising features (such as partial content features of the data to be processed) from the request packet and return packet of the advertising pull interface according to the following advertising features (key) and their positions in the JSON structure. The advertising features to be extracted are shown in Table 5 below:
[0137] Table 5
[0138]
[0139] Among them, AdFeatureKey in Table 5 is an object containing the advertising feature keys to be extracted from the request package and the return package. The elements in the req[] array are the advertising feature keys to be extracted from the request package, and the elements in the resp[] array are the advertising feature keys to be extracted from the return package. By locating the corresponding positions of these keys in the JSON structure, the specific values of the corresponding advertising features can be obtained.
[0140] Based on this, the server can encrypt the target advertisement features extracted from the request packet and the return packet to obtain the content fingerprint information of the data to be processed. The content fingerprint information is defined as follows:
[0141] md5sum(posId_deviceType_crtSize_posType_destType_productType_jumpType)
[0142] posId corresponds to the ad slot ID, deviceType corresponds to the device type, crtSize corresponds to the ad size, posType corresponds to the traffic type, destType corresponds to the redirect type, productType corresponds to the promotion type, and jumpType corresponds to the button redirect type. md5sum() performs an MD5 encryption calculation on the posId, deviceType, crtSize, posType, destType, productType, and jumpType fields to obtain the corresponding content fingerprint information.
[0143] Taking the request and return packets of the ad pull interface in Tables 3 and 4 as an example, in the request packet, the target ad features that need to be obtained include: ad slot ID ("pos_id" = 1030436212907801), device type ("device_type" = ios), ad size ("crt_size" = 910), traffic type ("pos_type" = 0), jump type ("dest_type" = 9), promotion type ("product_type" = 43), and button jump type ("jump_type" = 9). Substituting the above data into md5sum(), we can obtain the content fingerprint information corresponding to the ad data, denoted as f1, which is expressed as:
[0144] f1=md5sum(1030436212907001_ios_910_0_9_43_9)
[0145] Through md5 encryption calculation, the corresponding content fingerprint information can be obtained as 9bb9aec7a551bc670433da822fd9f801.
[0146] (3) Encrypt the identifiers of each content page, the jump order between each content page, and the jump method in the path information of the target execution path to obtain the path fingerprint information of the target execution path.
[0147] In an embodiment of the present application, the server encrypts the identifiers of each content page in the path information of the target execution path, the jump order between each content page, and the jump method to obtain the path fingerprint information of the target execution path. In the advertising scenario, the path fingerprint information is a unique identifier of a feasible execution path of the advertising data. By generating path fingerprint information of different execution paths, it is easy to distinguish different execution paths corresponding to the same advertising data.
[0148] In one embodiment, taking the data in Table 2 as an example, p0 in Table 2 represents the first content page, and p1 represents the second content page. Table 2 includes the name of each content page and a list of controls corresponding to each content page. The control list includes each control included in the content page. In content page p0, content page p0 includes a camera_button control and a video_progress control. The camera_button control is a jumpable control with an ID of 10001 and a trigger mode of click. The video_progress control is a non-jumpable control with an ID of 10002 and a trigger operation of drag.
[0149] The data in Table 2 indicates that the camera_button control in content page p0 is operated by a single click trigger, thereby jumping to content page p1. Then, the path fingerprint information of the execution path corresponding to the data in Table 2 can be recorded as f2 and expressed as:
[0150] f2=md5(p0_10001_click_10002_drag_p1)
[0151] S305 : Input the path information of the target execution path, the content fingerprint information of the data to be processed, and the path fingerprint information of the target execution path as parameters into the use case template for processing, thereby generating a target test case for the data to be processed.
[0152] In the embodiments of the present application, a use case template is a standardized test case structure that helps testers better organize and write test cases, improving the efficiency and quality of generated test cases. The server generates a target test case for the data to be processed by inputting the path information of the target execution path, the content fingerprint information of the data to be processed, and the path fingerprint information of the target execution path as parameters into the use case template. This allows for more convenient organization of test cases, reduces the error rate of subsequent testing processes, and thus improves test efficiency and quality.
[0153] For example, the use case template is shown in Table 6 below:
[0154] Table 6
[0155]
[0156]
[0157] The above content is the key code of the use case template. By using the template engine to replace the variables (placeholders) in the use case template with real data, executable test case code can be generated. The use case template contains a test function, which corresponds to a specific test scenario (such as an advertising test scenario). {{.f1}} and {{.f2}} represent two fingerprints, such as content fingerprint information f1 and path fingerprint information f2. The template engine's variable replacement mechanism replaces f1 and f2 with actual values to generate executable use case code. During the definition of the use case function, the diGraph.node method is used to obtain control information for all nodes in the current test case. The test case is then executed based on each control's id, action, and qualityrule. When processing each control, the enter_private_page method is called to enter the pulled ad page. The check_page method is used to verify whether the current page matches the current test node, and the corresponding trigger action (referring to the component in Table 6, such as single click, long press, drag, etc.) is executed. Furthermore, the control's detection rule (referring to the quality_rule in Table 6) is executed.
[0158] Based on this, the server can input the path information of the target execution path, the content fingerprint information (f1) of the data to be processed, and the path fingerprint information (f2) of the target execution path as parameters into the use case template for processing, generate the target test case of the data to be processed, and use the go template engine to render the test case code. The test case code is shown in Table 7 below:
[0159] Table 7
[0160]
[0161] The code shown in Table 7 is the test case code (i.e., the code corresponding to the target test case) rendered using the Go template engine. This test case code is a Python script used for automated test execution. The function test contains two fingerprints: content fingerprint (1030436212907001_ios_910_0_9_43_9) and path fingerprint (p0_10001_click_10002_drag_p1). These two fingerprints uniquely identify the test case.
[0162] The processing process of this test case is as follows:
[0163] 1. Call the enter_private_page() method to enter the page where the ad can be pulled, and force an ad to the current user.
[0164] 2. Use the check_page() method to check whether the current page has successfully entered the specified content page (such as the "videoPage" page). If it has successfully entered the video playback page (i.e., the "videoPage" page), use the click_id() function to simulate a mouse click on the external link control (i.e., the "external_Link" control) and execute the check_external_Link_rule rule check. Next, use the drag_id() function to simulate a drag operation on the video progress bar and execute the check_video_progress_rule rule check. Finally, use the click_id() function to simulate a single-click operation on the player control control and execute the check_player_Control_rule rule check.
[0165] 3. Use the check_page() method to check whether the current page successfully enters the specified content page (such as the "targetURL" page). If it successfully enters the linked page (i.e., the "targetURL" page), the corresponding trigger operation and control rule check are executed. Similarly, all controls on each page in the test case are sequentially subjected to corresponding operations and quality checks, and the execution of the test case is finally terminated.
[0166] The above test case corresponds to an execution path of the data to be processed (such as advertising data). In the above test case, the two content pages corresponding to the execution path are: a video playback page and a link page. The jump order between the two content pages is: jump from the video playback page to the link page. Because the external link control is a jumpable control, while the video progress bar control and the playback control control are both non-jumpable controls, and the external link control's triggering method is single-point, the jump method between the two content pages included in the above test case is: operate the external link control through the triggering method (single-point) corresponding to the external link control on the video playback page to jump to the link page.
[0167] It should be noted that a test case may include jumps between more content pages, each content page may also include more controls, each control may also include more triggering methods, and each control may also perform more detection rule checks, which will not be repeated in the embodiments of this application.
[0168] In one embodiment, the target test case includes detection rules corresponding to each control in at least two content pages corresponding to the target execution path. The detection rules include expected change data corresponding to the content page after the control is operated through the trigger method corresponding to the control. The detection rules are used to detect whether the function of the control is normal.
[0169] Among them, after the server operates the control through the triggering method corresponding to the control, it can obtain the current change data corresponding to the content page. The server then determines whether the function of the control is normal based on the expected change data of the content page. Exemplarily, taking the external link control as an example, the expected change data corresponding to the content page can refer to a general display form of the link page. When the external link control is operated, the server determines whether the current change data corresponding to the content page (such as the top-level page displayed) meets the general display form. If it meets the general display form, it means that the link page corresponding to the external link control has been entered, and the external link control functions normally. Taking the video progress bar control as an example, the expected change data corresponding to the content page can refer to the change data of the video page. The change data of the video page can be screenshots taken before and after the video progress bar control is dragged, and the two screenshots are analyzed for screen content changes (such as image similarity matching) to obtain the change data of the video page. The server then determines whether the video page changes before and after the video progress bar control is dragged based on the change data of the video page. If it changes, it means that the video progress bar control functions normally.
[0170] The embodiment of the present application provides multiple detection rule bases, each detection rule base provides necessary inspection items under a scenario or type, and has a unified code structure. At the same time, each detection rule base includes detection rules corresponding to multiple controls. Figure 4C As shown, Figure 4C The figure shows multiple detection rules included in a detection rule library, such as the detection rule with rule identifier 204 (recorded as detection rule 204). The function function corresponding to detection rule 204 is recorded as MMSetChatRoomMaxCount. The function is used to set the maximum number of group members. Its parameters include A_useruin, chatroom and maxcount. The specific function example is: SetupChatRoomMaxCount(A_useruin, chatroom, 40).
[0171] The following is an introduction to the detection rules of the control: The code structure of the detection rules is shown in Table 8 below:
[0172] Table 8
[0173]
[0174]
[0175] Table 8 defines a base class, ActUtilBase, which contains the SetUp, TearDown, and CheckServerData functions and specifies the specific functionality of the execution function, _call_(). This function takes parameters and calls the logic function, process(). The detection rule functions are written within the logic function, process(). All detection rule functions only need to rewrite process() to implement the corresponding check rules.
[0176] In the _call_() function, the argl list is first traversed to determine whether its elements are callable. If so, the result of the call is assigned to the corresponding list element. Then, the Process() function is called to perform the actual test operation and return the test result. Finally, the MakeResult function is called to convert the test result into a string format and return the result.
[0177] For example, as shown in Table 9, Table 9 shows an implementation method of a detection rule for checking whether user A has set a specific note name for friend B:
[0178] Table 9
[0179]
[0180]
[0181] The content in Table 9 defines a subclass MMCheckContactRemark (inherited from the base class ActUtilBase) and rewrites the Process() function, which is used to check whether user A has set a specific remark name for friend B.
[0182] In the Process function, the adequacy of the passed parameters is first determined, followed by type conversion to facilitate the next operation. Next, an HttpCaller object is created and the GetContactRemark interface of mmaddrbook is called to retrieve the target friend's remark information. Finally, the actual remark name is compared with the expected remark name, and the corresponding test result is returned. If the expected remark name and the actual remark name do not match, the test is considered a failure and False is returned; otherwise, the test is considered a success and True is returned. In addition, this class contains several static functions, where "funname" represents the check function name, "effect" represents the function's effect, "args" is the function's parameter list, and "example" is an example of function usage.
[0183] The following describes the execution process of the control detection rules when the test case is executed. The execution process of the detection rules is shown in Table 10:
[0184] Table 10
[0185]
[0186]
[0187] Table 10 shows the execution method of a use case execution engine after detecting quality rules. The ProcessFuncList function is used to execute the passed function list in sequence and return the final test results and error information.
[0188] Inside the function, first determine whether the passed parameter funcList is callable (that is, whether it is a single function). If so, call it directly and return the result. Then determine the type of funcList. If it is a set, convert it to a list for processing. Then traverse the function list and create instance objects in turn, set the parameters of the object, and call the call function of the object to perform the test operation.
[0189] Among them, self.createInstance("wxadutil",class_name) is used to create an instance of the class named class_name. Specifically, the createInstance method dynamically loads the specified module ("wxadutil") based on the passed class_name parameter, then obtains a reference to the corresponding class in the module and instantiates an object. The method returns the created instance object, namely obj. The parameters required for the detection rule are then passed to the instance object's variable argl via the obj.argl method. Finally, the callable(obj) code calls the instance's _call_() function to execute the detection rule test.
[0190] Taking the advertising scenario as an example, the following describes the process of generating advertising UI automated test cases based on the existing network traffic and the use case generation engine service. Figure 4D As shown, the server first records the current network traffic through the traffic capture method based on the scheduled task, thereby obtaining various types of data to be processed (such as advertising data), and then extracts advertising features for various types of data to be processed (that is, the network interaction data of each data to be processed is extracted and processed to obtain advertising features (that is, the content features corresponding to each data to be processed); the server then processes the advertising features through the use case generation engine service, and automatically generates multiple advertising UI automation test cases (that is, multiple target test cases). The use case generation engine service provides a variety of services such as atomic operation library, use case templates, use case execution engine, and detection rule library. Among them, the use case execution engine is used to execute the generated test cases, thereby realizing automated testing of the advertising UI. The atomic operation library includes a set of atomic operation functions. An atomic operation function is obtained by standardized encapsulation of specific operation steps, which makes the code highly structured. Moreover, if there is a business change, it is only necessary to uniformly modify the atomic operation library, thereby reducing the subsequent maintenance cost.
[0191] In one embodiment, the server can also visually render the target test case through a visual rendering service to obtain a visual test case. The visual rendering service is used to convert the test case in text or script format into a visual format. For example, the target test case in script format can be converted into a format suitable for playback on different media platforms, such as dynamic web ads, social media ads, and mobile app ads. This method allows testers to more intuitively and clearly view the test content of the test case, ensuring that the development process and the final product meet expected requirements, thereby ensuring test accuracy and improving the user experience.
[0192] See also Figure 5, which is a flow chart of a data processing method provided by an exemplary embodiment of the present application, and is described by taking the method applied to a server as an example, the method may include the following steps:
[0193] S501: Extract control information of data to be processed, where the data to be processed includes multiple content pages, and the control information includes feature information of each control in the multiple content pages.
[0194] In one embodiment, the characteristic information includes one or more of an identification and a triggering method. The data to be processed is obtained through traffic capture based on a scheduled task. Traffic capture refers to capturing network data packets generated during network communication.
[0195] S502: Construct a use case model based on feature information of each control in the multiple content pages. The use case model includes multiple content pages, each control included in each content page, a triggering method of each control, and a jump content page corresponding to the triggering method of each control.
[0196] In one embodiment, the path information of each execution path includes at least two content pages corresponding to each execution path, a jump order between the at least two content pages, and a jump method. The jump method is used to indicate that a specific control in the current content page is operated through a trigger method corresponding to a specific control in the current content page to jump to the next content page of the current content page.
[0197] S503: Perform execution path analysis on the use case model to obtain path information of at least one execution path of the data to be processed.
[0198] The specific implementation of steps S501-S503 refers to the relevant description of steps S301-S303 in the aforementioned embodiment, and will not be repeated in this embodiment.
[0199] The following describes in detail the method for generating at least one test case of to-be-processed data according to the path information of at least one execution path through steps S504-S506:
[0200] S504: Obtain content fingerprint information of the data to be processed and path fingerprint information of a target execution path, where the target execution path is any one of the at least one execution path.
[0201] The specific implementation of step S504 refers to the relevant description of step S304 in the aforementioned embodiment, and will not be repeated in this embodiment.
[0202] S505 : Determine the use case fingerprint information of the target test case corresponding to the target execution path according to the content fingerprint information and the path fingerprint information.
[0203] In an embodiment of the present application, the server encrypts the content fingerprint information and the path fingerprint information to obtain the use case fingerprint information of the target test case corresponding to the target execution path. The use case fingerprint information is used to quickly and uniquely identify the test case.
[0204] In one embodiment, the content fingerprint information of the data to be processed (such as advertisement data) is recorded as f1, and the path fingerprint information of the data to be processed is recorded as f2. Then, the use case fingerprint information of the target test case corresponding to the target execution path can be recorded as f, and f is expressed as:
[0205] f=md5(f1,f2)
[0206] Among them, md5(f1,f2) represents the md5 encryption calculation of f1 and f2. It should be noted that in addition to using the md5 encryption algorithm to generate content fingerprint information, path fingerprint information, and use case fingerprint information in the embodiments of the present application, other encryption algorithms such as SHA1, SHA256 / SHA512, bcrypt, scrypt, etc. can also be used to generate them, and the embodiments of the present application are not limited to this.
[0207] S506: If the test case library does not store the use case fingerprint information, generate a target test case for the data to be processed according to the path information of the target execution path, and store the target test case and the use case fingerprint information in the test case library.
[0208] In an embodiment of the present application, a large number of test cases and the use case fingerprint information of each test case are stored in the test case library. Each test case in the large number of stored test cases is different from each other, and each test case is distinguished by the corresponding use case fingerprint information. Based on this, before generating the target test case corresponding to the to-be-processed data, the server first generates the use case fingerprint information of the target test case, and then matches the use case fingerprint information of the target test case with the use case fingerprint information of each test case stored in the test case library. If the matching result indicates that the use case fingerprint information of the target test case is not stored in the test case library, it means that the test case library does not store a test case that matches the current to-be-processed data and the corresponding target execution path, then the subsequent step of generating the target test case for the to-be-processed data is executed, and after generating the target test case, the target test case and the corresponding use case fingerprint information are stored in the test case library. Through the above method, the uniqueness of the test case can be effectively generated, and the generated unique test case is stored in the test case library, which ensures the effectiveness of the test cases in the test case library, thereby improving the effectiveness and accuracy of the test.
[0209] In one embodiment, the above-mentioned generation of target test cases for to-be-processed data based on the path information of the target execution path can be implemented according to the following steps:
[0210] (1) Obtain content fingerprint information of the data to be processed and path fingerprint information of a target execution path, where the target execution path is any one of at least one execution path.
[0211] (2) The path information of the target execution path, the content fingerprint information of the data to be processed, and the path fingerprint information of the target execution path are input as parameters into the use case template for processing to generate a target test case for the data to be processed.
[0212] Among them, the above steps (1)-(2) can refer to the detailed introduction of generating at least one test case for the data to be processed according to the path information of at least one execution path in steps S304-S305, and will not be repeated in this embodiment of the application.
[0213] In one embodiment, the server may further perform the following steps: if the content fingerprint information is not stored in the test case library, then performing the steps of determining the use case fingerprint information of the target test case corresponding to the target execution path based on the content fingerprint information and the path fingerprint information (such as step S505), and storing the content fingerprint information in the test case library.
[0214] In this embodiment of the present application, because the content fingerprint information is obtained by encrypting the content features of the data to be processed, the content fingerprint information can uniquely identify the content of the data to be processed. In advertising scenarios, the content fingerprint information uniquely identifies the content of the advertising data. By generating content fingerprint information corresponding to different types of advertising data, different types of advertising data can be managed.
[0215] The test case library can store content fingerprint information of different types of advertising data. The server can first generate content fingerprint information of the data to be processed, and then match the content fingerprint information of the data to be processed with the content fingerprint information of different types of advertising data stored in the test case library. If the matching result indicates that the content fingerprint information of the data to be processed is not stored in the test case library, it means that the test case library does not store advertising data of the current type, and then the subsequent steps of determining the use case fingerprint information of the target test case corresponding to the target execution path based on the content fingerprint information and the path fingerprint information are executed, and the content fingerprint information of the data to be processed is stored in the test case library. Through the above method, the uniqueness of the advertising type can be effectively determined. When advertising data of this type does not exist in the test case library, multiple test cases for the advertising data are generated and stored in the test case library, thereby improving the effectiveness and accuracy of the test.
[0216] In one embodiment, the method for generating automated test cases for advertising UIs based on live network traffic and a use case generation engine in the embodiments of this application can also be applied to various scenarios such as traffic tagging. Taking the traffic tagging scenario as an example, the server can use the content fingerprint information of the data to be processed (such as advertising data) to identify and classify advertising traffic on the website or application, so as to better manage and optimize advertising delivery, thereby improving advertising return.
[0217] The test case generation method provided in the embodiment of the present application can automatically and quickly generate test cases, thereby ensuring that newly launched advertising formats can be quickly covered by the generated test cases. At the same time, the generated test cases are highly structured, which can reduce the maintenance cost of the test cases. When the detection rules, component operations, etc. change, they can be uniformly modified in the atomic operation library and take effect everywhere. In addition, the unique identifier of each test case is quickly generated through the use case fingerprint information (i.e., the use case fingerprint), which can achieve full deduplication of the test cases.
[0218] See also Figure 6 , which is a schematic block diagram of a data processing device provided in an embodiment of the present application. Specifically, the data processing device may include:
[0219] Acquisition module 601 is configured to extract control information of data to be processed, wherein the data to be processed includes multiple content pages, the control information includes characteristic information of each control in the multiple content pages, the characteristic information including one or more of an identifier and a triggering method, and the data to be processed is obtained through traffic capture based on a scheduled task, wherein traffic capture refers to capturing network data packets generated during network communication;
[0220] Processing module 602 is configured to determine path information of at least one execution path of the data to be processed based on characteristic information of each control in the plurality of content pages, the path information of each execution path including at least two content pages corresponding to each execution path, a jump order between the at least two content pages, and a jump method, wherein the jump method indicates that a specific control in the current content page is operated using a trigger method corresponding to the specific control to jump to the content page next to the current content page;
[0221] The use case generation module 603 is configured to generate at least one test case for the data to be processed according to the path information of the at least one execution path.
[0222] Optionally, when the processing module 602 is used to determine the path information of at least one execution path of the data to be processed according to the characteristic information of each control in the plurality of content pages, it is specifically used to:
[0223] Constructing a use case model based on the characteristic information of each control in the plurality of content pages, the use case model including the plurality of content pages, each control included in each of the content pages, a triggering method for each of the controls, and a jump content page corresponding to the triggering method for each of the controls;
[0224] Perform execution path analysis on the use case model to obtain path information of at least one execution path of the data to be processed.
[0225] Optionally, when the processing module 602 is used to perform execution path analysis on the use case model to obtain path information of at least one execution path of the data to be processed, it is specifically used to:
[0226] determining a starting content page from the plurality of content pages;
[0227] Determining multiple landing content pages corresponding to the starting content page based on the triggering modes corresponding to the multiple controls included in the starting content page and the jump content pages corresponding to the triggering modes;
[0228] If the above-mentioned multiple landing content pages include an end content page, path information of at least one execution path of the above-mentioned data to be processed is generated based on the above-mentioned starting content page and the above-mentioned end content page. The above-mentioned end content page is a content page to which the included controls cannot jump, or it is a designated content page.
[0229] Optionally, when the use case generation module 603 is used to generate at least one test case for the data to be processed according to the path information of the at least one execution path, it is specifically used to:
[0230] Obtaining content fingerprint information of the data to be processed and path fingerprint information of a target execution path, where the target execution path is any one of the at least one execution path;
[0231] The path information of the target execution path, the content fingerprint information of the data to be processed, and the path fingerprint information of the target execution path are input as parameters into a use case template for processing to generate a target test case for the data to be processed.
[0232] Optionally, the above-mentioned target test case includes detection rules corresponding to each control in at least two content pages corresponding to the above-mentioned target execution path. The above-mentioned detection rules include expected change data corresponding to the content page after operating the above-mentioned control through the triggering method corresponding to the above-mentioned control. The above-mentioned detection rules are used to detect whether the function of the control is normal.
[0233] Optionally, when the use case generation module 603 is used to generate at least one test case for the data to be processed according to the path information of the at least one execution path, it is specifically used to:
[0234] Obtaining content fingerprint information of the data to be processed and path fingerprint information of a target execution path, where the target execution path is any one of the at least one execution path;
[0235] Determine the use case fingerprint information of the target test case corresponding to the target execution path based on the content fingerprint information and the path fingerprint information;
[0236] If the test case library does not store the use case fingerprint information, the target test case of the data to be processed is generated according to the path information of the target execution path, and the target test case and the use case fingerprint information are stored in the test case library.
[0237] Optionally, the processing module 602 is further configured to:
[0238] If the above-mentioned content fingerprint information is not stored in the above-mentioned test case library, the above-mentioned step of determining the use case fingerprint information of the target test case corresponding to the above-mentioned target execution path based on the above-mentioned content fingerprint information and the above-mentioned path fingerprint information is executed, and the above-mentioned content fingerprint information is stored in the above-mentioned test case library.
[0239] Optionally, when the use case generation module 603 is used to obtain the content fingerprint information of the data to be processed and the path fingerprint information of the target execution path, it is specifically used to:
[0240] Performing content feature extraction processing on the network interaction data of the data to be processed to obtain content features, wherein the content features include one or more of the identifier, specification parameters, traffic type, jump method, and data source of the data to be processed;
[0241] Encrypting the above content features to obtain content fingerprint information of the above data to be processed;
[0242] The identifiers of the content pages in the path information of the target execution path, the jump order and jump method between the content pages are encrypted to obtain the path fingerprint information of the target execution path.
[0243] It should be noted that the functions of each functional module of the data processing device of the embodiment of the present application can be specifically implemented according to the method in the above method embodiment. The specific implementation process can refer to the relevant description of the above method embodiment, which will not be repeated here.
[0244] See also Figure 7, which is a schematic block diagram of a computer device provided in an embodiment of the present application. As shown in the figure, the computer device in this embodiment may include: a processor 701, a storage device 702, and a communication interface 703. The processor 701, storage device 702, and communication interface 703 can exchange data.
[0245] The above-mentioned storage device 702 may include a volatile memory (volatile memory), such as a random-access memory (RAM); the storage device 702 may also include a non-volatile memory (non-volatile memory), such as a flash memory (flash memory), a solid-state drive (SSD), etc.; the above-mentioned storage device 702 may also include a combination of the above-mentioned types of memory.
[0246] The processor 701 may be a central processing unit (CPU). In one embodiment, the processor 701 may also be a graphics processing unit (GPU). The processor 701 may also be a combination of a CPU and a GPU. In one embodiment, the storage device 702 is used to store program instructions, and the processor 701 may call the program instructions to perform the following operations:
[0247] Extracting control information of data to be processed, the data to be processed including multiple content pages, the control information including characteristic information of each control in the multiple content pages, the characteristic information including one or more of an identifier and a triggering method, the data to be processed being obtained through traffic capture based on a scheduled task, the traffic capture referring to capturing network data packets generated during network communication;
[0248] determining path information of at least one execution path of the data to be processed based on characteristic information of each control in the plurality of content pages, the path information of each execution path including at least two content pages corresponding to each execution path, a jump order between the at least two content pages, and a jump mode, the jump mode indicating that a specific control in the current content page is operated using a trigger mode corresponding to the specific control to jump to a content page next to the current content page;
[0249] At least one test case for the data to be processed is generated according to the path information of the at least one execution path.
[0250] Optionally, when the processor 701 is configured to determine the path information of at least one execution path of the data to be processed according to the characteristic information of each control in the plurality of content pages, it is specifically configured to:
[0251] Constructing a use case model based on the characteristic information of each control in the plurality of content pages, the use case model including the plurality of content pages, each control included in each of the content pages, a triggering method for each of the controls, and a jump content page corresponding to the triggering method for each of the controls;
[0252] Perform execution path analysis on the use case model to obtain path information of at least one execution path of the data to be processed.
[0253] Optionally, when the processor 701 is configured to perform execution path analysis on the use case model to obtain path information of at least one execution path of the data to be processed, it is specifically configured to:
[0254] determining a starting content page from the plurality of content pages;
[0255] Determining multiple landing content pages corresponding to the starting content page based on the triggering modes corresponding to the multiple controls included in the starting content page and the jump content pages corresponding to the triggering modes;
[0256] If the above-mentioned multiple landing content pages include an end content page, path information of at least one execution path of the above-mentioned data to be processed is generated based on the above-mentioned starting content page and the above-mentioned end content page. The above-mentioned end content page is a content page to which the included controls cannot jump, or it is a designated content page.
[0257] Optionally, when the processor 701 is configured to generate at least one test case for the data to be processed according to the path information of the at least one execution path, it is specifically configured to:
[0258] Obtaining content fingerprint information of the data to be processed and path fingerprint information of a target execution path, where the target execution path is any one of the at least one execution path;
[0259] The path information of the target execution path, the content fingerprint information of the data to be processed, and the path fingerprint information of the target execution path are input as parameters into a use case template for processing to generate a target test case for the data to be processed.
[0260] Optionally, the above-mentioned target test case includes detection rules corresponding to each control in at least two content pages corresponding to the above-mentioned target execution path. The above-mentioned detection rules include expected change data corresponding to the content page after operating the above-mentioned control through the triggering method corresponding to the above-mentioned control. The above-mentioned detection rules are used to detect whether the function of the control is normal.
[0261] Optionally, when the processor 701 is configured to generate at least one test case for the data to be processed according to the path information of the at least one execution path, it is specifically configured to:
[0262] Obtaining content fingerprint information of the data to be processed and path fingerprint information of a target execution path, where the target execution path is any one of the at least one execution path;
[0263] Determine the use case fingerprint information of the target test case corresponding to the target execution path based on the content fingerprint information and the path fingerprint information;
[0264] If the test case library does not store the use case fingerprint information, the target test case of the data to be processed is generated according to the path information of the target execution path, and the target test case and the use case fingerprint information are stored in the test case library.
[0265] Optionally, the processor 701 is further configured to:
[0266] If the above-mentioned content fingerprint information is not stored in the above-mentioned test case library, the above-mentioned step of determining the use case fingerprint information of the target test case corresponding to the above-mentioned target execution path based on the above-mentioned content fingerprint information and the above-mentioned path fingerprint information is executed, and the above-mentioned content fingerprint information is stored in the above-mentioned test case library.
[0267] Optionally, when the processor 701 is used to obtain the content fingerprint information of the data to be processed and the path fingerprint information of the target execution path, it is specifically used to:
[0268] Performing content feature extraction processing on the network interaction data of the data to be processed to obtain content features, wherein the content features include one or more of the identifier, specification parameters, traffic type, jump method, and data source of the data to be processed;
[0269] Encrypting the above content features to obtain content fingerprint information of the above data to be processed;
[0270] The identifiers of the content pages in the path information of the target execution path, the jump order and jump method between the content pages are encrypted to obtain the path fingerprint information of the target execution path.
[0271] In a specific implementation, the processor 701, the storage device 702, and the communication interface 703 described in the embodiment of the present application can execute the embodiment of the present application. Figure 2 、 Figure 3 or Figure 5 The implementation described in the relevant embodiments of the data processing method provided can also be performed in the embodiments of this application Figure 6 The implementation methods described in the relevant embodiments of the provided data processing device will not be repeated here.
[0272] In the several embodiments provided in this application, it should be understood that the disclosed methods, devices, and systems can be implemented in other ways. For example, the device embodiments described above are merely schematic; for example, the division of the units is merely a logical function division, and there may be other division methods in actual implementation; for example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection of devices or units, which may be electrical, mechanical, or other forms.
[0273] In addition, it should be noted that the embodiment of the present application further provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program executed by the aforementioned data processing device, and the computer program includes program instructions. When the processor executes the above program instructions, it can execute the above Figure 2 、 Figure 3 or Figure 5 The method in the corresponding embodiment will therefore not be described in detail here. In addition, the description of the beneficial effects of adopting the same method will not be repeated. For technical details not disclosed in the computer-readable storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application. As an example, the program instructions can be deployed on a computer device, or executed on multiple computer devices located in one location, or executed on multiple computer devices distributed in multiple locations and interconnected by a communication network. Multiple computer devices distributed in multiple locations and interconnected by a communication network can constitute a blockchain system.
[0274] According to one aspect of the present application, a computer program product is provided, the computer program product including computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device can perform the aforementioned Figure 2 、 Figure 3 or Figure 5 The method in the corresponding embodiment will therefore not be described in detail here.
[0275] Those skilled in the art will appreciate that all or part of the processes in the above-described method embodiments can be implemented by instructing related hardware through a computer program. The program can be stored in a computer-readable storage medium, and when executed, the program can include the processes in the above-described method embodiments. The storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
[0276] The above disclosure is only part of the embodiments of the present application, and it is certainly not intended to limit the scope of the rights of the present application. A person skilled in the art can understand that all or part of the processes of the above embodiments and equivalent changes made in accordance with the claims of the present application are still within the scope of the invention.
Claims
1. A data processing method, It is characterized in that The method comprises: Extracting control information of data to be processed, wherein the data to be processed includes multiple content pages, the control information includes characteristic information of each control in the multiple content pages, the characteristic information includes one or more of an identification and a triggering mode, and the data to be processed is obtained by traffic capture based on a scheduled task, and the traffic capture refers to capturing network data packets generated during network communication; determining path information of at least one execution path of the data to be processed according to feature information of each control in the plurality of content pages, wherein the path information of each execution path includes at least two content pages corresponding to each execution path, a jump order between the at least two content pages, and a jump mode, wherein the jump mode is used to indicate operating the specific control in the current content page through a trigger mode corresponding to the specific control, and jumping to a content page next to the current content page; At least one test case for the data to be processed is generated according to the path information of the at least one execution path.
2. The method according to claim 1, It is characterized in that The determining the path information of at least one execution path of the to-be-processed data according to the characteristic information of each control in the plurality of content pages includes: Building a use case model according to the feature information of each control in the multiple content pages, the use case model including the multiple content pages, each control included in each of the content pages, a triggering method of each control, and a jump content page corresponding to the triggering method of each control; Perform execution path analysis on the use case model to obtain path information of at least one execution path of the data to be processed.
3. The method according to claim 2, It is characterized in that The performing execution path analysis on the use case model to obtain path information of at least one execution path of the data to be processed includes: determining a starting content page from the plurality of content pages; Determine multiple landing content pages corresponding to the starting content page according to the trigger modes corresponding to the multiple controls included in the starting content page and the jump content pages corresponding to the trigger modes; If the multiple landing content pages include a termination content page, path information of at least one execution path of the data to be processed is generated based on the start content page and the termination content page, and the termination content page is a content page to which the included controls cannot jump, or is a designated content page.
4. The method according to any one of claims 1 to 3, It is characterized in that The step of generating at least one test case for the data to be processed according to the path information of the at least one execution path comprises: Acquire content fingerprint information of the data to be processed and path fingerprint information of a target execution path, where the target execution path is any one of the at least one execution path; The path information of the target execution path, the content fingerprint information of the data to be processed and the path fingerprint information of the target execution path are input as parameters into a use case template for processing to generate a target test case for the data to be processed.
5. The method according to claim 4, It is characterized in that The target test case includes detection rules corresponding to each control in at least two content pages corresponding to the target execution path, and the detection rules include expected change data corresponding to the content page after the control is operated by the trigger method corresponding to the control. The detection rules are used to detect whether the function of the control is normal.
6. The method according to any one of claims 1 to 3, It is characterized in that The step of generating at least one test case for the data to be processed according to the path information of the at least one execution path comprises: Acquire content fingerprint information of the data to be processed and path fingerprint information of a target execution path, where the target execution path is any one of the at least one execution path; Determine, according to the content fingerprint information and the path fingerprint information, the use case fingerprint information of the target test case corresponding to the target execution path; If the test case fingerprint information is not stored in the test case library, a target test case of the data to be processed is generated according to the path information of the target execution path, and the target test case and the use case fingerprint information are stored in the test case library.
7. The method according to claim 6, It is characterized in that The method further comprises: If the content fingerprint information is not stored in the test case library, the step of determining the use case fingerprint information of the target test case corresponding to the target execution path based on the content fingerprint information and the path fingerprint information is performed, and the content fingerprint information is stored in the test case library.
8. The method according to claim 4, It is characterized in that The obtaining of content fingerprint information of the data to be processed and path fingerprint information of the target execution path includes: Performing content feature extraction processing on the network interaction data of the data to be processed to obtain content features, wherein the content features include one or more of the identification, specification parameters, traffic type, jump mode, and data source of the data to be processed; Encrypting the content feature to obtain content fingerprint information of the data to be processed; The identifiers of the various content pages in the path information of the target execution path, the jump order and the jump mode between the various content pages are encrypted to obtain the path fingerprint information of the target execution path.
9. A data processing device, It is characterized in that The device comprises: an acquisition module, configured to extract control information of data to be processed, wherein the data to be processed includes a plurality of content pages, the control information includes characteristic information of each control in the plurality of content pages, the characteristic information includes one or more of an identification and a triggering mode, and the data to be processed is obtained by traffic capture based on a scheduled task, and the traffic capture refers to capturing network data packets generated during network communication; a processing module, configured to determine path information of at least one execution path of the data to be processed according to feature information of each control in the plurality of content pages, wherein the path information of each execution path includes at least two content pages corresponding to each execution path, a jump order between the at least two content pages, and a jump mode, wherein the jump mode is used to indicate operating the specific control in the current content page through a trigger mode corresponding to the specific control, so as to jump to a content page next to the current content page; A use case generation module is used to generate at least one test case for the data to be processed according to the path information of the at least one execution path.
10. A computer device, It is characterized in that include: A processor, a storage device and a communication interface, wherein the processor, the communication interface and the storage device are connected to each other, wherein the storage device stores an executable program code, and the processor is used to call the executable program code to implement the data processing method according to any one of claims 1 to 8.
11. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and the program instructions are executed by a processor to implement the data processing method according to any one of claims 1 to 8.
12. A computer program product, It is characterized in that The computer program product comprises a computer program or a computer instruction, and when the computer program or the computer instruction is executed by a processor, it is used to implement the data processing method according to any one of claims 1 to 8.
