WO2024058299A1 - Ab 테스트 코드 정보 관리를 위한 전자 장치 및 그 방법 - Google Patents

Ab 테스트 코드 정보 관리를 위한 전자 장치 및 그 방법 Download PDF

Info

Publication number
WO2024058299A1
WO2024058299A1 PCT/KR2022/014160 KR2022014160W WO2024058299A1 WO 2024058299 A1 WO2024058299 A1 WO 2024058299A1 KR 2022014160 W KR2022014160 W KR 2022014160W WO 2024058299 A1 WO2024058299 A1 WO 2024058299A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
code
test code
test
electronic device
Prior art date
Application number
PCT/KR2022/014160
Other languages
English (en)
French (fr)
Inventor
히리앙웨이
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Publication of WO2024058299A1 publication Critical patent/WO2024058299A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms

Definitions

  • This disclosure relates to an electronic device and method for tracking and managing information related to AB test code.
  • AB testing is a method of comparing two pieces of content between a control group and an experimental group in a digital environment to identify content that better demonstrates the intended effect. It is widely used in product design, development, marketing, etc. by applying proven options. there is. For example, AB testing can be used during the development process to determine whether to update the code to add specific features or maintain the existing code.
  • the present disclosure is proposed to solve the above-mentioned problems, and its purpose is to provide an electronic device and method that can automatically search, track, and manage information about code that needs to be organized in the AB testing process.
  • An AB test code information management method includes the steps of obtaining history information of a pull request (PR) for an AB test code based on a reference point in time; Obtaining status information about the AB test code based on the history information of the PR; checking whether notification conditions related to the AB test code are met based on the status information; and transmitting notification information related to the AB test code when the notification condition is met.
  • PR pull request
  • the history information of the PR may include an AB test key capable of identifying the AB test code and checklist information set in relation to the AB test.
  • the checklist information may include identification information that can confirm whether the PR is a PR requesting a code cleanup task for the AB test code.
  • the step of acquiring the history information of the PR may be characterized by acquiring the history information of the PR based on content entered by the developer in the PR template defined separately from the PR code. .
  • the step of obtaining the history information of the PR may be characterized by extracting the history information of the PR based on a value assigned to a specific variable in the code of the PR written by the developer.
  • the state information includes first state information corresponding to a state before execution of the AB test code, second state information corresponding to a state during execution of the AB test code, and completion of execution of the AB test code.
  • Third state information corresponding to the state and fourth state information corresponding to the state in which code cleanup for the AB test code has been performed may optionally be included.
  • the step of obtaining the status information may be characterized by acquiring status information about the AB test code corresponding to the AB test key included in the history information of the PR.
  • the step of checking whether the notification condition is met includes checking whether an unorganized code that is not the target of code cleaning work exists among AB test codes corresponding to each PR; And when the unresolved code exists, it may include checking whether the notification condition is satisfied based on status information about the unresolved code.
  • the step of confirming whether the notification condition is met based on the status information about the unresolved code includes, if the unorganized code exists, checking whether the unorganized code is in an execution complete state; When the unorganized code is in an execution-finished state, checking whether a set period of time has elapsed from the point of execution of the unorganized code; And when the set period has elapsed from the end of execution of the unorganized code, it may include determining that the notification condition is satisfied.
  • the state information may optionally additionally include fifth state information corresponding to a state in which execution of the AB test code is completed and code cleanup is possible, and checking whether the notification condition is met.
  • fifth state information corresponding to a state in which execution of the AB test code is completed and code cleanup is possible, and checking whether the notification condition is met.
  • the step of transmitting the notification information may be characterized by sending an email with a tracking result file for the AB test code attached to the set AB test-related account as the recipient.
  • the step of transmitting the notification information may be characterized by inserting and transmitting a link to a website that provides tracking results for the AB test code in the body of the email.
  • the AB test code information management method refers to a database in which at least part of the history information of the PR and status information about the AB test code is stored, and records at least part of the tracking results of the AB test code.
  • a step of generating a report or dashboard may be further included.
  • An electronic device for managing information about an AB test code includes a transceiver, a memory for storing instructions, and a processor, and the processor is connected to the transceiver and the memory, and is based on a reference point.
  • Obtain history information of the Pull Request (PR) for the AB test code obtain status information for the AB test code based on the history information of the PR, and perform the AB test based on the status information. It is checked whether the notification conditions related to the code are met, and if the notification conditions are met, notification information related to the AB test code is transmitted.
  • PR Pull Request
  • FIG. 1 is a schematic configuration diagram showing an environment in which an electronic device operates, according to an embodiment.
  • Figure 2 is a flowchart illustrating a method for managing AB test code information according to an embodiment.
  • 3 to 5 are flowcharts to explain an AB test code information management method according to an additional embodiment.
  • Figure 6 is an exemplary diagram illustrating a process for managing information about AB test code according to an embodiment.
  • Figures 7a and 7b are example diagrams to explain history information of pull requests for AB test code.
  • Figure 8 is an example diagram for explaining notification information related to AB test code.
  • FIG. 9 is a block diagram illustrating an electronic device that manages information about AB test codes, according to an embodiment.
  • the “terminal” or “user 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.
  • transmission “communication,” “transmission,” “reception,” “transmission,” “transmission,” “reception,” or similar terms of a signal, message, or information refer to the direct transmission of information, message, or information from one component to another. It includes not only what is done, but also what is transmitted through other components.
  • “transmitting” or “transmitting” a signal, message or information as a component indicates the final destination of the signal, message or information and does not mean the direct destination.
  • “related” to two or more data or information means that if one data (or information) is acquired, at least part of other data (or information) can be obtained based on it.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The above terms may be used for the purpose of distinguishing one component from another component.
  • a first component may be referred to as a second component, and similarly, the second component may also be referred to as the first component without departing from the scope of the present disclosure.
  • each block of the processing flow diagrams and combinations of the flow diagram diagrams may 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 configuration diagram 100 illustrating an environment in which an electronic device operates according to an embodiment.
  • the electronic device 110, the history information storage 120, the AB test management server 130, and the database 140 communicate with each other or with other external devices through the connected network 150.
  • the network 150 includes a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, and their respective networks. It is a comprehensive data communication network that includes a combination and allows each component shown in Figure 1 to communicate smoothly with each other, and may include wired Internet, wireless Internet, and mobile wireless communication network.
  • Wireless communications include, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, ZigBee, WFD (Wi-Fi Direct), UWB (ultra wideband), and infrared communication (IrDA, infrared Data Association). ), NFC (Near Field Communication), etc., but are not limited thereto.
  • the electronic device 110 collects information about the AB test code, verifies at least some of the information that satisfies specific conditions, generates notification information related to the confirmed information, and then transmits the notification information to an external entity. do.
  • the electronic device 110 may communicate with the history information storage 120, the AB test management server 130, or the database 140 to collect information about the AB test code.
  • the electronic device 110 may be a server that collects information about the AB test code, checks whether certain conditions are met, and performs operations related to generating and transmitting notification information, but depending on the embodiment, It may include a plurality of servers, and may be configured so that one or more servers and an external cloud server can communicate electronically.
  • the history information repository 120 contains detailed information (in the present disclosure, at the time each request is reflected) related to a series of requests (e.g., Pull Request, PR, etc.) for reflecting changes to the AB test code. Since changes in the AB test code occur, each request causes changes in the AB test code over time, so detailed information related to the request (referred to as 'history information') is stored.
  • the history information storage 120 may be a medium that has a storage space physically separate from the electronic device 110, but depending on the embodiment, it may be a conceptual name for a storage space included in the electronic device 110.
  • the AB test management server 130 stores status information that can identify the status of the AB test code.
  • the AB test management server 130 can automatically check status information and AB test key values input by relevant personnel (eg, project managers) of the AB test code.
  • the AB test management server 130 provides the electronic device 110 with an API (Application Programming Interface) that can check status information about the AB test code, or provides the status information itself about the AB test code. It may be a device provided to the electronic device 110.
  • the AB test management server 130 is an entity that provides a service that outputs status information about the AB test code in a form that can be confirmed by the electronic device 110, so depending on the embodiment, it may consist of one server or multiple servers. It may also include a set of servers.
  • the electronic device 110 may obtain status information for each AB test code for each corresponding AB test key through the API provided by the AB test management server 130.
  • the database 140 is physically or electronically separated from the history information storage 120 and the AB test management server 130, and stores at least some of the information collected from the history information storage 120 or the AB test management server 130. Refers to the space where is stored. However, the form (format) of information stored in the database 140 follows the schema set for the database 140, and the database 140 stores the history information storage 120 at the request of the electronic device 110. Information collected from the AB test management server 130 may be stored, or pre-stored information may be provided to the electronic device 110.
  • FIGS. 2 to 5 may be performed, for example, by the electronic device 110 described above.
  • Figure 2 is a flowchart illustrating a method for managing AB test code information according to an embodiment.
  • step S210 the electronic device 110 obtains pull request (PR) history information for the AB test code based on the reference point.
  • PR pull request
  • 'history information' refers to detailed information related to a series of requests for reflecting changes in AB test code.
  • 'PR' includes a pull request requesting to merge a branch reflecting control commands for the AB test code into the main branch where the existing AB test code is executed.
  • the history information of the PR may include 1) an AB test key that can identify the AB test code, and 2) checklist information set in relation to the AB test.
  • the checklist information set in relation to AB testing may include identification information that can confirm whether the PR is a PR requesting a code cleanup operation for the AB test code.
  • the process of the electronic device 110 acquiring PR history information may be performed by collecting PR history information input in advance or extracting PR history information from other information.
  • the electronic device 110 may obtain PR history information based on content input by the developer into a PR template defined separately from the PR code.
  • the electronic device 110 may extract PR history information based on the value assigned to a specific variable in the PR code written by the developer.
  • the electronic device 110 may periodically acquire PR history information at a set period from a reference point in time. For example, the electronic device 110 may transmit a request to collect PR history information to the history information storage 120 at a set period.
  • step S220 the electronic device 110 obtains status information about the AB test code based on the history information of the PR.
  • 'status information' includes information that can identify the working status of the AB test code, and the status information can be obtained from the AB test management server 130.
  • the AB test management server 130 is one of the sources for obtaining status information, and depending on the embodiment, the electronic device 110 may obtain status information from another entity.
  • status information about the AB test code may correspond to one of the following plural options.
  • the standard for changing the value from the second state information to the third state information can be set in various ways, but a typical example is when the preset AB test period expires or the number of users set as the goal of the AB test is achieved. It can be set to be.
  • the state information for the AB test code may optionally additionally include fifth state information corresponding to a state in which the AB test code has finished execution and the code can be cleaned up, and the above-mentioned first to second state information may optionally be included. It may correspond to one of 5 status information.
  • the electronic device 110 may obtain status information about the AB test code corresponding to the AB test key included in the history information of the PR in step S220.
  • the electronic device 110 determines that the notification condition related to the AB test code is not met as a result of checking the status information through step S230, which will be described later. If it is determined that this is not the case, status information about the AB test code can be newly obtained at each set cycle. That is, the electronic device 110 can periodically check whether there are PRs that have not been sorted out, and thus automatically search for whether there are PRs that need to be sorted out among previously submitted PRs in addition to new PRs.
  • step S230 the electronic device 110 determines whether notification conditions related to the AB test code are met based on status information about the AB test code.
  • the electronic device 110 may check whether the above-described notification conditions are met when it is necessary to proceed with code organizing work. Specifically, the electronic device 110 checks whether an unresolved code that is not subject to code cleanup exists among the AB test codes corresponding to each PR, and if an unresolved code exists, based on the status information about the unorganized code. You can check whether the notification conditions are met. This will be described later with reference to FIG. 3 below.
  • the electronic device 110 may check whether the notification condition is met based on whether the AB test code is in a cleanable state. This will be described later with reference to FIG. 4 below.
  • step S240 the electronic device 110 transmits notification information related to the AB test code when the notification condition related to the AB test code is met.
  • the electronic device 110 before transmitting notification information, refers to the history information of the PR collected from the history information storage 120 or status information collected from the AB test management server 120.
  • Information on the account to which notification information is to be transmitted can be obtained by referring to the database 140 where PR history information or status information is stored.
  • the electronic device 110 may transmit an email with a tracking result file for the AB test code attached to a set AB test-related account as a recipient as a method of transmitting notification information.
  • the electronic device 110 may insert and transmit a link to a website that provides tracking results for AB test codes in the body of the email.
  • FIG. 3 to 5 are flowcharts to explain an AB test code information management method according to an additional embodiment. Specifically, Figures 3 and 4 relate to an embodiment specifying notification conditions related to the AB test code, and Figure 5 relates to an embodiment in which additional information related to the AB test code is generated in addition to notification information.
  • the electronic device 110 acquires PR history information for the AB test code based on a reference point (step S310), and obtains status information for the AB test code based on the PR history information. It can be obtained (step S320).
  • the electronic device 110 may check whether there is an unorganized code that is not subject to code cleaning work among the AB test codes corresponding to each PR (step S330). Subsequently, if there is an unorganized code, the electronic device 110 checks whether the unorganized code is in a finished execution state (step S340), and if the unorganized code is in a finished execution state, whether a set period of time has elapsed from the end of execution of the unorganized code.
  • step S350 By confirming (step S350), if a set period of time has elapsed from the end of execution of the unresolved code, it is determined that the notification conditions related to the AB test code are met, and notification information related to the AB test code can be transmitted (step S360).
  • the electronic device 110 acquires PR history information for the AB test code based on a reference point (step S410), and obtains status information for the AB test code based on the PR history information. It can be obtained (step S420).
  • the electronic device 110 checks whether the status information about the AB test code corresponds to the fifth state information (state information corresponding to a state in which the AB test code has finished execution and the code can be cleaned up) (step S430), and confirms. If the status information about the resulting AB test code corresponds to the fifth status information, it is determined that the notification conditions related to the AB test code are satisfied, and notification information related to the AB test code can be transmitted (step S440). In this case, notifications can be sent immediately about AB test code that can be cleaned up right away without having to wait for a certain period of time to pass, helping relevant personnel perform code cleaning work more quickly.
  • the electronic device 110 acquires PR history information for the AB test code based on a reference point (step S510), and obtains status information for the AB test code based on the PR history information. It can be obtained (step S520). Subsequently, the electronic device 110 determines whether the notification condition related to the AB test code is satisfied based on the status information about the AB test code (step S530), and if the notification condition related to the AB test code is satisfied, the AB test code Notification information related to can be transmitted (step S540). Next, the electronic device 110 refers to the database 140 in which at least part of the history information of the PR and the status information about the AB test code is stored, and creates a report or dashboard ( dashboard) can be created (step S550).
  • dashboard dashboard
  • the report or dashboard generated by the electronic device 110 may display AB test codes that require code cleanup work and AB test codes that do not require code cleanup work.
  • the report or dashboard generated by the electronic device 110 is stored in the database 140, and a request from the electronic device 110 or an external entity (e.g., an individual terminal used by relevant personnel) is stored in the database 140. If there is one, the original or a copy may be provided to the terminal that transmitted the request.
  • an external entity e.g., an individual terminal used by relevant personnel
  • the method is divided into a plurality of steps, but at least some of the steps are performed in a different order, combined with other steps, omitted, divided into detailed steps, or not shown. One or more steps may be added and performed.
  • FIG. 6 is an exemplary diagram illustrating a process for managing information about AB test code according to an embodiment.
  • each step of the process is shown as a shape such as a square, a square with rounded corners, a cylinder, and a diamond.
  • the cylindrical shape represents the storage medium
  • the rounded square represents the start/end of execution
  • the square represents each step of the process. It was used to indicate processing.
  • Figure 6 shows, as an example, a tracking process for AB test code performed every week.
  • 'AB Code Tracking' in the center refers to the AB test code tracking process performed internally in the electronic device 110
  • 'Code Repos' at the top refers to the AB test code tracking process performed internally by the electronic device 110 and the history information storage 120.
  • the test code tracking process, 'XPC' at the bottom shows the AB test code tracking process performed by communication between the electronic device 110 and the AB test management server 130 (in the 'AB Code Tracking' area in the center).
  • An AB Store corresponding to the database 140 is shown, but this does not limit the database 140 to one component included in the electronic device 110 and is for convenience of explanation).
  • the electronic device 110 may select the AB test code for which to obtain status information. To this end, the electronic device 110 may obtain PR history information for the AB test code from the history information storage 120 (All Merged PRs).
  • the electronic device 110 refers to the AB test key included in the history information of the acquired PR and communicates with the AB test management server 130 to determine the status of the AB test code corresponding to the AB test key. Information can be obtained (Reading Code Status).
  • Figure 7a illustrates a template of PR history information for AB test code.
  • the AB test key included in the history information of the PR consists of an array of letters, numbers, or a mixture of letters and numbers. It may be composed of a single array, but depending on the embodiment, it may be composed of a plurality of arrays. It may also be included. For example, if the AB test key includes a plurality of arrangements (AB-key-0 and AB-key-1), the electronic device 110 will state for both AB test keys and the corresponding AB test code. Information can be obtained.
  • the electronic device 110 can prevent the AB test key from being arranged in an overly complicated arrangement and reduce the computational load in the process of checking the mapping between the AB test key and the AB test code (AB-key-0
  • AB test keys represented by, AB test codes that do not map to these are excluded from the selection target in advance, and the mapping to AB-key-1 is checked for the remaining AB test codes, thereby reducing the computational load. alleviate).
  • the PR's history information may include label information that can identify the type of work requested by the PR for the AB test code.
  • the label information options include the first label option (New Feature), which indicates that the PR is requesting work to add a new feature to the AB test code, or the PR is a work to fix bugs in the AB test code.
  • a second label option (BugFix) indicating that the PR is requesting a code cleanup operation for the AB test code may be included, or a third label option (CodeCleanup) indicating that the PR is requesting a code cleanup operation for the AB test code may be included.
  • the history information of the PR may separately include identification information that can confirm that the PR is requesting code cleanup work for the AB test code.
  • the identification information may be in the form of a checklist, and depending on whether it is checked, it may indicate whether the PR is requesting code cleanup work for the AB test code (Is Clean AB Code). This feature can be especially useful when label information preset by the developer does not exist in the PR history information.
  • FIG. 7B shows a sample reflecting the embodiments related to FIG. 7A.
  • the history information corresponds to an AB test code with an AB test key of '18722', and the 'Is Clean AB Code' item on the checklist is checked, so the PR You can recognize that this is for code cleanup work on AB test code.
  • the electronic device 110 terminates the tracking process for the AB test code when it is unnecessary to clean up the AB test code (i.e., if there is no unorganized code), and the electronic device 110 terminates the tracking process for the AB test code. If there is unorganized code, it is checked whether a set period (e.g., 2 weeks) has passed since the execution of the unorganized code ended, and if the period has elapsed, code cleaning work is still done in the preset AB test-related account. An email can be sent notifying the existence of AB test code that has not been performed. If the corresponding unresolved code is still executing, or if a set period of time has not yet elapsed from the point at which execution ends, the electronic device 110 may similarly end the tracking process for the corresponding AB test code.
  • a set period e.g. 2 weeks
  • the electronic device 110 may generate a report or dashboard containing at least some of the tracking results of the AB test code after sending notification information (e.g., email) related to the AB test code. . Furthermore, the electronic device 110 may post the generated report or dashboard on its own hosting page, transmit it to the AB test management server 130, or store it in the database 140.
  • notification information e.g., email
  • Figure 8 is an example diagram for explaining notification information related to AB test code, and specifically shows a sample of an email, which is a form of notification information, for convenience of explanation.
  • a tracking result file 810 for the corresponding AB test code may be attached to the email transmitted by the electronic device 110.
  • the electronic device 110 can automatically select and generate a recommended format of the tracking result file depending on the type of data (image, text, etc.) included in the tracking result file.
  • the electronic device 110 may query the user of the electronic device 110 whether to attach a large file.
  • the electronic device 110 may transmit an email by inserting an email address 820 to receive an inquiry in the body of the email or inserting a link 830 to a website that provides tracking results for AB test code. there is.
  • the electronic device 110 inserts an email address ( fff@AAA.com ) previously set in the name of the email sending account (e.g., aaa@AAA.net ) into the body of the email, but the separately set email address is If it does not exist, the sending account for the mail can be inserted into the body of the mail and sent.
  • the electronic device 110 may include a link ( https://mobile.AAA.net/dist-dev/abcodetracking ) to a website previously set in the name of the mail transmission account (e.g., aaa@AAA.net ) in the mail. Insert it into the body of the email, but if a link to a separately set website does not exist, a link to the Github page registered under the name of the account sending the email can also be inserted into the body of the email.
  • a link https://mobile.AAA.net/dist-dev/abcodetracking
  • the electronic device 110 may insert and transmit a table 840 summarizing tracking results for AB test codes in the body of the email.
  • the format and content of the table 840 can be freely configured, but illustratively the components of the table 840 include a name (tf_name) by which the AB test code can be identified and a summary that exists for each AB test code. The number of PRs being worked on may be included.
  • FIG. 9 is a block diagram illustrating an electronic device that manages information about AB test codes, according to an embodiment.
  • the electronic device 110 may include a transceiver 111, a processor 113, and a memory 115.
  • the electronic device 110 may be connected to the history information storage 120, the AB test management server 130, or the database 140 through the transceiver 111 and exchange data.
  • the processor 113 may perform at least one method described above through FIGS. 1 to 8.
  • the memory 115 may store information for performing at least one method described above with reference to FIGS. 1 to 8 .
  • Memory 115 may be volatile memory or non-volatile memory.
  • the processor 113 can control the electronic device 110 to execute programs and provide information.
  • the code of the program executed by the processor 113 may be stored in the memory 115.
  • the processor 113 is connected to the transceiver 111 and the memory 115, obtains history information of the PR for the AB test code based on a reference point, and obtains status information for the AB test code based on the history information of the PR. Obtain and check whether notification conditions related to the AB test code are met based on the status information, and if the notification conditions are met, notification information related to the AB test code can be transmitted.
  • the electronic device 110 shown in FIG. 9 shows only components related to this embodiment. Accordingly, those skilled in the art can understand that other general-purpose components may be included in addition to the components shown in FIG. 9.
  • Devices include 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, keys, buttons, etc. It may include a user interface device, etc.
  • 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, etc. Functional aspects may be implemented as algorithms running on one or more processors.
  • this embodiment may employ conventional technologies for electronic environment setting, signal processing, message 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)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Data Mining & Analysis (AREA)
  • Emergency Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

AB 테스트 코드 정보 관리를 위한 전자 장치 및 그 방법이 개시된다. 일 실시 예에 따른 AB 테스트 코드 정보 관리 방법은 기준 시점을 기반으로 AB 테스트 코드에 대한 풀 리퀘스트(Pull Request, PR)의 히스토리 정보를 획득하는 단계, PR의 히스토리 정보에 기반하여 AB 테스트 코드에 대한 상태 정보를 획득하는 단계, 상태 정보에 기반하여 AB 테스트 코드와 관련된 알림 조건이 충족되는지 확인하는 단계 및 알림 조건이 충족되는 경우, AB 테스트 코드와 관련된 알림 정보를 전송하는 단계를 포함한다.

Description

AB 테스트 코드 정보 관리를 위한 전자 장치 및 그 방법
본 개시는 AB 테스트 코드와 관련된 정보를 추적 및 관리하는 전자 장치 및 그 방법에 관한 것이다.
AB 테스트는 디지털 환경에서 대조군과 실험군 사이에서 두 가지 컨텐츠를 비교하여 목적한 효과를 더 잘 나타내는 컨텐츠를 확인하는 방법으로, 제품 디자인, 개발, 마케팅 등에서 검증된 옵션을 적용하는 방식으로 다양하게 활용되고 있다. 예를 들어, 개발 과정에서 코드를 업데이트하여 특정한 기능을 추가할지, 기존의 코드를 유지할지를 결정하기 위해서도 AB 테스트가 활용될 수 있는 것이다.
그런데, AB 테스트의 결과 기존의 기능만을 유지하기로 결정되는 경우에는, 업데이트된 코드를 다시 정리(cleanup)해야 한다. 이 과정에서 AB 테스트 관리자는 업데이트된 코드와 관련된 기능 정의서, 위키 페이지, 관련된 인력, 풀 리퀘스트(PR; Pull Request) 등을 찾아야 하고, 이를 통해 정리할 코드의 범위를 명확히 해야 한다. 이러한 작업은 목표한 기능의 구현에는 직접적으로 관련이 없지만 적잖은 시간이 소요되는 것이어서, 신속하고 효율적인 개발을 방해하는 요인 중 하나이다.
이와 관련하여, US2015-0012852A1, US2015-0058077A1 건 등의 선행문헌들을 참조할 수 있다.
본 개시는 상술한 문제점을 해결하기 위해 제안된 것으로, AB 테스트 과정에서 정리되어야 하는 코드에 대한 정보를 자동으로 탐색, 추적하여 관리할 수 있는 전자 장치 및 방법을 제공하는 것을 목적으로 한다.
본 개시에 의해 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
개시되는 일 실시 예에 따른 AB 테스트 코드 정보 관리 방법은, 기준 시점을 기반으로 AB 테스트 코드에 대한 풀 리퀘스트(Pull Request, PR)의 히스토리 정보를 획득하는 단계; 상기 PR의 히스토리 정보에 기반하여 상기 AB 테스트 코드에 대한 상태 정보를 획득하는 단계; 상기 상태 정보에 기반하여 상기 AB 테스트 코드와 관련된 알림 조건이 충족되는지 확인하는 단계; 및 상기 알림 조건이 충족되는 경우, 상기 AB 테스트 코드와 관련된 알림 정보를 전송하는 단계를 포함한다.
일 실시 예에 따르면, 상기 PR의 히스토리 정보는, 상기 AB 테스트 코드를 식별 가능한 AB 테스트 키 및 AB 테스트와 관련하여 설정된 체크리스트 정보를 포함할 수 있다. 이와 관련하여, 상기 체크리스트 정보는, 상기 PR이 상기 AB 테스트 코드에 대한 코드 정리(code cleanup) 작업을 요청하는 PR인지 확인 가능한 식별 정보를 포함할 수 있다.
일 실시 예에 따르면, 상기 PR의 히스토리 정보를 획득하는 단계는, PR의 코드와 별도로 정의된 PR의 템플릿에 개발자가 입력한 내용을 기반으로 상기 PR의 히스토리 정보를 획득하는 것을 특징으로 할 수 있다.
일 실시 예에 따르면, 상기 PR의 히스토리 정보를 획득하는 단계는, 개발자에 의해 작성된 PR의 코드 내 특정 변수에 할당된 값에 기반하여 상기 PR의 히스토리 정보를 추출하는 것을 특징으로 할 수 있다.
일 실시 예에 따르면, 상기 상태 정보는, 상기 AB 테스트 코드의 실행 이전 상태에 대응하는 제1 상태 정보, 상기 AB 테스트 코드의 실행 중 상태에 대응하는 제2 상태 정보, 상기 AB 테스트 코드의 실행 종료 상태에 대응하는 제3 상태 정보 및 상기 AB 테스트 코드에 대한 코드 정리가 수행된 상태에 대응하는 제4 상태 정보를 옵션으로 포함할 수 있다.
일 실시 예에 따르면, 상기 상태 정보를 획득하는 단계는, 상기 PR의 히스토리 정보에 포함된 AB 테스트 키에 대응하는 AB 테스트 코드에 대한 상태 정보를 획득하는 것을 특징으로 할 수 있다.
일 실시 예에 따르면, 상기 알림 조건이 충족되는지 확인하는 단계는, 상기 PR에 각각 대응하는 AB 테스트 코드 중, 코드 정리 작업의 대상이 되지 않은 미정리 코드가 존재하는지 확인하는 단계; 및 상기 미정리 코드가 존재하는 경우, 상기 미정리 코드에 대한 상태 정보에 기반하여 상기 알림 조건이 충족되는지 확인하는 단계를 포함할 수 있다. 이와 관련하여, 상기 미정리 코드에 대한 상태 정보에 기반하여 상기 알림 조건이 충족되는지 확인하는 단계는, 상기 미정리 코드가 존재하는 경우, 상기 미정리 코드가 실행 종료 상태인지 확인하는 단계; 상기 미정리 코드가 실행 종료 상태인 경우, 상기 미정리 코드의 실행 종료 시점으로부터 설정된 기간이 경과했는지 확인하는 단계; 및 상기 미정리 코드의 실행 종료 시점으로부터 상기 설정된 기간이 경과한 경우, 상기 알림 조건이 충족된 것으로 판단하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 상태 정보는, 상기 AB 테스트 코드가 실행 종료되어 코드 정리가 가능한 상태에 대응하는 제5 상태 정보를 옵션으로 추가로 포함할 수 있고, 상기 알림 조건이 충족되는지 확인하는 단계는, 상기 상태 정보가 상기 제5 상태 정보에 해당하는 경우, 상기 알림 조건이 충족된 것으로 판단하는 것을 특징으로 할 수 있다.
일 실시 예에 따르면, 상기 알림 정보를 전송하는 단계는, 설정된 AB 테스트 관련 계정을 수신인으로 하여 상기 AB 테스트 코드에 대한 추적 결과 파일이 첨부된 메일을 전송하는 것을 특징으로 할 수 있다. 이와 관련하여, 상기 알림 정보를 전송하는 단계는, 상기 메일의 본문에 상기 AB 테스트 코드에 대한 추적 결과를 제공하는 웹 사이트의 링크를 삽입하여 전송하는 것을 특징으로 할 수 있다.
일 실시 예에 따르면, 상기 AB 테스트 코드 정보 관리 방법은, 상기 PR의 히스토리 정보 및 상기 AB 테스트 코드에 대한 상태 정보 중 적어도 일부가 저장된 데이터베이스를 참조하여, 상기 AB 테스트 코드의 추적 결과 중 적어도 일부를 포함하는 리포트 또는 대시보드(dashboard)를 생성하는 단계를 더 포함할 수 있다.
개시되는 일 실시 예에 따른 AB 테스트 코드에 대한 정보 관리를 위한 전자 장치는, 트랜시버, 명령어를 저장하는 메모리 및 프로세서를 포함하고, 상기 프로세서는, 상기 트랜시버 및 상기 메모리와 연결되어, 기준 시점을 기반으로 AB 테스트 코드에 대한 풀 리퀘스트(Pull Request, PR)의 히스토리 정보를 획득하고, 상기 PR의 히스토리 정보에 기반하여 상기 AB 테스트 코드에 대한 상태 정보를 획득하고, 상기 상태 정보에 기반하여 상기 AB 테스트 코드와 관련된 알림 조건이 충족되는지 확인하고, 상기 알림 조건이 충족되는 경우, 상기 AB 테스트 코드와 관련된 알림 정보를 전송한다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 개시에 따르면, AB 테스트 코드에 대한 상태를 추적하여 코드 정리가 필요한 경우 자동으로 알림으로써, 개발자를 비롯한 관련 인력이 정리할 코드의 범위를 손쉽게 파악하고 AB 테스트 코드를 효율적으로 유지보수 내지는 갱신할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시 예에 따른 전자 장치가 작동하는 환경을 나타낸 개략적인 구성도이다.
도 2는 일 실시 예에 따른 AB 테스트 코드 정보 관리 방법을 설명하기 위한 흐름도이다.
도 3 내지 5는 추가적인 실시 예에 따른 AB 테스트 코드 정보 관리 방법을 설명하기 위한 흐름도이다.
도 6은 일 실시 예에 따라 AB 테스트 코드에 대한 정보를 관리하기 위한 프로세스를 나타낸 예시도이다.
도 7a 및 7b는 AB 테스트 코드에 대한 풀 리퀘스트의 히스토리 정보를 설명하기 위한 예시도이다.
도 8은 AB 테스트 코드와 관련된 알림 정보를 설명하기 위한 예시도이다.
도 9는 일 실시 예에 따라 AB 테스트 코드에 대한 정보를 관리하는 전자 장치를 설명하기 위한 블록도이다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하고, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.
명세서 전체에서 기재된 "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) 기반의 무선 통신 장치를 포함할 수 있다.
이하의 설명에 있어서, 신호, 메시지 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 정보, 메시지 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다.
특히 신호, 메시지 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호, 메시지 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호, 메시지 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 개시에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다.
예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 개시의 실시 예들을 상세히 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 1은 일 실시 예에 따른 전자 장치가 작동하는 환경을 나타낸 개략적인 구성도(100)이다. 도 1을 참조하면, 전자 장치(110), 히스토리 정보 저장소(120), AB 테스트 관리 서버(130) 및 데이터베이스(140)는 연결된 네트워크(150)를 통해 서로 통신하거나, 외부의 다른 장치와 통신할 수 있다. 네트워크(150)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
전자 장치(110)는 AB 테스트 코드에 관한 정보를 수집하고, 그 중 특정 조건을 충족하는 적어도 일부의 정보를 확인하여, 확인된 정보와 관련된 알림 정보를 생성한 후, 외부 개체로 알림 정보를 전송한다. 이 과정에서, 전자 장치(110)는 AB 테스트 코드에 관한 정보를 수집하기 위해 히스토리 정보 저장소(120), AB 테스트 관리 서버(130) 또는 데이터베이스(140)와 통신할 수 있다. 아울러 전자 장치(110)는 AB 테스트 코드에 관한 정보를 수집하고, 특정 조건의 충족 여부를 확인하며, 알림 정보의 생성 및 전송에 관한 연산을 수행하는 하나의 서버일 수 있으나, 실시 예에 따라서는 복수의 서버를 포함할 수도 있으며, 하나 이상의 서버와 외부의 클라우드 서버가 전자적으로 통신 가능하도록 연결된 형태로 구성될 수도 있다.
히스토리 정보 저장소(120)에는 AB 테스트 코드에 변경 사항을 반영하기 위한 일련의 요청(예컨대, 풀 리뤠스트(Pull Request, PR) 등)과 관련된 상세 정보(본 개시에서는, 각 요청이 반영되는 시점에 AB 테스트 코드의 변경이 발생한다는 점에서 각 요청은 시간에 따른 AB 테스트 코드의 변화를 야기하므로, 요청과 관련된 상세 정보를 '히스토리 정보'로 지칭함)가 저장된다. 히스토리 정보 저장소(120)는 전자 장치(110)와 물리적으로 분리된 저장 공간을 갖는 매체일 수 있으나, 실시 예에 따라서는 전자 장치(110)에 포함된 저장 공간의 개념적인 명칭일 수도 있다.
AB 테스트 관리 서버(130)에는 AB 테스트 코드의 상태를 식별 가능한 상태 정보가 저장된다. 본 개시에 있어서, AB 테스트 관리 서버(130)는 AB 테스트 코드의 관련 인력(예컨대, 프로젝트 관리자)에 의해 입력된 상태 정보 및 AB 테스트 키 값을 자동으로 확인할 수 있다. 또한, 본 개시에 있어서 AB 테스트 관리 서버(130)는 AB 테스트 코드에 대한 상태 정보를 확인할 수 있는 API(Application Programming Interface)를 전자 장치(110)에 제공하거나, AB 테스트 코드에 대한 상태 정보 자체를 전자 장치(110)에 제공하는 장치일 수 있다. 다시 말해서, AB 테스트 관리 서버(130)는 AB 테스트 코드에 대한 상태 정보를 전자 장치(110)가 확인 가능한 형태로 출력하는 서비스를 제공하는 개체이므로, 실시 예에 따라서 하나의 서버로 구성되거나, 복수의 서버의 집합을 포함할 수도 있다. 그리고 전자 장치(110)는 AB 테스트 관리 서버(130)가 제공하는 API를 통해 각 AB 테스트 코드에 대한 상태 정보를 각기 대응하는 AB 테스트 키 별로 획득할 수 있다.
데이터베이스(140)는 상술한 히스토리 정보 저장소(120) 및 AB 테스트 관리 서버(130)와 물리적 또는 전자적으로 분리되어, 히스토리 정보 저장소(120)나 AB 테스트 관리 서버(130)로부터 수집된 정보 중 적어도 일부가 저장되는 공간을 지칭한다. 다만, 데이터베이스(140)에 저장되는 정보의 형태(포맷)는 데이터베이스(140)에 대해 설정된 스키마(schema)에 따르며, 데이터베이스(140)는 전자 장치(110)의 요청에 따라 히스토리 정보 저장소(120)나 AB 테스트 관리 서버(130)로부터 수집된 정보를 저장하거나, 기 저장된 정보를 전자 장치(110)에 제공할 수 있다.
이상과 관련하여, 이하 도면들을 통해 보다 상세히 설명하기로 한다. 도 2 내지 5에 도시된 방법은 예를 들어, 상술한 전자 장치(110)에 의해 수행될 수 있다.
도 2는 일 실시 예에 따른 AB 테스트 코드 정보 관리 방법을 설명하기 위한 흐름도이다.
단계 S210에서, 전자 장치(110)는 기준 시점을 기반으로 AB 테스트 코드에 대한 풀 리퀘스트(Pull Request, PR)의 히스토리 정보를 획득한다.
도 1을 참조하여 상술한 대로, 본 개시에서 '히스토리 정보'는 AB 테스트 코드에 변경 사항을 반영하기 위한 일련의 요청과 관련된 상세 정보를 의미한다. 아울러, 본 개시에서 'PR'은 AB 테스트 코드에 대한 제어 명령을 반영한 브랜치(branch)를 기존 AB 테스트 코드가 실행되는 메인 브랜치에 병합할 것을 요청하는 풀 리퀘스트를 포함한다.
일 실시 예에 따르면, PR의 히스토리 정보는 1)AB 테스트 코드를 식별 가능한 AB 테스트 키(AB test key) 및 2)AB 테스트와 관련하여 설정된 체크리스트 정보를 포함할 수 있다. 구체적으로, AB 테스트와 관련하여 설정된 체크리스트 정보는 PR이 AB 테스트 코드에 대한 코드 정리(code cleanup) 작업을 요청하는 PR인지 확인 가능한 식별 정보를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(110)가 PR의 히스토리 정보를 획득하는 과정은 사전에 입력된 PR의 히스토리 정보를 수집하거나, 다른 정보로부터 PR의 히스토리 정보를 추출하는 방식으로 이루어질 수 있다. 예컨대, 전자 장치(110)는 PR의 코드와 별도로 정의된 PR의 템플릿에 개발자가 입력한 내용을 기반으로 PR의 히스토리 정보를 획득할 수 있다. 또 다른 예로서, 전자 장치(110)는 개발자에 의해 작성된 PR의 코드 내 특정 변수에 할당된 값에 기반하여 PR의 히스토리 정보를 추출할 수도 있다.
일 실시 예에 따르면, 전자 장치(110)는 기준 시점으로부터 설정된 주기마다 PR의 히스토리 정보를 정기적으로 획득할 수 있다. 예컨대, 전자 장치(110)는 설정된 주기마다 히스토리 정보 저장소(120)에 PR의 히스토리 정보에 대한 수집 요청을 송신할 수 있다.
단계 S220에서, 전자 장치(110)는 PR의 히스토리 정보에 기반하여 AB 테스트 코드에 대한 상태 정보를 획득한다. 본 개시에 있어서, '상태 정보'는 AB 테스트 코드에 대한 작업 상태를 식별 가능한 정보를 포함하며, 상태 정보는 AB 테스트 관리 서버(130)로부터 획득할 수 있다. 다만, AB 테스트 관리 서버(130)는 상태 정보를 획득하는 소스 중 하나이며, 실시 예에 따라서 전자 장치(110)는 다른 개체로부터 상태 정보를 획득할 수도 있다.
일 실시 예에 따르면, AB 테스트 코드에 대한 상태 정보는 다음과 같은 복수의 옵션 중 하나에 해당할 수 있다. 제2 상태 정보에서 제3 상태 정보로 값이 변동되는 기준은 다양하게 설정될 수 있으나, 대표적으로는 사전에 설정된 AB 테스트 기간이 도과하거나, AB 테스트의 목표로 설정된 사용자 숫자가 달성된 경우에 변동되도록 설정될 수 있다.
1)AB 테스트 코드의 실행 이전 상태에 대응하는 제1 상태 정보
2)AB 테스트 코드의 실행 중 상태에 대응하는 제2 상태 정보
3)AB 테스트 코드의 실행 종료 상태에 대응하는 제3 상태 정보
4)AB 테스트 코드에 대한 코드 정리가 수행된 상태에 대응하는 제4 상태 정보
또한 다른 실시 예에 따르면, AB 테스트 코드에 대한 상태 정보는 AB 테스트 코드가 실행 종료되어 코드 정리가 가능한 상태에 대응하는 제5 상태 정보를 옵션으로 추가로 포함할 수 있고, 상술한 제1 내지 제5 상태 정보 중 하나에 해당할 수 있다.
한편 일 실시 예에 따르면, 전자 장치(110)는 단계 S220에서, PR의 히스토리 정보에 포함된 AB 테스트 키에 대응하는 AB 테스트 코드에 대한 상태 정보를 획득할 수 있다.
한편 일 실시 예에 따르면, 전자 장치(110)는 일전에 상태 정보를 획득한 AB 테스트 코드에 대해서라도, 후술할 단계 S230을 통해 해당 상태 정보를 확인한 결과 해당 AB 테스트 코드와 관련된 알림 조건이 충족되지 않았다고 판단되는 경우, 설정된 주기마다 해당 AB 테스트 코드에 대한 상태 정보를 새로이 획득할 수 있다. 즉, 전자 장치(110)는 주기적으로 정리되지 않은 PR이 존재하는지 여부를 확인함으로써, 새로운 PR 이외에도 이전에 제출된 PR 중 정리가 필요한 PR이 존재하는지 자동으로 탐색할 수 있다.
단계 S230에서, 전자 장치(110)는 AB 테스트 코드에 대한 상태 정보에 기반하여 AB 테스트 코드와 관련된 알림 조건이 충족되는지 확인한다.
일 실시 예에 따르면, 전자 장치(110)는 단계 S220에 이어서, 코드 정리 작업을 진행할 필요가 있는 경우에 상술한 알림 조건이 충족되는지 확인할 수 있다. 구체적으로, 전자 장치(110)는 PR에 각각 대응하는 AB 테스트 코드 중, 코드 정리 작업의 대상이 되지 않은 미정리 코드가 존재하는지 확인하고, 미정리 코드가 존재하는 경우, 미정리 코드에 대한 상태 정보에 기반하여 알림 조건이 충족되는지 확인할 수 있다. 이와 관련해서는, 이하의 도 3을 참조하여 후술한다.
다른 실시 예에 따르면, 전자 장치(110)는 단계 S220에 이어서, AB 테스트 코드가 정리 가능한 상태에 있는지를 기준으로 알림 조건이 충족되는지 확인할 수 있다. 이와 관련해서는, 이하의 도 4를 참조하여 후술한다.
단계 S240에서, 전자 장치(110)는 AB 테스트 코드와 관련된 알림 조건이 충족되는 경우, AB 테스트 코드와 관련된 알림 정보를 전송한다.
일 실시 예에 따르면, 전자 장치(110)는 알림 정보를 전송하기에 앞서, 히스토리 정보 저장소(120)로부터 수집한 PR의 히스토리 정보를 참조하거나, AB 테스트 관리 서버(120)로부터 수집한 상태 정보를 참조하거나, PR의 히스토리 정보 또는 상태 정보가 저장된 데이터베이스(140)를 참조하여 알림 정보를 전송할 계정의 정보를 획득할 수 있다.
일 실시 예에 따르면, 전자 장치(110)는 알림 정보를 전송하는 일 방식으로, 설정된 AB 테스트 관련 계정을 수신인으로 하여 AB 테스트 코드에 대한 추적 결과 파일이 첨부된 메일을 전송할 수 있다. 이에 더하여, 전자 장치(110)는 메일의 본문에 AB 테스트 코드에 대한 추적 결과를 제공하는 웹 사이트의 링크를 삽입하여 전송할 수도 있다.
도 3 내지 5는 추가적인 실시 예에 따른 AB 테스트 코드 정보 관리 방법을 설명하기 위한 흐름도이다. 구체적으로, 도 3 및 4는 AB 테스트 코드와 관련된 알림 조건을 구체화한 실시 예에 관한 것이고, 도 5는 알림 정보에 더하여 AB 테스트 코드와 관련된 추가적인 정보가 생성되는 실시 예에 관한 것이다.
먼저 도 3을 참조하면, 전자 장치(110)는 기준 시점을 기반으로 AB 테스트 코드에 대한 PR의 히스토리 정보를 획득하고(단계 S310), PR의 히스토리 정보에 기반하여 AB 테스트 코드에 대한 상태 정보를 획득할 수 있다(단계 S320). 이어서, 전자 장치(110)는 PR에 각각 대응하는 AB 테스트 코드 중, 코드 정리 작업의 대상이 되지 않은 미정리 코드가 존재하는지 확인할 수 있다(단계 S330). 이어서, 전자 장치(110)는 미정리 코드가 존재하는 경우, 미정리 코드가 실행 종료 상태인지 확인하고(단계 S340), 미정리 코드가 실행 종료 상태인 경우, 미정리 코드의 실행 종료 시점으로부터 설정된 기간이 경과했는지 확인함으로써(단계 S350), 미정리 코드의 실행 종료 시점으로부터 설정된 기간이 경과한 경우, AB 테스트 코드와 관련된 알림 조건이 충족된 것으로 판단하여 AB 테스트 코드와 관련된 알림 정보를 전송할 수 있다(단계 S360).
한편 도 4를 참조하면, 전자 장치(110)는 기준 시점을 기반으로 AB 테스트 코드에 대한 PR의 히스토리 정보를 획득하고(단계 S410), PR의 히스토리 정보에 기반하여 AB 테스트 코드에 대한 상태 정보를 획득할 수 있다(단계 S420). 이어서, 전자 장치(110)는 AB 테스트 코드에 대한 상태 정보가 제5 상태 정보(AB 테스트 코드가 실행 종료되어 코드 정리가 가능한 상태에 대응하는 상태 정보)에 해당하는지 확인하여(단계 S430), 확인 결과 AB 테스트 코드에 대한 상태 정보가 제5 상태 정보에 해당하는 경우, AB 테스트 코드와 관련된 알림 조건이 충족된 것으로 판단하여 AB 테스트 코드와 관련된 알림 정보를 전송할 수 있다(단계 S440). 이 경우, 당장 코드 정리가 가능한 AB 테스트 코드에 대해서는 일정 기간이 경과하기를 기다릴 필요 없이 즉각적으로 알림을 보낼 수 있기 때문에, 관련 인력이 보다 신속하게 코드 정리 작업을 수행하는 것을 도울 수 있다.
한편 도 5를 참조하면, 전자 장치(110)는 기준 시점을 기반으로 AB 테스트 코드에 대한 PR의 히스토리 정보를 획득하고(단계 S510), PR의 히스토리 정보에 기반하여 AB 테스트 코드에 대한 상태 정보를 획득할 수 있다(단계 S520). 이어서, 전자 장치(110)는 AB 테스트 코드에 대한 상태 정보에 기반하여 AB 테스트 코드와 관련된 알림 조건이 충족되는지 확인하고(단계 S530), AB 테스트 코드와 관련된 알림 조건이 충족되는 경우, AB 테스트 코드와 관련된 알림 정보를 전송할 수 있다(단계 S540). 이어서, 전자 장치(110)는 PR의 히스토리 정보 및 AB 테스트 코드에 대한 상태 정보 중 적어도 일부가 저장된 데이터베이스(140)를 참조하여, AB 테스트 코드의 추적 결과 중 적어도 일부를 포함하는 리포트 또는 대시보드(dashboard)를 생성할 수 있다(단계 S550).
일 실시 예에 따르면, 전자 장치(110)가 생성하는 리포트 또는 대시보드에는 코드 정리 작업이 요구되는 AB 테스트 코드와 코드 정리 작업이 불필요한 AB 테스트 코드가 구분되어 표시될 수 있다.
일 실시 예에 따르면, 전자 장치(110)가 생성하는 리포트 또는 대시보드는 데이터베이스(140)에 저장되고, 전자 장치(110)나 외부 개체(예컨대, 관련 인력이 사용하는 개별 단말)로부터의 요청이 있는 경우에 해당 요청을 전송한 단말에 원본 또는 사본이 제공될 수 있다.
이상의 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 6은 일 실시 예에 따라 AB 테스트 코드에 대한 정보를 관리하기 위한 프로세스를 나타낸 예시도이다. 도 6에는 프로스세의 각 단계들이 사각형, 모서리가 둥근 사각형, 원통, 마름모 등의 도형으로 도시되어 있으며, 원통 도형은 저장 매체를, 둥근 사각형은 수행의 시작/종료를, 사각형은 프로세스 각 단계의 처리를 나타내는 의미로 사용되었다.
도 6은 일 예로 매주마다 수행되는 AB 테스트 코드에 대한 추적 프로세스를 도시하고 있다. 중앙의 'AB Code Tracking'은 전자 장치(110) 내부적으로 수행되는 AB 테스트 코드 추적 프로세스를, 상단의 'Code Repos'는 전자 장치(110)와 히스토리 정보 저장소(120) 간의 통신에 의해 수행되는 AB 테스트 코드 추적 프로세스를, 하단의 'XPC'는 전자 장치(110)와 AB 테스트 관리 서버(130) 간의 통신에 의해 수행되는 AB 테스트 코드 추적 프로세스를 도시한 것이다 (중앙의 'AB Code Tracking' 영역에 데이터베이스(140)에 대응되는 AB Store가 도시되어 있으나, 이는 데이터베이스(140)를 전자 장치(110)에 포함되는 일 구성 요소로 한정하는 것은 아니며, 설명의 편의를 위한 것이다).
일 실시 예에 따르면, 전자 장치(110)는 AB 테스트 코드에 대한 상태 정보를 획득함에 앞서, 상태 정보를 획득할 대상이 되는 AB 테스트 코드를 선별할 수 있다. 이를 위해, 전자 장치(110)는 히스토리 정보 저장소(120)로부터 AB 테스트 코드에 대한 PR의 히스토리 정보를 획득할 수 있다 (All Merged PRs).
일 실시 예에 따르면, 전자 장치(110)는 획득한 PR의 히스토리 정보에 포함된 AB 테스트 키를 참조하여, AB 테스트 관리 서버(130)와 통신하여 AB 테스트 키와 대응하는 AB 테스트 코드에 대한 상태 정보를 획득할 수 있다 (Reading Code Status).
이상의 실시 예와 관련하여, 전자 장치(110)가 획득하는 PR의 히스토리 정보의 일 형태를 도 7a 및 7b를 참조하여 설명한다. 먼저, 도 7a는 AB 테스트 코드에 대한 PR의 히스토리 정보의 템플릿을 예시한 것이다.
일 실시 예에 따르면, PR의 히스토리 정보에 포함되는 AB 테스트 키는 문자, 숫자 또는 문자와 숫자가 혼합된 배열로 이루어지며, 단수의 배열로 구성될 수도 있지만, 실시 예에 따라서는 복수의 배열을 포함할 수도 있다. 예를 들어, AB 테스트 키가 복수의 배열(AB-key-0 및 AB-key-1)을 포함하는 경우, 전자 장치(110)는 두 개의 AB 테스트 키와 모두 대응하는 AB 테스트 코드에 대해 상태 정보를 획득할 수 있다. 이를 통해, 전자 장치(110)는 AB 테스트 키가 과도하게 복잡한 배열로 이루어지는 것을 방지하고, AB 테스트 키와 AB 테스트 코드의 매핑을 확인하는 과정에서의 연산 부하를 줄일 수 있다 (AB-key-0으로 대표되는 일부 AB 테스트 키를 먼저 이용하여, 이와 매핑되지 않는 AB 테스트 코드를 선별 대상에서 미리 제외하고, 나머지 AB 테스트 코드를 대상으로 AB-key-1와의 매핑을 확인함으로써, 연산에 걸리는 부하를 경감시킨다).
일 실시 예에 따르면, PR의 히스토리 정보에는 해당 PR이 AB 테스트 코드에 대해 요청하는 작업의 종류를 식별 가능한 레이블 정보가 포함될 수 있다. 구체적으로, 레이블 정보의 옵션으로는 해당 PR이 AB 테스트 코드에 대해 새로운 기능을 부가하는 작업을 요청하는 것임을 나타내는 제1 레이블 옵션(New Feature)이나, 해당 PR이 AB 테스트 코드의 버그를 수정하는 작업을 요청하는 것임을 나타내는 제2 레이블 옵션(BugFix)이나, 해당 PR이 AB 테스트 코드에 대한 코드 정리 작업을 요청하는 것임을 나타내는 제3 레이블 옵션(CodeCleanup)이 포함될 수 있다.
한편 일 실시 예에 따르면, PR의 히스토리 정보에는 해당 PR이 AB 테스트 코드에 대한 코드 정리 작업을 요청하는 것임을 확인 가능한 식별 정보가 별도로 포함될 수 있다. 예컨대 해당 식별 정보는 체크리스트 형태로 이루어져, 체크 여부에 따라 해당 PR이 AB 테스트 코드에 대한 코드 정리 작업을 요청하는 것인지 여부를 나타낼 수 있다 (Is Clean AB Code). 이와 같은 특징은 PR의 히스토리 정보에 개발자가 사전에 설정한 레이블 정보가 존재하지 않을 경우에 특히 유용할 수 있다.
도 7b에는 도 7a에 관련된 상기 실시 예들이 반영된 샘플이 나타나 있다. 도 7b에 도시된 PR의 히스토리 정보에 따르면, 해당 히스토리 정보는 '18722'의 AB 테스트 키를 갖는 AB 테스트 코드에 대응되는 것이며, 체크리스트 상의 'Is Clean AB Code' 항목이 체크된 것으로 보아 해당 PR이 AB 테스트 코드에 대한 코드 정리 작업을 위한 것임을 인지할 수 있다.
다시 도 6을 참조하여, 전자 장치(110)가 AB 테스트 코드에 대한 상태 정보를 획득한 이후의 추적 프로세스를 설명한다.
일 실시 예에 따르면, 전자 장치(110)는 해당 AB 테스트 코드에 대한 정리가 불필요한 경우(즉, 미정리 코드가 존재하지 않는 경우)에는 해당 AB 테스트 코드에 대한 추적 프로세스를 종료하고, 해당 AB 테스트 코드에 미정리 코드가 존재하는 경우, 해당 미정리 코드가 실행이 종료된 시점으로부터 설정된 기간(예컨대, 2주)이 경과했는지 확인하여, 해당 기간이 경과한 경우에 기 설정된 AB 테스트 관련 계정에 아직 코드 정리 작업이 수행되지 않은 AB 테스트 코드가 존재함을 알리는 메일을 전송할 수 있다. 해당 미정리 코드가 아직 실행 중이거나, 실행이 종료된 시점으로부터 설정된 기간이 아직 경과하지 않았다면, 전자 장치(110)는 마찬가지로 해당 AB 테스트 코드에 대한 추적 프로세스를 종료할 수 있다.
일 실시 예에 따르면, 전자 장치(110)는 AB 테스트 코드와 관련된 알림 정보(예컨대, 메일)를 전송한 이후에 AB 테스트 코드의 추적 결과 중 적어도 일부를 포함하는 리포트나 대시보드를 생성할 수 있다. 더 나아가, 전자 장치(110)는 생성한 리포트나 대시보드를 자체적으로 호스팅하는 페이지에 게시하거나, AB 테스트 관리 서버(130)에 전송하거나, 데이터베이스(140)에 저장할 수 있다.
한편 도 8은 AB 테스트 코드와 관련된 알림 정보를 설명하기 위한 예시도로, 구체적으로 설명의 편의를 위해 알림 정보의 일 형태인 메일의 샘플을 도시하였다.
일 실시 예에 따르면, 전자 장치(110)가 전송하는 메일에는 해당하는 AB 테스트 코드에 대한 추적 결과 파일(810)이 첨부될 수 있다. 첨부되는 파일의 포맷에는 제한이 없으나, 전자 장치(110)는 추적 결과 파일 내 포함되는 데이터(이미지, 텍스트 등)의 종류에 따라 추적 결과 파일의 추천 포맷을 자동적으로 선택하여 생성할 수 있다. 추가적으로, 전자 장치(110)는 생성되는 추적 결과 파일(810)의 용량이 메일의 일반 파일 첨부 용량 기준을 초과할 경우, 전자 장치(110)의 사용자에게 대용량 파일 첨부 여부를 질의할 수 있다.
일 실시 예에 따르면, 전자 장치(110)는 메일의 본문에 문의를 받을 메일 주소(820)를 삽입하거나, AB 테스트 코드에 대한 추적 결과를 제공하는 웹 사이트의 링크(830)를 삽입하여 전송할 수 있다. 이와 관련하여, 전자 장치(110)는 사전에 메일의 송신 계정(예컨대, aaa@AAA.net) 명의로 설정된 메일 주소(fff@AAA.com)를 메일의 본문에 삽입하되, 별도로 설정된 메일 주소가 존재하지 않는 경우에는 해당 메일의 송신 계정을 메일 본문에 삽입하여 전송할 수도 있다. 또한, 전자 장치(110)는 사전에 메일의 송신 계정(예컨대, aaa@AAA.net) 명의로 설정된 웹 사이트의 링크(https://mobile.AAA.net/dist-dev/abcodetracking)를 메일의 본문에 삽입하되, 별도로 설정된 웹 사이트의 링크가 존재하지 않는 경우에는 해당 메일의 송신 계정 명의로 등록된 깃헙(Github) 페이지 링크를 메일의 본문에 삽입할 수도 있다.
일 실시 예에 따르면, 전자 장치(110)는 메일의 본문에 AB 테스트 코드에 대한 추적 결과를 요약한 테이블(840)을 삽입하여 전송할 수도 있다. 이와 관련하여, 테이블(840)의 형식과 내용은 자유로이 구성될 수 있으나, 예시적으로 테이블(840)의 구성 요소로는 AB 테스트 코드를 식별 가능한 명칭(tf_name)과 해당 AB 테스트 코드 별로 존재하는 정리 작업 대상인 PR의 개수(counts)가 포함될 수 있다.
도 9는 일 실시 예에 따라 AB 테스트 코드에 대한 정보를 관리하는 전자 장치를 설명하기 위한 블록도이다.
전자 장치(110)는 일 실시 예에 따라, 트랜시버(111), 프로세서(113) 및 메모리(115)를 포함할 수 있다. 일 실시 예에서, 전자 장치(110)는 트랜시버(111)를 통하여 히스토리 정보 저장소(120), AB 테스트 관리 서버(130) 또는 데이터베이스(140)와 연결되고, 데이터를 교환할 수 있다.
프로세서(113)는 도 1 내지 도 8을 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(115)는 도 1 내지 도 8을 통하여 전술한 적어도 하나의 방법을 수행하기 위한 정보를 저장할 수 있다. 메모리(115)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(113)는 프로그램을 실행하고, 정보를 제공하기 위해 전자 장치(110)를 제어할 수 있다. 프로세서(113)에 의하여 실행되는 프로그램의 코드는 메모리(115)에 저장될 수 있다.
프로세서(113)는 트랜시버(111) 및 메모리(115)와 연결되어, 기준 시점을 기반으로 AB 테스트 코드에 대한 PR의 히스토리 정보를 획득하고, PR의 히스토리 정보에 기반하여 AB 테스트 코드에 대한 상태 정보를 획득하고, 상태 정보에 기반하여 AB 테스트 코드와 관련된 알림 조건이 충족되는지 확인하고, 알림 조건이 충족되는 경우, AB 테스트 코드와 관련된 알림 정보를 전송할 수 있다.
도 9에 도시된 전자 장치(110)는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 9에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전술한 실시 예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(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) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 메시지 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.

Claims (15)

  1. 전자 장치에서 AB 테스트 코드에 대한 정보 관리 방법에 있어서,
    기준 시점을 기반으로 AB 테스트 코드에 대한 풀 리퀘스트(Pull Request, PR)의 히스토리 정보를 획득하는 단계;
    상기 PR의 히스토리 정보에 기반하여 상기 AB 테스트 코드에 대한 상태 정보를 획득하는 단계;
    상기 상태 정보에 기반하여 상기 AB 테스트 코드와 관련된 알림 조건이 충족되는지 확인하는 단계; 및
    상기 알림 조건이 충족되는 경우, 상기 AB 테스트 코드와 관련된 알림 정보를 전송하는 단계를 포함하는, AB 테스트 코드 정보 관리 방법.
  2. 제1항에 있어서,
    상기 PR의 히스토리 정보는,
    상기 AB 테스트 코드를 식별 가능한 AB 테스트 키 및 AB 테스트와 관련하여 설정된 체크리스트 정보를 포함하는, AB 테스트 코드 정보 관리 방법.
  3. 제2항에 있어서,
    상기 체크리스트 정보는,
    상기 PR이 상기 AB 테스트 코드에 대한 코드 정리(code cleanup) 작업을 요청하는 PR인지 확인 가능한 식별 정보를 포함하는, AB 테스트 코드 정보 관리 방법.
  4. 제1항에 있어서,
    상기 PR의 히스토리 정보를 획득하는 단계는,
    PR의 코드와 별도로 정의된 PR의 템플릿에 개발자가 입력한 내용을 기반으로 상기 PR의 히스토리 정보를 획득하는 것을 특징으로 하는, AB 테스트 코드 정보 관리 방법.
  5. 제1항에 있어서,
    상기 PR의 히스토리 정보를 획득하는 단계는,
    개발자에 의해 작성된 PR의 코드 내 특정 변수에 할당된 값에 기반하여 상기 PR의 히스토리 정보를 추출하는 것을 특징으로 하는, AB 테스트 코드 정보 관리 방법.
  6. 제1항에 있어서,
    상기 상태 정보는,
    상기 AB 테스트 코드의 실행 이전 상태에 대응하는 제1 상태 정보, 상기 AB 테스트 코드의 실행 중 상태에 대응하는 제2 상태 정보, 상기 AB 테스트 코드의 실행 종료 상태에 대응하는 제3 상태 정보 및 상기 AB 테스트 코드에 대한 코드 정리가 수행된 상태에 대응하는 제4 상태 정보를 옵션으로 포함하는, AB 테스트 코드 정보 관리 방법.
  7. 제1항에 있어서,
    상기 상태 정보를 획득하는 단계는,
    상기 PR의 히스토리 정보에 포함된 AB 테스트 키에 대응하는 AB 테스트 코드에 대한 상태 정보를 획득하는 것을 특징으로 하는, AB 테스트 코드 정보 관리 방법.
  8. 제1항에 있어서,
    상기 알림 조건이 충족되는지 확인하는 단계는,
    상기 PR에 각각 대응하는 AB 테스트 코드 중, 코드 정리 작업의 대상이 되지 않은 미정리 코드가 존재하는지 확인하는 단계; 및
    상기 미정리 코드가 존재하는 경우, 상기 미정리 코드에 대한 상태 정보에 기반하여 상기 알림 조건이 충족되는지 확인하는 단계를 포함하는, AB 테스트 코드 정보 관리 방법.
  9. 제8항에 있어서,
    상기 미정리 코드에 대한 상태 정보에 기반하여 상기 알림 조건이 충족되는지 확인하는 단계는,
    상기 미정리 코드가 존재하는 경우, 상기 미정리 코드가 실행 종료 상태인지 확인하는 단계;
    상기 미정리 코드가 실행 종료 상태인 경우, 상기 미정리 코드의 실행 종료 시점으로부터 설정된 기간이 경과했는지 확인하는 단계; 및
    상기 미정리 코드의 실행 종료 시점으로부터 상기 설정된 기간이 경과한 경우, 상기 알림 조건이 충족된 것으로 판단하는 단계를 포함하는, AB 테스트 코드 정보 관리 방법.
  10. 제1항에 있어서,
    상기 상태 정보는,
    상기 AB 테스트 코드가 실행 종료되어 코드 정리가 가능한 상태에 대응하는 제5 상태 정보를 옵션으로 추가로 포함하고,
    상기 알림 조건이 충족되는지 확인하는 단계는,
    상기 상태 정보가 상기 제5 상태 정보에 해당하는 경우, 상기 알림 조건이 충족된 것으로 판단하는 것을 특징으로 하는, AB 테스트 코드 정보 관리 방법.
  11. 제1항에 있어서,
    상기 알림 정보를 전송하는 단계는,
    설정된 AB 테스트 관련 계정을 수신인으로 하여 상기 AB 테스트 코드에 대한 추적 결과 파일이 첨부된 메일을 전송하는 것을 특징으로 하는, AB 테스트 코드 정보 관리 방법.
  12. 제11항에 있어서,
    상기 알림 정보를 전송하는 단계는,
    상기 메일의 본문에 상기 AB 테스트 코드에 대한 추적 결과를 제공하는 웹 사이트의 링크를 삽입하여 전송하는 것을 특징으로 하는, AB 테스트 코드 정보 관리 방법.
  13. 제1항에 있어서,
    상기 PR의 히스토리 정보 및 상기 AB 테스트 코드에 대한 상태 정보 중 적어도 일부가 저장된 데이터베이스를 참조하여, 상기 AB 테스트 코드의 추적 결과 중 적어도 일부를 포함하는 리포트 또는 대시보드(dashboard)를 생성하는 단계를 더 포함하는, AB 테스트 코드 정보 관리 방법.
  14. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록 매체.
  15. AB 테스트 코드에 대한 정보 관리를 위한 전자 장치로서,
    트랜시버, 명령어를 저장하는 메모리 및 프로세서를 포함하고,
    상기 프로세서는, 상기 트랜시버 및 상기 메모리와 연결되어,
    기준 시점을 기반으로 AB 테스트 코드에 대한 풀 리퀘스트(Pull Request, PR)의 히스토리 정보를 획득하고,
    상기 PR의 히스토리 정보에 기반하여 상기 AB 테스트 코드에 대한 상태 정보를 획득하고,
    상기 상태 정보에 기반하여 상기 AB 테스트 코드와 관련된 알림 조건이 충족되는지 확인하고,
    상기 알림 조건이 충족되는 경우, 상기 AB 테스트 코드와 관련된 알림 정보를 전송하는, 전자 장치.
PCT/KR2022/014160 2022-09-16 2022-09-22 Ab 테스트 코드 정보 관리를 위한 전자 장치 및 그 방법 WO2024058299A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0117089 2022-09-16
KR1020220117089A KR20240038364A (ko) 2022-09-16 2022-09-16 Ab 테스트 코드 정보 관리를 위한 전자 장치 및 그 방법

Publications (1)

Publication Number Publication Date
WO2024058299A1 true WO2024058299A1 (ko) 2024-03-21

Family

ID=90275365

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/014160 WO2024058299A1 (ko) 2022-09-16 2022-09-22 Ab 테스트 코드 정보 관리를 위한 전자 장치 및 그 방법

Country Status (3)

Country Link
KR (1) KR20240038364A (ko)
TW (1) TW202422341A (ko)
WO (1) WO2024058299A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101672378B1 (ko) * 2013-12-18 2016-11-03 구글 인코포레이티드 코드 리뷰 동안 테스트 커버리지 데이터를 디스플레이하기 위한 프로세스
US20180349789A1 (en) * 2017-05-30 2018-12-06 Red Hat, Inc. Optimizing ci using code review quality
CN111008038A (zh) * 2019-12-19 2020-04-14 南京邮电大学 一种基于逻辑回归模型的pull request被合并概率的计算方法
US20210182182A1 (en) * 2019-12-11 2021-06-17 Salesforce.Com, Inc. Joint validation across code repositories
CN113792189A (zh) * 2021-09-30 2021-12-14 中国人民解放军国防科技大学 群智软件开发贡献效率评估方法、装置、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101672378B1 (ko) * 2013-12-18 2016-11-03 구글 인코포레이티드 코드 리뷰 동안 테스트 커버리지 데이터를 디스플레이하기 위한 프로세스
US20180349789A1 (en) * 2017-05-30 2018-12-06 Red Hat, Inc. Optimizing ci using code review quality
US20210182182A1 (en) * 2019-12-11 2021-06-17 Salesforce.Com, Inc. Joint validation across code repositories
CN111008038A (zh) * 2019-12-19 2020-04-14 南京邮电大学 一种基于逻辑回归模型的pull request被合并概率的计算方法
CN113792189A (zh) * 2021-09-30 2021-12-14 中国人民解放军国防科技大学 群智软件开发贡献效率评估方法、装置、设备及介质

Also Published As

Publication number Publication date
KR20240038364A (ko) 2024-03-25
TW202422341A (zh) 2024-06-01

Similar Documents

Publication Publication Date Title
WO2016085180A1 (en) Method of managing cookie information for target advertisement and application for managing cookie information
CN112231568B (zh) 酒店标签自动配置化方法、装置、电子设备、存储介质
US20190108163A1 (en) Database expansion system, equipment, and method of expanding database
WO2022085834A1 (ko) 상담원 지원 방법 및 그 연산 장치
WO2013028009A2 (ko) 스마트 오피스 시스템 및 운용을 위한 서버 및 운용 방법
CN115134236A (zh) 一种智能网卡管理的方法、装置、设备及可读介质
WO2021230662A1 (ko) 폼 구조 정의 db를 통한 온라인 보고서 생성방법, 이를 위한 컴퓨터 프로그램
CN111240953A (zh) 一种日志处理的方法及装置、可读存储介质
WO2022149666A1 (ko) 스마트 능동형 외식 프랜차이즈 서비스 관리 시스템
WO2024058299A1 (ko) Ab 테스트 코드 정보 관리를 위한 전자 장치 및 그 방법
WO2014157924A1 (ko) 컨텐츠 공유 방법
CN113282850A (zh) 资源标签管理方法、装置、电子设备、系统及存储介质
WO2018101523A1 (ko) 개인카드 사용내역 처리 시스템, 방법 및 컴퓨터 프로그램
WO2021012554A1 (zh) 区块链中数据字段的更新方法、装置、介质、电子设备
WO2016195220A1 (ko) Sns 플랫폼 기반의 업무 관리 시스템
WO2022145543A1 (ko) 데이터 적재 방법 및 이를 위한 전자 장치
WO2022145572A1 (ko) 예상 결과값을 토대로 정보를 제공하는 방법 및 이를 이용한 연산 장치
WO2014065627A1 (ko) 스마트폰을 이용한 채점 서비스 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
CN114125024A (zh) 音频传输方法、电子设备及可读存储介质
WO2016080756A1 (ko) 정보 관리 시스템 및 정보 관리 방법
WO2024019205A1 (ko) 데이터 처리를 위한 전자 장치 및 그 방법
WO2019182345A1 (en) Method of automatically searching for and registering controlled application in distributed environment
WO2020096135A1 (ko) 업종별 창업 업무 프로세스의 최적화를 위한 방법 및 시스템
WO2024063190A1 (ko) 프로파일 정보를 제공하는 전자 장치 및 그 방법
WO2024048833A1 (ko) Api 테스트를 위한 전자 장치 및 그 방법

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: 22958902

Country of ref document: EP

Kind code of ref document: A1