← Todos os artigos

Tickets paralelos: o que os testes e as árvores de trabalho garantem?

Dois tickets verdes ainda podem discordar

Um conflito textual significa que o Git não pode combinar alterações. Um conflito semântico significa que os comportamentos solicitados são incompatíveis, mesmo quando o rebase é bem-sucedido e os testes são aprovados. As árvores de trabalho isolam os arquivos de trabalho; eles não provam que as intenções são compatíveis.

Por exemplo, o ticket A exige a negação de desconto para contas gratuitas; o ticket B exige que seja disponibilizado a todos. Ambas as suítes podem permanecer verdes se percorrerem caminhos diferentes. Defina a regra compartilhada e teste o mesmo caso, em vez de apenas resolver a diferença.

Pré-qualifique e solicite trabalhos relacionados

A pré-qualificação examina tickets ativos e pode identificar dependências funcionais. Quando a sobreposição requer ordenação, A torna-se um pré-requisito para B: B espera que A termine e se integre antes de trabalhar em uma base contendo seu resultado. A edição do mesmo arquivo por si só não requer necessariamente essa dependência.

Uma solicitação ampla pode ser dividida em tickets secundários. O trabalho independente ocorre em paralelo; dependências ordenam o resto. O pai então verifica o resultado combinado. Esta análise reduz colisões, mas não garante que todas as contradições de negócio serão detectadas.

Verifique a versão integrada

O agente faz commit em sua árvore de trabalho com os ganchos do projeto habilitados. A fila de integração serializa tickets para o mesmo projeto; commits são rebaseados no branch base mais recente. Se a base avançou, o agente deverá executar novamente os testes e verificações do projeto afetados e, em seguida, inspecionar os testes adicionados ou modificados por outros tickets. Um rebase limpo é insuficiente.

Os ganchos executam apenas as verificações configuradas: um gancho de formatação não valida uma regra de negócios. A integração e os testes ponta a ponta devem cobrir as interações entre recursos junto com os testes unitários.

O que ainda precisa de uma decisão

Os testes verdes não garantem a ausência de conflitos semânticos. Uma expectativa ausente nos testes pode passar despercebida. Solicitações contraditórias exigem critérios de aceitação explícitos e uma decisão sobre a regra pretendida antes da integração; a revisão humana continua útil para essa decisão. A desativação da mesclagem automática mantém o resultado na guia Revisão.

Ao preparar um ticket, nomeie a função compartilhada, identifique os tickets relacionados e especifique a regra comum e um exemplo de regressão. A contagem de mensagens por ticket não é uma garantia de qualidade nem uma promessa de eliminar todas as revisões.

Consulte o guia de integração e árvore de trabalho, a documentação de orquestração e o artigo sobre dependências e pai tickets.