WO2024025023A1 - 서비스와 관련된 테스트를 관리하는 방법 및 장치 - Google Patents

서비스와 관련된 테스트를 관리하는 방법 및 장치 Download PDF

Info

Publication number
WO2024025023A1
WO2024025023A1 PCT/KR2022/011409 KR2022011409W WO2024025023A1 WO 2024025023 A1 WO2024025023 A1 WO 2024025023A1 KR 2022011409 W KR2022011409 W KR 2022011409W WO 2024025023 A1 WO2024025023 A1 WO 2024025023A1
Authority
WO
WIPO (PCT)
Prior art keywords
test
information
group
identification information
service
Prior art date
Application number
PCT/KR2022/011409
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 WO2024025023A1 publication Critical patent/WO2024025023A1/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/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • 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/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

Definitions

  • Embodiments of this specification relate to a method and device for managing tests related to a service.
  • Embodiments of the present specification relate to a method and apparatus for managing service-related tests by minimizing the impact between A/B testing and at least one automated test associated with the A/B testing.
  • A/B testing is a test that compares the existing version (A) with the new version (B, C, 7) to determine which version performs better.
  • criteria for comparing the performance of the existing version and the new version may include click-through rate or purchase conversion rate.
  • the existing and new versions may have the same conditions except for changes in certain elements that may affect user behavior. Accordingly, through the results of A/B testing, it is possible to determine how changing a specific element affects the user's click-through rate or purchase conversion rate.
  • the present disclosure is proposed to solve the above-described problems and provides a method and device for managing service-related tests.
  • the present disclosure provides a method and apparatus for assigning at least some of the users corresponding to the tester identification information to a set user group of the A/B tester by confirming the tester identification information of at least one automated test related to the A/B test.
  • the purpose is to provide.
  • the present disclosure provides a method and device for ensuring the reliability of automated testing by assigning at least some of the users corresponding to the tester identification information to the set user group of the A/B tester even when the A/B test is executed.
  • the purpose is to provide.
  • a method of managing a test related to a service in an electronic device includes the steps of confirming first information about a set A/B test; Confirming at least one domain associated with A/B testing based on the first information; identifying at least one automated test associated with at least one domain; verifying tester identification information for at least one automated test; And it may include the step of allocating at least some of the users corresponding to the confirmed tester identification information to the set user group of the A/B test.
  • a method of managing a test related to a service in an electronic device may include providing a page displaying information about at least one A/B test related to a domain on the electronic device.
  • the information about the at least one A/B test includes information about the source code corresponding to the at least one A/B test, domain information about the at least one A/B test, and at least one A/B test. It may contain at least one of status information about the operation of the B test.
  • the step of allocating at least a portion to a set user group of the A/B test may include allocating at least a portion to a control group of the A/B test.
  • the step of allocating at least a portion to the control group of the A/B test includes confirming identification information of users distributed to at least one experimental group of the A/B test; Confirming first tester identification information among tester identification information that matches the user's identification information; and redistributing users corresponding to the first tester identification information from at least one experimental group to the control group.
  • verifying at least one domain may include verifying at least one domain associated with the A/B test based on the source code of the A/B test.
  • a method of managing a test related to a service in an electronic device includes assigning at least a portion to a set user group of an A/B test, and then performing at least one first automated test related to at least one domain for a set time. identifying; verifying first tester identification information of at least one first automated test; And it may further include assigning at least some of the users corresponding to the first tester identification information to a user group.
  • the step of allocating at least some of the users corresponding to the first tester identification information to the user group includes confirming the identification information of the users distributed to at least one experimental group of the A/B test; Confirming second tester identification information among the first tester identification information that matches the user's identification information; and redistributing users corresponding to the second tester identification information from at least one experimental group to the control group.
  • a method of managing tests related to a service in an electronic device may include confirming status information of an A/B test as one of generating, executing, and completing the A/B test through an API.
  • the step of confirming the first information about the A/B test includes confirming that the status information of the A/B test has changed from creation to execution or confirming that the status information of the A/B test has changed from creation to execution. It can be included.
  • a method of managing a test related to a service in an electronic device may further include initializing allocation to at least some user groups as status information of the A/B test is confirmed as complete. .
  • the at least one automated test may be a test in which an A/B test corresponding to the at least one automated test has already been completed.
  • a method of managing a service-related test in an electronic device includes providing a page of the current service version to a terminal of a user assigned to the control group of the A/B test, and providing a page of the current service version to the terminal of the user assigned to the control group of the A/B test, and providing a page of the current service version to the terminal of the user assigned to the control group of the A/B test.
  • the method may further include providing a page of a service version matching at least one experimental group to the assigned user's terminal.
  • a method of managing a test related to a service in an electronic device may further include providing A/B test result information including information about at least part of the test.
  • a method of managing a test related to a service in an electronic device includes A/B test result information based on users excluding the user corresponding to the second tester identification information among the users of the test group of the A/B test. It may further include the step of providing.
  • An electronic device for managing a test related to a service includes a transceiver; Storage for storing one or more instructions; and confirming first information about the set A/B test, confirming at least one domain associated with the A/B test based on the first information, and confirming at least one automated test related to the at least one domain, It may include a processor that verifies tester identification information of at least one automated test, and allocates at least some of the users corresponding to the confirmed tester identification information to a set user group of the A/B test.
  • the recording medium according to the third aspect of the present disclosure may be a non-transitory computer-readable recording medium that records a program for execution on a computer.
  • the electronic device may confirm at least one automated test for at least one domain related to the A/B test based on first information about the A/B test. As the electronic device allocates at least a portion of the tester identification information of at least one automated test to a set user group of the A/B test, the reliability of the results of the automated test can be guaranteed regardless of the execution of the A/B test.
  • FIG. 1 is a diagram illustrating a system in which a method of managing service-related tests by an electronic device according to various embodiments can be implemented.
  • Figure 2 is a flowchart showing how an electronic device manages tests related to a service.
  • FIG. 3 is a diagram illustrating in more detail a system in which a method for an electronic device to manage tests related to a service can be implemented.
  • Figure 4 is a diagram for explaining in detail a page displaying information about at least one A/B test related to a domain.
  • Figure 5 is a diagram for explaining a page for overriding a user group in at least one A/B test.
  • Figure 6 is a detailed page for the method of allocating user groups first in the first A/B test.
  • Figure 7 is a detailed page about the method of allocating user groups first in the fourth A/B test.
  • Figure 8 is a block diagram illustrating an electronic device for managing tests related to a service 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 diagram illustrating a system in which a method of managing service-related tests by an electronic device according to various embodiments can be implemented.
  • system 10 may be implemented by various types of devices.
  • system 10 may include an electronic device 100, a terminal 110, and a terminal 120.
  • the system 10 shown in Figure 1 shows only components relevant 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. 1.
  • the electronic device 100, terminal 110, and terminal 120 may each include a transceiver, storage, and processor.
  • the electronic device 100, terminal 110, and terminal 120 each refer to a unit that processes at least one function or operation, and may be implemented through hardware, software, or a combination of hardware and software.
  • each of the electronic device 100, terminal 110, and terminal 120 is referred to as a separate device or server, but this may have a logically divided structure, and at least some of them are one device or server. It can be implemented by a function separated from .
  • the electronic device 100, terminal 110, and terminal 120 may include a plurality of computer systems or computer software implemented as a network server.
  • a network server such as an intranet or the Internet to receive a request to perform a task.
  • at least some of the electronic device 100, terminal 110, and terminal 120 are in a broad sense including a series of application programs that can operate on a network server and various databases built inside or on other connected nodes. It can be understood as a concept.
  • at least some of the electronic device 100, terminal 110, and terminal 120 operate DOS, Windows, Linux, UNIX, or MacOS. It can be implemented using various network server programs provided depending on the system.
  • the electronic device 100, terminal 110, and terminal 120 may communicate with each other through a network (not shown).
  • Networks include Local Area Network (LAN), Wide Area Network (WAN), Value Added Network (VAN), mobile radio communication network, satellite communication network, and combinations thereof.
  • LAN Local Area Network
  • WAN Wide Area Network
  • VAN Value Added Network
  • It is a data communication network in a comprehensive sense that allows each network constituent shown in FIG. 1 to communicate smoothly with each other, and may include wired Internet, wireless Internet, and mobile wireless communication networks.
  • 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.
  • a method of managing a test related to a service in the electronic device 100 includes confirming first information about a set A/B test, and at least one test related to the A/B test based on the first information. Verify a domain, identify at least one automated test associated with at least one domain, verify tester identification information of at least one automated test, and A/B at least some of the users corresponding to the verified tester identification information. It can be assigned to a set user group for the test. Additionally, the electronic device 100 may provide a page of the current service version to the terminal 110 of a user assigned to the control group of the A/B test, and may provide a page of the current service version to the terminal 110 of the user assigned to the at least one experimental group of the A/B test.
  • a page of a service version matching at least one experimental group may be provided at (120).
  • the electronic device 100 assigns the user's terminal 110 distributed to at least one experimental group of the A/B test to the control group of the A/B test, The integrity of the A/B test can be guaranteed regardless of the execution of the A/B test.
  • automated testing can target the code applied to the current service, and A/B testing is conducted to compare the effect between the current service and the service according to the changed code when applying changes to some functions of the current service.
  • the current service is provided to users set to Group 1, and services according to the changed code are provided to users set to Group 2, and it is possible to determine whether to apply the changed service based on the results.
  • the users assigned to the control group and the experimental group can be dynamically determined, so if the user information of the terminal performing the automated test is assigned to the experimental group, the target of the automated test is not the current service. may occur, and thus the integrity of automated testing can be guaranteed through the above method. Specific examples of this will be discussed in detail below.
  • Figure 2 is a flowchart showing how an electronic device manages tests related to a service.
  • each operation in which an electronic device manages a test related to a service may have some operations changed, replaced, or some of the operations within the range clearly understood by those skilled in the art to which the present invention pertains. It can be clearly understood that the order can be changed.
  • step S210 the electronic device 100 may check first information about the set A/B test.
  • the electronic device 100 may check status information of the A/B test through an API before checking the first information about the set A/B test. More specifically, the electronic device 100 can check the status information of the A/B test as one of creation, execution, and completion through the XPC service API. For example, the electronic device 100 may confirm that the status information of the /B test has changed from creation to execution or that the status information of the A/B test has changed from creation to execution.
  • the A/B test set in step S210 is the A/B test date on which settings for the A/B test, such as 1) distribution of the A/B test of the user who is the subject of the A/B test to the test group, 2) traffic allocation, etc., are completed. You can.
  • the test group in an A/B test may be a group that includes both a control group (A) and at least one experimental group (B, C, D, ).
  • the electronic device 100 may check first information about the set A/B test.
  • the first information is information for confirming at least one domain affected by the A/B test, and may be the source code of the A/B test or information set in the A/B test.
  • step S220 the electronic device 100 may confirm at least one domain related to the A/B test based on the first information.
  • the electronic device 100 may check at least one domain related to the A/B test based on the source code of the A/B test. More specifically, the device 100 may identify at least one domain that is affected by executing the source code of the A/B test.
  • at least one domain identified based on the source code of the A/B test may be a domain directly affected by the execution of the A/B test. Additionally, there may be multiple domains related to A/B testing, but the domain is not limited thereto.
  • step S230 the electronic device 100 may check at least one automated test related to at least one domain.
  • An automated test is a test in which A/B testing corresponding to the automated test has already been completed, and may be a test of the existing version of the user interface provided to the user's terminal. More specifically, the existing version of the user interface provided to the user's terminal may correspond to the control group of A/B testing. Therefore, if a user included in the test group of the automated test is assigned to at least one experimental group of the A/B test, the target of the automated test will change, and in this case, there is a concern that the reliability of the automated test will be damaged by the A/B test. There is. Accordingly, the electronic device 100 needs to check at least one automated test related to at least one domain.
  • the electronic device 100 may check information about a domain related to the automated test in advance. Such confirmation may be performed based on at least one of the code of the automated test and the values set for the automated test.
  • the electronic device 100 may check at least one automated test related to at least one domain. Additionally, when executing an automated test related to a domain, the users subject to the automated test may be at least some of the set user groups corresponding to the domain. A user group corresponding to each domain may be set.
  • step S240 the electronic device 100 may check tester identification information of at least one automated test.
  • the electronic device 100 may pre-allocate user identification information corresponding to at least one domain. More specifically, in order to distinguish tests executed for each domain, the electronic device 100 may preset different user groups for each domain. For example, the electronic device 100 may assign a first user group to the cart domain and a second user group to the payment domain. Additionally, users subject to automated testing related to the domain may be at least some of the users in the user group corresponding to the domain. Accordingly, the electronic device 100 can confirm the tester identification information of at least one automated test and confirm the user who is the subject of the automated test corresponding to the electronic tester identification information.
  • identification information is information for distinguishing a user from other users, and may be at least one of the user's ID information or the user's unique identifier information.
  • the electronic device 100 may assign at least some of the users corresponding to the confirmed tester identification information to the set user group of the A/B test.
  • An automated test is a test for an existing version, and among users corresponding to the tester identification information of the automated test, the users included in the A/B test need to be distributed to the control group and at least one of the experimental groups. More specifically, if users included in the test group of the A/B test among users corresponding to the tester identification information of the automated test are distributed into at least one experimental group, there is a risk that the reliability of the automated test may be damaged. However, the distribution of the test group of the set A/B test (distribution to the control group and at least one experimental group) is determined randomly, and users corresponding to the tester identification information of the automated test are included in the test group of the A/B test. The users may be distributed into at least one experimental group.
  • the electronic device 100 may assign at least some of the users corresponding to the tester identification information to the control group of the A/B test. More specifically, the electronic device 100 verifies the user's identification information distributed to at least one experimental group of the A/B test, and matches the tester identification information with the user's identification information distributed to at least one experimental group. 1 Tester identification information may be confirmed, and users corresponding to the first tester identification information may be redistributed from at least one experimental group to the control group.
  • redistribution may correspond to the procedure of assigning groups of users first in A/B testing.
  • control group may correspond to an existing version performed in an A/B test
  • at least one experimental group may correspond to a new version that is the subject of performance comparison compared to the existing version in an A/B test.
  • FIG. 3 is a diagram illustrating in more detail a system in which a method for an electronic device to manage tests related to a service can be implemented.
  • the electronic device 100 may operate as a device for managing tests related to services of the electronic device 100.
  • the electronic device 100 may check the status information of the A/B test as “generated.” More specifically, the electronic device 100 can check the status information of the A/B test as “generated” during creation, execution, and completion through the API.
  • the set A/B test may be an A/B test in which settings for the A/B test have been completed, such as 1) distribution of the A/B test of the user who is the subject of the A/B test to a test group, 2) traffic allocation, and A/B test /B
  • the scheduled execution time of the test may also be set. For example, among 10,000 users who are the target of an A/B test, 5,000 may be randomly distributed to the control group (Group A), and the remaining 5,000 users may be randomly distributed to the experimental group (Group B). Referring to FIG. 3, the scheduled execution time of the A/B test may be a first time, and the execution period of the A/B test may be a second time.
  • the electronic device 100 may assign at least some of the users corresponding to the tester identification information to a set user group for the A/B test. More specifically, the electronic device 100 may assign at least some of the users corresponding to the A/B tester identification information to the set user group of the A/B test based on the scheduled execution time of the A/B test. . For example, the electronic device 100 may assign at least some of the users corresponding to the A/B tester identification information to the set user group of the A/B test just before the first time, which is the scheduled execution time of the A/B test. You can.
  • the electronic device 100 may check the identification information of 5,000 users distributed into the experimental group, which is group B of the A/B test. Additionally, the electronic device 100 may check first tester identification information that matches the user's identification information among tester identification information of at least one automated test.
  • the number of users corresponding to the first tester identification information may be 100. Accordingly, the electronic device 100 may redistribute the users corresponding to the first tester identification information from the experimental group, which is group B, to the control group, which is group A. Accordingly, the number of users included in the control group (group A) may be 5,100, and the number of users included in the experimental group (group B) may be 4,900.
  • the electronic device 100 may check the status information of the A/B test as “executed.” More specifically, the electronic device 100 can check the status information of the A/B test as “executed” during creation, execution, and completion through the API. More specifically, the electronic device 100 can provide a page of the current service version to the terminals of 5,100 users assigned to the control group, which is group A, and provides a page of the current service version to the terminals of 4,900 users assigned to the experimental group, which is group B. A page with a matching service version can be provided.
  • step S321 the electronic device 100 may assign at least some of the users corresponding to the tester identification information to a set user group of the A/B test.
  • the specific operation of allocating at least some of the users corresponding to the tester identification information to the set user group of the A/B test may be similar to step S311 and the embodiment described in FIG. 2.
  • the electronic device 100 may check the identification information of 4,900 users distributed into the experimental group, which is group B of the A/B test. Additionally, the electronic device 100 may check first tester identification information that matches the user's identification information among tester identification information of at least one automated test. Here, there may be 50 users corresponding to the first tester identification information. Accordingly, the electronic device 100 may redistribute the users corresponding to the first tester identification information from the experimental group, which is group B, to the control group, which is group A. Accordingly, the number of users included in the control group (group A) may be 5,150, and the number of users included in the experimental group (group B) may be 4,850.
  • the electronic device 100 may identify at least one first automated test related to at least one domain for a set time. More specifically, there may be at least one first automated test that is additionally executed or created after at least a portion is assigned to a set user group of the A/B test. At this time, the electronic device 100 needs to confirm at least one first automated test that is additionally executed or created. Accordingly, the electronic device 100 may identify at least one first automated test related to at least one domain at each set time.
  • the set time may be 1 hour, but is not limited thereto.
  • the electronic device 100 may check first tester identification information of at least one first automated test. Additionally, the electronic device 100 may assign at least some of the users corresponding to the first tester identification information to a user group. More specifically, the electronic device 100 may first allocate a user matching a user of at least one experimental group of the A/B test among users corresponding to the first tester identification information to the control group. Herein, preferential assignment may be to forcefully assign some of the users of at least one experimental group of an A/B test to a control group.
  • the electronic device 100 may check the identification information of 4850 users distributed into the experimental group, which is group B of the A/B test. Additionally, the electronic device 100 may check the first tester identification information that matches the user's identification information among the tester identification information of at least one first automated test. Here, there may be 50 users corresponding to the first tester identification information. Accordingly, the electronic device 100 may redistribute the users corresponding to the first tester identification information from the experimental group, which is group B, to the control group, which is group A. Accordingly, the number of users included in the control group (Group A) may be 5,200, and the number of users included in the experimental group (Group B) may be 4,800.
  • the electronic device 100 may change the page of the service version matching the experimental group to the page of the current service version and provide it. .
  • the electronic device 100 may confirm the status information of the A/B test as “complete.” More specifically, the electronic device 100 can check the status information of the A/B test as “complete” during creation, execution, and completion through the API.
  • the electronic device 100 may initialize allocation to at least some user groups as the A/B test status information is confirmed as complete. For example, referring to FIG. 3 , the electronic device 100 may initialize the allocation of 200 users redistributed from the experimental group (group B) to the control group (group A).
  • the electronic device 100 may provide A/B test result information.
  • the A/B test result information may include information about which test group recorded a higher purchase conversion rate for users among the control group and at least one experimental group.
  • the electronic device 100 may provide A/B test result information according to the following embodiment.
  • the electronic device 100 may redistribute some users included in the experimental group of the A/B test to the control group. There is a risk that the results of the A/B test may be distorted as some users included in the experimental group of the A/B test are redistributed to the control group. Accordingly, the electronic device 100 may also provide information about users who have changed the test group among users included in the test group of the A/B test. For example, referring to FIG. 3 , the electronic device 100 may provide information on 200 users redistributed from Group B, the experimental group, to Group A, the control group, in steps S311 and S321.
  • the electronic device 100 may identify at least one first user for whom a change in the test group has been performed during the execution of the A/B test, and may determine at least one first user included in the test group of the A/B test.
  • A/B test result information may be provided based on users excluding the first user.
  • the electronic device 100 may provide A/B test result information based on 9,900 users excluding 100 users redistributed from Group B, the experimental group, to Group A, the control group, in step S321.
  • the distribution of test groups for A/B testing is not limited to this.
  • the electronic device 100 assigns at least some of the users corresponding to the tester identification information to the control group of the A/B test
  • the distribution ratio of the test group of the A/B test may be different from the set distribution ratio.
  • the electronic device 100 may assign at least some of the users included in the control group to the experimental group of the A/B test in response to assigning at least some of the users corresponding to the tester identification information to the control group of the A/B test. You can.
  • the electronic device 100 randomly selects 200 users from among the users included in the control group, which is original group A, and assigns them to the group. It can be assigned to experimental group B. Accordingly, the electronic device 100 can maintain the number of users assigned to the control group and the experimental group the same as the A/B test setting.
  • Figure 4 is a diagram for explaining in detail a page displaying information about at least one A/B test related to a domain.
  • the electronic device 100 may provide a page 400 that displays information about at least one A/B test related to a domain.
  • the page 400 may be a page provided by searching for the cart domain 410 and “execution” 411, which is status information of the cart domain 410, among domains.
  • page 400 may include information about A/B tests with index numbers 19022, 19023, 21156, 21157, and 21511.
  • the page 400 displays information about the third A/B test 420 whose index number is 21156.
  • page 400 may include information about each A/B test. More specifically, the information about the A/B test includes information about the source code corresponding to at least one A/B test, domain information about the at least one A/B test, and operation of the at least one A/B test. It may include at least one of the status information for. Referring to FIG. 4, information about the A/B test includes information about the domain of the A/B test (421), information about the domain associated with the A/B test confirmed based on the source code of the A/B test ( 422), status information about the operation of the A/B test (423), information about the execution time of the A/B test (424), information about the test group according to priority assignment (425), and information about updates (426) ) may include.
  • the information 421 about the domain of A/B testing may be information about a formal domain related to A/B testing.
  • the electronic device 100 may store information about domains associated with each A/B test. Referring to FIG. 4, information about the domain of the third A/B test 420 may be “checkout.”
  • the information 422 about the domain associated with the A/B test identified based on the source code of the A/B test may be information about the domain that the A/B test actually affects. Additionally, information 422 about the domain associated with the A/B test identified based on the source code of the A/B test may be different from information 422 about the formal domain of the A/B test. Referring to FIG. 4, “checkout”, which is A/B test information (421) with an index number of 21511, and “cart”, which is A/B test information (422), may be different.
  • the status information 423 about the operation of the A/B test may be information about the status of the A/B test and may include “created,” “calculated,” and “calculation_stopped.”
  • status information about the operation of the third A/B test 420 may be “calculation_stopped.”
  • information about the execution time of the A/B test may be information about the time as well as the year/month/day on which the A/B test was executed.
  • the third A/B test 420 may be an A/B test executed at 13:49:30 on March 25, 2022.
  • test group information 425 regarding priority allocation may be information about a user group to which some of the users corresponding to the tester identification information have been assigned.
  • the test group information 425 regarding priority assignment may be, but is not limited to, the control group, which is primarily group A.
  • test group information regarding priority allocation of the third A/B test 420 may be group A.
  • the update information 426 may be information about the time at which at least some of the users corresponding to the tester identification information are assigned to the user group at a period of time set in step S321.
  • information about the update of the third A/B test 420 may be at 16:00:11 on May 19, 2022.
  • FIG. 4 has one domain corresponding to at least one A/B test, but is not limited thereto.
  • there may be multiple domains corresponding to one A/B test and the multiple domains may include a domain for a cart, a domain for checkout, a domain for a recommendation algorithm, and a domain for a detail page. there is.
  • Figure 5 is a diagram illustrating a page for overriding a user group in at least one A/B test.
  • the electronic device 100 may provide a page 500 for priority allocation of at least one A/B test.
  • a page about priority allocation may display information about the priority allocation of at least one A/B test created, executed, and completed in the electronic device 100.
  • the priority assignment herein may be performed together with the distribution of test groups of the A/B test or the assignment may be performed after the distribution of the test groups of the A/B test.
  • distribution of test groups of the first A/B test 510 may not have been performed yet.
  • information about the first A/B test 510 "Group" may be information about a state in which 100% of users are assigned to the control group (group A) and 0% of users are assigned to the experimental group (group B).
  • the electronic device 100 first assigns at least some of the users corresponding to the tester identification information of at least one automated test related to the first A/B test 510 to the control group, which is group A of the A/B test, and Users included in the test group of the A/B test 510 may be distributed into one of the control group (group A) and the experimental group (group B). 2) Additionally, the fourth A/B test 520 may be an A/B test in which test group distribution is performed. Specifically, information about the fourth A/B test (520) "Group" is assigned to 50% of users in the control group (group A), 25% of users in the experimental group (group B), and 25% of users in the experimental group (group C). This may be information about the current status. The electronic device 100 may first assign at least some of the users corresponding to the tester identification information of at least one automated test related to the fourth A/B test 520 to the control group, which is group A of the A/B test.
  • the page 500 has an icon 511, which is the entry point of the details page for the priority allocation of the first A/B test 510, and an icon 511, which is the entry point of the details page about the priority allocation of the fourth A/B test 520. May include an icon 521. Detailed pages on priority allocation for each A/B test are discussed below.
  • Figure 6 is a detailed page for the method of allocating user groups first in the first A/B test.
  • the detail page 600 about the priority allocation of the first A/B test may be a page about the priority allocation of the first A/B test 510 of FIG. 5.
  • the test group of the first A/B test may include a control group that is group A and an experimental group that is group B.
  • 100% of the users may be assigned to the control group (group A) of the first A/B test, and 0% of the users may be assigned to the experimental group (group B).
  • the electronic device 100 may first allocate at least some of the users corresponding to the tester identification information of at least one automated test related to the first A/B test 510 to the control group, which is group A of the A/B test.
  • the electronic device 100 may redistribute a user with a user ID of 1283 among users corresponding to tester identification information of at least one automated test to the control group, which is group A.
  • the electronic device 100 may check user identification information, which is a user ID, to distinguish users included in the test group of the first A/B test.
  • the user identification information included in the test group of the first A/B test may be user SRL information, which is information about the user's device.
  • Figure 7 is a detailed page about the method for allocating user groups first in the fourth A/B test.
  • the detail page 700 about priority allocation of the fourth A/B test may be a page about priority allocation of the fourth A/B test 520 of FIG. 5 .
  • the test group of the fourth A/B test may include the control group of group A, the experimental group of group B, as well as the experimental group of group C.
  • 50% of users may be assigned to the control group (group A)
  • 25% of users may be assigned to the experimental group (group B)
  • 25% of users may be assigned to the experimental group (group C).
  • the electronic device 100 may first assign at least some of the users corresponding to the tester identification information of at least one automated test related to the fourth A/B test 520 to the control group, which is group A of the A/B test. there is.
  • the electronic device 100 may redistribute a user with a user ID of 1483 among users corresponding to tester identification information of at least one automated test from the experimental group of group B to the control group of group A. Additionally, the electronic device 100 may redistribute a user with a user ID of 2579 among users corresponding to tester identification information of at least one automated test from the experimental group of group C to the control group of group A.
  • the electronic device 100 may check user identification information, which is a user ID, to distinguish users included in the test group of the first A/B test.
  • the user identification information included in the test group of the fourth A/B test may be PCID, which is information about the user's computing device, or identification information about the user's account in the service.
  • Figure 8 is a block diagram illustrating an electronic device for managing tests related to a service according to an embodiment.
  • the electronic device 800 of FIG. 8 may correspond to the electronic device 100 of the present specification.
  • the electronic device 800 of the present disclosure may include a transceiver 810, a processor 820, and a storage 830.
  • the components shown in FIG. 8 are not essential for implementing the electronic device, so the electronic device 800 described herein may have more or fewer components than the components listed above.
  • the processor 820 may include at least one processor.
  • the electronic device 800 may operate as a server.
  • the transceiver 810 can communicate with an external device using wired or wireless communication technology and may include the transceiver 810. External devices may be terminals or servers, including terminals of developers and quality assurance teams.
  • communication technologies used by the transceiver 810 include Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Long Term Evolution (LTE), 5G, Wireless LAN (WLAN), and Wireless-Fidelity (Wi-Fi). ), Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), ZigBee, NFC (Near Field Communication), etc., but are not limited thereto.
  • the transceiver 810 can communicate with the terminal to exchange information.
  • the transceiver 810 may provide a page displaying information about at least one A/B test related to a domain on the electronic device 100. Additionally, the transceiver 810 may provide a page of the current service version to the terminal 110 of a user assigned to the control group of the A/B test. Additionally, the transceiver 810 may provide a page of a service version matching the at least one experimental group to the terminal 120 of a user assigned to at least one experimental group of the A/B test. Additionally, the transceiver 810 may provide A/B test result information including information on at least some of the users corresponding to the tester identification information.
  • the processor 820 can control the overall operation of the electronic device 800 and process data and signals.
  • the processor 820 may perform one of the methods described above with reference to FIGS. 1 to 8 .
  • the processor 820 controls embodiments performed by the electronic device 800 through interaction with the transceiver 810 and the storage 830 and further components that the electronic device 800 may include. You can.
  • the processor 820 verifies first information about the set A/B test, verifies at least one domain associated with the A/B test based on the first information, and determines at least one domain and At least one related automated test can be confirmed, tester identification information of the at least one automated test can be confirmed, and at least some of the users corresponding to the confirmed tester identification information can be assigned to a set user group of the A/B test. .
  • the storage 830 may store information for performing at least one method described above with reference to FIGS. 1 to 8 .
  • Storage 830 may be referred to as memory and may be volatile memory or non-volatile memory.
  • storage 830 may include the data storage of FIG. 3 .
  • the storage 830 may store information about identification information corresponding to a user.
  • the storage 830 may include information about at least one A/B test of the electronic device 800 and information about at least one domain corresponding to the at least one A/B test.
  • 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 icons, 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, 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)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

전자 장치에서 서비스와 관련된 테스트를 관리하는 방법이 개시된다. 구체적으로, 서비스와 관련된 테스트를 관리하는 방법은 설정된 A/B 테스트에 대한 제1 정보를 확인하는 단계; 제1 정보를 기반으로 A/B 테스트와 연관된 적어도 하나의 도메인을 확인하는 단계; 적어도 하나의 도메인과 관련된 적어도 하나의 자동화 테스트를 확인하는 단계; 적어도 하나의 자동화 테스트의 테스터 식별 정보를 확인하는 단계; 및 확인된 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당하는 단계를 포함할 수 있다.

Description

서비스와 관련된 테스트를 관리하는 방법 및 장치
본 명세서의 실시 예는 서비스와 관련된 테스트를 관리하는 방법 및 장치에 관한 것이다. 본 명세서의 실시 예는 A/B 테스트 및 A/B 테스트와 연관된 적어도 하나의 자동화 테스트 간의 영향을 최소화하여 서비스와 관련된 테스트를 관리하는 방법 및 이에 대한 장치에 관한 것이다.
최근 온라인 마케팅 등 인터넷 환경에서 기존의 버전 및 새로운 버전에 대한 사용자의 행동 데이터를 분석하기 위한 각종 테스트가 수행되고 있다. 그 중 A/B 테스트는 기존의 버전(A)와 새로운 버전(B, C, ...)를 비교하여, 어떤 버전의 성과 좋은지를 판단하는 테스트이다. 여기서, 기존의 버전 및 새로운 버전의 성과를 비교하는 기준은 클릭률 또는 구매전환율 등을 포함할 수 있다. 기존의 버전 및 새로운 버전은 사용자의 행동에 영향을 미칠 수 있는 특정 요소의 변경을 제외한 나머지 조건은 동일할 수 있다. 이에 따라, A/B 테스트의 결과를 통해 특정 요소의 변경이 사용자의 클릭률 또는 구매전환율에 어떤 영향을 미치는지 파악할 수 있다.
한편, A/B 테스트와 별개로 기존의 버전에 대한 자동화 테스트가 수행될 수 있다. 다만, A/B 테스트의 테스트 그룹으로 분배된 사용자와 자동화 테스트의 테스트 그룹으로 분배된 사용자가 중복되면, 자동화 테스트의 신뢰도가 훼손될 수 있다. 따라서 이와 같은 문제를 해결하기 위한 방법 및 장치가 요구된다.
관련하여, KR102259945B1 건 및 KR102309715B1 건 등의 선행문헌들을 참조할 수 있다.
본 개시는 상술한 문제점을 해결하기 위해 제안된 것으로, 서비스와 관련된 테스트를 관리하는 방법 및 이를 장치를 제공하는데 있다.
보다 구체적으로 본 개시는 A/B 테스트에 관련된 적어도 하나의 자동화 테스트의 테스터 식별 정보를 확인함으로써, 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스터의 설정된 사용자 군에 할당하는 방법 및 장치를 제공하는 것을 목적으로 한다.
이에 따라, 본 개시는 A/B 테스트가 실행되더라도 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스터의 설정된 사용자 군에 할당함으로써, 자동화 테스트의 신뢰성을 보장할 수 있는 방법 및 이를 위한 장치를 제공하는 것을 목적으로 한다.
본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
상술한 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1측면에 따른 전자 장치에서 서비스와 관련된 테스트를 관리하는 방법은 설정된 A/B 테스트에 대한 제1 정보를 확인하는 단계; 제1 정보를 기반으로 A/B 테스트와 연관된 적어도 하나의 도메인을 확인하는 단계; 적어도 하나의 도메인과 관련된 적어도 하나의 자동화 테스트를 확인하는 단계; 적어도 하나의 자동화 테스트의 테스터 식별 정보를 확인하는 단계; 및 확인된 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치에서 서비스와 관련된 테스트를 관리하는 방법은 전자 장치 상의 도메인과 관련된 적어도 하나의 A/B 테스트에 대한 정보를 표시하는 페이지를 제공하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 적어도 하나의 A/B 테스트에 대한 정보는 적어도 하나의 A/B 테스트에 대응되는 소스 코드에 대한 정보, 적어도 하나의 A/B 테스트에 대한 도메인 정보, 적어도 하나의 A/B 테스트의 동작에 대한 상태 정보 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당하는 단계는 적어도 일부를 A/B 테스트의 대조군에 할당하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 적어도 일부를 A/B 테스트의 대조군에 할당하는 단계는 A/B 테스트의 적어도 하나의 실험군으로 분배된 사용자의 식별 정보를 확인하는 단계; 테스터 식별 정보 중 사용자의 식별 정보와 매칭되는 제1 테스터 식별 정보를 확인하는 단계; 및 제1 테스터 식별 정보에 대응되는 사용자를 적어도 하나의 실험군에서 대조군으로 재분배하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 적어도 하나의 도메인을 확인하는 단계는 A/B 테스트의 소스 코드에 기반하여, A/B 테스트와 연관된 적어도 하나의 도메인을 확인하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치에서 서비스와 관련된 테스트를 관리하는 방법은 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당한 후, 설정된 시간 동안 적어도 하나의 도메인과 관련된 적어도 하나의 제1 자동화 테스트를 식별하는 단계; 적어도 하나의 제1 자동화 테스트의 제1 테스터 식별 정보를 확인하는 단계; 및 제1 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 사용자 군에 할당하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 제1 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 사용자 군에 할당하는 단계는 A/B 테스트의 적어도 하나의 실험군으로 분배된 사용자의 식별 정보를 확인하는 단계; 제1 테스터 식별 정보 중 사용자의 식별 정보와 매칭되는 제2 테스터 식별 정보를 확인하는 단계; 및 제2 테스터 식별 정보에 대응되는 사용자를 적어도 하나의 실험군에서 대조군으로 재분배하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치에서 서비스와 관련된 테스트를 관리하는 방법은 API를 통해 A/B 테스트의 상태 정보를 생성, 실행 및 완료 중 하나로 확인하는 단계를 포함할 수 있다.
일 실시 예에 따르면, A/B 테스트에 대한 제1 정보를 확인하는 단계는 A/B 테스트의 상태 정보를 생성으로 확인하거나 A/B 테스트의 상태 정보가 생성에서 실행으로 변경된 것을 확인하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치에서 서비스와 관련된 테스트를 관리하는 방법은 A/B 테스트의 상태 정보를 완료로 확인함에 따라, 적어도 일부의 사용자 군으로의 할당을 초기화하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 적어도 하나의 자동화 테스트는 적어도 하나의 자동화 테스트에 대응하는 A/B 테스트가 기 완료된 테스트일 수 있다.
일 실시 예에 따르면, 전자 장치에서 서비스와 관련된 테스트를 관리하는 방법은 A/B 테스트의 대조군에 할당된 사용자의 단말에 현재 서비스 버전의 페이지를 제공하고, A/B 테스트의 적어도 하나의 실험군에 할당된 사용자의 단말에 적어도 하나의 실험군에 매칭되는 서비스 버전의 페이지를 제공하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 전자 장치에서 서비스와 관련된 테스트를 관리하는 방법은 적어도 일부에 대한 정보를 포함하는 A/B 테스트 결과 정보를 제공하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 전자 장치에서 서비스와 관련된 테스트를 관리하는 방법은 A/B 테스트의 테스트 그룹의 사용자 중 제2 테스터 식별 정보에 대응되는 사용자를 제외한 사용자에 기반하여, A/B 테스트 결과 정보를 제공하는 단계를 더 포함할 수 있다.
본 개시의 제2측면에 따른 서비스와 관련된 테스트를 관리하기 위한 전자 장치는 트랜시버; 하나 이상의 명령어를 저장하는 스토리지; 및 설정된 A/B 테스트에 대한 제1 정보를 확인하고, 제1 정보를 기반으로 A/B 테스트와 연관된 적어도 하나의 도메인을 확인하고, 적어도 하나의 도메인과 관련된 적어도 하나의 자동화 테스트를 확인하고, 적어도 하나의 자동화 테스트의 테스터 식별 정보를 확인하고, 및 확인된 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당하는 프로세서를 포함할 수 있다.
본 개시의 제3측면에 따른 기록매체는 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체일 수 있다.
본 명세서의 실시 예에 따르면, 전자 장치는 A/B 테스트에 대한 제1 정보에 기반하여 A/B 테스트와 연관된 적어도 하나의 도메인에 대한 적어도 하나의 자동화 테스트를 확인할 수 있다. 전자 장치가 적어도 하나의 자동화 테스트의 테스터 식별 정보 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당함에 따라 A/B 테스트의 실행과 무관하게 자동화 테스트의 결과의 신뢰도는 보장될 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 다양한 실시 예에 따른 전자 장치가 서비스와 관련된 테스트를 관리하는 방법이 구현될 수 있는 시스템을 설명하기 위한 도면이다.
도 2는 전자 장치가 서비스와 관련된 테스트를 관리하는 방법을 나타낸 흐름도이다.
도 3은 전자 장치가 서비스와 관련된 테스트를 관리하는 방법이 구현될 수 있는 시스템을 보다 자세하게 설명하기 위한 도면이다.
도 4는 도메인과 관련된 적어도 하나의 A/B 테스트에 대한 정보를 표시하는 페이지를 자세하게 설명하기 위한 도면이다.
도 5는 적어도 하나의 A/B 테스트에서 사용자 군을 우선할당(Override)을 위한 페이지를 설명하기 위한 도면이다.
도 6은 제1 A/B 테스트에서 사용자 군을 우선 할당하는 방법에 대한 상세 페이지이다.
도 7은 제4 A/B 테스트에서 사용자 군을 우선 할당하는 방법에 대한 상세 페이지이다.
도 8은 일 실시 예에 따른 서비스와 관련된 테스트를 관리하기 위한 전자 장치를 도식화한 블록도이다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “...부”, “...모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서 기재된 “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은 다양한 실시 예에 따른 전자 장치가 서비스와 관련된 테스트를 관리하는 방법이 구현될 수 있는 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 다양한 실시 예에 따른 시스템(10)은 다양한 종류의 장치들에 의해 구현될 수 있다. 예를 들어, 시스템(10)은 전자 장치(100), 단말(110) 및 단말(120)을 포함할 수 있다. 도1에 도시된 시스템(10)은 본 실시 예와 관련된 구성요소들만 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전자 장치(100), 단말(110) 및 단말(120) 각각은 트랜시버, 스토리지 및 프로세서를 포함할 수 있다. 또한, 전자 장치(100), 단말(110) 및 단말(120) 각각은 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 한편 실시 예 전반에서 전자 장치(100), 단말(110) 및 단말(120) 각각은 분리된 장치 또는 서버로 언급되나 이는 논리적으로 나누어진 구조일 수 있으며, 이들 중 적어도 일부가 하나의 장치 또는 서버에서 분리된 기능에 의해 구현될 수 있다.
일 실시 예에 따르면, 전자 장치(100), 단말(110) 및 단말(120)은 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어를 포함할 수 있다. 예를 들면 전자 장치(100), 단말(110) 및 단말(120) 중 적어도 일부는 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고, 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 및 컴퓨터 소프트웨어를 지칭할 수 있다. 이외에도, 전자 장치(100), 단말(110) 및 단말(120) 중 적어도 일부는 네트워크 서버 상에서 동작할 수 있는 일련의 응용 프로그램과, 내부 혹은 연결된 다른 노드에 구축되어 있는 각종 데이터베이스를 포함하는 광의의 개념으로 이해될 수 있다. 예컨대, 전자 장치(100), 단말(110) 및 단말(120) 중 적어도 일부는 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 또는 맥OS(MacOS) 등의 운영 체제에 따라 다양하게 제공되는 네트워크 서버 프로그램을 이용하여 구현될 수 있다.
전자 장치(100), 단말(110) 및 단말(120)은 네트워크(미도시)를 통해서 서로 통신할 수 있다. 네트워크는 근거리 통신망(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) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 따르면, 전자 장치(100)에서 서비스와 관련된 테스트를 관리하는 방법은 설정된 A/B 테스트에 대한 제1 정보를 확인하고, 제1 정보를 기반으로 A/B 테스트와 연관된 적어도 하나의 도메인을 확인하고, 적어도 하나의 도메인과 관련된 적어도 하나의 자동화 테스트를 확인하고, 적어도 하나의 자동화 테스트의 테스터 식별 정보를 확인하고, 및 확인된 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당할 수 있다. 또한, 전자 장치(100)는 A/B 테스트의 대조군에 할당된 사용자의 단말(110)에 현재 서비스 버전의 페이지를 제공할 수 있고, A/B 테스트의 적어도 하나의 실험군에 할당된 사용자의 단말(120)에 적어도 하나의 실험군에 매칭되는 서비스 버전의 페이지를 제공할 수 있다. 또한, 사용자의 단말(110)이 자동화 테스트의 대상인 경우, 전자 장치(100)는 A/B 테스트의 적어도 하나의 실험군에 분배된 사용자의 단말(110)을 A/B 테스트의 대조군으로 할당함으로써, A/B 테스트의 실행과 무관하게 A/B 테스트의 무결성을 담보할 수 있다. 이와 같이 자동화 테스트는 현재 서비스에 적용된 코드를 대상으로 할 수 있으며, A/B 테스트는 현재 서비스 중 일부 기능에 대해서 변경을 적용할 때 현재 서비스와 변경된 코드에 따른 서비스 사이의 효과를 비교하기 위해서 제1 군으로 설정된 사용자에게는 현재 서비스를 제공하고, 제2 군으로 설정된 사용자에게는 변경된 변경된 코드에 따른 서비스를 제공하여 이에 따른 결과를 통해 변경된 서비스를 적용할지 여부를 판단할 수 있게 된다. 다만 이와 같은 A/B 테스트에서 대조군과 실험군에 할당되는 사용자가 다이나믹하게 결정될 수 있는바, 자동화 테스트를 수행하는 단말의 사용자 정보가 실험군에 할당될 경우, 자동화 테스트의 대상이 현재 서비스가 아니게 되는 문제가 발생할 수 있고, 이에 따라 상기 방법을 통해 자동화 테스트의 무결성을 보장할 수 있다. 이에 대한 구체적인 실시 예는 하기에서 자세히 살펴보기로 한다.
도 2는 전자 장치가 서비스와 관련된 테스트를 관리하는 방법을 나타낸 흐름도이다.
도 2를 참조하면, 전자 장치가 서비스와 관련된 테스트를 관리하는 각 동작은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해되는 범위 내에서 일부 동작이 변경, 치환되거나 동작 간의 일부 순서가 변경될 수 있음은 자명하게 이해될 수 있다.
단계 S210에서, 전자 장치(100)는 설정된 A/B 테스트에 대한 제1 정보를 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 설정된 A/B 테스트에 대한 제1 정보를 확인하기 전에, API를 통해 A/B 테스트의 상태 정보를 확인할 수 있다. 보다 상세하게는, 전자 장치(100)는 XPC service API를 통해 A/B 테스트의 상태 정보를 생성, 실행 및 완료 중 하나로 확인할 수 있다. 예를 들어, 전자 장치(100)는 /B 테스트의 상태 정보를 생성으로 확인하거나 A/B 테스트의 상태 정보가 생성에서 실행으로 변경된 것을 확인할 수 있다. 단계 S210에서의 설정된 A/B 테스트는 1)A/B 테스트의 대상인 사용자의 A/B 테스트의 테스트 그룹으로의 분배, 2) 트래픽 할당 등 A/B 테스트에 대한 설정이 완료된 A/B 테스트일 수 있다. 본원에서, A/B 테스트의 테스트 그룹은 대조군(A) 및 적어도 하나의 실험군(B, C, D, ...)을 모두 포함하는 그룹일 수 있다.
전자 장치(100)에서 실행 중인 자동화 테스트 중 A/B 테스트의 실행에 따라 영향을 받는 자동화 테스트가 있을 수 있다. A/B 테스트의 실행에 따라 영향을 받는 자동화 테스트를 확인하기 위해, 전자 장치(100)는 설정된 A/B 테스트에 대한 제1 정보를 확인할 수 있다. 여기서, 제1 정보는 A/B 테스트에 의해 영향을 받는 적어도 하나의 도메인을 확인하기 위한 정보로, A/B 테스트의 소스 코드 혹은 A/B 테스트에 설정된 정보일 수 있다..
단계 S220에서, 전자 장치(100)는 제1 정보를 기반으로 A/B 테스트와 연관된 적어도 하나의 도메인을 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 A/B 테스트의 소스 코드에 기반하여, A/B 테스트와 연관된 적어도 하나의 도메인을 확인할 수 있다. 보다 상세하게는, 장치(100)는 A/B 테스트의 소스 코드를 실행함에 따라 영향을 받는 적어도 하나의 도메인을 확인할 수 있다. 여기서, A/B 테스트의 소스 코드에 기반하여 확인된 적어도 하나의 도메인은 A/B 테스트의 실행에 따라 직접적으로 영향을 받은 도메인일 수 있다. 또한, A/B 테스트와 연관된 도메인은 복 수개일 수 있으나, 이에 제한되는 것은 아니다.
단계 S230에서, 전자 장치(100)는 적어도 하나의 도메인과 관련된 적어도 하나의 자동화 테스트를 확인할 수 있다.
자동화 테스트는 자동화 테스트에 대응하는 A/B 테스트가 기 완료된 테스트로, 사용자의 단말에 제공되는 기존 버전의 사용자 인터페이스에 대한 테스트일 수 있다. 보다 상세하게는, 사용자의 단말에 제공되는 기존 버전의 사용자 인터페이스는 A/B 테스트의 대조군에 해당할 수 있다. 따라서, 자동화 테스트의 테스트 그룹에 포함되는 사용자가 A/B 테스트의 적어도 하나의 실험군에 할당되게 되면, 자동화 테스트의 대상이 달라지게 되고 이 경우 A/B 테스트에 의해 자동화 테스트의 신뢰도가 훼손될 우려가 있다. 이에 전자 장치(100)는 적어도 하나의 도메인과 관련된 적어도 하나의 자동화 테스트를 확인할 필요가 있다.
일 실시 예에 따르면, 전자 장치(100)는 자동화 테스트를 실행할 때, 자동화 테스트와 연관된 도메인에 관한 정보를 미리 확인할 수 있다. 이와 같은 확인은 자동화 테스트의 코드 및 자동화 테스트를 위해 설정된 값 중 적어도 하나를 기반으로 수행될 수 있다.
이에 따라, 전자 장치(100)는 적어도 하나의 도메인과 관련된 적어도 하나의 자동화 테스트를 확인할 수 있다. 또한, 도메인과 관련된 자동화 테스트를 실행할 때, 자동화 테스트의 대상이 되는 사용자는 도메인에 대응하는 설정된 유저 그룹 중 적어도 일부일 수 있다. 각각의 도메인에 대응하는 유저 그룹은 설정되어 있을 수 있다.
단계 S240에서, 전자 장치(100)는 적어도 하나의 자동화 테스트의 테스터 식별 정보를 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 적어도 하나의 도메인과 대응되는 사용자의 식별 정보를 미리 할당할 수 있다. 보다 상세하게는, 도메인 별로 실행되는 테스트를 구별하기 위해, 전자 장치(100)는 도메인 별로 상이한 사용자 그룹을 미리 설정할 수 있다. 예를 들어, 전자 장치(100)는 카트 도메인에는 제1 사용자 그룹을 할당하고, 결제 도메인에는 제2 사용자 그룹을 할당할 수 있다. 또한, 도메인과 관련된 자동화 테스트의 대상이 되는 사용자는 도메인에 대응되는 사용자 그룹의 사용자 중 적어도 일부일 수 있다. 이에 따라, 전자 장치(100)는 적어도 하나의 자동화 테스트의 테스터 식별 정보를 확인할 수 있고, 전자 테스터 식별 정보에 대응되는 자동화 테스트의 대상이 되는 사용자를 확인할 수 있다. 본원에서, 식별 정보는 사용자를 다른 사용자와 구별하기 위한 정보로, 사용자의 아이디 정보 또는 사용자의 고유 식별자 정보 중 적어도 하나일 수 있다.
단계 S250에서, 전자 장치(100)는 확인된 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당할 수 있다.
자동화 테스트는 기존 버전에 관한 테스트로, 자동화 테스트의 테스터 식별 정보에 대응하는 사용자 중 A/B 테스트의 사용자에 포함되는 사용자는 대조군 및 적어도 하나의 실험군 중 대조군에 분배되어야 할 필요가 있다. 보다 상세하게는, 자동화 테스트의 테스터 식별 정보에 대응하는 사용자 중 A/B 테스트의 테스트 그룹에 포함되는 사용자가 적어도 하나의 실험군으로 분배되면, 자동화 테스트의 신뢰성이 훼손될 우려가 있다. 다만, 설정된 A/B 테스트의 테스트 그룹의 분배(대조군 및 적어도 하나의 실험군으로의 분배)는 랜덤하게 결정되는 바, 자동화 테스트의 테스터 식별 정보에 대응하는 사용자 중 A/B 테스트의 테스트 그룹에 포함되는 사용자가 적어도 하나의 실험군으로 분배될 수 있다. 이에 따라, 자동화 테스트의 테스터 식별 정보에 대응하는 사용자 중 A/B 테스트의 적어도 하나의 실험군으로 분배된 사용자를 대조군으로 재분배할 필요가 있다. 이에 따라, 전자 장치(100)는 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 대조군에 할당할 수 있다. 보다 상세하게는, 전자 장치(100)는 A/B 테스트의 적어도 하나의 실험군으로 분배된 사용자의 식별 정보를 확인하고, 테스터 식별 정보 중 적어도 하나의 실험군으로 분배된 사용자의 식별 정보와 매칭되는 제1 테스터 식별 정보를 확인하고, 제1 테스터 식별 정보에 대응되는 사용자를 적어도 하나의 실험군에서 대조군으로 재분배할 수 있다. 본원에서, 재분배는 A/B 테스트에서 사용자 군을 우선 할당하는 절차에 대응할 수 있다.
본원에서, 대조군은 A/B 테스트에서 수행되는 기존의 버전에 대응될 수 있고, 적어도 하나의 실험군은 A/B 테스트에서 기존의 버전과 비교하여 성과 비교의 대상이 되는 새로운 버전에 대응될 수 있다.
도 3은 전자 장치가 서비스와 관련된 테스트를 관리하는 방법이 구현될 수 있는 시스템을 보다 자세하게 설명하기 위한 도면이다.
도 3을 참조하면, 전자 장치(100)는 전자 장치(100)의 서비스와 관련된 테스트를 관리하기 위한 장치로 동작할 수 있다.
단계 S310에서, 전자 장치(100)는 A/B 테스트의 상태 정보를 "생성"으로 확인할 수 있다. 보다 상세하게는, 전자 장치(100)는 API를 통해 A/B 테스트의 상태 정보를 생성, 실행 및 완료 중 "생성"으로 확인할 수 있다. 설정된 A/B 테스트는 1)A/B 테스트의 대상인 사용자의 A/B 테스트의 테스트 그룹으로의 분배, 2) 트래픽 할당 등 A/B 테스트에 대한 설정이 완료된 A/B 테스트일 수 있고, A/B 테스트의 예약된 실행 시간도 설정되어 있을 수 있다. 예를 들어, A/B 테스트의 대상인 사용자인 10000명의 사용자 중 5000명은 그룹 A인 대조군에 랜덤하게 분배될 수 있고, 나머지 5000명은 그룹 B인 실험군에 랜덤하게 분배될 수 있다. 도 3을 참조하면, A/B 테스트의 예약된 실행 시각은 제1 시각일 수 있고, A/B 테스트의 실행 기간은 제2 시간일 수 있다.
A/B 테스트의 실행 중에 A/B 테스트의 대상인 사용자의 테스트 그룹의 변경은 A/B 테스트의 결과의 신뢰도를 훼손할 우려가 있을 수 있다. 이에 따라, A/B 테스트가 실행되기 전에, 자동화 테스트의 테스터 식별 정보에 대응되는 사용자 중 저거도 일부를 A/B 테스트의 설정된 사용자 군에 할당할 필요가 있을 수 있다.
단계 S311에서, 전자 장치(100)는 테스터 식별 정보에 대응하는 사용자 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당할 수 있다. 보다 상세하게는, 전자 장치(100)는 A/B 테스트의 예약된 실행 시간에 기반하여 A/B 테스터 식별 정보에 대응하는 사용자 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당할 수 있다. 예를 들어, 전자 장치(100)는 A/B 테스트의 예약된 실행 시간인 제1 시각 직전에 A/B 테스터 식별 정보에 대응하는 사용자 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당할 수 있다.
예를 들어, 도 3을 참조하면, 전자 장치(100)는 A/B 테스트의 그룹 B인 실험군으로 분배된 5000명의 사용자의 식별 정보를 확인할 수 있다. 또한, 전자 장치(100)는 적어도 하나의 자동화 테스트의 테스터 식별 정보 중 사용자의 식별 정보와 매칭되는 제1 테스터 식별 정보를 확인할 수 있다. 여기서, 제1 테스터 식별 정보에 대응되는 사용자는 100명일 수 있다. 이에 따라, 전자 장치(100)는 제1 테스터 식별 정보에 대응되는 사용자를 그룹 B인 실험군에서 그룹 A인 대조군으로 재분배할 수 있다. 이에 따라, 그룹 A인 대조군에 포함되는 사용자는 5100명일 수 있고, 그룹 B인 실험군에 포함되는 사용자는 4900명일 수 있다.
단계 S320에서, 전자 장치(100)는 A/B 테스트의 상태 정보를 "실행"으로 확인할 수 있다. 보다 상세하게는, 전자 장치(100)는 API를 통해 A/B 테스트의 상태 정보를 생성, 실행 및 완료 중 "실행"으로 확인할 수 있다. 보다 상세하게는, 전자 장치(100)는 그룹 A인 대조군에 할당된 5100명의 사용자의 단말에 현재 서비스 버전의 페이지를 제공할 수 있고, 그룹 B인 실험군에 할당된 4900명의 사용자의 단말에 실험군에 매칭되는 서비스 버전의 페이지를 제공할 수 있다.
단계 S321에서, 전자 장치(100)는 테스터 식별 정보에 대응하는 사용자 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당할 수 있다. 테스터 식별 정보에 대응하는 사용자 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당하는 구체적인 동작은 단계 S311 및 도 2에서 살펴본 실시 예와 유사할 수 있다.
예를 들어, 도 3을 참조하면, 전자 장치(100)는 A/B 테스트의 그룹 B인 실험군으로 분배된 4900명의 사용자의 식별 정보를 확인할 수 있다. 또한, 전자 장치(100)는 적어도 하나의 자동화 테스트의 테스터 식별 정보 중 사용자의 식별 정보와 매칭되는 제1 테스터 식별 정보를 확인할 수 있다. 여기서, 제1 테스터 식별 정보에 대응되는 사용자는 50명일 수 있다. 이에 따라, 전자 장치(100)는 제1 테스터 식별 정보에 대응되는 사용자를 그룹 B인 실험군에서 그룹 A인 대조군으로 재분배할 수 있다. 이에 따라, 그룹 A인 대조군에 포함되는 사용자는 5150명일 수 있고, 그룹 B인 실험군에 포함되는 사용자는 4850명일 수 있다.
일 실시 예에 따르면, 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당한 후, 전자 장치(100)는 설정된 시간 동안 적어도 하나의 도메인과 관련된 적어도 하나의 제1 자동화 테스트를 식별할 수도 있다. 보다 상세하게는, 적어도 일부가 A/B 테스트의 설정된 사용자 군에 할당된 후에 추가적으로 실행 또는 생성되는 적어도 하나의 제1 자동화 테스트가 있을 수 있다. 이때, 전자 장치(100)는 추가적으로 실행 또는 생성되는 적어도 하나의 제1 자동화 테스트를 확인할 필요가 있다. 이에 따라, 전자 장치(100)는 설정된 시간마다 적어도 하나의 도메인과 관련된 적어도 하나의 제1 자동화 테스트를 식별할 수 있다. 여기서, 설정된 시간은 1시간 일 수 있으나, 이에 제한되는 것은 아니다.
일 실시 예에 따르면, 전자 장치(100)는 적어도 하나의 제1 자동화 테스트의 제1 테스터 식별 정보를 확인할 수 있다. 또한, 전자 장치(100)는 제1 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 사용자 군에 할당할 수 있다. 보다 상세하게는, 전자 장치(100)는 제1 테스터 식별 정보에 대응되는 사용자 중 A/B 테스트의 적어도 하나의 실험군의 사용자와 매칭되는 사용자를 대조군으로 우선 할당할 수 있다. 본원에서, 우선 할당은 A/B 테스트의 적어도 하나의 실험군의 사용자 중 일부를 대조군으로 강제 할당하는 것일 수 있다.
예를 들어, 도 3을 참조하면, 전자 장치(100)는 A/B 테스트의 그룹 B인 실험군으로 분배된 4850명의 사용자의 식별 정보를 확인할 수 있다. 또한, 전자 장치(100)는 적어도 하나의 제1 자동화 테스트의 테스터 식별 정보 중 사용자의 식별 정보와 매칭되는 제1 테스터 식별 정보를 확인할 수 있다. 여기서, 제1 테스터 식별 정보에 대응되는 사용자는 50명일 수 있다. 이에 따라, 전자 장치(100)는 제1 테스터 식별 정보에 대응되는 사용자를 그룹 B인 실험군에서 그룹 A인 대조군으로 재분배할 수 있다. 이에 따라, 그룹 A인 대조군에 포함되는 사용자는 5200명일 수 있고, 그룹 B인 실험군에 포함되는 사용자는 4800명일 수 있다.
이에 따라, 그룹 B인 실험군에서 그룹 A인 대조군으로 재분배된 100명의 사용자의 단말에 대해, 전자 장치(100)는 실험군에 매칭되는 서비스 버전의 페이지를 현재 서비스 버전의 페이지로 변경하여 제공할 수 있다.
단계 S330에서, 전자 장치(100)는 A/B 테스트의 상태 정보를 "완료"로 확인할 수 있다. 보다 상세하게는, 전자 장치(100)는 API를 통해 A/B 테스트의 상태 정보를 생성, 실행 및 완료 중 "완료"로 확인할 수 있다.
단계 S331에서, 전자 장치(100)는 A/B 테스트의 상태 정보를 완료로 확인함에 따라, 적어도 일부의 사용자 군으로의 할당을 초기화할 수 있다. 예를 들어, 도 3을 참조하면, 전자 장치(100)는 그룹 B인 실험군에서 그룹 A인 대조군으로 재분배된 사용자 200명의 할당을 초기화할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 A/B 테스트 결과 정보를 제공할 수 있다. 여기서, A/B 테스트 결과 정보는 대조군 및 적어도 하나의 실험군 중 사용자에게 더 높은 구매전환율을 기록한 테스트 그룹이 무엇인지에 대한 정보를 포함할 수 있다. A/B 테스트 결과의 신뢰도를 보장하기 위해, 전자 장치(100)는 하기의 실시 예에 따라 A/B 테스트 결과 정보를 제공할 수 있다.
예를 들어, A/B 테스트가 실행 중인 경우에도 전자 장치(100)는 A/B 테스트의 실험군에 포함되는 일부 사용자를 대조군으로 재분배할 수 있다. A/B 테스트의 실험군에 포함되는 일부 사용자가 대조군으로 재분배됨에 따라 A/B 테스트의 결과가 왜곡될 우려가 있다. 따라서, 전자 장치(100)는 A/B 테스트의 테스트 그룹에 포함되는 사용자 중 테스트 그룹의 변경이 실행된 사용자에 대한 정보도 함께 제공할 수 있다. 예를 들어, 도 3을 참조하면, 전자 장치(100)는 단계 S311 및 단계 S321에서 실험군인 그룹 B에서 대조군인 그룹 A로 재분배된 200명의 사용자에 대한 정보를 함께 제공할 수 있다.
또한, 예를 들어, 전자 장치(100)는 A/B 테스트 실행 중에 테스트 그룹의 변경이 실행된 적어도 하나의 제1 사용자를 확인하고, A/B 테스트의 테스트 그룹에 포함되는 사용자 중 적어도 하나의 제1 사용자를 제외한 사용자에 기반하여 A/B 테스트 결과 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 단계 S321에서 실험군인 그룹 B에서 대조군인 그룹 A로 재분배된 100명의 사용자를 제외한 9900명의 사용자에 기반하여, A/B 테스트 결과 정보를 제공할 수 있다.
다만 본원 실시 예에 따른 A/B 테스트의 테스트 그룹의 분배는 이에 한정되는 것은 아니다. 예를 들어, 전자 장치(100)는 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 대조군으로 할당함에 따라, A/B 테스트의 테스트 그룹의 분배 비율은 설정된 분배 비율과 상이할 수 있다. 이에 따라, 전자 장치(100)는 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 대조군으로 할당하는 것에 대응하여 대조군에 포함되는 사용자 중 적어도 일부를 A/B 테스트의 실험군으로 할당할 수 있다. 예를 들어, 전자 장치(100)는 그룹 B인 실험군에 포함되는 200명의 사용자를 그룹 A인 대조군으로 할당하는 거에 대응하여 원래 그룹 A인 대조군에 포함되는 사용자 중 랜덤하게 200명의 사용자를 선택하여 그룹 B인 실험군에 할당할 수 있다. 이에 따라, 전자 장치(100)는 대조군 및 실험군에 할당되는 사용자 수를 A/B 테스트의 설정과 동일하게 유지할 수 있다.
도 4는 도메인과 관련된 적어도 하나의 A/B 테스트에 대한 정보를 표시하는 페이지를 자세하게 설명하기 위한 도면이다.
도 4를 참조하면, 전자 장치(100)는 도메인과 관련된 적어도 하나의 A/B 테스트에 대한 정보를 표시하는 페이지(400)을 제공할 수 있다. 페이지(400)은 도메인 중 카트 도메인(410) 및 카트 도메인(410)의 상태 정보인 "실행"(411)을 검색함에 따라 제공되는 페이지일 수 있다. 예를 들어, 페이지(400)는 index 넘버가 19022, 19023, 21156, 21157 및 21511인 A/B 테스트에 대한 정보를 포함할 수 있다. 도 4를 참조하면, 페이지(400)는 index 넘버가 21156인 제3 A/B 테스트(420)에 대한 정보를 표시하고 있다.
또한, 페이지(400)는 각각의 A/B 테스트에 대한 정보를 포함할 수 있다. 보다 상세하게는, A/B 테스트에 대한 정보는 적어도 하나의 A/B 테스트에 대응되는 소스 코드에 대한 정보, 적어도 하나의 A/B 테스트에 대한 도메인 정보, 적어도 하나의 A/B 테스트의 동작에 대한 상태 정보 중 적어도 하나를 포함할 수 있다. 도 4를 참조하면, A/B 테스트에 대한 정보는 A/B 테스트의 도메인에 관한 정보(421), A/B 테스트의 소스 코드에 기반하여 확인된 A/B 테스트와 연관된 도메인에 관한 정보(422), A/B 테스트의 동작에 대한 상태 정보(423), A/B 테스트의 실행 시각에 관한 정보(424), 우선 할당에 따른 테스트 그룹에 대한 정보(425) 및 업데이트에 대한 정보(426)를 포함할 수 있다.
예를 들어, A/B 테스트의 도메인에 관한 정보(421)는 A/B 테스트와 관련된 형식적인 도메인에 관한 정보일 수 있다. 또한, 전자 장치(100)는 각각의 A/B 테스트와 연관된 도메인에 대한 정보를 저장하고 있을 수 있다. 도 4를 참조하면, 제3 A/B 테스트(420)의 도메인에 관한 정보는 "checkout"일 수 있다.
예를 들어, A/B 테스트의 소스 코드에 기반하여 확인된 A/B 테스트와 연관된 도메인에 관한 정보(422)는 A/B 테스트가 실질적으로 영향을 미치는 도메인에 관한 정보일 수 있다. 또한, A/B 테스트의 소스 코드에 기반하여 확인된 A/B 테스트와 연관된 도메인에 관한 정보(422)는 A/B 테스트의 형식적인 도메인에 관한 정보(422)와 상이할 수 있다. 도 4를 참조하면, index 넘버가 21511인 A/B 테스트의 정보(421)인 "checkout"과 A/B 테스트의 정보(422) "cart"는 상이할 수 있다.
예를 들어, A/B 테스트의 동작에 대한 상태 정보(423)는 A/B 테스트의 상태에 대한 정보일 수 있고, "created", "calculated" 및 "calculation_stopped" 등을 포함할 수 있다. 도 4를 참조하면, 제3 A/B 테스트(420)의 동작에 대한 상태 정보는 "calculation_stopped"일 수 있다.
예를 들어, A/B 테스트의 실행 시각에 관한 정보(424) A/B 테스트가 실행된 년/월/일 뿐만 아니라 시각에 대한 정보일 수 있다. 도 4를 참조하면, 제3 A/B 테스트(420)는 2022년 3월 25일 13시 49분 30초에 실행된 A/B 테스트일 수 있다.
예를 들어, 우선 할당에 관한 테스트 그룹의 정보(425)는 테스터 식별 정보에 대응되는 사용자 중 저거도 일부를 할당한 사용자 군에 관한 정보일 수 있다. 본원에서, 우선 할당에 관한 테스트 그룹의 정보 (425)는 주로 그룹 A인 대조군일 수 있으나, 이에 한정되는 것은 아니다. 도 4를 참조하면, 제3 A/B 테스트(420)의 우선 할당에 관한 테스트 그룹의 정보는 그룹 A일 수 있다.
예를 들어, 업데이트에 대한 정보(426)는 단계 S321에서의 설정된 시간을 주기로 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 사용자 군에 할당하는 시각에 대한 정보일 수 있다. 도 4를 참조하면, 제3 A/B 테스트(420)의 업데이트에 대한 정보는 2022년 5월 19일 16시 0분 11초일 수 있다.
또한, 도 4의 실시 예는 적어도 하나의 A/B 테스트에 대응하는 도메인이 하나이지만, 이에 한정되는 것은 아니다. 예를 들어, 하나의 A/B 테스트에 대응하는 도메인은 복수 개일 수도 있고, 복수 개의 도메인은 카트에 대한 도메인, 체크아웃에 대한 도메인, 추천 알고리즘에 대한 도메인, 상세 페이지에 대한 도메인을 포함할 수도 있다.
도 5는 적어도 하나의 A/B 테스트에서 사용자 군을 우선할당 (Override)을 위한 페이지를 설명하기 위한 도면이다.
도 5를 참조하면, 전자 장치(100)는 적어도 하나의 A/B 테스트의 우선 할당에 대한 페이지(500)를 제공할 수 있다. 예를 들어, 우선 할당에 대한 페이지는 전자 장치(100)에서 생성, 실행 및 완료된 적어도 하나의 A/B 테스트의 우선 할당에 대한 정보를 표시할 수 있다.
본원에서의 우선 할당은 A/B 테스트의 테스트 그룹의 분배와 함께 또는 할당은 A/B 테스트의 테스트 그룹의 분배 이후에 실행될 수 있다. 1) 예를 들어, 제1 A/B 테스트(510)의 테스트 그룹의 분배는 아직 실행되지 않았을 수 있다. 구체적으로, 제1 A/B 테스트(510) "Group"에 대한 정보는 그룹 A인 대조군에 사용자의 100%, 그룹 B인 실험군에 사용자의 0%가 할당된 상태에 대한 정보일 수 있다. 전자 장치(100)는 제1 A/B 테스트(510)와 관련된 적어도 하나의 자동화 테스트의 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 그룹 A인 대조군으로 우선 할당하고, 제1 A/B 테스트(510)의 테스트 그룹에 포함되는 사용자를 그룹 A인 대조군 및 그룹 B인 실험군 중 하나로 분배할 수 있다. 2) 또한, 제4 A/B 테스트(520)는 테스트 그룹의 분배가 실행된 A/B 테스트일 수 있다. 구체적으로, 제4 A/B 테스트(520) "Group"에 대한 정보는 그룹 A인 대조군에 사용자의 50%, 그룹 B인 실험군에 사용자의 25% 및 그룹 C인 실험군에 사용자의 25%가 할당된 상태에 대한 정보일 수 있다. 전자 장치(100)는 제4 A/B 테스트(520)와 관련된 적어도 하나의 자동화 테스트의 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 그룹 A인 대조군으로 우선 할당할 수 있다.
페이지(500)는 제1 A/B 테스트(510)의 우선 할당에 대한 상세 페이지의 엔트리 포인트인 아이콘(511) 및 제4 A/B 테스트(520)의 우선 할당에 대한 상세 페이지의 엔트리 포인트인 아이콘(521)을 포함할 수 있다. 각각의 A/B 테스트의 우선 할당에 대한 상세 페이지는 하기에서 살펴보기로 한다.
도 6은 제1 A/B 테스트에서 사용자 군을 우선 할당하는 방법에 대한 상세 페이지이다.
제1 A/B 테스트의 우선 할당에 대한 상세 페이지(600)은 도 5의 제1 A/B 테스트(510)의 우선 할당에 대한 페이지일 수 있다. 여기서, 제1 A/B 테스트의 테스트 그룹은 그룹 A인 대조군 및 그룹 B인 실험군을 포함할 수 있다. 또한, 제1 A/B 테스트의 그룹 A인 대조군에 사용자의 100%, 그룹 B인 실험군에 사용자의 0%가 할당된 상태일 수 있다. 전자 장치(100)는 제1 A/B 테스트(510)와 관련된 적어도 하나의 자동화 테스트의 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 그룹 A인 대조군으로 우선 할당할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 자동화 테스트의 테스터 식별 정보에 대응되는 사용자 중 사용자 ID가 1283인 사용자를 그룹 A인 대조군에 재분배할 수 있다.
전자 장치(100)는 제1 A/B 테스트의 테스트 그룹에 포함되는 사용자를 구별하기 위해, 사용자 ID인 사용자 식별 정보를 확인할 수 있다. 여기서, 제1 A/B 테스트의 테스트 그룹에 포함되는 사용자 식별 정보는 사용자의 디바이스에 대한 정보인 사용자 SRL 정보일 수 있다.
도 7은 제4 A/B 테스트에서 사용자 군을 우선 할당하는 방법에 대한 상세 페이지이다.
제4 A/B 테스트의 우선 할당에 대한 상세 페이지(700)은 도 5의 제4 A/B 테스트(520)의 우선 할당에 대한 페이지일 수 있다. 여기서, 제4 A/B 테스트의 테스트 그룹은 그룹 A인 대조군, 그룹 B인 실험군 뿐만 아니라 그룹 C인 실험군을 포함할 수 있다. 또한, 제1 A/B 테스트의 그룹 A인 대조군에 사용자의 50%, 그룹 B인 실험군에 사용자의 25% 및 그룹 C인 실험군에 사용자의 25%가 할당된 상태일 수 있다. 다만, 전자 장치(100)는 제4 A/B 테스트(520)와 관련된 적어도 하나의 자동화 테스트의 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 그룹 A인 대조군으로 우선 할당할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 자동화 테스트의 테스터 식별 정보에 대응되는 사용자 중 사용자 ID가 1483인 사용자를 그룹 B인 실험군에서 그룹 A인 대조군에 재분배할 수 있다. 또한, 전자 장치(100)는 적어도 하나의 자동화 테스트의 테스터 식별 정보에 대응되는 사용자 중 사용자 ID가 2579인 사용자를 그룹 C인 실험군에서 그룹 A인 대조군에 재분배할 수 있다.
전자 장치(100)는 제1 A/B 테스트의 테스트 그룹에 포함되는 사용자를 구별하기 위해, 사용자 ID인 사용자 식별 정보를 확인할 수 있다. 여기서, 제4 A/B 테스트의 테스트 그룹에 포함되는 사용자 식별 정보는 사용자의 컴퓨팅 디바이스에 대한 정보인 PCID 또는 서비스에서 사용자의 계정에 대한 식별 정보일 수 있다.
도 8은 일 실시 예에 따른 서비스와 관련된 테스트를 관리하기 위한 전자 장치를 도식화한 블록도이다.
도 8의 전자 장치(800)은 본원 명세서의 전자 장치(100)에 대응될 수 있다.
본 개시의 전자 장치(800)는 일 실시 예에 따라, 트랜시버(810), 프로세서(820) 및 스토리지(830)를 포함할 수 있다. 도 8에 도시된 구성요소들은 전자 장치를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 전자 장치(800)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 한편 실시 예에서 프로세서(820)는 적어도 하나의 프로세서를 포함할 수 있다. 또한, 전자 장치(800)는 서버로 동작할 수도 있다.
트랜시버(810)는 유무선 통신 기술을 이용하여 외부의 장치와 통신할 수 있으며 트랜시버(810)를 포함할 수 있다. 외부의 장치는 개발자, 품질 보증 팀의 단말을 포함하는 단말 또는 서버가 될 수 있다. 또한, 트랜시버(810)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있을 수 있으며, 이에 한정되는 것은 아니다.
일 실시 예에 따라, 트랜시버(810)는 단말과 통신하여 정보를 주고받을 수 있다. 트랜시버(810)는 전자 장치(100) 상의 도메인과 관련된 적어도 하나의 A/B 테스트에 대한 정보를 표시하는 페이지를 제공할 수 있다. 또한, 트랜시버(810)는 A/B 테스트의 대조군에 할당된 사용자의 단말(110)에 현재 서비스 버전의 페이지를 제공할 수 있다. 또한, 트랜시버(810)는 A/B 테스트의 적어도 하나의 실험군에 할당된 사용자의 단말(120)에 적어도 하나의 실험군에 매칭되는 서비스 버전의 페이지를 제공할 수 있다. 또한, 트랜시버(810)는 테스터 식별 정보에 대응되는 사용자 중 적어도 일부에 대한 정보를 포함하는 A/B 테스트 결과 정보를 제공할 수 있다.
프로세서(820)는 전자 장치(800)의 전반적인 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 프로세서(820)는 도 1 내지 도 8를 통하여 전술한 하나의 방법을 수행할 수 있다. 프로세서(820)는 트랜시버(810) 및 스토리지(830)와, 나아가 전자 장치(800)가 더 포함할 수 있는 구성요소들과의 상호 작용을 통해 전자 장치(800)가 수행하는 실시 예들을 제어할 수 있다. 일 실시 예에 따라, 프로세서(820)는 설정된 A/B 테스트에 대한 제1 정보를 확인하고, 제1 정보를 기반으로 A/B 테스트와 연관된 적어도 하나의 도메인을 확인하고, 적어도 하나의 도메인과 관련된 적어도 하나의 자동화 테스트를 확인하고, 적어도 하나의 자동화 테스트의 테스터 식별 정보를 확인하고, 및 확인된 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 A/B 테스트의 설정된 사용자 군에 할당할 수 있다.
스토리지(830)는 도 1 내지 도 8를 통하여 전술한 적어도 하나의 방법을 수행하기 위한 정보를 저장할 수 있다. 스토리지(830)는 메모리로 호칭될 수 있고, 휘발성 메모리 또는 비휘발성 메모리일 수 있다. 예를 들어, 스토리지(830)은 도 3의 데이터 스토리지를 포함할 수 있다. 예를 들어, 스토리지(830)는 사용자에 대응하는 식별 정보에 대한 정보를 저장하고 있을 수 있다. 또한, 스토리지(830)은 전자 장치(800)의 적어도 하나의 A/B 테스트에 대한 정보 및 적어도 하나의 A/B 테스트에 대응하는 적어도 하나의 도메인에 대한 정보를 포함할 수 있다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
전술한 실시 예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(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 (17)

  1. 전자 장치에서 서비스와 관련된 테스트를 관리하는 방법에 있어서,
    설정된 A/B 테스트에 대한 제1 정보를 확인하는 단계;
    상기 제1 정보를 기반으로 상기 A/B 테스트와 연관된 적어도 하나의 도메인을 확인하는 단계;
    상기 적어도 하나의 도메인과 관련된 적어도 하나의 자동화 테스트를 확인하는 단계;
    상기 적어도 하나의 자동화 테스트의 테스터 식별 정보를 확인하는 단계; 및
    상기 확인된 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 상기 A/B 테스트의 설정된 사용자 군에 할당하는 단계를 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  2. 제1 항에 있어서,
    상기 전자 장치 상의 도메인과 관련된 적어도 하나의 A/B 테스트에 대한 정보를 표시하는 페이지를 제공하는 단계를 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  3. 제2 항에 있어서,
    상기 적어도 하나의 A/B 테스트에 대한 정보는 상기 적어도 하나의 A/B 테스트에 대응되는 소스 코드에 대한 정보, 상기 적어도 하나의 A/B 테스트에 대한 도메인 정보, 상기 적어도 하나의 A/B 테스트의 동작에 대한 상태 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 서비스와 관련된 테스트를 관리하는 방법.
  4. 제1 항에 있어서,
    상기 적어도 일부를 상기 A/B 테스트의 설정된 사용자 군에 할당하는 단계는,
    상기 적어도 일부를 상기 A/B 테스트의 대조군에 할당하는 단계를 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  5. 제4 항에 있어서,
    상기 적어도 일부를 상기 A/B 테스트의 대조군에 할당하는 단계는,
    상기 A/B 테스트의 적어도 하나의 실험군으로 분배된 사용자의 식별 정보를 확인하는 단계;
    상기 테스터 식별 정보 중 상기 사용자의 식별 정보와 매칭되는 제1 테스터 식별 정보를 확인하는 단계; 및
    상기 제1 테스터 식별 정보에 대응되는 사용자를 상기 적어도 하나의 실험군에서 상기 대조군으로 재분배하는 단계를 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  6. 제1 항에 있어서,
    적어도 하나의 도메인을 확인하는 단계는,
    상기 A/B 테스트의 소스 코드에 기반하여, 상기 A/B 테스트와 연관된 상기 적어도 하나의 도메인을 확인하는 단계를 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  7. 제1 항에 있어서,
    상기 적어도 일부를 상기 A/B 테스트의 설정된 사용자 군에 할당한 후, 설정된 시간 동안 상기 적어도 하나의 도메인과 관련된 적어도 하나의 제1 자동화 테스트를 식별하는 단계;
    상기 적어도 하나의 제1 자동화 테스트의 제1 테스터 식별 정보를 확인하는 단계; 및
    상기 제1 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 상기 사용자 군에 할당하는 단계를 더 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  8. 제7 항에 있어서,
    상기 제1 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 상기 사용자 군에 할당하는 단계는,
    상기 A/B 테스트의 적어도 하나의 실험군으로 분배된 사용자의 식별 정보를 확인하는 단계;
    상기 제1 테스터 식별 정보 중 상기 사용자의 식별 정보와 매칭되는 제2 테스터 식별 정보를 확인하는 단계; 및
    상기 제2 테스터 식별 정보에 대응되는 사용자를 상기 적어도 하나의 실험군에서 상기 대조군으로 재분배하는 단계를 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  9. 제1 항에 있어서,
    API를 통해 상기 A/B 테스트의 상태 정보를 생성, 실행 및 완료 중 하나로 확인하는 단계를 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  10. 제1 항에 있어서,
    상기 A/B 테스트에 대한 제1 정보를 확인하는 단계는,
    상기 A/B 테스트의 상태 정보를 생성으로 확인하거나 상기 A/B 테스트의 상태 정보가 생성에서 실행으로 변경된 것을 확인하는 단계를 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  11. 제1 항에 있어서,
    상기 A/B 테스트의 상태 정보를 완료로 확인함에 따라, 상기 적어도 일부의 상기 사용자 군으로의 할당을 초기화하는 단계를 더 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  12. 제1 항에 있어서,
    상기 적어도 하나의 자동화 테스트는 상기 적어도 하나의 자동화 테스트에 대응하는 A/B 테스트가 기 완료된 테스트인 것을 특징으로 하는 서비스와 관련된 테스트를 관리하는 방법.
  13. 제1 항에 있어서,
    상기 A/B 테스트의 대조군에 할당된 사용자의 단말에 현재 서비스 버전의 페이지를 제공하고, 상기 A/B 테스트의 적어도 하나의 실험군에 할당된 사용자의 단말에 적어도 하나의 실험군에 매칭되는 서비스 버전의 페이지를 제공하는 단계를 더 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  14. 제1 항에 있어서,
    상기 적어도 일부에 대한 정보를 포함하는 상기 A/B 테스트 결과 정보를 제공하는 단계를 더 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  15. 제8 항에 있어서,
    상기 A/B 테스트의 테스트 그룹의 사용자 중 상기 제2 테스터 식별 정보에 대응되는 사용자를 제외한 사용자에 기반하여, 상기 A/B 테스트 결과 정보를 제공하는 단계를 더 포함하는 서비스와 관련된 테스트를 관리하는 방법.
  16. 서비스와 관련된 테스트를 관리하기 위한 전자 장치에 있어서,
    트랜시버;
    하나 이상의 명령어를 저장하는 스토리지; 및
    설정된 A/B 테스트에 대한 제1 정보를 확인하고,
    상기 제1 정보를 기반으로 상기 A/B 테스트와 연관된 적어도 하나의 도메인을 확인하고,
    상기 적어도 하나의 도메인과 관련된 적어도 하나의 자동화 테스트를 확인하고,
    상기 적어도 하나의 자동화 테스트의 테스터 식별 정보를 확인하고, 및
    상기 확인된 테스터 식별 정보에 대응되는 사용자 중 적어도 일부를 상기 A/B 테스트의 설정된 사용자 군에 할당하는 프로세서를 포함하는 서비스와 관련된 테스트를 관리하기 위한 전자 장치.
  17. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
PCT/KR2022/011409 2022-07-27 2022-08-02 서비스와 관련된 테스트를 관리하는 방법 및 장치 WO2024025023A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220093098A KR20240015351A (ko) 2022-07-27 2022-07-27 서비스와 관련된 테스트를 관리하는 방법 및 장치
KR10-2022-0093098 2022-07-27

Publications (1)

Publication Number Publication Date
WO2024025023A1 true WO2024025023A1 (ko) 2024-02-01

Family

ID=89706877

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/011409 WO2024025023A1 (ko) 2022-07-27 2022-08-02 서비스와 관련된 테스트를 관리하는 방법 및 장치

Country Status (3)

Country Link
KR (1) KR20240015351A (ko)
TW (1) TW202411846A (ko)
WO (1) WO2024025023A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150012852A1 (en) * 2013-07-08 2015-01-08 Kobo Incorporated User interface tool for planning an ab type of test
JP2015225361A (ja) * 2014-05-26 2015-12-14 株式会社プラグラム A/bテストの測定方法及び測定管理システム
KR101923067B1 (ko) * 2013-07-23 2018-11-28 페이스북, 인크. 네이티브 애플리케이션 테스트
KR20190112591A (ko) * 2018-03-26 2019-10-07 주식회사 하이퍼커넥트 테스트 그룹 분배 방법을 실행하기 위한 컴퓨터 프로그램 및 서버
CN110569193B (zh) * 2019-09-05 2020-09-25 广州华多网络科技有限公司 A/b测试界面的设置方法、a/b测试方法及相关设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150012852A1 (en) * 2013-07-08 2015-01-08 Kobo Incorporated User interface tool for planning an ab type of test
KR101923067B1 (ko) * 2013-07-23 2018-11-28 페이스북, 인크. 네이티브 애플리케이션 테스트
JP2015225361A (ja) * 2014-05-26 2015-12-14 株式会社プラグラム A/bテストの測定方法及び測定管理システム
KR20190112591A (ko) * 2018-03-26 2019-10-07 주식회사 하이퍼커넥트 테스트 그룹 분배 방법을 실행하기 위한 컴퓨터 프로그램 및 서버
CN110569193B (zh) * 2019-09-05 2020-09-25 广州华多网络科技有限公司 A/b测试界面的设置方法、a/b测试方法及相关设备

Also Published As

Publication number Publication date
TW202411846A (zh) 2024-03-16
KR20240015351A (ko) 2024-02-05

Similar Documents

Publication Publication Date Title
WO2020224249A1 (zh) 基于区块链的事务处理方法、装置、设备及存储介质
WO2010120037A1 (ko) 접속자 단말 식별 장치 및 방법
WO2020138755A1 (ko) 전문가 방문 서비스 제공 방법 및 그 장치
WO2022004933A1 (ko) 배달원의 배정을 위한 전자 장치 및 그 동작 방법
WO2014204084A1 (ko) 어플리케이션 공유 서비스 방법 및 이에 적용되는 장치
WO2018074619A1 (ko) 컨테이너 터미널의 시뮬레이션 프로세스 자동화 시스템 및 방법
WO2016085239A1 (ko) 방사성 의약품 통합 관리 시스템 및 그 시스템에서의 방사성 의약품 통합 관리를 위한 장치 및 방법
WO2017188682A1 (ko) Vnf 라이선스 관리 기능을 가진 nfvo 및 이를 이용한 vnf 라이선스 관리 방법
WO2023042955A1 (ko) 정보 제공 방법 및 이를 이용한 전자 장치
WO2024025023A1 (ko) 서비스와 관련된 테스트를 관리하는 방법 및 장치
WO2023042949A1 (ko) 아이템의 정보를 제공하는 전자 장치 및 그 방법
WO2012091246A1 (en) Server and method for providing affiliate store information
WO2015093754A1 (ko) 전자 장치에서 연결 정보를 공유하는 방법 및 장치
EP3970006A1 (en) Method and apparatus for managing application
WO2022145572A1 (ko) 예상 결과값을 토대로 정보를 제공하는 방법 및 이를 이용한 연산 장치
WO2023080284A1 (ko) 렌탈 아이템에 관한 정보 제공 방법 및 이를 이용한 전자 장치
WO2021080110A1 (ko) 클라우드 환경에서 단말의 소속 식별 및 관리를 위한 시스템과 방법
WO2024128402A1 (ko) 데이터를 제공하는 방법 및 장치
WO2024038939A1 (ko) 서비스와 관련된 인공 지능 모델을 관리하는 방법 및 장치
WO2024106621A1 (ko) 스크립트와 관련한 정보를 제공하는 전자 장치 및 그 방법
WO2023210849A1 (ko) 전자 장치 및 그의 동작 방법
WO2023210850A1 (ko) 전자 장치 및 그의 동작 방법
WO2024128401A1 (ko) 전자 장치 및 그의 정보 제공 방법
WO2024038944A1 (ko) 소스 코드를 업로드하는 방법 및 장치
WO2024147403A1 (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: 22953248

Country of ref document: EP

Kind code of ref document: A1