Electronic device and code test supporting method thereof

TWI937552BActive Publication Date: 2026-09-01COUPANG CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
TW113134019
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2024-07-15
Filing Date
2024-09-09
Publication Date
2026-09-01
Estimated Expiration
2044-09-08

AI Technical Summary

Technical Problem

Existing regression testing methods often fail to select appropriate test cases, leading to missed critical issues and potential errors in software development due to the lack of effective association between code changes and functional changes.

Method used

A method and electronic device that support code testing by confirming first and second change information, identifying relevant test cases through virtual user actions, and utilizing mapping tables and hierarchical graphs to associate functional changes with test cases, with test strategy information guiding the selection process.

Benefits of technology

Enhances regression testing by ensuring that test cases are aligned with functional changes, improving code stability and error detection, and optimizing the testing process through strategic selection of test cases based on code coverage and priority.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TB001908530_001
    Figure TWG2TB001908530_001
  • Figure TWG2TB001908530_002
    Figure TWG2TB001908530_002
  • Figure TWG2TB001908530_003
    Figure TWG2TB001908530_003
Patent Text Reader

Abstract

The present invention provides a code testing support method for an electronic device, comprising the following steps: confirming first change information related to code changes, wherein the code is related to an application; confirming second change information based on the first change information, wherein the second change information is related to functional changes that occur with the code changes; and confirming at least one first test case including at least one virtual user action based on the second change information.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to an electronic device and a method for supporting code testing therewith. [Previous Technology]

[0002] Regression testing is crucial in software development. The purpose of regression testing is to prevent new code changes from breaking existing functionality. Therefore, it is essential to carefully select test cases that can test for errors or core functionalities that have previously caused problems. By using test cases that can test critical functionalities, the impact of newly introduced code on the existing system can be effectively understood, and potential problems can be identified early on.

[0003] Choosing the wrong test cases increases the likelihood of missing truly important issues. For example, test cases that don't include critical paths fail to verify many parts of the code. This means unexpected errors may occur later. Conversely, choosing appropriate regression test cases is a powerful tool for improving code stability and preventing errors in advance. Therefore, it is essential to select appropriate test cases when performing regression testing.

[0004] In this regard, see previous documents such as KR10-1989802B1. [Summary of the Invention]

[0005] [Problem to be Solved by the Invention] The disclosed embodiments aim to provide an electronic device and a method for supporting code testing therewith. Specifically, one of its objectives is to support the selection of appropriate test cases when performing regression testing.

[0006] The technical problem to be solved in this embodiment is not limited to the technical problem described above; other technical problems can be deduced by analogy based on the following embodiments. [Technical Means for Solving the Problem]

[0007] One aspect of the present invention provides a code testing support method, which includes the following steps: confirming first change information related to code changes, wherein the code is related to an application; confirming second change information based on the first change information, wherein the second change information is related to functional changes that occur with the code changes; and confirming at least one first test case including at least one virtual user action based on the second change information.

[0008] One embodiment of the present invention may include a code testing support method, wherein the step of confirming the first change information includes the following steps: confirming the detailed code written according to each development branch; based on the detailed code, confirming the integration code related to the application; and based on the difference information between the integration code and the existing code, confirming the first change information.

[0009] One embodiment of the present invention may include a code testing support method, wherein the step of confirming the second change information includes the following steps: confirming information of at least one first code file based on the first change information, the at least one first code file including code obtained by deleting, changing and adding compared to existing code; confirming at least one function corresponding to the at least one first code file; confirming the second change information indicating that the confirmed at least one function has been changed.

[0010] One embodiment of the present invention may include a code testing support method, wherein the step of confirming the at least one first test case includes the following steps: confirming a mapping table including the association between a plurality of test cases and a plurality of functions of the application; and confirming in the mapping table the at least one first test case corresponding to at least one changed function, wherein the at least one changed function is confirmed based on the second change information.

[0011] One embodiment of the present invention may include a code testing support method, which further includes the following steps: compiling integrated code including code corresponding to the first change information to confirm the test application; and confirming the code test results obtained by applying the first test case to the test application.

[0012] One embodiment of the present invention may include a code testing support method, wherein the step of verifying the above-mentioned test application includes the following steps: further verifying the test application based on inserted code, wherein the inserted code is used to verify the code coverage generated as test cases are executed.

[0013] One embodiment of the present invention may include a code testing support method, which further includes the following steps: confirming the code coverage of the first test case; and updating a mapping table including the association between the test case and the above-mentioned functions based on the code coverage of the first test case.

[0014] One embodiment of the present invention may include a code testing support method, wherein the step of confirming the first test case includes the following steps: confirming a one-way graph representing the hierarchical structure between the functions corresponding to each of the plurality of functions; in the one-way graph, confirming at least one first node associated with at least one function corresponding to at least one function of the second change information; in the one-way graph, performing a depth-first search (DFS) starting from the at least one first node to confirm at least one first function set including at least one function corresponding to the second change information; and confirming the first test case corresponding to at least a portion of the functions included in the first function set.

[0015] One embodiment of the present invention may include a code testing support method, wherein the step of confirming the first test case includes the following steps: confirming test strategy information; and confirming the first test case based on the second change information and the test strategy information.

[0016] One embodiment of the present invention may include a code testing support method, wherein the test strategy information is set according to each functional group including at least one function.

[0017] One embodiment of the present invention may include a code testing support method, wherein the step of confirming the first test case includes the following steps: based on the test strategy information, determining at least one of the number of test cases selected as the first test case and the number of tests using the first test case, wherein the test case is related to the function of the change corresponding to the second change information.

[0018] One embodiment of the present invention may include a code testing support method, wherein the test strategy information is set in the following manner: including test priority information of each function, and by applying the test strategy information, at least one of the priority confirmed based on the test priority information of each function and the number of test cases and the number of tests selected for the functions whose priority has been confirmed is selected in a proportional manner.

[0019] Another aspect of the present invention provides an electronic device that supports code testing, comprising: a processor; and a memory storing one or more instructions; wherein the processor is configured to execute the one or more instructions, thereby confirming first change information related to a change in code, the code being related to an application; confirming second change information based on the first change information, the second change information being related to a functional change occurring with the code change; and confirming at least one first test case including at least one virtual user action based on the second change information.

[0020] In another aspect, the present invention may provide a non-transitory computer-readable recording medium that records a program for executing the above-described code test support method on a computer.

[0021] Specific details of other embodiments are included in the detailed description and drawings. [Effects of the Invention]

[0022] According to the proposed embodiments, one or more of the following effects can be expected.

[0023] According to embodiments of this specification, support can be provided in the following manner: regression testing can be performed using test cases associated with functional changes that occur as the code changes.

[0024] Furthermore, according to embodiments of this specification, changes to functionality can be associated with test cases based on the code coverage of the test cases.

[0025] Furthermore, according to embodiments of this specification, the settings used to provide test cases can also be changed based on test strategy information.

[0026] The effects of the present invention are not limited to those mentioned above. Those skilled in the art can clearly understand other effects not mentioned based on the description in the claims of the invention.

Implementation Method

[0028] The terminology used in the embodiments is selected as widely used common terms as possible to consider the functions of this invention, but may vary depending on the intentions or precedents of those skilled in the art, the emergence of new technologies, etc. Furthermore, in certain situations, there may be terms arbitrarily selected by the applicant; in such cases, their meanings will be described in detail in the corresponding explanatory section. Therefore, the terminology used in this invention should be defined based on the meaning of the term and the entire content of this invention, and not simply based on the name of the term.

[0029] Throughout the specification, when a part is described as "including" a certain constituent element, it means that other constituent elements may be included, rather than excluded, unless otherwise specified.

[0030] The expression “at least one of a, b and c” as recorded throughout the specification may include “a alone”, “b alone”, “c alone”, “a and b”, “a and c”, “b and c” or “a, b and c”.

[0031] The "terminal" mentioned below can be implemented by a computer or a portable terminal, which can connect to a server or other terminal via a network. Here, the computer includes, for example, a laptop computer, desktop computer, or laptop computer equipped with a web browser. The portable terminal is a wireless communication device that ensures portability and mobility, and may include, for example, IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), LTE (Long Term Evolution) and other communication terminals, such as smartphones, tablets and all types of handheld wireless communication devices.

[0032] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily implement the invention. However, the present invention can be implemented in various different forms and is not limited to the embodiments described herein.

[0033] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

[0034] Figure 1 is a diagram illustrating an example of an electronic device that supports code testing according to an embodiment.

[0035] Referring to FIG1, the electronic device 100 is capable of operating by receiving codes and outputting test cases. On the other hand, FIG1 only shows the components related to this embodiment. Therefore, those skilled in the art related to this embodiment will understand that other general components may be included in addition to those shown in FIG1.

[0036] Figure 2 is a flowchart illustrating a code testing support method of an embodiment.

[0037] Referring to Figure 2, in step S210, the electronic device 100 can confirm the first change information related to the code change, which is related to the application. Here, the first change information can be confirmed by comparing the integrated code of the changed code with the existing code, which will be explained in detail below.

[0038] In step S220, the electronic device 100 may, based on the first change information, confirm the second change information related to the functional changes that occur with the code change. Specifically, the second change information may indicate the changes that occur to the functions implemented by each code as a result of the code change.

[0039] In step S230, the electronic device 100 may, based on the second change information, confirm at least one first test case including at least one virtual user action. The first test case may be related to the second change information, i.e., the change of function, and may include a series of virtual user actions used to test the function changed as described above. As an example, if the above application is an application for e-commerce, and the second change information is related to the change of function of the Search Detail Page (SDP), then the first test case may include a series of actions performed by the virtual user in the SDP, such as a series of clicks on various buttons in the SDP.

[0040] According to one embodiment, test strategy information may also be used during the verification process of the first test case as described above. In this regard, reference will be made to Figure 3, which is shown as a simplified flowchart.

[0041] Figure 3 is a flowchart illustrating another embodiment of the code testing support method.

[0042] Referring to Figure 3, the electronic device 100 can first confirm the first change information in step S310 and confirm the second change information in step S320. Unlike Figure 2, the electronic device 100 can confirm the test strategy information in step S330 and confirm the first test case by referring to both the second change information and the test strategy information in step S340. The process of confirming the first test case by referring to the test strategy information as described above will be described below. Before that, an embodiment of confirming the first test case based on the second change information will be described in detail.

[0043] First, an example of the electronic device 100 confirming the first change information will be described with reference to FIG4.

[0044] Figure 4 is a diagram illustrating an example of the confirmation process for the first change information in an embodiment.

[0045] Referring to FIG4, the electronic device 100 can confirm the first to ninth detailed codes. Here, each detailed code may be written in a branch, and the branch may be a detailed unit developed separately for the services to be implemented in the application. Also, the representation of the first to ninth detailed codes is only an example, and more or fewer detailed codes may be confirmed according to each branch. The electronic device 100 can compare the integrated code 110 confirmed by receiving the first to ninth detailed codes as described above with the existing code 120, that is, the existing code used to provide application services, thereby confirming the difference information between the integrated code and the existing code. That is, the electronic device 100 can confirm the first change information 130 by confirming the parts in the integrated code 110 that have changed compared to the existing code 120, and the first change information 130 indicates which part has changed. Here, the integrated code 110 can also be confirmed by covering the parts in the existing code 120 that correspond to the first to ninth detailed codes.

[0046] The electronic device 100 can determine the first change information 130 based on which file each detailed code, such as the first to ninth detailed codes, is included in among the code files used to execute the application. For example, if the first detailed code is a code included in code file A, but it is determined that code file A has been changed, then the first change information 130 may include information about code file A. Hereinafter, based on FIG5, an example of using the first change information 130 as described above to determine the second change information will be described.

[0047] Figure 5 is a diagram illustrating the confirmation process of second change information based on first change information in an embodiment.

[0048] Referring to FIG5, the electronic device 100 can confirm information about at least one first code file based on the first change information. This at least one first code file includes code that has undergone at least one of deletion, modification, and addition compared to existing code. Referring to FIG5, in the case where the application is programmed using the Java language, the first change information 130 can indicate that at least one of deletion, modification, and addition has been performed on the TravelDetailPageSchemeParser.java file 111 and the TravelGatewayPageSchemerParser.java file 112 among the plurality of code files included in the integrated code 110. The electronic device 100 can confirm the second change information 140 based on the first change information 130 confirmed as described above. That is, the electronic device 100 can confirm at least one function corresponding to the first code file that includes code that has undergone at least one of deletion, modification, and addition. In the case described in scenario 5, electronic device 100 can confirm the functions associated with the TravelDetailPageSchemeParser.java file 111 and the TravelGatewayPageSchemerParser.java file 112. As an example, the TravelDetailPageSchemeParser.java file 111 and the TravelGatewayPageSchemerParser.java file 112 can be associated with the Scheme Parsing function of the Travel Detail Page (TDP) and the Scheme Parsing function of the Travel Gateway Page (TGP), respectively, and the second change information 140 may include information indicating the functions described above.

[0049] Next, referring to Figure 6, an example of confirming the first test case based on the second change information will be described.

[0050] Figure 6 is a diagram illustrating an example of the verification process of the first test case of an embodiment.

[0051] Referring to Figure 6, the electronic device 100 can confirm the mapping table 150. The mapping table 150, as information including the relationship between a plurality of functions of an application and a plurality of test cases, may include information on the relationship between test cases capable of testing each function and the corresponding function. The mapping table 150 may be constructed and updated based on the code coverage information of each test case, which will be described in detail below. As can be confirmed in Figure 5, the mapping table 150 may include the relationship between the TDP scheme profiling function's Click one Travel Product test case and the Show TDP test case, and may include the relationship between the TGP scheme profiling function's Click TG Icon in Core HP (Home Page) test case and the Show TGP test case, etc. The electronic device 100 may confirm at least one first test case corresponding to at least one changed function based on the mapping table described above, wherein the at least one changed function is confirmed based on the second change information. In the example of Figure 5, the electronic device 100 can identify at least a portion of the following cases as the first test case: clicking a travel product test case, displaying a TDP test case, clicking a TG icon test case in the core HP, and displaying a TGP test case.

[0052] If the first test case is confirmed as described above, the electronic device 100 can compile integrated code including the code corresponding to the first change information to confirm the test application. Here, the test application is similar to the application described above and may be one that requires regression testing due to code changes. The electronic device 100 can confirm the code test results obtained by applying the first test case to the test application. As an example, the electronic device 100 can send the first test case to the tester terminal, i.e., the user terminal performing code testing, to confirm how the code test using the first test case is performed on the tester terminal executing the test application. When the code test result of the integrated code is qualified, i.e., when the test application runs well when the first test case is applied, the application executable file package corresponding to the integrated code can be released.

[0053] Here, in addition to the code corresponding to the first change information, the test application can further confirm the code coverage based on the integrated code, which includes inserted code, used to confirm the code coverage generated as the test cases are executed. Here, code coverage can be information indicating which column or command in the code has been executed as the test cases are executed, and which branch the code execution has progressed to. Furthermore, according to one embodiment, the inserted code can be inserted into the above-mentioned integrated code for compilation, or it can be inserted by dynamically manipulating bytecode during the execution of the test application. By inserting the code as described above, it can be confirmed how much code the test cases cover in various aspects such as methods, columns, and branches. As an example, the process described above can also be implemented using the Java Code Coverage (Jacoco) engine of the ASM library when the application is designed in Java language, but it is not limited to this.

[0054] The electronic device 100 can update the mapping table based on the code coverage corresponding to the test cases, which are then confirmed based on the inserted code described above. The process described above will be explained with reference to FIG7.

[0055] Figure 7 is a diagram illustrating an example of a mapping table update process in one embodiment.

[0056] Referring to FIG7, the electronic device 100 can confirm the code coverage 180 of the test application 170 tested based on the first test case 160. Specifically, the code coverage 180 can be confirmed based on the information output as the test application 170, including the inserted code, is tested in the test terminal that receives the first test case.

[0057] As an example, in the case of the Jacoco engine described above, a Jacoco execution information file (EC file) related to code coverage can be generated in the tester terminal and sent to the electronic device 100 or another code integration (CI) server. The electronic device 100 or the other CI server can analyze the Jacoco execution information file as described above to confirm code coverage (in the case of confirming code coverage on another CI server, it can be sent to the electronic device 100).

[0058] If the code coverage rate described above is confirmed, the electronic device 100 can update the mapping table 150 accordingly, as shown in FIG7. Specifically, the electronic device 100 can refer to the code coverage rate confirmed for each of the first test cases to determine which part of which code file was executed by testing the first test case. Thereafter, the electronic device 100 can update the mapping table 150 in the following manner: searching for the function corresponding to the executed code file according to each of the first test cases, and mapping each of the first test cases to the function corresponding to the executed code file. For example, if it is confirmed that a new code file B corresponding to a function that was not previously mapped to one of the first test cases is executed during testing, the electronic device 100 can update the mapping table 150 in the following manner: mapping the function corresponding to the new code file B to one of the aforementioned first test cases.

[0059] Furthermore, the mapping table 150 can also be updated manually, in addition to the process described above. For example, when adding a completely new feature, the tester can update the mapping table 150 by adding a test case that matches the feature and mapping the feature to the test case. The mapping table 150 can also be updated similarly for previously existing features.

[0060] Hereinafter, an embodiment in which a graph is used to confirm the first test case, other than the mapping table 150, will be described. The electronic device 100 can confirm a one-way graph representing the hierarchical structure between functions corresponding to each of the plurality of functions. Next, the electronic device 100 can confirm at least one first node in the one-way graph that is related to at least one function corresponding to the second change information. The electronic device 100 performs a depth-first search (DFS) in the one-way graph starting from at least one first node, thereby confirming at least one set of first functions including at least one function corresponding to the second change information. Next, the electronic device 100 can confirm the first test case corresponding to at least a portion of the functions included in the first set of functions. Hereinafter, each of the above steps will be specifically described.

[0061] According to one embodiment, the electronic device 100 can confirm a one-way graph representing the hierarchical structure between functions. Here, the hierarchical structure between functions may refer to the hierarchical structure of categories divided to provide application services. For example, when there is a function that displays a calculated price when applying a coupon, its superior category is the coupon function, and the superior category of the coupon function as a subordinate category may be the Product Detail Page (PDP) function set or the checkout function set, etc. In summary, the function that displays a calculated price when applying a coupon may include a hierarchical structure in the following order: display calculated price when applying a coupon - coupon function - PDP function set or display calculated price when applying a coupon - coupon function - checkout function set. The one-way graph may be a diagram representing the hierarchical structure as described above. For example, the one-way graph may include connections from the node corresponding to the function that displays a calculated price when applying a coupon to the edge of the node corresponding to the coupon function, and may include connections again from the coupon function to the edges of the PDP function set and the checkout function set, respectively.

[0062] According to one embodiment, the electronic device 100 identifies at least one first node in a one-way graph that is related to at least one function corresponding to at least one function of the second change information, and performs a depth-first search (DFS) accordingly, thereby identifying at least one first function set including at least one function corresponding to the second change information. For the above example, an example of performing DFS to identify the first function set as described above will be described with reference to FIG8.

[0063] Figure 8 is a diagram illustrating an example of a test case verification process based on a set of functions, which is verified based on a chart.

[0064] According to Figure 8, when the function of calculating the price is displayed when the second change information instruction applies the coupon, the electronic device 100 can identify the node 141 corresponding to the function in the chart. The electronic device 100 can perform DFS starting from the node 141 corresponding to the function, and as a result, it can identify the PDP function set 191 and the settlement function set 192. The electronic device 100 can identify the first function set 190 including the PDP function set 191 and the settlement function set 192, and identify the first test case accordingly.

[0065] Specifically, the electronic device 100 may identify a test case as the first test case if it is mapped in the mapping table 150 to at least a portion of the functions corresponding to the first function set 190. Referring again to the example in FIG8, in addition to the test case corresponding to the function that displays the calculated price when applying a coupon, the electronic device 100 may also identify a test case related to other functions included in the function sets included in the first function set 190, such as the function that highlights when applying a coupon, as the first test case. The embodiment described above may be aimed at the following aspects: for functions adjacent to functions whose code has been corrected, the probability of finding problems caused by code correction may be higher. Thereby, it has the advantage that test cases with a higher probability of finding problems can be selected as the first test case by regression testing.

[0066] According to other embodiments, the first function set corresponding to the second change information can also be identified in a way different from that described above. For example, the electronic device 100 can also identify the function corresponding to the second change information and identify the function set corresponding to the superior category that is directly associated with the function as the first function set.

[0067] Hereinafter, one embodiment related to test strategy information will be described.

[0068] According to one embodiment, the electronic device 100 can confirm test strategy information and confirm the first test case based on the second change information and the test strategy information. The test strategy information may include various settings related to code testing. For example, it may include settings related to the following: how many times to repeat a test of what complexity, and how many test cases to use. Examples of test strategy information are not limited to those listed above; they may also include various settings related to code testing.

[0069] According to one embodiment, the test strategy information can also be set according to each function group including at least one function. That is, the electronic device 100 can identify the function group including the function of the second change information indication, and identify the first test case corresponding to the function based on the test strategy information set for the function group.

[0070] Alternatively, the test strategy information may be set according to at least one function. For example, the electronic device 100 may confirm whether there is test strategy information set for the function indicating the second change information. If so, the set test strategy information may be referred to when confirming the first test case of that function.

[0071] According to one embodiment, the electronic device 100 can determine, based on test strategy information, at least one of the number of test cases selected as the first test case and the number of tests performed using the first test case, wherein the test case is related to a function that corresponds to a change in the second change information. For example, if it is assumed that there is a function A corresponding to the second change information, then in the mapping table 150, it is confirmed that there may be a plurality of test cases corresponding to function A, such as 15. In this case, the electronic device 100 can determine, based on the test strategy information, the ratio or number of test cases selected as the first test case among the aforementioned 15 test cases. Furthermore, the electronic device 100 can also determine, based on the test strategy information, the number of tests performed based on the selected first test case. For example, with repeated testing, errors that were not originally present may occur; therefore, the more tests performed, the more accurate the test results may be, but the burden on the tester may increase accordingly. In order to find a balance between the two aspects described above, the electronic device 100 can determine the number of tests performed based on the test strategy information. For example, the following can be done: for important functions or sets of functions, increase the number of tests even though the tester is under a burden; for less important functions or sets of functions, perform fewer tests to reduce the burden on the tester.

[0072] The test policy information described above can be set to various contents under different circumstances. As an example, test policy information can be set for the SDP feature set in the following way: when it is expected that customers will perform more actions in applications related to the Search Detail Page (SDP) before the holiday, more code tests can be performed on the SDP feature set based on more diverse first test cases related to the SDP feature set. Alternatively, test policy information can also be set for individual features that have been recently added or frequently report errors.

[0073] The test strategy information can be set as individual content for each function set as described above, or it can be set as the priority of each function or function set. For example, the test strategy information can be set as follows: including test priority information for each function or function set. By applying the test strategy information described above, the test priority of each function or function set is proportional to at least one of the number of test cases selected for the corresponding function and the number of tests. For example, for functions or function sets with higher priority, it can be set that more test cases are selected as the first test case, or that more tests based on the first test case are performed. As an example, when the priority of the SDP function set or checkout function set is set higher than that of the shopping cart function set, the number of test cases selected for the SDP function set or checkout function set will be greater than the number of test cases selected as the first test case for the shopping cart function set, and the number of tests performed will also be greater.

[0074] Figure 9 is a block diagram showing an electronic device according to an embodiment.

[0075] According to one embodiment, the electronic device 100 may include a memory 101 and a processor 102. The electronic device 100 shown in FIG9 only illustrates the components relevant to this embodiment. Therefore, those skilled in the art related to this embodiment will understand that, in addition to the components shown in FIG9, other common components may be included. In one embodiment, the processor 102 may be included in a controller.

[0076] The processor 102 can control the overall operation of the electronic device 100 and process data and signals. The processor 102 may include at least one hardware unit. Furthermore, the processor 102 performs operations by executing one or more software modules generated by executing program code stored in memory 101. The processor 102 may include memory, and the processor 102 can execute program code stored in memory to control the overall operation of the electronic device 100 and process data and signals.

[0077] The processor 102 can be configured to execute one or more instructions to confirm first change information related to code changes, which are related to the application; based on the first change information, confirm second change information related to functional changes that occur with the code changes; and based on the second change information, confirm at least one first test case including at least one virtual user action.

[0078] According to an embodiment, the electronic device 100 may further include a transceiver for implementing wired / wireless communication. The electronic device 100 can use the transceiver to communicate with external electronic devices. The external electronic devices may be terminals or servers. Furthermore, the communication technologies used by the transceiver may include GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), LTE (Long Term Evolution), 5G, WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity), Bluetooth™, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), Wi-Fi, NFC (Near Field Communication), etc.

[0079] The electronic device of the above embodiments may include a processor, memory for storing and executing program data, permanent storage such as a magnetic disk drive, a communication port for communicating with external devices, and a user interface device such as a touch panel, key, or button. The method implemented by software modules or algorithms can be stored in a computer-readable recording medium in the form of computer-readable code or program commands executable in the processor. Here, computer-readable recording media include magnetic storage media (e.g., ROM (read-only memory), RAM (random-access memory), floppy disks, hard disks, etc.) and optical reading media (e.g., CD-ROM, DVD, etc.). The computer-readable recording medium is distributed across a computer system connected to a network, thereby enabling the distributed storage and execution of computer-readable code. The medium can be read by a computer, stored in memory, and executed in a processor.

[0080] This embodiment can be represented by functional blocks and various processing steps. These functional blocks can be implemented by different numbers of hardware and / or software components performing specific functions. For example, the embodiment can employ integrated circuits capable of performing various functions via the control of one or more microprocessors or other control devices, such as memory, processing, logic, lookup tables, etc. The components can be executed by software programs or software elements. Similarly, this embodiment includes algorithms implemented by combinations of data structures, programs, routines, or other programs, and therefore can be implemented using programming or scripting languages ​​such as C, C++, Java, and assemblers. Functionally, it can be implemented by algorithms executed in one or more processors. Furthermore, this embodiment can employ prior art for electronic environment setup, signal processing, and / or data processing. Terms such as "mechanism," "component," "mechanism," and "structure" are used broadly and are not limited to mechanical and physical structures. The above terms may be associated with processors and include the meaning of a series of software processes.

[0081] The above embodiment is only an example, and other embodiments can be implemented within the scope of the technical solutions described below. [Simplified Explanation of the Diagram]

[0027] Figure 1 is a diagram illustrating an example of an electronic device supporting code testing according to an embodiment. Figure 2 is a flowchart illustrating a code testing support method according to an embodiment. Figure 3 is a flowchart illustrating a code testing support method according to another embodiment. Figure 4 is a diagram illustrating an example of a confirmation process for first change information according to an embodiment. Figure 5 is a diagram illustrating a confirmation process for second change information based on first change information according to an embodiment. Figure 6 is a diagram illustrating an example of a confirmation process for a first test case according to an embodiment. Figure 7 is a diagram illustrating an example of a mapping table update process according to an embodiment. Figure 8 is a diagram illustrating an example of a test case confirmation process based on a function set, which is confirmed based on a chart according to an embodiment. Figure 9 is a block diagram illustrating an electronic device according to an embodiment.

Claims

1. A code testing support method, performed via an electronic device, comprising the following steps: identifying first change information related to a change in first code, wherein the first code is related to an application; identifying second change information based on the first change information, wherein the second change information is related to a functional change occurring as a result of the change in the first code; identifying at least one first test case, including at least one virtual user action, based on the second change information; wherein a plurality of functions related to the first code are managed in a hierarchical structure, wherein the hierarchical structure is based on categories classified for providing services to the application and has an upper-lower relationship with each other.

2. As per the code testing support method in Request Item 1, the steps for confirming the first change information mentioned above include the following steps: Confirming the detailed code written according to each development branch; Based on the detailed code, confirming the integration code related to the application; Based on the differences between the integration code and the existing code, confirming the first change information mentioned above.

3. The code testing support method as described in Request 1, wherein the step of confirming the aforementioned second change information includes the following steps: confirming information of at least one first code file based on the aforementioned first change information, wherein the aforementioned at least one first code file includes second code obtained by deleting, modifying, and adding at least one of the existing code; confirming at least one function corresponding to the aforementioned at least one first code file; confirming the aforementioned second change information indicating that the confirmed at least one function has been modified.

4. The code testing support method as described in Request Item 1, wherein the step of confirming at least one first test case includes the following steps: confirming a mapping table including the association between a plurality of test cases and a plurality of functions of the application; and confirming in the mapping table the at least one first test case corresponding to at least one changed function, wherein the at least one changed function is confirmed based on the second change information.

5. The code testing support method as requested in item 1 further includes the following steps: compiling integrated code including the third code corresponding to the first change information above to verify the test application; and verifying the code test results obtained by applying the first test case above to the test application above.

6. As in the code testing support method of request item 5, the steps for verifying the above-mentioned test application include the following steps: further verifying the above-mentioned test application based on inserted code, wherein the inserted code is used to verify the code coverage generated as test cases are executed.

7. The code testing support method as requested in item 6 further includes the following steps: confirming the code coverage of the first test case; and updating the mapping table including the relationship between the test case and the above-mentioned functions based on the code coverage of the first test case.

8. The code testing support method as described in Request 1, wherein the step of confirming the first test case includes the following steps: confirming the unidirectional graph representing the hierarchical structure; confirming at least one first node in the unidirectional graph that is related to at least one function corresponding to at least one function of the second change information; performing a depth-first search (DFS) in the unidirectional graph starting from the at least one first node to confirm at least one first function set including the at least one function corresponding to the second change information; and confirming the first test case corresponding to at least a portion of the functions included in the first function set.

9. The code testing support method as requested in item 1, wherein the steps for confirming the first test case above include the following steps: confirming the test strategy information; and confirming the first test case above based on the second change information above and the test strategy information above.

10. The code testing support method as described in Request Item 9, wherein the above testing strategy information is set according to each functional group that includes at least one function.

11. The code testing support method as requested in item 9, wherein the step of confirming the first test case mentioned above includes the following steps: Based on the test strategy information mentioned above, determine at least one of the number of test cases selected as the first test case and the number of tests using the first test case, wherein the test case is related to the function of the change corresponding to the second change information mentioned above.

12. The code testing support method as described in request item 11, wherein the above test strategy information is set in the following manner: including test priority information for each function, and by applying the above test strategy information, selecting at least one of the priority confirmed based on the test priority information of each function and the number of test cases and the number of tests selected for the functions whose priority has been confirmed.

13. A non-transitory computer-readable recording medium recording a program for performing methods as described in any of claims 1 to 12 on a computer.

14. An electronic device that supports code testing, comprising: processor; and memory that stores one or more instructions; and the processor is configured to execute the one or more instructions to confirm first change information related to a change in first code, wherein the first code is related to the application; confirm second change information based on the first change information, wherein the second change information is related to a functional change that occurs with the change in the first code; and confirm at least one first test case including at least one virtual user action based on the second change information; wherein the plurality of functions related to the first code are managed in a hierarchical structure, wherein the hierarchical structure has a hierarchical relationship between each other based on categories classified for providing services to the application.

Citation Information

Patent Citations

  • Continuous integration test method, system and related equipment

    CN113010433A

  • Automated test coverage analysis, execution and reporting

    US10324831B1

  • Dynamic testing based on automated impact analysis

    US10417119B2

  • Regression test case identification for testing software applications

    US11429382B1

  • Prioritization of tests of computer program code

    US20150007140A1