O Firebase Test Lab para Android reduziu os custos de testes de app da American Express em 50%
Introdução
O app para dispositivos móveis AMEX, que conta com um milhão de downloads em Android, é usado pelos membros do programa do cartão para rastrear gastos e recompensas, encontrar ofertas, pagar contas e aproveitar recursos que só podem ser acessados pelo app. Para facilitar as atualizações frequentes, a American Express criou um laboratório de dispositivos para testar as alterações no código do app em todas as plataformas antes do lançamento.
Desafiar
Devido às dezenas de dispositivos executando versões diversas do Android, era difícil escalonar o laboratório. Por causa da capacidade de processamento limitada do laboratório de dispositivos, os novos testes diminuíram a produtividade, e quando novos membros entravam na equipe, o aumento de mudanças no código gerava uma carga ainda maior.
Manter o laboratório de dispositivos era um processo demorado e custoso, que distraía a atenção dos engenheiros que poderiam estar concentrados em aprimorar e gerar mais valor para membros do programa do cartão. Era comum que os dispositivos tivessem problemas que exigiam intervenção manual, muitas vezes forçando todo o pacote de testes a ser executado novamente. Dispositivos problemáticos eram regularmente removidos do laboratório, e aguardar os dispositivos substitutos muitas vezes causava um tempo de inatividade.
Solução
Durante o período Alfa do produto, a frequência de atualização do app AMEX, o compromisso com versões de alta qualidade e a disposição dos engenheiros para colaborar criaram um ambiente ideal para a equipe do Firebase Test Lab. Por sua vez, a American Express, ofereceu feedback valioso que ajudou a moldar a versão do produto que foi lançada. O Firebase Test Lab foi integrado ao pacote complexo de centenas de testes de instrumentação da American Express. Mesmo enquanto o Test Lab estava nas fases iniciais de desenvolvimento, a American Express conseguiu passar todos os testes de integração contínuos para o Test Lab e desativar com êxito boa parte do laboratório de dispositivos. Assim, os engenheiros que cuidavam da manutenção dos dispositivos puderam mudar o foco para o desenvolvimento de novos recursos para membros enquanto gravavam e executavam testes para garantir a alta qualidade do produto.
Além disso, a American Express conseguiu escalonar o número de testes sem se preocupar com a redução da velocidade na execução do pacote de testes e a expansão do laboratório interno de dispositivos. Isso inclui lidar com picos no número de testes devido à entrada de novos membros e realizar mais mudanças no código. No momento, a American Express executa mais de 1.000 testes de instrumentação em cada solicitação de envio, o que representa centenas de milhares de testes por versão pública. A execução de tantos testes simultâneos reduz dramaticamente bugs novos e recorrentes, graças à capacidade do Firebase Test Lab de carregar testes em paralelo.
AVISO: os resultados podem variar.
Resultados
30% mais testes na metade do tempo
execução duas vezes mais rápida de todo pacote de testes, sem redução de velocidade quando novos testes são adicionados
custo 50% menor em comparação ao laboratório interno de dispositivos
Com o Firebase Test Lab, a American Express conseguiu executar todo o imenso pacote de testes Android para todas as solicitações de envio. O Firebase escalona a infraestrutura de testes para que os engenheiros possam se concentrar no código para aprimorar o app e realizar as alterações necessárias de acordo com o pacote de testes."
- Michael Bailey, vice-presidente e engenheiro principal da American Express