Série da semana: Buscas semânticas com Elasticsearch

Veja mais
O projeto está inativo

Documentação Teste Unitário

Esse projeto é uma série de documentações de ferramentas de teste unitário em diversas linguagens.

21

Introdução

O Teste Unitário é uma metodologia de teste de software cuja filosofia baseia-se em dividir o código fonte em unidades e testá-las. Sua ideia central consiste em: se todas as unidades do sistema funcionarem como o esperado, logo o sistema como um todo funciona plenamente.

Geralmente, é essa a primeira abordagem em matéria de confecção de testes mais robustos e confiáveis que podemos adotar. A técnica consiste em testar as menores unidades possíveis de código da aplicação em cenários isoladamente em um projeto separado da aplicação principal, o que permite a manutenção e a escalabilidade dos testes paralelamente a aplicação.

Destaques do projeto

  • Teste em PHP, Python, Javascript, Java e C# (.Net)
  • Exemplos práticos
  • Métodos de teste de diversas APIs

Por que teste unitário é importante?

Todo mundo testa, a diferença está na qualidade dos testes que são feitos. Muitos programadores, principalmente iniciantes, possuem o hábito de realizar seus testes junto do código fonte da aplicação seja fazendo breakpoints, imprimindo dados na tela ou simplesmente verificando a execução da aplicação. Essas formas de testar possuem uma série de problemas: não possuem uma boa cobertura do código sendo testado, pois os testes são perdidos conforme o código é posto em produção e são inseguros de uma forma geral conforme o software escala para um projeto de porte maior.

Glossário

Unidade

A unidade de trabalho pode ser definida como todo o processo executado quando um método de uma classe é chamado que termina em um resultado que pode ser comparado com um resultado esperado, esse resultado pode ser um valor de retorno, alteração num estado da classe ou a execução de outros métodos em uma ou mais dependências.

É o menor trecho de código testável da aplicação, alvo das implementações do teste unitário. A unidade é a parte mais importante do teste. A definição de unidade varia de acordo com o paradigma de programação sendo usado, podendo ser um método, uma função ou até mesmo um script de ações sendo executadas sequencialmente.

Classe de teste

É a classe onde os testes são escritos. Quando no contexto da arquitetura xUnit costuma herdar de TestCase. Classes de testes são criadas de forma que correspondem a classes de produção.

Assert

Assert vem do inglês assegurar e no contexto de teste unitário condiz ao ato de realizar o teste comparando o resultado ou comportamento do código sendo testado com o resultado ou comportamento desejado.

Dublê de teste

É um objeto usado para simular uma dependência do código sendo testado. O dublê é criado com o propósito de imitar um comportamento sem causar efeitos colaterais o que auxilia no isolamento dos testes sendo feitos.

Ambiente/Fixture

É o conjunto de configurações e/ou implementações que é compartilhado por vários testes de mesma classe. Geralmente ambientes são montados através de um método setUp e fechados por um método tearDown presente na ferramenta de teste unitário.

Suíte de testes

É o diretório ou caminho onde um determinado agrupamento de classes de teste se localizam. Geralmente usadas na proporção de uma suíte por aplicação, podendo haver diversas em grandes projetos.

Teste unitário é o mesmo que teste automatizado?

Teste unitário é uma forma de automatização de testes, porém não é a única. O teste unitário é o primeiro dos quatro níveis de teste de software (Teste Unitário, Teste de Integração, Teste de Sistema e Teste de Aceitação) servindo como base para a implementação dos demais métodos.

Saiba mais Veja a Série Receitas caseiras para teste unitário
Suporte ao aluno - Deixe a sua dúvida.
Achou 12 meses muito tempo?

Programação muda todo dia e cada novidade nos obriga a rever tudo que já sabíamos. Só um estudo contínuo nos leva ao sucesso.

Apenas 3,5% dos nossos assinantes querem cancelar antes dos 12 meses

O que nossos clientes dizem:

"Excelente trabalho. É assim que a gente vê que o investimento vale a pena. Parabéns!"

- Danniery Alves -
O que nossos clientes dizem:

"Prá lá de bom... Está ótimo: com clareza, didática, conhecimento de causa e uma boa dose de humor. "Persistência" é o segredo."

- Paulo Costa -
O que nossos clientes dizem:

"DevMedia ensina mais do que qualquer faculdade!!!"

- Mauricio Hartmann -