【发布时间】:2010-07-15 18:12:24
【问题描述】:
对于 Web 应用程序拆分测试,通常会使用 Google 网站优化器等工具对各种选项进行拆分测试,以最大限度地提高其有效性。最令人印象深刻的例子之一可能是 Google,以及拆分如何测试数十种蓝色阴影以找到合适的。
在开发 Android 应用程序时,是否可以遵循 A/B 测试或多变量测试的最佳实践?
【问题讨论】:
标签: android testing multivariate-testing
对于 Web 应用程序拆分测试,通常会使用 Google 网站优化器等工具对各种选项进行拆分测试,以最大限度地提高其有效性。最令人印象深刻的例子之一可能是 Google,以及拆分如何测试数十种蓝色阴影以找到合适的。
在开发 Android 应用程序时,是否可以遵循 A/B 测试或多变量测试的最佳实践?
【问题讨论】:
标签: android testing multivariate-testing
首先来到这里,然后继续向下搜索结果并遇到了elegant answer。 (Vincent Tsao 11 年 5 月 12 日)
private static final boolean isA = UUID.randomUUID().getLeastSignificantBits() % 2 == 0;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
if(isA){
setContentView(R.layout.mainA);
MyApp.getInstance().tracker().trackPageView("/AUser");
}else{
setContentView(R.layout.mainB);
MyApp.getInstance().tracker().trackPageView("/BUser");
}
...
}
我唯一的想法是保存选择,以便它们每次都返回相同的布局。
【讨论】:
我只是在考虑这个(因此谷歌搜索把我带到了这里)。我的搜索没有结果和框架。
如果您在发布您想要测试的内容之前就知道,这很简单(理论上)。启动时打电话回家,询问应用程序是否应该显示 A 或 B(并在您发送结果时发送用户所在的群组)。
更有可能的是,该应用已经发布了一周,现在您想开始测试变体。你可以上传一个新版本,这不是一个糟糕的主意。但是,如果您不愿意将自己限制在更新您的应用程序的人中,您似乎可以从网络下载类并动态加载它们:
http://developer.android.com/reference/dalvik/system/DexFile.html http://developer.android.com/reference/dalvik/system/DexClassLoader.html
当然,您需要知道如何处理您下载的课程。我猜你的应用程序会打电话回家进行更新,然后下载一个 dex 文件和一个描述文件,说明它应该替换哪个类。
我自己没有尝试过。无论你用它做什么,我都觉得它不会是直截了当的。
【讨论】:
最好的解决方法是构建一个可通过移动网络浏览器访问的移动应用。因此,您可以实现 a/b 资源,例如优化之类的。但是,您失去了拥有本机应用程序感觉的好处。如果您尝试像在 Web 上一样对本机应用程序进行 a/b 测试。很抱歉你运气不好,至少据我所知
【讨论】: