Teste de Unidade

Ortiz de Arcanjo Antonio David - Jun 6 '23 - - Dev Community

Definições

Teste de Unidade: é o teste usado para testar unidades do código. O teste de unidade consiste em verificar o comportamento das menores unidades numa aplicação.

Os testes de unidade garantem que cada parte funcione correctamente e cumpra com os requisitos do software. Sem a criação de testes os desenvolvedores correm o risco de encontrar erros muito tarde, principalmente quando o software entra em produção, aumentando os custos da manutenção.

Unidades: podem ser métodos, funções, classes, structs, módulos, pacotes e funcionalidades.

Elementos principais de um teste

  • Pré-condições: condição que deve testada durante a execução do teste;
  • Pós-condição: condição que deve ser atendida para a execução bem-sucedida do teste;
  • Etapas do teste: ordem das instruções para a execução do teste;
  • Resultado esperado: resultado que se pretende alcançar na execução do teste;
  • Resultado real: resultado obtido após a execução do teste;
  • Estado: estado obtido após a execução de um teste. Pode ser aprovado ou reprovado.

Biliotecas e Frameworks

  • Java: JUnit, JBehave, Serenity, Spock, etc;
  • C#: NUnit, XUnit, Moq, OpenCover, AutoFixture;
  • Javascript: Jasmine, Karma;
  • Python: Unittest, PyTest;
  • PHP: PHPUnit,
  • Go: go testing;
  • Elixir: ExUnit.

Benefícios dos Testes de Unidade

  • Identificação dos erros de software com antecedência;
  • Mudanças são possíveis sem refletir em outros módulos;
  • Simplificação da integração do código;
  • Simplifica o design e a documentação;
  • Reduz a taxa de erros e o consumo de tempo;
  • Reduz os custos de implementação;
  • Facilidade na refactoração do código e melhoria do código;
  • Fornece a documentação “viva” do software.

Exemplo

Criação de testes para uma biblioteca de manipulação de ficheiros. A biblioteca está dividida em 3 partes: Manipulação de ficheiros (criação, remoção e escrita), Compressão de ficheiros e Informação dos ficheiros.

  • Nome da biblioteca: FileManager
  • Linguagem: Go
  • Ferramenta de teste: go testing

Código Fonte

https://github.com/ortizdavid/filemanager

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player