进行 A/B(拆分)测试有两种主要的思想流派:
- 基于 Javascript 的解决方案,例如 Optimizely、Google Analytics Content Experiments。
- 服务器端解决方案,例如 Django-AB、Splango 和 django-lean。(另外,写你自己的。)
我的理解是,基于 Javascript 的解决方案对于“哪种颜色的按钮转换效果更好”非常出色,但对于切换整个页面布局来说并不是那么好,并且对于尝试大型功能更改(例如漏斗中的页面序列)完全不可行。
这使我转向服务器端解决方案。我并不热衷于编写自己的代码,只有在没有其他选择的情况下才会这样做。我试图通过改进我网站的核心功能来增加价值,而不是通过创建更好的拆分测试框架。
我发现的用于拆分测试的 Django 应用程序是各种未维护、未记录、记录不正确以及与 Django 1.5 不兼容的混合体。这让我感到惊讶,因为 Django 和 Python 社区似乎非常关注良好的文档。我也很惊讶我尝试过的所有测试框架都没有与 Django 1.5 兼容——在 Django/Python 世界中,测试不像在 Rails 中那样作为核心哲学的一部分吗?
这是我发现的:
Splango https://github.com/shimon/Splango -- 与 Django 1.5 不兼容(尽管我发现的大多数兼容性错误都很容易修复)。自 2010 年 10 月以来基本未受影响,除了 2012 年 8 月的修复,该修复声称确保模板包含在安装中。由于通过 PyPI 安装 Splango 时模板不会包含在安装中,因此修复不起作用或未提交给 PyPI。文档在很大程度上是准确的,但并未完全涵盖如何设置测试和获取报告。它告诉您如何配置模板以收集数据,但管理界面中似乎需要额外的步骤,这些步骤完全没有记录,我不确定我是否正确完成了这些步骤。
Django 精益。https://bitbucket.org/akoha/django-lean的原文自 2010 年 7 月以来没有更新。在https://github.com/anandhenry2002/django-lean有一个明显的“祝福”叉子,它没有改变自 2012 年 5 月以来,它是从原版复制过来的。原始文档的错误导致无法遵循示例。(尽管您可能会像我一样糊涂。)新版本的文档存在格式问题,难以在 github 上阅读。(这似乎是因为它是旧项目中未更改的文档,并且 BitBucket 语法在 Github 上不起作用。) django-lean Google Group 自 2012 年 7 月以来没有收到任何消息。
django-mini-lean https://github.com/DanAncona/django-mini-lean -- 最近在 2013 年 2 月更新,但未记录。
Leaner - https://bitbucket.org/brianjinwright/leaner - 最后更新于 2012 年 7 月,没有文档。
Django-AB -- 最后更新于 2009 年 5 月。不是一个包,不能通过 PIP 或 PyPI 安装。将结帐放在我的 django app 文件夹中(并将文件夹重命名为 ab)并按照安装说明进行操作后,加载模板加载器时出错,我没有进一步追踪。
到目前为止,Splango 似乎是赢家,因为我实际上已经能够让它或多或少地工作(通过手动安装模板,然后编辑它们以修复 Django 1.5 的不兼容性)。
谁能指出我错过的任何事情?