Gostaria de saber quais estratégias você usa para lidar com os testes A / B do seu aplicativo e do gitflow.
Visão geral:
Somos uma equipe de 6 programadores que desenvolvem e mantêm um aplicativo grande. Até agora, trabalhamos no gitflow com alguns complementos no processo adicionado por nós, que funcionaram perfeitamente por alguns anos. De uma maneira simplificada, usamos:
- ramificação mestre (apenas código das versões publicadas)
- ramo de liberação que mescla no mestre após testes finais de redundância
- hotfix que interage apenas com a ramificação mestre em casos extremos
- desenvolver que acumula os módulos desenvolvidos à medida que são finalizados e testados, eventualmente se fundindo na liberação.
- / feature, que é um grupo de recursos que se ramificam do desenvolvimento e, depois que terminam e passam os diferentes estágios do teste, se juntam novamente ao desenvolvimento, adicionando funcionalidades
- / fix_develop, que é um grupo de recursos que contêm correções para erros encontrados em versões anteriores que não são muito urgentes para iniciar um hotfix.
Agora, à medida que o aplicativo evolui, com a equipe de UX e outras equipes de partes interessadas, estamos adotando uma estratégia de teste A / B mais forte, em que os novos lançamentos terão 2 versões e com base em como nossos usuários, como uma versão ou outra, se tornarão o mestre final versão enquanto eles fizerem sentido para nossos usuários.
Tendo explicado isso, a pergunta é : Quais estratégias você usou ou recomenda para gerenciar o código das versões de teste A / B no gitflow?
As opções que considerei são inconsistentes, por exemplo, ramificando ramos A e B do mestre e juntando o ramo de lançamento a um ou outro, onde não sei como lidar com a separação do código contido do ramo de lançamento no recurso galhos. Outra opção é criar as ramificações das versões A e B e desenvolver ramificações A e B, o que soa como ramificações e confusão demais para meus companheiros de equipe.
Eu ouço suas opiniões, obrigado!
Atualização: o aplicativo que desenvolvemos é um aplicativo para Android e estamos implementando o teste A / B usando a plataforma PlayStore para testes A / B, que exige a criação de dois APKs e o upload de um deles com uma porcentagem de lançamento. Também para simplificar, e como as alterações às vezes podem ser maiores do que apenas a posição de um botão, decidimos não adicionar nossa própria opção para os testes A e B em um único APK.