Implemente testes na sua empresa com o Chrome

Demián Renzulli
Demián Renzulli

Imagine que o software mais importante da sua empresa de repente para de funcionar. O que aconteceria? Os pedidos podem ser perdidos, os prazos podem ser perdidos, mas os clientes certamente vão reclamar.

Esse pesadelo pode ser evitado com a implementação de um processo de teste contínuo e rigoroso que detecta problemas antes que eles causem caos. Mas implementar um processo desse tipo na sua organização é mais fácil falar do que fazer.

Este artigo mostra tudo o que você precisa considerar ao começar a fazer testes na sua empresa e como se beneficiar deles a longo prazo.

Práticas recomendadas de teste para equipes de produtos

A primeira parte deste artigo aborda o processo de implementação de testes no seu fluxo de trabalho.

Implementar uma cultura de testes na sua equipe

Para introduzir testes com sucesso na sua equipe, é necessário que todos compartilhem uma mentalidade comum e vejam a qualidade não como um fardo, mas como um investimento. Esse é um processo que, como toda mudança cultural, exige tempo e consistência.

Uma coisa que pode ajudar a moldar essa cultura são as reuniões regulares para discutir defeitos, o impacto deles, de onde vieram e o que foi necessário para corrigi-los. Isso ajuda a criar conscientização sobre por que é bom evitar esses defeitos em primeiro lugar.

Ter uma pessoa dedicada na equipe que supervisiona e impulsiona o esforço pode aumentar muito a chance de sucesso. Alguém que define diretrizes para a equipe ou até mesmo para toda a organização, coleta e compartilha práticas recomendadas e defende o esforço em todos os níveis.

Outro instrumento útil é alternar a função de suporte do seu produto. Receber insights diretos e sem filtros dos clientes e aprender sobre os problemas diários que eles enfrentam com seu produto pode ser uma experiência valiosa para gerentes de produto, designers e desenvolvedores.

O objetivo é que todos na sua equipe entendam que a qualidade é um recurso tão importante quanto qualquer outra funcionalidade criada para o produto. Depois que todos adotam essa mentalidade, é uma progressão natural entender que os testes também são um recurso. Porque os testes garantem a qualidade do produto enviado.

Um processo de teste detalhado

Depois que houver um alinhamento entre as diferentes equipes envolvidas no desenvolvimento de produtos, você poderá formalizar ainda mais a existência e o uso de testes.

Incluir testes na "Definição de pronto"

Ao adicionar testes como um requisito de recurso, você declara que um recurso não está pronto para ser lançado até que seja testado adequadamente e de forma automática.

Faça testes regularmente

Depois de implementados, os testes automatizados podem ser sua proteção em todas as etapas do processo de desenvolvimento. Eles não precisam de intervenção humana e podem ser executados em todas as etapas críticas do seu pipeline de desenvolvimento. Exemplo:

  • Em cada commit.
  • Em cada solicitação de pull.
  • Após cada lançamento completo ou mudança de ambiente.

Se você estiver usando serviços de terceiros no ambiente de produção, pode até fazer sentido executar os testes na produção para garantir que as APIs de terceiros funcionem conforme o esperado.

Definir e coletar métricas

Definir um conjunto de métricas é importante para medir a eficácia dos seus testes e o impacto dos fluxos de trabalho de teste nos seus negócios. Confira alguns exemplos de métricas que você pode usar:

  • Versões por mês: um número maior de versões por mês pode indicar um processo de desenvolvimento mais ágil. Os testes automatizados são fundamentais para garantir que os lançamentos possam prosseguir com confiança.
  • Relatórios de bugs: uma tendência de queda nos relatórios de bugs pode ser um sinal positivo de que seus processos de teste e desenvolvimento são eficazes.
  • Cobertura de teste: embora nunca seja uma métrica exata, a cobertura pode ser um bom indicador de quão profundamente você está testando casos de uso críticos.

Essas métricas também são influenciadas por outros fatores que podem distorcê-las. Por exemplo, a contagem de lançamentos pode diminuir em uma época de fim de ano, enquanto os relatórios de bugs aumentam. Não confie apenas em alguns e faça um mapeamento cruzado com outros dados disponíveis para sua equipe.

Quando você implementar essas etapas com sua equipe, a integridade do produto vai se beneficiar a longo prazo. Mas ainda há mais coisas que você pode fazer!

Práticas recomendadas de teste para administradores de sistema

As equipes de produtos não podem trabalhar sozinhas. Eles dependem do hardware, das ferramentas e da infraestrutura mantidos pelos administradores de sistema. Embora os administradores de sistema geralmente não contribuam diretamente para o desenvolvimento de produtos, eles ainda podem influenciar o fluxo de trabalho de desenvolvimento para melhor. Por exemplo, gerenciando ativamente a versão do navegador usada por determinados grupos de usuários na empresa.

Esta segunda parte do artigo explica como isso funciona usando os canais e as políticas empresariais do Chrome.

Canais de lançamento do Chrome

Por padrão, o Chrome é atualizado automaticamente para garantir que todos os usuários estejam executando a versão mais recente, estável e segura do navegador, incluindo todos os recursos mais recentes. Essa é a versão do Chrome lançada no canal estável.

Como uma empresa que desenvolve um produto baseado na Web, talvez você queira usar um navegador antes do canal estável para dar tempo às equipes de produtos de adaptar o produto às mudanças na plataforma da Web.

Para esse caso de uso, o Chrome oferece um total de quatro canais de lançamento, destinados a diferentes grupos de usuários.

No caso do Chrome, há diferentes canais de lançamento que você pode usar para antecipar mudanças futuras no navegador e testar os recursos mais recentes antes que eles estejam disponíveis para todos:

  • Canal Stable: é onde a maioria dos usuários está. O canal estável é atualizado automaticamente quando há uma nova versão do Chrome, o que acontece mensalmente.
  • Canal Beta: essa versão vai ficar estável em quatro a seis semanas, a você a chance de testar uma versão estável futura e se preparar para ela.
  • Canal de desenvolvimento: esse canal recebe uma nova versão do Chrome uma vez por semana e inclui todas as correções mais recentes que eventualmente serão movidas para a versão Beta. Como o nome do canal sugere, ele está em desenvolvimento e pode apresentar falhas inesperadas. No entanto, ele também inclui os recursos mais recentes, às vezes muito antes de serem lançados na versão estável. Isso faz do canal de desenvolvimento uma ótima ferramenta para prototipagem e desenvolvimento de ponta.
  • Canal Canary: o canal mais experimental, que contém todos os recursos mais recentes, mas sem muitos testes. Pelo menos uma vez por dia.

Se quiser saber mais sobre os canais do Chrome, assista ao episódio relevante do Chrome Concepts.

Os ícones dos produtos Chrome estável, Beta e Dev com a descrição deles.

Como usar canais em uma organização de exemplo

A estrutura das equipes de produtos varia entre as organizações, já que não existe uma abordagem única para o desenvolvimento de software. Por exemplo, vamos supor uma equipe com as seguintes funções: gerenciamento de produtos, UX e UI, engenharia, operações e suporte.

Para uma organização como essa, você pode pensar na seguinte divisão de canais:

  • Gerenciamento de produtos: geralmente, os PMs usam o canal estável para usar a mesma versão que a maioria dos usuários. Às vezes, eles podem usar o canal beta ou dev se estiverem trabalhando em um recurso que exija uma API ainda não lançada.
  • Engenharia e UX: partes dessas equipes podem estar no canal dev para ter acesso aos recursos mais recentes, como Transições de visualização, mesmo antes de estarem em versão estável.
  • Operações: pode estar na versão Beta para prever falhas que afetam os usuários em seguida.
  • Suporte: pode permanecer no canal estável para garantir que está interagindo com o produto no mesmo navegador que a maioria dos clientes.

Um diagrama mostrando o fluxo de canais em toda a equipe de exemplo

Usar políticas empresariais para gerenciar canais

Em vez de dar diretrizes e deixar a decisão sobre qual canal usar, o Chrome também oferece ferramentas empresariais e de administração para gerenciar ativamente qual canal cada usuário acaba usando. Isso é útil porque aumenta imediatamente a superfície de teste de alguns indivíduos para um conjunto determinista de usuários, o que ajuda a identificar falhas o mais cedo possível e de maneira rastreável.

Se você quiser usar esse nível de controle, recomendamos a seguinte configuração:

  • Funcionários (usuários do app): para minimizar o risco de interrupção, a maioria dos funcionários deve usar o canal estável, que foi totalmente testado pela equipe de testes do Chrome. Além disso, uma pequena porcentagem de usuários (de 5 a 10%) pode estar no canal Beta. Esse canal recebe uma prévia de 4 a 6 semanas da versão estável e pode ajudar os administradores a descobrir possíveis problemas em um lançamento, mais tempo para resolver os problemas antes que a versão seja lançada para todos.
  • Departamento de TI: os membros do departamento de TI, incluindo os administradores de sistema, podem usar o canal Beta ou Dev para ter acesso antecipado às novidades que vão ser disponibilizadas na versão estável do Chrome de 4 a 6 ou 9 a 12 semanas antes do lançamento.

Um diagrama mostrando a divisão de canais entre outros funcionários e o departamento de TI

Canais de lançamento de longo prazo

O desenvolvimento de produtos pode não ser tão rápido quanto o planejado, e a cadência de lançamento do Chrome de um mês pode ser muito alta. Para esse caso de uso, o Chrome oferece um Canal Stable estendido que permite receber atualizações de recursos com menos frequência, mas ainda receber correções de segurança. Ele é atualizado a cada oito semanas.

O diagrama a seguir mostra como diferentes marcos avançam pelos diferentes canais de lançamento do Chrome:

Um diagrama de fluxo mostrando a sobreposição de versões estáveis e estáveis estendidas

  • Os canais Stable e Stable estendido enviam as mesmas versões nas primeiras quatro semanas, depois disso, eles divergem.
  • Não há um canal Beta estendido. Em vez disso, o ciclo padrão de quatro semanas do Beta é usado para estabilizar as versões estável e estável estendida. As empresas que escolherem ativar a versão estável estendida de oito semanas precisam continuar executando o canal Beta como fazem hoje para identificar proativamente problemas que podem afetar os ambientes delas.

A importância contínua dos canais Dev e Beta para usuários do Stable estendido

Embora o canal estável esteja acelerando para um ciclo de lançamento de duas semanas e sua organização esteja adotando o ciclo estável estendido de oito semanas para ganhar mais tempo de teste, ainda é fundamental usar os canais Dev e Beta. Não há canais separados "desenvolvimento ou Beta estendido". Os canais padrão de desenvolvimento e Beta são usados para estabilizar as versões estáveis e estáveis estendidas.

Ao continuar executando os canais de desenvolvimento e Beta, as empresas mantêm a capacidade de identificar proativamente problemas que podem afetar os ambientes delas. Os canais Dev e Beta oferecem uma prévia de quatro semanas da próxima versão estável. Para usuários estáveis estendidos, essa janela de prévia é essencial para descobrir e resolver possíveis falhas com bastante antecedência em relação à atualização de recursos de oito semanas.

Os canais de desenvolvimento e Beta funcionam como o principal sistema de alerta antecipado para qualquer mudança no seu ambiente estável estendido de oito semanas, garantindo que os apps empresariais permaneçam compatíveis. Os administradores de sistema podem continuar atribuindo um pequeno grupo determinístico de usuários (por exemplo, 5 a 10% dos usuários do app) aos canais de desenvolvimento e Beta para maximizar esse benefício.

Conclusão

Os testes são uma parte crucial das empresas de desenvolvimento de software para garantir a qualidade dos produtos. Também são uma etapa importante para administradores de sistemas, que precisam dar aos funcionários de uma organização acesso a softwares de alta qualidade e evitar interrupções nos processos de negócios.

Para ter sucesso ao implementar um fluxo de trabalho de teste na sua organização, é importante que todos compartilhem a mentalidade comum de que a qualidade e, portanto, os testes são um recurso.

Neste artigo, analisamos diferentes maneiras de integrar as práticas recomendadas de teste à sua organização. Para uma análise detalhada das ferramentas de teste atuais, confira nosso artigo Ferramentas do Chrome para testes automatizados e sem atrito.

Para orientações práticas sobre testes, do início ao fim, confira também nosso recente curso Learn Testing e as práticas recomendadas de automação de testes no web.dev.