为您的django项目进行超级简单的拆分测试。

django-easy-split的Python项目详细描述


![http://i.imgur.com/vousi65.png](http://i.imgur.com/vousi65.png)
django轻松拆分
======


django轻松拆分测试!

停止猜测,开始测试!使用**django easy split**,您将能够科学地证明
站点的哪些方面比其他方面转换得更好。非常适合测试副本、设计、样式、布局、资产,甚至价格和功能集。

*简单的安装和使用
*使用卡方检验生成统计报告(支持numypy/scipy选项)
*自动排除机器人



只需安装它,定义要测试的内容和目标,
然后坐下来,等待数据进入,最后分析并查看报告。您可以从模板中做几乎所有正确的事情,不需要手动创建数据模型。


安装django easy split

``python
pip安装django easy split
```

>1。在已安装的应用程序设置中添加"Easy_Split",如下所示:

``python
installed_apps=(

'Easy_Split',

```

2。同步数据库:

``python
python manage.py sync db
````

3。在URL中添加**简单拆分**:

``python
url patterns=patterns('',

url(r'^admin/doc/',include('django.contrib.admincods.urls'),
url(r'^admin/split/',include('easy撸split.admin撸urls'),
url(r'^admin/',include(admin.site.urls)),

url(r"^split/",include('easy_u split.url'),
````



将访问者分配到实验组,方法是使用此装饰程序包装您的视图:

``python
来自Easy廑Split.decorators import set廑experiment廑user

@set廑experiment廑user
def landing廑page(request):
return render廑to廑response('split廑me.html',,context_instance=requestcontext(request))
````


5。在基本html中包含必要的bot(不包括javascript)。不需要jquery!:

``html
{%load easy_split%}

<;head>;
{%split_js%}
<;head>;
```


6。定义您的测试内容:

``html

{%split try\u或_buy control%}
<;a href="/payment/"class="btn large btn primary">;
buy now!
<;/a>;
{%endsplit%}

{%split try_或_buy test%}
<;a href="/payment/"class="btn large btn primary">;
免费试用!
<;/a>;
{%endsplit%}
````

>7。设定你的目标。最简单的方法是把这个简单的标签放在你的目标页面上(例如,在付款后页面上)。您还可以在视图中以编程方式定义它们。

``html
{%goal"try廑or廑buy"%}
```

>8。测试一下!确保所有URL都正常工作,并且目标记录正在数据库中创建。

9。最后,随着时间的推移收集到足够的数据后,运行:

``python
python manage.py update_experiment_reports
````

>生成报告,然后浏览到**/admin/split/**查看报告!


如果您正在测试整个功能,而不仅仅是复制或样式更改,则此功能非常有用。

这里有两个重要部分:测试用户和记录结果。

实验用户,

`` python
来自easy_split.models导入实验
来自easy_split.utils导入webuser
来自easy_split.decorators导入set_实验用户

@set_实验用户
def登录页(请求):
如果是实验,则测试("我的实验"名称,webuser(请求):
返回render_to_response('new_landing.html',{},context_instance=requestcontext(请求))
否则:
返回render_to_response('landing.html',{},context_instance=requestcontext(请求))
```

然后,您需要记录事件的记录通过测试:

``python
from easy撸split.models import goalrecord
from easy撸split.utils import webuser


def conversion撸page(request):

_response('success.html',{},context\u instance=requestcontext(request))

````

,就这样!


就目前而言,无论你在寻找什么,最好是逆流而上。此包还包含[Alex
Kehayias的博客文章](http://alex kehayias.tumblr.com/post/15951774761/ab-split-testing-django)中提到的关于此主题的更改。

django easy split打算更新和简化django lean。作为一个对社区有用的产品,这可能会实现,也可能永远不会实现——它可能只是一堆没有文档的代码,只对我自己的目的非常有用。不过,我大部分时间都会在公共场合工作,所以我们会看到的。


\todo

*documentation,packaging,examples,tests
*email reporting?
*自动化的集成测试队列。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在Eclipse中设置Java路径,以便在外部驱动器上运行它?   在windows上使用Java服务包装器GUI与桌面交互   java是与此字符序列不匹配的正则表达式   java无法使用kafka管理客户端API创建具有所需分区的kafka主题   java基于单个单元格值获取整个excel行   当使用Spring的构造函数注入时,java bean是否在构造函数中完全初始化?   java重置LineNumberReader的计数器   将字符串从Java文件传递到jQuery   安卓在来自不同Java类文件的活动中祝酒   java在使用mvvm时如何在zk中更新progressmeter   使用regex获取由“”Java包围的值   使用tester类的java猜谜游戏   api响应的java POJO,其密钥为“”   java正则表达式,用于匹配长度大于n的字母和数字字符串?   java如何使用Json保存和恢复RecyclerView项的位置   在Java中用字符代码替换字符串   Jenkins中的java PermGen错误   java swing panel问题   boolean在Java中,false如何可能等于true   java如何使用Servlet从HTML表单中检索“分组”项?