Pular para o conteúdo principal

Cobertura de Testes


Iteração de SDLC sem Cobertura de Testes

Iteração de desenvolvimento sem cobertura de testes1
image

  1. Software Estável:
    • Ainda não há alterações instáveis (cinza).
  2. Processo de Desenvolvimento:
    • Desenvolvedor:
      • Adiciona um novo bloco de código ainda sem testes (vermelho).
      • NÃO escreve testes para o código novo.
    • Rotina de Teste:
      • Testes manuais para verificar o código.
      • Desenvolvedor corrige o código para que os testes passem.
  3. Processo de Teste:
    • Código novo é testado e bugs são corrigidos.
    • Código antigo é testado e bugs são corrigidos.
    • Partes dos bugs são corrigidas, mas não todos, pois não há rastreabilidade.
  4. Software Após Iteração:
    • Software com blocos instáveis (laranja).
    • Recebe um novo bloco de código (vermelho).
    • Processo se repete.

Iteração de SDLC com Cobertura de Testes

Iteração de desenvolvimento com cobertura de testes2
image

  1. Software Estável:
    • Ainda não há alterações instáveis (cinza).
    • Alguns blocos do código estão cobertos por testes (azul).
  2. Processo de Desenvolvimento:
    • Desenvolvedor:
      • Adiciona um novo bloco de código ainda sem testes (vermelho).
      • Escreve testes para o código novo.
    • Rotina de Teste:
      • Executa os testes.
      • Testes falham e avisam o desenvolvedor (verde).
      • Desenvolvedor corrige o código para que os testes passem.
  3. Processo de Teste:
    • Execução coberta de testes (azul).
    • Código novo é testado e bugs são corrigidos.
    • Código antigo é testado e bugs são corrigidos.
    • Testes são escritos para os testes que descobriram os novos bugs (verde).
  4. Software Após Iteração:
    • Software com cobertura de testes estável (azul).
    • Recebe um novo bloco de código (vermelho).
    • Novos testes foram escritos para o código novo (verde).
    • Processo se repete.

Referências

  • Artigo de Referência usado para idealizar as imagens:
    • AMANN, Sven; JÜRGENS, Elmar. Change-Driven Testing. In: THE FUTURE OF SOFTWARE QUALITY ASSURANCE. 2020. p. 1-14. https://doi.org/10.1007/978-3-030-29509-7_1
      • O forma de diagramar a presença de erros e cobertura de testes em um sistema foi adaptada em uma nova imagem para demostrar a diferença entre o cenário de desenvolvimento com e sem cobertura de testes.

Footnotes

  1. Imagem: "Iteração de desenvolvimento sem cobertura de testes"

    • Fonte: Diagramação própria.
    • Legenda:
      • cinza: código estável;
      • laranja: código instável;
      • vermelho: código novo que não foi testado.
  2. Imagem: "Iteração de desenvolvimento com cobertura de testes"

    • Fonte: Diagramação própria.
    • Legenda:
      • cinza: código estável;
      • laranja: código instável;
      • vermelho: código novo que não foi testado;
      • azul: código estável coberto por testes;
      • verde: código coberto em que os testes falharam e avisaram o desenvolvedor.