Automatic regression test method and device, computer equipment and storage medium

Through Jgit static analysis and traffic pool screening technology, test cases are automatically configured and test range is dynamically adjusted, which solves the problem that automated testing tools are difficult to automatically configure and dynamically adjust in the existing technology, and improves the efficiency and accuracy of regression testing.

CN119557204APending Publication Date: 2025-03-04BEIJING BAIJU YIXING TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411418986.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-11
Publication Date
2025-03-04

AI Technical Summary

Technical Problem

Existing automated testing tools have difficulty automatically configuring test cases and are difficult to adjust the test range dynamically based on code changes.

Method used

Through Jgit static analysis, determine the change method in the target development branch, determine the range of changes impact based on the change method, and filter the matching traffic data assembly test tasks in the traffic pool.

Benefits of technology

It realizes automatic configuration of test cases and rapid and precise dynamic adjustment of test range, improving the efficiency and accuracy of regression testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119557204A_ABST
    Figure CN119557204A_ABST
Patent Text Reader

Abstract

The invention relates to an automatic regression test method and device, computer equipment and a storage medium. The method comprises the following steps: determining services and development branches related to the project submission test based on project submission test information, and recording the services and development branches as target services and target development branches; determining a change method in the target development branch through Jgit static analysis; the changing method is a newly added or changed method; determining an influence range of the change according to a change method in the target service and the target development branch; screening matched flow data in a flow pool through the change influence range, and assembling a test task according to the screened flow data; and executing the test task. According to the method, the test case can be automatically configured in the regression test, and the test range can be accurately and dynamically adjusted according to the changed code.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of regression testing, and in particular to an automatic regression testing method, apparatus, computer equipment and storage medium. Background Art

[0002] Automated regression testing is a software testing method that uses automated testing tools to check whether the old version of the software still works as expected after the code is changed. It is an important means in the software development process to ensure that the original functions are not affected after the software is updated or maintained.

[0003] Currently, automated testing tools such as Selenium and Jenkins are widely used to automate regression testing. However, these tools usually require testers to manually configure test cases, and it is difficult to accurately and dynamically adjust the test scope according to specific code changes. Summary of the invention

[0004] In view of the above-mentioned deficiencies or shortcomings, the present application provides an automatic regression testing method, apparatus, computer equipment and storage medium. The embodiments of the present application can automatically configure test cases in regression testing and can accurately and dynamically adjust the test scope according to the changed code.

[0005] The present application provides an automatic regression testing method according to a first aspect. In some embodiments, the method includes:

[0006] Determine the services and development branches involved in this project test based on the project test information, and record them as target services and target development branches;

[0007] Determine the changed methods in the target development branch through Jgit static analysis; the changed methods are the methods that are newly added or modified;

[0008] Determine the scope of impact of this change based on the change methods in the target service and target development branch;

[0009] Filter matching traffic data in the traffic pool based on the impact of this change, and assemble test tasks based on the filtered traffic data;

[0010] Execute the test task.

[0011] In some embodiments, determining the changed method in the target development branch through Jgit static analysis includes:

[0012] Use the diff function of the Jgit tool to compare the target development branch and the project trunk branch to determine the differences between the target development branch and the project trunk branch;

[0013] Parse the differences and extract the changed methods in the target development branch.

[0014] In some embodiments, determining the impact scope of the change based on the change method in the target service and the target development branch includes:

[0015] Determine upstream and downstream dependencies and associated interfaces based on the change methods in the target development branch;

[0016] Determine the scope of impact of this change based on the target service, the change method in the target development branch, as well as the upstream and downstream dependencies and associated interfaces.

[0017] In some embodiments, determining upstream and downstream dependencies and associated interfaces according to a change method in a target development branch includes:

[0018] Get the method name of the changed method in the target development branch;

[0019] The link tracking system is used to query matching link tracking data through this method name; the link tracking system stores link tracking data collected by link tracking tools integrated in each service during the service call process;

[0020] Based on the queried link tracking data, analyze the relevant interface call links to determine the upstream and downstream dependent services and associated interfaces.

[0021] In some embodiments, the scope of impact of this change includes: the services, classes, and methods involved in this project test, as well as the services, classes, and methods affected upstream and downstream;

[0022] The traffic pool includes multiple pre-recorded traffic data and the marking information corresponding to each traffic data; the marking information corresponding to each traffic data is obtained by marking during the recording process; the marking information corresponding to each traffic data includes the service, class and method to which the traffic data belongs.

[0023] In some embodiments, the matching traffic data is filtered in the traffic pool according to the impact range of the change, including:

[0024] Filter matching traffic data in the traffic pool based on the services, classes, and methods involved in this project, and filter matching traffic data in the traffic pool based on the services, classes, and methods affected by upstream and downstream.

[0025] In some embodiments, the test task includes the current project information, the associated traffic data identifier, and the environment to be executed.

[0026] According to a second aspect, the present application provides an automatic regression testing device. In some embodiments, the device includes:

[0027] The first determination module is used to determine the services and development branches involved in this project test based on the project test information, and record them as target services and target development branches;

[0028] The second determination module is used to determine the change method in the target development branch through Jgit static analysis; the change method is a method that is newly added or modified;

[0029] The impact scope determination module is used to determine the impact scope of this change based on the change method in the target service and target development branch;

[0030] The test task generation module is used to filter matching traffic data in the traffic pool according to the impact range of this change, and assemble test tasks based on the filtered traffic data;

[0031] The test task execution module is used to execute the test tasks.

[0032] According to a third aspect, the present application provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the automatic regression testing method provided in any of the above embodiments are implemented.

[0033] According to a fourth aspect, the present application provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the automatic regression testing method provided in any of the above embodiments are implemented.

[0034] The embodiment of the present application can automatically configure test cases in regression testing, and can quickly and accurately adjust the test scope according to the changed code, thereby improving the test efficiency and test accuracy of regression testing. Specifically, in the above-mentioned embodiment of the present application, the test equipment will automatically determine the services (recorded as target services) and development branches (recorded as target development branches) involved in this project test based on the project test information, and then determine the change method (which can be a newly added or modified method) in the target development branch through Jgit static analysis, and then determine the scope of influence of this change according to the change method in the target service and the target development branch, and then filter the matching traffic data in the traffic pool through the scope of influence of this change, and assemble the test task according to the filtered traffic data, and finally execute the test task to realize the automatic regression of the test scope. Among them, by automatically analyzing the related methods and their related dependencies that have changed, the test tasks can be quickly generated, which significantly reduces the test preparation time. Further, the test equipment can accurately identify the related services and interfaces affected by this code change, so that unnecessary test execution can be avoided while ensuring the test coverage, and the accuracy of the test is improved. In addition, by accurately determining the impact scope of this change, the execution of irrelevant tests can be reduced, saving computing resources and time required for testing. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 A flowchart of an automatic regression testing method provided by the present application according to one or more embodiments;

[0036] Figure 2 A schematic diagram of a process for determining the impact scope of this modification according to one or more embodiments provided by the present application;

[0037] Figure 3 A schematic diagram of a process for determining a dependency relationship provided by the present application according to one or more embodiments;

[0038] Figure 4 A structural block diagram of an automatic regression testing device provided by the present application according to one or more embodiments;

[0039] Figure 5 This is a diagram of the internal structure of a computer device provided by the present application according to one or more embodiments. DETAILED DESCRIPTION

[0040] In order to make the purpose, technical solutions and advantages of the present application clearer, the embodiments of the present application will be further described in detail below in conjunction with the accompanying drawings. It should be clear that the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.

[0041] When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Instead, they are only examples of devices and methods consistent with some aspects of the present application as detailed in the attached claims.

[0042] In the description of the present application, it should be understood that the terms "first", "second", "third", etc. are only used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence, nor can they be understood as indicating or implying relative importance. For those of ordinary skill in the art, the specific meanings of the above terms in the present application can be understood according to the specific circumstances. In addition, in the description of the present application, unless otherwise specified, "multiple" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects associated before and after are in an "or" relationship.

[0043] In response to the shortcomings of the prior art, the present application provides an automatic regression testing method, which can quickly and automatically determine the impact scope of code changes and adjust the test scope based on the impact scope. This method can improve the efficiency and accuracy of regression testing, especially when facing large-scale and frequent code changes. This method can dynamically adapt to different development and testing needs, thereby improving the practicality and effectiveness of testing.

[0044] In some embodiments, the automated regression testing method includes: Figure 1 The steps shown are described below by taking the method applied to a test device as an example. The test device may be a server for implementing automated regression testing.

[0045] S110: Determine the services and development branches involved in this project test based on the project test information, and record them as target services and target development branches.

[0046] The project test submission information may be the test submission information in the test submission form submitted by the developer, including the unique identifiers of the services and development branches involved in this test submission filled in by the developer. The test device extracts the service identifier and development branch identifier from the project test submission information as the target service and target development branch.

[0047] S120: Identify changed methods in the target development branch through Jgit static analysis.

[0048] The changed methods in the target development branch are new or modified methods, specifically, the methods that are newly added or modified in the target development branch compared to the project trunk branch.

[0049] After determining the target service and target development branch, the test equipment will perform code change analysis. Specifically, Jgit is used for static analysis to accurately identify the new and modified parts in the target development branch.

[0050] In some embodiments, the change method in the target development branch is determined through Jgit static analysis, including: comparing the target development branch and the project trunk branch through the diff function of the Jgit tool to determine the difference between the target development branch and the project trunk branch; parsing the difference, and extracting the change method in the target development branch.

[0051] Jgit is a lightweight, pure Java-implemented Git library used to access Git repositories in Java applications. It can be used to handle Git repository version control.

[0052] In this embodiment, the project is hosted on gitlab (which can be understood as the online version of the Git warehouse). Each project has its own trunk branch (such as the master branch) and development branch. The target development branch is the development branch specified by the test order received by the test device. The above-mentioned Jgit static analysis operation process can be:

[0053] 1. Initialize the Git repository: load the project's Git repository.

[0054] 2. Get the target development branch and the project trunk branch as the two branches that need to be compared.

[0055] 3. Compare differences: Use Jgit's diff function to compare the above two branches and find out the differences between them.

[0056] 4. Parse the differences: Parse the differences and extract the new and modified methods from the target development branch.

[0057] S130: Determine the impact scope of this change based on the change method in the target service and the target development branch.

[0058] After determining the change method in the target development branch, the test equipment further determines the impact scope of this code change based on the dependency of the change method, so as to subsequently adjust the test scope of this test based on the determined impact scope.

[0059] In some embodiments, the test device runs a complete framework that integrates code analysis, dependency tracking, and automatic test execution, through which a one-stop automatic regression testing solution can be provided to users. Specifically, the test device can analyze the impact of code changes on upstream and downstream services through link tracking technology. Link tracking technology is used to monitor and analyze the request path in the service call process. This technology can help developers understand the dependencies between services and their performance impact.

[0060] Accordingly, determine the scope of this change based on the change method in the target service and target development branch, such as Figure 2 As shown, including:

[0061] S131: Determine upstream and downstream dependencies and associated interfaces according to the change method in the target development branch.

[0062] The test device determines the upstream and downstream dependencies and associated interfaces corresponding to each change method through step S131. In this embodiment, the upstream and downstream dependencies and associated interfaces are determined according to the change method in the target development branch, such as Figure 3 As shown, including:

[0063] S210: Obtain the method name of the changed method in the target development branch.

[0064] S220: Query matching link tracking data in the link tracking system by method name.

[0065] S230: Analyze the relevant interface call links based on the queried link tracking data to determine the upstream and downstream dependent services and associated interfaces.

[0066] The link tracking system stores the link tracking data collected by the link tracking tools integrated in each service during the service call process. Each service is pre-integrated with a link tracking tool, which collects data during each service call to obtain link tracking data related to each service call process. The link tracking tool will upload the collected link tracking data to the link tracking system for storage, making it convenient for users to perform link analysis.

[0067] Each link tracking data includes the method name of the called method in the service. Therefore, the test equipment can query the link tracking data of the called method based on the method name of the changed method, and then use the queried matching link tracking data to perform link analysis to determine the interface call link related to the changed method, and then determine the upstream and downstream dependent services of the target service (including the upstream and downstream services of the target service) and the interfaces of each upstream and downstream service.

[0068] S132: Determine the impact scope of this change based on the target service, the change method in the target development branch, and the upstream and downstream dependencies and associated interfaces.

[0069] After the test equipment obtains the change method of this test through Jgit, it obtains the upstream and downstream dependencies and related interfaces through the matching link tracking data, and then generates the scope of impact of this change by combining the change method and dependency relationship. The scope of impact of this change mainly includes the services (i.e. target services), classes and methods involved in this project test, as well as the services (i.e. upstream and downstream dependent services), classes and methods affected by the upstream and downstream.

[0070] S140: Filter matching traffic data in the traffic pool according to the impact range of this change, and assemble a test task according to the filtered traffic data.

[0071] After determining the scope of impact of this change, the test equipment will filter the available traffic data in the traffic pool, that is, the traffic data related to the change method, and automatically assemble it into a test task. The traffic pool includes multiple pre-recorded traffic data and the tag information corresponding to each traffic data; the tag information corresponding to each traffic data is obtained by marking during the recording process; the tag information corresponding to each traffic data includes the service, class and method to which the traffic data belongs. Each traffic data mainly includes the request address, request header, request type, request parameters and expected response.

[0072] In some embodiments, matching traffic data is filtered in the traffic pool according to the scope of impact of this change, including: filtering matching traffic data in the traffic pool according to the services, classes, and methods involved in this project test, and filtering matching traffic data in the traffic pool according to the services, classes, and methods affected by upstream and downstream.

[0073] For example, assuming that the scope of this change includes the c1 interface of service C and the d1 method of service D, the test equipment will filter out the traffic data related to the c1 interface of service C and the traffic data related to the d1 method of service D in the traffic pool, and the test equipment will automatically use the filtered traffic data as the test case of the regression test and assemble it into a test task. Among them, the test task mainly includes the project information, the associated traffic data identifier, and the execution environment.

[0074] S150: Execute a test task.

[0075] After assembling the test tasks, the test tasks will run the test tasks, so that automatic regression of the test scope can be achieved.

[0076] It should be noted that, with respect to the various steps included in the automatic regression testing method provided in any of the above embodiments, unless otherwise clearly stated herein, there is no strict order restriction on the execution of these steps, and these steps may be executed in other orders. Moreover, at least a portion of these steps may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily executed at the same time, but may be executed at different times, and the execution order of these sub-steps or stages is not necessarily sequential, but may be executed in turn or alternately with other steps or at least a portion of the sub-steps or stages of other steps.

[0077] Based on the same inventive concept, the present application also provides an automatic regression testing device. In some embodiments, Figure 4 As shown, the automatic regression testing device includes the following modules:

[0078] The first determination module 110 is used to determine the services and development branches involved in the project test based on the project test information, and record them as target services and target development branches;

[0079] The second determination module 120 is used to determine the change method in the target development branch through Jgit static analysis; the change method is a method that is newly added or modified;

[0080] An impact scope determination module 130, used to determine the impact scope of this change according to the change method in the target service and the target development branch;

[0081] The test task generation module 140 is used to filter matching traffic data in the traffic pool according to the impact range of the change, and assemble the test task according to the filtered traffic data;

[0082] The test task execution module 150 is used to execute the test task.

[0083] In some embodiments, the second determination module 120 is specifically used to compare the target development branch and the project trunk branch through the diff function of the Jgit tool to determine the difference between the target development branch and the project trunk branch; analyze the difference and extract the change method in the target development branch.

[0084] In some embodiments, the impact range determination module 130 includes:

[0085] The dependency determination submodule is used to determine upstream and downstream dependencies and associated interfaces based on the change methods in the target development branch;

[0086] The impact scope determination submodule is used to determine the impact scope of this change based on the target service, the change method in the target development branch, and the upstream and downstream dependencies and associated interfaces.

[0087] In some embodiments, the dependency determination submodule is specifically used to: obtain the method name of the changed method in the target development branch; query the matching link tracking data in the link tracking system through the method name; the link tracking system stores the link tracking data collected by the link tracking tools integrated in each service during the service call process; and, based on the queried link tracking data, analyze the related interface call links to determine the upstream and downstream dependent services and associated interfaces.

[0088] In some embodiments, the scope of impact of this change includes: the services, classes and methods involved in this project test, as well as the services, classes and methods affected upstream and downstream; the traffic pool includes multiple pre-recorded traffic data and the marking information corresponding to each traffic data; the marking information corresponding to each traffic data is obtained by marking during the recording process; the marking information corresponding to each traffic data includes the service, class and method to which the traffic data belongs.

[0089] Accordingly, the test task generation module 140 filters the matching traffic data in the traffic pool according to the scope of impact of this change, including: filtering the matching traffic data in the traffic pool according to the services, classes and methods involved in this project test, and filtering the matching traffic data in the traffic pool according to the services, classes and methods affected by upstream and downstream.

[0090] In some embodiments, the test task includes the current project information, the associated traffic data identifier, and the environment to be executed.

[0091] For the specific definition of the automatic regression testing device, please refer to the definition of the automatic regression testing method above, which will not be repeated here. Each module in the above automatic regression testing device can be implemented in whole or in part by software, hardware and a combination thereof. The above modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0092] In some embodiments, the present application provides a computer device, whose internal structure diagram can be as follows: Figure 5As shown. The computer device includes a processor, a memory, a network interface and a database connected via a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as development branches and project test information. The specific stored data can also refer to the definitions in the above method embodiments. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, an automatic regression testing method is implemented.

[0093] Those skilled in the art will understand that Figure 5 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0094] This embodiment also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the automatic regression testing method provided in any of the above embodiments can be implemented.

[0095] The present application also provides a computer-readable storage medium. In some embodiments, a computer program is stored on the computer-readable storage medium. When the computer program is executed by a processor, the steps of the automatic regression testing method provided in any of the above embodiments are implemented.

[0096] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0097] Those skilled in the art can understand that all or part of the processes in the above method embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink), DRAM (SLDRAM), memory bus (Rambus), direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0098] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0099] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.

Claims

1. An automatic regression testing method, characterized in that: The method comprises: Determine the services and development branches involved in this project test based on the project test information, and record them as target services and target development branches; Determine the change method in the target development branch through Jgit static analysis; the change method is a newly added or modified method; Determine the impact scope of this change based on the target service and the change method in the target development branch; Filter matching traffic data in the traffic pool according to the impact range of the change, and assemble test tasks based on the filtered traffic data; Execute the test task.

2. The method according to claim 1, characterized in that Determine the change method in the target development branch through Jgit static analysis, including: Compare the target development branch with the project trunk branch by using the diff function of the Jgit tool to determine the difference between the target development branch and the project trunk branch; The differences are parsed, and the changed methods in the target development branch are extracted.

3. The method according to claim 1, characterized in that Determine the scope of impact of this change based on the target service and the change method in the target development branch, including: Determine upstream and downstream dependencies and associated interfaces according to the change method in the target development branch; The impact scope of this change is determined based on the target service, the change method in the target development branch, and the upstream and downstream dependencies and associated interfaces.

4. The method according to claim 3, characterized in that Determine upstream and downstream dependencies and associated interfaces based on the change method in the target development branch, including: Obtain the method name of the changed method in the target development branch; The link tracking system is used to query matching link tracking data through the method name; the link tracking system stores link tracking data collected by link tracking tools integrated in each service during the service call process; Based on the queried link tracking data, analyze the relevant interface call links to determine the upstream and downstream dependent services and associated interfaces.

5. The method according to claim 3, characterized in that The scope of impact of this change includes: the services, classes and methods involved in this project test, as well as the services, classes and methods affected upstream and downstream; the traffic pool includes multiple pre-recorded traffic data and marking information corresponding to each of the traffic data; the marking information corresponding to each of the traffic data is obtained by marking during the recording process; the marking information corresponding to each of the traffic data includes the service, class and method to which the traffic data belongs.

6. The method according to claim 5, characterized in that Filter the matching traffic data in the traffic pool according to the impact range of this change, including: Filter matching traffic data in the traffic pool based on the services, classes, and methods involved in this project, and filter matching traffic data in the traffic pool based on the services, classes, and methods affected by upstream and downstream.

7. The method according to claim 1, characterized in that The test task includes the current project information, the associated traffic data identifier and the environment to be executed.

8. An automatic regression testing device, characterized in that: The device comprises: The first determination module is used to determine the services and development branches involved in this project test based on the project test information, and record them as target services and target development branches; The second determination module is used to determine the change method in the target development branch through Jgit static analysis; the change method is a newly added or modified method; An impact scope determination module, used to determine the impact scope of this change according to the change method in the target service and the target development branch; A test task generation module, used to filter matching traffic data in the traffic pool according to the impact range of the change, and assemble a test task according to the filtered traffic data; A test task execution module is used to execute the test task.

9. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.