WO2024005246A1 - 코드 검증 정보를 제공하는 전자 장치 및 그 방법 - Google Patents
코드 검증 정보를 제공하는 전자 장치 및 그 방법 Download PDFInfo
- Publication number
- WO2024005246A1 WO2024005246A1 PCT/KR2022/009580 KR2022009580W WO2024005246A1 WO 2024005246 A1 WO2024005246 A1 WO 2024005246A1 KR 2022009580 W KR2022009580 W KR 2022009580W WO 2024005246 A1 WO2024005246 A1 WO 2024005246A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code
- information
- verified
- verification
- electronic device
- Prior art date
Links
- 238000012795 verification Methods 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012360 testing method Methods 0.000 claims description 89
- 230000004044 response Effects 0.000 claims description 15
- 238000012552 review Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 7
- 230000009118 appropriate response Effects 0.000 claims description 6
- 238000010200 validation analysis Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012905 input function Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Definitions
- This disclosure relates to an electronic device and method for providing code verification information. More specifically, the present disclosure relates to an electronic device and method for performing a verification set based on setting information corresponding to a code to be verified and providing verification result information accordingly.
- the server that provides services to users may need to change the code for its operation (a program described in machine language, interpreted and executed by the CPU) for reasons such as improving problems or providing additional functions.
- the code is verified according to various factors, such as whether the code is for operation on the web or a server, what field the device on which the code is executed is used, and what language was used to program the code.
- factors such as whether the code is for operation on the web or a server, what field the device on which the code is executed is used, and what language was used to program the code.
- the indicators that should be considered and the level of importance that should be assigned to each indicator vary, in order to verify the code, there is a limitation in that the operator must directly determine the optimized verification method for each code.
- the problem that this embodiment aims to solve is to confirm the code to be verified, perform a verification set for the code to be verified based on setting information corresponding to the code to be verified, and provide verification result information according to the performance of the verification set.
- the object is to provide an electronic device and method thereof.
- a method of providing information in an electronic device includes checking a code to be verified; performing a verification set for the code to be verified based on setting information corresponding to the code to be verified; and providing verification result information according to execution of the verification set.
- the electronic device may determine type information of indicators to be determined and standard information for each indicator by performing the verification set based on the setting information.
- the step of performing the verification set may include terminating the verification when the code to be verified satisfies the criteria for each indicator as a result of performing the verification set.
- the step of performing the verification set includes providing review request information to the operator of the verification target code when the verification target code does not satisfy the criteria for each indicator as a result of performing the verification set. May include steps.
- an indicator to be determined through execution of the verification set includes code coverage
- performing the verification set includes: confirming a test environment for the code to be verified; executing the code to be verified in the test environment; and obtaining ratio information of activated components among a plurality of components included in the code to be verified as a result of executing the code to be verified in the test environment.
- an indicator to be determined through execution of the verification set includes a pass rate, and performing the verification set includes executing the code to be verified in a plurality of test environments; And it may include obtaining ratio information that the response obtained as a result of execution in the plurality of test environments corresponds to an appropriate response.
- the indicator to be determined through performance of the verification set includes a difference rate
- the step of performing the verification set includes executing the code to be verified in a test environment corresponding to the service environment. step; And it may include comparing a response obtained when the code to be verified is executed in the test environment and a response obtained when the reference code is executed in the service environment.
- performing the verification set includes obtaining attribute information related to the code to be verified; and determining one or more test environments for performing the verification set based on the attribute information.
- the step of obtaining the attribute information may include, when the code to be verified includes a message indicating the attribute information, obtaining the attribute information based on the message.
- the step of checking the code to be verified may include checking a verification request message included in the code to be verified when information corresponding to the code to be verified is entered into a web page. .
- the step of checking the verification request message may include determining whether the message annotated in the code to be verified includes a specific text.
- An electronic device that processes information includes a transceiver, a memory that stores instructions, and a processor, wherein the processor is connected to the transceiver and the memory, verifies a code to be verified, and matches the code to be verified.
- a verification set for the verification target code is performed based on the corresponding setting information, and verification result information according to the execution of the verification set is provided.
- an electronic device and method for verifying code can enable users to conveniently verify code by providing an integrated solution for verifying code.
- FIG. 1 is a schematic flowchart showing a code verification method according to an embodiment.
- Figure 2 is an operation flowchart of a method for providing information by an electronic device according to an embodiment.
- Figure 3 is a diagram illustrating a verification set according to an embodiment.
- Figure 4 is a diagram illustrating the results of performing a verification set according to an embodiment.
- FIG. 5 is a diagram illustrating an exemplary method of determining a test environment for code verification according to an embodiment.
- Figure 6 is a diagram for explaining a specific example of a code verification method using a verification set according to an embodiment.
- Figure 7 is an exemplary diagram of the configuration of an electronic device that verifies a code according to an embodiment.
- the “terminal” mentioned below may be implemented as a computer or portable terminal that can connect to a server or other terminal through a network.
- the computer includes, for example, a laptop, desktop, laptop, etc. equipped with a web browser
- the portable terminal is, for example, a wireless communication device that guarantees portability and mobility.
- all types of communication-based terminals such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), and LTE (Long Term Evolution), smartphones, tablet PCs, etc. It may include a handheld-based wireless communication device.
- each block of the processing flow diagram diagrams and combinations of the flow diagram diagrams can be performed by computer program instructions.
- These computer program instructions can be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, so that the instructions performed through the processor of the computer or other programmable data processing equipment are described in the flow chart block(s). It creates the means to perform functions.
- These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-usable or computer-readable memory It is also possible to produce manufactured items containing instruction means that perform the functions described in the flowchart block(s).
- Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in the flow diagram block(s).
- each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
- each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
- FIG. 1 is a schematic flowchart showing a code verification method according to an embodiment.
- the electronic device may receive a code verification request (110) and provide a test service for code verification (130) based on environment setting information (120).
- environment setting information 120
- the electronic device receives a code verification request, but this disclosure is not limited to a case where a user or the like must provide a code verification request input on a web page. For example, if there is a specific user input, even if it is not an explicit request, this can be viewed as a code verification request (110). For example, when a user uploads the code he or she worked on to a specific page, the user uploads the code he or she worked on. Code verification can be performed in various cases, such as when entering path information related to and notifying that the user has worked on the code.
- code verification request 110 comprehensively describes various cases that trigger code verification, such as when an error occurs in the code operating in the service environment even without user input, the electronic device may verify the code on its own. It must be understood that
- the electronic device may set a test environment or check environment setting information prior to performing a test service (related to 120).
- the electronic device may perform both setting of the test environment and confirmation of environment setting information. For example, after confirming some set information, the electronic device may set the test environment for the remaining indicators that have not yet been set. ).
- An electronic device may provide a test service for code verification by performing a verification set for the code to be verified.
- Information on the type of indicator to be determined through the execution of the verification set and standard information for each indicator can be determined based on environmental setting information.
- the main electronic device refers to a unit that processes at least one function or operation, and may be implemented as hardware, software, or a combination of hardware and software.
- an electronic device may include a plurality of computer systems or computer software implemented as a network server, and may provide various information in a web page.
- an electronic device is a computer system that is connected to a sub-device capable of communicating with another network server through a computer network such as an intranet or the Internet, receives a request to perform a task, performs the task in response, and provides a performance result, and May refer to computer software.
- electronic devices can be understood as a broad concept that includes a series of application programs that can run on a network server and various databases built inside.
- electronic devices can be implemented using network server programs provided in various ways depending on the operating system such as DOS, Windows, Linux, UNIX, or MacOS. there is.
- Operations related to a series of code verification methods and information provision methods may be implemented by a single physical device, or may be implemented by organically combining a plurality of physical devices.
- some of the operations described as being performed by an electronic device may be implemented by one physical device, and others may be implemented by another physical device.
- the operations described above and below as being performed by the electronic device may actually be performed by a plurality of devices (e.g., a worker's device, etc., which will be described later), which means that the electronic device may perform some of the operations on other external devices. It can also be performed by requesting .
- Figure 2 is an operation flowchart of a method for providing information by an electronic device according to an embodiment.
- the electronic device checks the code to be verified (210).
- the electronic device checks the verification code, such as when the user enters path information related to the code being worked on and when the user simply notifies that the user has worked on the code.
- the electronic device may check the verification request message included in the code to be verified. If there are agreed upon rules for where and how to write the verification request message, the electronic device can save resources required to check the verification request message by checking only the relevant parts of the code to be verified. For example, if there is an agreed-upon rule that the verification request message is inserted into the comment within the first 10 lines, the electronic device checks only the text of the commented part in the first 10 lines and determines whether the code to be verified contains a specific text indicating attribute information. You can determine whether it contains text and, if so, check its contents.
- the electronic device performs a verification set for the code to be verified based on setting information corresponding to the code to be verified (220, corresponding to 130 in FIG. 1).
- Setting information corresponding to the code to be verified may correspond to environmental setting information 120 in FIG. 1.
- the electronic device may determine information on the type of indicator to be determined and standard information for each indicator by performing a verification set based on the setting information.
- Indicators may include, for example, code coverage, difference rate, and pass rate.
- code coverage may include an indicator corresponding to how many of the plurality of components included in the code were executed during testing.
- the non-match rate is calculated based on the response obtained when the code to be verified is executed in a specific environment (for example, a service environment or a test environment implemented to respond to the service environment) and the standard code (the code before applying the code to be verified).
- an indicator corresponding to the result of comparing the obtained responses and determining the degree of discrepancy may be included. Additionally, the passing rate may include an indicator corresponding to the rate at which an appropriate response is obtained when the code to be verified is executed in multiple test environments.
- the standard information for each indicator may include a value that serves as a standard for determining whether there are any problems with the target code as a result of verifying the code through each indicator. For example, if the standard information about code coverage includes a standard value of 90%, the electronic device performs a code coverage test on the code, and if the executed components exceed 90% of the total, the code coverage test You can determine that there is no problem with the code.
- the test service for code verification includes a service for testing coverage (310, "Coverage as Service”), a service for determining the code non-match rate (320, "Diff as Service”), and code operation. It may include at least one of the services being tested (330, “Testing as Service”).
- the service 310 for testing coverage is a test that is executed when an indicator to be determined through the performance of a verification set includes code coverage, and the electronic device checks the test environment for the code to be verified, and checks the test environment for the code to be verified.
- the test can be executed by obtaining information on the ratio of activated components among the plurality of components included in the code to be verified.
- each component may include, for example, each line or paragraph included in the code to be verified, but is not limited thereto.
- the electronic device may provide information including whether each component is activated to the worker's device, and the worker's device may display a screen including whether each component is activated.
- the worker's device may display whether or not each component is activated when there is a user input from the worker. For example, when the user places the mouse cursor on a specific component of the code, the activation status for that component is displayed. It can be.
- the service 320 for determining the code non-match rate is a test that is executed when the indicator to be determined through the execution of the verification set includes the code non-match rate, and the electronic device executes the code to be verified in a test environment corresponding to the service environment. And, the response obtained when executing the code to be verified in a test environment can be compared with the response obtained when executing the reference code in a service environment.
- the electronic device may execute the code to be verified in a service environment, but this may result in unexpected service failures, so it may be more common to execute it in a test environment corresponding to the service environment, whereas in the case of reference code You can run it directly in the service environment, or load the results of a previous run in the service environment (of course, it is also possible to run the reference code in a test environment).
- the electronic device when executing the service 320 for determining the code non-match rate, may exclude judgment on some of the codes to be verified. This may be because, with respect to the intended difference depending on the code to be verified (i.e., the part of the response subject to target change according to the code), it is inappropriate to judge that the code does not meet the indicator criteria because it does not match the standard code.
- the electronic device may directly determine the part to exclude from judgment, or it may receive instruction information about the part to exclude from judgment from an operator or the like.
- the electronic device provides information to the worker's device to provide an input function for the part from which judgment is to be excluded from the verification target code, and the worker's device provides an input function for the part to exclude judgment based on this.
- a user interface including a may be provided.
- the service 320 for determining the code non-match rate was used as a representative example.
- the function of excluding judgment on some of the codes to be verified was explained as a representative example. A function to exclude judgment for some may be included.
- the service 330 for testing code operation is a test that is executed when an indicator to be determined through the execution of a verification set includes a passing rate.
- the electronic device executes the code to be verified in a plurality of test environments, and the electronic device executes the code to be verified in a plurality of test environments. It is possible to obtain ratio information that the response obtained as a result of execution is an appropriate response.
- an appropriate response is one that matches a plurality of test environments. For example, in the case of a test environment that corresponds to a case where user input information for a specific item is received on an item search result screen, the appropriate response is detailed information about the specific item. This may correspond to the provision of a page.
- the electronic device may obtain attribute information related to the code to be verified and determine one or more test environments for performing a verification set based on the attribute information. For example, when the code to be verified includes a message indicating attribute information, the electronic device may obtain attribute information related to the code to be verified based on the message and determine the test environment based on this. As with the verification request message, if there are agreed upon rules for where or how to write the message indicating the attribute information, the electronic device can verify the message indicating the attribute information by checking only the relevant part of the code to be verified. You can save resources.
- the electronic device checks only the text of the commented part in the first 100 lines to ensure that the code to be verified contains the attribute information. It is possible to determine whether or not the specific text indicated is included, and if so, its contents can be confirmed.
- the worker's device further receives information indicating attribute information separately from the code and provides the information to the electronic device.
- Obtaining attribute information is not limited to a specific embodiment and can be achieved in various ways. .
- the electronic device confirms the verification request message and attribute information included in the code to be verified, but in addition, the operator can input various information for testing in the code to be verified, and the electronic device can Testing can be performed by checking the information, and it should be understood that the verification request message and attribute information are only examples of various information that can be input.
- code attribute information can also be inserted into the code body, and furthermore, into the part inserted into the code body.
- code attribute information can also be inserted into the code body, and furthermore, into the part inserted into the code body.
- the electronic device may receive information related to the test environment from the operator and determine the test environment based on the input information.
- the operator device may provide the operator with a user interface for inputting information related to the test environment (500).
- the worker device may provide it to the electronic device.
- Figure 5 illustrates a user interface in which a plurality of options are provided to the operator in the form of a scroll in order to input information related to the test environment and the operator selects one of them.
- this is an embodiment of receiving information related to the test environment. It is not limited, and various embodiments may exist, such as, for example, when a worker directly inputs a message, the electronic device determines a test environment based on keywords included in the message.
- the information input from the operator may be information directly indicating the test environment, but depending on the embodiment, the information input from the operator may include attribute information related to the code to be verified, and in this case, the electronic device may have the corresponding attribute. Based on the information, one or more test environments for performing the validation set may be determined. Furthermore, depending on the embodiment, the information input from the operator may include rule information related to inputting information necessary for testing, such as a verification request message and attribute information, into the code, and in this case, the electronic device Based on this, you can also check the information included in the code to be verified.
- the electronic device may provide verification result information according to the execution of the verification set to the operator (230).
- the electronic device provides review request information to the operator of the code to be verified, and the worker's device may provide the operator with a screen containing the review request. .
- the type of review request information provided by the electronic device may be determined depending on which indicator standard is not satisfied. For example, the electronic device provides first review request information in cases where the indicator standards are met for major indicators but not for non-major indicators, while the electronic device does not meet the indicator standards for major indicators. Information may be provided to request a second review. For example, in the case where code coverage is a non-key indicator and non-match rate and pass rate are key indicators, code coverage showed a code execution rate of 85%, which is below the standard of 90%, while non-match rate and pass rate were below the standard. If it passes, the electronic device may provide the first review request information to the worker. In relation to this, the screen provided to the worker may vary depending on whether first review request information or second review request information is provided.
- the electronic device may provide information notifying the execution failure of the code, and the operator's The device may provide the operator with a screen notifying the execution failure of the code to be verified.
- the electronic device can end verification. Even in this case, the worker's device may display information on the screen notifying the completion of verification. In relation to this, even if the completion of verification is not specified, if separate review requests or execution failure information are not displayed on the screen and verification results indicating that the standards for each indicator have been passed are displayed on the screen, information notifying the completion of verification can be understood as being displayed on the screen.
- FIG. 4 An example of a screen that provides the results of performing the verification set to the operator is shown in FIG. 4.
- “Automation” and “Sonar and UT” correspond to examples of a service 330 that tests code operation
- “Automation Code Coverage” corresponds to an example of a service 320 that determines the code non-match rate. can do.
- the screen shown in FIG. 4 may include information indicating that some of the services 330 that test the code operation passed, some did not run, and that the service 320 that determines the code non-match rate passed. there is.
- the result "No Run” for "Sonar and UT" is corresponding to reasons such as the operator did not request the corresponding test service or the electronic device determines that there is no need to run the corresponding test service.
- This can be understood as a case where the test itself was not performed.
- "No Run” should not be understood as information indicating the execution failure of the code to be verified. If the execution of the code to be verified fails, a more appropriate phrase such as "Failed” that clearly indicates the execution failure will be displayed. You can.
- Figure 6 is a diagram for explaining a specific example of a code verification method using a verification set according to an embodiment.
- an electronic device receives a code verification request (110).
- a code verification request is not limited to cases where a code verification request input is provided on a web page (“Branch PR/Push”), for example, when a user enters path information related to the code he/she worked on (“Branch PR/Push”). List/Overview”), etc. may be included.
- the electronic device may set up a test environment or check environment setting information prior to performing the test service (120). According to one embodiment, the electronic device may determine information on the type of indicator to be determined and standard information for each indicator by performing a verification set based on the setting information.
- the electronic device performs a verification set for the code to be verified based on the setting information (130).
- the test service for code verification may include at least one of a service for testing coverage 310, a service for determining the code non-match rate 320, and a service for testing code operation 330.
- a service that tests coverage may have test types such as unit test coverage (“UT Coverage”) and automation code coverage (“Automation Code Coverage”). It may include test types, and may further include test types such as merged coverage (“Merged Coverage”), which tests coverage by integrating several types.
- the electronic device performs a verification set based on services other than the service 310 for testing coverage, the service 320 for determining the code non-match rate, and the service 330 for testing code operation.
- the electronic device may further include a service for determining a testing environment (610, “Testing Environment as a Service”) and a service for providing a mock page (620, “Mock as a Service”).
- the test services for performing the verification set are not limited to the examples described above, such that the electronic device may perform the verification set based on other test services or services to assist the test services. .
- the electronic device that performed the verification set provides verification result information according to the performance of the verification set (630). As described above, if the code to be verified does not meet the criteria for each indicator, the electronic device can provide review request information to the operator of the code to be verified (“PR Checks”).
- Figure 7 is an exemplary diagram of the configuration of an electronic device that verifies a code according to an embodiment.
- the electronic device includes a transceiver 710, a processor 720, and a memory 730.
- the electronic device can be connected to the reference server 120, the development server 130, and an external device (eg, a personal computer) through the transceiver 710 and exchange data.
- an external device eg, a personal computer
- the processor 720 may include at least one device described above with reference to FIGS. 1 to 6 or may perform at least one method described with reference to FIGS. 1 to 6 .
- the memory 730 includes information for performing at least one method described above with reference to FIGS. 1 to 6 (the above-described request information set, request information subset, first response set, second response set, statistical information, and comparison information) including) can be saved.
- Memory 730 may be volatile memory or non-volatile memory.
- the processor 720 can execute programs and control electronic devices to provide information.
- the code of the program executed by the processor 720 may be stored in the memory 730.
- the electronic device of the embodiment may further include an interface capable of providing information to the manager.
- the electronic device or terminal includes a processor, memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, and a key. ), user interface devices such as buttons, etc. may be included.
- Methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor.
- computer-readable recording media include magnetic storage media (e.g., ROM (read-only memory), RAM (random-access memory), floppy disk, hard disk, etc.) and optical read media (e.g., CD-ROM). ), DVD (Digital Versatile Disc), etc.
- the computer-readable recording medium is distributed among computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner.
- the media may be readable by a computer, stored in memory, and executed by a processor.
- This embodiment can be represented by functional block configurations and various processing steps. These functional blocks may be implemented in various numbers of hardware or/and software configurations that execute specific functions. For example, embodiments include integrated circuit configurations such as memory, processing, logic, look-up tables, etc. that can execute various functions under the control of one or more microprocessors or other control devices. can be hired. Similar to how the components can be implemented as software programming or software elements, the present embodiments include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, Java ( It can be implemented in a programming or scripting language such as Java, assembler, Python, etc. Functional aspects may be implemented as algorithms running on one or more processors.
- this embodiment may employ conventional technologies for electronic environment settings, signal processing, and/or data processing.
- Terms such as “mechanism,” “element,” “means,” and “composition” can be used broadly and are not limited to mechanical and physical components. The term may include the meaning of a series of software routines in connection with a processor, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
- Credit Cards Or The Like (AREA)
- Stored Programmes (AREA)
Abstract
본 개시에 따르면, 검증 대상 코드를 확인하는 단계; 검증 대상 코드에 대응하는 설정 정보에 기초하여 검증 대상 코드에 대한 검증 세트를 수행하는 단계; 및 검증 세트의 수행에 따른 검증 결과 정보를 제공하는 단계를 포함하는, 전자 장치에서 정보를 제공하는 방법이 개시된다.
Description
본 개시는 코드 검증 정보를 제공하는 전자 장치 및 그 방법에 관한 것이다. 보다 구체적으로 본 개시는 검증 대상 코드에 대응하는 설정 정보에 기초하여 검증 세트를 수행하고, 이에 따른 검증 결과 정보를 제공하는 전자 장치 및 그 방법에 관한 것이다.
전자 기술의 발달에 따라 생활 전반에는 전자 기술을 이용한 서비스가 자리잡게 되었다. 사용자에게 서비스를 제공하는 서버는 문제를 개선하거나 추가 기능을 제공하는 등의 이유로 그 동작을 위한 코드(기계어에 의해서 기술되고, CPU에 의해서 해석되어 실행되는 프로그램)의 변경이 필요할 수 있다.
종래부터, 서버, 퍼스널 컴퓨터 또는 이동 통신 단말 등의 정보 처리 장치에서는, 검증된 코드가 장치 상에서 실행되는 것이 요구되고 있다. 즉, 제3자에 의하여 의도치 않은 변경이 발생한 코드, 또는 예측하지 못한 문제가 발생할 수 있는 코드가 메모리에 저장되어 장치 상에서 실행되는 일이 없도록 할 필요가 있다.
한편, 전자 기술의 발달에 따라 컴퓨터 기술이 세분화됨으로써, 코드에 대한 검증 방법을 단일화하는 것이 어렵게 되었다. 구체적으로, 코드가 웹에서의 동작을 위한 것인지 혹은 서버의 동작을 위한 것인지, 코드가 실행되는 장치는 어떤 분야에서 이용되는지, 코드의 프로그래밍을 위하여 어떤 언어를 사용하였는지 등 여러 요소에 따라 코드를 검증하기 위하여 어떠한 지표를 고려해야 하는지와 각 지표에 어느 정도의 중요도를 부여해야 되는지 등이 달라짐으로써, 코드를 검증하기 위해서는 각 코드에 따른 최적화된 검증 방법을 작업자가 직접 판단하여야 한다는 한계가 존재한다.
이러한 점을 고려할 때 다양한 유형의 코드를 검증할 수 있는 통합된 장치 및 방법이 필요한 실정이다.
관련하여, KR102396071B1 건이나 KR101581702B1 건 등의 선행문헌들을 참조할 수 있다.
본 실시 예가 해결하고자 하는 과제는, 검증 대상 코드를 확인하고, 검증 대상 코드에 대응하는 설정 정보에 기초하여 검증 대상 코드에 대한 검증 세트를 수행하고, 검증 세트의 수행에 따른 검증 결과 정보를 제공하는 전자 장치 및 그 방법을 제공하는데 있다.
본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
일실시예에 따른 전자 장치에서의 정보 제공 방법은 검증 대상 코드를 확인하는 단계; 상기 검증 대상 코드에 대응하는 설정 정보에 기초하여 상기 검증 대상 코드에 대한 검증 세트를 수행하는 단계; 및 상기 검증 세트의 수행에 따른 검증 결과 정보를 제공하는 단계를 포함한다.
일실시예에 따르면, 상기 전자 장치는 상기 설정 정보에 기초하여 상기 검증 세트의 수행을 통하여 판단할 지표의 유형 정보 및 각 지표 별 기준 정보를 판단할 수 있다.
일실시예에 따르면, 상기 검증 세트를 수행하는 단계는 상기 검증 세트를 수행한 결과 상기 검증 대상 코드가 상기 각 지표 별 기준을 만족하는 경우, 검증을 종료하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 검증 세트를 수행하는 단계는 상기 검증 세트를 수행한 결과 상기 검증 대상 코드가 상기 각 지표 별 기준을 만족하지 않는 경우, 상기 검증 대상 코드의 작업자에게 검토 요청 정보를 제공하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 검증 세트의 수행을 통하여 판단할 지표는 코드 커버리지(coverage)를 포함하고, 상기 검증 세트를 수행하는 단계는 상기 검증 대상 코드를 위한 테스트 환경을 확인하는 단계; 상기 테스트 환경에서 상기 검증 대상 코드를 실행하는 단계; 및 상기 테스트 환경에서 상기 검증 대상 코드를 실행한 결과 상기 검증 대상 코드가 포함하는 복수의 컴포넌트 중 활성화된 컴포넌트의 비율 정보를 획득하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 검증 세트의 수행을 통하여 판단할 지표는 합격률(pass rate)을 포함하고, 상기 검증 세트를 수행하는 단계는 상기 검증 대상 코드를 복수의 테스트 환경에서 실행하는 단계; 및 상기 복수의 테스트 환경에서 실행한 결과 획득되는 응답이 적절한 응답에 해당하는 비율 정보를 획득하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 검증 세트의 수행을 통하여 판단할 지표는 비일치율(difference rate)을 포함하고, 상기 검증 세트를 수행하는 단계는 상기 검증 대상 코드를 서비스 환경에 대응되는 테스트 환경에서 실행하는 단계; 및 상기 검증 대상 코드를 상기 테스트 환경에 실행하는 경우에 획득되는 응답 및 기준 코드를 상기 서비스 환경에서 실행하는 경우에 획득되는 응답을 비교하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 검증 세트를 수행하는 단계는 상기 검증 대상 코드와 관련한 속성 정보를 획득하는 단계; 및 상기 속성 정보에 기초하여, 상기 검증 세트를 수행하기 위한 하나 이상의 테스트 환경을 결정하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 속성 정보를 획득하는 단계는 상기 검증 대상 코드가 상기 속성 정보를 지시하는 메시지를 포함하는 경우, 상기 메시지에 기초하여 상기 속성 정보를 획득하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 검증 대상 코드를 확인하는 단계는 상기 검증 대상 코드에 대응하는 정보가 웹 페이지에 입력된 경우, 상기 검증 대상 코드에 포함된 검증 요청 메시지를 확인하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 검증 요청 메시지를 확인하는 단계는 상기 검증 대상 코드에서 주석 처리된 메시지가 특정 텍스트를 포함하는지 여부를 판단하는 단계를 포함할 수 있다.
일실시예에 따른 정보를 처리하는 전자 장치는 트랜시버, 명령어를 저장하는 메모리 및 프로세서를 포함하고, 상기 프로세서는, 상기 트랜시버 및 상기 메모리와 연결되어, 검증 대상 코드를 확인하고, 상기 검증 대상 코드에 대응하는 설정 정보에 기초하여 상기 검증 대상 코드에 대한 검증 세트를 수행하고, 상기 검증 세트의 수행에 따른 검증 결과 정보를 제공한다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 개시에 따르면, 코드를 검증하는 전자 장치 및 그 방법은 코드를 검증하기 위한 통합된 솔루션을 제공함으로써, 사용자가 편리하게 코드를 검증하도록 할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일실시예에 따른 코드 검증 방법을 나타내는 개략적인 흐름도이다.
도 2는 일실시예에 따른 전자 장치가 정보를 제공하는 방법의 동작 흐름도이다.
도 3은 일실시예에 따른 검증 세트를 예시적으로 설명하기 위한 도면이다.
도 4는 일실시예에 따른 검증 세트를 수행한 결과를 예시적으로 설명하기 위한 도면이다.
도 5는 일실시예에 따른 코드 검증을 위한 테스트 환경을 결정하는 방법을 예시적으로 설명하기 위한 도면이다.
도 6은 일실시예에 따른 검증 세트를 이용한 코드 검증 방법의 구체적 예시를 설명하기 위한 도면이다.
도 7은 일실시예에 따른 코드를 검증하는 전자 장치의 구성의 예시도이다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “...부”, “...모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서 기재된 “a, b, 및 c 중 적어도 하나”의 표현은, ‘a 단독’, ‘b 단독’, ‘c 단독’, ‘a 및 b’, ‘a 및 c’, ‘b 및 c’, 또는 ‘a,b,c 모두’를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 1은 일실시예에 따른 코드 검증 방법을 나타내는 개략적인 흐름도이다.
다양한 실시예에 따르면 전자 장치는 코드 검증 요청을 수신하고(110), 환경 설정 정보에 기초하여(120) 코드 검증을 위한 테스트 서비스를 제공할 수 있다(130). 설명의 편의를 위하여 전자 장치가 코드 검증 요청을 수신한다고 설명하였으나, 사용자 등이 웹 페이지 상에서 코드의 검증 요청 입력을 제공하여야 하는 경우로 본 개시가 한정되는 것은 아니다. 예컨대, 특정한 사용자 입력이 있는 경우 명시적인 요청이 아니더라도 이를 코드 검증 요청(110)으로 볼 수 있는데, 예를 들어 사용자가 자신이 작업한 코드를 특정 페이지에 업로드하는 경우, 사용자가 자신이 작업한 코드와 관련한 경로 정보를 입력하는 경우 및 사용자가 코드를 작업하였음을 알리기는 경우 등 다양한 경우에 코드 검증이 수행될 수 있다.
이하에서는 설명의 편의를 위하여 전자 장치가 테스트 서비스를 제공하는 경우를 "검증 세트를 수행"한다고 설명한다.
나아가서는, 사용자 입력이 없더라도 서비스 환경에서 동작하던 코드에 오류가 발생하는 경우 전자 장치가 자체적으로 코드를 검증할 수도 있는 등, 코드 검증 요청(110)은 코드 검증을 트리거하는 다양한 경우들을 포괄적으로 설명하는 것으로 이해되어야 한다.
한편, 일실시예에 따른 전자 장치는 테스트 서비스를 수행하기에 앞서서 테스트 환경을 설정하거나, 혹은 환경 설정 정보를 확인할 수 있다(120 관련). 실시예에 따라서는, 전자 장치는 테스트 환경의 설정 및 환경 설정 정보의 확인을 모두 수행할 수도 있는데, 예컨대 일부 설정된 정보를 확인한 후 아직 설정되지 않은 나머지 지표에 대한 테스트 환경은 전자 장치가 설정할 수도 있다).
전자 장치는 검증 대상 코드에 대한 검증 세트를 수행하는 방식으로 코드 검증을 위한 테스트 서비스를 제공할 수 있다. 검증 세트의 수행을 통하여 판단할 지표의 유형 정보 및 각 지표 별 기준 정보 등은 환경 설정 정보에 기초하여 판단될 수 있다.
전자 장치의 동작과 관련된 보다 상세한 사항은 도 2 내지 도 6 등에서 후술한다.
본 개시에서 주체가 되는 전자 장치는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
일실시예에 따르면, 전자 장치는 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어를 포함할 수 있으며, 다양한 정보를 웹 페이지로 구성하여 제공할 수 있다. 예를 들면, 전자 장치는 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고, 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 및 컴퓨터 소프트웨어를 지칭할 수 있다. 이외에도, 전자 장치는 네트워크 서버 상에서 동작할 수 있는 일련의 응용 프로그램과, 내부에 구축되어 있는 각종 데이터베이스를 포함하는 광의의 개념으로 이해될 수 있다. 예컨대, 전자 장치는 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 또는 맥OS(MacOS) 등의 운영 체제에 따라 다양하게 제공되는 네트워크 서버 프로그램을 이용하여 구현될 수 있다.
다양한 실시예에 따른 일련의 코드 검증 방법 및 정보 제공 방법과 관련된 동작들은, 단일의 물리적 장치에 의해 구현될 수 있으며, 복수의 물리적 장치가 유기적으로 결합된 방식으로 구현될 수도 있다. 예를 들어, 전자 장치가 수행한다고 설명한 동작들 중 일부는 어느 하나의 물리적 장치에 의해 구현되고, 나머지 일부는 다른 물리적 장치로 구현될 수 있다. 다시 말해, 이상 및 이하에서 전자 장치가 수행한다고 설명되는 동작은 실제로는 복수의 장치(예컨대 후술할 작업자의 장치 등)에 의해 수행될 수 있으며, 이는 전자 장치가 다른 외부 장치에 동작 중 일부의 수행을 요청하는 방식으로도 수행될 수 있다.
도 2는 일실시예에 따른 전자 장치가 정보를 제공하는 방법의 동작 흐름도이다.
도 2를 참조하면, 전자 장치는 검증 대상 코드를 확인한다(210). 전술하였듯이, 실시예에 따라, 전자 장치가 코드 검증 요청을 명시적으로 수신하는 경우(도 1의 110에 대응) 외에도, 사용자가 자신이 작업한 코드를 특정 페이지에 업로드하는 경우, 사용자가 자신이 작업한 코드와 관련한 경로 정보를 입력하는 경우 및 사용자가 코드를 작업하였음을 알리기만 하는 경우 등, 전자 장치가 검증 코드를 확인하는 다양한 경우들이 존재할 수 있다.
일실시예에 따르면, 검증 대상 코드에 대응하는 정보가 웹 페이지에 입력된 경우, 전자 장치는 검증 대상 코드에 포함된 검증 요청 메시지를 확인할 수 있다. 검증 요청 메시지를 어디에 혹은 어떻게 작성할지에 대한 합의된 규칙이 존재하는 경우, 전자 장치는 검증 대상 코드에서 관련 부분만을 확인함으로써 검증 요청 메시지 확인하는 데에 소요되는 리소스를 절약할 수 있다. 예를 들어, 검증 요청 메시지는 첫 10줄 이내에서 주석에 삽입한다는 합의된 규칙이 존재하는 경우 전자 장치는 첫 10줄에서 주석 처리된 부분의 텍스트만을 확인하여 검증 대상 코드가 속성 정보를 지시하는 특정 텍스트를 포함하는지 여부를 판단하고, 포함하는 경우에는 그 내용을 확인할 수 있다.
전자 장치는 검증 대상 코드에 대응하는 설정 정보에 기초하여 검증 대상 코드에 대한 검증 세트를 수행한다(220, 도 1의 130에 대응). 검증 대상 코드에 대응하는 설정 정보는 도 1의 120의 환경 설정 정보에 대응될 수 있다.
일실시예에 따른 전자 장치는 설정 정보에 기초하여 검증 세트의 수행을 통하여 판단할 지표의 유형 정보 및 각 지표 별 기준 정보를 판단할 수 있다. 지표는 예컨대 코드 커버리지(code coverage), 비일치율(difference rate) 및 합격률(pass rate) 등을 포함할 수 있다. 관련하여, 코드 커버리지는 테스트 진행 시 코드가 포함하는 복수의 컴포넌트 중 얼마나 많은 컴포넌트가 실행되었는지에 대응되는 지표를 포함할 수 있다. 또한, 비일치율은 검증 대상 코드를 특정 환경(예를 들어, 서비스 환경 또는 서비스 환경에 대응하도록 구현된 테스트 환경)에서 실행하는 경우 획득되는 응답과 기준 코드(검증 대상 코드를 적용하기 이전의 코드를 포함)를 특정 환경(또는 서비스 환경)에서 실행하는 경우 획득되는 응답을 비교하여 그 불일치 정도를 판단한 결과에 대응되는 지표를 포함할 수 있다. 또한, 합격률은 검증 대상 코드를 복수의 테스트 환경에서 실행하는 경우 적절한 응답이 획득되는 비율에 대응되는 지표를 포함할 수 있다.
아울러, 지표 별 기준 정보는 각 지표를 통하여 코드를 검증한 결과 대상 코드에 문제가 없는지 여부를 판단하기 위한 기준이 되는 값을 포함할 수 있다. 예컨대, 코드 커버리지에 대한 기준 정보가 90%라는 기준값을 포함하는 경우, 전자 장치는 코드에 대하여 코드 커버리지 테스트를 진행한 결과 실행된 컴포넌트가 전체의 90%를 초과하는 경우에 코드 커버리지 테스트와 관련해서는 코드에 문제가 없다고 판단할 수 있다.
도 3을 더 참조하면, 코드 검증을 위한 테스트 서비스는, 커버리지를 테스트하는 서비스(310, "Coverage as Service"), 코드 비일치율을 판단하는 서비스(320, "Diff as Service") 및 코드 구동을 테스트하는 서비스(330, "Testing as Service") 중 적어도 하나를 포함할 수 있다.
커버리지를 테스트하는 서비스(310)는, 검증 세트의 수행을 통하여 판단할 지표가 코드 커버리지를 포함하는 경우 실행되는 테스트로서, 전자 장치는 검증 대상 코드를 위한 테스트 환경을 확인하고, 테스트 환경에서 검증 대상 코드를 실행하고, 테스트 환경에서 검증 대상 코드를 실행한 결과 검증 대상 코드가 포함하는 복수의 컴포넌트 중 활성화된 컴포넌트의 비율 정보를 획득함으로써 테스트를 실행할 수 있다. 관련하여, 각 컴포넌트는 예컨대 검증 대상 코드가 포함하는 각 라인(line) 혹은 문단 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
실시예에 따라서는, 전자 장치는 컴포넌트 별 활성화 여부를 포함하는 정보를 작업자의 장치에 제공하고, 작업자의 장치는 컴포넌트 별 활성화 여부를 포함하는 화면을 표시할 수도 있다. 또한, 일 예시에 따르면, 작업자의 장치는 작업자의 사용자 입력이 있을 경우에 컴포넌트 별 활성화 여부를 표시할 수도 있는데, 예컨대 코드의 특정 컴포넌트에 사용자가 마우스 커서를 올려놓으면 해당 컴포넌트에 대한 활성화 여부가 표시될 수 있다.
코드 비일치율을 판단하는 서비스(320)는, 검증 세트의 수행을 통하여 판단할 지표가 코드 비일치율을 포함하는 경우 실행되는 테스트로서, 전자 장치는 검증 대상 코드를 서비스 환경에 대응되는 테스트 환경에서 실행하고, 검증 대상 코드를 테스트 환경에 실행하는 경우에 획득되는 응답 및 기준 코드를 서비스 환경에서 실행하는 경우에 획득되는 응답을 비교할 수 있다. 관련하여, 전자 장치가 검증 대상 코드를 서비스 환경에서 실행할 수도 있으나, 이는 예측하지 못한 서비스 장애를 초래할 수 있으므로, 서비스 환경에 대응하는 테스트 환경에서 실행하는 것이 보다 일반적일 수 있는 반면, 기준 코드의 경우에는 서비스 환경에서 직접 실행하거나, 이전에 서비스 환경에서 실행한 결과를 불러오기할 수 있다(물론, 기준 코드 또한 테스트 환경에서 실행하는 것도 가능하다).
일실시예에 따르면, 코드 비일치율을 판단하는 서비스(320)를 실행함에 있어서, 전자 장치는 검증 대상 코드 중 일부에 대해서는 판단을 제외할 수 있다. 이는, 검증 대상 코드에 따라 의도된 차이(즉 코드에 따른 목표 변경 대상 응답 부분)에 대해서는, 기준 코드와 일치하지 않는다는 이유로 해당 코드가 지표 기준을 만족하지 못한다고 판단하는 것이 부적절하기 때문일 수 있다. 관련하여, 판단을 제외할 부분은 전자 장치가 직접 판단할 수도 있고, 작업자 등으로부터 판단을 제외할 부분에 대한 지시 정보를 입력받을 수도 있다. 실시예에 따라, 전자 장치는 검증 대상 코드 중 판단을 제외할 부분에 대한 입력 기능을 제공하기 위한 정보를 작업자의 장치에 제공하고, 작업자의 장치는 이에 기초하여 판단을 제외할 부분에 대한 입력 기능을 포함하는 사용자 인터페이스를 제공할 수 있다.
한편, 검증 대상 코드 중 일부에 대해서는 판단을 제외하는 기능과 관련해서는, 코드 비일치율을 판단하는 서비스(320)를 대표적인 예시로 들어 설명하였으나, 다른 유형의 서비스들과 관련해서도 필요에 따라 코드 중 일부에 대해서 판단을 제외하는 기능이 포함될 수 있다.
코드 구동을 테스트하는 서비스(330)는, 검증 세트의 수행을 통하여 판단할 지표가 합격률을 포함하는 경우 실행되는 테스트로서, 전자 장치는 검증 대상 코드를 복수의 테스트 환경에서 실행하고, 복수의 테스트 환경에서 실행한 결과 획득되는 응답이 적절한 응답에 해당하는 비율 정보를 획득할 수 있다. 관련하여, 적절한 응답은 복수의 테스트 환경 별로 매칭되는 것으로서, 예를 들어 아이템 검색 결과 화면에서 특정 아이템에 대한 사용자 입력 정보가 수신된 케이스에 대응하는 테스트 환경의 경우 적절한 응답은 특정 아이템에 대한 상세 정보 페이지의 제공에 해당할 수 있다.
다시 도 2로 돌아와서, 일실시예에 따르면, 전자 장치는 검증 대상 코드와 관련한 속성 정보를 획득하고, 속성 정보에 기초하여 검증 세트를 수행하기 위한 하나 이상의 테스트 환경을 결정할 수 있다. 예컨대, 검증 대상 코드가 속성 정보를 지시하는 메시지를 포함하는 경우, 전자 장치는 해당 메시지에 기초하여 검증 대상 코드와 관련한 속성 정보를 획득하고 이에 기초하여 테스트 환경을 결정할 수 있다. 검증 요청 메시지와 마찬가지로, 속성 정보를 지시하는 메시지를 어디에 혹은 어떻게 작성할지에 대한 합의된 규칙이 존재하는 경우, 전자 장치는 검증 대상 코드에서 관련 부분만을 확인함으로써 속성 정보를 지시하는 메시지를 확인하는 데에 소요되는 리소스를 절약할 수 있다. 예를 들어, 검증 대상 코드의 속성 정보는 첫 100줄 이내에서 주석에 삽입한다는 합의된 규칙이 존재하는 경우 전자 장치는 첫 100줄에서 주석 처리된 부분의 텍스트만을 확인하여 검증 대상 코드가 속성 정보를 지시하는 특정 텍스트를 포함하는지 여부를 판단하고, 포함하는 경우에는 그 내용을 확인할 수 있다.
실시예에 따라서는, 작업자의 장치가 코드와 별개로 속성 정보를 지시하는 정보를 더 수신하여 전자 장치에 제공하는 등, 속성 정보의 획득은 특정 실시예에 한정되지 않고 다양한 방식에 따라 이루어질 수 있다.
본 개시에서는 전자 장치가 검증 대상 코드에 포함된 검증 요청 메시지 및 속성 정보를 확인하는 내용을 설명하였으나, 이 외에도 작업자가 검증 대상 코드 상에 테스트를 위한 다양한 정보를 입력할 수 있고, 전자 장치는 해당 정보를 확인하여 테스트를 진행할 수 있으며, 검증 요청 메시지 및 속성 정보는 입력될 수 있는 다양한 정보들의 예시들에 불과하다고 이해되어야 한다.
또한, 위 실시예들에서, 코드의 속성 정보 등을 주석에 삽입하는 경우를 합의된 규칙의 예시로 설명하였으나, 코드의 속성 정보는 코드 본문에도 삽입될 수 있고, 나아가서는 코드 본문에 삽입된 부분이 실행되어 특정 API를 호출함으로써 검증 세트가 수행될 수도 있는 등, 다양한 예시들이 존재할 수 있다. 한편, 이렇게 코드 본문에 삽입된 메시지에 기초하여 검증 세트가 수행되거나 속성 정보가 확인되는 경우에는, 검증 이후 코드가 최종 배포될 때 해당 메시지 부분은 배포에서 제외될 수도 있다.
한편, 실시예에 따라서는, 전자 장치는 테스트 환경과 관련된 정보를 작업자로부터 입력받고, 입력받은 정보에 기초하여 테스트 환경을 결정할 수도 있다. 이와 관련한 구체적 예시로서, 도 5를 더 참조하면, 작업자 장치는 테스트 환경과 관련된 정보를 입력받기 위한 사용자 인터페이스를 작업자에게 제공할 수 있다(500). 이 경우, 작업자에게 제공한 사용자 인터페이스에 대한 사용자 입력이 있을 경우 작업자 장치는 이를 전자 장치에 제공할 수 있다. 도 5는 테스트 환경과 관련된 정보를 입력받기 위하여 복수의 선택지를 스크롤의 형태로 작업자에게 제공하고 작업자가 그 중 하나를 선택하는 사용자 인터페이스를 도시하고 있으나, 테스트 환경과 관련된 정보를 입력받는 실시예가 이에 한정되는 것은 아니며, 예컨대 작업자가 직접 메시지를 입력하면 전자 장치가 해당 메시지에 포함된 키워드에 기초하여 테스트 환경을 결정하는 등의 다양한 실시예들이 존재할 수 있다.
또한, 작업자로부터 입력받은 정보는 테스트 환경을 직접적으로 지시하는 정보일 수도 있으나, 실시예에 따라 작업자로부터 입력받은 정보는 검증 대상 코드와 관련한 속성 정보를 포함할 수도 있으며, 이 경우 전자 장치는 해당 속성 정보에 기초하여 검증 세트를 수행하기 위한 하나 이상의 테스트 환경을 결정할 수 있다. 나아가, 실시예에 따라서는, 작업자로부터 입력받은 정보는 검증 요청 메시지 및 속성 정보 등 테스트를 위하여 필요한 정보를 코드에 입력하는 것과 관련한 규칙 정보를 포함할 수도 있고, 이 경우 전자 장치는 해당 규칙 정보에 기초하여 검증 대상 코드에 포함된 정보를 확인할 수도 있다.
다시 도 2로 돌아와서, 전자 장치는 검증 세트의 수행에 따른 검증 결과 정보를 작업자에게 제공할 수 있다(230). 관련하여, 검증 대상 코드가 각 지표 별 기준을 만족하지 않는 경우, 전자 장치는 검증 대상 코드의 작업자에게 검토 요청 정보를 제공하고, 작업자의 장치는 검토 요청을 포함하는 화면을 작업자에게 제공할 수 있다.
실시예에 따라, 어떤 지표 기준을 만족하지 못했는지에 따라 전자 장치가 제공하는 검토 요청 정보의 유형이 결정될 수도 있다. 예컨대, 전자 장치는 주요 지표에 대해서는 지표 기준을 만족했지만 비 주요 지표에 대해서 지표 기준을 만족하지 못한 경우에 대해 제1검토 요청 정보를 제공하는 반면, 주요 지표에 대해서 지표 기준을 만족하지 못한 경우에 대해서는 제2검토 요청 정보를 제공할 수 있다. 예를 들어, 코드 커버리지는 비 주요 지표이고, 비일치율 및 합격률은 주요 지표인 경우에, 코드 커버리지에 대해서는 기준 90%에 미달하는 85%의 코드 실행률을 보인 반면, 비일치율 및 합격률에 대해서는 기준을 통과한 경우, 전자 장치는 제1검토 요청 정보를 작업자에게 제공할 수 있다. 관련하여, 제1검토 요청 정보를 제공하였는지 혹은 제2검토 요청 정보를 제공하였는지에 따라 작업자에게 제공되는 화면이 달라질 수 있다.
나아가, 실시예에 따라서는, 검증 대상 코드가 정상적으로 실행되지 않아 각 지표 별 기준을 만족하는지 여부를 확인할 수 없는 경우, 전자 장치는 해당 코드에 대한 실행 실패를 알리는 정보를 제공할 수도 있으며, 작업자의 장치는 검증 대상 코드의 실행 실패를 알리는 화면을 작업자에게 제공할 수 있다.
한편, 검증 대상 코드가 각 지표 별 기준을 만족하는 경우, 전자 장치는 검증을 종료할 수 있다. 이 경우에도, 작업자의 장치는 검증 종료를 알리는 정보를 화면에 표시할 수 있다. 관련하여, 검증 종료를 명시하지 않더라도, 별도의 검토 요청이나 실행 실패 정보 등이 화면에 표시되지 않고, 각 지표 별로 기준을 통과하였음을 알리는 검증 결과가 화면에 표시되는 경우에는, 검증 종료를 알리는 정보가 화면에 표시되는 것으로 이해될 수 있다.
검증 세트를 수행한 결과를 작업자에게 제공한 화면의 일 예시가 도 4에 도시된다. 도 4를 더 참조하면, 복수의 테스트 서비스별로 그 실행 여부와 함께 기준의 만족 여부가 화면에 표시될 수 있다(400). 관련하여, "Automation"및 "Sonar and UT"는 코드 구동을 테스트하는 서비스(330)의 예시들에 해당하고, "Automation Code Coverage"는 코드 비일치율을 판단하는 서비스(320)의 일 예시에 해당할 수 있다. 도 4에 도시되는 화면의 경우, 코드 구동을 테스트하는 서비스(330) 중 일부는 통과하고, 일부는 실행되지 않았으며, 코드 비일치율을 판단하는 서비스(320)는 통과했음을 알리는 정보들을 포함할 수 있다. 한편, 도 4의 예시와 관련하여, "Sonar and UT"에 대한 결과 "No Run"은 작업자가 해당 테스트 서비스를 요청하지 않았거나 전자 장치가 해당 테스트 서비스를 실행할 필요가 없다고 판단하는 등의 이유로 해당 테스트 자체가 수행되지 않은 경우로 이해될 수 있다. 즉, "No Run"이 검증 대상 코드의 실행 실패를 알리는 정보로 이해될 것은 아니며, 검증 대상 코드의 실행이 실패되는 경우는 "Failed" 등 그 실행 실패를 명확히 알릴 수 있는 보다 적절한 문구가 표시될 수 있다.
도 6은 일실시예에 따른 검증 세트를 이용한 코드 검증 방법의 구체적 예시를 설명하기 위한 도면이다.
도 6을 참조하면, 일실시예에 따른 전자 장치는 코드 검증 요청을 수신한다(110). 전술하였듯이 코드 검증 요청은 웹 페이지 상에서 코드의 검증 요청 입력을 제공받는 경우("Branch PR/Push")에 한정되지 않고, 예컨대 사용자가 자신이 작업한 코드와 관련한 경로 정보를 입력하는 경우("Branch List/Overview") 등의 다양한 예시들을 포함할 수 있다.
전자 장치는 테스트 서비스를 수행하기에 앞서서 테스트 환경을 설정하거나, 혹은 환경 설정 정보를 확인할 수 있다(120). 전자 장치는 일실시예에 따른 전자 장치는 설정 정보에 기초하여 검증 세트의 수행을 통하여 판단할 지표의 유형 정보 및 각 지표 별 기준 정보를 판단할 수 있다.
전자 장치는 설정 정보에 기초하여 검증 대상 코드에 대한 검증 세트를 수행한다(130). 전술하였듯이 코드 검증을 위한 테스트 서비스는, 커버리지를 테스트하는 서비스(310), 코드 비일치율을 판단하는 서비스(320) 및 코드 구동을 테스트하는 서비스(330) 중 적어도 하나를 포함할 수 있다. 관련하여, 각 테스트 서비스와 관련해서도 세부적인 테스트 유형들이 존재할 수도 있는데, 예컨대 커버리지를 테스트하는 서비스는 유닛 테스트 커버리지("UT Coverage") 및 자동화 코드 커버리지("Automation Code Coverage") 등의 테스트 유형들을 포함할 수 있고, 나아가서는 여러 유형을 통합하여 커버리지를 테스트하는 병합 커버리지("Merged Coverage") 등의 테스트 유형들을 더 포함할 수도 있다.
실시예에 따라서는, 전자 장치는 커버리지를 테스트하는 서비스(310), 코드 비일치율을 판단하는 서비스(320) 및 코드 구동을 테스트하는 서비스(330) 외의 다른 서비스들에 더 기초하여 검증 세트를 수행할 수도 있다. 예를 들어, 전자 장치는 테스팅 환경을 결정하기 위한 서비스(610, "Testing Environment as a Service") 및 모의 페이지를 제공하기 위한 서비스(620, "Mock as a Service") 등을 더 포함할 수 있다. 이러한 예시들 이외에도, 전자 장치는 다른 테스트 서비스들이나 테스트 서비스들을 보조하기 위한 서비스들에 더 기초하여 검증 세트를 수행할 수 있는 등, 검증 세트를 수행하기 위한 테스트 서비스들은 전술한 예시들에 한정되지 않는다.
검증 세트를 수행한 전자 장치는 검증 세트의 수행에 따른 검증 결과 정보를 제공한다(630). 전술하였듯이, 검증 대상 코드가 각 지표 별 기준을 만족하지 않는 경우, 전자 장치는 검증 대상 코드의 작업자에게 검토 요청 정보를 제공할 수 있다("PR Checks").
도 7은 일실시예에 따른 코드를 검증하는 전자 장치의 구성의 예시도이다.
도 7을 참조하면, 전자 장치는 트랜시버(710), 프로세서(720) 및 메모리(730)를 포함한다. 전자 장치는 트랜시버(710)를 통하여 기준 서버(120), 개발 서버(130) 및 외부 장치(예를 들어, 퍼스널 컴퓨터) 등과 연결되고, 데이터를 교환할 수 있다.
프로세서(720)는 도 1 내지 도 6을 통하여 전술한 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 6을 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(730)는 도 1 내지 도 6을 통하여 전술한 적어도 하나의 방법을 수행하기 위한 정보(전술한 요청 정보 세트, 요청 정보 서브 세트, 제1 응답 세트, 제2 응답 세트, 통계 정보 및 비교 정보 포함)를 저장할 수 있다. 메모리(730)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(720)는 프로그램을 실행하고, 정보를 제공하기 위한 전자 장치를 제어할 수 있다. 프로세서(720)에 의하여 실행되는 프로그램의 코드는 메모리(730)에 저장될 수 있다.
또한 실시 예의 전자 장치는 관리자에게 정보를 제공할 수 있는 인터페이스를 더 포함할 수 있다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
전술한 실시예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler), 파이썬(Python) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시예들이 구현될 수 있다.
Claims (13)
- 전자 장치에서 정보를 제공하는 방법에 있어서,검증 대상 코드를 확인하는 단계;상기 검증 대상 코드에 대응하는 설정 정보에 기초하여 상기 검증 대상 코드에 대한 검증 세트를 수행하는 단계; 및상기 검증 세트의 수행에 따른 검증 결과 정보를 제공하는 단계를 포함하는, 정보를 제공하는 방법.
- 제1항에 있어서,상기 전자 장치는 상기 설정 정보에 기초하여 상기 검증 세트의 수행을 통하여 판단할 지표의 유형 정보 및 각 지표 별 기준 정보를 판단하는 것을 특징으로 하는, 정보를 제공하는 방법.
- 제2항에 있어서,상기 검증 세트를 수행하는 단계는상기 검증 세트를 수행한 결과 상기 검증 대상 코드가 상기 각 지표 별 기준을 만족하는 경우, 검증을 종료하는 단계를 포함하는 것을 특징으로 하는, 정보를 제공하는 방법.
- 제2항에 있어서,상기 검증 세트를 수행하는 단계는상기 검증 세트를 수행한 결과 상기 검증 대상 코드가 상기 각 지표 별 기준을 만족하지 않는 경우, 상기 검증 대상 코드의 작업자에게 검토 요청 정보를 제공하는 단계를 포함하는 것을 특징으로 하는, 정보를 제공하는 방법.
- 제1항에 있어서,상기 검증 세트의 수행을 통하여 판단할 지표는 코드 커버리지(coverage)를 포함하고,상기 검증 세트를 수행하는 단계는상기 검증 대상 코드를 위한 테스트 환경을 확인하는 단계;상기 테스트 환경에서 상기 검증 대상 코드를 실행하는 단계; 및상기 테스트 환경에서 상기 검증 대상 코드를 실행한 결과 상기 검증 대상 코드가 포함하는 복수의 컴포넌트 중 활성화된 컴포넌트의 비율 정보를 획득하는 단계를 포함하는 것을 특징으로 하는, 정보를 제공하는 방법.
- 제1항에 있어서,상기 검증 세트의 수행을 통하여 판단할 지표는 합격률(pass rate)을 포함하고,상기 검증 세트를 수행하는 단계는상기 검증 대상 코드를 복수의 테스트 환경에서 실행하는 단계; 및상기 복수의 테스트 환경에서 실행한 결과 획득되는 응답이 적절한 응답에 해당하는 비율 정보를 획득하는 단계를 포함하는 것을 특징으로 하는, 정보를 제공하는 방법.
- 제1항에 있어서,상기 검증 세트의 수행을 통하여 판단할 지표는 비일치율(difference rate)을 포함하고,상기 검증 세트를 수행하는 단계는상기 검증 대상 코드를 서비스 환경에 대응되는 테스트 환경에서 실행하는 단계; 및상기 검증 대상 코드를 상기 테스트 환경에 실행하는 경우에 획득되는 응답 및 기준 코드를 상기 서비스 환경에서 실행하는 경우에 획득되는 응답을 비교하는 단계를 포함하는 것을 특징으로 하는, 정보를 제공하는 방법.
- 제1항에 있어서,상기 검증 세트를 수행하는 단계는상기 검증 대상 코드와 관련한 속성 정보를 획득하는 단계; 및상기 속성 정보에 기초하여, 상기 검증 세트를 수행하기 위한 하나 이상의 테스트 환경을 결정하는 단계를 포함하는 것을 특징으로 하는, 정보를 제공하는 방법.
- 제8항에 있어서,상기 속성 정보를 획득하는 단계는상기 검증 대상 코드가 상기 속성 정보를 지시하는 메시지를 포함하는 경우, 상기 메시지에 기초하여 상기 속성 정보를 획득하는 단계를 포함하는 것을 특징으로 하는, 정보를 제공하는 방법.
- 제1항에 있어서,상기 검증 대상 코드를 확인하는 단계는상기 검증 대상 코드에 대응하는 정보가 웹 페이지에 입력된 경우, 상기 검증 대상 코드에 포함된 검증 요청 메시지를 확인하는 단계를 포함하는 것을 특징으로 하는, 정보를 제공하는 방법.
- 제10항에 있어서,상기 검증 요청 메시지를 확인하는 단계는상기 검증 대상 코드에서 주석 처리된 메시지가 특정 텍스트를 포함하는지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는, 정보를 제공하는 방법.
- 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
- 정보를 처리하는 전자 장치에 있어서,트랜시버, 명령어를 저장하는 메모리 및 프로세서를 포함하고,상기 프로세서는, 상기 트랜시버 및 상기 메모리와 연결되어,검증 대상 코드를 확인하고,상기 검증 대상 코드에 대응하는 설정 정보에 기초하여 상기 검증 대상 코드에 대한 검증 세트를 수행하고,상기 검증 세트의 수행에 따른 검증 결과 정보를 제공하는, 전자 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0080390 | 2022-06-30 | ||
KR1020220080390A KR20240003207A (ko) | 2022-06-30 | 2022-06-30 | 코드 검증 정보를 제공하는 전자 장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024005246A1 true WO2024005246A1 (ko) | 2024-01-04 |
Family
ID=89380719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/009580 WO2024005246A1 (ko) | 2022-06-30 | 2022-07-04 | 코드 검증 정보를 제공하는 전자 장치 및 그 방법 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR20240003207A (ko) |
TW (1) | TW202403555A (ko) |
WO (1) | WO2024005246A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0895826A (ja) * | 1994-09-21 | 1996-04-12 | Hitachi Software Eng Co Ltd | プログラムテスト方法 |
KR101547248B1 (ko) * | 2013-12-10 | 2015-08-25 | 슈어소프트테크주식회사 | 소프트웨어의 종합 품질 점수 추출 모듈과 방법 및 소프트웨어의 종합 품질 점수 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 |
KR20160050634A (ko) * | 2014-10-30 | 2016-05-11 | 주식회사 케이티 | 테스트 대상 소프트웨어를 테스트하는 시스템, 테스트 대상 소프트웨어를 테스트하는 방법 및 클라우드 서버 |
JP2016143160A (ja) * | 2015-01-30 | 2016-08-08 | 富士通株式会社 | 検証プログラム、検証装置及び検証方法 |
KR102293274B1 (ko) * | 2019-10-02 | 2021-08-24 | 국방과학연구소 | 테스트 환경 구축 방법 및 장치 |
-
2022
- 2022-06-30 KR KR1020220080390A patent/KR20240003207A/ko unknown
- 2022-07-04 WO PCT/KR2022/009580 patent/WO2024005246A1/ko unknown
-
2023
- 2023-06-16 TW TW112122533A patent/TW202403555A/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0895826A (ja) * | 1994-09-21 | 1996-04-12 | Hitachi Software Eng Co Ltd | プログラムテスト方法 |
KR101547248B1 (ko) * | 2013-12-10 | 2015-08-25 | 슈어소프트테크주식회사 | 소프트웨어의 종합 품질 점수 추출 모듈과 방법 및 소프트웨어의 종합 품질 점수 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 |
KR20160050634A (ko) * | 2014-10-30 | 2016-05-11 | 주식회사 케이티 | 테스트 대상 소프트웨어를 테스트하는 시스템, 테스트 대상 소프트웨어를 테스트하는 방법 및 클라우드 서버 |
JP2016143160A (ja) * | 2015-01-30 | 2016-08-08 | 富士通株式会社 | 検証プログラム、検証装置及び検証方法 |
KR102293274B1 (ko) * | 2019-10-02 | 2021-08-24 | 국방과학연구소 | 테스트 환경 구축 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20240003207A (ko) | 2024-01-08 |
TW202403555A (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018182126A1 (ko) | 안전 소프트웨어 인증 시스템 및 방법 | |
WO2013165180A1 (ko) | 로그 모니터링 방법, 그 서버 및 기록 매체 | |
WO2016111525A1 (ko) | 소스코드 이관제어 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체 | |
WO2019227641A1 (zh) | 一种应用程序测试方法、装置、终端设备及介质 | |
WO2015088066A1 (ko) | 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
CN112363753A (zh) | 数据校验方法、装置、电子设备及存储介质 | |
WO2022139050A1 (ko) | 코드의 검증을 위한 전자 장치 및 그 방법 | |
WO2015088067A1 (ko) | 소프트웨어 품질 요소 추출 모듈과 방법 및 소프트웨어 품질 요소 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
WO2021107183A1 (ko) | Autosar 기반의 소프트웨어 설계 방법 및 이를 수행하기 위한 장치 | |
WO2024005246A1 (ko) | 코드 검증 정보를 제공하는 전자 장치 및 그 방법 | |
WO2013165188A1 (ko) | 컴퓨팅 장치에서 수행되는 자원 모니터링 방법 및 컴퓨팅 장치 | |
CN103425576A (zh) | 信息反馈的方法及终端 | |
WO2023229062A1 (ko) | Ms-ooxml에서 ole object 무해화를 위한 방법 및 장치 | |
WO2016190485A1 (ko) | 데이터 무단 엑세스 차단 방법 및 그 기능이 구비된 컴퓨팅 장치 | |
WO2022145572A1 (ko) | 예상 결과값을 토대로 정보를 제공하는 방법 및 이를 이용한 연산 장치 | |
WO2024106621A1 (ko) | 스크립트와 관련한 정보를 제공하는 전자 장치 및 그 방법 | |
WO2016137035A1 (ko) | 테스트 케이스 생성 장치와 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
WO2024147400A1 (ko) | 불변성을 검증하는 전자 장치 및 그 방법 | |
WO2017115976A1 (ko) | 접근성 이벤트를 이용한 유해 사이트 차단 방법 및 장치 | |
WO2022065525A1 (ko) | 메소드 후킹을 이용한 네트워크 통신 모니터링 방법 및 시스템 | |
WO2024147403A1 (ko) | 가상의 테스트 정보에 기반하여 시스템에 대한 테스트 방법 및 이를 수행하는 전자 장치 | |
Cisco | Troubleshooting BAT and TAPS | |
WO2024063190A1 (ko) | 프로파일 정보를 제공하는 전자 장치 및 그 방법 | |
WO2020022645A1 (en) | Method and electronic device for configuring touch screen keyboard | |
WO2023249156A1 (ko) | 코드 정보 제공을 위한 전자 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22949539 Country of ref document: EP Kind code of ref document: A1 |