Me gustaría saber qué estrategias utiliza para lidiar con las pruebas A / B de su aplicación y gitflow.
Visión general:
Somos un equipo de 6 programadores que desarrollamos y mantenemos una gran aplicación. Hasta ahora hemos trabajado en gitflow con algunos complementos en el proceso agregado por nosotros que funcionó perfectamente bien durante un par de años. De manera simplificada, utilizamos:
- rama maestra (solo código de versiones publicadas)
- versión de lanzamiento que se fusiona en el maestro después de las pruebas finales de redundancia
- revisión que solo interactúa con la rama maestra en casos extremos
- desarrollar, que acumula los módulos desarrollados a medida que se terminan y prueban, y finalmente se fusionan con el lanzamiento.
- / feature, que es un grupo de características que se ramifican desde el desarrollo y una vez que finalizan y pasan las diferentes etapas de prueba, se fusionan nuevamente con el desarrollo, agregando funcionalidad
- / fix_develop, que es un grupo de características que contienen correcciones a errores encontrados en versiones anteriores que no son demasiado urgentes para iniciar una revisión.
Ahora, a medida que la aplicación evoluciona, con el equipo de UX y otros equipos de partes interesadas, estamos adoptando una estrategia de prueba A / B más sólida donde los nuevos lanzamientos tendrán 2 versiones, y en función de cómo nuestros usuarios como una versión u otra se convertirán en el maestro final versión mientras tengan sentido para nuestros usuarios.
Habiendo explicado eso, la pregunta es : ¿Qué estrategias ha utilizado o recomendado para administrar el código de las versiones de prueba A / B en gitflow?
Las opciones que he considerado son de alguna manera inconsistentes, por ejemplo, bifurcar ramas A y B del maestro y luego unir la rama de lanzamiento a una u otra, donde no sé cómo tratar la separación del código contenido de la rama de lanzamiento para presentar ramas Otra opción es crear ramas de lanzamiento A y B y desarrollar ramas A y B que suenan como demasiadas ramas y confusión para mis compañeros de equipo.
Escucho tus opiniones, gracias!
Actualización: La aplicación que desarrollamos es una aplicación de Android y estamos implementando las pruebas A / B utilizando la plataforma PlayStore para las pruebas A / B, que requiere crear dos APK y cargar uno de ellos con un% de despliegue. Además, para simplificar las cosas, y dado que los cambios a veces pueden ser mayores que la simple posición de un botón, decidimos no agregar nuestro propio interruptor para las pruebas A y B en un solo APK.