Testes
Features e Bugs

Após o desenvolvimento das features ou correção de bugs, são realizados testes individuais com cada ticket buscando validar o funcionamento correto e garantir que todos os requisitos foram seguidos.

Os testes são realizados sempre a partir de tickets do tipo Test que são abertos dentro de Bugs e Features. O andamento dos tickets é acompanhado pelo Product Owner e ao identificar necessidade de teste de uma feature ou bug, realiza a abertura do ticket de Test e o mantém em situação New já associando à um analista de teste. Ao encerrar a correção de um bug ou desenvolvimento de todas as stories de uma feature, o desenvolvedor é responsável por alterar a situação do ticket de teste para Backlog.

Responsabilidade: Analista de testes


1. Board e Novos testes

Quando o ticket de teste é alterado para o Backlog, o analista de testes será notificado por e-mail e pode iniciar os testes. O ticket de teste é responsabilidade do analista de testes atribuído e deve ter a situação alterada conforme o status correto. As situações utilizadas para este ticket são:


  • New: A feature/bug está em desenvolvimento (Inclui FIX) e o teste ainda não pode ser realizado

  • Backlog: O ticket está pronto para ser testado

  • Doing: O analista de testes está realizando testes com o ticket

  • Blocked: Alguma situação impediu o andamento dos testes, mas ainda está sob responsabilidade do analista de testes

  • Done: Teste finalizado


Após início dos testes o ticket pode ser gerenciado através do Board de Testes.

Cada feature/bug tem somente um ticket de teste que será utilizado para testar TUDO, inclusive caso existam FIX após os testes.


2. Validação Inicial

Para realizar os testes é necessário que o analista valide algumas situações inicialmente. Essas situações são referentes à entrega final do desenvolvimento:


  • Em caso de features todas as Stories precisam estar em status Done no Redmine.

  • O link do Merge Request que será testado deve estar na descrição do ticket da feature/bug dentro de uma seção chamada Merge Request.

    • O merge request que será testado precisa ser o Merge Request do bug/feature e não de stories

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

    • Deve conter somente 1 commit

    • Arquivo de changelog

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

      • Se houverem muitos commits para trás, é necessário pedir para o desenvolver fazer rebase

Obs: Caso algum dos requisitos não seja atendido deve ser realizado contato com algum desenvolvedor para ajustar.


3. Ambientes de teste

> Ambientes Testing iTFlex

Os testes podem ser realizados através dos ambientes Testing da iTFlex.

Estes ambientes são compartilhados e devem ser alocados através do bot. Ao alocar um servidor testing será criado um pipeline no CI/CD e é necessário aguardar o término. O Pipeline faz algumas ações de forma automatizada: volta snapshot dos servidores, gera pacotes no repo com a branch informada, configura os servidores para utilizar este branch e verifica novas atualizações. Após esse processo é necessário acessar os servidores e realizar a atualização da aplicação manualmente:


ssh fwflex-testing-1-fw01
itflex-packages update itflex

Após utilização é necessário executar a liberação do ambiente no bot.


> Ambiente local criado manualmente

Também é possível realizar os testes em outro ambiente que não seja de testes da iTFlex. Neste caso é necessário tomar cuidado com atualizações de branchs de teste para outras branchs de teste. O ideal é que o ambiente esteja sempre na versão stable e seja atualizado para a branch de testes.

Para realizar testes desta forma é necessário gerar pacotes através do bot: bot testing-rpm deploy <branch>

Após finalização do pipeline é possível ajustar a máquina para receber atualizações do novo repo e atualizar:

itflex-packages set-repo <branch>
itflex-packages update itflex


4. O que testar?

Os testes devem abordar os pontos:

  • Requisitos do ticket

    • Os tickets de Feature contam com uma seção "Definição de conclusão - Testes". Todos os tópicos devem ser totalmente atendidos

      • Em features mais complexas esta seção também pode estar presente nas Stories

    • Os bugs precisam estar corrigidos e o problema não acontecer mais

  • Padrões do produto

    • Validar questões gerais do produto, como:

      • Erros de português

      • Funcionamento dos campos e botões

      • Validação de campos onde necessário

      • Auditoria

      • Erros ao aplicar


5. Conclusão dos testes


  • Apontamentos

Necessário realizar o apontamento das horas trabalhadas no ticket de teste com o tipo de apontamento Testes.


  • Sucesso

Caso o teste seja concluído com sucesso e nenhum problema tenha sido detectado, o ticket de teste deve ser passado para o status Done.


  • Falha - Bugs

Caso o bug não tenha sido resolvido é necessário colocá-lo novamente na sprint correção.

  • Adicionar NOTA ou Checklist no ticket do bug com o problema encontrado e explicando a situação ocorrida

  • Alterar Situação do ticket de teste para NEW

  • Alterar Situação do ticket de bug para Backlog

Caso necessário pode ser agendada uma call rápida com os desenvolvedor envolvidos no ticket para alinhamento.


  • Falha - Features

Caso algum problema seja detectado é necessário abrir um ticket de fix e associá-lo à sprint pois as correções tem prioridade sobre os outros tickets

  • Abrir ticket de FIX DENTRO do ticket de teste

    • Acessar ticket de teste e clicar em Adicionar na seção Subtarefas

    • Tipo: Fix

    • Título: FIX - nome da feature

    • Situação: Backlog

    • Sprint: sprint atual

    • Adicionar as correções necessárias em forma de tópicos utilizando o CHECKLIST do ticket

    • Adicionar prints se possível

  • Alterar Situação do ticket de teste para NEW

Quando as correções forem realizadas o ticket de teste será colocado no Backlog pelo desenvolvedor e todo o processo deve ser realizado novamente.

Caso hajam novas correções a serem feitas, um novo ticket de FIX deve ser aberto seguindo os mesmos padrões.

Exemplos de tickets de teste e FIX: 47054, 47041, 46582

Caso necessário pode ser agendada uma call rápida com os desenvolvedor envolvidos no ticket para alinhamento.