代码之家  ›  专栏  ›  技术社区  ›  Christian

分离测试android应用程序的最佳实践

  •  3
  • Christian  · 技术社区  · 14 年前

    对于web应用程序的拆分测试,通常会使用google website optimizer等工具对各种选项进行拆分测试,以最大限度地提高它们的效率。其中一个最令人印象深刻的例子可能是google,以及split如何测试几十种深浅的蓝色以找到合适的一种。

    开发android应用程序时,a/b测试或多变量测试是否需要遵循最佳实践?

    3 回复  |  直到 14 年前
        1
  •  2
  •   user Roman    12 年前

    先到这里然后继续往下看结果 elegant answer . (蔡文森特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"); 
       } 
       ... 
    }
    

    我唯一的想法是保存选择,这样它们每次都会返回到相同的布局。

        2
  •  0
  •   MaximumGoat    13 年前

    我正在考虑这个(因此谷歌搜索把我带到这里)。我的搜索没有结果和框架。

    如果你在启动你想测试的东西之前就知道了,那就相当简单了(理论上)。启动时打电话回家,询问应用程序是否应显示A或B(并发送结果时用户所在的队列)。

    更有可能的是,这款应用已经发布一周了,现在你想开始测试变种。你可以上传一个新版本,这不是个糟糕的主意。但如果你不愿意把自己限制在更新你的应用程序的人身上,你似乎可以从网上下载类并动态加载它们:

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

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

    我自己也没试过。不管你怎么做,我都觉得这不会很简单。

        3
  •  -3
  •   Alex Brown    13 年前

    最好的解决方法是构建一个可通过移动web浏览器访问的移动应用程序。所以你可以实现A/B资源,比如优化或者其他什么。不过,你失去了使用本机应用程序的好处。如果您尝试a/b测试本机应用程序,就像在Web上一样。很抱歉你运气不好,至少据我所知