Testes unitários

Segue abaixo alguns conceitos que podem ser aplicados na construção de testes unitários:

  1. Único conceito por teste, ou seja, cada método deve ter uma afirmação;
  2. Não escreva testes grandes demais, quando ficar muito grande deixe-o e escreva testes menores que representem parte dele. Cada teste deve ser o mais simples possível.
  3. Todo método de teste deve ter pelo menos uma assertiva (Assert);
  4. Não faça check-in de testes quebrados;
  5. Isole as dependências de objetos dentro de MOQs ou Fakes (Objetos simulados ou falsos);
  6. Cada classe de teste deve corresponder a uma classe de negócio;
  7. Se necessário, separe os códigos de “Arrange” em uma classe [Partial], assim a classe de teste principal terá somente os métodos de teste;
  8. Nos testes evite:
    1. Conversar com o bando de dados;
    2. Comunicar com a rede;
    3. Ler arquivos externos;
    4. Concorrer com outros métodos de teste;
    5. Configurar ou preparar o ambiente (Externo) para executa-los;
  9. Estruture o seu método de teste em três partes:
    1. Arrange (Preparar os dados para fazer o teste);
    2. Action (Chamar do método a ser testado);
    3. Assert (Testar o resultado obtido);
  10. Dados com significado evidente:
    1. O teste é escrito para alguém ler, serve como documentação do software
    2. Escreva assertivas que representem o objetivo do teste;
  11. Aplique o modelo F.I.R.S.T.
    1. Fast – Rápidos: devem ser rápidos, pois testam apenas uma unidade;
    2. Isolated – Testes unitários são isolados, testando individualmente as unidades e não sua integração;
    3. Repeateble – Repetição nos testes, com resultados de comportamento constante;
    4. Self-verifying – A auto verificação deve verificar se passou ou se deu como falha o teste. Ainda que o objetivo seja o teste de uma falha, o resultado deve ser positivo;
    5. Timely – O teste deve ser oportuno, sendo um teste por unidade.
  12. Aplique os princípios básicos do TDD
    1. Não escreva nenhum código de produção até que tenha escrito antes um teste de unidade que detecte uma falha;
    2. Não escreva mais que um teste de unidade do que o suficiente para a falhar;
    3. Você não pode escrever mais código de produção que sejam suficientes para passar pelo atual teste de unidade;
Anúncios

Um comentário sobre “Testes unitários

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s