System testing method and device, computer equipment and computer readable storage medium
By determining and displaying the impact distribution map of the system submodules and their association relationships, and associating test cases, the problem that system update verification in the prior art is difficult to fully cover complex systems, and the accuracy and coverage of verification are improved.
Patent Information
- Application Number
- CN202411720710.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-28
- Publication Date
- 2025-03-14
AI Technical Summary
The existing system update verification method is difficult to fully cover complex systems, resulting in omissions and affecting the accuracy of verification.
By determining each submodule in the system and its execution associated submodule, display the impact distribution map, associate the test cases, and match the impact distribution map when the system is updated, and call the relevant test cases for verification.
Improves coverage and accuracy of system update verification, ensures a comprehensive assessment of system updates, and reduces the risk of potential problems introduced by updates.
Smart Images

Figure CN119621571A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a system testing method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art
[0002] System update verification is an indispensable part of ensuring the quality and stability of the software during continuous evolution. It accompanies each iteration of the software development cycle and aims to confirm that the newly introduced features, performance improvements, security fixes and other changes have no adverse effects on the system as a whole. This verification process is based on a deep understanding of the update content, and then a series of carefully designed testing activities are carried out to evaluate whether the system's behavior is as expected. However, as the scale and complexity of software systems continue to expand, the verification of system updates faces higher challenges.
[0003] At present, the update verification of the system is mostly done by the verification personnel setting up positive and surface analysis based on their personal experience. However, this method is difficult to cover comprehensively when facing complex systems, and it is easy to cause omissions, affecting the accuracy of system update verification. Summary of the invention
[0004] Based on this, it is necessary to provide a system testing method, apparatus, computer equipment, computer-readable storage medium and computer program product that can improve the accuracy of system update verification in response to the above technical problems.
[0005] In a first aspect, the present application provides a system testing method, wherein the system includes a plurality of submodules, and the method includes:
[0006] For each submodule in the system, determining the execution-associated submodule corresponding to each submodule;
[0007] Displaying the impact distribution diagram corresponding to each submodule, wherein the impact distribution diagram includes marks for the submodule and the corresponding execution-related submodule;
[0008] According to the displayed impact distribution diagram, associate each submodule with the corresponding test case that executes the associated submodule;
[0009] When the system is updated, the updated target submodule is determined, and the impact distribution map of the target submodule is matched;
[0010] According to the marks in the matched impact distribution map, the execution-associated submodule corresponding to the target submodule is determined, and the test case associated with the target submodule is called to test the execution-associated submodule corresponding to the target submodule.
[0011] In a second aspect, the present application provides a system testing device, the system comprising a plurality of submodules, the device comprising:
[0012] A determination module, used for determining, for each sub-module in the system, the execution-associated sub-modules corresponding to each sub-module;
[0013] A display module, used to display the impact distribution diagram corresponding to each submodule, wherein the impact distribution diagram includes marks for the submodule and the corresponding execution-associated submodule;
[0014] An association module is used to associate each submodule with a corresponding test case that executes the associated submodule according to the displayed impact distribution diagram;
[0015] A matching module, used for determining the updated target submodule when the system is updated, and matching the impact distribution map of the target submodule;
[0016] The test module is used to determine the execution-associated submodule corresponding to the target submodule according to the mark in the matched impact distribution map, and call the test case associated with the target submodule to test the execution-associated submodule corresponding to the target submodule.
[0017] In a third aspect, the present application provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following is achieved:
[0018] For each submodule in the system, determining the execution-associated submodule corresponding to each submodule;
[0019] Displaying the impact distribution diagram corresponding to each submodule, wherein the impact distribution diagram includes marks for the submodule and the corresponding execution-related submodule;
[0020] According to the displayed impact distribution diagram, associate each submodule with the corresponding test case that executes the associated submodule;
[0021] When the system is updated, the updated target submodule is determined, and the impact distribution map of the target submodule is matched;
[0022] According to the marks in the matched impact distribution map, the execution-associated submodule corresponding to the target submodule is determined, and the test case associated with the target submodule is called to test the execution-associated submodule corresponding to the target submodule.
[0023] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements:
[0024] For each submodule in the system, determining the execution-associated submodule corresponding to each submodule;
[0025] Displaying the impact distribution diagram corresponding to each submodule, wherein the impact distribution diagram includes marks for the submodule and the corresponding execution-related submodule;
[0026] According to the displayed impact distribution diagram, associate each submodule with the corresponding test case that executes the associated submodule;
[0027] When the system is updated, the updated target submodule is determined, and the impact distribution map of the target submodule is matched;
[0028] According to the marks in the matched impact distribution map, the execution-associated submodule corresponding to the target submodule is determined, and the test case associated with the target submodule is called to test the execution-associated submodule corresponding to the target submodule.
[0029] In a fifth aspect, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements:
[0030] For each submodule in the system, determining the execution-associated submodule corresponding to each submodule;
[0031] Displaying the impact distribution diagram corresponding to each submodule, wherein the impact distribution diagram includes marks for the submodule and the corresponding execution-related submodule;
[0032] According to the displayed impact distribution diagram, associate each submodule with the corresponding test case that executes the associated submodule;
[0033] When the system is updated, the updated target submodule is determined, and the impact distribution map of the target submodule is matched;
[0034] According to the marks in the matched impact distribution map, the execution-associated submodule corresponding to the target submodule is determined, and the test case associated with the target submodule is called to test the execution-associated submodule corresponding to the target submodule.
[0035] The above-mentioned system testing method, device, computer equipment, computer-readable storage medium and computer program product, for each submodule in the system, determine the execution-associated submodules corresponding to each submodule; display the impact distribution diagram corresponding to each submodule, the impact distribution diagram contains the mark of the submodule and the corresponding execution-associated submodule; according to the displayed impact distribution diagram, associate each submodule with the test case of the corresponding execution-associated submodule; when the system is updated, determine the updated target submodule and match the impact distribution diagram of the target submodule; according to the mark in the matched impact distribution diagram, determine the execution-associated submodule corresponding to the target submodule, call the test case associated with the target submodule to test the execution-associated submodule corresponding to the target submodule. The present application visualizes the impact of each submodule when it is executed as an impact distribution diagram, and marks the execution-associated submodule that the submodule may affect in the impact distribution diagram. Thus, according to the displayed impact distribution diagram, it can be intuitively and comprehensively seen which submodules will be affected by the execution of a certain submodule, and then associate the submodule with the test case of the submodule that may be affected. When a sub-module of the system is updated, the test cases of the sub-modules that may be affected can be called out based on the association. By executing these test cases, it is verified whether the update of the sub-module affects other sub-modules, thereby improving the coverage of system update verification and further improving the accuracy of system update verification. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0037] Figure 1 A schematic diagram of a process flow of system update verification in one embodiment;
[0038] Figure 2 An application environment diagram of a system testing method in an embodiment;
[0039] Figure 3 A schematic diagram of a flow chart of a system testing method in an embodiment;
[0040] Figure 4 is a schematic diagram of a seismic map in one embodiment;
[0041] Figure 5 is a flow chart of a system testing method in another embodiment;
[0042] Figure 6is a flowchart of a system testing method in yet another embodiment;
[0043] Figure 7 A schematic diagram of the analysis process of a seismogram in one embodiment;
[0044] Figure 8 A schematic diagram of the analysis process of a snapshot seismogram in one embodiment;
[0045] Fig. 9 is a structural block diagram of a system testing device in one embodiment;
[0046] Fig.10 is a structural block diagram of a system testing device in another embodiment;
[0047] Fig.11 is an internal structure diagram of a computer device in one embodiment;
[0048] Fig.12 FIG. 4 is a diagram showing the internal structure of a computer device in another embodiment. DETAILED DESCRIPTION
[0049] In order to make the purpose, technical scheme and advantages of the present application more clear, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used in the description of the present application. If there is a description of the first and the second, it is only for the purpose of distinguishing the technical features, and cannot be understood as indicating or implying the relative importance or implicitly indicating the number of the indicated technical features or implicitly indicating the order of the indicated technical features.
[0050] In the description of this application, unless otherwise clearly defined, terms such as setting, installing, connecting, etc. should be understood in a broad sense, and technicians in the relevant technical field can reasonably determine the specific meanings of the above terms in this application based on the specific content of the technical solution.
[0051] Currently, verification strategies for system updates are mostly limited to positive and surface analysis, and are highly dependent on the personal experience of the verifier to build a corresponding verification strategy. Figure 1 , Figure 1 A flowchart of a system verification method provided in an embodiment of the present application. Taking the verification of the newly added attribute "Snaptype" of the storage snapshot (whose settable values are basic and third) as an example, the following verifications may be included:
[0052] Basic function verification: Cover a round of snapshot-related scenarios to verify whether the functions are normal, including: create snapshot - snapshot rollback - modify snapshot - delete snapshot.
[0053] Specification verification: Verify the snapshot specifications, including but not limited to the maximum number of snapshots that a single volume can support, and the maximum number of snapshots that can be rolled back simultaneously.
[0054] Feature verification: It is also necessary to verify the performance of snapshots in certain specific functions or scenarios, such as the call of snapshots by the remote replication function.
[0055] Reproduction of historical problem scenarios: Based on past testing experience and historical online problems, reproduce and verify the scenarios that have caused snapshot problems to ensure that the addition of the new attribute Snaptype will not cause similar problems.
[0056] Despite following the above verification steps, validators still lack confidence in evaluating the adequacy of the test, fearing that there may be problems that are not well considered or left over from the test. To be on the safe side, they sometimes choose to execute a full set of test cases, but this will undoubtedly greatly increase the testing workload. In fact, although the above verification strategy appears to be quite comprehensive on the surface, it lacks a systematic combing in logic. And for the test points derived from these analyses, verification currently relies mainly on manual testing. With the frequent modification and iteration of versions, this has led to a huge workload for test verification.
[0057] The present application provides a system testing method, which sorts out verification points according to a systematic solution, can accurately and comprehensively identify all verification points, improve the coverage of system update verification, and thus improve the accuracy of system update verification.
[0058] See also Figure 2 , Figure 2 FIG. 1 is an application environment diagram of a system testing method in an embodiment. The system testing method provided in the embodiment of the present application can be applied to Figure 2 In the application environment shown, the terminal 102 communicates with the server 104 through a network. The data storage system can store data that the server 104 needs to process. The data storage system can be integrated on the server 104, or placed on the cloud or other servers.
[0059] The terminal 102 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, an IoT device, and a portable wearable device. The IoT device may be a smart speaker, a smart TV, a smart air conditioner, and a smart vehicle-mounted device, etc. The portable wearable device may be a smart watch, a smart bracelet, a head-mounted device, etc.
[0060] The server 104 may be an independent physical server or a service node in a blockchain system, wherein each service node in the blockchain system forms a peer-to-peer (P2P) network, and the P2P protocol is an application layer protocol running on the Transmission Control Protocol (TCP) protocol. In addition, the server 104 may also be a server cluster composed of multiple physical servers, and may 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.
[0061] The terminal 102 and the server 104 may be connected via Bluetooth, USB (Universal Serial Bus) or a network or other communication connection methods, which are not limited in this application.
[0062] Both the terminal and the server can be used independently to execute the system testing method provided in the embodiments of the present application.
[0063] For example, for each submodule in the system, the server determines the execution-associated submodule corresponding to each submodule. The server displays the impact distribution map corresponding to each submodule, and the impact distribution map contains the marks of the submodule and the corresponding execution-associated submodule. The server associates each submodule with the test case of the corresponding execution-associated submodule based on the displayed impact distribution map. When the system is updated, the server determines the updated target submodule and matches the impact distribution map of the target submodule. The server determines the execution-associated submodule corresponding to the target submodule based on the mark in the matched impact distribution map, and calls the test case associated with the target submodule to test the execution-associated submodule corresponding to the target submodule.
[0064] In addition, the terminal and the server can also be used together to execute the system testing method provided in the embodiments of the present application.
[0065] For example, for each submodule in the system, the terminal determines the execution-associated submodule corresponding to each submodule. The terminal displays the impact distribution map corresponding to each submodule, and the impact distribution map contains the marks of the submodule and the corresponding execution-associated submodule. The server associates each submodule with the test case of the corresponding execution-associated submodule based on the displayed impact distribution map. When the system is updated, the server determines the updated target submodule and matches the impact distribution map of the target submodule. The server determines the execution-associated submodule corresponding to the target submodule based on the mark in the matched impact distribution map, and calls the test case associated with the target submodule to test the execution-associated submodule corresponding to the target submodule.
[0066] Please refer to 3, Figure 3 FIG. 1 is a flow chart of a system testing method in one embodiment. Figure 3 As shown, a system testing method is provided, the system includes multiple sub-modules, and the method is composed of Figure 1 The server execution in is taken as an example to illustrate, including the following steps:
[0067] Step S202: for each sub-module in the system, determine the execution-associated sub-module corresponding to each sub-module.
[0068] The submodule in the system is a component of the software system, a component or code block with relatively independent functions or features, used to implement specific functions or features. A submodule can be a subsystem, functional module, feature set, or any software unit that can be independently analyzed, designed, implemented, and tested. Each submodule has specific responsibilities, and through mutual collaboration and calling, they jointly achieve the overall functions and goals of the system.
[0069] An execution-associated submodule refers to a submodule that has execution dependency or data interaction with a submodule in the system. An execution-associated submodule is associated with the execution of a submodule and is a submodule that may be affected when a submodule is modified.
[0070] The submodules of the system are interdependent and callable, and may also interact with external systems or peripheral services. Due to this complex interactivity, when a submodule is modified, its impact may spread to other submodules associated with it. These associated submodules may be located within the system or may cross the system boundary and exist in external systems.
[0071] For example, when a submodule in the system calls the API interface of an external third-party platform, the external third-party platform can be regarded as an execution-related submodule of the submodule. Therefore, when modifying and verifying the system, it is necessary to fully consider and identify all possible execution-related submodules, whether they are inside or outside the system, to ensure the accuracy of the modification and the stability of the system. In order to comprehensively evaluate the impact of system modifications and ensure the stability and reliability of the system, it is necessary to determine the execution-related submodules corresponding to each submodule in the system.
[0072] Optionally, when determining the execution-related submodules corresponding to each submodule, the dependencies, function calls, interface calls, etc. between the submodules can be identified through static code analysis tools or manual code review. This method can directly view the code implementation to accurately determine which submodules are related to each other. Static code analysis can also help discover potential code problems, such as unhandled exceptions, resource leaks, etc.
[0073] Optionally, you can also use dynamic tracking and monitoring tools to capture the interaction between sub-modules in real time when the system is running, so as to determine the execution-related sub-modules corresponding to each sub-module. For example, use logging, performance monitoring, network packet capture and other tools to track the data flow and call relationship between sub-modules. This method can intuitively show the behavior of the system in actual operation and help identify hidden dependencies.
[0074] In addition, you can also use the dependency injection framework, view the system's interface definition and documentation, and other methods to determine the execution-associated sub-modules corresponding to each sub-module.
[0075] Step S204: display the impact distribution diagram corresponding to each sub-module.
[0076] After determining the execution-associated submodules corresponding to each submodule, an impact distribution diagram of the submodules can be drawn according to these association relationships.
[0077] For example, in the impact distribution diagram, each submodule can be represented by a node, and each node represents a submodule. Optionally, the association between submodules is represented by lines between nodes, such as the dependency, call or interaction between submodules. By adjusting the thickness, color or arrow direction of the line, different types of associations can be further distinguished, such as direct association, indirect association, strong association or weak association.
[0078] In the embodiment of the present application, a corresponding influence distribution diagram is drawn for each submodule, and the influence distribution diagram of the submodule includes a mark for the submodule and the corresponding execution-associated submodule. The marking methods in the influence distribution diagrams corresponding to different submodules are different. The influence distribution diagram can intuitively display the mutual influence relationship between each submodule and each submodule inside and / or outside the system, and the marks in different influence distribution diagrams intuitively display the execution-associated submodules corresponding to different submodules.
[0079] After the influence distribution diagram of the sub-module is drawn, the influence distribution diagram of the sub-module is displayed. For example, when a tester designs a test process for each sub-module, the influence distribution diagram corresponding to each sub-module is displayed.
[0080] Step S206 , according to the displayed impact distribution diagram, associate each submodule with a corresponding test case of the execution-associated submodule.
[0081] A test case is a set of test inputs, execution conditions, and expected results compiled for a specific purpose to verify whether a specific software requirement is met.
[0082] The impact distribution diagram clearly presents the dependencies, calls, and interactions between sub-modules. By displaying the impact distribution diagram, testers can quickly identify which sub-modules may be affected when the sub-module is modified or updated, and then associate test cases in a targeted manner to ensure full coverage of critical paths and potential risk points.
[0083] When associating each submodule with the test case of the corresponding execution-associated submodule, for each submodule, according to the execution-associated submodule marked in the impact distribution diagram, the test case of the execution-associated submodule can be selected from the compiled test cases for association. For example, this association can be achieved by adding a tag to the test case, and the tag can be the name, number or function description of the submodule, so that the corresponding test case can be quickly located in the subsequent test.
[0084] By associating each submodule with the corresponding test cases that execute the associated submodule, it is ensured that each submodule has corresponding test cases associated with it to fully cover the functions and interactions of the submodules.
[0085] Step S208: when the system is updated, the updated target submodule is determined, and the impact distribution map of the target submodule is matched.
[0086] Based on the impact distribution map and associated test cases, when the system is updated, the affected area can be accurately tested based on the impact distribution map and associated test cases of the target submodules that have been updated.
[0087] System updates may involve various levels and components of the system, including but not limited to front-end interfaces, back-end services, databases, third-party libraries or frameworks, configuration files, etc., depending on the content and objectives of the update. For example, system updates may include adding new features, optimizing existing processes, fixing bugs, etc. Among them, new features refer to adding new functions or features to the system to meet new user needs or improve user experience. New features may involve multiple aspects of the system, such as the front-end interface, back-end logic, and database structure. For example, an e-commerce system may add a user evaluation function, which requires the front-end to add an evaluation interface, the back-end to handle the storage and display logic of the evaluation data, and the database to add a corresponding evaluation table.
[0088] During the use of the system, you may find that some processes or operations are not efficient enough or the user experience is not good. At this time, the system update may optimize these processes to improve the system's operating efficiency or user satisfaction. Optimization may include simplifying operation steps, improving response speed, optimizing interface layout, etc. For example, an online payment system may optimize the payment process to reduce the number of clicks and waiting time when users pay.
[0089] During the operation of the system, some errors or vulnerabilities (i.e., bugs) may be found, which may affect the normal operation of the system or the security of user data. System updates usually include fixes for these known bugs to ensure the stability and security of the system. Bug fixes may involve code modifications, database adjustments, or configuration file updates.
[0090] When the system is updated, the updated target submodule can be determined through code management platforms such as Gitlab. In Gitlab, each update may be associated with a specific branch or tag. For example, the tag associated with the previous version of the system code is 000, and the tag associated with the new version of the system code is 0001. Through the comparison function of Gitlab, you can view the differences in code files between two branches or tags to determine the updated submodule and determine the updated submodule as the target submodule.
[0091] In addition, the updated submodules can be identified through system change management documents or records. These documents or records usually list in detail the specific changes involved in each system update, including updated submodules, reasons for changes, scope of impact, and test verification results. By consulting these documents or records, you can quickly and accurately understand which submodules are updated in the system update and identify the updated submodules as target submodules.
[0092] After the updated target submodule is determined, the influence distribution map of the target submodule can be matched according to the influence distribution maps of each submodule drawn in advance.
[0093] Step S10, determining the execution-associated submodule corresponding to the target submodule according to the matched mark in the impact distribution map, and calling the test case associated with the target submodule to test the execution-associated submodule corresponding to the target submodule.
[0094] Once the updated target submodule is determined, the location of the target submodule in the system and the execution-associated submodule associated with it can be identified based on the markers in the matched reference distribution map, thereby determining which areas may be affected by the update.
[0095] According to the association relationship revealed by the impact distribution map, previously associated test cases can be called from the test cases. By accurately locating the affected areas and executing relevant test cases in a targeted manner, the impact of the update on other sub-modules can be verified, and the risk of potential problems introduced by the update can be reduced, ensuring the comprehensiveness and accuracy of the testing work.
[0096] Among them, the process of calling the test case associated with the target submodule to test the execution-associated submodule corresponding to the target submodule can be automatically performed by the automatic testing platform. For example, each submodule is associated with the test case of the corresponding execution-associated submodule on the software development and deployment platform Jenkins. When a submodule is determined as a target submodule, the Jenkins platform is automatically triggered to find the test case associated with the target submodule and test the associated test case on the automated testing platform.
[0097] In the above system testing method, for each submodule in the system, the execution-associated submodule corresponding to each submodule is determined; the impact distribution diagram corresponding to each submodule is displayed, and the impact distribution diagram contains marks for the submodule and the corresponding execution-associated submodule; according to the displayed impact distribution diagram, each submodule is associated with the test case of the corresponding execution-associated submodule; when the system is updated, the updated target submodule is determined, and the impact distribution diagram of the target submodule is matched; according to the mark in the matched impact distribution diagram, the execution-associated submodule corresponding to the target submodule is determined, and the test case associated with the target submodule is called to test the execution-associated submodule corresponding to the target submodule. The present application visualizes the impact of each submodule when it is executed as an impact distribution diagram, and marks the execution-associated submodule that the submodule may affect in the impact distribution diagram. Thus, according to the displayed impact distribution diagram, it can be intuitively and comprehensively seen which submodules will be affected by the execution of a certain submodule, and then the submodule is associated with the test case of the submodule that may be affected. When a sub-module of the system is updated, the test cases of the sub-modules that may be affected can be called out based on the association. By executing these test cases, it is verified whether the update of the sub-module affects other sub-modules, thereby improving the coverage of system update verification and further improving the accuracy of system update verification.
[0098] In one embodiment, the submodule includes a subprocess, and the impact distribution graph corresponding to the submodule includes the impact distribution graphs corresponding to multiple subprocesses of the submodule, and for each submodule in the system, determining the execution-associated submodule corresponding to each submodule includes:
[0099] For each sub-process of the sub-module in the system, determine the execution-associated sub-process corresponding to each sub-process.
[0100] In a complex system, a submodule may contain multiple subprocesses, which are the basic units for implementing the functions of the submodule. Each subprocess undertakes a specific task or operation, and completes a specific function or feature in the submodule through a series of orderly steps. Subprocesses can be regarded as "small modules" within the submodule. There may be interdependencies and calling relationships between them, and they work together to realize the overall functions of the submodule. These subprocesses may involve data processing, state conversion, external interface calls, and other aspects.
[0101] Since a submodule may contain more than one subprocess, when different subprocesses are updated, different submodules or subprocesses may be affected. In order to further enhance the pertinence of the impact distribution diagram and improve the coverage and accuracy of system update verification, the execution-associated subprocesses corresponding to each subprocess can be determined, and the impact distribution diagrams corresponding to each subprocess in each submodule can be drawn according to the execution-associated subprocesses corresponding to each subprocess.
[0102] When displaying the impact distribution graphs corresponding to the sub-modules, the impact distribution graphs corresponding to the sub-processes of the sub-modules are displayed, wherein the impact distribution graphs may include marks for the sub-processes and the corresponding execution-associated sub-processes.
[0103] When associating each submodule with a corresponding test case of an execution-associated submodule according to the displayed impact distribution diagram, each subprocess is associated with a corresponding test case of an execution-associated subprocess according to the displayed impact distribution diagram.
[0104] In one embodiment, when the system is updated, determining the updated target submodule and matching the impact distribution map of the target submodule includes:
[0105] When the system is updated, the target sub-process of the updated target sub-module is determined, and the impact distribution map of the target sub-process is matched.
[0106] In some cases, a submodule may correspond to more than one impact distribution map. When a submodule is determined as an updated submodule, the target subprocess of the updated target submodule may be further determined, and the corresponding impact distribution map may be matched according to the target subprocess of the target submodule.
[0107] When the execution-associated sub-module corresponding to the target sub-module is determined according to the marks in the matched impact distribution map, and the test case associated with the target sub-module is called to test the execution-associated sub-module corresponding to the target sub-module, the execution-associated sub-process corresponding to the target sub-process is determined according to the marks in the matched impact distribution map, and the test case associated with the target sub-process is called to test the execution-associated sub-process corresponding to the target sub-process.
[0108] In the above embodiments, using sub-processes as the smallest unit can significantly improve the flexibility, maintainability and performance of the system, can more accurately locate, optimize and expand system functions, reduce maintenance costs, accelerate troubleshooting, and support efficient parallel processing.
[0109] In one embodiment, the execution-associated sub-flow is selected from the sub-flow of the sub-module and the sub-flow of the execution-associated sub-module corresponding to the sub-module, and for each sub-flow of the sub-module in the system, determining the execution-associated sub-flow corresponding to each sub-flow includes:
[0110] Analyze the calling relationship between each sub-module in the system to obtain a first analysis result; for each sub-module in the system, sort out and determine each sub-process contained in each sub-module; analyze the association relationship between each sub-process in the sub-module to obtain a second analysis result; for each sub-process of the sub-module, analyze the calling relationship between the sub-process and the external system to obtain a third analysis result; analyze the association relationship between the sub-process and the service sub-process of the system to obtain a fourth analysis result; determine the execution-associated sub-process corresponding to each sub-process according to the first analysis result, the second analysis result, the third analysis result and the fourth analysis result.
[0111] In the present application, a sub-process may have a dependency or call relationship with other sub-processes within the sub-module, may have a dependency or call relationship with sub-processes of other sub-modules within the system, and may even have a dependency or call relationship with sub-processes of an external system. Since the execution-associated sub-module may include sub-modules within the system or sub-modules of an external system, the execution-associated sub-process may be selected from the sub-process of the sub-module and the sub-process of the execution-associated sub-module corresponding to the sub-module.
[0112] When determining the execution-associated sub-processes corresponding to each sub-process of a sub-module, the calling relationship between each sub-module in the system, the sub-processes contained in each sub-module, the association relationship between each sub-process in the sub-module, and the association relationship between the sub-process and the system's service sub-process can be analyzed separately. Based on the analysis results of these relationships, the execution-associated sub-processes corresponding to each sub-process can be jointly determined.
[0113] For example, when analyzing the calling relationship between each submodule in the system, it is possible to analyze whether there is a dependency and calling relationship between the internal characteristics of the entire system and the subsystem, and obtain the first analysis result. When combing and determining each subprocess contained in each submodule, the implementation process inside each subsystem or characteristic can be analyzed, and the impact points inside the subsystem or characteristic can be combed to obtain the second analysis result. When analyzing the calling relationship between the subprocess and the external system, it is possible to analyze whether the subsystem or characteristic has a dependency and calling relationship with the external peripheral system, such as calling an API interface, a REST interface, etc., to obtain the third analysis result. When analyzing the association relationship between the subprocess and the service subprocess of the system, it is possible to analyze whether the serviceability-related processes of the product corresponding to the system, such as installation and deployment scripts, performance statistics, alarm monitoring, log printing, upgrades, etc., involve the subprocess, and obtain the fourth analysis result. According to the first analysis result, the second analysis result, the third analysis result and the fourth analysis result, determine the execution-related subprocess corresponding to each subprocess.
[0114] Among them, when determining the execution-associated sub-processes corresponding to each sub-process respectively according to the first analysis result, the second analysis result, the third analysis result and the fourth analysis result, according to the first analysis result, the execution-associated sub-module corresponding to the sub-module to which the sub-process belongs can be determined; according to the first analysis result and the second analysis result, the execution-associated sub-process can be determined from the execution-associated sub-module; according to the second analysis result, the execution-associated sub-process can be determined from the sub-module; according to the third analysis result, the execution-associated sub-process can be determined from the system; according to the third analysis result, the execution-associated sub-process can be determined from the external system. The execution-associated sub-processes determined by these methods are collectively regarded as the execution-associated sub-processes corresponding to the sub-process.
[0115] In the above embodiment, submodules are used as basic units of testing, and potential impact points are effectively identified through comprehensive analysis of their internal implementation processes, external dependencies, and serviceability processes, thereby ensuring the accuracy of system testing.
[0116] In one embodiment, the impact distribution diagram is a seismic diagram, which includes an epicenter and impact points affected by the epicenter. Before displaying the impact distribution diagrams corresponding to each submodule, the following is also included:
[0117] Draw the seismic maps corresponding to each submodule.
[0118] The impact distribution diagram may be in the form of a seismogram. The seismogram referred to in the present application is a visual diagram that simulates the impact of each submodule or subprocess on other submodules or subprocesses in the form of the impact of seismic waves. The essence of the seismogram is an impact distribution diagram, in which the epicenter is used to represent the center of impact, and the impact point is used to represent the range affected by the epicenter. Before displaying the impact distribution diagrams corresponding to each submodule, the seismograms corresponding to each submodule are drawn.
[0119] In one embodiment, drawing the seismic map corresponding to each submodule includes: drawing the submodule corresponding to the seismic map, drawing the execution-associated submodule corresponding to the submodule around the submodule; marking the submodule as the epicenter point, and marking the execution-associated submodule corresponding to the submodule as the impact point.
[0120] See also Figure 4 , Figure 4A schematic diagram of a seismogram provided for an embodiment of the present application. The seismogram is a seismogram corresponding to a "snapshot" submodule in a storage system. The storage system includes multiple submodules such as "upgrade", "account management", and "security policy". The seismogram also includes submodules around the storage system, including external system submodules such as "backup software" and "virtualization software". Among them, the execution-related submodules corresponding to the "snapshot" submodule include "upgrade", "performance statistics", "alarm", "monitoring", "remote replication" and "clone" submodules in the storage system, as well as "backup software" and "virtualization software" submodules around the storage system.
[0121] When drawing all seismic maps, the storage system and all submodules around the storage system can be drawn. When drawing the seismic map corresponding to the "snapshot" submodule, the "snapshot" submodule and the execution-related submodule corresponding to the "snapshot" submodule are specially marked. For example, Figure 4 As shown, the "snapshot" submodule is marked as the epicenter with the first mark, and each execution-related submodule corresponding to the "snapshot" submodule is marked as the earthquake impact point with the second mark. This means that when the epicenter is shaken (i.e., the "snapshot" submodule sends an update), the earthquake impact point may be affected (i.e., each execution-related submodule corresponding to the "snapshot" submodule may be affected). By displaying this earthquake map, the impact range of the snapshot submodule when it is updated can be visually displayed.
[0122] In one embodiment, in order to simulate the propagation of seismic waves and make the seismic map more vivid, when drawing the execution-associated submodule corresponding to the submodule, each execution-associated submodule can be drawn around the submodule. Furthermore, the distance between each execution-associated submodule and the submodule can be arranged according to the degree of association between each execution-associated submodule and the submodule, wherein the execution-associated submodule with a deeper degree of association with the submodule is closer to the submodule when drawing.
[0123] It is understandable that when a sub-module contains a sub-process, the minimum unit for drawing a seismic map can be changed from a sub-module to a sub-process. In combination with the association relationship between the sub-processes established in the aforementioned embodiment, the process of drawing a seismic map of a sub-process can refer to the above-mentioned process of drawing a seismic map of a sub-module, and it is only necessary to replace the sub-module with a sub-process. For example, draw the sub-process corresponding to the seismic map, draw the execution-associated sub-process corresponding to the sub-process around the sub-process; mark the sub-process as the epicenter, and mark the execution-associated sub-process corresponding to the sub-process as the impact point. And, according to the degree of association between each execution-associated sub-process and the sub-process, arrange the distance between each execution-associated sub-process and the sub-process, wherein the execution-associated sub-process with a deeper degree of association with the sub-process is closer to the sub-process when drawing, and so on.
[0124] In the above embodiment, when drawing an earthquake map, the execution-related submodules affected by the submodule are clustered around the submodule, and the epicenter and impact points of the earthquake map are marked, which vividly simulates the propagation mode of earthquake waves and reveals the influence distribution of each submodule in the system, providing valuable visual clues for relevant personnel to have an in-depth understanding of the overall architecture and operation logic of the system.
[0125] This application also provides a specific embodiment, please refer to Figure 5 and Figure 6 , taking the application in a storage system as an example, the storage system includes a snapshot submodule, taking the pre-analysis before the snapshot submodule is updated and the system update verification after the update as an example, the specific embodiment of the system test method is as follows:
[0126] (1) Preliminary analysis
[0127] See also Figure 7 and Figure 8 , Figure 7 The following is a schematic diagram of the analysis process of the seismogram. Figure 8 This is a schematic diagram of the analysis process of the snapshot seismic map. In the preparation stage, facing the scenario of adding attributes to the storage snapshot, the dependency and calling relationship between the snapshot submodule and other submodules are analyzed, including: analyzing which processes will involve assigning this attribute, and the analysis results include creating snapshots, deleting snapshots, snapshot rollbacks, etc., where the snapshot creation process involves the number of snapshots, snapshot attributes, and snapshot policies; analyzing which submodules or subprocesses in the entire system will involve snapshot calls, and the analysis results include remote replication and volume cloning; analyzing whether the snapshot subsystem or feature has a dependency and calling relationship with the external peripheral system, and the analysis results include the external system submodules of backup software, virtualization software, and database software; analyzing whether the process related to the serviceability of the storage system product involves this process, and the analysis results include the service submodules of performance statistics and alarm monitoring; analyzing the mutual impact with public resources, and the analysis results include the resource submodules of CPU, memory, and disk.
[0128] (2) Drawing earthquake maps
[0129] Combined with the analysis results obtained in the pre-analysis process of the snapshot seismogram, a snapshot seismogram is drawn. The drawn snapshot seismogram can be found in Figure 4 .
[0130] (3) Test case management platform
[0131] Based on the drawn snapshot seismic diagram, testers can intuitively and comprehensively see other sub-modules or sub-processes affected by the snapshot sub-module, and then mark the test cases of the associated execution sub-modules indicated by the seismic diagram on the test case management platform, and associate the snapshot sub-module with the test cases of the "upgrade", "performance statistics", "alarm", "monitoring", "remote replication", "cloning", "backup software" and "virtualization software" sub-modules affected by it.
[0132] (4) Code modification
[0133] Code modification refers to system updates caused by modifying the code.
[0134] (5) Gitlab
[0135] Gitlab is a code management platform. When a system update occurs, the modified code is uploaded to Gitlab, tagged, compared with the previous version, the modification points are identified, and the snapshot submodule is determined as the target submodule.
[0136] (6)Jenkins
[0137] Jenkins is a software development and deployment platform. In Jenkins, the updated system is compiled into a package, and the earthquake map is matched for the modified points to trigger the installation and deployment of the new package.
[0138] (7) Automated testing platform
[0139] After the new package is installed and deployed, the automated testing platform is called to automatically test the test cases associated with the snapshot submodule.
[0140] (8) Output impact verification results
[0141] Based on the test results, output the impact verification results of the snapshot submodule in this system modification.
[0142] (9) Analysis and repair
[0143] If there are Fail cases in the output impact verification results, it means that a submodule has been affected by the snapshot submodule update. Relevant personnel can analyze and repair the Fail cases in the impact verification results.
[0144] In the above embodiment, by systematically analyzing the impact points of the modification, the modification triggers the modification impact verification to avoid verification omissions and cause serious problems; combined with the earthquake map and baseline test points, combined with platforms such as Gitlab and Jenkins, as long as the corresponding epicenter changes, the corresponding earthquake point is automatically covered and tested, which improves the comprehensiveness of the system update verification and thus improves the accuracy of the system update verification.
[0145] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0146] Based on the same inventive concept, the embodiment of the present application also provides a system testing device for implementing the system testing method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more system testing device embodiments provided below can refer to the limitations on the system testing method above, and will not be repeated here.
[0147] Based on the same inventive concept, the embodiment of the present application also provides a system testing device for implementing the system testing method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more system testing device embodiments provided below can refer to the limitations on the system testing method above, and will not be repeated here.
[0148] In one embodiment, Fig. 9 As shown, a system testing device is provided, the system includes multiple sub-modules, and the device includes: a determination module 701, a display module 702, an association module 703, a matching module 704 and a testing module 705, wherein:
[0149] A determination module 701 is used to determine, for each sub-module in the system, an execution-related sub-module corresponding to each sub-module;
[0150] A display module 702 is used to display the impact distribution diagram corresponding to each submodule, wherein the impact distribution diagram includes marks of the submodule and the corresponding execution-related submodule;
[0151] An association module 703 is used to associate each submodule with a corresponding test case that executes the associated submodule according to the displayed impact distribution diagram;
[0152] A matching module 704, used to determine the updated target submodule and match the impact distribution map of the target submodule when the system is updated;
[0153] The testing module 705 is used to determine the execution-associated submodule corresponding to the target submodule according to the mark in the matched impact distribution map, and call the test case associated with the target submodule to test the execution-associated submodule corresponding to the target submodule.
[0154] In one embodiment, the submodule includes a subprocess, and the impact distribution map corresponding to the submodule includes the impact distribution maps corresponding to multiple subprocesses of the submodule. When determining the execution-associated submodules corresponding to each submodule in the system, the determination module 701 is further used to:
[0155] For each sub-process of the sub-module in the system, determine the execution-related sub-process corresponding to each sub-process;
[0156] When displaying the impact distribution diagrams corresponding to each submodule, the display module 702 is also used to:
[0157] Display the impact distribution diagram corresponding to each sub-process of each sub-module, wherein the impact distribution diagram includes marks for the sub-process and the corresponding execution-related sub-process;
[0158] When associating each submodule with a corresponding test case of the execution-associated submodule according to the displayed impact distribution diagram, the associating module 703 is further used to:
[0159] According to the displayed impact distribution diagram, each sub-process is associated with the corresponding test case that executes the associated sub-process.
[0160] In one embodiment, when the system is updated, when determining the updated target submodule and matching the impact distribution graph of the target submodule, the matching module 704 is further used to:
[0161] When the system is updated, the target sub-process of the updated target sub-module is determined, and the impact distribution map of the target sub-process is matched;
[0162] Determining the execution-associated submodule corresponding to the target submodule according to the mark in the matched impact distribution map, and calling the test case associated with the target submodule to test the execution-associated submodule corresponding to the target submodule includes:
[0163] According to the marks in the matched impact distribution map, the execution-associated sub-process corresponding to the target sub-process is determined, and the test case associated with the target sub-process is called to test the execution-associated sub-process corresponding to the target sub-process.
[0164] In one embodiment, the execution-associated sub-process is selected from the sub-process of the sub-module and the sub-process of the execution-associated sub-module corresponding to the sub-module. When determining the execution-associated sub-process corresponding to each sub-process of each sub-module in the system, the determination module 701 is further used to:
[0165] Analyze the calling relationship between each submodule in the system to obtain a first analysis result;
[0166] For each sub-module in the system, sort out and determine the sub-processes contained in each sub-module;
[0167] Analyze the correlation between each sub-process in the sub-module to obtain a second analysis result;
[0168] For each sub-process of the sub-module, the calling relationship between the sub-process and the external system is analyzed to obtain a third analysis result;
[0169] Analyze the correlation between the sub-process and the service sub-process of the system to obtain a fourth analysis result;
[0170] Determine the execution-associated sub-processes corresponding to each sub-process according to the first analysis result, the second analysis result, the third analysis result and the fourth analysis result.
[0171] In one embodiment, when determining the execution-associated sub-processes corresponding to each sub-process respectively according to the first analysis result, the second analysis result, the third analysis result, and the fourth analysis result, the determination module 701 is further used to:
[0172] Determine the execution-associated submodule corresponding to the submodule to which the subprocess belongs according to the first analysis result;
[0173] Determine an execution-related sub-process from the execution-related sub-module according to the first analysis result and the second analysis result;
[0174] Determine an execution-related sub-process from the sub-module according to the second analysis result;
[0175] Determine an execution-related sub-process from the system according to the third analysis result;
[0176] An execution-related sub-process is determined from the external system according to the third analysis result.
[0177] Please continue reading Fig.10 In one embodiment, the impact distribution diagram is a seismic diagram, which includes an epicenter and impact points affected by the epicenter. The system testing device further includes a drawing module 706. Before displaying the impact distribution diagrams corresponding to each submodule, the drawing module 706 is used to:
[0178] Draw the seismic maps corresponding to each submodule, including:
[0179] Draw the submodule corresponding to the seismogram, and draw the execution-related submodule corresponding to the submodule around the submodule;
[0180] The submodule is marked as the epicenter point, and the execution-associated submodule corresponding to the submodule is marked as the impact point.
[0181] In the above-mentioned system testing device, for each submodule in the system, the determination module 701 determines the execution-associated submodules corresponding to each submodule; the display module 702 displays the impact distribution diagram corresponding to each submodule, and the impact distribution diagram contains the marks of the submodule and the corresponding execution-associated submodule; the association module 703 associates each submodule with the test case of the corresponding execution-associated submodule according to the displayed impact distribution diagram; when the system is updated, the matching module 704 determines the updated target submodule and matches the impact distribution diagram of the target submodule; the test module 705 determines the execution-associated submodule corresponding to the target submodule according to the mark in the matched impact distribution diagram, and calls the test case associated with the target submodule to test the execution-associated submodule corresponding to the target submodule. The present application visualizes the impact of each submodule when it is executed as an impact distribution diagram, and marks the execution-associated submodule that the submodule may affect in the impact distribution diagram. Thus, according to the displayed impact distribution diagram, it is possible to intuitively and comprehensively see which submodules will be affected by the execution of a certain submodule, and then associate the submodule with the test case of the submodule that may be affected. When a sub-module of the system is updated, the test cases of the sub-modules that may be affected can be called out based on the association. By executing these test cases, it is verified whether the update of the sub-module affects other sub-modules, thereby improving the coverage of system update verification and further improving the accuracy of system update verification.
[0182] Each module in the above system test device can be implemented in whole or in part by software, hardware and their combination. Each module 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 in the computer device in the form of software, so that the processor can call and execute the operations corresponding to each module above.
[0183] Terms such as "component", "module", and "system" are intended to refer to a computer-related entity, which can be hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable code, a thread of execution, a program, and / or a computer. As an illustration, both a running program running on a server and a server can be a component. One or more components can reside in a process and / or a thread of execution, and a component can be located in one computer and / or distributed between two or more computers.
[0184] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Fig.11 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. 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 computer-readable storage medium and an internal memory. The non-volatile computer-readable storage medium stores an operating system, computer-readable instructions and a database. The internal memory provides an environment for the operation of the operating system and computer-readable instructions in the non-volatile computer-readable storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer-readable instructions are executed by the processor, a system testing method is implemented.
[0185] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as shown in FIG. Fig.12 As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile computer-readable storage medium and an internal memory. The non-volatile computer-readable storage medium stores an operating system and computer-readable instructions. The internal memory provides an environment for the operation of the operating system and computer-readable instructions in the non-volatile computer-readable storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, near field communication (Near Field Communication, NFC) or other technologies. The computer-readable instructions are executed by the processor to implement a system testing method. The display unit of the computer device is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.
[0186] Those skilled in the art will understand that Fig.11 , 12 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.
[0187] In one embodiment, a computer device is further provided, including a memory and a processor, wherein the memory stores computer-readable instructions, and the processor implements the steps in the above-mentioned method embodiments when executing the computer-readable instructions.
[0188] In one embodiment, a computer-readable storage medium is provided, which stores computer-readable instructions. When the computer-readable instructions are executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0189] In one embodiment, a computer program product is provided, the computer program product comprising computer-readable instructions, the computer-readable instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer-readable instructions from the computer-readable storage medium, and the processor executes the computer-readable instructions, so that the computer device performs the steps in the above-mentioned method embodiments.
[0190] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through computer-readable instructions, and the computer-readable instructions can be stored in a non-volatile computer-readable storage medium. When the computer-readable instructions are executed, they can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0191] 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 application.
[0192] The above 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 present application. 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 present application shall be subject to the attached claims.
Claims
1. A system testing method, characterized in that: The system includes multiple submodules, and the method includes: For each submodule in the system, determining the execution-associated submodule corresponding to each submodule; Displaying the impact distribution diagram corresponding to each submodule, wherein the impact distribution diagram includes marks for the submodule and the corresponding execution-related submodule; According to the displayed impact distribution diagram, associate each submodule with the corresponding test case that executes the associated submodule; When the system is updated, the updated target submodule is determined, and the impact distribution map of the target submodule is matched; According to the marks in the matched impact distribution map, the execution-associated submodule corresponding to the target submodule is determined, and the test case associated with the target submodule is called to test the execution-associated submodule corresponding to the target submodule.
2. The method according to claim 1, characterized in that The submodule includes a subprocess, and the impact distribution map corresponding to the submodule includes the impact distribution maps corresponding to the multiple subprocesses of the submodule, and for each submodule in the system, determining the execution-associated submodules corresponding to each submodule includes: For each sub-process of the sub-module in the system, determine the execution-related sub-process corresponding to each sub-process; The influence distribution diagrams corresponding to the submodules include: Displaying the impact distribution diagram corresponding to each sub-process of each sub-module, wherein the impact distribution diagram includes marks for the sub-process and the corresponding execution-associated sub-process; The associating each submodule with a corresponding test case of the execution-associated submodule according to the displayed impact distribution diagram includes: According to the displayed impact distribution diagram, each sub-process is associated with the corresponding test case that executes the associated sub-process.
3. The method according to claim 2, characterized in that When the system is updated, determining the updated target submodule and matching the impact distribution map of the target submodule includes: When the system is updated, the target sub-process of the updated target sub-module is determined, and the impact distribution map of the target sub-process is matched; The step of determining the execution-associated submodule corresponding to the target submodule according to the matched mark in the impact distribution map, and calling the test case associated with the target submodule to test the execution-associated submodule corresponding to the target submodule comprises: According to the marks in the matched influence distribution map, the execution-associated sub-process corresponding to the target sub-process is determined, and the test case associated with the target sub-process is called to test the execution-associated sub-process corresponding to the target sub-process.
4. The method according to claim 2, characterized in that: The execution-associated sub-process is selected from the sub-process of the sub-module and the sub-process of the execution-associated sub-module corresponding to the sub-module, and the determination of the execution-associated sub-process corresponding to each sub-process of the sub-module in the system includes: Analyze the calling relationship between each submodule in the system to obtain a first analysis result; For each submodule in the system, sort out and determine each subprocess included in each submodule; Analyze the correlation between each sub-process in the sub-module to obtain a second analysis result; For each sub-process of the sub-module, analyzing the calling relationship between the sub-process and the external system to obtain a third analysis result; Analyzing the association relationship between the sub-process and the service sub-process of the system to obtain a fourth analysis result; Determine the execution-associated sub-processes corresponding to each of the sub-processes according to the first analysis result, the second analysis result, the third analysis result, and the fourth analysis result.
5. The method according to claim 4, characterized in that Determining the execution-associated sub-processes corresponding to each of the sub-processes according to the first analysis result, the second analysis result, the third analysis result, and the fourth analysis result includes: Determine, according to the first analysis result, an execution-associated submodule corresponding to the submodule to which the subprocess belongs; Determining an execution-related sub-process from the execution-related sub-module according to the first analysis result and the second analysis result; Determine an execution-related sub-process from the sub-module according to the second analysis result; Determine an execution-related sub-process from the system according to the third analysis result; An execution-related sub-process is determined from the external system according to the third analysis result.
6. The method according to claim 1, characterized in that The impact distribution diagram is a seismic diagram, and the seismic diagram includes an epicenter and impact points affected by the epicenter. Before displaying the impact distribution diagrams corresponding to each submodule, the method further includes: Draw the seismic maps corresponding to each submodule, including: Draw a submodule corresponding to the seismogram, and draw an execution-related submodule corresponding to the submodule around the submodule; The submodule is marked as an epicenter point, and the execution-related submodule corresponding to the submodule is marked as an impact point.
7. A system testing device, characterized in that: The system includes multiple submodules, and the device includes: A determination module, used for determining, for each sub-module in the system, the execution-associated sub-modules corresponding to each sub-module; A display module, used to display the impact distribution diagram corresponding to each submodule, wherein the impact distribution diagram includes marks for the submodule and the corresponding execution-associated submodule; An association module is used to associate each submodule with a corresponding test case that executes the associated submodule according to the displayed impact distribution diagram; A matching module, used for determining the updated target submodule when the system is updated, and matching the impact distribution map of the target submodule; The test module is used to determine the execution-associated submodule corresponding to the target submodule according to the mark in the matched impact distribution map, and call the test case associated with the target submodule to test the execution-associated submodule corresponding to the target submodule.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
9. 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 6 are implemented.
10. A computer program product, comprising a computer program, 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 6 are implemented.