【问题标题】:How do you use GAE traffic splitting for multivariate testing?您如何使用 GAE 流量拆分进行多变量测试?
【发布时间】:2012-02-29 18:03:04
【问题描述】:
今天发布了新的 GAE traffic splitting 功能,其预期用途之一是用于多变量测试。这似乎意味着您必须构建和部署应用程序的多个版本,一个用于测试的每个变体,这意味着您已经分支了您的版本控制系统(每个测试一个分支)。这似乎是一种管理测试的低效方式。它似乎也不包含任何类型的测试管理框架,不像Google's Website Optimizer,它包含用于管理多个测试的用户界面,还包含所有统计数据收集和分析工具。
是否有人考虑使用新的流量拆分功能进行多变量测试?为什么要在网站优化器上使用它?你将如何设置流量拆分测试——你会分支你的版本控制系统并编写你自己的基础设施来测量和分析测试吗?或者,与其编写自己的代码,是否有适合此目的的多变量测试库?
【问题讨论】:
标签:
google-app-engine
google-website-optimizer
multivariate-testing
【解决方案1】:
您可以在已部署应用程序的版本之间选择流量拆分,而不必在版本控制中选择不同的修订版。每个版本中的代码不必非常不同,如果有的话。在 java 中,您在 appengine-web.xml 中定义版本。
例如,假设您想运行一个简单的 A-B 测试,以比较您的网站版本是否包含广告。您可能正在寻找对跳出率、加载时间、广告效果等的影响。在您的代码中,您可以将广告显示代码包装在带有如下标志的代码块中:
if (ADS_ON) {
// display ad...
}
您将应用程序版本设置为“ads-on”并将 ADS_ON 设置为 true 并进行部署。然后将应用程序版本设置为“ads-off”并将 ADS_ON 设置为 false 并重新部署。
现在我已经把它打出来了,是的,我同意它有点笨拙,但这个新功能仍然允许你做以前不能做的事情。您将能够查看每个版本的 appengine 仪表板并比较它们如何消耗资源。
如果您想测试两个完全不同的实现的运行成本,那么在您的版本控制中设置两个分支是有意义的。