Download the PHP package joseluisald/ab without Composer
On this page you can find all versions of the php package joseluisald/ab. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download joseluisald/ab
More information about joseluisald/ab
Files in joseluisald/ab
Package ab
Short Description Uma biblioteca para executar testes AB dentro do seu codigo.
License MIT
Informations about the package ab
JOSELUISALD | AB
Esta biblioteca fornece uma camada para executar testes AB em seus aplicativos.
O teste AB é útil quando você deseja alterar qualquer coisa em seu aplicativo mas deseja comparar diferentes variações da mudança (ou seja, exibir um botão que diz "Compre agora", "Ir para checkout" ou "PAGUE!").
Instalação
Esta biblioteca está disponível através do composer, como você pode ver pelo seu packagist page.
Criando e executando um teste
A criação de testes é muito simples, pois você só precisa definir o nome do teste e as variações, com suas respectivas probabilidade absoluta:
e neste ponto você pode mudar a cor do página inicial simplesmente executando o teste e verificando qual variação foi escolhida:
Claro, a bagunça de um código acima está aqui apenas como um exemplo ;-)
Manipulando vários testes
Tomado por um teste de raiva AB, você pode querer para começar a usar testes AB para tudo: é por isso que adicionamos um contêiner de teste onde você pode cadastrar quantos testes quiser, e recupere-os facilmente:
O Container
implementa o ArrayAccess
e
Interfaces Contáveis
, para que você possa acessar suas
testa como se fosse um array:
Variações
O peso das variações deve ser expresso em valores absolutos: se, por
exemplo, você tem A: 1
, B: 2
e C: 1
, isso significa que o
porcentagem de picking de cada variação é de 25% (A), 50% (B) e
25%(C), pois a soma dos pesos é 4.
As variações podem ser definidas durante a construção do teste ou posteriormente:
Lembre-se de definir as variações antes de executar o teste
com getVariation
, senão uma exceção é lançada:
Como apresentar as mesmas variações em várias solicitações
Digamos que você esteja executando um teste que define se a cor de fundo do seu site deve ser preto ou branco.
Assim que um usuário acessar a página inicial, ele obterá a página branca, mas assim que ele atualizar a página, ele pode obter o preto!
Para ser consistente com as variações, para a sessão de um usuário, você deve armazenar um número único (semente) e passá-lo para o testes antes de executá-los, assim você sempre terá certeza de que usuário específico sempre obterá as mesmas variações do testes:
Na próxima requisição, já que a semente não mudará,
o usuário obterá novamente a mesma variação, black
.
Esta funcionalidade é implementada graças a
Funções mt_rand
e mt_srand
do PHP.
Você não deve especificar uma semente diferente para cada um de seus testes, mas use o contêiner:
A vantagem de colocar a semente no recipiente é que você não precisa manter uma semente para cada teste executado a sessão, você pode usar apenas uma semente global e o contêiner atribuirá uma semente única a cada teste.
Desabilitando testes
Às vezes, você pode querer desabilitar testes para propósitos diferentes, por exemplo, se o agente do usuário que está visitando a página for um bot.
Depois de desabilitar o teste e executá-lo, irá sempre retorne a primeira variação, não importa o que suas chances são! Sim, mesmo zero...
Parâmetros de teste
Você também pode anexar qualquer parâmetro que desejar
um teste apenas injetando-os (ou com o set
método):
Para que você possa recuperá-los facilmente em outras partes do o código: