1
resposta

Dúvida sobre a execução dos testes e build

Oi pessoal, tudo bem? Estou tentando fechar um entendimento a respeito dos processos envolvidos para alcançarmos a entrega contínua, porém estou com dúvida a respeito de três situações, poderiam me ajudar neste entendimento?

Primeira situação:

Desenvolvedor está na sua máquina local e realiza um commit, então deve-se rodar todos os testes unitários e por fim deve-se tentar executar um build (tudo isso na máquina do desenvolvedor). Terminado este processo, o desenvolvedor continua programando a sua task até um novo commit, onde novamente dispare-se o ciclo.

Me preocupa esta situação, pois caso este processo seja lento, o desenvolvedor perderá produtividade ao ter que esperar um feedback.

Segunda situação:

Desenvolvedor acabou a sua tarefa e vai realizar um pull request (PR). Após realizar o PR devemos rodar na nuvem os testes automatizados de unidade, depois os de integração e por fim tentar buildar o projeto. Esse processo seria pré requisito para aceitação do PR.

Terceira situação:

Dado que estamos usando o modelo de GIT FLOW, quando um merge for realizado na develop então deve-se executar os testes e depois tentar o build, caso ocorra alguma falha, todo o time deve se responsabilizar para entender o motivo e corrigí-lo.

Galera, essas situações estão corretas?

Obrigado

1 resposta

Oi Henrique, tudo bem?

Peço desculpas pela demora no retorno a sua mensagem.

Vou tentar esclarecer cada uma das situações para você:

Primeira situação:

Na primeira situação, é comum que os desenvolvedores executem os testes unitários e o build em suas máquinas locais antes de realizar um commit. Isso ajuda a identificar possíveis erros antes de enviar o código para o repositório compartilhado. No entanto, é verdade que se esse processo for lento, pode afetar a produtividade do desenvolvedor. Uma solução para isso seria investir em ferramentas e práticas que tornem a execução dos testes e do build mais rápida, como a utilização de testes automatizados e a otimização do ambiente de desenvolvimento.

Segunda situação:

Na segunda situação, após realizar o pull request, é importante executar os testes automatizados de unidade e integração na nuvem, além de tentar buildar o projeto. Esses testes e o build são pré-requisitos para a aceitação do pull request, pois garantem que as alterações feitas não causaram problemas no código existente. Essa prática ajuda a manter a qualidade do software e evitar regressões.

Terceira situação:

No modelo de GIT FLOW, é comum que, após um merge na branch develop, os testes sejam executados e o build seja realizado. Caso ocorra alguma falha, é responsabilidade de todo o time entender o motivo e corrigir o problema. Essa abordagem colaborativa ajuda a garantir a qualidade do código e a evitar que erros sejam propagados para as próximas etapas do processo.

Em resumo, as situações que você descreveu estão corretas e seguem boas práticas para alcançar a entrega contínua. É importante lembrar que cada equipe pode adaptar esses processos de acordo com suas necessidades específicas.

Espero ter ajudado e bons estudos!