Tarefa: Implementar Testes de Desenvolvedor
Implementar       um ou mais testes que permitam a validação dos componentes individuais de software através da execução.
Disciplinas: Implementation
Objetivo
Preparar para validar um componente de software (por exemplo uma operação, uma classe, uma stored procedure) através do teste unitário. O resultado será um ou mais testes de desenvolvedor novos.
Relacionamentos
Funções Executor Primário: Executores Adicionais:
Entradas Obrigatório: Opcional:
Saídas
Descrição Principal

O teste de desenvolvedor é diferente de outras formas de teste porque ele está baseado no comportamento esperado das unidades de código ao invés de estar diretamente baseado nos requisitos do sistema.

É melhor fazer este teste em pequena escala, muito menor do que o código escrito por um desenvolvedor no curso de uma iteração. Isto pode ser feito para uma operação, um campo adicionado a uma interface de usuário, uma stored procedure, etc. A medida que o código for construído incrementalmente, novos testes serão escritos e os testes existentes revisados para testar o comportamento adicional.

Etapas
Refine o escopo e identifique os testes

Selecione o incremento de trabalho a ser testado e identifique os testes de desenvolvedor necessários para verificar que a Implementação que está sendo desenvolvida se comporte corretamente. Uma boa fonte para identificar o comportamento esperado de um componente de software é o Design

Na identificação dos testes ou em qualquer outra parte desta tarefa, considere a colaboração de um Testador que seja bem versado nas questões de teste.

Escreva a instanciação do teste
Para executar um teste com sucesso o sistema deve estar em um estado conhecido de modo que o comportamento correto possa ser definido. Implemente a lógica de instanciação que deva ser executada como parte do Teste de Desenvolvedor.
Defina os resultados esperados

Defina os resultados esperados de cada teste de modo que eles possam ser verificados.

Depois da execução de um teste, é necessário comparar os resultados da execução do teste contra o que se esperava que acontecesse. O teste será bem sucedido quando os resultados reais combinarem com os resultados previstos.

Escreva a lógica do teste
Escreva as etapas de execução dos testes.
Defina a resposta do teste
Defina as informações que os testes devem produzir para indicar se houve sucesso ou falha. Considere se uma resposta do tipo verdadeiro ou falso é suficiente, ou se uma mensagem detalhada deva também ser registrada.
Escreva código para limpeza
Identifique e implemente os passos necessários para restaurar o ambiente de teste ao estado inicial antes do início de cada teste. O objetivo é assegurar que não haja nenhum efeito colateral quando da execução dos testes.
Teste o teste

Verifique que cada teste de desenvolvedor funcione corretamente. Para isto:

  • Execute os testes, observe seu comportamento, e repare qualquer erro encontrado nos testes.
  • Assegure-se de que os resultados previstos estejam definidos corretamente e que estejam sendo verificados corretamente.
  • Verifique a lógica do código de limpeza para cada teste.
  • Assegure-se que cada teste de desenvolvedor funcione na sua ferramenta de teste.
Considerações de Teclas
  1. Automatize os testes através de uma ferramenta de teste de regressão unitário (por exemplo, xUnit) de modo que os testes possam ser executados por desenvolvedores sempre que eles fizerem mudanças no código.
  2. Teste o risco do componente. Por exemplo, quão mais crítico for um componente, mais importante será testá-lo completamente.
  3. Junte-se ao Testador em todas as etapas desta tarefa para melhorar os processos de teste e de qualidade.
Alternativas
Confiar em testes de aceitação para validar o software. Esta alternativa provavelmente consumirá mais tempo e não será tão eficaz quanto o teste de desenvolvedor na identificação de erros e na sua localização no código.
Informações Adicionais