Apparatus, method, and recording medium for automatically repairing failed test case

TWI937471BActive Publication Date: 2026-09-01COUPANG CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
TW113104490
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2024-01-04
Filing Date
2024-02-05
Publication Date
2026-09-01
Estimated Expiration
2044-02-04

AI Technical Summary

Technical Problem

Manually generating solutions for failed test cases is inefficient in terms of repair time, necessitating a more rapid and automated approach.

Method used

A method and device for automatically repairing failed test cases by extracting a target test case and its failure cause, determining if a recommended solution exists in a pre-defined set, and using it if available, or manually generating a solution if not, with feedback mechanisms to improve the solution set.

Benefits of technology

Efficiently generates solutions for repairing failed test cases, reducing repair time and improving the efficiency of correcting them through automated and manual feedback loops.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TB001908449_001
    Figure TWG2TB001908449_001
  • Figure TWG2TB001908449_002
    Figure TWG2TB001908449_002
  • Figure TWG2TB001908449_003
    Figure TWG2TB001908449_003
Patent Text Reader

Abstract

This invention proposes an electronic device for automatically repairing failed test cases. The electronic device may include: one or more processors; and one or more memory units storing commands executed by the processors. The electronic device is configured such that, when the processors execute the commands, it automatically retrieves execution result information from several test cases, extracts the failed test cases and the corresponding failure reasons, uses the failure reasons to determine whether a recommended solution for attempting to repair the test case can be retrieved from a pre-defined solution set, and if a recommended solution can be retrieved, it attempts to repair the test case using the recommended solution; if a recommended solution cannot be retrieved, it attempts to repair the test case using a manual solution generated by manually analyzing the failure reasons.
Need to check novelty before this filing date? Find Prior Art

Description

Device, method and recording medium for automatically repairing failed test cases The present invention relates to a technology for automatically repairing failed test cases. More specifically, the present invention relates to a technology for searching a set of pre-defined solutions for a failed test case for recommended solutions and attempting to repair the failed test case. In software testing, test automation refers to the use of independent software to control the execution of test cases and compare actual outcomes with predicted outcomes. Previously, when a test case failed, developers would typically identify the failed test case's log file, analyze the cause of the failure using the log file, manually generate a solution based on the analysis, and then use the generated solution to repair the test case. However, manually generating solutions for each failed test case individually is inefficient in terms of repair time. Therefore, a technology for rapidly generating solutions for failed test cases is needed. [Problems to be solved by the invention] This invention discloses a technique for automatically repairing failed test cases. [Technical Solution] The present invention provides a method for automatically repairing failed test cases. One embodiment of the method may include the following steps: extracting a target test case that is a failed test case and a target failure cause corresponding to the target test case from execution result information of a plurality of test cases; using the target failure cause to determine whether a recommended solution for attempting to repair the target test case can be retrieved from a pre-defined solution set; if it is determined that the recommended solution can be retrieved, attempting to repair the target test case using the recommended solution; and if it is determined that the recommended solution cannot be retrieved, attempting to repair the target test case using a manual solution generated by manually analyzing the target failure cause. In one embodiment, the preset solution set may include a plurality of candidate failure reasons and one or more solutions mapped to each of the plurality of candidate failure reasons. In one embodiment, the step of determining whether the recommended solution can be retrieved may include the following steps: calculating a matching degree between each candidate failure cause and the target failure cause for each of the plurality of candidate failure causes; and determining whether the recommended solution can be retrieved based on the calculated matching degree. In one embodiment, the step of calculating the degree of match between each of the candidate failure causes and the target failure cause may include the following steps: comparing one or more first keywords extracted from each of the candidate failure causes with one or more second keywords extracted from the target failure cause; and calculating the degree of match between each of the candidate failure causes and the target failure cause based on the comparison result. In one embodiment, the step of determining whether the recommended solution can be retrieved may include the following steps: when there is at least one candidate failure cause among the plurality of candidate failure causes whose matching degree with the target failure cause is above a critical value, determining that the recommended solution can be retrieved; and when there is no candidate failure cause among the plurality of candidate failure causes whose matching degree with the target failure cause is above a critical value, determining that the recommended solution cannot be retrieved. In one embodiment, the step of using the above-mentioned recommended solution to attempt to repair the above-mentioned object test case may include the following steps: when it is determined that the above-mentioned recommended solution can be retrieved, extracting one or more candidate failure causes from the above-mentioned multiple candidate failure causes whose matching degree with the above-mentioned object failure cause is above the above-mentioned critical value, and determining one candidate solution from the one or more candidate solutions mapped to each of the above-mentioned one or more candidate failure causes as the above-mentioned recommended solution. In one embodiment, the step of using the above-mentioned recommended solution to attempt to repair the above-mentioned object test case may include the following steps: when it is determined that the above-mentioned recommended solution can be retrieved, the first user interface indicating the output of the first page is displayed on the report page, and the first page displays the above-mentioned one or more candidate solutions, and the report page displays the execution result information of the above-mentioned multiple test cases; and in response to the first user input selecting the above-mentioned first user interface, the above-mentioned first page is provided to the user terminal. In one embodiment, the step of using the recommended solution to attempt to repair the object test case may include the following steps: in response to a second user input selecting one of the one or more candidate solutions displayed on the first page, determining the one candidate solution as the recommended solution. In one embodiment, the step of providing the above-mentioned first page to the above-mentioned user terminal may include the following steps: displaying the above-mentioned one or more candidate solutions and the confidence level corresponding to each of the above-mentioned one or more candidate solutions on the above-mentioned first page (the above-mentioned one or more candidate solutions are displayed on the above-mentioned first page in descending order of reliability). In one embodiment, the step of using the recommended solution to attempt to repair the object test case may include the following steps: when the object test case is successfully repaired using the recommended solution, increasing the reliability corresponding to the recommended solution; and when the object test case is failed to be repaired using the recommended solution, reducing the reliability corresponding to the recommended solution. In one embodiment, the above method may further include the following steps: when using the above recommended solution to repair the failure of the above object test case, providing a second page including at least one of a second user interface and a third user interface to the user terminal, the second user interface displays at least one candidate solution for attempting to repair the above object test case, and the third user interface indicates that a manual solution is generated by manually analyzing the cause of the above object failure (the above at least one candidate solution does not include the above recommended solution). In one embodiment, the method may further include the following steps: based on feedback on the preset solution set, when the reliability corresponding to a specific solution included in the preset solution set decreases below a critical reliability, the specific solution is excluded from the preset solution set. In one embodiment, the step of using the manual solution to attempt to repair the object test case may include the following steps: when the object test case is successfully repaired using the manual solution, mapping the object failure cause and the manual solution and appending them to the preset solution set. In one embodiment, the step of determining whether the recommended solution can be retrieved may include the following steps: extracting one or more important keywords from the object failure cause; extracting one or more candidate failure causes including all of the one or more important keywords from the multiple candidate failure causes; and determining whether the recommended solution can be retrieved based on a comparison between each of the one or more candidate failure causes and the object failure cause. The present invention may provide a device for automatically repairing failed test cases. The electronic device of the present invention may include: one or more processors; and one or more memories storing commands executed by the one or more processors. The one or more processors may be constructed as follows: when the one or more processors execute the commands, the object test case that is the failed test case and the object failure cause corresponding to the object test case are extracted from the execution result information of a plurality of test cases; the object failure cause is used to determine whether a recommended solution for attempting to repair the object test case can be retrieved from a preset solution set; when it is determined that the recommended solution can be retrieved, the recommended solution is used to attempt to repair the object test case; when it is determined that the recommended solution cannot be retrieved, the manual solution generated by manually analyzing the object failure cause is used to attempt to repair the object test case. The present invention may provide a non-transitory computer-readable recording medium that records commands for automatically repairing failed test cases. The commands recorded on the recording medium of one embodiment of the present invention may be commands that are executed by one or more processors or used to be executed on a computer. The one or more processors are constructed as follows: when the command is executed by the one or more processors, the object test case that is the failed test case and the object failure cause corresponding to the object test case are extracted from the execution result information of a plurality of test cases; the object failure cause is used to determine whether a recommended solution for attempting to repair the object test case can be retrieved from a preset solution set; when it is determined that the recommended solution can be retrieved, the recommended solution is used to attempt to repair the object test case; when it is determined that the recommended solution cannot be retrieved, a manual solution generated by manually analyzing the object failure cause is used to attempt to repair the object test case. [Effect of the Invention] According to the present invention, a preset solution set is used to efficiently generate solutions for repairing failed test cases, thereby repairing failed test cases more quickly. According to the present invention, feedback is provided to a preset solution set, thereby improving the efficiency of correcting failed test cases. The effects based on the technical concept of the present invention are not limited to the above effects, and ordinary technicians can clearly understand other effects not mentioned based on the description in the specification. The various embodiments described herein are provided for the purpose of clearly illustrating the technical concepts of the present invention and are not intended to limit the present invention to specific implementations. The technical concepts of the present invention include various modifications, equivalents, alternatives, and embodiments obtained by selectively combining all or part of the various embodiments described herein. Furthermore, the scope of the technical concepts of the present invention is not limited to the various embodiments presented below or their detailed descriptions. Unless otherwise defined, the terms used in the present invention, including technical or scientific terms, may have the meanings commonly understood by those having common knowledge in the technical field to which the present invention belongs. As used in this disclosure, expressions such as "including," "may include," "have," "may have," "have," and "may have" imply the presence of the subject feature (e.g., function, action, or component) and do not exclude the presence of additional features. In other words, the expressions described above should be understood as open-ended terms that may include other embodiments. Unless otherwise indicated in the context, the singular expressions used in the present invention may include the plural forms, and the same applies to the singular expressions recorded in the scope of the invention patent application. Unless otherwise specified in the context, expressions such as "first," "second," or "first," "second," etc. used in the present invention are used to distinguish one object from other objects when referring to multiple similar objects, and are not used to limit the order or importance of such objects. As used in this specification, expressions such as "A, B, and C," "A, B, or C," "at least one of A, B, and C," or "at least one of A, B, or C" may refer to each of the listed items or all possible combinations of the listed items. For example, "at least one of A or B" may refer to (1) at least one of A, (2) at least one of B, or (3) both at least one of A and at least one of B. The expression "based on..." used in the present invention is used to describe one or more factors that affect the behavior or action of determining or judging as described in the sentence or article containing the expression. The expression does not exclude other factors that affect the behavior or action of determining or judging. As used in the present invention, the expression "connected" or "linked" to another component (e.g., the second component) may refer not only to the component being directly connected or linked to the other component, but also to the component being connected or linked to the other component through another component (e.g., the third component). As used herein, the expression "configured to" may have the meanings of "set to," "having the capability to," "altered to," "made to," "capable of," etc., depending on the context. This expression is not limited to the meaning of "specially designed in hardware." For example, a processor configured to perform a specific action may refer to a general-purpose processor that can perform the specific action by executing software, or a special-purpose computer that is configured through programming to perform the specific action. The following describes various embodiments of the present invention with reference to the accompanying drawings. In the drawings and their descriptions, identical or substantially equivalent components are denoted by the same reference numerals. In the following descriptions of the various embodiments, repeated descriptions of identical or corresponding components may be omitted, but this does not mean that such components are not included in the embodiments. FIG. 1 shows an environment of an electronic device to which an embodiment of the present invention may be applied. In one embodiment, the electronic device 110 and the user terminal 120 can communicate with each other via a network connection. Electronic device 110 may represent a device that performs software testing. Software testing may refer to the process of executing multiple test cases and confirming whether the actual results obtained from executing a single test case are consistent with the expected results to identify and correct software defects. Electronic device 110 may utilize test automation when performing software testing. Test automation may refer to the use of software independent of the software under test (e.g., an automation platform) to perform software testing. In one embodiment, the electronic device 110 can perform software testing by executing multiple test cases. The electronic device 110 can execute the multiple test cases one by one and distinguish between failed and successful test cases based on the execution result information of the multiple test cases. A failed test case may indicate a test case execution failure, while a successful test case may indicate a test case execution success. The electronic device 110 can use a solution to repair the failed test cases in the multiple test cases and terminate the software testing when all failed test cases have been repaired. The electronic device 110 can be implemented by more than one computing device. For example, all functions of the electronic device 110 can be implemented in a single computing device. For another example, the first function of the electronic device 110 can be implemented in the first computing device, and the second function can be implemented in the second computing device. As another example, multiple computing devices that respectively implement all functions or specific functions of the electronic device 110 can be used. The above-mentioned computing device can be a desktop computer (Desktop Computer), a laptop computer (Laptop Computer), an application server (Application Server), a proxy server (Proxy Server) or a cloud server (Cloud Server), etc., but is not limited to this. All types of devices with computing functions can be computing devices. In one embodiment, the user terminal 120 may represent a device that requests the electronic device 110 to perform software testing. The user terminal 120 may be implemented as a terminal that sends and receives various information with the electronic device 110 via a network. For example, the user terminal 120 may be a computer, a laptop, a portable communication terminal (such as a smartphone), a portable multimedia device, a wearable device, or an HMD (Head Mounted Display). However, the type of user terminal 120 is not limited to this. The user terminal 120 may be any device that includes an input / output interface for inputting information from a user or outputting information to a user and can communicate with the electronic device 110 or other devices via a network. The user terminal 120 can provide the user with information received from the electronic device 110, and can receive input from the user and transmit it to the electronic device 110. Specifically, the user terminal 120 can obtain input from the user indicating the call-up of various pages, and generate commands indicating the call-up of various pages corresponding to the obtained input. The user terminal 120 can transmit commands indicating the call-up of various pages to the electronic device 110. The input obtained from the user may include various forms of input, such as clicks using a mouse, touches using a touchpad or touch screen, voice recognition, other electronic inputs, etc. The user terminal 120 can obtain various pages from the electronic device 110 and output the obtained various pages. The network can connect the electronic device 110 to the user terminal 120 or other external devices. For example, the network can provide a connection path so that the user terminal 120 can connect to the electronic device 110 and send and receive data packets with the electronic device 110. The network can be implemented as a local area network (LAN), a wide area network (WAN), a mobile radio communication network (MRCN), a Wibro (Wireless Broadband Internet), or any other type of wired or wireless network. In one embodiment, the electronic device 110 and the user terminal 120 may operate as a single device. The user terminal 120 may be included in the electronic device 110 as all or part of its components. In this case, for example, the various information sent and received between the electronic device 110 and the user terminal 120 via the network may be information sent and received between various components within the same device. Figure 2 is a block diagram of an electronic device according to one embodiment of the present invention. Electronic device 200 can perform software testing. In one embodiment, electronic device 200 may include one or more processors 210, one or more memories 220, and a communication interface 230 as components. In one embodiment, at least one of the components of electronic device 200 may be omitted, or other components may be added to electronic device 200. In one embodiment, some components may be integrated additionally or alternatively, or implemented as a single or multiple components. In the present invention, one or more processors 210 may be referred to as processor 210. Unless otherwise specified, the term processor 210 may refer to a collection of one or more processors. In the present invention, one or more memories 220 may be referred to as memory 220. Unless otherwise specified, the term memory 220 may refer to a collection of one or more memories. In one embodiment, at least some of the internal / external components of the electronic device 200 can be connected to each other and send and receive information (data, signals, etc.) via a bus, GPIO (General Purpose Input / Output), SPI (Serial Peripheral Interface) or MIPI (Mobile Industry Processor Interface). The processor 210 can drive software (e.g., commands, programs, etc.) to control at least one component of the electronic device 200 connected to the processor 210. Furthermore, the processor 210 can perform various operations related to the present invention, such as computing, processing, data generation, and processing. Furthermore, the processor 210 can load data from the memory 220 or store data in the memory 220. In one embodiment, the processor 210 can control the communication interface 230 to request various information from a user terminal (e.g., the user terminal 120 in FIG. 1 ) and receive various information from the user terminal. The memory 220 can store various information (data). The information stored in the memory 220 is information obtained, processed or used by at least one component of the electronic device 200, and may include software (e.g., commands, programs, etc.). The memory 220 may include volatile and / or non-volatile memory. In the present invention, commands and programs are software stored in the memory 220, and may include: an operating system for controlling the resources of the electronic device 200, applications, and / or middleware that provides various functions to applications so that the applications can use the resources of the electronic device 200. In one embodiment, the memory 220 can store commands that, when executed by the processor 210, cause the processor 210 to perform operations. The memory 220 can store at least a portion of information received from a database via the communication interface 230 and / or information sent to a database via the communication interface 230. Specifically, the memory 220 can store commands executed by the processor 210. The communication interface 230 can implement wireless or wired communication between the electronic device 200 and a database or other external electronic devices. For example, the communication interface 230 may implement wireless communication methods such as eMBB (enhanced Mobile Broadband), URLLC (Ultra Reliable Low-Latency Communications), MMTC (Massive Machine Type Communications), LTE (Long-Term Evolution), LTE-A (LTE Advance), NR (New Radio), UMTS (Universal Mobile Telecommunications System), GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), WiBro (Wireless Broadband), WiFi (Wireless Fidelity), Bluetooth, NFC (Near Field Communication), GPS (Global Positioning System), or GNSS (Global Navigation Satellite System). For example, communication interface 230 may implement wired communication via USB (Universal Serial Bus), HDMI (High Definition Multimedia Interface), RS-232 (Recommended Standard-232), or POTS (Plain Old Telephone Service). In one embodiment, electronic device 200 may also be integrated with other devices. In this case, communication interface 230 may function as a connection circuit or interface connecting electronic device 200 to the corresponding other device. Hereinafter, the operations described in FIG. 3 to FIG. 11 as being performed by the electronic device may be understood to be performed by the processor 210 of the electronic device 200 described in FIG. 2 . FIG. 3 is a flow chart illustrating a method for automatically repairing a failed test case according to an embodiment of the present invention. In action S310 , the electronic device 110 may extract a target test case that is a failed test case and a target failure reason corresponding to the target test case from the execution result information of the plurality of test cases. In one embodiment, the electronic device 110 can execute multiple test cases to perform software testing. The electronic device 110 can execute two or more test cases simultaneously in a multi-threaded environment. The processor 210 of the electronic device 110 can be a multi-threaded processor. The electronic device 110 can execute two or more test cases simultaneously using the multi-threaded processor. In one embodiment, the electronic device 110 may store information regarding the execution results of each of the plurality of test cases (hereinafter referred to as "execution result information") in a database. The database may be located within the electronic device 110 or within an external electronic device. For example, if the database is located within an external electronic device, the electronic device 110 may communicate with the external electronic device wirelessly or wired via the communication interface 230, thereby transmitting the execution result information of the plurality of test cases to the external electronic device and storing the information in the database. In one embodiment, the electronic device 110 can access (or connect to) a database storing execution result information for a plurality of test cases and distinguish between failed test cases and successful test cases within the plurality of test cases. The execution result information for the plurality of test cases can include information indicating whether a single test case was successfully executed or failed to execute. Furthermore, if a particular test case fails to execute, the execution result information for the plurality of test cases can also include the reason for the failure of the particular test case (hereinafter referred to as the "failure reason"). In one embodiment, when all the test cases are successfully executed, the electronic device 110 may end the software testing. In another embodiment, when the execution of at least one test case among a plurality of test cases fails, the electronic device 110 may extract the execution result information of each of the at least one failed test cases from the database. The electronic device 110 may repair the at least one test case one by one, and when the repairs of the at least one test case are all successful, the software test may be ended. Below, for the sake of convenience, the process of the electronic device 110 repairing an object test case that is a failed test case will be described. First, the electronic device 110 may extract the object test case and the object failure cause indicating the cause of the execution failure of the object test case from the execution result information of the plurality of test cases stored in the database. In action S320 , the electronic device 110 may use the object failure cause to determine whether a recommended solution for attempting to repair the object test case can be retrieved from a pre-defined solution set. In one embodiment, the electronic device 110 may pre-set a solution set. The pre-set solution set may include a plurality of candidate failure causes and one or more solutions mapped to each of the plurality of candidate failure causes. The structure of the solution set is described in more detail in FIG4 . In one embodiment, the electronic device 110 may determine whether a plurality of candidate failure causes included in a pre-defined solution set include a candidate failure cause that is similar or identical to the target failure cause corresponding to the target test case. For example, if a candidate failure cause similar or identical to the target failure cause exists in the pre-defined solution set, the electronic device 110 may determine that a recommended solution for attempting to repair the target test case can be retrieved. If a candidate failure cause similar or identical to the target failure cause does not exist in the pre-defined solution set, the electronic device 110 may determine that a recommended solution for attempting to repair the target test case cannot be retrieved. In action S330 , when it is determined that a recommended solution can be retrieved, the electronic device 110 may use the recommended solution to attempt to repair the target test case. In one embodiment, when it is determined that a recommended solution can be retrieved, the electronic device 110 may determine a recommended solution from a preset solution set. For example, the electronic device 110 may determine a recommended solution from the retrieved solutions based on user input to the user terminal 120 . In one embodiment, the electronic device 110 may use the recommended solution to attempt to fix the target test case and may determine a feedback method for the pre-defined solution set based on whether the recommended solution successfully fixes the target test case. For example, the electronic device 110 may increase or decrease the confidence level corresponding to the recommended solution in the pre-defined solution set based on whether the recommended solution successfully fixes the target test case. In action S340 , when it is determined that a recommended solution cannot be retrieved, the electronic device 110 may use a manual solution generated by manually analyzing the cause of the object failure to attempt to repair the object test case. In one embodiment, if it is determined that a recommended solution cannot be retrieved, the electronic device 110 may instruct the user terminal 120 to repair the object test case. For example, the electronic device 110 may provide the user terminal 120 with the object failure cause corresponding to the log file and the object test case obtained from executing the object test case. The user of the user terminal 120 may manually generate a solution (hereinafter referred to as a "manual solution") by analyzing the log file and the object failure cause, and may transmit the manual solution to the electronic device 110 via the user terminal 120. The electronic device 110 may use the manual solution generated by the user to attempt to repair the object test case. In one embodiment, when a manual solution successfully fixes an object test case, the electronic device 110 may provide feedback to a pre-defined solution set. For example, the electronic device 110 may map the object failure cause and the manual solution and add them to the pre-defined solution set. FIG. 4 is a diagram illustrating a preset solution set according to an embodiment of the present invention. In one embodiment, the electronic device 110 may utilize a preset solution set 401 to repair the target test case. The preset solution set 401 may include a plurality of candidate failure causes 410, 420, 430, 440, ... and one or more solutions mapped to each of the plurality of candidate failure causes 410, 420, 430, 440, .... For example, one candidate failure cause (e.g., the first candidate failure cause 410, the second candidate failure cause 420) may be mapped to one solution, and one candidate failure cause (e.g., the third candidate failure cause 430, the fourth candidate failure cause 440) may also be mapped to two or more solutions. The solutions mapped to each of the plurality of candidate failure causes may be repeated. For example, referring to FIG. 4 , in the preset solution set 401, the solution c431 mapped to the third candidate failure cause 430 and the solution c431 mapped to the fourth candidate failure cause 440 may be the same solution. In one embodiment, the electronic device 110 may implement feedback on a pre-defined solution set 401. The electronic device 110 may assign a reliability to each of the plurality of solutions (e.g., solution a, solution b, solution c, etc.) included in the pre-defined solution set 401, and may adjust the reliability of each of the plurality of solutions. For example, the electronic device 110 may increase the reliability of a particular solution included in the pre-defined solution set 401 by providing positive feedback to the particular solution, and may decrease the reliability of the particular solution by providing negative feedback to the particular solution. In addition, the electronic device 110 can add a specific solution to the preset solution set 401, and can also delete a specific solution from the preset solution set 401. For example, when adding the first solution to the preset solution set 401, the electronic device 110 can determine whether there is a candidate failure cause that is the same as the failure cause of the first solution in the preset solution set 401. When there is a candidate failure cause that corresponds to the first solution and has the same failure cause in the preset solution set 401, the electronic device 110 can map the first solution to the same candidate failure cause. When there is no candidate failure cause that corresponds to the first solution and has the same failure cause in the preset solution set 401, the electronic device 110 can map the first solution and the failure cause of the first solution and add it together with the corresponding failure cause to the preset solution set 401. The judgment related to whether there is a candidate failure cause that corresponds to the first solution and has the same failure cause is described in more detail in FIG. 7. As another example, when the second solution is deleted from the preset solution set 401, the electronic device 110 may determine whether the candidate failure cause mapped to the second solution is mapped to a solution other than the second solution. If the candidate failure cause mapped to the second solution is mapped to a solution other than the second solution, the electronic device 110 may not delete the candidate failure cause mapped to the second solution from the preset solution set 401. However, if the candidate failure cause mapped to the second solution is not mapped to a solution other than the second solution, the electronic device 110 may delete the candidate failure cause mapped to the second solution from the preset solution set 401 together with the second solution. 5 and 6 are diagrams illustrating a process of extracting object test cases and object failure reasons from a database according to an embodiment of the present invention. FIG5 is a flowchart illustrating a process for extracting object test cases and object failure reasons from a database according to one embodiment. In one embodiment, electronic device 110 can extract an object test case that is a failed test case and the object failure reason corresponding to the object test case from the execution result information of a plurality of test cases. Actions S511, S512, and S513 in FIG5 may be at least a portion of action S310 in FIG3. Actions S511, S512, and S513 shown in FIG5 are described in detail below. In action S511 , the electronic device 110 may automatically execute a plurality of test cases. In one embodiment, the electronic device 110 can utilize the robot framework runner (hereinafter referred to as "RF runner") software to automatically execute multiple test cases. RF runner is software used to execute test cases in the robot framework. It can execute multiple test cases in a multi-threaded environment and can upload the execution results of the multiple test cases to a database. In action S512 , the electronic device 110 may upload the execution result information of the plurality of test cases to a database. The RF runner, which is software used by the electronic device 110 , may upload the execution result information of the plurality of test cases to the database. FIG6 illustrates a process in which an electronic device uploads execution result information of a plurality of test cases to a database according to an embodiment. 6 , the processor 210 of the electronic device 110 may be a multi-threaded processor. The processor 210 may include a 1st thread 601-1 to an Nth thread 601-N. A plurality of threads (e.g., the 1st thread 601-1 to the Nth thread 601-N) may be executed simultaneously in a multi-threaded environment, and the plurality of threads (e.g., the 1st thread 601-1 to the Nth thread 601-N) may process different tasks. Here, N may be a natural number greater than 1. Each of the 1st thread 601-1 to the Nth thread 601-N may execute one or more test suites mapped to each thread. A test set may represent a collection of one or more test cases. For example, a plurality of test cases that implement a specific function may be grouped to form a test set. Below, the process of the 1st thread 601-1 executing one or more test cases and uploading the execution result information of one or more test cases to a database is described. The first thread 601-1 can execute the first test set 611-1, the second test set 611-2, ..., and the Mth test set 611-M mapped to the first thread 601-1. Here, M can be a natural number greater than or equal to 1. For example, the Start suite method can be called when starting to execute a test set (e.g., the first test set 611-1). Executing a test set (e.g., test set 1 611-1) may mean executing one or more test cases (e.g., test case 621-1 and test case 621-2) included in the test set (e.g., test set 1 611-1). The first thread 601-1 may execute test case 621-1 and test case 621-2 sequentially by executing test set 1 611-1. For example, the Start test method may be called to begin executing a test case. If a particular test case executes successfully, the first thread 601-1 may not perform the additional action. On the other hand, if a particular test case fails, the first thread 601-1 may perform action 631 to collect the failure reason for the particular test case. Action 631 may be performed until all test cases included in the plurality of test sets mapped to the first thread 601-1 (e.g., the first test set 611-1 through the Mth test set 611-M) have completed execution. For example, the End test method may be called to complete execution of a test case. After all test sets mapped to the first thread 601-1 (e.g., the first test set 611-1, the second test set 611-2, ..., and the Mth test set 611-M) have completed execution, the first thread 601-1 may perform action 641 to upload the failure reasons collected for all failed test cases to the database. The first thread 601-1 may also upload information about all executed test cases to the database. For example, the End suite method may be called upon completion of execution of a test set. Returning to FIG. 5 , in action S513 , the electronic device 110 may extract a target test case as a failed test case and a target failure reason as a reason for the failure of the target test case from the execution result information of the plurality of test cases uploaded to the database. FIG. 7 is a flow chart illustrating a method for determining whether a recommended solution for attempting to repair an object test case can be retrieved according to an embodiment of the present invention. In one embodiment, electronic device 110 may use the object failure cause to determine whether a recommended solution for attempting to repair the object test case can be retrieved from a pre-defined solution set 401. Actions S721 and S722 in FIG. 7 may be at least a portion of action S320 in FIG. 3 , which determines whether a recommended solution can be retrieved. Actions S721 and S722 shown in FIG. 7 are described in detail below. In action S721 , the electronic device 110 may calculate a matching degree between each candidate failure cause and the target failure cause for each of the plurality of candidate failure causes included in the preset solution set. The matching degree may have a value between 0 and 1. In other words, the maximum value of the matching degree between the candidate failure cause and the target failure cause may be set to 1, and the minimum value may be set to 0. In one embodiment, when the degree of match between the candidate failure cause and the target failure cause exceeds a first threshold but does not reach a second threshold, the electronic device 110 may determine that the candidate failure cause is similar to the target failure cause. When the degree of match between the candidate failure cause and the target failure cause exceeds a second threshold, the electronic device 110 may determine that the candidate failure cause is the same as the target failure cause. For example, the first threshold may be 0.5 and the second threshold may be 0.9, but the first and second thresholds are not necessarily limited to these. In one embodiment, the electronic device 110 may use keywords to calculate a match between the candidate failure causes and the target failure cause. The electronic device 110 may compare one or more first keywords extracted from the candidate failure causes with one or more second keywords extracted from the target failure cause. For example, the failure cause may include text. The electronic device 110 may apply a textrank algorithm to the text corresponding to the failure cause to extract keywords. The electronic device 110 can calculate the degree of match between the candidate failure cause and the object failure cause based on the comparison result of the keywords. The electronic device 110 can calculate the degree of match between the candidate failure cause and the object failure cause based on the degree of repetition between one or more first keywords extracted from the candidate failure cause and one or more second keywords extracted from the object failure cause. The higher the degree of repetition between one or more first keywords and one or more second keywords, the higher the degree of match between the candidate failure cause and the object failure cause calculated by the electronic device 110. The degree of repetition between one or more first keywords and one or more second keywords can be calculated, for example, by dividing the number of repeated keywords between the first keyword and the second keyword by the number of second keywords, but the method of calculating the degree of repetition is not necessarily limited to this, and can also be calculated by dividing the number of repeated keywords between the first keyword and the second keyword by the total number of keywords of the first keyword and the second keyword. Here, the total number of keywords for the first keyword and the second keyword can be expressed as the sum of the number of first keywords and the number of second keywords minus the number of duplicate keywords between the first keyword and the second keyword. Alternatively, the degree of duplicate keywords between one or more first keywords and one or more second keywords can be calculated using various other methods. In action S722 , the electronic device 110 may determine whether to search for recommended solutions based on the calculated result of the matching degree. In one embodiment, when a candidate failure cause similar to or identical to the target failure cause exists among the plurality of candidate failure causes included in the pre-set solution set 401, the electronic device 110 may determine that a recommended solution can be retrieved. In other words, when at least one candidate failure cause with a matching degree with the target failure cause exceeds a first threshold value among the plurality of candidate failure causes included in the pre-set solution set 401, the electronic device 110 may determine that a recommended solution can be retrieved. On the other hand, if there is no candidate failure cause similar to or identical to the target failure cause among the plurality of candidate failure causes included in the preset solution set 401, the electronic device 110 may determine that it is unable to retrieve a recommended solution. In other words, if there is no candidate failure cause whose matching degree with the target failure cause is greater than a first threshold value among the plurality of candidate failure causes included in the preset solution set 401, the electronic device 110 may determine that it is unable to retrieve a recommended solution. In addition, in another embodiment, even if the matching degree between each of all candidate failure causes included in the preset solution set 401 and the object failure cause is not calculated, the electronic device 110 can also determine whether the recommended solution can be retrieved. In other words, the electronic device 110 can determine whether the recommended solution can be retrieved by calculating the matching degree with the object test case for only a part of the candidate failure causes included in the preset solution set 401. Specifically, the electronic device 110 can extract one or more important keywords from the text corresponding to the object failure cause. For example, the electronic device 110 can extract one or more second keywords from the text corresponding to the object failure cause, and can calculate the importance of a single second keyword. The electronic device 110 can determine a part of the one or more second keywords extracted from the text corresponding to the object failure cause as an important keyword. For example, the TF-IDF (term frequency-inverse document frequency) method can be used to calculate the importance of a single keyword in the text, but is not limited to this. The electronic device 110 can extract one or more candidate failure causes that include one or more important keywords of all target failure causes from the plurality of candidate failure causes included in the preset solution set 401. Furthermore, the electronic device 110 can determine whether a recommended solution corresponding to the target test case can be retrieved based on a comparison between each of the extracted one or more candidate failure causes and the target failure cause. That is, the electronic device 110 can calculate the degree of match between each of the one or more candidate failure causes and the target failure cause, and if there is at least one candidate failure cause among the one or more candidate failure causes whose degree of match with the target failure cause is greater than a first critical value, it can be determined that a recommended solution can be retrieved. 8 and 9 are diagrams illustrating a process of determining a recommended solution for attempting to repair an object test case according to an embodiment of the present invention. 8 exemplarily illustrates a report page 801 displaying execution result information of a plurality of test cases according to an embodiment. The electronic device 110 may generate execution result information of a plurality of test cases, display the execution result information on the report page 801 , and provide the report page 801 to the user terminal 120 . In one embodiment, when it is determined that a recommended solution corresponding to the target test case can be retrieved, the electronic device 110 may extract one or more candidate failure causes from the plurality of candidate failure causes included in the preset solution set 401, the candidate failure causes of which the degree of match with the target failure cause is greater than or equal to a first critical value. The electronic device 110 may determine one of the one or more candidate solutions mapped to each of the one or more candidate failure causes as a recommended solution. The following describes in detail the process by which the electronic device 110 determines one of the one or more candidate solutions mapped to each of the one or more candidate failure causes of which the degree of match with the target failure cause is greater than or equal to a first critical value as a recommended solution. The report page 801 can display the execution result information of multiple test cases. In Figure 8, an example of displaying the execution result information of a test set 811 including the first test case and the second test case on the report page 801 is shown. Report page 801 can display execution result information 820 for the first test case and 830 for the second test case, respectively. Specifically, report page 801 can display the case names 821 and 831, case descriptions 822 and 832, test case execution results 823 and 833, test case execution times 824 and 834, and test case execution start times 825 and 835 for each test case (i.e., the first and second test cases). For example, the execution result 823 for the first test case can be success, while the execution result 833 for the second test case can be failure. Report page 801 can also display the failure reason 840 for the failed second test case. In one embodiment, when the electronic device 110 determines that a recommended solution corresponding to the second test case, which is a failed test case, can be retrieved, a first user interface 850 can be displayed on the report page 801. The first user interface 850 indicates the output of the first page (not shown) displaying one or more candidate solutions corresponding to the second test case. For example, the electronic device 110 can display the first user interface 850 in the vicinity of the area displaying the failure reason 840 of the second test case on the report page 801. The first page displaying one or more candidate solutions is described in more detail in FIG9. For example, with reference to FIG8, the first user interface 850 can have a circular shape, but the shape of the first user interface 850 is not limited to this. In one embodiment, in response to a first user input of selecting (or touching) the first user interface 850 displayed on the report page 801, the electronic device 110 may provide the user terminal 120 with a first page (not shown) displaying one or more candidate solutions. The first user input may represent a user input performed on the user terminal 120. The first page may, for example, be a sidebar overlaid on or displayed on the report page 801, or a separate page. In another embodiment, when it is determined that the recommended solution corresponding to the second test case, which is a failed test case, cannot be retrieved, the electronic device 110 may display another user interface (not shown) on the report page 801 instructing to generate a manual solution by manually analyzing the failure cause corresponding to the second test case. FIG9 illustratively illustrates a first page 901 displaying one or more candidate solutions corresponding to a target test case according to an embodiment. The electronic device 110 may display one or more candidate solutions corresponding to a target test case on the first page 901 and provide the solution to the user terminal 120. For example, the first page 901 may be provided to the user terminal 120 in response to receiving user input on the first user interface 850 corresponding to the second test case displayed on the selection and report page 801. In one embodiment, page 1 901 may display one or more candidate solutions 911, 921, 931, 941, ... corresponding to the target test case. As described above, the one or more candidate solutions 911, 921, 931, 941, ... corresponding to the target test case may represent solutions mapped to one or more candidate failure causes that are identical or similar to the target failure cause among the plurality of candidate failure causes included in the preset solution set 401. For example, referring to FIG. 9 , page 1 901 may display information 910 for the first candidate solution 911, information 920 for the second candidate solution 921, information 930 for the third candidate solution 931, and information 940 for the fourth candidate solution 941. In one embodiment, the electronic device 110 may display one or more candidate solutions 911, 921, 931, 941, ... together with the confidence level corresponding to each of the one or more candidate solutions 911, 921, 931, 941, ... on the first page 901. For example, the reliability score representing the reliability of the first candidate solution 911 may be "aa", and the reliability score representing the reliability of the second candidate solution 921 may be "bb". The electronic device 110 may display one or more candidate solutions 911, 921, 931, 941, ... on the first page 901 in descending order of reliability. For example, the higher the reliability ranking of a candidate solution, the electronic device 110 may display the candidate solution in an area closer to the first side edge of the first page 901. Here, the first side may be the outer side. 9 , the reliability score of the first candidate solution 911 (e.g., aa score) may be higher than the reliability score of the second candidate solution 921 (e.g., bb score), and the reliability score of the second candidate solution 921 (e.g., bb score) may be higher than the reliability score of the third candidate solution 931 (e.g., cc score). In one embodiment, the electronic device 110 may determine a candidate solution (e.g., the third candidate solution 930) as a recommended solution in response to a second user input selecting one of the one or more candidate solutions 911, 921, 931, 941, ... displayed on the first page 901 (e.g., the third candidate solution 930). The second user input may represent a user input performed on the user terminal 120. For example, the second user input may represent a user input selecting (or touching) a portion of a location included in the area of ​​the information 930 of the third candidate solution on the first page 901 displayed on the screen on which the user terminal 120 is displayed. FIG. 10 is a flow chart illustrating a process of implementing feedback on a preset solution set according to an embodiment of the present invention. In one embodiment, the electronic device 110 may perform feedback on the preset solution set 401 based on the repair attempts of the target test case. First, in action S1011, electronic device 110 may determine whether a recommended solution can be retrieved. Action S1011 may represent the same action as action S320 in FIG3 . If it is determined that a recommended solution can be retrieved, electronic device 110 may execute action S1021. If it is determined that a recommended solution cannot be retrieved, electronic device 110 may execute action S1031. In action S1021 , the electronic device 110 may use the recommended solution to attempt to repair the target test case, and may determine whether the target test case is successfully repaired by using the recommended solution. In action S1022, the electronic device 110 may use the recommended solution to successfully repair the target test case. After performing action S1022, the electronic device 110 may provide feedback on the preset solution set 401 through action S1041. Specifically, in action S1041, the electronic device 110 may increase the reliability corresponding to the recommended solution in the preset solution set 401. For example, the electronic device 110 may increase the reliability score representing the reliability of the recommended solution by a preset value (e.g., "1"). In action S1023, when using the recommended solution to repair the failure of the target test case, the electronic device 110 may ignore the recommended solution. After performing action S1023, the electronic device 110 may perform feedback on the preset solution set 401 through action S1042. Specifically, in action S1042, the electronic device 110 may reduce the reliability corresponding to the recommended solution in the preset solution set 401. For example, the electronic device 110 may reduce the reliability score representing the reliability of the recommended solution by a preset value (e.g., "1"). As described above, the electronic device 110 can adjust the reliability corresponding to the solutions during the feedback process for the pre-set solution set 401. Based on the feedback provided for the pre-set solution set 401, if the reliability corresponding to a specific solution included in the pre-set solution set 401 decreases below a critical reliability, the electronic device 110 can exclude the specific solution from the pre-set solution set 401. Subsequently, after executing act S1023, electronic device 110 may execute act S1024 to repair the target test case. In act S1024, electronic device 110 may provide user terminal 120 with a second page (not shown) comprising at least one of a second user interface and a third user interface. The second user interface displays at least one candidate solution for attempting to repair the target test case, and the third user interface instructs generating a manual solution by manually analyzing the cause of the target failure. The at least one candidate solution displayed in the second user interface may not include the recommended solution ignored in act S1023. For example, if at least one candidate solution other than the recommended solution is present among the one or more candidate solutions corresponding to the target test case, electronic device 110 may provide user terminal 120 with a second page displaying a second user interface displaying the at least one candidate solution. In response to user input selecting one of the at least one candidate solution, electronic device 110 may determine the next recommended solution. Electronic device 110 may attempt to repair the target test case using the following recommended solution and then perform action S1021. For example, when there is no at least one candidate solution other than the recommended solution among the one or more candidate solutions corresponding to the object test case, the electronic device 110 may provide the user terminal 120 with a second page displaying a third user interface, which indicates that a manual solution is generated by manually analyzing the object failure cause. Thereafter, the electronic device 110 may provide the user terminal 120 with a log file obtained based on the execution of the object test case and the object failure cause corresponding to the object test case. The user of the user terminal 120 may analyze the log file and the object failure cause to generate a manual solution, and may transmit the manual solution to the electronic device 110 via the user terminal 120. The electronic device 110 may use the manual solution generated by the user to try to repair the object test case. When the electronic device 110 uses the manual solution to repair the object test case, action S1031 may then be performed. In action S1031, the electronic device 110 may use the manual solution generated by manually analyzing the object failure cause to successfully repair the object test case. After performing action S1031, the electronic device 110 may provide feedback to the pre-defined solution set 401 in action S1043. Specifically, in action S1043, the electronic device 110 may map the object failure cause and the manual solution to the pre-defined solution set 401 and add the result to the pre-defined solution set 401. FIG. 11 is a diagram illustrating other software used by an electronic device to execute test cases for software testing according to an embodiment of the present invention. In one embodiment, the electronic device 110 may utilize test automation when performing software testing. In other words, the electronic device 110 may use other software to test specific software. For example, when performing software testing, the electronic device 110 may utilize other software such as an automation platform 1101, a CI / CD (continuous integration / continuous delivery) manager 1102, a radio frequency runner 1103, and an automation framework 1104. In one embodiment, at least any one of the automation platform 1101, the CI / CD manager 1102, the radio frequency runner 1103, and the automation framework 1104 may be included as part of the electronic device 110. The following describes the actions performed by each software. First, the automation platform 1101 can execute a schedule trigger (1111) and a manual trigger (1112). The CI / CD manager 1102 can execute a CI / CD (continuous integration / continuous delivery) trigger (1121). The automation platform 1101 can receive a plurality of test cases 1141 from the automation framework 1104 to execute an automation plan (1113). Executing the automation plan may mean planning to execute the plurality of test cases. Furthermore, the automation platform 1101 can manage the plurality of test cases (1114). The RF runner 1103 can execute a plurality of test cases ( 1131 ) and upload the execution result information of the plurality of test cases to a database ( 1132 ). In one embodiment, the automation platform 1101 can determine whether there is at least one failed test case based on the execution result information of the plurality of test cases (1115). If there is no failed test case in the plurality of test cases, the automation platform 1101 can terminate the software test. If there is at least one failed test case in the plurality of test cases, the automation platform 1101 can extract the target test case and the target failure reason from the database as a failed test case. The automation platform 1101 can determine whether a recommended solution corresponding to the target test case can be retrieved from the pre-set solution set 401 (1116). If the automation platform 1101 determines that a recommended solution can be retrieved, the automation framework 1104 can use the recommended solution to attempt to repair the target test case and determine whether the target test case is successfully repaired (1142). If the target test case is successfully repaired using the recommended solution, the automation framework 1104 can increase the reliability of the recommended solution pre-set in the solution set 401 (1143). On the other hand, when a failure of an object test case is repaired by a recommended solution, the automation framework 1104 may reduce the reliability of the recommended solution in the preset solution set 401 (1144). After adjusting the reliability, the automation platform 1101 may return to action 1115 to determine whether there are other failed test cases in the plurality of test cases. When it is determined that a recommended solution cannot be retrieved, the automation platform 1101 may receive a manual solution generated by analyzing the cause of the object failure from the user terminal 120 (1117). The automation framework 1104 may use the manual solution to repair the object test case (1143). In this case, the automation platform 1101 may map the manual solution to the cause of the object failure and append it to the preset solution set 401 (1118). After appending the manual solution to the solution set 401, the automation platform 1101 may return to action 1115 to determine whether there are other failed test cases in the plurality of test cases. The methods of the present invention may be implemented using a computer. A computer may, for example, include an electronic device that performs processing. In this disclosure, the steps of these methods are illustrated in a specific order. However, in addition to performing the steps sequentially, the present invention may also be performed in any combination of orders. In one embodiment, at least some of the steps may be performed in parallel, repeatedly, or heuristically. This disclosure does not preclude variations or modifications to these methods. In one embodiment, at least some of the steps may be omitted, or additional steps may be added. Various embodiments of the present invention can be implemented by software recorded on a machine-readable recording medium. The software can be software used to implement various embodiments of the present invention. Programmers in the technical field to which the present invention belongs can infer the software based on various embodiments of the present invention. For example, the software can be a program of machine-readable commands (e.g., program codes or code segments). A device is a device that can act according to commands called from a recording medium, such as a computer. In one embodiment, the device can be an electronic device of an embodiment of the present invention. In one embodiment, the processor of the device executes the called command, thereby enabling the components of the device to perform the function corresponding to the command. In one embodiment, the processor can be a processor of an embodiment of the present invention. The recording medium can refer to all types of recording media (recording medium) that store information that can be read by the device. The recording medium may include, for example, ROM (Read only memory), RAM (Random-access memory), CD-ROM (Compact Disc Read-Only Memory), magnetic tape, floppy disk, optical information storage device, etc. In one embodiment, the recording medium may be a memory. In one embodiment, the recording medium may be implemented in a form distributed across computer systems connected via a network. The software may be stored and executed in a distributed manner across computer systems, etc. The recording medium may be a non-transitory recording medium. A non-transitory recording medium refers to a tangible medium that actually exists, regardless of whether information is stored semi-permanently or temporarily, and does not include signals that are transmitted temporarily. While the technical concepts of the present invention have been described above based on various embodiments, the technical concepts of the present invention encompass various permutations, variations, and modifications that can be implemented within the scope of understanding by those having common sense in the technical field to which the present invention pertains. Furthermore, it should be understood that such permutations, variations, and modifications are encompassed by the scope of the accompanying patent applications. The embodiments of the present invention may be combined with one another. Various combinations of the various embodiments can be made depending on the number of scenarios, and the resulting combinations also fall within the scope of the present invention. 110: Electronic device 120: User terminal 200: Electronic device 210: Processor 220: Memory 230: Communication interface 401: Pre-set solution set 410: 1st candidate failure reason 420: 2nd candidate failure reason 430: 3rd candidate failure reason 431: Solution c 440: 4th Candidate Failure Reason 601-1: 1st Thread 601-N: Nth Thread 611-1: 1st Test Set 611-2: 2nd Test Set 611-M: Mth Test Set 621-1: Test Case 621-2: Test Case 631: Action 641: Action 801: Report Page 811: Test Set 820: Execution Result Information 821: Case Name 822: Case Description 823: Execution Result 824: Time Required for Test Case Execution 825: Test Case Execution Start Time 830: Execution Result Information 831: Case Name 832: Case Description 833: Execution Result 834: Time Required for Test Case Execution 835: Test Case Execution Start Time 840: Failure Reason 901: 1st Page 910: Information 911: 1st Candidate Solution 920: Information 921: 2nd Candidate Solution 930: Information 931 :3rd Alternative Solution 940: Information 941:4th Alternative Solution 1101: Automation Platform 1102: CI / CD Manager 1103: RF Runner 1104: Automation Framework 1111: Action 1112: Action 1113: Action 1114: Action 1115: Action 1116: Action 1117: Action 1118: Action 1121: Action 1131: Action 1132: Action 114 1: Action 1142: Action 1143: Action 1144: Action S310: Action S320: Action S330: Action S340: Action S511: Action S512: Action S513: Action S721: Action S722: Action S1011: Action S1021: Action S1022: Action S1024: Action S1031: Action S1041: Action S1042: Action S1043: Action FIG1 shows an environment in which an electronic device according to an embodiment of the present invention can be applied. FIG2 is a block diagram of an electronic device according to an embodiment of the present invention. FIG3 shows a flow chart illustrating a method for automatically repairing a failed test case according to an embodiment of the present invention. FIG4 is a diagram illustrating a preset solution set according to an embodiment of the present invention. FIG5 and FIG6 are diagrams illustrating a process of extracting object test cases and object failure causes from a database according to an embodiment of the present invention. FIG7 shows a flow chart illustrating a method for determining whether a recommended solution for attempting to repair an object test case can be retrieved according to an embodiment of the present invention. FIG8 and FIG9 are diagrams illustrating a process of determining a recommended solution for attempting to repair an object test case according to an embodiment of the present invention. FIG10 is a flow chart illustrating a process of providing feedback on a preset solution set according to an embodiment of the present invention. FIG11 is a diagram illustrating other software used by an electronic device according to an embodiment of the present invention to execute test cases for software testing. S310: Action S320: Action S330: Action S340: Action

Claims

1. A method for automatically repairing failed test cases, implemented via an electronic device, comprising the following steps:

1. Automatically retrieving execution result information from a plurality of test cases; 2. Extracting the object test case as a failed test case and the object failure reason corresponding to the object test case; 3. Using the object failure reason to determine whether a recommended solution for attempting to repair the object test case can be retrieved from a pre-defined solution set; 4. If the recommended solution can be retrieved, using the recommended solution to attempt to repair the object test case; and 5. If the recommended solution cannot be retrieved, using a manual solution generated by manually analyzing the object failure reason to attempt to repair the object test case; wherein the step of using the manual solution to attempt to repair the object test case includes the following steps:

5. If the object test case is successfully repaired using the manual solution, mapping the object failure reason and the manual solution and adding them to the pre-defined solution set.

2. The method of request item 1, wherein the aforementioned pre-defined set of solutions includes a plurality of candidate failure reasons and one or more solutions mapped to each of the plurality of candidate failure reasons.

3. The method of request item 2, wherein the step of determining whether the above recommended solution can be retrieved includes the following steps: For each of the above plurality of candidate failure reasons, calculate the matching degree between each candidate failure reason and the above object failure reason; and based on the calculation result of the above matching degree, determine whether the above recommended solution can be retrieved.

4. The method of request item 3, wherein the step of calculating the matching degree between the above-mentioned candidate failure reasons and the above-mentioned object failure reasons includes the following steps: comparing one or more first keywords extracted from the above-mentioned candidate failure reasons with one or more second keywords extracted from the above-mentioned object failure reasons; and calculating the matching degree between the above-mentioned candidate failure reasons and the above-mentioned object failure reasons based on the comparison results.

5. The method of request item 3, wherein the step of determining whether the above recommended solution can be retrieved includes the following steps: if there is at least one candidate failure reason among the plurality of candidate failure reasons whose matching degree with the above object failure reason is above a critical value, it is determined that the above recommended solution can be retrieved; and if there is no candidate failure reason among the plurality of candidate failure reasons whose matching degree with the above object failure reason is above a critical value, it is determined that the above recommended solution cannot be retrieved.

6. The method of request item 5, wherein the step of using the above recommended solution to attempt to repair the above object test case includes the following steps: when it is determined that the above recommended solution can be retrieved, extracting one or more candidate failure reasons from the plurality of candidate failure reasons whose matching degree with the above object failure reason is above the above threshold value, and determining one of the candidate solutions mapped to each of the above one or more candidate failure reasons as the above recommended solution.

7. The method of request item 6, wherein the step of using the above-mentioned recommended solution to attempt to repair the above-mentioned object test case includes the following steps: when it is determined that the above-mentioned recommended solution can be retrieved, the first user interface of the instruction output first page is displayed on the report page, the first page displays one or more above-mentioned alternative solutions, and the report page displays the execution result information of the above-mentioned plurality of test cases; and in response to the first user input of selecting the above-mentioned first user interface, the above-mentioned first page is provided to the user terminal.

8. The method of request item 7, wherein the steps of using the above recommended solution to attempt to fix the above object test case include the following steps: In response to the second user input of selecting one of the above candidate solutions from the above one or more candidate solutions displayed on the above first page, the above candidate solution is determined as the above recommended solution.

9. The method of request item 7, wherein the step of providing the first page to the user terminal includes the following steps: displaying the one or more candidate solutions and the reliability corresponding to each of the one or more candidate solutions on the first page, wherein the one or more candidate solutions are displayed on the first page in descending order of reliability.

10. The method of Request Item 1, wherein the step of using the above-recommended solution to attempt to repair the above-mentioned object test case includes the following steps: when the above-recommended solution is successfully used to repair the above-mentioned object test case, increasing the reliability corresponding to the above-recommended solution; and when the above-recommended solution fails to repair the above-mentioned object test case, decreasing the reliability corresponding to the above-recommended solution.

11. The method of claim 6 further includes the following steps: when repairing the failure of the object test case using the recommended solution described above, providing a second page to the user terminal including at least one of a second user interface and a third user interface, the second user interface displaying at least one alternative solution for attempting to repair the object test case, the third user interface instructing the generation of the manual solution by manually analyzing the cause of the object failure, wherein the at least one alternative solution does not include the recommended solution described above.

12. The method of claim 1 further includes the following steps: based on feedback to the aforementioned preset solution set, when the reliability corresponding to a specific solution included in the aforementioned preset solution set decreases to below the critical reliability, the aforementioned specific solution is excluded from the aforementioned preset solution set.

13. The method of Request Item 2, wherein the step of determining whether the above recommended solution can be retrieved includes the following steps: extracting one or more important keywords from the above object failure reasons; extracting one or more candidate failure reasons from the plurality of candidate failure reasons that include the above one or more important keywords; and determining whether the above recommended solution can be retrieved based on a comparison between each of the above one or more candidate failure reasons and the above object failure reasons.

14. An electronic device comprising: One or more processors; and one or more memory stores commands to be executed by the one or more processors; and the electronic device is configured such that, when the commands are executed by the one or more processors, the one or more processors perform the method of any one of claims 1 to 13.

15. A non-transitory computer-readable recording medium recording commands that, when executed by one or more processors, cause the one or more processors to perform actions, wherein the commands are configured to cause the one or more processors to perform the method of any one of claims 1 to 13.

Citation Information

Patent Citations

  • Supervised control logic and related systems and methods

    TW202303340A

  • Interactive software program repair

    US10268572B2

  • Automated software program repair

    US20180089065A1

  • Software application build testing

    US20230176961A1