Imagine que o software mais importante da sua empresa quebra de repente. O que aconteceria? Os pedidos poderiam ser perdidos, os prazos poderiam ser perdidos, mas os clientes certamente reclamariam.
Esse cenário de pesadelo pode ser evitado: implemente um processo de teste contínuo e rigoroso que detecte problemas antes que eles causem o caos. No entanto, implementar esse processo na sua organização é mais fácil dizer do que fazer.
Este documento mostra tudo o que você precisa considerar ao começar a testar na sua empresa e como você pode se beneficiar dos testes a longo prazo.
Práticas recomendadas de teste para equipes de produtos
A primeira parte deste documento aborda o processo de implementação de testes no fluxo de trabalho.
Implementar uma cultura de testes na sua equipe
Para introduzir testes na sua equipe, é necessário que todos compartilhem uma mentalidade comum e considerem a qualidade não como um fardo, mas como um investimento. Esse é um processo que, como qualquer outra mudança cultural, exige tempo e consistência.
Uma coisa que pode ajudar a moldar essa cultura são reuniões regulares para discutir defeitos, o impacto deles, de onde eles 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 práticas recomendadas, compartilha e defende o esforço em todos os níveis.
Outro instrumento útil pode ser alternar o papel de suporte do seu produto. Receber insights diretos e não filtrados dos seus clientes e aprender sobre os problemas cotidianos que eles enfrentam com seu produto pode ser uma experiência valiosa para gerentes de produtos, 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. Isso porque os testes garantem a qualidade enviada.
Um processo de teste passo a passo
Depois que houver alinhamento entre as diferentes equipes envolvidas no desenvolvimento do produto, você poderá formalizar ainda mais a existência e o uso de testes.
Incluir testes na "Definição de concluído"
Ao adicionar testes como um requisito de recurso, você declara que um recurso não está pronto para envio até que seja testado de forma adequada e automática.
Executar 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 pipeline de desenvolvimento. Por exemplo:
- Em cada confirmação.
- 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 se comportem conforme o esperado.
Definir e coletar métricas
Definir um conjunto de métricas é importante para medir a eficácia dos testes e o impacto dos fluxos de trabalho de teste nos negócios. Confira alguns exemplos de métricas que você pode usar:
- Lançamentos por mês: um número maior de lançamentos por mês pode indicar um processo de desenvolvimento mais ágil. Os testes automatizados desempenham um papel fundamental aqui, garantindo 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 os 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 temporada de férias, enquanto os relatórios de bugs aumentam. Portanto, não confie apenas em alguns e verifique se eles estão relacionados a outros dados disponíveis para sua equipe.
Quando você implementa essas etapas com sucesso na sua equipe, a integridade do produto certamente se beneficia a longo prazo. Mas ainda há mais que você pode fazer.
Práticas recomendadas de teste para administradores de sistemas
As equipes de produtos não podem trabalhar sozinhas. Elas dependem do hardware, das ferramentas e da infraestrutura mantidos pelos administradores de sistemas. Embora os administradores de sistemas geralmente não contribuam diretamente para o desenvolvimento do produto, eles ainda podem influenciar o fluxo de trabalho de desenvolvimento para melhor. Por exemplo, gerenciando ativamente a versão do navegador que determinados grupos de usuários na empresa usam.
Esta segunda parte do artigo explica como isso funciona, usando os canais de lançamento do Chrome e as políticas empresariais.
Canais de lançamento do Chrome
Há quatro canais de lançamento: Stable, Beta, Dev e Canary.
Para saber mais, consulte Canais de lançamento do Chrome.
Como usar canais em uma organização exemplar
A estrutura das equipes de produtos varia entre as organizações, já que não há uma abordagem única para o desenvolvimento de software. Como exemplo, vamos considerar 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: os gerentes de produtos geralmente podem estar no canal Stable para usar a mesma versão que a maioria dos usuários. Ocasionalmente, eles podem usar o canal Beta ou Dev se estiverem trabalhando em um recurso que exige uma API que ainda não foi lançada.
- Engenharia e UX: partes dessas equipes podem estar no canal Dev para ter acesso aos recursos mais recentes, como as transições de visualização, mesmo antes de estarem estáveis.
- Operações: pode estar no Beta para prever quebras que afetam os usuários em seguida.
- Suporte: pode permanecer no canal Stable para garantir que eles estejam interagindo com o produto com o mesmo navegador que a maioria dos clientes.

Usar políticas empresariais para gerenciar canais
Em vez de fornecer 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 determinístico de usuários, o que ajuda a identificar quebras o mais cedo possível e de maneira rastreável.
Se você quiser usar esse nível de controle, confira a configuração recomendada:
- Funcionários (usuários de apps): para minimizar o risco de interrupção, a maioria dos funcionários precisa estar no canal Stable, 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 do Stable e pode ajudar os administradores a descobrir possíveis problemas com um lançamento, mais tempo para resolver os problemas antes que o lançamento seja implementado para todos.
- Departamento de TI: os membros do departamento de TI, incluindo os administradores de sistemas , podem estar no canal Beta ou Dev para receber uma prévia de 4 a 6 ou 9 a 12 semanas do que está chegando à versão estável do Chrome.

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 recebe correções de segurança. Esse canal é atualizado a cada oito semanas.
O diagrama a seguir mostra como diferentes marcos avançam pelos diferentes canais de lançamento do Chrome:

- Os canais Stable e Stable estendido enviam as mesmas versões nas primeiras quatro semanas, após as quais os dois divergem.
- Não há um canal Beta estendido. Em vez disso, o ciclo Beta padrão de quatro semanas é usado para estabilizar os canais Stable e Stable estendido. As empresas que optam pelo Stable estendido de oito semanas precisam continuar executando o canal Beta como fazem hoje para identificar proativamente problemas que possam afetar os ambientes.
A importância contínua dos canais Dev e Beta para usuários do Stable estendido
Embora o canal Stable esteja acelerando para um ciclo de lançamento de duas semanas e sua organização esteja adotando o ciclo Stable estendido de oito semanas para ganhar mais tempo para testes, ainda é fundamental usar os canais Dev e Beta. Não há canais "Dev ou Beta estendidos" separados. Os canais Dev e Beta padrão são usados para estabilizar os lançamentos Stable e Stable estendido.
Ao continuar executando os canais Dev e Beta, as empresas mantêm a capacidade de identificar proativamente problemas que possam afetar os ambientes. Os canais Dev e Beta oferecem uma prévia de quatro semanas do próximo lançamento estável. Para usuários do Stable estendido, essa janela de prévia é essencial para descobrir e resolver possíveis quebras com bastante antecedência da atualização de recursos de oito semanas.
Os canais Dev e Beta atuam essencialmente como o principal sistema de alerta antecipado para qualquer mudança no ambiente Stable estendido de oito semanas, garantindo que os apps empresariais permaneçam compatíveis. Os administradores de sistemas podem continuar atribuindo um grupo pequeno e determinístico de usuários (por exemplo, 5 a 10% dos usuários de apps) aos canais Dev 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 e também uma etapa importante para administradores de sistemas, para dar aos funcionários de uma organização acesso a softwares de alta qualidade e evitar a interrupção dos 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 documento, analisamos diferentes maneiras de integrar as práticas recomendadas de teste à sua organização. Para uma análise detalhada das ferramentas de teste atuais, consulte nosso artigo Ferramentas do Chrome para testes automatizados e sem atrito.
Para orientações sobre testes, do início ao fim, consulte também nosso curso recente Aprender a testar e as práticas recomendadas de automação de testes no web.dev.