WO2022145629A1 - 이상징후 관리가 가능한 에이비 테스트 제공방법, 서버 및 컴퓨터프로그램 - Google Patents

이상징후 관리가 가능한 에이비 테스트 제공방법, 서버 및 컴퓨터프로그램 Download PDF

Info

Publication number
WO2022145629A1
WO2022145629A1 PCT/KR2021/012766 KR2021012766W WO2022145629A1 WO 2022145629 A1 WO2022145629 A1 WO 2022145629A1 KR 2021012766 W KR2021012766 W KR 2021012766W WO 2022145629 A1 WO2022145629 A1 WO 2022145629A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
test
input data
users
server
Prior art date
Application number
PCT/KR2021/012766
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
Priority claimed from KR1020200185800A external-priority patent/KR102309715B1/ko
Priority claimed from KR1020210115441A external-priority patent/KR102613411B1/ko
Application filed by 핵클 주식회사 filed Critical 핵클 주식회사
Publication of WO2022145629A1 publication Critical patent/WO2022145629A1/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
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • Various embodiments of the present invention relate to an AB test providing method capable of managing abnormal symptoms, a server, and a computer program.
  • the A/B test is a method of comparing the existing version (A) with the new version (B, C, etc.) to determine which version performs better.
  • good performance is based on business performance indicators that companies want to know, such as click-through rate and purchase conversion rate.
  • the AB test can be used in various fields such as web page design change, product layout change, and software logic change.
  • the AB test is divided into two versions, and during the test, the impact of a specific change that the company wants to analyze data is analyzed by keeping the remaining conditions the same except for one variant that can affect the user's behavior. can be grasped as Through the AB test results, companies can identify the best plan for business growth and make decisions based on data.
  • the conventional AB test derives the result value without managing the AB test process or managing abnormal symptoms generated during the AB test. In this case, there was a problem that the risk had to be maintained until the AB test was finished even in a situation where the risk was exposed to the application of the new version.
  • the problem to be solved by the present invention is to provide an A/B test between the first service of the first version (currently distributed version) and the second service of the second version (improved version), so that companies can It not only makes it easy, fast, and accurate to understand the impact on business performance, but also manages risks that may occur in the course of the AB test by detecting and responding to anomalies, thereby enabling safer AB testing. It is to provide an AB test providing method, server and computer program capable of managing abnormal symptoms.
  • An AB test providing method capable of managing abnormal symptoms according to an embodiment of the present invention for solving the above-described problems is a method performed by a computing device, wherein the AB test for a first service and a second service ( A/B Test), collecting input data generated when a plurality of users use the first service or the second service through the generated AB test, and using the collected input data It may include deriving a result for the AB test using the AB test.
  • the generating of the AB test comprises: if there are two or more differentiation points between the first service and the second service, generating an individual AB test for each of the two or more differentiation points; may include.
  • the generating of the AB test includes: receiving a set exposure range for the generated AB test from a service provider providing the first service and the second service; Based on the plurality of users, the method may include determining a range of users to whom the generated AB test is to be provided.
  • the determining of the range of users who will provide the generated AB test may include changing the set exposure range according to the collected input data and the derived result or changing the exposure range from the service provider.
  • the set exposure range is changed according to the reset, but the size of the changed exposure range has a larger value than the set exposure range.
  • the generating of the AB test includes generating an AB test for the first service and the second service implemented in conjunction with a software development kit (SDK), and the input
  • the step of collecting data includes, through the SDK, collecting information about the plurality of users who use the first service or the second service and a unique identifier for each of the plurality of users as the input data can do.
  • the collecting of the input data may include temporarily storing a plurality of input data generated when the plurality of users use the first service or the second service in a temporary storage space;
  • the method may include transmitting the plurality of temporarily stored input data to a storage space for each period.
  • the transmitting of the plurality of temporarily stored input data to the storage space includes, as a first signal is output, transmitting the plurality of temporarily stored input data to the storage space before the first signal is output
  • the temporarily storing in the temporary storage space includes temporarily storing a plurality of first input data generated when a first user uses the first service or the second service
  • the transmitting of the plurality of temporarily stored input data to the storage space may include detecting that the service being used by the first user is terminated using the plurality of temporarily stored first input data, and the first user outputting an end signal for the first user in response to terminating the service being used, and transmitting the plurality of temporarily stored first input data to the storage space based on the output end signal have.
  • the transmitting of the one or more temporarily stored first input data to the storage space includes retransmitting at least one first input data that has not been transmitted to the storage space among the plurality of temporarily stored first input data.
  • the method may include setting a target and transmitting at least one first input data set as the reset target to the storage space when the first user starts the first service or the second service.
  • the step of deriving a result for the AB test includes using input data collected from users who use the first service as a result for the AB test as a first result for the first service. calculating a conversion rate, calculating a second conversion rate for the second service as a result of the AB test using input data collected from users who use the second service, and the calculated first conversion rate;
  • the method may include providing only one of the first service and the second service to the plurality of users based on the calculated second conversion rate.
  • the step of providing only one of the first service and the second service may include comparing the calculated first conversion rate and the calculated second conversion rate when the AB test is finished. Provided that only one of the first service and the second service is provided, when the difference between the calculated first conversion rate and the calculated second conversion rate exceeds a preset value, the AB test is terminated regardless of the end It may include performing a roll back (Roll back) for the second service.
  • Roll back a roll back
  • detecting an abnormal symptom for the first service or the second service using log data collected from terminals of the plurality of users, and an abnormal symptom for the first service or the second service is detected information on the detected anomaly is provided according to a preset rule, a rollback is performed on the first service or the second service in which the anomaly is detected, or the first service in which the anomaly is detected
  • the method may further include blocking traffic to the terminal of the user using the service or the second service.
  • the AB test providing server capable of managing abnormal symptoms is a processor, a network interface, a memory, and a computer loaded into the memory and executed by the processor
  • a program comprising: an instruction for generating an A/B test for a first service and a second service; It may include an instruction for collecting input data generated by using the first service or the second service, and an instruction for deriving a result for the AB test by using the collected input data.
  • a computer program recorded on a computer-readable recording medium for solving the above-described problems is combined with a computing device, and the AB test (A) for the first service and the second service /B Test), collecting input data generated when a plurality of users use the first service or the second service through the generated AB test, and using the collected input data
  • the AB test for the first service and the second service /B Test
  • collecting input data generated when a plurality of users use the first service or the second service through the generated AB test and using the collected input data
  • it may be stored in a computer-readable recording medium.
  • an enterprise by providing an A/B Test between a first service of a first version (currently deployed version) and a second service of a second version (an improved version), an enterprise
  • an A/B Test between a first service of a first version (currently deployed version) and a second service of a second version (an improved version)
  • an enterprise In addition to allowing users to easily, quickly, and accurately understand the impact on business performance, it also enables safer AB testing by managing risks that may occur during the AB test process through abnormal symptom detection and response.
  • FIG. 1 is a diagram illustrating an AB test providing system capable of managing abnormal symptoms according to an embodiment of the present invention.
  • FIG. 2 is a hardware configuration diagram of an AB test providing server capable of managing abnormal symptoms according to another embodiment of the present invention.
  • FIG. 3 is a flowchart of an AB test providing method capable of managing abnormal symptoms according to another embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a method of collecting and storing input data according to various embodiments of the present disclosure
  • FIG. 5 is a flowchart illustrating a method of deriving a result for an AB test according to various embodiments of the present disclosure
  • FIG. 6 is a flowchart illustrating a method of detecting and processing an abnormal symptom for an AB test, according to various embodiments.
  • FIG. 7 is a diagram exemplarily illustrating an AB test dashboard user interface (UI) provided by an AB test providing server capable of managing abnormal symptoms, according to various embodiments.
  • UI AB test dashboard user interface
  • FIGS. 8 to 13 are diagrams exemplarily illustrating a UI for generating an AB test provided by an AB test providing server capable of managing abnormal symptoms according to various embodiments.
  • FIGS. 14 to 16 are diagrams exemplarily illustrating a UI for outputting information on an AB test currently in progress provided by an AB test providing server capable of managing abnormal symptoms, according to various embodiments.
  • 17 is a diagram exemplarily illustrating a UI for outputting results for an AB test provided by an AB test providing server capable of managing abnormal symptoms, according to various embodiments.
  • unit refers to a hardware component such as software, FPGA, or ASIC, and “unit” or “module” performs certain roles.
  • “part” or “module” is not meant to be limited to software or hardware.
  • a “unit” or “module” may be configured to reside on an addressable storage medium or to reproduce one or more processors.
  • “part” or “module” refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, Includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. Components and functionality provided within “parts” or “modules” may be combined into a smaller number of components and “parts” or “modules” or as additional components and “parts” or “modules”. can be further separated.
  • a computer refers to all types of hardware devices including at least one processor, and may be understood as encompassing software configurations operating in the corresponding hardware device according to embodiments.
  • a computer may be understood to include, but is not limited to, smart phones, tablet PCs, desktops, notebooks, and user clients and applications running on each device.
  • each step described in this specification is described as being performed by a computer, but the subject of each step is not limited thereto, and at least a portion of each step may be performed in different devices according to embodiments.
  • FIG. 1 is a diagram illustrating an AB test providing system capable of managing abnormal symptoms according to an embodiment of the present invention.
  • the AB test providing system capable of managing abnormal symptoms according to an embodiment of the present invention includes an AB test providing server 100 (hereinafter, 'server 100'), a user terminal 200, It may include an external server 300 and a network 400 .
  • 'server 100' AB test providing server 100
  • user terminal 200 It may include an external server 300 and a network 400 .
  • the AB test providing system capable of managing abnormal symptoms shown in FIG. 1 is according to an embodiment, and its components are not limited to the embodiment shown in FIG. 1, and may be added, changed, or deleted as necessary. can be
  • the server 100 may generate an AB test for two or more services, and compare the first service and the second service using the generated AB test, thereby verifying the effectiveness of the new function; Uncertainty check and possible issue check can be performed.
  • the server 100 may generate an AB test for the first service and the second service and provide it to different users, and analyze the input data collected from the users to display the results of the ACE test. can be derived
  • the first service and the second service may mean different versions of the same service.
  • the first service may mean a currently distributed service
  • the second service may mean a service in which a new function is added to the first service, or a service in which some functions of the first service are deleted or changed, but not limited
  • the AB test capable of managing abnormal symptoms provided by the server 100 may be implemented and provided in the form of a web or an application, but is not limited thereto.
  • the server 100 may be connected to the user terminal 200 through the network 400 , and the user terminal 200 performs an AB test of the first service and the second service and performs the AB test.
  • a user interface UI (eg, FIGS. 7 to 15 ) for providing a result may be provided.
  • the user terminal 200 may mean a terminal of users who use the first service and the second service or a terminal of a service provider that provides the first service or the second service, and is a wireless communication device that guarantees portability and mobility.
  • PCS Personal Communication System
  • GSM Global System for Mobile communications
  • PDC Personal Digital Cellular
  • PHS Personal Handyphone System
  • PDA Personal Digital Assistant
  • IMT International Mobile Telecommunication
  • CDMA Code Division Multiple Access
  • W-CDMA Wireless Broadband Internet
  • smartphones smartpads, tablet PCs, etc. All types of handheld-based wireless communication devices may be included, but are not limited thereto.
  • the network 400 may refer to a connection structure capable of exchanging information with each other, such as a plurality of terminals and servers.
  • the network 400 includes a local area network (LAN), a wide area network (WAN), the Internet (WWW), a wired/wireless data communication network, a telephone network, a wired/wireless television communication network, and the like. can do.
  • the wireless data communication network is 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), 5th Generation Partnership Project (5GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi (Wi- Fi), Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), RF (Radio Frequency), Bluetooth (Bluetooth) network, Near-Field Communication (NFC) networks, satellite broadcast networks, analog broadcast networks, Digital Multimedia Broadcasting (DMB) networks, and the like are included, but are not limited thereto.
  • 3GPP 3rd Generation Partnership Project
  • 5GPP 5th Generation Partnership Project
  • LTE Long Term Evolution
  • WWX World Interoperability for Microwave Access
  • Wi-Fi Wi-Fi
  • Internet Internet
  • LAN Local Area Network
  • Wireless LAN Wireless Local Area Network
  • WAN Wide Area Network
  • PAN Personal Area Network
  • RF Radio Fre
  • the external server 300 may be connected to the server 100 through the network 400, and the server 100 provides information and data necessary for performing an AB test capable of managing abnormal symptoms, or , it is possible to receive, store, and manage information and data generated as the server 100 performs an AB test capable of managing abnormal symptoms.
  • the external server 300 may be a storage server separately provided outside the server 100 , but is not limited thereto.
  • a hardware configuration of the server 100 providing an AB test capable of managing abnormal symptoms will be described with reference to FIG. 2 .
  • FIG. 2 is a hardware configuration diagram of an AB test providing server capable of managing abnormal symptoms according to another embodiment of the present invention.
  • the server 100 includes one or more processors 110 , a memory 120 for loading a computer program 151 executed by the processor 110 , and a bus 130 . ), a communication interface 140 and a storage 150 for storing the computer program 151 may be included.
  • processors 110 the server 100 includes one or more processors 110 , a memory 120 for loading a computer program 151 executed by the processor 110 , and a bus 130 .
  • a communication interface 140 and a storage 150 for storing the computer program 151 may be included.
  • FIG. 2 only the components related to the embodiment of the present invention are shown in FIG. 2 . Accordingly, one of ordinary skill in the art to which the present invention pertains can see that other general-purpose components other than those shown in FIG. 2 may be further included.
  • the processor 110 controls the overall operation of each component of the server 100 .
  • the processor 110 includes a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphic processing unit (GPU), or any type of processor well known in the art. can be
  • the processor 110 may perform an operation for at least one application or program for executing the method according to the embodiments of the present invention
  • the server 100 may include one or more processors.
  • the processor 110 temporarily and/or permanently stores a signal (or data) processed inside the processor 110 , a random access memory (RAM) and a read access memory (ROM). -Only Memory, not shown) may be further included.
  • the processor 110 may be implemented in the form of a system on chip (SoC) including at least one of a graphic processing unit, a RAM, and a ROM.
  • SoC system on chip
  • the memory 120 stores various data, commands and/or information.
  • the memory 120 may load the computer program 151 from the storage 150 to execute methods/operations according to various embodiments of the present disclosure.
  • the processor 110 may perform the method/operation by executing one or more instructions constituting the computer program 151 .
  • the memory 120 may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.
  • the bus 130 provides a communication function between the components of the server 100 .
  • the bus 130 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.
  • the communication interface 140 supports wired/wireless Internet communication of the server 100 .
  • the communication interface 140 may support various communication methods other than Internet communication.
  • the communication interface 140 may be configured to include a communication module well known in the art.
  • the communication interface 140 may be omitted.
  • the storage 150 may non-temporarily store the computer program 151 .
  • the storage 150 may store various types of information necessary to perform the AB test.
  • the storage 150 is a non-volatile memory such as a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or well in the art to which the present invention pertains. It may be configured to include any known computer-readable recording medium.
  • ROM read only memory
  • EPROM erasable programmable ROM
  • EEPROM electrically erasable programmable ROM
  • flash memory a hard disk, a removable disk, or well in the art to which the present invention pertains. It may be configured to include any known computer-readable recording medium.
  • the computer program 151 may include one or more instructions that, when loaded into the memory 120 , cause the processor 110 to perform methods/operations according to various embodiments of the present invention. That is, the processor 110 may perform the method/operation according to various embodiments of the present disclosure by executing the one or more instructions.
  • the computer program 151 generates an A/B test for a first service and a second service, and a plurality of users perform the first service through the generated A/B test. or collecting input data generated by using the second service, and deriving a result for the AB test using the collected input data.
  • An AB test providing method capable of managing abnormal symptoms It may include one or more instructions to perform
  • a software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable programmable ROM
  • EEPROM electrically erasable programmable ROM
  • flash memory hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.
  • the components of the present invention may be implemented as a program (or application) to be executed in combination with a computer, which is hardware, and stored in a medium.
  • Components of the present invention may be implemented as software programming or software components, and similarly, embodiments may include various algorithms implemented as data structures, processes, routines, or combinations of other programming constructs, including C, C++ , may be implemented in a programming or scripting language such as Java, assembler, or the like.
  • Functional aspects may be implemented in an algorithm running on one or more processors.
  • an AB test providing method capable of managing abnormal symptoms provided by the server 100 will be described with reference to FIGS. 3 to 6 .
  • FIG. 3 is a flowchart of an AB test providing method capable of managing abnormal symptoms according to another embodiment of the present invention.
  • the server 100 may generate A/B tests for the first service and the second service.
  • the server 100 may be connected to the user terminal 200 (eg, a terminal of a service provider providing the first service and the second service) through the network 400 , and to the user terminal 200 , A UI (eg, FIGS. 8 to 13 ) for generating a non-test can be provided, and information about the AB test (eg, test name, test description, test group, test goal, etc.) can be provided through the UI for creating an AB test ) can be input to generate an AB test for the first service and the second service.
  • the user terminal 200 eg, a terminal of a service provider providing the first service and the second service
  • a UI eg, FIGS. 8 to 13
  • information about the AB test eg, test name, test description, test group, test goal, etc.
  • the server 100 may generate separate AB tests for each of the two or more differentiation points. For example, when the first service and the second service have one design differentiation point and one functional differentiation point, that is, a total of two differentiation points, the server 100 performs an independent A for each of the two differentiation points. Generate a rain test, that is, generate an AB test for a second service to which only the first service and one design differentiation point are applied, and an AB test for a second service to which only the first service and one functional differentiation point are applied can do.
  • the first service includes a first function and a second function
  • the second service includes a third function (eg, a function in which at least a part of the first function is improved) and a fourth function (eg: When at least a part of the second function includes an improved function), the AB test for the first service including the first function and the second function and the second service including the second function and the third function; An AB test for the first service including the first function and the second function and the second service including the first function and the fourth function may be generated.
  • two or more AB tests generated according to two or more differentiation points are performed independently of each other, and the results of each AB test do not mutually affect each other.
  • the server 100 may provide a second service in which each of the two or more differentiation points is individually reflected to be provided to different user groups. You can create non-tests. For example, when the first service and the second service have one design differentiation point and one functional differentiation point, that is, a total of two differentiation points, the server 100 may select one of a plurality of users to provide the AB test. A first service can be provided to 1/3 of the users, a second service to which one design differentiation point is applied can be provided to the other 1/3 users, and one functional differentiation point can be provided to the remaining 1/3 users. The applied second service may be provided.
  • the server 100 can individually calculate the effect of each element by individually verifying each of the plurality of elements for the service in which a plurality of elements are updated compared to the currently distributed version of the service, and , through this, it is possible to assist in flexibly reflecting multiple factors, such as selectively applying only specific factors.
  • the server 100 independently distributes and manages services to which each of a number of new functions are individually applied, so that when a problem occurs in a specific function, only the function in which the problem occurs can be selectively rolled back. There is an advantage.
  • the server 100 may receive an exposure range for the AB test set from a service provider that provides the first service and the second service, and based on the set exposure range, the AB test among a plurality of users You can determine the scope of users to provide.
  • the server 100 is a user terminal 200 (eg, a terminal of a service provider that provides the first service and the second service) to the traffic allocation UI (eg, FIG. 12 ) for setting the weight of traffic as the exposure range. 23) may be provided, and a traffic weight may be input through the traffic allocation UI 23 .
  • traffic allocation may mean setting a ratio of users to be subjected to the AB test among all users. For example, when receiving a traffic weight of 20 from a user, the server 100 may set only 20% of all users as the AB test target.
  • the server 100 may change the exposure range set by the service provider according to the input data collected through step S120 to be described later and the result derived through step S130 to be described later.
  • the server 100 may change the exposure range set by the service provider as the exposure range is reset from the service provider.
  • the changed exposure range may be set to have a larger value than the previously set exposure range. For example, traffic allocation is set to minimize the impact of unexpected bugs or unintended customer experience, and the server 100 determines the bug incidence rate or customer If the influence of the experience is less than the standard, the AB test can be performed for more users by gradually increasing the exposure range set by the service provider.
  • the server 100 may receive a test group distribution ratio from a service provider, and distribute users set as AB test targets according to the test group distribution ratio.
  • the test group distribution may mean distributing users set as AB test targets through traffic allocation into users who will provide the first service and users who will provide the second service.
  • the server 100 receives a traffic weight of 40 from the service provider, only 40% of all users can be set as the AB test target, and the test group distribution ratio from the service provider is set to 5:5
  • the first service may be provided to half of the users set as the AB test target (users of 40% of all users) and the second service may be provided to the other half of the users. That is, if the total number of users is 10,000, 4,000 people (40% of them) are set as the AB test target, and the first service is provided to 2,000 out of 4,000 users, and the second service can be provided from the remaining 2,000 people. have.
  • the server 100 may generate an AB test for the first service and the second service, and may directly designate a user who will provide the first service and a user who will provide the second service.
  • the server 100 is a user terminal 200 (eg, a terminal of a service provider providing the first service and the second service) to the UI for manually allocating the user to be the AB test (eg: 24) of FIG. 13 may be provided, and a group of users who will provide the first service (control group) and a group of users who will provide the second service (experimental group) may be directly set through the UI 24 .
  • the server 100 transmits the first service and the second service for the purpose of collecting input data generated as a plurality of users use the first service or the second service through step S120 to be described later. It can be linked with AB Test and SDK (Software Development Kit) (eg, FIG. 10 ).
  • the server 100 may receive an AB test target for the first service and the second service.
  • the method of receiving the setting of the AB Test target may be implemented in the form of providing a plurality of recommendation targets and receiving a selection of one of the plurality of recommendation targets, as shown in FIG. 11 , but is limited thereto Instead, it can be implemented in the form of receiving the target for the AB test directly from the service provider.
  • the server 100 may collect input data generated when a plurality of users use the first service or the second service through the AB test generated in step S110 . For example, since the AB test and the SDK are interlocked, the server 100 may collect input data using a data collection module inside the SDK.
  • the input data includes the user's behavior (button position, click, button name, etc.), the user's behavior occurrence time, the user's current location, the user's environment (operating system (OS), browser name and version, etc.), language (Korean, English, etc.), time zone (UTC, KST), etc. may mean information about the user, and the server 100 inputs information about the user collected in the form of a message and a unique identifier of the user data can be collected.
  • OS operating system
  • KST time zone
  • the input data is not limited thereto, and the input data includes an AB testing unique number, event information necessary for calculating the testing result (eg, payment success event information necessary to calculate a conversion rate, event information for adding an item to the shopping cart), and event attribute information (eg, payment). At least one of the payment method information upon success, the user's personal information (eg, gender information, age information, etc.) It may include more data for
  • the unique identifier of the user is a unique value used for the purpose of identifying the user, and may be an ID (ID of the user terminal 200 or ID of the user) generated through the SDK, but is limited thereto. doesn't happen
  • the server 100 is an input including information such as OS, language, location, etc. standardized according to a predetermined standard on the AB test providing system capable of managing abnormal symptoms according to various embodiments of the present invention
  • Data can be collected automatically through the SDK. That is, the server 100 does not selectively receive input data in a specific form from a user who uses the first service or the second service, but instead uses the input data generated when the user uses the first service or the second service to the system. It can be automatically collected through the SDK based on a predetermined information standard on the
  • the server 100 may visualize input data collected as a plurality of users use the first service or the second service through the AB test and provide it to the service provider.
  • the server 100 may be connected to the user terminal 200 (eg, a terminal of a service provider that provides the first service and the second service) through the network 400 , and is currently A UI (eg, 30 in FIGS. 14 to 16 ) for outputting information about the ongoing AB test may be provided, and input data collected from a plurality of users may be visualized and provided through the UI 30 .
  • the user terminal 200 eg, a terminal of a service provider that provides the first service and the second service
  • a UI eg, 30 in FIGS. 14 to 16
  • the server 100 displays, through the visualization module, input data collected as a plurality of users use the first service or the second service through the AB test by time. (day, hour, minute), action location by user (event name, page location), action, and number of cases can be classified and visualized and provided to the service provider.
  • time day, hour, minute
  • action location by user event name, page location
  • action, and number of cases can be classified and visualized and provided to the service provider.
  • the input data visualized in FIGS. 14 to 17 is illustrated in the form of a diagram or a graph, but is not limited thereto.
  • the server 100 may group a plurality of users who use the first service or the second service through the AB test according to attributes (eg, group according to first purchase customer, membership subscription, gender, etc.), and service Input data for each of a plurality of grouped users may be visualized and provided according to a request of a provider.
  • attributes eg, group according to first purchase customer, membership subscription, gender, etc.
  • the server 100 may group (eg, group by Window, Mac, Android, IOS) according to the usage environment of a plurality of users who use the first service or the second service through the AB test, and the service provider's Upon request, input data for each of a plurality of grouped users may be visualized and provided.
  • group eg, group by Window, Mac, Android, IOS
  • the visualization data (data that visualizes input data) provided by the server 100 is automatically updated in real time or at a preset period even if a separate request (data update request) is not obtained from the service provider and provided to the service provider can do.
  • the server 100 may receive a request to stop the AB test from a user who uses the first service or the second service, and may stop performing the AB test according to the stop request. For example, when the customer recognizes that a problem occurs while checking the AB test data, the user may request stopping the testing through the user terminal 200 . In this case, the server 100 may stop performing the AB test as soon as it receives a signal about stopping the AB test from the user terminal 200 .
  • the server 100 may temporarily store input data collected in real time for the purpose of minimizing traffic and network usage (Internet usage), and may store the temporarily stored input data every preset period.
  • traffic and network usage Internet usage
  • FIG. 4 is a flowchart illustrating a method of collecting and storing input data according to various embodiments of the present disclosure
  • the server 100 may temporarily store input data generated when a plurality of users use a first service or a second service through an AB test.
  • the server 100 stores a plurality of input data generated when a number of users use the first service or the second service through the AB test in a temporary storage space (eg, web: Local Storage, It can be temporarily stored in Application: File, Server: TempFile.
  • a temporary storage space eg, web: Local Storage, It can be temporarily stored in Application: File, Server: TempFile.
  • the server 100 may check whether a signal is output.
  • the signal is a signal generated through the timer module, and for the purpose of storing input data at regular intervals, the tire module may be a signal repeatedly output at every preset period, but is not limited thereto, and the signal is a preset period It may be implemented in an output form when a specific condition (eg, start and end of use of the first service or the second service) is satisfied regardless of .
  • step S230 when it is determined that the first signal is output through the timer module through step S220 , the server 100 may transmit a plurality of input data temporarily stored in the temporary storage space to the storage space.
  • the transmission module may be called, and a plurality of input data temporarily stored in wired/wireless manner through the transmission module (first A plurality of input data temporarily stored before a signal is output) may be transmitted to the storage space.
  • step S240 the server 100 may determine whether there is input data that has not been transmitted to the storage space among a plurality of temporarily stored input data.
  • step S250 the server 100 may set as a retransmission target at least one input data determined to have not been transmitted to the storage space through step S240 .
  • the server 100 re-performs steps S210 to S230, and as the second signal is output after the first signal is output, it is stored in the temporary storage space from the time when the first signal is output to the time when the second signal is output.
  • the plurality of stored input data is transmitted to the storage space, but when there is at least one input data set as a retransmission target through step S250, at least one input data set as a retransmission target is first transmitted to the storage space, and then the rest Input data can be sequentially transferred to the storage space.
  • the server 100 may temporarily store a plurality of first input data generated when the first user uses the first service or the second service, and use the temporarily stored plurality of first input data to It may be detected that the first user terminates the service being used, and in response to the first user ending the service being used, an end signal for the first user is output, and based on the output end signal, a plurality of temporarily stored may transmit the first input data of the to the storage space.
  • the server 100 transfers the temporarily stored input data to the storage space based on the signal output at each preset period (steps S210 to S250) to the storage space among the plurality of temporarily stored first input data. At least one piece of first input data that has not been transmitted may be set as a retransmission target.
  • input data that has not been previously transmitted can be transmitted to the storage space when the next signal is output, but when the user ends the use of the service
  • input data that is not transmitted according to the signal output according to the signal the next signal is not output (because the service is terminated), so it cannot be transmitted to the storage space and remains temporarily stored in the temporary storage space.
  • the server 100 determines the input data based on the signal output when the user starts using the service again.
  • the operation of transferring to the storage space can be performed with the highest priority.
  • the server 100 may derive a result of the AB test using the input data (input data stored in the storage space) collected through step S120 .
  • the server 100 may calculate a first conversion rate for the first service and a second conversion rate for the second service as an AB test result for the first service and the second service.
  • a first conversion rate for the first service and a second conversion rate for the second service as an AB test result for the first service and the second service.
  • FIG. 5 is a flowchart illustrating a method of deriving a result for an AB test according to various embodiments of the present disclosure
  • step S310 the server 100 as an AB test result for the first service and the second service, by using input data collected from users who use the first service, The first conversion rate may be calculated, and the second conversion rate for the second service may be calculated using input data collected from users who use the second service.
  • the conversion rate may mean a rate at which users take an action actually intended by the service.
  • the conversion rate may mean a click-through rate or a purchase conversion rate.
  • the server 100 may calculate, as a conversion rate, a ratio of users who actually perform an action intended by the service to the total number of users who provided the first service or the second service. For example, the server 100 provides the online advertisement as a banner advertisement at the bottom of the screen to 100 users. When two users click the online advertisement, the conversion rate may be calculated as 2%. In addition, the server 100 posted a main product through the top of the screen to 100 users who have accessed online shopping. When one user purchases it, the conversion rate may be calculated as 1%.
  • step S320 the server 100 may determine whether a difference value between the first conversion rate and the second conversion rate calculated through step S310 exceeds a preset reference value.
  • step S330 if the server 100 determines that the difference between the first conversion rate and the second conversion rate exceeds the preset reference value through step S320, that is, the difference between the first conversion rate and the second conversion rate is a certain level. If it is determined that it is exceeded, it is determined that there is an abnormal symptom of the second service, and thus the rollback of the second service may be performed regardless of the end of the AB test.
  • the server 100 may roll back the second service regardless of the end of the AB test.
  • the first conversion rate for the first service is 90%, but the second conversion rate for the second service falls below 50%, so that the difference between the first conversion rate and the second conversion rate is a preset reference value ( 20%) If there is a difference of more than 20%, it is judged that the second service with improved functions and design compared to the first service is not appropriate. 1 service can be provided.
  • the server 100 is described as performing rollback by comparing the first conversion rate for the first service and the second conversion rate for the second service, but is not limited thereto.
  • An abnormality in which the conversion rate falls below a threshold eg, less than 70%
  • a threshold eg, less than 70%
  • the server 100 may determine whether the AB test has ended. For example, in the process of generating the corresponding AB test, the server 100 may determine whether the AB test has ended according to whether a preset test period has expired, but is not limited thereto.
  • step S350 when it is determined that the AB test is finished, the server 100 may provide the AB test result to the service provider.
  • the server 100 may be connected to the user terminal 200 (eg, a terminal of a service provider providing the first service and the second service) through the network 400 , and to the user terminal 200 , A UI (eg, 40 in FIG. 15 ) for outputting the results of the rain test may be provided.
  • the user terminal 200 eg, a terminal of a service provider providing the first service and the second service
  • a UI eg, 40 in FIG. 15
  • the server 100 may provide an image of the result of the AB test.
  • the server 100 may visualize and image the results of the AB test using various graph formats or animation formats to provide them.
  • the server 100 may provide a graphic image in which key matters among the results of the AB test are highlighted.
  • the server 100 may provide any one of the first service and the second service to a plurality of users based on the first conversion rate calculated for the first service and the second conversion rate calculated for the second service. can only provide services of For example, the server 100 provides the first service to 50% of the users accessing during the period of performing the AB test and provides the second service to the remaining 50%. As a result, the first service When the first conversion rate for the AB test is 1% and the second conversion rate for the second service is 3%, the second service may be provided to all users after the AB test is finished.
  • the server 100 may detect an abnormal symptom for the first service or the second service using log data collected from terminals of a plurality of users in the process of performing the AB test, and the detected Treatment for abnormal symptoms can be performed.
  • an abnormal symptom for the first service or the second service using log data collected from terminals of a plurality of users in the process of performing the AB test, and the detected Treatment for abnormal symptoms can be performed.
  • FIG. 6 is a flowchart illustrating a method of detecting and processing an abnormal symptom for an AB test, according to various embodiments.
  • the server 100 may collect log data from the plurality of user terminals 200 .
  • the server 100 may generate log data (eg, error log data) generated from the plurality of user terminals 200 through the SDK. , app crash log data, etc.) may be automatically collected together with information about each of the plurality of user terminals 200 .
  • the server 100 is described as collecting log data to determine abnormal symptoms, but is not limited thereto, and the data collected from the plurality of user terminals 200 includes not only log data but also messages (eg, pop-up messages). ) may be further included.
  • the server 100 may visualize log data and messages collected from a plurality of user terminals in real time and provide it to the service provider, through which the service provider may combine various conditions to check You can check information about log data and messages.
  • the server 100 may search only messages and log data including the specific search word and provide the searched message to the service provider.
  • the server 100 may select and provide only log data and messages generated from the specific user terminal 200 as the specific user terminal 200 is selected from the service provider.
  • the server 100 sorts and groups log data and messages collected from a plurality of user terminals 200 based on the information on the user terminal 200 and provides them, so that the user terminal 200 with a certain attribute It can provide information about whether a lot of log data and messages are occurring.
  • step S420 the server 100 based on the log data (error log, app crash log) and message (pop-up message) collected through step S410 and a preset rule (eg, abnormal symptom determination rule), the first service
  • a preset rule eg, abnormal symptom determination rule
  • an abnormal symptom for the second service may be determined. For example, for the first service or the second service, when the number of occurrences of log data and messages within a unit period (eg, X minutes) is equal to or greater than the reference number (eg, Y), the first service or It may be determined that an abnormal symptom for the second service has occurred.
  • the server 100 may train an artificial intelligence model according to a machine learning-based learning method by using a plurality of log data and messages and abnormal symptom occurrence history data as learning data, and Using this, by analyzing the log data (error log, app crash log) and message (pop-up message) collected through step S410, it is possible to determine an abnormal symptom for the first service or the second service.
  • step S430 when it is determined that an abnormal symptom for the first service or the second service has occurred through step S420, the server 100 performs processing on the abnormal symptom according to the pre-set action rule for each abnormal symptom.
  • the server 100 may provide information on the detected abnormal symptom.
  • the server 100 may provide information on the abnormal symptom to the service provider using means such as SMS, e-mail, or a chatting application. .
  • the server 100 may perform a rollback on the first service or the second service in which the abnormal symptom occurs.
  • the server 100 when the server 100 detects an abnormal symptom for the first service or the second service, the server 100 blocks traffic to the user terminal 200 using the first service or the second service in which the abnormal symptom occurs.
  • the server 100 can detect an abnormal symptom for the first service or the second service by using information (log data, messages) collected from the plurality of user terminals 200 and follow the pre-set action rule. Accordingly, by performing a quicker response to anomalies, there is an advantage that the system can be quickly normalized by correcting an error for the first service or the second service or automatically rolling back.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Game Theory and Decision Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Educational Administration (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

이상징후 관리가 가능한 에이비 테스트 제공방법, 서버 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 이상징후 관리가 가능한 에이비 테스트 제공방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 제1 서비스와 제2 서비스에 대한 에이비 테스트(A/B Test)를 생성하는 단계, 복수의 사용자가 상기 생성된 에이비 테스트를 통해 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 수집하는 단계 및 상기 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과를 도출하는 단계를 포함한다.

Description

이상징후 관리가 가능한 에이비 테스트 제공방법, 서버 및 컴퓨터프로그램
본 발명의 다양한 실시예는 이상징후 관리가 가능한 에이비 테스트 제공방법, 서버 및 컴퓨터프로그램에 관한 것이다.
에이비 테스트(A/B test)는 기존의 버전(A)과 새로운 버전(B, C 등)을 비교하여 어떤 버전이 더 좋은 성과를 내는지 판단하는 방법이다.
여기서, 좋은 성과는, 클릭률이나 구매전환율 등 기업이 알고자 하는 비즈니스 성과 지표를 기준으로 한다. 이러한 에이비 테스트는 웹페이지의 디자인 변경이나 상품 배치 변경, 소프트웨어 로직 변경 등 다양한 분야에서 사용될 수 있다.
에이비 테스트는, 두개의 버전으로 나뉘어 테스트가 진행되는 동안, 사용자의 행동에 영향을 미칠 수 있는 하나의 변형을 제외하고 나머지 조건은 동일하게 유지함으로써 기업이 분석하고자 하는 특정 변경사항의 영향력을 데이터로 파악할 수 있다. 기업들은 에이비 테스트 결과를 통해, 비지니스 성장을 위한 최적의안을 파악하고 데이터를 바탕으로 의사결정을 할 수 있게 된다.
종래의 에이비 테스트는 에이비 테스트 과정을 관리하거나 에이비 테스트 중 발생되는 이상징후를 관리하지 않고, 결과값을 도출하였다. 이러한 경우, 새로운 버전 적용에 위험이 노출되는 상황에서도 에이비 테스트가 종료될 때까지 위험이 노출된 상태로 유지해야 하는 문제가 있었다.
본 발명이 해결하고자 하는 과제는 제1 버전(현재 배포된 버전)의 제1 서비스와 제2 버전(개선된 버전)의 제2 서비스 간의 에이비 테스트(A/B Test)를 제공함으로써, 기업들이 비지니스 성과에 미치는 영향을 쉽고, 빠르고, 정확하게 파악할 수 있도록 할 뿐만 아니라, 이상징후 감지 및 대응을 통해 에이비 테스트 진행 과정에서 발생될 수 있는 리스크를 관리함으로써, 보다 안전한 에이비 테스트를 수행할 수 있는 이상징후 관리가 가능한 에이비 테스트 제공방법, 서버 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 이상징후 관리가 가능한 에이비 테스트 제공방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 제1 서비스와 제2 서비스에 대한 에이비 테스트(A/B Test)를 생성하는 단계, 복수의 사용자가 상기 생성된 에이비 테스트를 통해 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 수집하는 단계 및 상기 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과를 도출하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 에이비 테스트를 생성하는 단계는, 상기 제1 서비스 및 상기 제2 서비스 사이에 둘 이상의 차별화 포인트가 있는 경우, 상기 둘 이상의 차별화 포인트 각각에 대하여 개별적인 에이비 테스트를 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 에이비 테스트를 생성하는 단계는, 상기 제1 서비스 및 상기 제2 서비스를 제공하는 서비스 제공자로부터 상기 생성된 에이비 테스트에 대한 노출범위를 설정받는 단계 및 상기 설정된 노출범위에 기초하여, 상기 복수의 사용자 중 상기 생성된 에이비 테스트를 제공할 사용자의 범위를 결정하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 생성된 에이비 테스트를 제공할 사용자의 범위를 결정하는 단계는, 상기 수집된 인풋 데이터 및 상기 도출된 결과에 따라 상기 설정된 노출범위를 변경하거나 또는 상기 서비스 제공자로부터 노출범위를 재설정받음에 따라 상기 설정된 노출범위를 변경하되, 상기 변경된 노출범위의 크기는 상기 설정된 노출범위보다 큰 값을 가지는 것인, 단계를 포함할 수 있다.
다양한 실시예에서, 상기 에이비 테스트를 생성하는 단계는, SDK(Software development kit)와 연동하여 구현된 상기 제1 서비스 및 상기 제2 서비스에 대한 에이비 테스트를 생성하는 단계를 포함하고, 상기 인풋 데이터를 수집하는 단계는, 상기 SDK를 통해, 상기 제1 서비스 또는 상기 제2 서비스를 이용하는 상기 복수의 사용자에 관한 정보 및 상기 복수의 사용자 각각에 대한 고유 식별자를 상기 인풋 데이터로서 수집하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 인풋 데이터를 수집하는 단계는, 상기 복수의 사용자가 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 복수의 인풋 데이터를 임시 저장 공간에 임시 저장하는 단계 및 기 설정된 주기마다 상기 임시 저장된 복수의 인풋 데이터를 저장 공간으로 전송하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 임시 저장된 복수의 인풋 데이터를 저장 공간으로 전송하는 단계는, 제1 신호가 출력됨에 따라 상기 제1 신호가 출력되기 이전에 상기 임시 저장된 복수의 인풋 데이터를 상기 저장 공간으로 전송하되, 상기 임시 저장된 복수의 인풋 데이터 중 상기 저장 공간으로 전송되지 못한 적어도 하나의 인풋 데이터를 재전송 대상으로 설정하는 단계 및 상기 제1 신호가 출력된 후 제2 신호가 출력됨에 따라 상기 제1 신호가 출력된 시점부터 상기 제2 신호가 출력된 시점까지 상기 임시 저장 공간에 저장된 복수의 인풋 데이터를 상기 저장 공간으로 전송하되, 상기 재전송 대상으로 설정된 적어도 하나의 인풋 데이터를 우선적으로 전송하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 임시 저장 공간에 임시 저장하는 단계는, 제1 사용자가 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 복수의 제1 인풋 데이터를 임시 저장하는 단계를 포함하며, 상기 임시 저장된 복수의 인풋 데이터를 저장 공간으로 전송하는 단계는, 상기 임시 저장된 복수의 제1 인풋 데이터를 이용하여, 상기 제1 사용자가 이용 중인 서비스를 종료하는 것을 감지하는 단계 및 상기 제1 사용자가 이용 중인 서비스를 종료하는 것에 응답하여 상기 제1 사용자에 대한 종료 신호를 출력하고, 상기 출력된 종료 신호에 기초하여 상기 임시 저장된 복수의 제1 인풋 데이터를 상기 저장 공간으로 전송하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 임시 저장된 하나 이상의 제1 인풋 데이터를 상기 저장 공간으로 전송하는 단계는, 상기 임시 저장된 복수의 제1 인풋 데이터 중 상기 저장 공간으로 전송되지 못한 적어도 하나의 제1 인풋 데이터를 재전송 대상으로 설정하는 단계 및 상기 제1 사용자가 상기 제1 서비스 또는 상기 제2 서비스를 개시함에 따라 상기 재설정 대상으로 설정된 적어도 하나의 제1 인풋 데이터를 상기 저장 공간으로 전송하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 에이비 테스트에 대한 결과를 도출하는 단계는, 상기 제1 서비스를 이용하는 사용자들로부터 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과로서 상기 제1 서비스에 대한 제1 전환율을 산출하고, 상기 제2 서비스를 이용하는 사용자들로부터 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과로서 상기 제2 서비스에 대한 제2 전환율을 산출하는 단계 및 상기 산출된 제1 전환율 및 상기 산출된 제2 전환율에 기초하여, 상기 복수의 사용자에게 상기 제1 서비스 및 상기 제2 서비스 중 어느 하나의 서비스만을 제공하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 제1 서비스 및 상기 제2 서비스 중 어느 하나의 서비스만을 제공하는 단계는, 상기 에이비 테스트가 종료되는 경우, 상기 산출된 제1 전환율 및 상기 산출된 제2 전환율을 비교하여 상기 제1 서비스 및 상기 제2 서비스 중 어느 하나의 서비스만을 제공하되, 상기 산출된 제1 전환율과 상기 산출된 제2 전환율의 차이가 기 설정된 값을 초과하는 경우 상기 에이비 테스트가 종료와 관계없이 상기 제2 서비스에 대한 롤백(Roll back)을 수행하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 복수의 사용자의 단말로부터 수집되는 로그 데이터를 이용하여 상기 제1 서비스 또는 상기 제2 서비스에 대한 이상징후를 감지하는 단계 및 상기 제1 서비스 또는 상기 제2 서비스에 대한 이상징후를 감지되는 경우, 기 설정된 룰에 따라 상기 감지된 이상징후에 대한 정보를 제공하거나, 상기 이상징후가 감지된 제1 서비스 또는 제2 서비스에 대한 롤백을 수행하거나 또는 상기 이상징후가 감지된 제1 서비스 또는 제2 서비스를 이용하는 사용자의 단말에 대한 트래픽을 차단하는 단계를 더 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 이상징후 관리가 가능한 에이비 테스트 제공서버는, 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load)되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 제1 서비스와 제2 서비스에 대한 에이비 테스트(A/B Test)를 생성하는 인스트럭션(instruction), 복수의 사용자가 상기 생성된 에이비 테스트를 통해 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 수집하는 인스트럭션 및 상기 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과를 도출하는 인스트럭션을 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터프로그램은, 컴퓨팅 장치와 결합되어, 제1 서비스와 제2 서비스에 대한 에이비 테스트(A/B Test)를 생성하는 단계, 복수의 사용자가 상기 생성된 에이비 테스트를 통해 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 수집하는 단계 및 상기 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과를 도출하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예에 따르면, 제1 버전(현재 배포된 버전)의 제1 서비스와 제2 버전(개선된 버전)의 제2 서비스 간의 에이비 테스트(A/B Test)를 제공함으로써, 기업들이 비지니스 성과에 미치는 영향을 쉽고, 빠르고, 정확하게 파악할 수 있도록 할 뿐만 아니라, 이상징후 감지 및 대응을 통해 에이비 테스트 진행 과정에서 발생될 수 있는 리스크를 관리함으로써, 보다 안전한 에이비 테스트를 수행할 수 있다는 이점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 이상징후 관리가 가능한 에이비 테스트 제공시스템을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 이상징후 관리가 가능한 에이비 테스트 제공서버의 하드웨어 구성도이다.
도 3은 본 발명의 또 다른 실시예에 따른 이상징후 관리가 가능한 에이비 테스트 제공방법의 순서도이다.
도 4는 다양한 실시예에서, 인풋 데이터를 수집 및 저장하는 방법을 설명하기 위한 순서도이다.
도 5는 다양한 실시예에서, 에이비 테스트에 대한 결과를 도출하는 방법을 설명하기 위한 순서도이다.
도 6은 다양한 실시예에서, 에이비 테스트에 대한 이상징후를 감지 및 처리 방법을 설명하기 위한 순서도이다.
도 7은 다양한 실시예에서, 이상징후 관리가 가능한 에이비 테스트 제공서버가 제공하는 에이비 테스트 대시보드 사용자 인터페이스(User Interface, UI)를 예시적으로 도시한 도면이다.
도 8은 내지 13은 다양한 실시예에서, 이상징후 관리가 가능한 에이비 테스트 제공서버가 제공하는 에이비 테스트 생성을 위한 UI를 예시적으로 도시한 도면이다.
도 14 내지 16은 다양한 실시예에서, 이상징후 관리가 가능한 에이비 테스트 제공서버가 제공하는 현재 진행 중인 에이비 테스트에 대한 정보를 출력하는 UI를 예시적으로 도시한 도면이다.
도 17은 다양한 실시예에서, 이상징후 관리가 가능한 에이비 테스트 제공서버가 제공하는 에이비 테스트에 대한 결과를 출력하는 UI를 예시적으로 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 이상징후 관리가 가능한 에이비 테스트 제공시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 이상징후 관리가 가능한 에이비 테스트 제공시스템은 에이비 테스트 제공서버(100)(이하, '서버(100)'), 사용자 단말(200), 외부 서버(300) 및 네트워크(400)를 포함할 수 있다.
여기서, 도 1에 도시된 이상징후 관리가 가능한 에이비 테스트 제공시스템은 일 실시예에 따른 것이고, 그 구성 요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.
일 실시예에서, 서버(100)는 둘 이상의 서비스에 대한 에이비 테스트를 생성할 수 있고, 생성된 에이비 테스트를 이용하여 제1 서비스와 제2 서비스를 비교함으로써, 신규 기능에 대한 효과 검증, 불확실성 확인 및 발생 가능한 이슈 체크를 수행할 수 있다. 예를 들어, 서버(100)는 제1 서비스와 제2 서비스에 대한 에이비 테스트를 생성하여, 서로 다른 사용자에게 제공할 수 있고, 사용자들로부터 수집되는 인풋 데이터를 분석하여 에이스 테스트에 대한 결과를 도출할 수 있다.
여기서, 제1 서비스 및 제2 서비스는 동일한 서비스의 서로 다른 버전을 의미할 수 있다. 예를 들어, 제1 서비스는 현재 배포된 서비스를 의미할 수 있고, 제2 서비스는 제1 서비스에 신규 기능이 추가된 서비스, 제1 서비스의 일부 기능이 삭제 또는 변경된 서비스를 의미할 수 있으나 이에 한정되지 않는다.
다양한 실시예에서, 서버(100)가 제공하는 이상징후 관리가 가능한 에이비 테스트는 웹(Web) 또는 애플리케이션(Application) 형태로 구현되어 제공될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 서버(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결될 수 있으며, 사용자 단말(200)로 제1 서비스 및 제2 서비스의 에이비 테스트 수행 및 에이비 테스트에 대한 결과를 제공하기 위한 사용자 인터페이스(User Interface, UI)(예: 도 7 내지 15)를 제공할 수 있다.
여기서, 사용자 단말(200)은 제1 서비스 및 제2 서비스를 이용하는 사용자들의 단말 또는 제1 서비스 또는 제2 서비스를 제공하는 서비스 제공자의 단말을 의미할 수 있으며, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 여기서, 네트워크(400)는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다. 예를 들어, 네트워크(400)는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함할 수 있다.
또한, 여기서, 무선 데이터 통신망은 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 서버(100)와 연결될 수 있으며, 서버(100)가 이상징후 관리가 가능한 에이비 테스트를 수행함에 있어서 필요한 정보 및 데이터를 제공하거나, 서버(100)가 이상징후 관리가 가능한 에이비 테스트를 수행함에 따라 생성되는 정보 및 데이터를 제공받아 저장 및 관리할 수 있다.
다양한 실시예에서, 외부 서버(300)는 서버(100)의 외부에 별도로 구비되는 저장 서버일 수 있으나, 이에 한정되지 않는다. 이하, 도 2를 참조하여 이상징후 관리가 가능한 에이비 테스트를 제공하는 서버(100)의 하드웨어 구성에 대해 설명하도록 한다.
도 2는 본 발명의 다른 실시예에 따른 이상징후 관리가 가능한 에이비 테스트 제공서버의 하드웨어 구성도이다.
도 2를 참조하면, 다양한 실시예에서, 서버(100)는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램(151)을 로드(Load)하는 메모리(120), 버스(130), 통신 인터페이스(140) 및 컴퓨터 프로그램(151)을 저장하는 스토리지(150)를 포함할 수 있다. 여기서, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(110)는 서버(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.
또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있으며, 서버(100)는 하나 이상의 프로세서를 구비할 수 있다.
다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 발명의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(150)로부터 컴퓨터 프로그램(151)을 로드할 수 있다. 메모리(120)에 컴퓨터 프로그램(151)이 로드되면, 프로세서(110)는 컴퓨터 프로그램(151)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써 상기 방법/동작을 수행할 수 있다. 메모리(120)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
버스(130)는 서버(100)의 구성 요소 간 통신 기능을 제공한다. 버스(130)는 주소 버스(address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(140)는 서버(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(140)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(140)는 생략될 수도 있다.
스토리지(150)는 컴퓨터 프로그램(151)을 비 임시적으로 저장할 수 있다. 서버(100)를 에이비 테스트를 수행하는 경우, 스토리지(150)는 에이비 테스트의를 수행하기 위하여 필요한 각종 정보를 저장할 수 있다.
스토리지(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(151)은 메모리(120)에 로드될 때 프로세서(110)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 상기 방법/동작을 수행할 수 있다.
일 실시예에서, 컴퓨터 프로그램(151)은 제1 서비스와 제2 서비스에 대한 에이비 테스트(A/B Test)를 생성하는 단계, 복수의 사용자가 상기 생성된 에이비 테스트를 통해 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 수집하는 단계 및 상기 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과를 도출하는 단계를 포함하는 이상징후 관리가 가능한 에이비 테스트 제공방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 이하, 도 3내지 6을 참조하여, 서버(100)가 제공하는 이상징후 관리가 가능한 에이비 테스트 제공방법에 대하여 설명하도록 한다.
도 3은 본 발명의 또 다른 실시예에 따른 이상징후 관리가 가능한 에이비 테스트 제공방법의 순서도이다.
도 3을 참조하면, S110 단계에서, 서버(100)는 제1 서비스와 제2 서비스에 대한 에이비 테스트(A/B Test)를 생성할 수 있다. 예를 들어, 서버(100)는 네트워크(400)를 통해 사용자 단말(200)(예: 제1 서비스 및 제2 서비스를 제공하는 서비스 제공자의 단말)과 연결될 수 있고, 사용자 단말(200)로 에이비 테스트 생성을 위한 UI(예: 도 8 내지 13)를 제공할 수 있고, 에이비 테스트 생성을 위한 UI를 통해 에이비 테스트에 대한 정보(예: 테스트 이름, 테스트 설명, 테스트 그룹, 테스트 목표 등)를 입력받아 제1 서비스와 제2 서비스에 대한 에이비 테스트를 생성할 수 있다.
다양한 실시예에서, 서버(100)는 제1 서비스 및 제2 서비스 사이에 둘 이상의 차별화 포인트가 있는 경우, 둘 이상의 차별화 포인트 각각에 대하여 개별적인 에이비 테스트를 생성할 수 있다. 예를 들어, 서버(100)는 제1 서비스와 제2 서비스가 하나의 디자인적 차별화 포인트와 하나의 기능적 차별화 포인트 즉, 총 2개의 차별화 포인트를 가지는 경우, 2개의 차별화 포인트 각각에 대하여 독립적인 에이비 테스트를 생성 즉, 제1 서비스와 하나의 디자인적 차별화 포인트만이 적용된 제2 서비스에 대한 에이비 테스트 및 제1 서비스와 하나의 기능적 차별화 포인트만이 적용된 제2 서비스에 대한 에이비 테스트를 생성할 수 있다.
또한, 서버(100)는 제1 서비스가 제1 기능 및 제2 기능을 포함하고, 제2 서비스가 제3 기능(예: 제1 기능의 적어도 일부분이 개선된 기능) 및 제4 기능(예: 제2 기능의 적어도 일부분이 개선된 기능)을 포함하는 경우, 제1 기능 및 제2 기능을 포함하는 제1 서비스와 제2 기능 및 제3 기능을 포함하는 제2 서비스에 대한 에이비 테스트, 제1 기능 및 제2 기능을 포함하는 제1 서비스와 제1 기능 및 제4 기능을 포함하는 제2 서비스에 대한 에이비 테스트를 생성할 수 있다. 이때, 둘 이상의 차별화 포인트에 따라 생성된 둘 이상의 에이비 테스트는 상호 독립적으로 수행되며, 각각의 에이비 테스트에 대한 결과는 상호 영향을 미치지 않는다.
다양한 실시예에서, 서버(100)는 제1 서비스 및 제2 서비스 사이에 둘 이상의 차별화 포인트가 있는 경우, 둘 이상의 차별화 포인트 각각이 개별적으로 반영된 제2 서비스가 서로 다른 사용자 그룹에 제공될 수 있도록 에이비 테스트를 생성할 수 있다. 예를 들어, 서버(100)는 제1 서비스와 제2 서비스가 하나의 디자인적 차별화 포인트와 하나의 기능적 차별화 포인트 즉, 총 2개의 차별화 포인트를 가지는 경우, 에이비 테스트를 제공할 복수의 사용자 중 1/3의 사용자에게 제1 서비스를 제공하고, 다른 1/3의 사용자에게 하나의 디자인적 차별화 포인트가 적용된 제2 서비스를 제공할 수 있으며, 나머지 1/3의 사용자에게 하나의 기능적 차별화 포인트가 적용된 제2 서비스를 제공할 수 있다.
즉, 서버(100)는 현재 배포된 버전의 서비스 대비 다수의 요소가 업데이트된 서비스에 대하여, 다수의 요소 각각에 대한 검증을 개별적으로 수행함으로써, 각각의 요소에 대한 효과를 개별적으로 산출할 수 있고, 이를 통해 특정 요소만을 선택적으로 적용하는 등 다수의 요소를 유동적으로 반영할 수 있도록 보조할 수 있다.
일반적으로, 서비스의 다수의 신규 기능을 배포하는 경우 대부분 다수의 신규 기능이 모두 적용된 서비스를 한 번에 배포하게 되는데, 이러한 방식으로 배포하게 되면 다수의 신규 기능 중 특정 기능 하나에 문제가 발생하더라도 나머지 신규 기능들까지 모두 원상태로 롤백해야만 시스템을 정상화시킬 수 있다는 문제가 있다. 이러한 점을 고려하여, 서버(100)는 다수의 신규 기능 각각이 개별적으로 적용된 서비스를 독립적으로 배포하고 관리함으로써, 특정 기능에 문제가 발생될 경우 문제가 발생된 기능만을 선택적으로 롤백할 수 있도록 한다는 이점이 있다.
다양한 실시예에서, 서버(100)는 제1 서비스 및 상기 제2 서비스를 제공하는 서비스 제공자로부터 에이비 테스트에 대한 노출범위를 설정받을 수 있고, 설정된 노출범위에 기초하여 복수의 사용자 중 에이비 테스트를 제공할 사용자의 범위를 결정할 수 있다. 예를 들어, 서버(100)는 사용자 단말(200)(예: 제1 서비스 및 제2 서비스를 제공하는 서비스 제공자의 단말)로 노출범위로서 트래픽 비중을 설정하기 위한 트래픽 할당 UI(예: 도 12의 23)를 제공할 수 있고, 트래픽 할당 UI(23)를 통해 트래픽 비중을 입력받을 수 있다.
여기서, 트래픽 할당(Traffic Allocation)은 예상치 못한 버그나 의도하지 않은 고객경험의 영향도를 최소화하기 위하여, 전체 사용자 중 에이비 테스트의 대상이 될 사용자의 비율을 설정하는 것을 의미할 수 있다. 예를 들어, 서버(100)는 사용자로부터 20의 트래픽 비중을 입력받는 경우, 전체 사용자 중 20% 사용자만을 에이비 테스트 대상으로 설정할 수 있다.
다양한 실시예에서, 서버(100)는 후술되는 S120 단계를 거쳐 수집된 인풋 데이터 및 후술되는 S130 단계를 거쳐 도출된 결과에 따라 서비스 제공자로부터 설정된 노출범위를 변경할 수 있다. 또한, 서버(100)는 서비스 제공자로부터 노출범위를 재설정받음에 따라 서비스 제공자로부터 설정된 노출범위를 변경할 수 있다. 이때, 변경되는 노출범위는 이전에 설정된 노출범위 대비 큰 값을 가지도록 설정될 수 있다. 예를 들어, 트래픽 할당은 예상치 못한 버그나 의도하지 않은 고객경험의 영향도를 최소화하기 위하여 설정되는 것인 바, 서버(100)는 인풋 데이터 및 에이비 테스트에 대한 결과에 기초하여 버그 발생률 또는 고객경험의 영향도가 기준 미만인 경우 서비스 제공자로부터 설정된 노출범위를 점진적으로 증가시켜 더욱 많은 사용자들을 대상으로 에이비 테스트가 수행될 수 있도록 한다.
다양한 실시예에서, 서버(100)는 서비스 제공자로부터 테스트 그룹 분배 비율을 입력받을 수 있고, 테스트 그룹 분배 비율에 따라 에이비 테스트 대상으로 설정된 사용자들을 분배할 수 있다.
여기서, 테스트 그룹 분배(Variation Distribution)은 트래픽 할당을 통해 에이비 테스트 대상으로 설정된 사용자들을 제1 서비스를 제공할 사용자와 제2 서비스를 제공할 사용자로 분배하는 것을 의미할 수 있다. 예를 들어, 서버(100)는 서비스 제공자로부터 40의 트래픽 비중을 입력받는 경우 전체 사용자 중 40%의 사용자만을 에이비 테스트 대상으로 설정할 수 있고, 서비스 제공자로부터 테스트 그룹 분배 비율을 5:5로 설정받는 경우, 에이비 테스트 대상으로 설정된 사용자(전체 사용자 중 40%의 사용자) 중 절반의 사용자에게 제1 서비스를 제공하고 나머지 절반의 사용자에게 제2 서비스를 제공할 수 있다. 즉, 전체 사용자가 1만명인 경우, 이중 40%인 4천명을 에이비 테스트 대상으로 설정하고, 4천명의 사용자 중 2천명에게 제1 서비스를 제공하며 나머지 2천명에서 제2 서비스를 제공할 수 있다.
다양한 실시예에서, 서버(100)는 제1 서비스와 제2 서비스에 대한 에이비 테스트를 생성하되, 제1 서비스를 제공할 사용자 및 제2 서비스를 제공할 사용자를 직접 지정할 수 있다. 예를 들어, 서버(100)는 사용자 단말(200)(예: 제1 서비스 및 제2 서비스를 제공하는 서비스 제공자의 단말)로 에이비 테스트 대상이 되는 사용자를 수동으로 할당하기 위한 UI(예: 도 13의 24)를 제공할 수 있고, UI(24)를 통해, 제1 서비스를 제공할 사용자의 그룹(대조군)과 제2 서비스를 제공할 사용자의 그룹(실험군)을 직접 설정받을 수 있다.
다양한 실시예에서, 서버(100)는 후술되는 S120 단계를 거쳐 복수의 사용자가 제1 서비스 또는 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 수집하기 위한 목적으로, 제1 서비스 및 제2 서비스에 대한 에이비 테스트와 SDK(Software development kit)와 연동할 수 있다(예: 도 10).
다양한 실시예에서, 서버(100)는 제1 서비스 및 제2 서비스에 대한 에이비 테스트의 목표를 설정받을 수 있다. 예를 들어, 에이비 테스트의 목표를 설정받는 방식은 도 11에 도시된 바와 같이, 복수의 추천 목표를 제공하고 복수의 추천 목표 중 어느 하나의 목표를 선택받는 형태로 구현될 수 있으나, 이에 한정되지 않고, 서비스 제공자로부터 직접 에이비 테스트에 대한 목표를 입력받는 형태로 구현될 수 있다.
S120 단계에서, 서버(100)는 복수의 사용자가 S110 단계를 거쳐 생성된 에이비 테스트를 통해 제1 서비스 또는 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 수집할 수 있다. 예를 들어, 서버(100)는 에이비 테스트와 SDK가 연동되어 있는 바, SDK 내부의 데이터 수집 모듈을 이용하여 인풋 데이터를 수집할 수 있다.
여기서, 인풋 데이터는 사용자의 행동(버튼위치, 클릭, 버튼명 등), 사용자의 행동 발생 시간, 사용자의 현재 위치, 사용자의 환경(운영체제(OS), 브라우저(Browser) 이름 및 버전 등), 언어(한국어, 영어 등), Time zone(UTC, KST) 등을 포함하는 사용자에 관한 정보를 의미할 수 있으며, 서버(100)는 메시지 형태로 수집되는 사용자에 관한 정보와 해당 사용자의 고유 식별자를 인풋 데이터로서 수집할 수 있다.
그러나, 이에 한정되지 않고, 인풋 데이터는 에이비 테스팅 고유 번호, 테스팅 결과 산출에 필요한 이벤트 정보(예: 전환율 산출에 필요한 결제 성공 이벤트 정보, 장바구니에 물건 담기 이벤트 정보), 이벤트 속성 정보(예: 결제 성공시의 결제 수단 정보, 사용자의 개인 정보(예를 들면, 성별 정보, 나이 정보) 등), 에이비 테스팅 대상에 대한 정보(예: 웹페이지를 구성하는 요소에 대한 정보) 중 적어도 어느 하나에 대한 데이터를 더 포함할 수 있다.
또한, 여기서, 사용자의 고유 식별자는 사용자를 식별하는 용도로 사용되는 유일 값(Unique value)로서, SDK를 통해 생성되는 ID(사용자 단말(200)의 ID 또는 사용자의 ID)일 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 서버(100)는 본 발명의 다양한 실시예에 따른 이상징후 관리가 가능한 에이비 테스트 제공시스템 상에 사전에 정해진 규격에 따라 규격화된 OS, 언어, 위치 등의 정보를 포함하는 인풋 데이터를 SDK를 통해 자동적으로 수집할 수 있다. 즉, 서버(100)는 제1 서비스 또는 제2 서비스를 이용하는 사용자로부터 특정 형태의 인풋 데이터를 선택적으로 제공받는 것이 아니라, 사용자가 제1 서비스 또는 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 시스템 상에서 사전에 정해진 정보 규격에 기초하여 SDK를 통해 자동으로 수집할 수 있다.
다양한 실시예에서, 서버(100)는 복수의 사용자가 에이비 테스트를 통해 제1 서비스 또는 제2 서비스를 이용함에 따라 수집되는 인풋 데이터를 시각화하여 서비스 제공자에게 제공할 수 있다.
예를 들어, 서버(100)는 네트워크(400)를 통해 사용자 단말(200)(예: 제1 서비스 및 제2 서비스를 제공하는 서비스 제공자의 단말)과 연결될 수 있고, 사용자 단말(200)로 현재 진행 중인 에이비 테스트에 대한 정보를 출력하는 UI(예: 도 14 내지 16의 30)를 제공할 수 있고, UI(30)를 통해 복수의 사용자로부터 수집된 인풋 데이터를 시각화하여 제공할 수 있다.
보다 구체적으로, 서버(100)는 도 14 내지 16에 도시된 바와 같이, 시각화 모듈을 통해, 복수의 사용자가 에이비 테스트를 통해 제1 서비스 또는 제2 서비스를 이용함에 따라 수집되는 인풋 데이터를 시간별(일, 시, 분), 사용자별 행동 위치(이벤트명, 페이지 위치), 행동별, 건수별로 분류하여 시각화하여 서비스 제공자에게 제공할 수 있다. 여기서, 도 14 내지 17에서 시각화된 인풋 데이터 인풋 데이터를 도표 또는 그래프 형태인 것으로 도시되어 있으나, 이에 한정되지 않는다.
또한, 서버(100)는 에이비 테스트를 통해 제1 서비스 또는 제2 서비스를 이용하는 복수의 사용자를 속성에 따라 그룹화(예: 첫 구매 고객, 멤버쉽 가입 여부, 성별 등에 따라 그룹화)할 수 있고, 서비스 제공자의 요청에 따라 그룹화된 복수의 사용자 각각에 대한 인풋 데이터를 시각화하여 제공할 수 있다.
또한, 서버(100)는 에이비 테스트를 통해 제1 서비스 또는 제2 서비스를 이용하는 복수의 사용자의 사용 환경에 따라 그룹화(예: Window, Mac, Android, IOS 별로 그룹화)할 수 있고, 서비스 제공자의 요청에 따라 그룹화된 복수의 사용자 각각에 대한 인풋 데이터를 시각화하여 제공할 수 있다.
이때, 서버(100)가 제공하는 시각화 데이터(인풋 데이터를 시각화한 데이터)는 서비스 제공자로부터 별도의 요청(데이터 갱신 요청)을 획득하지 않더라도, 실시간 또는 기 설정된 주기마다 자동으로 갱신하여 서비스 제공자에게 제공할 수 있다.
다양한 실시예에서, 서버(100)는 제1 서비스 또는 제2 서비스를 이용하는 사용자로부터 에이비 테스트에 대한 중단 요청을 입력받을 수 있고, 중단 요청에 따라 에이비 테스트의 수행을 중단할 수 있다. 예를 들어, 고객이 에이비 테스트 데이터를 확인하다가 문제 발생을 인지하는 경우, 사용자 단말(200)을 통해 테스팅 중단을 요청할 수 있다. 이 경우, 서버(100)는 사용자 단말(200)로부터 에이비 테스트 중단에 관한 신호를 수신하는 즉시, 에이비 테스트의 수행을 중단할 수 있다.
다양한 실시예에서, 서버(100)는 트래픽 및 네트워크 사용량(인터넷 사용량)을 최소화하기 위한 목적으로, 실시간으로 수집되는 인풋 데이터를 임시 저장할 수 있고, 기 설정된 주기마다 임시 저장된 인풋 데이터를 저장할 수 있다. 이하, 도 4를 참조하여 설명하도록 한다.
도 4는 다양한 실시예에서, 인풋 데이터를 수집 및 저장하는 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, S210 단계에서, 서버(100)는 복수의 사용자가 에이비 테스트를 통해 제1 서비스 또는 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 임시 저장할 수 있다. 예를 들어, 서버(100)는 수의 사용자가 에이비 테스트를 통해 제1 서비스 또는 제2 서비스를 이용함에 따라 생성되는 복수의 인풋 데이터를 임시 저장 공간(예: 웹(web): Local Storage, 애플리케이션(Application): File, 서버(Server): TempFile)에 임시로 저장할 수 있다.
S220 단계에서, 서버(100)는 신호(signal)의 출력 여부를 확인할 수 있다. 여기서, 신호는 타이머 모듈을 통해 발생되는 신호로서, 일정한 주기마다 인풋 데이터를 저장하기 위한 목적으로, 타이어 모듈이 기 설정된 주기마다 반복적으로 출력하는 신호일 수 있으나, 이에 한정되지 않고, 신호는 기 설정된 주기와 관계없이 특정한 조건(예: 제1 서비스 또는 제2 서비스의 이용 개시 및 종료)을 만족함에 따라 출력되는 형태로 구현될 수 있다.
S230 단계에서, 서버(100)는 S220 단계를 거쳐 타이머 모듈을 통해 제1 신호가 출력된 것으로 판단되는 경우, 임시 저장 공간에 임시 저장된 복수의 인풋 데이터를 저장 공간으로 전송할 수 있다. 예를 들어, 서버(100)의 저장 모듈이 타이머 모듈로부터 출력된 제1 신호를 입력받는 경우, 전송 모듈을 호출할 수 있고, 전송 모듈을 통해 유/무선으로 임시 저장된 복수의 인풋 데이터(제1 신호가 출력되기 이전에 임시 저장된 복수의 인풋 데이터)를 저장 공간으로 전송할 수 있다.
S240 단계에서, 서버(100)는 임시 저장된 복수의 인풋 데이터 중 저장 공간으로 전송되지 못한 인풋 데이터가 있는지 여부를 판단할 수 있다.
S250 단계에서, 서버(100)는 S240 단계를 거쳐 저장 공간으로 전송되지 못한 것으로 판단되는 적어도 하나의 인풋 데이터를 재전송 대상으로 설정할 수 있다.
추후, 서버(100)는 S210 단계 내지 S230 단계를 재수행하여, 제1 신호가 출력된 후 제2 신호가 출력됨에 따라 제1 신호가 출력된 시점부터 제2 신호가 출력된 시점까지 임시 저장 공간에 저장된 복수의 인풋 데이터를 저장 공간으로 전송하되, S250 단계를 거쳐 재전송 대상으로 설정된 적어도 하나의 인풋 데이터가 있는 경우, 재전송 대상으로 설정된 적어도 하나의 인풋 데이터부터 우선적으로 저장 공간으로 전송하고, 이후에 나머지 인풋 데이터를 순차적으로 저장 공간으로 전송할 수 있다.
다양한 실시예에서, 서버(100)는 제1 사용자가 제1 서비스 또는 제2 서비스를 이용함에 따라 생성되는 복수의 제1 인풋 데이터를 임시 저장할 수 있고, 임시 저장된 복수의 제1 인풋 데이터를 이용하여 제1 사용자가 이용 중인 서비스를 종료하는 것을 감지할 수 있으며, 제1 사용자가 이용 중인 서비스를 종료하는 것에 응답하여 제1 사용자에 대한 종료 신호를 출력하고, 출력된 종료 신호에 기초하여 임시 저장된 복수의 제1 인풋 데이터를 상기 저장 공간으로 전송할 수 있다.
이때, 서버(100)는 기 설정된 주기마다 출력되는 신호에 기초하여 임시 저장된 인풋 데이터를 저장 공간으로 전송하는 동작(S210 단계 내지 S250 단계)과 동일하게 임시 저장된 복수의 제1 인풋 데이터 중 저장 공간으로 전송되지 못한 적어도 하나의 제1 인풋 데이터를 재전송 대상으로 설정할 수 있다.
다만, 기 설정된 주기마다 출력되는 신호에 기초한 방식은 이전에 전송되지 못한 인풋 데이터(재전송 대상으로 설정된 인풋 데이터)를 다음 신호가 출력될 때 저장 공간으로 전송할 수 있으나, 사용자가 서비스의 이용을 종료함에 따라 출력되는 신호에 기초에 따라 전송되지 못한 인풋 데이터의 경우, 다음 신호가 출력되지 않기 때문(서비스를 종료했기 때문)에 저장 공간으로 전송되지 못하고 임시 저장 공간에 임시 저장된 채로 남아있게 된다.
이를 고려하여, 서버(100)는 사용자가 서비스의 이용을 종료함에 따라 출력되는 신호에 기초에 따라 전송되지 못한 인풋 데이터의 경우, 해당 사용자가 다시 서비스의 이용을 개시함에 따라 출력되는 신호에 기초하여 저장 공간으로 전송하는 동작을 최우선적으로 수행할 수 있다.
다시 도 3을 참조하면, S130 단계에서, 서버(100)는 S120 단계를 거쳐 수집된 인풋 데이터(저장 공간에 저장된 인풋 데이터)를 이용하여, 에이비 테스트에 대한 결과를 도출할 수 있다.
다양한 실시예에서, 서버(100)는 제1 서비스 및 제2 서비스에 대한 에이비 테스트 결과로서, 제1 서비스에 대한 제1 전환율 및 제2 서비스에 대한 제2 전환율을 산출할 수 있다. 이하, 도 5를 참조하여 설명하도록 한다.
도 5는 다양한 실시예에서, 에이비 테스트에 대한 결과를 도출하는 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, S310 단계에서, 서버(100)는 제1 서비스 및 제2 서비스에 대한 에이비 테스트 결과로서, 제1 서비스를 이용하는 사용자들로부터 수집된 인풋 데이터를 이용하여 제1 서비스에 대한 제1 전환율을 산출하고, 제2 서비스를 이용하는 사용자들로부터 수집된 인풋 데이터를 이용하여 제2 서비스에 대한 제2 전환율을 산출할 수 있다.
여기서, 전환율(Conversion Rate: CVR)은 사용자들이 서비스가 실제로 의도하는 행동을 취하는 비율을 의미할 수 있다. 예를 들어, 전환율은 클릭률 또는 구매전환율을 의미할 수 있다.
다양한 실시예에서, 서버(100)는 전환율로서, 제1 서비스 또는 제2 서비스를 제공한 전체 사용자의 수 대비 서비스가 실제로 의도하는 행동을 취하는 사용자의 비율을 산출할 수 있다. 예를 들어, 서버(100)는 온라인 광고를 100명의 사용자들에게 화면 하단의 배너 광고로 제공하였는데, 2명의 사용자가 온라인 광고를 클릭한 경우, 전환율을 2%로 산출할 수 있다. 또한, 서버(100)는 온라인 쇼핑에 접속한 100명의 사용자들에게 화면 상단을 통해 메인 상품을 게시하였는데, 1명의 사용자가 이를 구매한 경우, 전환율을 1%로 산출할 수 있다.
S320 단계에서, 서버(100)는 S310 단계를 거쳐 산출된 제1 전환율과 제2 전환율의 차이 값이 기 설정된 기준값을 초과하는지 여부를 판단할 수 있다.
S330 단계에서, 서버(100)는 S320 단계를 거쳐 제1 전환율과 제2 전환율의 차이 값이 기 설정된 기준값을 초과하는 것으로 판단되는 경우 즉, 제1 전환율과 제2 전환율의 크기 차이가 일정 수준을 초과하는 것으로 판단되는 경우, 제2 서비스에 대한 이상징후가 있는 것으로 판단되는 바, 에이비 테스트가 종료와 관계없이 제2 서비스에 대한 롤백을 수행할 수 있다.
즉, 서버(100)는 제1 전환율과 제2 전환율의 차이가 기 설정된 기준값을 초과하는 경우 에이비 테스트가 종료와 관계없이 제2 서비스에 대한 롤백(Roll back)을 수행할 수 있다. 예를 들어, 서버(100)는 제1 서비스에 대한 제1 전환율이 90%이나, 제2 서비스에 대한 제2 전환율이 50% 이하로 떨어져 제1 전환율과 제2 전환율의 차이가 기 설정된 기준값(20%) 이상 차이가 나는 경우, 제1 서비스 대비 기능, 디자인 등이 개선된 제2 서비스가 적절하지 않은 것으로 판단되는 바, 제2 서비스를 롤백 즉, 제2 서비스를 제공하던 사용자들에게 다시 제1 서비스를 제공할 수 있다.
여기서, 서버(100)는 제1 서비스에 대한 제1 전환율과 제2 서비스에 대한 제2 전환율을 비교하여 롤백을 수행하는 것으로 설명하고 있으나, 이에 한정되지 않고, 제1 전환율 및 제2 전환율과 기 설정된 임계치를 이용하여 전환율이 임계치(예: 70% 미만) 이하로 떨어지는 이상징후를 감지할 수 있고, 이상징후 감지에 따라 어느 하나의 서비스에 대한 롤백을 수행할 수 있다.
S340 단계에서, 서버(100)는 에이비 테스트가 종료되었는지 여부를 판단할 수 있다. 예를 들어, 서버(100)는 해당 에이비 테스트를 생성하는 과정에서 사전에 설정된 테스트 기간이 만료되었는지 여부에 따라 에이비 테스트가 종료되었는지 여부를 판단할 수 있으나, 이에 한정되지 않는다.
S350 단계에서, 서버(100)는 에이비 테스트가 종료되는 것으로 판단되는 경우, 에이비 테스트에 대한 결과를 서비스 제공자에게 제공할 수 있다. 예를 들어, 서버(100)는 네트워크(400)를 통해 사용자 단말(200)(예: 제1 서비스 및 제2 서비스를 제공하는 서비스 제공자의 단말)과 연결될 수 있고, 사용자 단말(200)로 에이비 테스트에 대한 결과를 출력하는 UI(예: 도 15의 40)를 제공할 수 있다.
다양한 실시예에서, 서버(100)는 에이비 테스트에 대한 결과를 이미지화하여 제공할 수 있다. 예를 들어, 서버(100)는 각종 그래프 형식 또는 애니메이션 형식을 이용하여 에이비 테스트에 대한 결과를 시각화 및 이미지화하여 제공할 수 있다. 또한, 서버(100)는 에이비 테스트에 대한 결과 중 핵심 사항에 대해 하이라이트 처리한 그래픽 이미지로 제공할 수 있다.
다양한 실시예에서, 서버(100)는 제1 서비스에 대하여 산출된 제1 전환율 및 제2 서비스에 대하여 산출된 제2 전환율에 기초하여, 복수의 사용자에게 제1 서비스 및 상기 제2 서비스 중 어느 하나의 서비스만을 제공할 수 있다. 예를 들어, 서버(100)는 에이비 테스트를 수행하는 기간 동안 접속하는 사용자들 중 50%에 대해서는 제1 서비스를 제공하고, 나머지 50%에 대해서는 제2 서비스를 제공한 결과, 제1 서비스에 대한 제1 전환율이 1%이고 제2 서비스에 대한 제2 전환율이 3%인 경우, 에이비 테스트가 종료된 이후에는 전체 사용자에게 제2 서비스를 제공할 수 있다.
다양한 실시예에서, 서버(100)는 에이비 테스트를 수행하는 과정에서 복수의 사용자의 단말로부터 수집되는 로그 데이터를 이용하여 제1 서비스 또는 제2 서비스에 대한 이상징후를 감지할 수 있고, 감지된 이상징후에 대한 처리를 수행할 수 있다. 이하, 도 6을 참조하여 설명하도록 한다.
도 6은 다양한 실시예에서, 에이비 테스트에 대한 이상징후를 감지 및 처리 방법을 설명하기 위한 순서도이다.
S410 단계에서, 서버(100)는 복수의 사용자 단말(200)로부터 로그 데이터를 수집할 수 있다. 예를 들어, 서버(100)는 복수의 사용자가 자신의 단말을 통해 제1 서비스 또는 제2 서비스를 이용하는 경우, SDK를 통해 복수의 사용자 단말(200)로부터 발생되는 로그 데이터(예: 에러 로그 데이터, 앱 크래시 로그 데이터 등)을 복수의 사용자 단말(200) 각각에 대한 정보와 함께 자동으로 수집할 수 있다. 여기서, 서버(100)는 이상징후를 판단하기 위하여 로그 데이터를 수집하는 것으로 설명하고 있으나, 이에 한정되지 않고, 복수의 사용자 단말(200)로부터 수집되는 데이터는 로그 데이터뿐만 아니라 메시지(예: 팝업 메시지)를 더 포함할 수 있다.
다양한 실시예에서, 서버(100)는 복수의 사용자 단말로부터 수집된 로그 데이터 및 메시지를 실시간으로 시각화(visualized)하여 서비스 제공자에게 제공할 수 있고, 이를 통해 서비스 제공자는 여러 조건을 조합하여 확인하고자 하는 로그 데이터 및 메시지에 대한 정보를 확인할 수 있다.
일례로, 서버(100)는 서비스 제공자로부터 특정 검색어를 입력받음에 따라 특정 검색어가 포함된 메시지 및 로그 데이터만을 검색하여 서비스 제공자에게 제공할 수 있다.
또한, 서버(100)는 서비스 제공자로부터 특정 사용자 단말(200)을 선택받음에 따라 특정 사용자 단말(200)로부터 발생된 로그 데이터 및 메시지만을 선택하여 제공할 수 있다.
또한, 서버(100)는 복수의 사용자 단말(200)로부터 수집된 로그 데이터 및 메시지를 사용자 단말(200)에 대한 정보를 기준으로 정렬 및 그룹화하여 제공함으로써, 어떤 속성을 가진 사용자 단말(200)에서 로그 데이터 및 메시지가 많이 발생하는지에 대한 정보를 제공할 수 있다.
S420 단계에서, 서버(100)는 S410 단계를 거쳐 수집된 로그 데이터(에러 로그, 앱 크래쉬 로그) 및 메시지(팝업 메시지)와 기 설정된 룰(예: 이상징후 판단 룰)에 기초하여, 제1 서비스 또는 제2 서비스에 대한 이상징후를 판단할 수 있다. 예를 들어, 서버(100)는 제1 서비스 또는 제2 서비스에 대하여, 단위 기간(예: X분) 내에 로그 데이터 및 메시지 발생 건수가 기준 횟수(예: Y건) 이상인 경우, 제1 서비스 또는 제2 서비스에 대한 이상징후가 발생된 것으로 판단할 수 있다.
다양한 실시예에서, 서버(100)는 복수의 로그 데이터 및 메시지와 이상징후 발생 이력 데이터를 학습 데이터로 하여 머신러닝 기반의 학습 방법에 따라 인공지능 모델을 학습시킬 수 있으며, 학습된 인공지능 모델을 이용하여, S410 단계를 거쳐 수집된 로그 데이터(에러 로그, 앱 크래쉬 로그) 및 메시지(팝업 메시지)를 분석함으로써, 제1 서비스 또는 제2 서비스에 대한 이상징후를 판단할 수 있다.
S430 단계에서, 서버(100)는 S420 단계를 거쳐 제1 서비스 또는 제2 서비스에 대한 이상징후가 발생된 것으로 판단되는 경우, 사전에 설정된 이상징후별 행동 규칙에 따라 이상징후에 대한 처리를 수행할 수 있다.
다양한 실시예에서, 서버(100)는 제1 서비스 또는 제2 서비스에 대한 이상징후를 감지되는 경우, 감지된 이상징후에 대한 정보를 제공할 수 있다. 에를 들어, 서버(100)는 제1 서비스 또는 상기 제2 서비스에 대한 이상징후를 감지되는 경우, SMS, 이메일, 채팅 애플리케이션과 같은 수단을 이용하여 서비스 제공자에게 이상징후에 대한 정보를 제공할 수 있다.
다양한 실시예에서, 서버(100)는 제1 서비스 또는 제2 서비스에 대한 이상징후를 감지되는 경우, 이상징후가 발생된 제1 서비스 또는 제2 서비스에 대한 롤백을 수행할 수 있다.
다양한 실시예에서, 서버(100)는 제1 서비스 또는 제2 서비스에 대한 이상징후를 감지되는 경우, 이상징후가 발생된 제1 서비스 또는 제2 서비스를 이용한 사용자 단말(200)에 대한 트래픽을 차단할 수 있다.
즉, 서버(100)는 복수의 사용자 단말(200)로부터 수집된 정보(로그 데이터, 메시지)를 이용하여 제1 서비스 또는 제2 서비스에 대한 이상징후를 감지할 수 있고, 사전에 설정된 행동 규칙에 따라 이상징후에 대한 보다 빠른 대응을 수행함으로써, 제1 서비스 또는 제2 서비스에 대한 에러를 수정하거나 자동으로 롤백하여 시스템을 빠르게 정상화시킬 수 있다는 이점이 있다.
전술한 이상징후 관리가 가능한 에이비 테스트 제공방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 이상징후 관리가 가능한 에이비 테스트 제공방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (14)

  1. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    제1 서비스와 제2 서비스에 대한 에이비 테스트(A/B Test)를 생성하는 단계;
    복수의 사용자가 상기 생성된 에이비 테스트를 통해 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 수집하는 단계; 및
    상기 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과를 도출하는 단계를 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  2. 제1항에 있어서,
    상기 에이비 테스트를 생성하는 단계는,
    상기 제1 서비스 및 상기 제2 서비스 사이에 둘 이상의 차별화 포인트가 있는 경우, 상기 둘 이상의 차별화 포인트 각각에 대하여 개별적인 에이비 테스트를 생성하는 단계를 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  3. 제1항에 있어서,
    상기 에이비 테스트를 생성하는 단계는,
    상기 제1 서비스 및 상기 제2 서비스를 제공하는 서비스 제공자로부터 상기 생성된 에이비 테스트에 대한 노출범위를 설정받는 단계; 및
    상기 설정된 노출범위에 기초하여, 상기 복수의 사용자 중 상기 생성된 에이비 테스트를 제공할 사용자의 범위를 결정하는 단계를 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  4. 제3항에 있어서,
    상기 생성된 에이비 테스트를 제공할 사용자의 범위를 결정하는 단계는,
    상기 수집된 인풋 데이터 및 상기 도출된 결과에 따라 상기 설정된 노출범위를 변경하거나 또는 상기 서비스 제공자로부터 노출범위를 재설정받음에 따라 상기 설정된 노출범위를 변경하되, 상기 변경된 노출범위의 크기는 상기 설정된 노출범위보다 큰 값을 가지는 것인, 단계를 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  5. 제1항에 있어서,
    상기 에이비 테스트를 생성하는 단계는,
    SDK(Software development kit)와 연동하여 구현된 상기 제1 서비스 및 상기 제2 서비스에 대한 에이비 테스트를 생성하는 단계를 포함하고,
    상기 인풋 데이터를 수집하는 단계는,
    상기 SDK를 통해, 상기 제1 서비스 또는 상기 제2 서비스를 이용하는 상기 복수의 사용자에 관한 정보 및 상기 복수의 사용자 각각에 대한 고유 식별자를 상기 인풋 데이터로서 수집하는 단계를 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  6. 제1항에 있어서,
    상기 인풋 데이터를 수집하는 단계는,
    상기 복수의 사용자가 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 복수의 인풋 데이터를 임시 저장 공간에 임시 저장하는 단계; 및
    기 설정된 주기마다 상기 임시 저장된 복수의 인풋 데이터를 저장 공간으로 전송하는 단계를 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  7. 제6항에 있어서,
    상기 임시 저장된 복수의 인풋 데이터를 저장 공간으로 전송하는 단계는,
    제1 신호가 출력됨에 따라 상기 제1 신호가 출력되기 이전에 상기 임시 저장된 복수의 인풋 데이터를 상기 저장 공간으로 전송하되, 상기 임시 저장된 복수의 인풋 데이터 중 상기 저장 공간으로 전송되지 못한 적어도 하나의 인풋 데이터를 재전송 대상으로 설정하는 단계; 및
    상기 제1 신호가 출력된 후 제2 신호가 출력됨에 따라 상기 제1 신호가 출력된 시점부터 상기 제2 신호가 출력된 시점까지 상기 임시 저장 공간에 저장된 복수의 인풋 데이터를 상기 저장 공간으로 전송하되, 상기 재전송 대상으로 설정된 적어도 하나의 인풋 데이터를 우선적으로 전송하는 단계를 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  8. 제6항에 있어서,
    상기 임시 저장 공간에 임시 저장하는 단계는,
    제1 사용자가 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 복수의 제1 인풋 데이터를 임시 저장하는 단계를 포함하며,
    상기 임시 저장된 복수의 인풋 데이터를 저장 공간으로 전송하는 단계는,
    상기 임시 저장된 복수의 제1 인풋 데이터를 이용하여, 상기 제1 사용자가 이용 중인 서비스를 종료하는 것을 감지하는 단계; 및
    상기 제1 사용자가 이용 중인 서비스를 종료하는 것에 응답하여 상기 제1 사용자에 대한 종료 신호를 출력하고, 상기 출력된 종료 신호에 기초하여 상기 임시 저장된 복수의 제1 인풋 데이터를 상기 저장 공간으로 전송하는 단계를 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  9. 제8항에 있어서,
    상기 임시 저장된 하나 이상의 제1 인풋 데이터를 상기 저장 공간으로 전송하는 단계는,
    상기 임시 저장된 복수의 제1 인풋 데이터 중 상기 저장 공간으로 전송되지 못한 적어도 하나의 제1 인풋 데이터를 재전송 대상으로 설정하는 단계; 및
    상기 제1 사용자가 상기 제1 서비스 또는 상기 제2 서비스를 개시함에 따라 상기 재설정 대상으로 설정된 적어도 하나의 제1 인풋 데이터를 상기 저장 공간으로 전송하는 단계를 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  10. 제1항에 있어서,
    상기 에이비 테스트에 대한 결과를 도출하는 단계는,
    상기 제1 서비스를 이용하는 사용자들로부터 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과로서 상기 제1 서비스에 대한 제1 전환율을 산출하고, 상기 제2 서비스를 이용하는 사용자들로부터 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과로서 상기 제2 서비스에 대한 제2 전환율을 산출하는 단계; 및
    상기 산출된 제1 전환율 및 상기 산출된 제2 전환율에 기초하여, 상기 복수의 사용자에게 상기 제1 서비스 및 상기 제2 서비스 중 어느 하나의 서비스만을 제공하는 단계를 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  11. 제10항에 있어서,
    상기 제1 서비스 및 상기 제2 서비스 중 어느 하나의 서비스만을 제공하는 단계는,
    상기 에이비 테스트가 종료되는 경우, 상기 산출된 제1 전환율 및 상기 산출된 제2 전환율을 비교하여 상기 제1 서비스 및 상기 제2 서비스 중 어느 하나의 서비스만을 제공하되, 상기 산출된 제1 전환율과 상기 산출된 제2 전환율의 차이가 기 설정된 값을 초과하는 경우 상기 에이비 테스트가 종료와 관계없이 상기 제2 서비스에 대한 롤백(Roll back)을 수행하는 단계를 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  12. 제1항에 있어서,
    상기 복수의 사용자의 단말로부터 수집되는 로그 데이터를 이용하여 상기 제1 서비스 또는 상기 제2 서비스에 대한 이상징후를 감지하는 단계; 및
    상기 제1 서비스 또는 상기 제2 서비스에 대한 이상징후를 감지되는 경우, 기 설정된 룰에 따라 상기 감지된 이상징후에 대한 정보를 제공하거나, 상기 이상징후가 감지된 제1 서비스 또는 제2 서비스에 대한 롤백을 수행하거나 또는 상기 이상징후가 감지된 제1 서비스 또는 제2 서비스를 이용하는 사용자의 단말에 대한 트래픽을 차단하는 단계를 더 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공방법.
  13. 프로세서;
    네트워크 인터페이스;
    메모리; 및
    상기 메모리에 로드(load)되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,
    상기 컴퓨터 프로그램은,
    제1 서비스와 제2 서비스에 대한 에이비 테스트(A/B Test)를 생성하는 인스트럭션(instruction);
    복수의 사용자가 상기 생성된 에이비 테스트를 통해 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 수집하는 인스트럭션; 및
    상기 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과를 도출하는 인스트럭션을 포함하는,
    이상징후 관리가 가능한 에이비 테스트 제공서버.
  14. 컴퓨팅 장치와 결합되어,
    제1 서비스와 제2 서비스에 대한 에이비 테스트(A/B Test)를 생성하는 단계;
    복수의 사용자가 상기 생성된 에이비 테스트를 통해 상기 제1 서비스 또는 상기 제2 서비스를 이용함에 따라 생성되는 인풋 데이터를 수집하는 단계; 및
    상기 수집된 인풋 데이터를 이용하여 상기 에이비 테스트에 대한 결과를 도출하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장된,
    컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터프로그램.
PCT/KR2021/012766 2020-12-29 2021-09-17 이상징후 관리가 가능한 에이비 테스트 제공방법, 서버 및 컴퓨터프로그램 WO2022145629A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020200185800A KR102309715B1 (ko) 2020-12-29 2020-12-29 이상징후 관리가 가능한 에이비 테스팅 플랫폼의 제공 방법
KR10-2020-0185800 2020-12-29
KR10-2021-0115441 2021-08-31
KR1020210115441A KR102613411B1 (ko) 2021-08-31 2021-08-31 이상징후 관리가 가능한 에이비 테스트 제공방법, 서버 및 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
WO2022145629A1 true WO2022145629A1 (ko) 2022-07-07

Family

ID=82260865

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/012766 WO2022145629A1 (ko) 2020-12-29 2021-09-17 이상징후 관리가 가능한 에이비 테스트 제공방법, 서버 및 컴퓨터프로그램

Country Status (1)

Country Link
WO (1) WO2022145629A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090083621A (ko) * 2008-01-30 2009-08-04 주식회사 국민은행 저널로그를 이용한 품질테스트 자동화방법
JP2015225361A (ja) * 2014-05-26 2015-12-14 株式会社プラグラム A/bテストの測定方法及び測定管理システム
US20160349949A1 (en) * 2015-06-01 2016-12-01 Sinclair Broadcast Group, Inc. User interface for content and media management and distribution systems
KR101784105B1 (ko) * 2016-06-15 2017-10-10 에스케이 주식회사 Ab 테스팅 기반 서비스 제공 방법 및 시스템
US20170316432A1 (en) * 2016-04-27 2017-11-02 Linkedin Corporation A/b testing on demand

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090083621A (ko) * 2008-01-30 2009-08-04 주식회사 국민은행 저널로그를 이용한 품질테스트 자동화방법
JP2015225361A (ja) * 2014-05-26 2015-12-14 株式会社プラグラム A/bテストの測定方法及び測定管理システム
US20160349949A1 (en) * 2015-06-01 2016-12-01 Sinclair Broadcast Group, Inc. User interface for content and media management and distribution systems
US20170316432A1 (en) * 2016-04-27 2017-11-02 Linkedin Corporation A/b testing on demand
KR101784105B1 (ko) * 2016-06-15 2017-10-10 에스케이 주식회사 Ab 테스팅 기반 서비스 제공 방법 및 시스템

Similar Documents

Publication Publication Date Title
US10929266B1 (en) Real-time visual playback with synchronous textual analysis log display and event/time indexing
WO2017213400A1 (en) Malware detection by exploiting malware re-composition variations
CN112650685B (zh) 自动化测试方法、装置、电子设备及计算机存储介质
WO2020052152A1 (zh) 用户常驻地判断方法、装置、设备及计算机可读存储介质
WO2018021806A1 (en) Method of detecting similar applications and electronic device adapted to the same
US20220179639A1 (en) Managing software patches based on automated rule-based analysis and testing
CN112988494A (zh) 异常测试方法、设备及电子设备
WO2013125866A1 (ko) 컴퓨터 시스템 및 시그니처검증서버
CN116225600A (zh) 应用程序录制方法、回放方法、装置、介质及电子设备
CN116225886A (zh) 测试用例生成方法、装置、设备、存储介质及程序产品
WO2022145629A1 (ko) 이상징후 관리가 가능한 에이비 테스트 제공방법, 서버 및 컴퓨터프로그램
CN106201543B (zh) 智能设备中通知消息的显示方法及智能设备
WO2013161522A1 (ja) ログ収集サーバ、ログ収集システム、ログ収集方法
CN116166536A (zh) 一种测试方法、装置、电子设备及存储介质
WO2020189979A1 (en) Method and system for performing context-based application disablement on electronic device
CN113934625A (zh) 软件检测方法、设备及存储介质
WO2019225815A1 (ko) 결제 단말 모니터링 시스템 및 결제 단말 모니터링 방법
KR102613411B1 (ko) 이상징후 관리가 가능한 에이비 테스트 제공방법, 서버 및 컴퓨터프로그램
WO2023153536A1 (ko) 서브젝트 별로 검색 결과를 제공하는 전자 장치의 제어 방법
WO2021071098A1 (ko) 삽입형 리워드 모듈을 이용한 리워드 서비스 제공 시스템 및 그 방법
WO2024005236A1 (ko) 정보를 제공하는 방법 및 장치
CN111367555B (zh) 断言的方法、装置、电子设备及计算机可读介质
CN114448848B (zh) 一种交换机的测试方法、装置、电子设备及存储介质
WO2024058295A1 (ko) 페이지에 대한 리포트를 제공하는 방법 및 장치
WO2023058894A1 (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: 21915427

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 21/11/2023)