Apparatus, method, and recording medium for managing keyword related to execution of test case

KR102998424B1Active Publication Date: 2026-08-03COUPANG CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
KR1020240010737
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-01-24
Publication Date
2026-08-03
Estimated Expiration
2044-01-24

Smart Images

  • Figure 112024009268218-PAT00003_ABST
    Figure 112024009268218-PAT00003_ABST
Patent Text Reader

Abstract

The present disclosure proposes an electronic device for managing keywords related to the execution of a test case. The electronic device according to the present disclosure comprises one or more processors; and one or more memories in which instructions to be executed by the one or more processors are stored. When the instructions are executed, the one or more processors may be configured to obtain source code corresponding to one or more candidate keywords related to the execution of one or more test cases, generate attribute information corresponding to each of the one or more candidate keywords based on parsing the source code, receive target information for searching for recommended keywords, and search for the recommended keywords among the one or more candidate keywords that match the target information based on comparing the attribute information corresponding to each of the one or more candidate keywords with the target information.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present disclosure relates to a technique for managing keywords related to the execution of test cases. More specifically, the present disclosure relates to a technique for parsing the source code of keywords in order to efficiently manage keywords related to the execution of test cases. Background Technology

[0002] Software testing can refer to testing whether software operates as intended by the developer. Multiple test cases may be executed to perform software testing. A test case can represent a set of conditions or variables designed to verify whether the software meets specific design specifications. A test case may include information regarding test data (e.g., input values), execution conditions, and expected results, along with a specific scenario to be tested. Developers can optimize the process of generating test cases by using automated test frameworks. For example, automated test frameworks can provide a keyword-based approach, where keywords represent a set of predefined and reusable tasks or commands. Developers can use keywords instead of directly entering command code when designing test cases, and the use of keywords provides the advantage of accelerating the speed of test case generation. [Prior Art] (Patent Document 1) US 2008-0010539 A1 (Patent Document 2) KR 2012-0107193 A (Patent Document 3) US 2018-0246804 A1 The problem to be solved

[0003] The present disclosure discloses a technique for managing keywords related to the execution of test cases. means of solving the problem

[0004] The present disclosure may propose a method for managing keywords related to the execution of test cases. A method according to one embodiment of the present disclosure may include: obtaining source code corresponding to one or more candidate keywords related to the execution of one or more test cases; generating attribute information corresponding to each of the one or more candidate keywords based on parsing the source code; receiving target information for searching for recommended keywords; and searching for recommended keywords among the one or more candidate keywords that match the target information based on comparing the attribute information corresponding to each of the one or more candidate keywords with the target information.

[0005] In one embodiment, each of the one or more test cases represents a test case associated with one page, and the step of obtaining the source code may include the step of identifying the source code from a resource file corresponding to the one page.

[0006] In one embodiment, the step of generating attribute information corresponding to each of the one or more candidate keywords may include the step of triggering parsing of the source code in response to receiving a first pull request to merge the source code into the master branch.

[0007] In one embodiment, the method may include: identifying a partial source code corresponding to each of the one or more candidate keywords from the source code; and generating partial information for each of the one or more keyword attributes of each candidate keyword based on parsing the partial source code corresponding to each candidate keyword, wherein the partial information for each of the one or more keyword attributes of each candidate keyword constitutes attribute information corresponding to each candidate keyword.

[0008] In one embodiment, the step of generating attribute information corresponding to each of the one or more candidate keywords may include identifying one or more lines in the source code that do not start with a space, and determining each of the one or more lines as the starting line of the partial source code corresponding to the candidate keyword.

[0009] In one embodiment, the one or more keyword attributes may include at least one of a page name, a keyword name, a keyword description, a keyword tag, and a keyword argument.

[0010] In one embodiment, the step of pre-setting a mark for distinguishing a specific keyword attribute among the one or more keyword attributes from other keyword attributes, and generating partial information for each of the one or more keyword attributes of each candidate keyword, may include the step of generating partial information for the specific keyword attribute of each candidate keyword based on searching for the mark from the partial source code corresponding to each candidate keyword.

[0011] In one embodiment, the method may further include: receiving a second pull request requesting an update of the source code according to a change in the source code; identifying a modified code portion in the source code in response to receiving the second pull request; and updating attribute information corresponding to each of the one or more candidate keywords based on parsing the identified code portion.

[0012] In one embodiment, the method may further include the step of setting credibility for each of the one or more candidate keywords.

[0013] In one embodiment, the step of setting a reliability for each of the one or more candidate keywords may include: executing a specific test case among the one or more test cases to determine whether the execution of at least one candidate keyword related to the execution of the specific test case is successful; and adjusting the reliability corresponding to each of the at least one candidate keyword based on whether the execution of the at least one candidate keyword is successful.

[0014] In one embodiment, the step of searching for the recommended keyword may include: identifying a keyword attribute mapped to the target information; calculating a matching degree between each candidate keyword and the target information based on comparing partial information regarding the identified keyword attribute of each candidate keyword with the target information; and searching for the recommended keyword among one or more candidate keywords based on the result of calculating the matching degree.

[0015] In one embodiment, the step of searching for the recommended keyword among the one or more candidate keywords may include the step of determining the candidate keyword among the one or more candidate keywords as the recommended keyword, wherein the degree of matching with the target information is greater than or equal to a threshold value.

[0016] In one embodiment, the method may further include the step of determining a recommendation value for each of the plurality of recommended keywords when the determined recommendation keywords are plurality of; and the step of displaying the plurality of recommended keywords in order of highest recommendation value.

[0017] In one embodiment, the step of determining the recommendation value for each of the plurality of recommendation keywords may include the step of calculating the recommendation value by adding the value obtained by applying a first weight to the degree of matching of the recommendation keyword with the target information and the value obtained by applying a second weight to the reliability corresponding to the recommendation keyword.

[0018] In one embodiment, the first weight may be greater than or equal to the second weight.

[0019] In one embodiment, the step of calculating the degree of matching between each candidate keyword and the target information comprises calculating the degree of overlap between the partial information regarding the identified keyword attribute of each candidate keyword and the target information.

[0020] In one embodiment, the step of calculating the degree of matching between each candidate keyword and the target information may include: a step of calculating the degree of overlap between partial information regarding the identified keyword attribute of each candidate keyword and the target information; and a step of calculating the degree of matching between each candidate keyword and the target information based on the calculated degree of overlap.

[0021] In one embodiment, the step of calculating the degree of overlap between partial information regarding the identified keyword attribute of each candidate keyword and the target information may be characterized by calculating the degree of overlap as the ratio of the number of words that overlap between the partial information and the target information to the total number of words included in the partial information regarding the identified keyword attribute of each candidate keyword.

[0022] The present disclosure may propose an apparatus for managing keywords related to the execution of a test case. An electronic apparatus according to the present disclosure may include one or more processors; and one or more memories in which instructions to be executed by the one or more processors are stored. When the instructions are executed, the one or more processors may be configured to obtain source code corresponding to one or more candidate keywords related to the execution of one or more test cases, generate attribute information corresponding to each of the one or more candidate keywords based on parsing the source code, receive target information for searching for recommended keywords, and search for the recommended keyword among the one or more candidate keywords that matches the target information based on comparing the attribute information corresponding to each of the one or more candidate keywords with the target information.

[0023] The present disclosure may propose a non-transient computer-readable recording medium that records instructions for automatically recovering a failed test case. Instructions recorded on a recording medium according to one embodiment of the present disclosure may be instructions to be executed by one or more processors or to be performed on a computer. When executed by one or more processors, the instructions may enable one or more processors to obtain source code corresponding to one or more candidate keywords related to the execution of one or more test cases, generate attribute information corresponding to each of the one or more candidate keywords based on parsing the source code, receive target information for searching for a recommended keyword, and search for the recommended keyword among the one or more candidate keywords that matches the target information based on comparing the attribute information corresponding to each of the one or more candidate keywords with the target information. Effects of the invention

[0024] According to the present disclosure, recommended keywords that match target information can be searched more efficiently by using attribute information generated by parsing the source code of each keyword to search for recommended keywords that match target information provided from a user terminal.

[0025] According to the present disclosure, by providing one or more recommended keywords that match target information to a user terminal in order of highest recommendation value, the user of the user terminal can more easily find keywords suitable for generating test cases.

[0026] The effects according to the technical concept of the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art from the description in the specification. Brief explanation of the drawing

[0027] FIG. 1 illustrates an environment in which an electronic device according to one embodiment of the present disclosure can be applied. FIG. 2 is a block diagram of an electronic device according to one embodiment of the present disclosure. FIG. 3 illustrates a flowchart explaining a method for searching for recommended keywords by parsing the source code of candidate keywords according to one embodiment of the present disclosure. FIG. 4 is a diagram illustrating the process of obtaining source code of a candidate keyword according to one embodiment of the present disclosure. FIG. 5 is a diagram illustrating an example of identifying partial source code corresponding to each candidate keyword in the source code of one or more candidate keywords according to one embodiment of the present disclosure. FIG. 6 is a diagram illustrating an example of parsing source code of one or more candidate keywords according to one embodiment of the present disclosure. FIG. 7 is a drawing illustrating an example of storing attribute information corresponding to one or more candidate keywords according to one embodiment of the present disclosure. FIG. 8 illustrates a flowchart explaining the process of searching for recommended keywords according to one embodiment of the present disclosure. FIG. 9 illustrates an exemplary page displaying recommended keywords that match target information according to one embodiment of the present disclosure. FIG. 10 is a drawing illustrating software used by an electronic device according to one embodiment of the present disclosure to provide a search function for recommended keywords. Specific details for implementing the invention

[0028] The various embodiments described in this disclosure are illustrative for the purpose of clearly explaining the technical concept of this disclosure and are not intended to limit it to specific embodiments. The technical concept of this disclosure includes various modifications, equivalents, alternatives, and embodiments selectively combined from all or part of each embodiment described in this disclosure. Furthermore, the scope of the technical concept of this disclosure is not limited to the various embodiments presented below or the specific descriptions thereof.

[0029] Terms used in this disclosure, including technical or scientific terms, may have the meaning generally understood by those skilled in the art to which this disclosure pertains, unless otherwise defined.

[0030] Expressions used in this disclosure, such as “comprising,” “may compose,” “possessing,” “possessing,” “having,” and “possessing,” mean that the subject feature (e.g., function, operation, or component, etc.) exists and do not exclude the existence of other additional features. That is, such expressions should be understood as open-ended terms implying the possibility of including other embodiments.

[0031] Singular expressions used in this disclosure may include the meaning of the plural form unless otherwise indicated by the context, and this applies likewise to singular expressions described in the claims.

[0032] Expressions such as "first," "second," or "first," "second" used in this document are used to distinguish one object from another when referring to multiple objects of the same kind, unless the context implies otherwise, and do not limit the order or importance of said objects.

[0033] Expressions used in this document such as “A, B, and C”, “A, B, or C”, “A, B, and / or C”, “at least one of A, B, and C”, “at least one of A, B, or C”, “at least one of A, B, and / or C”, etc., may mean 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 A, (2) at least one B, and (3) at least one A and at least one B.

[0034] The expression “based on” as used in this disclosure is used to describe one or more factors affecting an act or action of a decision or judgment described in the phrase or sentence containing this expression, and this expression does not exclude additional factors affecting said act or action of a decision or judgment.

[0035] As used in the present disclosure, the expression that a certain component (e.g., a first component) is "connected" or "connected" to another component (e.g., a second component) may mean that the certain component is not only directly connected or connected to the other component, but is also connected or connected through a new other component (e.g., a third component).

[0036] As used in this disclosure, the expression "configured to" may have meanings such as "set to," "capable of," "modified to," "made to," or "capable of." This expression is not limited to the meaning of "specifically designed in hardware." For example, a processor configured to perform a specific operation may mean a generic-purpose processor capable of performing that specific operation by executing software, or a special-purpose computer structured through programming to perform that specific operation.

[0037] Hereinafter, various embodiments described in this disclosure will be explained with reference to the attached drawings. In the attached drawings and the description thereof, identical or substantially equivalent components may be given the same reference numerals. Furthermore, in the description of the various embodiments below, the description of identical or corresponding components may be omitted, but this does not mean that such components are not included in the embodiments.

[0039] FIG. 1 illustrates an environment in which an electronic device according to one embodiment of the present disclosure can be applied.

[0040] A test case may represent a series of conditions or variables designed to verify whether software meets specific design specifications. Execution of one or more keywords may be required for the execution of a test case. Each step of a test case may be performed by calling one or more keywords. Keywords may represent a set of predefined reusable actions or commands. In the specification below, keywords stored in the electronic device (110) are described as candidate keywords.

[0041] In one embodiment, the electronic device (110) may be a device that stores one or more keywords. More specifically, the electronic device (110) may store source code corresponding to one or more candidate keywords. The electronic device (110) may parse and store source code corresponding to one or more candidate keywords.

[0042] In one embodiment, the electronic device (110) may be implemented as one or more computing devices. For example, all functions of the electronic device (110) may be implemented in a single computing device. As another example, a first function of the electronic device (110) may be implemented in a first computing device, and a second function may be implemented in a second computing device. As yet another example, multiple computing devices may be used, each implementing all functions or specific functions of the electronic device (110). The aforementioned computing devices may be a desktop computer, a laptop computer, an application server, a proxy server, or a cloud server, but are not limited thereto, and any type of device equipped with computing functions may be a computing device.

[0043] In one embodiment, the user terminal (120) may represent a device for generating test cases. To generate test cases, the user of the user terminal (120) may transmit target information to the electronic device (110) through the user terminal (120). The electronic device (110) may receive target information from the user terminal (120) and may search for recommended keywords that match the target information among the candidate keywords stored in the electronic device (110) and provide them to the user terminal (120). To facilitate the search for recommended keywords that match the target information, the electronic device (110) may parse and store source code corresponding to the candidate keywords.

[0044] In one embodiment, the user terminal (120) may be implemented as a terminal capable of transmitting and receiving various information to and from an electronic device (110) via a network. For example, the user terminal (120) may be one of a computer, a laptop, a portable communication terminal (such as a smartphone), a portable multimedia device, a wearable device, or an HMD. However, the type of user terminal (120) is not limited thereto, and the user terminal (120) may be any device capable of receiving information from a user or outputting information to a user, and communicating with an electronic device (110) or other devices via a network.

[0045] In one embodiment, the user terminal (120) can provide information received from the electronic device (110) to the user 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 instructing the call of various pages and generate a command instructing the call of various pages in response to the obtained input. The user terminal (120) can transmit the command instructing the call of various pages to the electronic device (110). The input obtained from the user may include various forms of input, such as a click using a mouse, a touch using a touchpad or touchscreen, voice recognition, or other electronic inputs. The user terminal (120) can receive various pages from the electronic device (110) and output the received various pages.

[0046] The network can serve to connect the electronic device (110) with the user terminal (120) or other external devices. For example, the network can provide a connection path so that the user terminal (120) or other external devices can be connected to the electronic device (110) and transmit and receive packet data with the electronic device (110). The network can be implemented as any kind of wired or wireless network, such as, for example, a Local Area Network (LAN), a Wide Area Network (WAN), a Mobile Radio Communication Network, or a Wibro (Wireless Broadband Internet).

[0047] 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 a whole or part of the electronic device (110). In this case, for example, the various information exchanged between the electronic device (110) and the user terminal (120) via a network may be the various information exchanged between each component within a single device.

[0049] FIG. 2 is a block diagram of an electronic device according to one embodiment of the present disclosure. An electronic device (200) (e.g., the electronic device (110) of FIG. 1) may parse and store source code corresponding to candidate keywords. In one embodiment, the 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 the electronic device (200) may be omitted, or another component may be added to the electronic device (200). In one embodiment, additionally or alternatively, some components may be implemented as an integrated unit or as a singular or plurality of entities. In the present disclosure, one or more processors (210) may be referred to as processors (210). Unless the context clearly indicates otherwise, the expression processors (210) may mean a set of one or more processors. In the present disclosure, one or more memories (220) may be referred to as memories (220). The expression "memory" (220) may mean a set of one or more memories unless the context clearly indicates otherwise. In one embodiment, at least some of the components inside and outside the electronic device (200) may be connected to each other via a bus, GPIO (General Purpose Input / Output), SPI (Serial Peripheral Interface), or MIPI (Mobile Industry Processor Interface), etc., to exchange information (data, signals, etc.).

[0050] The processor (210) can control at least one component of an electronic device (200) connected to the processor (210) by running software (e.g., instructions, programs, etc.). Additionally, the processor (210) can perform various operations related to the present disclosure, such as computation, processing, data generation, and processing. Additionally, the processor (210) can load data, etc. from memory (220) or store it in memory (220). In one embodiment, the processor (210) can control a communication interface (230) to request various information from a user terminal (e.g., user terminal (120) of FIG. 1) and receive various information from the user terminal.

[0051] The memory (220) can store various information (data). The information stored in the memory (220) is information acquired, processed, or used by at least one component of the electronic device (200), and may include software (e.g., instructions, programs, etc.). The memory (220) may include volatile and / or non-volatile memory. In the present disclosure, instructions or programs are software stored in the memory (220) and may include an operating system for controlling the resources of the electronic device (200), an application, and / or middleware that provides various functions to the application so that the application can utilize the resources of the electronic device (200). In one embodiment, the memory (220) may store instructions that cause the processor (210) to perform calculations when executed by the processor (210). The memory (220) may store at least a portion of information received from a database through a communication interface (230) and / or information transmitted to a database through a communication interface (230). Specifically, the memory (220) can store instructions executed by the processor (210).

[0052] A communication interface (230) can perform wireless or wired communication between an electronic device (200) and a database or other external electronic device. For example, the communication interface (230) can perform wireless communication according to 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, the communication interface (230) can perform wired communication according to methods such as USB (Universal Serial Bus), HDMI (High Definition Multimedia Interface), RS-232 (Recommended Standard-232), or POTS (Plain Old Telephone Service). In one embodiment, the electronic device (200) may be implemented by integrating it with another device. In this case, the communication interface (230) may function as a connection circuit or interface connecting the electronic device (200) and the other device.

[0053] Hereinafter, the operation described as being performed by the electronic device in FIGS. 3 to 10 can be understood as being performed by the processor (210) of the electronic device (200) described in FIG. 2.

[0055] FIG. 3 illustrates a flowchart explaining a method for searching for recommended keywords by parsing the source code of candidate keywords according to one embodiment of the present disclosure.

[0056] In operation (S310), the electronic device (110) can obtain source code corresponding to one or more candidate keywords related to the execution of one or more test cases.

[0057] In one embodiment, each of one or more test cases may represent a test case for performing a test of specific software. More specifically, each of one or more test cases may represent a test case related to a page provided by specific software (e.g., a login page, a sign-up page, a customer support page, a home page, etc.). For example, test cases related to a login page may include a user authentication test case for attempting to log in by entering an ID and password, a password recovery test case related to password reset, and an account locking test case for locking the account when the password is entered incorrectly for a consecutive period. Test cases related to a login page may include not only front-end test cases as exemplified above, but also back-end test cases, such as a password storage test case that verifies whether the password is securely stored in a database using a hash algorithm.

[0058] In one embodiment, each of the one or more candidate keywords may represent a keyword related to the execution of one or more test cases. Each of the one or more candidate keywords may represent a keyword indicating an action executed according to the execution of at least one of the one or more test cases. For example, to execute a user authentication test case that attempts to log in by entering an ID and a password, the execution of a first action of entering an ID, a second action of entering a password, and a third action of performing access authentication using the entered ID and password may be required. Accordingly, candidate keywords related to the execution of the user authentication test case may include a first keyword indicating the first action, a second keyword indicating the second action, and a third keyword indicating the third action.

[0059] In one embodiment, the electronic device (110) may obtain source code corresponding to one or more candidate keywords related to the execution of one or more test cases from a resource file corresponding to one page related to one or more test cases. The resource file corresponding to one page is described in more detail in FIG. 4.

[0060] In operation (S320), the electronic device (110) can generate attribute information corresponding to each of one or more candidate keywords based on parsing source code corresponding to one or more candidate keywords.

[0061] In one embodiment, the electronic device (110) can identify a partial source code corresponding to each of one or more candidate keywords from a source code corresponding to one or more candidate keywords. In other words, the source code may include one or more partial source codes. The electronic device (110) can parse the partial source code corresponding to each candidate keyword. Based on parsing the partial source code corresponding to each candidate keyword, the electronic device (110) can generate attribute information corresponding to each candidate keyword. The attribute information may be separated by one or more keyword attributes. The electronic device (110) can generate attribute information corresponding to each candidate keyword by parsing the partial source code corresponding to each candidate keyword by one or more keyword attributes. One or more keyword attributes may include at least one of a page name, a keyword name, a keyword description, a keyword tag, and a keyword argument.

[0062] In operation (S330), the electronic device (110) can receive target information for searching for recommended keywords.

[0063] In one embodiment, the electronic device (110) may receive target information for searching for recommended keywords from a user terminal (120). The user terminal (120) may be a device for generating test cases. The user of the user terminal (120) may transmit target information to the electronic device (110) through the user terminal (120) in order to receive recommended keywords necessary for generating test cases from the electronic device (110).

[0064] In operation (S340), the electronic device (110) can search for a recommended keyword that matches the target information among one or more candidate keywords based on comparing attribute information corresponding to each of one or more candidate keywords with the target information.

[0065] In one embodiment, the electronic device (110) can search for a recommended keyword that matches the target information using attribute information corresponding to each of one or more candidate keywords. When the electronic device (110) finds a recommended keyword that matches the target information among one or more candidate keywords, it can provide the found recommended keyword to the user terminal (120). The electronic device (110) can transmit partial source code corresponding to the recommended keyword to the user terminal (120). The user of the user terminal (120) can generate a test case using the recommended keyword received from the electronic device (110).

[0066] In one embodiment, the electronic device (110) can search for a recommended keyword that matches the target information among a plurality of candidate keywords stored in the electronic device (110). However, for convenience of explanation, the following description focuses on the electronic device (110) searching for a recommended keyword that matches the target information among one or more candidate keywords related to a single page.

[0068] FIG. 4 is a diagram illustrating the process of obtaining source code of a candidate keyword according to one embodiment of the present disclosure.

[0069] In one embodiment, the electronic device (110) may obtain a resource file (401) corresponding to a page. The resource file (401) corresponding to a page may be generated by an external user. The resource file (401) corresponding to a page may include source code (410) of a test case associated with a page, source code (420) of test data used in the test case associated with a page, and source code (430) of one or more candidate keywords associated with the execution of the test case. Each of the one or more candidate keywords may be a keyword indicating an action performed according to the execution of the test case associated with a page. As described above, the test case associated with a page may represent a test case that can be executed in relation to a page, and may include, for example, both a front-end test case and a back-end test case.

[0070] In one embodiment, the electronic device (110) can identify source code (430) of one or more candidate keywords from a resource file (401) corresponding to one page. More specifically, the electronic device (110) can search for a first mark for identifying source code (430) of one or more candidate keywords in the resource file (401) corresponding to one page. The first mark may be an identifier corresponding to the start line of source code (430) of one or more candidate keywords. The electronic device (110) can identify code below the line where the first mark is located in the resource file (401) as source code (430) of one or more candidate keywords. Furthermore, the electronic device (110) can additionally search for a second mark, which is an identifier corresponding to the end line of source code (430) of one or more candidate keywords, in the resource file (401) corresponding to one page. In this case, the electronic device (110) can identify the code from the line below where the first mark is located in the resource file (401) to the line where the second mark is located as the source code (430) of one or more candidate keywords.

[0072] FIG. 5 is a diagram illustrating an example of identifying partial source code corresponding to each candidate keyword in the source code of one or more candidate keywords according to one embodiment of the present disclosure.

[0073] In one embodiment, the electronic device (110) can obtain a resource file (501) corresponding to one page and can identify source code (530) of one or more candidate keywords from the resource file (501) corresponding to one page. The electronic device (110) can search for a first mark (540), which is an identifier corresponding to the starting line of the source code (530) of one or more candidate keywords in the resource file (501) corresponding to one page, and can identify the code below the line where the first mark (540) is located as the source code (530) of one or more candidate keywords.

[0074] In one embodiment, the electronic device (110) can parse source code (530) of one or more candidate keywords. The electronic device (110) can trigger parsing of source code (530) of one or more candidate keywords in response to receiving a first pull request to merge source code (530) of one or more candidate keywords into a master branch. For example, the first pull request may include a resource file (501) corresponding to one page. Alternatively, the electronic device (110) can trigger parsing of source code (530) of one or more candidate keywords in response to deciding to merge the first pull request after receiving the first pull request to merge source code (530) of one or more candidate keywords into a master branch.

[0075] In one embodiment, the electronic device (110) can identify a partial source code (e.g., partial source code (550), partial source code (560)) corresponding to each of one or more candidate keywords in order to parse the source code (530) of one or more candidate keywords. Based on parsing the partial source code (e.g., partial source code (550), partial source code (560)) corresponding to each candidate keyword, the electronic device (110) can generate attribute information corresponding to each candidate keyword.

[0076] In one embodiment, the electronic device (110) can identify lines (e.g., first line (571), second line (572)) that do not start with a space in the source code (530) of one or more candidate keywords. The electronic device (110) can determine the lines (e.g., first line (571), second line (572)) that do not start with a space as the start lines of the partial source code (e.g., partial source code (550), partial source code (560)) corresponding to the candidate keywords. In other words, the resource file (501) corresponding to one page may have a specification set that the start lines of the partial source code corresponding to the candidate keywords must not start with a space.

[0077] For example, referring to FIG. 5, the electronic device (110) can determine a first line (571) that does not start with a space in the source code (530) of one or more candidate keywords as the starting line of the partial source code (550) corresponding to the first candidate keyword. Likewise, the electronic device (110) can determine a second line (572) that does not start with a space in the source code (530) of one or more candidate keywords as the starting line of the partial source code (560) corresponding to the second candidate keyword. The electronic device (110) can identify the code from the first line (571) to the line (573) immediately preceding the second line (572), which is the line following the first line (571) that does not start with a space, as the partial source code (550) corresponding to the first candidate keyword.

[0079] FIG. 6 is a diagram illustrating an example of parsing source code of one or more candidate keywords according to one embodiment of the present disclosure.

[0080] In one embodiment, the electronic device (110) can identify source code (630) of one or more candidate keywords from a resource file (601) corresponding to one page and can parse source code (630) of one or more candidate keywords. The electronic device (110) can identify partial source code corresponding to each of one or more candidate keywords from source code (630) of one or more candidate keywords. For example, referring to FIG. 6, the electronic device (110) can identify partial source code (650) corresponding to a third candidate keyword from source code (630) of one or more candidate keywords. Based on parsing partial source code (e.g., partial source code (650)) corresponding to each candidate keyword, the electronic device (110) can generate partial information for each of one or more keyword attributes of each candidate keyword. Partial information for each of one or more keyword attributes of each candidate keyword can constitute attribute information corresponding to each candidate keyword.

[0081] In one embodiment, one or more keyword attributes may include at least one of a page name, a keyword name, a keyword description, a keyword tag, and a keyword argument. Below, a process in which an electronic device (110) generates partial information for each of one or more keyword attributes of each candidate keyword using partial source code corresponding to each candidate keyword is described in detail.

[0082] In one embodiment, the electronic device (110) can generate a page name (e.g., login) for a third candidate keyword based on the file name (e.g., Login_page.robot) of a resource file (601) corresponding to one page. The resource file (601) corresponding to one page may have a specification setting that the file name of the resource file (601) corresponding to one page must include the name of the page.

[0083] In one embodiment, the electronic device (110) can generate a keyword name for the third candidate keyword (e.g., login the store app) based on the start line (671) of the partial source code (650) corresponding to the third candidate keyword. As described above, the electronic device (110) can identify the start line (671) of the partial source code (650) corresponding to the third candidate keyword by searching for lines that do not start with a space. Code corresponding to the keyword name of any candidate keyword can be written on the start line of the partial source code corresponding to any candidate keyword. Accordingly, the electronic device (110) can generate the code (e.g., login the store app) (651) written on the start line (671) of the partial source code (650) corresponding to the third candidate keyword as partial information for the keyword name of the third candidate keyword (e.g., login the store app).

[0084] In one embodiment, the electronic device (110) may pre-set a mark for distinguishing a specific keyword attribute (e.g., keyword description, keyword tag, or keyword factor) from other keyword attributes among one or more keyword attributes. The electronic device (110) may generate partial information for a specific keyword attribute of each candidate keyword based on searching for the pre-set mark from the partial source code corresponding to each candidate keyword.

[0085] For example, the electronic device (110) may pre-set a third mark (e.g., [Documentation]) for distinguishing the keyword description from other keyword attributes, a fourth mark (e.g., [Tags]) for distinguishing the keyword tag from other keyword attributes, and a fifth mark (e.g., [Arguments]) for distinguishing the keyword argument from other keyword attributes. Here, the keyword description may represent an explanation regarding the action indicated by the candidate keyword, the keyword tag may represent a word describing the action indicated by the candidate keyword, and the keyword argument may represent a parameter or input value required to perform the action indicated by the candidate keyword. The keyword description, keyword tag, and keyword argument may correspond to comments intended to aid user understanding, rather than source code executed by the electronic device. The electronic device (110) may search for a pre-set mark for a specific keyword attribute in the partial source code (650) corresponding to the third candidate keyword, and may generate partial information regarding the specific keyword attribute of the third candidate keyword using the code below the line where the searched mark is located. Specifically, the electronic device (110) can generate partial information about a specific keyword attribute of a third candidate keyword using code written from the line below where the searched mark is located up to the line before the line where the other mark is located and the line where the execution code is located, whichever line is earlier.

[0086] Referring to FIG. 6, the electronic device (110) can search for a third mark (e.g., [Documentation]) in the partial source code (650) corresponding to the third candidate keyword, and can generate partial information about the keyword description of the third candidate keyword using the code below the line where the third mark is located. For example, the electronic device (110) can generate partial information about the keyword description of the third candidate keyword using the code (652) written from below the line where the third mark is located up to the line before the line where another mark, the fourth mark, is located. Likewise, the electronic device (110) can search for a fourth mark (e.g., [Tags]) in the partial source code (650) corresponding to the third candidate keyword, and can generate partial information about the keyword tags of the third candidate keyword using the code below the line where the fourth mark is located. The electronic device (110) can generate partial information about the keyword tag of the third candidate keyword by using code (653) written from the line below where the fourth mark is located up to the line before the line where the fifth mark, which is another mark, is located. The electronic device (110) can search for the fifth mark (e.g., [Arguments]) in the partial source code (650) corresponding to the third candidate keyword, and can generate partial information about the keyword arguments of the third candidate keyword by using code from the line below where the fifth mark is located. The electronic device (110) can generate partial information about the keyword arguments of the third candidate keyword by using code (654) written from the line below where the fifth mark is located up to the line before the line where the execution code is located.

[0087] In one embodiment, a mark for distinguishing a specific keyword attribute (e.g., keyword description, keyword tag, or keyword argument) from other keyword attributes may not be found in the partial source code corresponding to one candidate keyword. In this case, the electronic device (110) may not generate partial information for the specific keyword attribute of one candidate keyword. For example, referring to FIG. 5, a fifth mark (e.g., [Arguments]) corresponding to a keyword argument may not be found in the partial source code (550) corresponding to the first candidate keyword. In this case, when generating attribute information corresponding to the first candidate keyword, the electronic device (110) may not generate partial information for the keyword argument of the first candidate keyword.

[0088] In one embodiment, the electronic device (110) can update attribute information corresponding to each of the one or more candidate keywords when the source code of one or more candidate keywords is changed. More specifically, a specific user may modify or add the source code of one or more candidate keywords, and the specific user may transmit a second pull request to the electronic device (110) requesting an update of the source code of one or more candidate keywords through the specific user's user terminal. For example, the second pull request may include the source code of one or more candidate keywords modified by the specific user. In this case, the electronic device (110) may identify the changed code portion in the source code of one or more candidate keywords in response to receiving the second pull request. The electronic device (110) may identify the changed code portion by comparing the source code of one or more candidate keywords previously stored in the electronic device (110) with the source code of one or more candidate keywords included in the second pull request. The electronic device (110) can update attribute information corresponding to each of one or more candidate keywords based on parsing the identified code portion. For example, if the keyword name of a specific candidate keyword is changed, the electronic device (110) can update the keyword name to the keyword name after the change and additionally store the keyword name before the change as partial information for the keyword name of the specific candidate keyword.

[0090] FIG. 7 is a drawing illustrating an example of storing attribute information corresponding to one or more candidate keywords according to one embodiment of the present disclosure.

[0091] In one embodiment, the electronic device (110) may store attribute information corresponding to a plurality of candidate keywords. FIG. 7 illustrates a table (701) that exemplarily shows attribute information corresponding to a plurality of candidate keywords stored by the electronic device (110). The table (701) may include, for example, attribute information (721) corresponding to a first candidate keyword related to a homepage and attribute information (722) corresponding to a third candidate keyword related to a login page. That is, the table (701) may include attribute information of candidate keywords related to various pages.

[0092] In one embodiment, attribute information corresponding to a candidate keyword (e.g., attribute information (721), attribute information (722)) may include partial information for each of one or more keyword attributes of the candidate keyword (e.g., page name (711), keyword name (712), keyword description (713), keyword tag (714), or keyword factor (715)) and credibility (730) for the candidate keyword. The electronic device (110) may express the credibility (730) for the candidate keyword as a credibility score (e.g., 82 points).

[0093] In one embodiment, the electronic device (110) can set a reliability for each of one or more candidate keywords. The electronic device (110) can adjust the reliability of each of one or more candidate keywords. More specifically, the electronic device (110) can execute a specific test case among one or more test cases and can perform feedback to adjust the reliability of at least one candidate keyword associated with the execution of the specific test case according to the execution of the specific test case. Here, each of the at least one candidate keyword may represent a keyword that indicates an action to be performed according to the execution of the specific test case. Since the electronic device (110) executes each of the at least one candidate keyword for the execution of the specific test case, it can determine whether the execution of each of the at least one candidate keyword is successful. Based on whether the execution of the at least one candidate keyword is successful, the electronic device (110) can adjust the reliability corresponding to each of the at least one candidate keyword.

[0094] In one embodiment, the electronic device (110) can increase the reliability of a candidate keyword if the execution of a candidate keyword is successful according to the execution of a specific test case. For example, the electronic device (110) can increase the reliability score representing the reliability of a candidate keyword by a preset value (e.g., '1'). Conversely, the electronic device (110) can decrease the reliability of a candidate keyword if the execution of a candidate keyword fails according to the execution of a specific test case. For example, the electronic device (110) can decrease the reliability score representing the reliability of a candidate keyword by a preset value (e.g., '1'). Furthermore, as the electronic device (110) performs feedback to adjust the reliability corresponding to one or more candidate keywords, if the reliability corresponding to a specific candidate keyword among one or more candidate keywords decreases below a threshold reliability level, it may request an update to the administrator for the partial source code corresponding to the specific candidate keyword, delete the attribute information corresponding to the specific candidate keyword by deleting the partial source code of the specific candidate keyword, or set the specific candidate keyword so that it is no longer recommended.

[0095] In one embodiment, the electronic device (110) can individually set the reliability of candidate keywords for each test environment. A test environment may represent an operating environment, such as hardware, software, or a network, set up to execute test cases of software. A candidate keyword may execute smoothly in one test environment but may not execute smoothly in another test environment. Therefore, the electronic device (110) can individually manage the reliability of candidate keywords for each test environment. For example, the electronic device (110) may have a first reliability score representing the reliability of a candidate keyword in a first test environment and a second reliability score representing the reliability of a candidate keyword in a second test environment that are different from each other.

[0097] FIG. 8 illustrates a flowchart explaining the process of searching for recommended keywords according to one embodiment of the present disclosure.

[0098] In one embodiment, the electronic device (110) can search for a recommended keyword that matches the target information among one or more candidate keywords based on comparing attribute information corresponding to each of one or more candidate keywords with the target information. The operations (S841), (S842), and (S843) of FIG. 8 may be at least some operations of the operation (S340) of FIG. 3. Hereinafter, the operations (S841, S842, S843) illustrated in FIG. 8 will be described in detail.

[0099] In operation (S841), the electronic device (110) can identify keyword attributes mapped to target information.

[0100] In one embodiment, the electronic device (110) may receive target information and, together with it, receive information regarding keyword attributes mapped to the target information from the user terminal (120). For example, the keyword attributes mapped to the target information may be at least one of a keyword name, a keyword description, a keyword tag, and a keyword factor. In another embodiment, the target information may already include information regarding keyword attributes mapped to the target information.

[0101] In operation (S842), the electronic device (110) can calculate a matching degree between each candidate keyword and target information based on comparing partial information regarding the identified keyword attributes of each candidate keyword with target information. The matching degree may have a value of, for example, 0 or greater and 1 or less. In other words, the maximum value of the matching degree between each candidate keyword and target information may be set to 1 and the minimum value to 0.

[0102] For example, the electronic device (110) can identify keyword attributes mapped to target information as keyword tags. In this case, the electronic device (110) can compare partial information regarding the keyword tags of each candidate keyword with the target information. Based on comparing the partial information regarding the keyword tags of each candidate keyword with the target information, the electronic device (110) can calculate the degree of matching between each candidate keyword and the target information.

[0103] In one embodiment, the electronic device (110) can calculate the degree of matching between each candidate keyword and target information based on the degree of overlap between partial information and target information regarding the identified keyword attributes of each candidate keyword. For example, the electronic device (110) can calculate a higher degree of matching between the candidate keyword and target information as the degree of overlap between the candidate keyword and target information increases. Conversely, the electronic device (110) can calculate a lower degree of matching between the candidate keyword and target information as the degree of overlap between the candidate keyword and target information decreases.

[0104] In one embodiment, the electronic device (110) can calculate the ratio of the number of words that overlap between the partial information and the target information relative to the total number of words included in the partial information for the identified keyword attribute of each candidate keyword as the overlap between each candidate keyword and the target information. For example, the keyword attribute mapped to the target information is a keyword tag, and the partial information for the keyword tag of the candidate keyword may include 'store' and 'common'. If the word that overlaps between the partial information for the keyword tag of the candidate keyword and the target information is identified as 'store', the electronic device (110) can calculate the overlap between the candidate keyword and the target information as 1 / 2 (=0.5). However, the method for calculating the overlap between the candidate keyword and the target information is not limited to this, and the overlap between the candidate keyword and the target information may be calculated in various other ways.

[0105] In operation (S843), the electronic device (110) can search for the recommended keyword among one or more candidate keywords based on the result of calculating the matching degree.

[0106] In one embodiment, the electronic device (110) may determine that a recommended keyword is searchable if there is at least one candidate keyword among one or more candidate keywords whose degree of matching with target information is greater than or equal to a threshold value. In other words, the electronic device (110) may determine that a candidate keyword among one or more candidate keywords whose degree of matching with target information is greater than or equal to a threshold value is a recommended keyword. On the other hand, if the degree of matching with target information among one or more candidate keywords is all less than a threshold value, the electronic device (110) may determine that a recommended keyword is not searchable among one or more candidate keywords. For example, the threshold value may be 0.7, but is not limited thereto.

[0108] FIG. 9 illustrates an exemplary page displaying recommended keywords that match target information according to one embodiment of the present disclosure.

[0109] In one embodiment, when the electronic device (110) determines that a recommended keyword is searchable among one or more candidate keywords, it may provide a recommended keyword that matches the target information to the user terminal (120). In other words, if there is at least one candidate keyword among one or more candidate keywords whose degree of matching with the target information is greater than or equal to a threshold value, the electronic device (110) may provide the candidate keyword whose degree of matching with the target information is greater than or equal to the threshold value as a recommended keyword to the user terminal (120). The electronic device (110) may provide a page (901) displaying a recommended keyword that matches the target information among one or more candidate keywords to the user terminal (120).

[0110] Page (901) may display one or more recommended keywords (911, 921, 931, 941, …) that match the target information. Each of the one or more recommended keywords (911, 921, 931, 941, …) that match the target information may be a candidate keyword among one or more candidate keywords whose degree of matching with the target information is greater than or equal to a threshold value. For example, referring to FIG. 9, Page (901) may display information (910) regarding the first recommended keyword (911), information (920) regarding the second recommended keyword (921), information (930) regarding the third recommended keyword (931), and information (940) regarding the fourth recommended keyword (941).

[0111] In one embodiment, the electronic device (110) can determine the recommendation value for each of one or more recommended keywords (911, 921, 931, 941, …). The electronic device (110) can display one or more recommended keywords (911, 921, 931, 941, …) in order of highest recommendation value. For example, the electronic device (110) can display one recommended keyword in an area close to the first side edge of the page (901) as the recommendation value rank of one recommended keyword increases. Referring to FIG. 9, the recommendation value of the first recommended keyword (911) may be higher than the recommendation value of the second recommended keyword (921), and the recommendation value of the second recommended keyword (921) may be higher than the recommendation value of the third recommended keyword (931).

[0112] In one embodiment, the electronic device (110) can calculate a recommendation value for a single recommendation keyword using the degree of matching with the target information of the single recommendation keyword and the reliability corresponding to any recommendation keyword. More specifically, the electronic device (110) can calculate a recommendation value corresponding to a single recommendation keyword by summing the value obtained by applying a first weight to the degree of matching with the target information of the single recommendation keyword and the value obtained by applying a second weight to the reliability corresponding to the single recommendation keyword. Here, the first weight may be greater than or equal to the second weight. Each of the first weight and the second weight may have a value of 0 or greater and 1 or less. For example, the first weight may be 0.8 and the second weight may be 0.5, but is not limited thereto. For reference, page (901) of FIG. 9 illustrates an example in which the degree of matching and reliability with the target information of each of one or more recommended keywords (911, 921, 931, 941, …) is displayed, but the information displayed on page (901) is not limited to this, and other information related to one or more recommended keywords (911, 921, 931, 941, …) (e.g., partial source code, recommendation value, etc.) may also be displayed.

[0113] In one embodiment, the electronic device (110) may provide information regarding a specific recommended keyword (e.g., a second recommended keyword (921)) (e.g., partial source code corresponding to the second recommended keyword (921)) to a user terminal (120) in response to a user input selecting a specific recommended keyword (e.g., a second recommended keyword (921)) among one or more recommended keywords (911, 921, 931, 941, …) displayed on a page (901).

[0115] FIG. 10 is a diagram illustrating software used by an electronic device according to one embodiment of the present disclosure to provide a search function for recommended keywords that match target information.

[0116] In one embodiment, the electronic device (110) may use a plurality of software programs to provide a search function for recommended keywords that match target information. For example, the electronic device (110) may use an automation framework (1001), a source code parsing program (1002), a keyword reliability management program (1003), and a recommended keyword search platform (1004). In one embodiment, at least one of the automation framework (1001), the source code parsing program (1002), the keyword reliability management program (1003), and the recommended keyword search platform (1004) may be included as part of the electronic device (110). Below, the operations performed by each software program will be described.

[0117] First, the automation framework (1001) can generate source code (1011) for a test case related to a page through an external user. Additionally, the automation framework (1001) can generate source code (1012) for one or more candidate keywords and generate source code (1013) for test data used in the test case. That is, the automation framework (1001) can generate a resource file corresponding to a page.

[0118] A source code parsing program (1002) can receive pull requests (e.g., a first pull request, a second pull request) from an automation framework (1011) (1021). In response to receiving the pull requests, the source code parsing program (1002) can trigger a keyword parser (1022). The keyword parser of the source code parsing program (1002) can generate attribute information (1023) corresponding to each candidate keyword based on parsing the source code of one or more candidate keywords. The source code parsing program (1002) can transmit the attribute information corresponding to each candidate keyword to a keyword confidence management program (1003).

[0119] The keyword reliability management program (1003) can adjust the reliability (1031) of one or more candidate keywords according to the execution of a test case. The keyword reliability management program (1003) may include a repository (1030) and may store the reliability of each candidate keyword in the repository (1030). The keyword reliability management program (1003) may store attribute information corresponding to each candidate keyword received from the source code parsing program (1002) in the repository (1030).

[0120] The recommended keyword search platform (1004) can provide recommended keywords that match target information to a user who intends to generate a test case through a user terminal (120). Specifically, the recommended keyword search platform (1004) can receive target information (1041) from the user terminal (120). The recommended keyword search platform (1004) can search for recommended keywords that match target information (1042) using attribute information of each candidate keyword stored in the storage (1030). The recommended keyword search platform (1004) can provide a page displaying recommended keywords to the user terminal (120) (1043).

[0122] The methods according to the present disclosure may be computer-implemented methods. A computer may include, for example, an electronic device capable of performing processing. Although each step of the methods in the present disclosure is illustrated and described in a predetermined order, the steps may be performed in any combination according to the present disclosure, in addition to being performed sequentially. In one embodiment, at least some of the steps may be performed in parallel, iteratively, or heuristically. The present disclosure does not exclude variations or modifications to the methods. In one embodiment, at least some of the steps may be omitted, or other steps may be added.

[0123] Various embodiments of the present disclosure may be implemented as software recorded on a machine-readable recording medium. The software may be software for implementing the various embodiments of the present disclosure described above. The software may be inferred from the various embodiments of the present disclosure by programmers skilled in the art to which the present disclosure pertains. For example, the software may be machine-readable instructions (e.g., code or code segments) or a program. The machine may be a device capable of operating according to instructions called from the recording medium, for example, a computer. In one embodiment, the machine may be an electronic device according to the embodiments of the present disclosure. In one embodiment, the processor of the machine may execute the called instructions to cause the components of the machine to perform functions corresponding to those instructions. In one embodiment, the processor may be a processor according to the embodiments of the present disclosure. The recording medium may mean any type of recording medium in which data is stored that can be read by the machine. The recording medium may include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. In one embodiment, the recording medium may be memory. In one embodiment, the recording medium may be implemented in a distributed form in a networked computer system, etc. Software may be stored and executed in a distributed manner in a computer system, etc. The recording medium may be a non-transitory recording medium. A non-transitory recording medium refers to a tangible medium that exists regardless of whether data is stored semi-permanently or temporarily, and does not include a signal that propagates transitorily.

[0124] Although the technical concept of the present disclosure has been described by various embodiments above, the technical concept of the present disclosure includes various substitutions, modifications, and alterations that can be made within the scope of understanding of those skilled in the art to which the present disclosure pertains. Furthermore, it should be understood that such substitutions, modifications, and alterations may be included within the scope of the appended claims. Embodiments according to the present disclosure may be combined with one another. Each embodiment may be combined in various ways depending on the circumstances, and embodiments created by combining also fall within the scope of the present disclosure.

Claims

Claim 1 A method for managing keywords related to the execution of a test case performed by an electronic device, comprising: obtaining source code corresponding to one or more candidate keywords related to the execution of one or more test cases; generating attribute information corresponding to each of the one or more candidate keywords based on parsing the source code; receiving target information for searching for recommended keywords; and searching for recommended keywords that match the target information among the one or more candidate keywords based on comparing the attribute information corresponding to each of the one or more candidate keywords with the target information, wherein the step of generating attribute information corresponding to each of the one or more candidate keywords includes the step of triggering parsing of the source code in response to receiving a first pull request to merge the source code into a master branch. Claim 2 A method for managing keywords related to the execution of a test case, wherein each of the above one or more test cases represents a test case associated with one page, and the step of obtaining the source code includes the step of identifying the source code from a resource file corresponding to the one page. Claim 3 delete Claim 4 A method for keyword management related to the execution of a test case according to claim 1, wherein the step of generating attribute information corresponding to each of the one or more candidate keywords comprises: a step of identifying a partial source code corresponding to each of the one or more candidate keywords from the source code; and a step of generating partial information for each of the one or more keyword attributes of each candidate keyword based on parsing the partial source code corresponding to each candidate keyword, wherein the partial information for each of the one or more keyword attributes of each candidate keyword constitutes attribute information corresponding to each candidate keyword. Claim 5 A method for keyword management related to the execution of a test case according to claim 1, wherein the step of generating attribute information corresponding to each of the one or more candidate keywords comprises identifying one or more lines in the source code that do not start with a space, and determining each of the one or more lines as the starting line of the partial source code corresponding to the candidate keyword. Claim 6 A method for managing keywords related to the execution of a test case, wherein, in paragraph 4, the one or more keyword attributes include at least one of a page name, a keyword name, a keyword description, a keyword tag, and a keyword argument. Claim 7 A method for keyword management related to the execution of a test case according to claim 4, wherein the step of pre-setting a mark for distinguishing a specific keyword attribute among one or more keyword attributes from other keyword attributes, and generating partial information for each of one or more keyword attributes of each candidate keyword, comprises the step of generating partial information for the specific keyword attribute of each candidate keyword based on searching for the mark from the partial source code corresponding to each candidate keyword. Claim 8 A method for keyword management related to the execution of a test case according to claim 1, further comprising: receiving a second pull request requesting an update of the source code according to a change in the source code; identifying a modified code portion in the source code in response to receiving the second pull request; and updating attribute information corresponding to each of the one or more candidate keywords based on parsing the identified code portion. Claim 9 A method for keyword management related to the execution of a test case according to claim 1, further comprising the step of setting credibility for each of the one or more candidate keywords. Claim 10 A method for managing keywords related to the execution of a test case according to claim 9, wherein the step of setting a reliability for each of the one or more candidate keywords comprises: executing a specific test case among the one or more test cases and determining whether the execution of at least one candidate keyword related to the execution of the specific test case is successful; and adjusting the reliability corresponding to each of the at least one candidate keyword based on whether the execution of the at least one candidate keyword is successful. Claim 11 A method for keyword management related to the execution of a test case according to claim 1, wherein the step of searching for the recommended keyword comprises: a step of identifying keyword attributes mapped to the target information; a step of calculating a matching degree between each candidate keyword and the target information based on comparing partial information regarding the identified keyword attributes of each candidate keyword with the target information; and a step of searching for the recommended keyword among one or more candidate keywords based on the result of calculating the matching degree. Claim 12 A method for keyword management related to the execution of a test case, wherein the step of searching for the recommended keyword among the one or more candidate keywords includes the step of determining the candidate keyword among the one or more candidate keywords, whose degree of matching with the target information is greater than or equal to a threshold value, as the recommended keyword. Claim 13 A method for keyword management related to the execution of a test case according to claim 12, further comprising: a step of determining a recommendation value for each of the plurality of recommended keywords when the above-determined recommended keywords are plurality of; and a step of ensuring that the plurality of recommended keywords are displayed in order of highest recommendation value. Claim 14 A method for keyword management related to the execution of a test case, wherein the step of determining the recommendation value for each of the plurality of recommendation keywords comprises the step of calculating the recommendation value by adding the value obtained by applying a first weight to the degree of matching of the recommendation keyword with the target information and the value obtained by applying a second weight to the reliability corresponding to the recommendation keyword. Claim 15 In paragraph 14, the above first weight is greater than or equal to the above second weight, a method for managing keywords related to the execution of test cases. Claim 16 A method for keyword management related to the execution of a test case, wherein the step of calculating the degree of matching between each candidate keyword and the target information comprises: the step of calculating the degree of overlap between partial information regarding the identified keyword attribute of each candidate keyword and the target information; and the step of calculating the degree of matching between each candidate keyword and the target information based on the calculated degree of overlap. Claim 17 A method for managing keywords related to the execution of a test case, wherein, in claim 16, the step of calculating the degree of overlap between partial information regarding the identified keyword attribute of each candidate keyword and the target information is characterized by calculating the ratio of the number of words that overlap between the partial information and the target information relative to the total number of words included in the partial information regarding the identified keyword attribute of each candidate keyword as the degree of overlap. Claim 18 An electronic device comprising: one or more processors; and one or more memories storing instructions to be executed by said one or more processors, wherein, upon execution of said instructions, said one or more processors are configured to execute a method according to any one of claims 1, 2, and 4 through 17. Claim 19 A non-transient computer-readable recording medium having recorded instructions that cause one or more processors to perform an operation when executed by one or more processors, wherein the instructions are configured to cause the one or more processors to execute a method according to any one of claims 1, 2, and 4 through 17.