swab:简单的wsgi a/b测试

swab的Python项目详细描述


简单的wsgi a/b测试-拭子

什么是A/B测试?

A/B测试是一种比较网页的两个版本与每个版本的方法 另一个,看看哪一个对你的访客表现最好。可能是在测试 更改网站副本、视觉设计或用户界面。

当你运行一个A/B测试实验时,你需要告诉拭子你的变种是什么 有什么目标,你想优化。拭子将随机分配 访问每个变体并跟踪每个变体的次数 显示,以及这些访问中有多少次导致转换。

使用这些数据,swab可以显示每个变量的转换率 用一些基本的统计数据来帮助你决定 不同版本之间的差异。

设置拭子实例

swab需要一个目录,它可以保存用于跟踪的数据文件 试用和转换数据:

from swab import Swab
s = Swab('/tmp/.swab-test-data')

然后你需要告诉拭子你想做的实验,变种 以及转换目标的名称:

s.add_experiment('button-color', ['red', 'blue'], 'signup')

最后,您需要将wsgi应用程序包装在swab的中间件中:

application = s.middleware(application)

在应用程序中集成拭子

swab为您提供了许多功能,您可以将这些功能放入您的应用程序代码中:

< Buff行情>

显示变量(环境,实验,记录=假,变量=无)

< Buff行情> 返回要为当前请求显示的变量名。在上面 例如,调用show_variant('button-color',environ)将 返回 'red' 'blue'

录制试用标签(环境、实验)

< Buff行情>

返回应放置在 你正在测试的页面。标记使用户的浏览器加载 引用的javascript文件,触发swab为 给定实验。

如果在请求的页面上只运行一个实验,并且 以前调用过show_variant 实验名称。

记录试验(环境试验)

< Buff行情>

如果您不想使用javascript信标来跟踪试用版,可以 直接拨打 记录试用 。javascript信标方法是 首选,因为它不太可能由机器人触发。

如果在请求的页面上只运行一个实验,并且 以前调用过show_variant 实验名称。

记录目标(环境、目标、实验)

< Buff行情> 记录命名实验的目标转换

查看结果

测试结果可在url /swab/results

缓存

如果 请求期间调用了show_variant或record_trial。这个 有助于避免代理缓存您的测试变体。它还将删除任何其他 缓存相关的头(例如"etag"或"last modified")。如果你不想要这个 行为,创建拭子时需要传递 cache_control=false 。 实例。

查看变量

测试你的竞争页面附加'?拭子。<;实验名称>;=<;变量名称>;'到 强制显示任何给定变体的URL。

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

推荐PyPI第三方库


热门话题
java访问私有字段而不使用getter方法?   使用PowerMockito在JavaEWSAPI中模拟测试拉订阅   启动活动时未保存java首选项并清除变量   java如何在servlet中检索子域?斯普林有帮手吗   java使用Docker从命令行构建Android项目   java Android,ActionBar后退按钮(setDisplayHomeAsUpEnabled(true))重新创建父活动   java在重用FileOutputStream时应该关闭流吗?   java使用RESTAPI将文件上载到s3 bucket   Java SOAP Web服务应用程序中的mysql用户登录方法不工作   java使用多个数字计算百分比并转换为长   java Android SQLiteDatabase查询忽略空格   java如何在Javafx中比较两个字段文本   java错误:未设置java_HOME,在Eclipse安装后找不到   java在安卓中保存对象   java如何使用jaxws从返回List<Object>的服务中检索值   java Google OAuth2 JWT令牌验证异常   SpringMVC中的JavaUTF8编码问题,当从JSP表单发送POST请求中的越南语信件时   java从webview重定向到安卓应用程序   JUnit 5中多个扩展的java顺序