Testes de Fumaça
Hotfix e Release

Os testes de fumaça da hotfix e release são realizados após os testes individuais de cada ticket realizados pelo Tester. O objetivo do teste de fumaça é garantir que após mergear todos os tickets em uma única branch não teremos conflitos de código e funcionalidades.

Nos testes de fumaça é validado o status de todos os tickets que podem ser liberados nesta versão, estado do merge request, merge para a branch hotfix/release e testes de fumaça.

Responsabilidade: Product Owner


1. Validação Inicial

Antes de mergear os tickets na branch devem ser feitas algumas validações:

  • Acessar o filtro da versão no Redmine (Hotfix / Release) e validar se todos os tickets estão concluídos:

    • Bugs devem estar em Done

      • Caso tenham tickets de Test e FIX abertos dentro do bug, também devem estar em Done

    • Features devem estar em Done

      • Validar se todos os tickets de Story, Test e FIX estão em Done

    • Se algum ticket estiver associado à versão e não estiver com alguma etapa concluída, validar se realmente não foi feito e já associá-lo à próxima versão de hotfix/release

  • Avaliar se Merge Request de cada ticket está dentro das definições para Merge:

    • Deve conter somente 1 commit

    • Changelog com as informações corretas e descrição COERENTE para o cliente final

      • Se for necessário ajustar, realizar procedimento com git ammend

    • A branch de destino do Merge deve ser a branch correta onde será realizada a liberação

    • Não ter commits "para trás" da branch de destino

      • Se houverem commits para trás (E não for dos merges atuais que estão sendo realizados), é necessário fazer rebase

      • Caso sejam poucas alterações, o rebase pode ser feito pelo PO. Caso contrário é necessário solicitar ao desenvolvedor responsável

2. Merge de todos os tickets na branch Hotfix/Release

Os Merges devem ser realizados para a branch de forma gradual para evitar conflitos e possível Revert.

  • Marcar a branch como READY e mergear para a master

  • Acessar o Merge Request da branch da Hotfix ou Release e aguardar finalização do Pipeline criado

  • Repetir o procedimento até mergear todos os tickets

  • Realizar rebase da branch hotfix/release com a master para "remover" os commits a mais gerados pelos merges

    • Cada merge que é realizado, um novo commit com o pipeline é criado

    • É necessário fazer rebase com a branch de destino para estes commits sumirem

git checkout master
git up
git checkout hotfix-v3.99.x
git up
git rebase master
git push -f

3. Testes de fumaça

  • Acessar o ambiente hotfix ou release e realizar a atualização dos dois servidores

ssh fwflex-hotfix-fw01
itflex-packages update itflex

  • Acessar o servidor via interface e realizar os testes:

    • Foco em testes básicos das correções e funcionalidades (Os requisitos dos testes devem ser cumpridos no teste individual)

    • Análise geral do comportamento do servidor e possíveis erros na atualização

    • Análise do que foi alterado e possíveis reflexos em outros módulos

      • Componentes que foram mexidos e são usados em todo o servidor

      • Dois tickets que corrigem coisas no mesmo módulo


4. Entrega final

Após conclusão dos testes, a entrega final dos testes de fumaça deve ser realizada:

  • Branch da hotfix/release PRONTA para ser mergeada para a master

    • Mesma quantidade de Tickets, commits e changelogs

    • Não pode haver nenhum commit "para trás" da master