CN110069417B - A/B test method and device - Google Patents

A/B test method and device Download PDF

Info

Publication number
CN110069417B
CN110069417B CN201910376839.8A CN201910376839A CN110069417B CN 110069417 B CN110069417 B CN 110069417B CN 201910376839 A CN201910376839 A CN 201910376839A CN 110069417 B CN110069417 B CN 110069417B
Authority
CN
China
Prior art keywords
sub
page
tab
controllers
tabs
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201910376839.8A
Other languages
Chinese (zh)
Other versions
CN110069417A (en
Inventor
王岳晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201910376839.8A priority Critical patent/CN110069417B/en
Publication of CN110069417A publication Critical patent/CN110069417A/en
Application granted granted Critical
Publication of CN110069417B publication Critical patent/CN110069417B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The embodiment of the disclosure discloses an A/B testing method and device. One embodiment of the method comprises: determining a current displayed page of a to-be-tested tab as a first page, wherein the displayed page of the to-be-tested tab is controlled by a corresponding container view controller; in response to receiving a test request indicating replacement of the first page with a second page, controlling, with the container view controller, the replacement of the first page with the second page to complete the A/B testing of the tab displayed page. The embodiment realizes the A/B test related to the tab to be tested by using the container view controller.

Description

A/B test method and device
Technical Field
The embodiment of the disclosure relates to the technical field of computers, in particular to an A/B testing method and device.
Background
With the rapid development of the mobile internet, various mobile terminal applications are emerging. These mobile terminal applications may provide various functions to the user to meet various needs of the user. At present, more and more mobile terminal applications provide more and more functions and provide higher and higher service quality. The processing logic of the entire mobile terminal application is more and more complex.
Some mobile terminal applications may have tens of pages at a top page and the like, and since each page may have multiple design schemes and the like during development, test scenarios of the mobile terminal pages may include various page combination situations. Therefore, how to well implement a/B testing of many pages of a mobile terminal is a problem to be considered in the testing process of the mobile terminal application.
Disclosure of Invention
The embodiment of the disclosure provides an A/B testing method and device.
In a first aspect, an embodiment of the present disclosure provides an a/B testing method, including: determining a current displayed page of a to-be-tested tab as a first page, wherein the displayed page of the to-be-tested tab is controlled by a corresponding container view controller; in response to receiving a test request indicating replacement of the first page with a second page, controlling, with the container view controller, the replacement of the first page with the second page to complete the A/B testing of the tab displayed page.
In some embodiments, the tabs include at least two sub-tabs, and the container view controller includes at least two sub-controllers, and the at least two sub-tabs are in one-to-one correspondence with the at least two sub-controllers; and replacing the first page with a second page using the container view controller control to complete an A/B test of the tab displayed page, comprising: and controlling to replace the first page with a second page by utilizing a sub-controller corresponding to the sub-tab where the first page is located so as to finish the A/B test of the page displayed by the tab.
In some embodiments, the at least two sub tabs comprise a composite sub tab, wherein the composite sub tab is a sub tab comprising at least two sub tabs; and the sub-controllers corresponding to the composite sub-tabs comprise at least two sub-controllers, and the at least two sub-tabs comprised by the composite sub-tabs correspond to the at least two sub-controllers comprised by the sub-controllers corresponding to the composite sub-tabs one to one.
In some embodiments, the above method further comprises: and in response to receiving a test request for indicating modification of the content of the first page display, utilizing a sub-controller corresponding to the tab where the first page is located to control modification of the content of the first page display.
In a second aspect, embodiments of the present disclosure provide an a/B test apparatus, including: the determining unit is configured to determine a page currently displayed by the tab to be tested as a first page, wherein the page displayed by the tab to be tested is controlled by the corresponding container view controller; and a test unit configured to control, in response to receiving a test request for instructing replacement of the first page with the second page, the replacement of the first page with the second page with the container view controller to complete the a/B test of the page displayed by the tab.
In some embodiments, the tabs include at least two sub-tabs, and the container view controller includes at least two sub-controllers, and the at least two sub-tabs are in one-to-one correspondence with the at least two sub-controllers; and the test unit is further configured to: and controlling to replace the first page with a second page by utilizing a sub-controller corresponding to the sub-tab where the first page is located so as to finish the A/B test of the page displayed by the tab.
In some embodiments, the at least two sub tabs comprise a composite sub tab, wherein the composite sub tab is a sub tab comprising at least two sub tabs; and the sub-controllers corresponding to the composite sub-tabs comprise at least two sub-controllers, and the at least two sub-tabs comprised by the composite sub-tabs correspond to the at least two sub-controllers comprised by the sub-controllers corresponding to the composite sub-tabs one to one.
In some embodiments, the test unit is further configured to, in response to receiving a test request for instructing modification of the content of the first page presentation, control, with a sub-controller corresponding to the tab in which the first page is located, to modify the content of the first page presentation.
In a third aspect, an embodiment of the present disclosure provides a server, including: one or more processors; storage means for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors are caused to implement the method as described in any implementation of the first aspect.
In a fourth aspect, embodiments of the present disclosure provide a computer-readable medium on which a computer program is stored, which computer program, when executed by a processor, implements the method as described in any of the implementations of the first aspect.
According to the A/B testing method and device provided by the embodiment of the disclosure, the container view controller is used for controlling the page to be tested, so that when the page to be tested is updated, only the container view controller is used for replacing the current page to be tested, and influence on other pages is avoided. Compared with the method that the container view controller is not adopted and the processing logics of all the pages are put together, when the page to be tested is updated, the processes of logic judgment such as judging the page to be updated and the like are not needed, so that the time of the logic judgment is saved, and the speed of updating the page to be tested is promoted.
Drawings
Other features, objects and advantages of the disclosure will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is an exemplary system architecture diagram in which one embodiment of the present disclosure may be applied;
FIG. 2 is a flow diagram of one embodiment of an A/B testing method according to the present disclosure;
FIG. 3 is a flow diagram of yet another embodiment of an A/B testing method according to the present disclosure;
FIG. 4 is a schematic diagram of an application scenario of an A/B testing method according to an embodiment of the present disclosure;
FIG. 5 is a schematic structural diagram of one embodiment of an A/B test apparatus according to the present disclosure;
FIG. 6 is a schematic structural diagram of an electronic device suitable for use in implementing embodiments of the present disclosure.
Detailed Description
The present disclosure is described in further detail below with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that, in the present disclosure, the embodiments and features of the embodiments may be combined with each other without conflict. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
FIG. 1 illustrates an exemplary architecture 100 to which embodiments of the A/B testing method or A/B testing apparatus of the present disclosure may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The terminal devices 101, 102, 103 interact with a server 105 via a network 104 to receive or send messages or the like. Various client applications may be installed on the terminal devices 101, 102, 103. Such as browser-type applications, search-type applications, instant messaging-type tools, and so forth.
The terminal apparatuses 101, 102, and 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices including, but not limited to, smart phones, tablet computers, e-book readers, laptop portable computers, desktop computers, and the like. When the terminal apparatuses 101, 102, 103 are software, they can be installed in the electronic apparatuses listed above. It may be implemented as multiple pieces of software or software modules (e.g., multiple pieces of software or software modules to provide distributed services) or as a single piece of software or software module. And is not particularly limited herein.
The server 105 may be a server providing various services, such as a back-end server testing client applications installed on the terminal devices 101, 102, 103. It should be noted that the a/B testing method provided by the embodiment of the present disclosure is generally executed by the server 105, and accordingly, the a/B testing apparatus is generally disposed in the server 105. At this time, the terminal apparatuses 101, 102, 103 and the network 104 may not exist.
It is further noted that the testing of the client application installed on the terminal device 101, 102, 103 may also be performed by the terminal device 101, 102, 103. At this time, the a/B test method may be executed by the terminal apparatuses 101, 102, 103, and accordingly, the a/B test apparatus may be provided in the terminal apparatuses 101, 102, 103. At this point, the exemplary system architecture 100 may not have the server 105 and the network 104.
The server 105 may be hardware or software. When the server 105 is hardware, it may be implemented as a distributed server cluster composed of a plurality of servers, or may be implemented as a single server. When the server 105 is software, it may be implemented as multiple pieces of software or software modules (e.g., multiple pieces of software or software modules used to provide distributed services), or as a single piece of software or software module. And is not particularly limited herein.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
With continued reference to FIG. 2, a flow 200 of one embodiment of an A/B testing method according to the present disclosure is shown. The A/B test method comprises the following steps:
step 201, determining a currently displayed page of a tab to be tested as a first page.
In this embodiment, a tab may correspond to an active page. Generally, the page corresponding to the tab can be displayed by clicking the tab. The tabs to be tested may be determined according to specific testing requirements. Wherein the page displayed by the tab to be tested can be controlled by the corresponding container view controller. Wherein the container view controller may manage content displayed in the container view controller. The container view controller may control the size and hierarchy of the displayed content.
By way of example, in some development environments, the container view controller includes a UINavigationController, a UITabBarController, a UISplitViewController, and so forth. It should be understood that this is by way of example only, and that in different development environments, the container view controller used may be different. For example, the container controller employed may be different for different operating systems, different development languages. The a/B test method provided by the present disclosure mainly uses the container controller to control the independent update of the page to be tested, and the method for implementing the container controller is not limited.
Step 202, in response to receiving a test request for instructing to replace the first page with the second page, controlling, by the container view controller, to replace the first page with the second page to complete the a/B test of the tab displayed page.
In this embodiment, the second page may be determined by setting a test requirement in advance by a technician, and then sending a test request according to the test requirement. The test request may be sent through various interaction modes preset by a technician (e.g., clicking a certain button, restarting an application, etc.).
The content, size and the like of the page displayed by the tab to be tested can be controlled by the corresponding container controller. Thus, the replacement of the first page with the second page may be controlled directly with the corresponding container controller. Therefore, the tester can detect the difference between the second page and the first page, and the A/B test of the page displayed by the tab to be tested can be realized
And the corresponding container controller controls the page displayed by the tab to be tested, so that when the page displayed by the tab to be tested is updated, other tabs are not affected. In the prior art, under the condition that a plurality of tabs respectively display different pages, that is, a large number of pages are displayed, it is usually determined by a large number of logic judgments according to a received test request, which pages are displayed after a page is updated and displayed. For example, it is necessary to determine which page is currently displayed, which page is currently displayed for the tab to be tested, whether each page is displayed, and the like. More tabs, i.e., the number of total pages, results in more and more logic being required. Each logic judgment is time-consuming, and the more and more complicated logic judgment not only increases the workload of developers and testers, but also is easy to make mistakes.
According to the method provided by the embodiment of the disclosure, the updating of the page corresponding to the tab to be tested is separated from other pages by using the container controller, so that when the page corresponding to the tab to be tested is updated, the page replacement can be directly performed by using the container controller, a large amount of logic judgment written in advance is not needed, other pages do not need to be processed, any influence on other pages is avoided, and the testing stability is ensured while the testing is accelerated.
With further reference to FIG. 3, a flow 300 of yet another embodiment of an A/B testing method is shown. The process 300 of the A/B testing method includes the following steps:
step 301, determining a currently displayed page of a tab to be tested as a first page, wherein the tab comprises at least two sub tabs.
In this embodiment, content from multiple view controllers may be merged into a single interface due to the container view controller. Thus, the tab to be tested may include at least two sub-tabs. Where each sub tab may correspond to an active page. That is, the page displayed by the tab is the page displayed by the sub tab currently in the activated state. Generally, the page corresponding to the sub tab can be displayed by clicking on the sub tab.
At this time, the container view controller corresponding to the tab to be tested may include at least two sub-controllers. Wherein, at least two sub tabs correspond to at least two sub controllers one by one. I.e. the page displayed by the corresponding sub tab can be controlled by the sub controller. And a container view controller corresponding to the tab to be tested may be used to manage at least two sub-controllers. For example, the container view controller corresponding to the tab to be tested may control the position of the page display, the page size, etc. displayed by the various sub-controllers embedded therein.
As an example, in some development environments, an addchaldvildviewowcontroller method may be utilized to add sub-controllers and a didmovetopartentviewcontroller may be utilized to remove sub-controllers. It should be understood that this is by way of example only, and that the relative approach of the container view controller used may vary in different development environments. For example, the associated methods of employing container controllers may differ for different operating systems, different development languages.
And step 302, in response to receiving a test request for indicating to replace the first page with the second page, controlling to replace the first page with the second page by using a sub controller corresponding to the sub tab where the first page is located so as to complete the A/B test of the page displayed by the tab.
In this embodiment, when a test request is received, the sub-controller corresponding to the sub-tab where the first page is located can directly control the replacement of the first page, and the influence on the pages corresponding to other sub-tabs is avoided, so that the test speed of the pages corresponding to the sub-tabs is increased, and the test stability is ensured.
In some optional implementations of the present embodiment, the at least two sub tabs may include a composite sub tab. Wherein a composite sub tab may be a sub tab that includes at least two sub tabs. At this time, the sub-controller corresponding to the composite sub-tab may include at least two sub-controllers, and the at least two sub-tabs included in the composite sub-tab correspond to the at least two sub-controllers included in the sub-controller corresponding to the composite sub-tab one to one.
Wherein, in some cases, the tabs may be nested in multiple levels, i.e., a sub-tab may also include at least two sub-tabs. Correspondingly, at least two sub-controllers can be embedded in the sub-controllers corresponding to the sub-tabs and respectively used for controlling different sub-tabs.
It should be appreciated that the nesting of tabs, and the nesting of corresponding controllers, may be arranged in conjunction with specific application scenarios and test requirements. For example, when a sub tab needs to display a plurality of pages and various styles of the pages therein need to be tested, it can be considered that the corresponding pages are controlled by nested sub controllers in a nested manner. Therefore, in the test process, the page is quickly updated by using the sub-controllers, and other pages cannot be influenced.
In some optional implementations of the embodiment, in response to receiving a test request for instructing to modify the content of the first page presentation, the sub-controller corresponding to the tab where the first page is located controls to modify the content of the first page presentation.
In this embodiment, the sub-controller corresponding to the sub-tab can control the hierarchical structure (for example, the navigation bar, the comment area, and the like are displayed), the size, and the like of the content displayed on the page corresponding to the sub-tab. Therefore, the sub-controllers corresponding to the sub-tabs can be utilized to control and modify the content of the page corresponding to the sub-tabs.
Alternatively, the portions of the page corresponding to the sub tabs may be set to be controlled by the corresponding sub controllers, respectively. At this time, the A/B test can be performed on each part of the page. For example, a page to which a sub tab corresponds is made up of at least two sub portions. The sub-controllers corresponding to the sub-tabs may include at least two sub-controllers, and the at least two sub-controllers respectively correspond to at least two sub-portions included in the page corresponding to the tabs.
At this time, similarly, when a part of the page corresponding to the sub tab is updated, the update of the content displayed by the part may be controlled by the sub controller corresponding to the part. Similarly, the method can avoid the influence on other parts of the page corresponding to the sub tabs, is not easy to make mistakes in the test process, and ensures the stability of the test.
With continued reference to fig. 4, fig. 4 is a schematic diagram 400 of an application scenario of the a/B testing method according to the present embodiment. In the application scenario of fig. 4, the bottom of the home page of the client application includes three tabs: "A", "B" and "C". Wherein the tab to be tested is tab "B". The contents of tab "B" display are controlled by a container view controller predefined by the technician.
Clicking on tab "B" can see that tab "B" includes connecting sub-tabs: "B1" and "B2". In which the first page 401 corresponding to sub tab "B1" is currently displayed. Wherein sub tab "B1" corresponds to a first sub controller of a container view controller predefined by a technician and sub tab "B2" corresponds to a second sub controller of the container view controller predefined by the technician. The container view controller may be used to manage and control the first sub-controller and the second sub-controller.
When the execution main body receives a command for instructing to perform an a/B test on a page corresponding to the sub tab "B1" and replace the first page 401 displayed by the sub tab "B1" with the second page 402, the first sub-controller may control to directly replace the first page 401 currently displayed by the sub tab "B1" with the second page 402, so as to update the page currently displayed by the sub tab "B1", so that a tester can complete an a/B test on the page displayed by the sub tab "B1".
The a/B test method described in this embodiment facilitates a/B test on each sub tab by setting up a sub controller to control the corresponding sub tab, respectively. Only the corresponding sub-controllers are needed to control the updating of the pages of the corresponding sub-tabs, and the pages of other sub-tabs are not affected. In addition, because each sub tab is updated independently, the updating method is convenient for developers and testers to work, and avoids mixing the updates of each sub tab together, thereby being easy to make mistakes in the testing process.
With further reference to fig. 5, as an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of an a/B testing apparatus, which corresponds to the embodiment of the method shown in fig. 2, and which may be applied in various electronic devices.
As shown in fig. 5, the a/B test apparatus 500 provided in the present embodiment includes a determination unit 501 and a test unit 502. Wherein the determining unit 501 is configured to determine a page currently displayed by a tab to be tested as a first page, wherein the page displayed by the tab to be tested is controlled by a corresponding container view controller; the test unit 502 is configured to control, with the container view controller, the replacement of the first page with the second page to complete the a/B test of the tab displayed page in response to receiving a test request indicating the replacement of the first page with the second page.
In the present embodiment, in the a/B test apparatus 500: the specific processing of the determining unit 501 and the testing unit 502 and the technical effects thereof can refer to the related descriptions of step 201 and step 202 in the corresponding embodiment of fig. 2, which are not repeated herein.
In some optional implementations of this embodiment, the tabs include at least two sub-tabs, and the container view controller includes at least two sub-controllers, and the at least two sub-tabs correspond to the at least two sub-controllers one-to-one; and the test unit 502 is further configured to: and controlling to replace the first page with a second page by utilizing a sub-controller corresponding to the sub-tab where the first page is located so as to finish the A/B test of the page displayed by the tab.
In some optional implementations of this embodiment, the at least two sub tabs comprise a composite sub tab, wherein the composite sub tab is a sub tab comprising at least two sub tabs; and the sub-controllers corresponding to the composite sub-tabs comprise at least two sub-controllers, and the at least two sub-tabs comprised by the composite sub-tabs correspond to the at least two sub-controllers comprised by the sub-controllers corresponding to the composite sub-tabs one to one.
In some optional implementations of the embodiment, the testing unit 502 is further configured to, in response to receiving a test request for instructing modification of the content of the first page presentation, control, by a sub-controller corresponding to the tab where the first page is located, to modify the content of the first page presentation.
In the apparatus provided by the foregoing embodiment of the present disclosure, a page currently displayed by a tab to be tested is determined as a first page by the determining unit 501, where the page displayed by the tab to be tested is controlled by a corresponding container view controller; the test unit 502 responds to a test request for indicating that the first page is replaced by the second page, and the container view controller is used for controlling the replacement of the first page by the second page so as to complete the A/B test on the page displayed by the tab, so that when the page corresponding to the tab to be tested is updated, the container controller is used for directly replacing the page without a large amount of logic judgment written in advance, processing other pages is not needed, and any influence on other pages is avoided, thereby accelerating the test and ensuring the stability of the test.
Referring now to FIG. 6, a schematic diagram of an electronic device (e.g., the server of FIG. 1) 600 suitable for use in implementing embodiments of the present disclosure is shown. The server shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, electronic device 600 may include a processing means (e.g., central processing unit, graphics processor, etc.) 601 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM603, various programs and data necessary for the operation of the electronic apparatus 600 are also stored. The processing device 601, the ROM 602, and the RAM603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
In general, input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc., output devices 607 including, for example, a liquid crystal display (L CD), speaker, vibrator, etc., storage devices 608 including, for example, magnetic tape, hard disk, etc., and communication devices 609.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 609, or may be installed from the storage means 608, or may be installed from the ROM 602. The computer program, when executed by the processing device 601, performs the above-described functions defined in the methods of embodiments of the present disclosure.
It should be noted that the computer readable medium described in the embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In embodiments of the present disclosure, however, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be embodied in the server; or may exist separately and not be assembled into the server. The computer readable medium carries one or more programs which, when executed by the server, cause the server to: determining a current displayed page of a to-be-tested tab as a first page, wherein the displayed page of the to-be-tested tab is controlled by a corresponding container view controller; in response to receiving a test request indicating replacement of the first page with a second page, controlling, with the container view controller, the replacement of the first page with the second page to complete the A/B testing of the tab displayed page.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including AN object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor includes a determination unit and a test unit. Where the names of the cells do not in some cases constitute a definition of the cell itself, for example, the determination cell may also be described as a "cell determining the page currently displayed by the tab to be tested as the first page".
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is made without departing from the inventive concept as defined above. For example, the above features and (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure are mutually replaced to form the technical solution.

Claims (8)

1. An A/B testing method comprising:
determining a page currently displayed by a tab to be tested as a first page, wherein the page displayed by the tab to be tested is controlled by a corresponding container view controller, the tab comprises at least two sub-tabs, the container view controller comprises at least two sub-controllers, and the at least two sub-tabs are in one-to-one correspondence with the at least two sub-controllers;
in response to receiving a test request for instructing replacement of the first page with a second page, controlling, with the container view controller, replacement of the first page with the second page to complete an A/B test of the tab displayed page;
the replacing the first page with the second page by using the container view controller to complete the A/B test of the page displayed by the tab card comprises: replacing the first page with the second page by utilizing the control of a sub-controller corresponding to the sub-tab where the first page is located so as to complete the A/B test of the page displayed by the tab;
the page corresponding to each sub-tab comprises at least two sub-parts, the sub-controller corresponding to each sub-tab comprises at least two sub-controllers, and the at least two sub-controllers included in the sub-controller corresponding to each sub-tab correspond to the two sub-parts included in the page corresponding to the sub-tab respectively; and
the method further comprises the following steps: and realizing A/B test of each part in the page corresponding to each sub tab by utilizing at least two sub controllers included in the sub controller corresponding to each sub tab.
2. The method of claim 1, wherein the at least two sub tabs comprise a composite sub tab, wherein the composite sub tab is a sub tab comprising at least two sub tabs; and
the sub-controllers corresponding to the composite sub-tabs comprise at least two sub-controllers, and the at least two sub-tabs comprised by the composite sub-tabs correspond to the at least two sub-controllers comprised by the sub-controllers corresponding to the composite sub-tabs one to one.
3. The method of claim 1, wherein the method further comprises:
and in response to receiving a test request for indicating to modify the content displayed by the first page, utilizing a sub-controller corresponding to the tab where the first page is located to control to modify the content displayed by the first page.
4. An A/B test apparatus comprising:
the system comprises a determining unit, a first page and a second page, wherein the first page is a page currently displayed by a tab to be tested, the page displayed by the tab to be tested is controlled by a corresponding container view controller, the tab comprises at least two sub-tabs, the container view controller comprises at least two sub-controllers, and the at least two sub-tabs are in one-to-one correspondence with the at least two sub-controllers;
a test unit configured to control, with the container view controller, replacement of the first page with a second page to complete an A/B test of the tab-displayed page in response to receiving a test request for instructing replacement of the first page with the second page;
the test unit is further configured to: replacing the first page with the second page by utilizing the control of a sub-controller corresponding to the sub-tab where the first page is located so as to complete the A/B test of the page displayed by the tab;
the page corresponding to each sub-tab comprises at least two sub-parts, the sub-controller corresponding to each sub-tab comprises at least two sub-controllers, and the at least two sub-controllers included in the sub-controller corresponding to each sub-tab correspond to the two sub-parts included in the page corresponding to the sub-tab respectively; and
the test unit is further configured to: and realizing A/B test of each part in the page corresponding to each sub tab by utilizing at least two sub controllers included in the sub controller corresponding to each sub tab.
5. The apparatus of claim 4, wherein the at least two sub tabs comprise a composite sub tab, wherein the composite sub tab is a sub tab comprising at least two sub tabs; and
the sub-controllers corresponding to the composite sub-tabs comprise at least two sub-controllers, and the at least two sub-tabs comprised by the composite sub-tabs correspond to the at least two sub-controllers comprised by the sub-controllers corresponding to the composite sub-tabs one to one.
6. The apparatus of claim 4, wherein the test unit is further configured to:
and in response to receiving a test request for indicating to modify the content displayed by the first page, utilizing a sub-controller corresponding to the tab where the first page is located to control to modify the content displayed by the first page.
7. A server, comprising:
one or more processors;
a storage device having one or more programs stored thereon;
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-3.
8. A computer-readable medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-3.
CN201910376839.8A 2019-05-07 2019-05-07 A/B test method and device Active CN110069417B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910376839.8A CN110069417B (en) 2019-05-07 2019-05-07 A/B test method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910376839.8A CN110069417B (en) 2019-05-07 2019-05-07 A/B test method and device

Publications (2)

Publication Number Publication Date
CN110069417A CN110069417A (en) 2019-07-30
CN110069417B true CN110069417B (en) 2020-07-31

Family

ID=67370411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910376839.8A Active CN110069417B (en) 2019-05-07 2019-05-07 A/B test method and device

Country Status (1)

Country Link
CN (1) CN110069417B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113298579A (en) * 2020-02-21 2021-08-24 北京沃东天骏信息技术有限公司 Method and device for displaying product list

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108469970B (en) * 2017-02-17 2021-09-14 阿里巴巴集团控股有限公司 Page tab information processing method and device
CN107832051A (en) * 2017-09-26 2018-03-23 五八有限公司 The page navigation processing method and processing device of application program
CN107943475A (en) * 2017-12-20 2018-04-20 上海携程商务有限公司 Method and apparatus based on CSS displayed web pages
CN109165050B (en) * 2018-07-05 2020-10-13 腾讯科技(深圳)有限公司 Program running method and device, computing equipment and storage medium
CN109710348A (en) * 2018-11-14 2019-05-03 深圳壹账通智能科技有限公司 The method and device of page jump, computer equipment, storage medium

Also Published As

Publication number Publication date
CN110069417A (en) 2019-07-30

Similar Documents

Publication Publication Date Title
US9678740B2 (en) Migration mechanism
WO2020207454A1 (en) Information pushing method and device
US20210208854A1 (en) System and method for enhancing component based development models with auto-wiring
CN109491646B (en) Message entry method and device, electronic equipment and readable medium
EP4296849A1 (en) Accelerating application and sub-package installations
CN111506904B (en) Method and device for online bug repair
CN112948018A (en) Dynamic library loading method, device, equipment and medium for small program
CN111796851A (en) Client base library updating method and device, electronic equipment and storage medium
CN109840109B (en) Method and apparatus for generating software development toolkit
CN109800020B (en) Automatic code adjusting method, device, equipment and medium for program development
CN110879729A (en) Channel configuration method and device for live broadcast room, readable medium and electronic equipment
CN110069417B (en) A/B test method and device
CN111580883B (en) Application program starting method, device, computer system and medium
CN113407229B (en) Method and device for generating offline scripts
US11836503B2 (en) Electronic device for executing heterogeneous operating systems and method therefor
CN115167822A (en) Branch code merging method, device, equipment and storage medium
CN114741294A (en) Page debugging method, device, equipment and storage medium
CN114168485A (en) Test method, device, equipment and medium
CN104951325A (en) Information display method and electronic equipment
CN112882921B (en) Fault simulation method and device
CN114035864A (en) Interface processing method, interface processing device, electronic device, and storage medium
AU2017227739A1 (en) Automated testing method for application program user interface, electronic device, system, and storage medium
CN116157774A (en) Method and system for providing engineering of industrial equipment in cloud computing environment
CN113326079A (en) Service version switching method, switching device, electronic equipment and storage medium
CN111414232A (en) Method and device for processing template data of virtual machine

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230712

Address after: 100190 1309, 13th floor, building 4, Zijin Digital Park, Haidian District, Beijing

Patentee after: Beijing volcano Engine Technology Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Douyin Vision Co.,Ltd.