Specific embodiment
The disclosure is described in further detail with reference to the accompanying drawings and examples.It is understood that this place is retouched
The specific embodiment stated is used only for explaining related invention, rather than the restriction to the invention.It also should be noted that in order to
Convenient for description, part relevant to related invention is illustrated only in attached drawing.
It should be noted that in the absence of conflict, the feature in embodiment and embodiment in the disclosure can phase
Mutually combination.The disclosure is described in detail below with reference to the accompanying drawings and in conjunction with the embodiments.
Fig. 1 is shown can be using the exemplary architecture of the embodiment of the A/B test method or A/B test device of the disclosure
100。
As shown in Figure 1, system architecture 100 may include terminal device 101,102,103, network 104 and server 105.
Network 104 between terminal device 101,102,103 and server 105 to provide the medium of communication link.Network 104 can be with
Including various connection types, such as wired, wireless communication link or fiber optic cables etc..
Terminal device 101,102,103 is interacted by network 104 with server 105, to receive or send message etc..Terminal
Various client applications can be installed in equipment 101,102,103.Such as the application of browser class, searching class application, Instant Messenger
Believe class tool etc..
Terminal device 101,102,103 can be hardware, be also possible to software.When terminal device 101,102,103 is hard
When part, it can be various electronic equipments, including but not limited to smart phone, tablet computer, E-book reader, on knee portable
Computer and desktop computer etc..When terminal device 101,102,103 is software, above-mentioned cited electricity may be mounted at
In sub- equipment.Multiple softwares or software module may be implemented into (such as providing multiple softwares of Distributed Services or soft in it
Part module), single software or software module also may be implemented into.It is not specifically limited herein.
Server 105 can be to provide the server of various services, for example, be installed on terminal device 101,102,103
The back-end server tested of client application.It should be noted that the test side A/B provided by embodiment of the disclosure
Method is generally executed by server 105, and correspondingly, A/B test device is generally positioned in server 105.At this point it is possible to be not present
Terminal device 101,102,103 and network 104.
It may also be noted that can also be with to the test for the client application installed on terminal device 101,102,103
It is executed by terminal device 101,102,103.At this point, A/B test method can be executed by terminal device 101,102,103, accordingly
Ground, A/B test device also can be set in terminal device 101,102,103.At this point, exemplary system architecture 100 can not
Presence server 105 and network 104.
It should be noted that server 105 can be hardware, it is also possible to software.It, can when server 105 is hardware
To be implemented as the distributed server cluster that multiple servers form, individual server also may be implemented into.When server 105 is
When software, multiple softwares or software module may be implemented into (such as providing multiple softwares of Distributed Services or software mould
Block), single software or software module also may be implemented into.It is not specifically limited herein.
It should be understood that the number of terminal device, network and server in Fig. 1 is only schematical.According to realization need
It wants, can have any number of terminal device, network and server.
With continued reference to Fig. 2, it illustrates the processes 200 according to one embodiment of the A/B test method of the disclosure.The A/
B test method the following steps are included:
Step 201, determine the page that tabs to be tested is currently shown as first page.
In the present embodiment, tabs can correspond to a movable page.Generally, click option card can be passed through
Carry out the page corresponding to Show Tabs.Tabs to be tested can be determined according to specific testing requirement.Wherein, to be tested
The page that shows of tabs can be controlled by corresponding container view controller.Wherein, container view controller can manage
Shown content in container view controller.Container view controller can control the size and level knot of shown content
Structure.
As an example, in some exploitation environment, container view controller include UINavigationController,
UITabBarController, UISplitViewController etc..It should be appreciated that it is merely possible to example herein,
In different exploitation environment, used container view controller can be different.For example, being directed to different operating system, no
The container controller of same development language, use can be different.The A/B test method that the disclosure provides mainly utilizes container control
Device processed controls the independently updated of the page to be tested, and to the method for the realization container controller specifically used with no restriction.
Step 202, it is used to indicate the test request that first page is replaced with to second page in response to receiving, utilizes appearance
First page is replaced with second page to complete the A/B of the page shown to tabs test by the control of device view controller.
In the present embodiment, second page can preset testing requirement by technical staff and determine, then according to test
Demand sends test request.Wherein, test request can be by (such as being clicked by the pre-set various interactive modes of technical staff
Some buttons, such as restart using) send.
Content, size of the page as shown by tabs to be tested etc. can by corresponding container controller into
Row control.Therefore, it can directly be controlled using corresponding container controller and first page is replaced with into second page.Consequently facilitating
Tester detects display second page and shows the difference of first page, to realize the page shown to tabs to be tested
A/B test
And the page that tabs to be tested is shown is controlled by corresponding container controller, so as to be tested updating
Tabs show the page when, other tabss will not be impacted.In the prior art, there are many tabss to show respectively
Show the different pages, i.e., the page it is more in the case where, it will usually according to the test request received, pass through a large amount of logic judgment
To judge shown after renewal of the page to be which page and show.Such as need to judge the page currently shown which is, to
The page that the tabs of test is currently shown is which, each page whether show etc..Tabs is more, i.e., the number of total page
Mesh is more, and it is also more and more to will lead to required logic.And each logic judgment is all that needs are time-consuming, it is more and more multiple
Miscellaneous logic judgment not only will increase the workload of developer and tester, but also be easy error.
It is using container controller that tabs to be tested is corresponding by the method provided by the above embodiment of the disclosure
The update of the page is separated with other pages, to be controlled in the corresponding page of update tabs to be tested using container
Device directly does page replacement, does not need not needing to carry out other pages using a large amount of logic judgments write in advance
Processing, will not have any impact to other pages, to also ensure the stability of test while accelerating test.
With further reference to Fig. 3, it illustrates the processes 300 of another embodiment of A/B test method.The test side A/B
The process 300 of method, comprising the following steps:
Step 301, determine the page that tabs to be tested is currently shown as first page, wherein tabs includes
At least two sub-tabs.
In the present embodiment, since the content from multiple view controllers can be merged into list by container view controller
In a interface.Therefore, tabs to be tested may include at least two sub-tabs.Wherein, each sub-tab is ok
Corresponding to a movable page.I.e. the page shown by tabs is to be currently at shown by the sub-tab of state of activation
The page.Generally, the page corresponding to sub-tab can be shown by clicking sub-tab.
At this point, the corresponding container view controller of tabs to be tested may include at least two sub-controllers.Wherein,
At least two sub-tabs and at least two sub-controllers correspond.Corresponding sub- option can be controlled by sub-controller
Block the page of display.And the corresponding container view controller of tabs to be tested can be used for managing at least two son controls
Device.It is shown for example, the corresponding container view controller of tabs to be tested can control each sub-controller being embedded
The page show position, page-size etc..
As an example, can use addChildViewController method in some exploitation environment to add son
Controller removes sub-controller using didMoveToParentViewController.It should be appreciated that herein only
It is as an example, the correlation technique of used container view controller can be different in different exploitation environment.For example,
For different operating system, the correlation technique of different development languages, the container controller of use can be different.
Step 302, it is used to indicate the test request that first page is replaced with to second page in response to receiving, utilizes
The corresponding sub-controller of sub-tab where one page, which is controlled, replaces with second page for first page to complete to tabs
The A/B of the page of display is tested.
It in the present embodiment, can be as the corresponding son of the sub-tab where first page when receiving test request
Controller directly controls the replacement of first page, and avoids the influence to the corresponding page of other sub-tabs, thus promotion pair
The test speed of the corresponding page of sub-tab, while guaranteeing the stability of test.
In some optional implementations of the present embodiment, above-mentioned at least two sub-tab may include compound sub- choosing
Xiang Ka.Wherein, compound sub-tab can be the sub-tab for including at least two sub-tabs.At this point, compound sub-tab
Corresponding sub-controller may include at least two sub-controllers, and compound sub-tab at least two sub-tabs that include with
At least two sub-controllers that the corresponding sub-controller of compound sub-tab includes correspond.
Wherein, in some cases, tabs can be with multilayer nest, i.e. sub-tab also may include at least two
Sub-tab.Accordingly, it can also be embedded at least two sub-controllers in the corresponding sub-controller of sub-tab, and be respectively used to
Control different sub-tabs.
It should be appreciated that the nesting of the nesting of tabs and corresponding controller, can be combined with specifically applying
Scene and testing requirement are arranged.For example, needing to show multiple pages in sub-tab, and need to carry out the page therein
When the test of various patterns, it may be considered that nested sub-controller is utilized to control the corresponding page by way of nested.From
And during the test, the quick update to the page is realized using sub-controller, and will not influence other pages.
In some optional implementations of the present embodiment, modification first page displaying is used to indicate in response to receiving
Content test request, utilize the corresponding sub-controller control modification first page of tabs where first page to show
Content.
In the present embodiment, the corresponding sub-controller of sub-tab can control the corresponding page of sub-tab show it is interior
The hierarchical structure (such as show navigation bar, comment area part) of appearance, size etc..Thus, it is possible to corresponding using sub-tab
The corresponding page of sub-controller control modification sub-tab content.
It is alternatively possible to be respectively set each section of the corresponding page of sub-tab for by corresponding sub-controller control
System.At this point, can also each section to the page carry out A/B test respectively.For example, the corresponding page of sub-tab is by least two
Sub-portion is grouped as.Wherein, the corresponding sub-controller of sub-tab may include at least two sub-controllers, and this at least two son
Controller at least two subdivisions that the page corresponding with tabs includes respectively respectively correspond.
At this point, similarly, it, can be by the part when a portion to the corresponding page of sub-tab is updated
The update for the content that corresponding sub-controller control shows the part.Similarly, this mode can be to avoid to sub- tabs
The influence of the other parts of the corresponding page is also not easy to malfunction during the test, guarantees the stability of test.
With continued reference to the schematic diagram 400 that Fig. 4, Fig. 4 are according to the application scenarios of the A/B test method of the present embodiment.
In the application scenarios of Fig. 4, the homepage bottom of client application includes three tabss: " A ", " B ", " C ".Wherein, to be tested
Tabs be tabs " B ".The content of tabs " B " display is by technical staff's container view controller control predetermined
System.
Click option card " B " is it can be seen that tabs " B " includes connecting a sub-tab: " B1 ", " B2 ".Wherein, current aobvious
Show to be the corresponding first page 401 of sub-tab " B1 ".Wherein, it is predetermined to correspond to technical staff for sub-tab " B1 "
The first sub-controller and sub-tab " B2 " of container view controller correspond to technical staff's container view predetermined
Second sub-controller of controller.Container view controller can be used for managing and controlling the first sub-controller and the second son control
Device.
It receives to be used to indicate in above-mentioned executing subject and A/B test is done to the page corresponding to sub-tab " B1 ", it will be sub
When the first page 401 of tabs " B1 " display replaces with second page 402, it can be controlled by the first sub-controller and use second
The first page 401 that directly replacement sub-tab " B1 " of the page 402 is currently shown, to realize currently aobvious to sub-tab " B1 "
The update of the page shown, in order to which tester completes to test the A/B of sub-tab " B1 " page shown.
A/B test method described in the present embodiment controls corresponding sub-tab by the way that sub-controller is arranged respectively, from
And it is tested convenient for the A/B to each sub-tab.Only need to control the page of corresponding sub-tab using corresponding sub-controller
The update in face will not have an impact to the page of other sub-tabs.And this update mode due to each sub-tab all
Be it is independently updated, therefore, convenient for the work of developer and tester, the update by each sub-tab is avoided to be mixed into one
It rises, to be easy to malfunction during the test.
With further reference to Fig. 5, as the realization to method shown in above-mentioned each figure, present disclose provides A/B test devices
One embodiment, the Installation practice is corresponding with embodiment of the method shown in Fig. 2, which specifically can be applied to various electricity
In sub- equipment.
As shown in figure 5, A/B test device 500 provided in this embodiment includes determination unit 501 and test cell 502.Its
In, determination unit 501 is configured to determine the page that tabs to be tested is currently shown as first page, wherein to be measured
The page that the tabs of examination is shown is controlled by corresponding container view controller;Test cell 502 is configured in response to receive
To the test request that first page is replaced with to second page is used to indicate, controlled using container view controller by first page
Second page is replaced with to complete the A/B of the page shown to tabs test.
In the present embodiment, in A/B test device 500: the specific processing of determination unit 501 and test cell 502 and its
Brought technical effect can be respectively with reference to the related description of step 201 and step 202 in Fig. 2 corresponding embodiment, herein not
It repeats again.
In some optional implementations of the present embodiment, tabs includes at least two sub-tabs and container
View controller includes at least two sub-controllers, and at least two sub-tabs and at least two sub-controllers correspond;
And test cell 502 is further configured to: will using the corresponding sub-controller control of sub-tab where first page
First page replaces with second page to complete the A/B of the page shown to tabs test.
In some optional implementations of the present embodiment, at least two sub-tabs include compound sub-tab,
In, compound sub-tab is the sub-tab for including at least two sub-tabs;And the corresponding sub- control of compound sub-tab
Device includes at least two sub-controllers, and at least two sub-tabs that compound sub-tab includes are corresponding with compound sub-tab
Sub-controller include at least two sub-controllers correspond.
In some optional implementations of the present embodiment, test cell 502 is further configured in response to receiving
To the test request for being used to indicate the content that modification first page is shown, the corresponding sub- control of the tabs where first page is utilized
The content that device control modification first page processed is shown.
The device provided by the above embodiment of the disclosure determines that tabs to be tested is currently shown by determination unit 501
The page shown is as first page, wherein the page that tabs to be tested is shown is controlled by corresponding container view controller;
Test cell 502 is used to indicate the test request that first page is replaced with to second page in response to receiving, and is regarded using container
First page is replaced with second page to complete the A/B of the page shown to tabs test by the control of figure controller, so that
When updating the corresponding page of tabs to be tested, page replacement is directly done using container controller, do not need using
The a large amount of logic judgments write in advance do not need to handle other pages, will not have any impact to other pages,
To also ensure the stability of test while accelerating test.
Below with reference to Fig. 6, it illustrates the electronic equipment that is suitable for being used to realize embodiment of the disclosure, (example is as shown in figure 1
Server) 600 structural schematic diagram.Server shown in Fig. 6 is only an example, should not be to the function of embodiment of the disclosure
Any restrictions can be brought with use scope.
As shown in fig. 6, electronic equipment 600 may include processing unit (such as central processing unit, graphics processor etc.)
601, random access can be loaded into according to the program being stored in read-only memory (ROM) 602 or from storage device 608
Program in memory (RAM) 603 and execute various movements appropriate and processing.In RAM 603, it is also stored with electronic equipment
Various programs and data needed for 600 operations.Processing unit 601, ROM 602 and RAM603 are connected with each other by bus 604.
Input/output (I/O) interface 605 is also connected to bus 604.
In general, following device can connect to I/O interface 605: including such as touch screen, touch tablet, keyboard, mouse, taking the photograph
As the input unit 606 of head, microphone, accelerometer, gyroscope etc.;Including such as liquid crystal display (LCD), loudspeaker, vibration
The output device 607 of dynamic device etc.;Storage device 608 including such as tape, hard disk etc.;And communication device 609.Communication device
609, which can permit electronic equipment 600, is wirelessly or non-wirelessly communicated with other equipment to exchange data.Although Fig. 6 shows tool
There is the electronic equipment 600 of various devices, it should be understood that being not required for implementing or having all devices shown.It can be with
Alternatively implement or have more or fewer devices.Each box shown in Fig. 6 can represent a device, can also root
According to needing to represent multiple devices.
Particularly, in accordance with an embodiment of the present disclosure, it may be implemented as computer above with reference to the process of flow chart description
Software program.For example, embodiment of the disclosure includes a kind of computer program product comprising be carried on computer-readable medium
On computer program, which includes the program code for method shown in execution flow chart.In such reality
It applies in example, which can be downloaded and installed from network by communication device 609, or from storage device 608
It is mounted, or is mounted from ROM 602.When the computer program is executed by processing unit 601, the implementation of the disclosure is executed
The above-mentioned function of being limited in the method for example.
It is situated between it should be noted that computer-readable medium described in embodiment of the disclosure can be computer-readable signal
Matter or computer readable storage medium either the two any combination.Computer readable storage medium for example can be with
System, device or the device of --- but being not limited to --- electricity, magnetic, optical, electromagnetic, infrared ray or semiconductor, or it is any more than
Combination.The more specific example of computer readable storage medium can include but is not limited to: have one or more conducting wires
Electrical connection, portable computer diskette, hard disk, random access storage device (RAM), read-only memory (ROM), erasable type are programmable
Read-only memory (EPROM or flash memory), optical fiber, portable compact disc read-only memory (CD-ROM), light storage device, magnetic are deposited
Memory device or above-mentioned any appropriate combination.In embodiment of the disclosure, computer readable storage medium, which can be, appoints
What include or the tangible medium of storage program that the program can be commanded execution system, device or device use or and its
It is used in combination.And in embodiment of the disclosure, computer-readable signal media may include in a base band or as carrier wave
The data-signal that a part is propagated, wherein carrying computer-readable program code.The data-signal of this propagation can be adopted
With diversified forms, including but not limited to electromagnetic signal, optical signal or above-mentioned any appropriate combination.Computer-readable signal is situated between
Matter can also be any computer-readable medium other than computer readable storage medium, which can be with
It sends, propagate or transmits for by the use of instruction execution system, device or device or program in connection.Meter
The program code for including on calculation machine readable medium can transmit with any suitable medium, including but not limited to: electric wire, optical cable,
RF (radio frequency) etc. or above-mentioned any appropriate combination.
Above-mentioned computer-readable medium can be included in above-mentioned server;It is also possible to individualism, and without
It is incorporated in the server.Above-mentioned computer-readable medium carries one or more program, when said one or multiple journeys
When sequence is executed by the server, so that the server: determine the page that tabs to be tested is currently shown as first page,
Wherein, the page that tabs to be tested is shown is controlled by corresponding container view controller;It is used to indicate in response to receiving
The test request that first page is replaced with to second page is controlled using container view controller first page replacing with second
The page is tested with the A/B for completing the page shown to tabs.
The behaviour for executing embodiment of the disclosure can be write with one or more programming languages or combinations thereof
The computer program code of work, described program design language include object oriented program language-such as Java,
Smalltalk, C++ further include conventional procedural programming language-such as " C " language or similar program design language
Speech.Program code can be executed fully on the user computer, partly be executed on the user computer, as an independence
Software package execute, part on the user computer part execute on the remote computer or completely in remote computer or
It is executed on server.In situations involving remote computers, remote computer can pass through the network of any kind --- packet
Include local area network (LAN) or wide area network (WAN) --- it is connected to subscriber computer, or, it may be connected to outer computer (such as
It is connected using ISP by internet).
Flow chart and block diagram in attached drawing are illustrated according to the system of the various embodiments of the disclosure, method and computer journey
The architecture, function and operation in the cards of sequence product.In this regard, each box in flowchart or block diagram can generation
A part of one module, program segment or code of table, a part of the module, program segment or code include one or more use
The executable instruction of the logic function as defined in realizing.It should also be noted that in some implementations as replacements, being marked in box
The function of note can also occur in a different order than that indicated in the drawings.For example, two boxes succeedingly indicated are actually
It can be basically executed in parallel, they can also be executed in the opposite order sometimes, and this depends on the function involved.Also it to infuse
Meaning, the combination of each box in block diagram and or flow chart and the box in block diagram and or flow chart can be with holding
The dedicated hardware based system of functions or operations as defined in row is realized, or can use specialized hardware and computer instruction
Combination realize.
Being described in unit involved in embodiment of the disclosure can be realized by way of software, can also be passed through
The mode of hardware is realized.Described unit also can be set in the processor, for example, can be described as: a kind of processor
Including determination unit and test cell.Wherein, the title of these units is not constituted to the unit itself under certain conditions
It limits, for example, determination unit is also described as " determining the page that tabs to be tested is currently shown as first page
Unit ".
Above description is only the preferred embodiment of the disclosure and the explanation to institute's application technology principle.Those skilled in the art
Member it should be appreciated that embodiment of the disclosure involved in invention scope, however it is not limited to the specific combination of above-mentioned technical characteristic and
At technical solution, while should also cover do not depart from foregoing invention design in the case where, by above-mentioned technical characteristic or its be equal
Feature carries out any combination and other technical solutions for being formed.Such as disclosed in features described above and embodiment of the disclosure (but
It is not limited to) technical characteristic with similar functions is replaced mutually and the technical solution that is formed.