Práticas recomendadas para distribuir aplicativos Android para testadores de controle de qualidade usando CI/CD

Este documento apresenta as práticas recomendadas para usar o Firebase App Distribution para tornar seus fluxos de trabalho de teste de pré-lançamento do Android sustentáveis ​​e repetíveis em um ambiente de CI/CD. As soluções incluem Gradle e Fastlane, mas para oferecer ainda mais flexibilidade, também incluímos soluções disponíveis por meio do console do Firebase, da Firebase CLI e da API pública Firebase App Distribution. Também descrevemos os limites de lançamento e de teste para que você possa planejar com antecedência uma experiência ideal.

Se você também usa plataformas Apple, consulte Práticas recomendadas para distribuição de aplicativos Apple para testadores de controle de qualidade usando CI/CD e fastlane .

Antes de você começar

Antes de implementar as práticas recomendadas neste documento, ative o App Distribution no Firebase console para cada aplicativo . Se você não habilitou o App Distribution, receberá um erro 404.

Para ativar o App Distribution, siga estas etapas:

  1. Abra a página App Distribution no console do Firebase.
  2. Selecione seu aplicativo Android.
  3. Clique em Começar .

Dado que os Android App Bundles (AAB) estão se tornando o formato de pacote Android mais comum, recomendamos que você configure a capacidade de distribuir AABs aos seus testadores vinculando-se ao Google Play .

Automatize seu fluxo de trabalho de testes de pré-lançamento usando um pipeline de CI/CD

Se você deseja automatizar a criação e o lançamento de aplicativos para seus testadores e estiver usando CI/CD, recomendamos usar fastlane ou Gradle . Outra opção é usar o Firebase CLI , que permite acessar uma ampla variedade de produtos Firebase.

Usar via rápida

Integre o App Distribution ao seu pipeline de CI/CD usando fastlane, uma ferramenta de código aberto que automatiza a criação e o lançamento de aplicativos iOS e Android. Ao criar e distribuir automaticamente suas versões mais recentes aos testadores, você garante que os testadores sempre tenham a versão de teste mais atualizada do seu aplicativo.

Para saber como integrar o App Distribution ao fastlane, consulte Distribuir aplicativos Android para testadores usando o fastlane .

Usar o Gradle

Use o Gradle para integrar o App Distribution ao processo de criação do Android usando o plug-in App Distribution Gradle. O plug-in permite especificar seus testadores e notas de lançamento no arquivo build.gradle do seu aplicativo, o que permite configurar distribuições para diferentes tipos de compilação e variantes do seu aplicativo.

Para saber como integrar o App Distribution ao Gradle, consulte Distribuir aplicativos Android para testadores usando Gradle .

Usar a CLI do Firebase

Use as ferramentas Firebase CLI fornecidas pelo App Distribution para distribuir versões aos testadores de maneira programática. Você pode especificar testadores e notas de versão para uma compilação.

Distribua sua versão mais recente do Android especificando o Firebase App ID do aplicativo, opcionalmente adicionando uma nota de lançamento e um arquivo contendo os e-mails dos testadores:

firebase appdistribution:distribute test.aab  \
    --app 1:1234567890:android:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

Para saber mais sobre como usar a CLI do Firebase para automatizar suas compilações, consulte Distribuir aplicativos Android para testadores usando a CLI do Firebase .

Use credenciais de serviço para autenticar

Use o plug-in Fastlane do App Distribution, o plug-in Gradle ou a CLI do Firebase com contas de serviço. Uma conta de serviço é um tipo de conta do Google que representa aplicativos (em oposição a usuários). Seu sistema de CI pode usar contas de serviço para executar cargas de trabalho do App Distribution. Para saber mais, consulte Autenticar com uma conta de serviço .

Se estiver usando a federação de identidade de carga de trabalho, você poderá gerar e usar um arquivo de configuração de credencial em vez de uma chave de conta de serviço.

Lembre-se dos limites de liberação

O App Distribution suporta no máximo 1.000 versões por aplicativo. Isso significa que quando você excede o limite de lançamentos, o App Distribution exclui automaticamente os lançamentos mais antigos acima do limite. Para saber como gerenciar os limites de lançamento, consulte Por quanto tempo os lançamentos de aplicativos estão disponíveis?

Adicione o mesmo conjunto de testadores a várias versões

Se você quiser adicionar um grande número de testadores às suas versões, use a funcionalidade de gerenciamento de testadores em massa do App Distribution.

Recomendamos que você use grupos para adicionar os mesmos testadores a diversas versões. Um grupo atua como uma lista de controle de acesso; quando você remove um testador de um grupo, ele perde acesso a todas as versões distribuídas para esse grupo. Para saber mais, consulte Adicionar e remover testadores de um grupo .

Se você tiver muitos testadores para gerenciar, poderá adicionar e excluir testadores em massa usando o Firebase console. Para automatizar a adição e remoção de testadores, use a CLI do Firebase , o fastlane , o Gradle ou a API pública do Firebase App Distribution .

Lembre-se dos limites do testador

O App Distribution limita o número de testadores que você pode adicionar a um projeto do Firebase ou a um grupo do App Distribution. Ao exceder esses limites, você não poderá distribuir seu aplicativo para testadores adicionais. Para saber mais sobre os limites do testador, consulte Existem limites para adicionar testadores ao meu aplicativo?

Permitir que potenciais testadores se registrem automaticamente para testes

Para facilitar a distribuição do seu aplicativo para mais testadores, recomendamos que você use links de convite. Um link de convite é um URL exclusivo que permite aos testadores inserir seus endereços de e-mail para se inscreverem e testarem um aplicativo. Permitir que os usuários se adicionem à sua lista de testadores de aplicativos é uma maneira perfeita de aumentar sua base interna de testes.

Os casos de uso de links de convite incluem programas dogfood de empresas, organizações com grandes equipes de controle de qualidade e grupos de desenvolvedores que desejam que clientes individuais possam controlar o acesso do testador.

Recomendamos que você crie um link de convite para um grupo. Qualquer testador que se inscrever usando o link de convite será automaticamente adicionado às versões subsequentes.

Para saber mais, consulte Criar links de convite e Adicionar e remover testadores de um grupo .

Certifique-se de que os testadores estejam testando a versão de seu interesse

Quando uma nova versão é carregada, seus testadores são notificados por e-mail. Para complementar esta notificação, você pode usar os seguintes recursos – links de lançamento e alertas no aplicativo – para garantir que seus testadores estejam testando a versão específica do aplicativo de seu interesse:

  • Links de lançamento: use este recurso quando quiser compartilhar uma versão específica com testadores. Para saber como usar links de lançamento, consulte Distribuir aplicativos Android para testadores usando o Firebase Console . Esses links também estão disponíveis com nossas ferramentas de linha de comando (CLI) Firebase , fastlane e Gradle para uso com suas ferramentas de automação de build.
  • Alertas no aplicativo: use esses alertas quando quiser garantir que seus testadores estejam testando a versão mais recente do seu aplicativo. Ao integrar o SDK Android do Firebase App Distribution, você pode exibir alertas diretamente dentro do aplicativo para seus testadores quando novas versões do seu aplicativo estiverem disponíveis. Para saber como adicionar alertas no aplicativo, consulte Notificar testadores sobre novos builds .

Remover automaticamente o acesso de testadores que saem da empresa

Quando seu fluxo de testes internos de CI/CD estiver funcionando, você precisará garantir que as pessoas que saem da empresa não tenham mais acesso às suas compilações internas. Para ajudar você a gerenciar o acesso do testador às compilações, o App Distribution oferece as seguintes opções: