¿Cuál es la mejor manera de integrar las pruebas AB con una aplicación web?

Parece que está rodando su propio sistema, lo cual es bueno.

Su marco de prueba AB debe integrarse directamente en sus controladores base y objetos de modelo (suponiendo que se encuentre en un entorno OO). Todos los controladores y modelos derivados, y las vistas, pueden hacer la pregunta “¿en qué grupo de prueba estoy?” Y ejecutar una lógica personalizada. Entonces, si necesita crear una variación de prueba que tenga una lógica de control diferente, por ejemplo, use una subclase. Probablemente encontrará que la mayoría de las pruebas solo están cambiando algo en la interfaz de usuario que realmente no afecta la lógica de control, o si necesita cambiar, entonces es nuevo y separado (por ejemplo, un proceso de pago completamente diferente con sus propios controladores).

Tangencial a su pregunta, creo que es muy importante que registre la celda de prueba que estaba vigente para cada usuario (o sesión, visita, etc.) en su propia base de datos.

La razón es que tener los datos de la prueba junto con sus datos de usuario le permite hacer preguntas sobre su conjunto de datos que no sabía hacer en el momento de la prueba. Esta es una gran debilidad de las herramientas de prueba de terceros como Google y Omniture.

Como ejemplo concreto, supongamos que prueba una oferta de descuento de $ 10 y funciona bien. Más adelante, se pregunta si existe una correlación entre la tasa de aceptación de la oferta y el número de comentarios de los usuarios, o alguna otra métrica. Si los datos de la prueba están en su base de datos, puede responder esta pregunta fácilmente. Con sistemas de terceros, necesitará ejecutar otra prueba.

Cree la grabación de prueba directamente en su código MVC para que cada interacción en presencia de la prueba se registre automáticamente en su base de datos. Su equipo de análisis se lo agradecerá.

En este video, explico cómo estaba haciendo pruebas AB en vivo dentro de mi aplicación. Llego a la mitad del video en alguna parte: