2010-07-15 70 views
3

对于Web应用程序拆分测试各种选项通常会进行拆分测试,以便使用Google网站优化工具等工具最大限度地提高其效果。最令人印象深刻的例子之一可能是谷歌,以及如何分裂测试了几十个蓝色的阴影以找到合适的。拆分测试Android应用程序的最佳实践

在开发android应用程序时,是否有遵循A/B测试或多变量测试的最佳实践?

回答

-3

最好的解决方法是构建可通过移动网络浏览器访问的移动应用程序。所以你可以像优化或其他东西一样实现a/b资源。尽管有本地应用程序的感觉,但你放弃了这一点。如果您正在尝试像在网络上一样测试原生应用程序。对不起,你是运气不好,至少据我所知

0

我只是考虑这一点(因此谷歌搜索,把我带到这里)。我的搜索没有收获和框架。

如果您在启动您想要测试的内容之前知道,这非常简单(理论上)。当您启动时请回家,并询问应用程序是否应显示A或B(并在发送结果时根据用户所在的群组发送)。

更可能的是,该应用程序已经出现了一个星期,现在你想开始测试变化。你可以上传一个新版本,这不是一个可怕的想法。但是,如果你不愿意给自己限制的人谁更新您的应用程序,它似乎可以从网上下载类和动态加载它们:

http://developer.android.com/reference/dalvik/system/DexFile.html http://developer.android.com/reference/dalvik /system/DexClassLoader.html

当然,您需要知道如何处理您下载的课程。我猜你的应用程序会给家里打电话更新,然后下载一个dex文件和一个描述文件,说明它应该替换哪个类。

我没有尝试过这个我自己。无论你如何处理这件事,我都有一种感觉,它不会很简单。

2

来到这里,然后继续下去的结果,并遇到了elegant answer。 (文森特老曹5月11日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"); 
    } 
    ... 
} 

我唯一的想法就是节约的选择,使他们每次都返回相同的布局。