alairock/quip-test

此包已被废弃,不再维护。没有建议的替代包。

多臂老虎机测试的实现。(见:http://stevehanov.ca/blog/index.php?id=132)

1.0.3 2016-03-07 23:39 UTC

This package is not auto-updated.

Last update: 2024-08-03 16:36:22 UTC


README

作为PHP组件的多臂老虎机(参见此文章了解背景信息)

比A/B测试更好的测试!

背景

标准A/B测试存在一个根本性的缺陷。最大的问题是测试是最终的。比较 A。比较 B。经过1000次测试,A可能证明比300/500更成功,而B240/500失败。

你选择选项 A,故事就结束了。

如果你做了10000次测试,结果可能会有所不同。A以3,000/5,000失败,而B以3,500/5,000失败。6个月后,它可能又回到了A。

QuipTest允许你将动态、演化的测试插入到应用的任何部分。

安装

Composer

$ composer require "alairock/quip-test":"dev-master"

Redis服务器(必需)

  • 独立 安装

  • 带有Docker的Redis服务器

    docker run -d --name redis-server -p 6379:6379 redis

文档

有关工作测试的基本示例,请参阅index

自动加载

请确保包含您的composer自动加载文件,如果您尚未这样做,或者您的框架不支持它。理想情况下,您应该将自动加载文件放在应用程序中需要组件的所有区域都可以访问的地方。(Composer

初始化测试。

<?php
	$testName = "button"; 
	$tags = ['orange', 'green', 'white']; // test tags
	$buttonTest = new \Quip\Test($testName, $tags);

获取标签

此方法具有多个功能。它增加运行测试的总次数,以及特定标签运行测试的总次数。使用此方法来标记测试并跟踪成功。

	$tagName = $buttonTest->getTag();

标记测试为成功

如果测试成功,请确保标记它!QuipTests不会标记失败。未标记成功的失败将被自动假定。

	$buttonTest->markSuccess($tagName);

获取统计数据

	var_dump($buttonTest->getStats());

示例输出

array (size=2)
'cases' => 
    array (size=3)
  'cat' => 
    array (size=2)
      'tests_run_for_case' => string '41' (length=2)
      'success_rate' => float 17.073170731707
  'bird' => 
    array (size=2)
      'tests_run_for_case' => string '28' (length=2)
      'success_rate' => float 10.714285714286
  'dog' => 
    array (size=2)
      'tests_run_for_case' => string '62' (length=2)
      'success_rate' => float 12.903225806452
'tests_performed' => string '131' (length=3)

重置/清除测试

	$buttonTest->flushAll();

警告!!!

Chrome有一个有趣的小错误,如果你没有直接引用favicon,它会将页面拉两次,这可能导致测试的潜在双重增加(失败!)!如果您遇到问题,请将favicon添加到html中的header。

	<link rel="icon"
	type="image/png"
	href="http://example.com/myicon.png">