【总结】A/B测试方案

  作者:zhanhailiang 日期:2014-11-26

上个版本迭代,实现了针对移动m站首页的AB测试功能,总结下对AB测试的理解。

1. 基本概念

所谓A/B测试,就是为同一个目标制定两个方案(比如两个页面),让一部分用户使用A方案,另一部分用户使用B方案,记录下用户的使用情况,看哪个方案更符合设计目标。

其中需要注意以下3点:

  1. 进行A/B测试必须是单变量。有时我们的多个设计稿可能会有非常大的差异,这样的情况一般不太适合做A/B测试,因为它们的变量太多了,变量之间会有较多的干扰,我们很难通过A/B测试的方法来找出各个变量对结果的影响程度。
  2. A/B测试名字中只包含A、B,但实际上,你完全可以设计多个方案进行测试,“A/B测试”这个名字只是一个习惯的叫法。
  3. 进行A/B测试时必须保证不同的用户在他的一次浏览过程中,看到的应该一直是同一个方案。

2. 实现步骤

  1. 开发两个(或多个)不同的版本并部署;
  2. 收集数据;
  3. 分析数据,得出结果,重新回到1,进行下一个迭代;

AB测试方案的实现原理主要分为服务器端的实现和客户端实现;

  1. 服务器端的实现主要是当次请求判断展示相应方案的页面,并记录下日志,方便后续的数据统计;
  2. 客户端的实现主要是在客户端进行分流,根据用户类型判断需要展示相应方案的页面;

以m站首页的技术方案为例,采用的是服务器端直接判断展示相应方案的页面,同时设置版本标记位m_new_index(0:老版,1:新版),方便BI统计。但是后续的BI统计发现首页的总UV比A|B版本的总和多出20%,分析结果在于m站首页的跳出率确实高达20%,而写cookie的方案本身是无法统计到这部分首次访问就直接跳出的用户。后续的优化方案是通过用户访问首页后再单独发送一个带版本标记位的请求,而BI统计该请求就可以避免以上问题,demo如下:

var flag = {
    newIndex : 1, // 这里要初始化当前版本的标记位
    others : 2
};
 
var params = $.params(flag); // newIndex=1&others=2
var image = new Image();
image.src = ‘/n?‘ + params;

3. 数据分析

需要明确一点,实现AB分流方案的目的是希望通过对比判断两个版本的优劣,以电商网站为例,主要表现在转化率相关指标的对比上。 所以后续的数据分析需要能准确的体现两种方案对实际业务数据的影响对比。

4. 参考文章

  1. A/B测试:基本概念
  2. A/B测试:实现方法
  3. 谈谈网站测试中的AB测试方法
时间: 2024-11-20 07:50:05

【总结】A/B测试方案的相关文章

汽车车载天线整车测试方案

随着生活水平的提高,我国的汽车普及率也越来越高,汽车产业发展迅速.而且,车载通信技术和车联网技术也在不断的发展进步,相应地,汽车制造行业对汽车天线测试尤其是整车天线测试的需求越来越多.但是,目前在国内整车天线测试的测试环境不足,测试效率不够高,在一定程度上制约了汽车制造业的发展. 天线测试行业根据汽车行业的市场需求,推出了整车天线测试方案. 车载天线测试平台(方案之一) 汽车作为一个综合体,有多种频段通信的需求,包括: (1)0.15MHz~2.5GHz频段 (2)2.5GHz-30GHz频段

测试计划与测试方案的区别

 测试计划与测试方案的关系对比: 测试计划 测试方案 目标      对测试全过程的组织.资源.原则等进行规定和 约束,并制订测试全过程各个阶段的任务以及时 间进度安排,提出对各项任务的评估.风险分析 和需求管理      描述需要测试的特性.测试的方法.测试环境的 规划.测试工具的设计和选择.测试用例的设计 方法.测试代码的设计方案. 关注点      组织管理层面的文件,从组织管理的角度对一次 测试活动进行规划      技术层面的文档,从技术的角度度一次测试活动 进行规划 具体内容  1.

移动app测试方案及流程&测试点归纳

移动app测试方案及流程 1.首先是测试 资源确认及准备 (1)产品需求文档,产品原型图 ,接口说明文档及设计文档应该齐全 (2)测试设备及测试工具 的准备:IOS和android的不同年版本的真机,以及测试相关工具的准备 2.测试用例的设计及评审 (1)根据产品需求文档,产品原型图等文档,设计客户端的一般功能测试用例 (2)测试用例评审,修改与完善,评审过后着手进入正式测试阶段 3. UI测试 (1)确保手头的原型图与效果图为当前最新版本,符合产品经理及用户需求 (2)测试过程一切以效果图为准

代码审计:安全性测试方案

安全性测试方案 一.静态代码测试 主要通过对源代码进行安全扫描,根据程序中数据流.控制流.语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安全漏洞.   代码审计工具RIPS:   介绍:RIPS是一个用php编写的源代码分析工具,它使用了静态分析技术,能够自动化地挖掘PHP源代码潜在的安全漏洞.渗透测试人员可以直接容易的审阅分析结果,而不用审阅整个程序代码.由于静态源代码分析的限制,漏洞是否真正存在,仍然需要代码审阅者确认.RIPS能够检测XSS, SQL注入, 文件泄露,Hea

代码审核:安全性测试方案

安全性测试方案 一.静态代码测试 主要通过对源代码进行安全扫描,根据程序中数据流.控制流.语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安全漏洞.   代码审计工具RIPS:   介绍:RIPS是一个用php编写的源代码分析工具,它使用了静态分析技术,能够自动化地挖掘PHP源代码潜在的安全漏洞.渗透测试人员可以直接容易的审阅分析结果,而不用审阅整个程序代码.由于静态源代码分析的限制,漏洞是否真正存在,仍然需要代码审阅者确认.RIPS能够检测XSS, SQL注入, 文件泄露,Hea

黑盒测试基础之测试方案制定

1.     测试方案的重要性?   古人云:运筹帷幄之中,决胜千里之外.古人足不出户,通过正确的部署就能决定千里之外战争的胜利!而今对于测试人员而言,制定正确的测试方案,就是日后测试过程是否顺利的决定性因素!更是一个好的测试人员必备的技能之一! 所谓测试方案,是指整个测试过程中对测试人员.资源以及时间分配.合理的测试方案,能帮助测试过程有条不紊的进行,避免在测试过程中遭遇人员.时间.资源的冲突,以及测试环境搭建对测试进度的影响. 2.     测试计划OR测试方案傻傻分不清楚?一张图表回答你:

移动弱网测试方案之一

移动app在测试时,有时需要考虑弱网的情形下,app的表现,那么怎么营造这样子的环境呢? 一.首先需要控制网络,有两种方式其一使用网络损伤仪进行,其二采用软件方式.硬件采购费用太贵,因此使用win平台下的ShunraVESMBEditon或者Network Emulator for Windows Toolkit.两者都能达到控制丢包率,延迟等功能.考虑到ShunraVESMBEditon收费,接下来使用Network Emulator for Windows Toolkit软件. 二.手机ap

软件测试基础(五) 测试方案与测试计划

测试计划Testing plan,描述了要进行的测试活动的范围.方法.资源和进度的文档.它确定测试项.被测特性.测试任务.谁执行任务.各种可能的风险.测试计划可以有效预防计划的风险,保障计划的顺利实施.简而言之,测试计划说的是“做什么”. 测试方案描述的是测试需要测试的特性,测试的方法,测试环境的规划,测试工具的设计和选择,测试用例的设计以及测试代码的设计方案.简而言之,测试方案说的是“怎样做”. 测试计划编写6要素 1) why——为什么要进行这些测试: 2) what—测试哪些方面,不同阶段

测试方案

测试方案模板 文档标识: Project_Test_02 当前版本: 1.0当前状态: 草稿 ? 发布日期: 2004.08.20 发布 修改历史日期 版本 作者 修改内容 评审号 变更控制号 目录 1. 文档介绍 41.1 文档目的 41.2 文档范围 41.3 读者对象 41.4 参考文献 42. 功能测试用例 52.1 被测试对象的介绍 52.2 测试范围与目的 52.3 测试环境与测试辅助工具的描述 52.4 测试驱动程序的设计 52.5 功能测试用例 53. 兼容性测试用例 63.1