Article image
André Lima
André Lima30/12/2023 18:32
Compartilhe

A importância dos testes unitários (+ dicas de ferramentas para seus testes)

  • #.NET
  • #.NET Core
  • #.NET C#

Existem mais de um tipo de teste de software. O que falarei um pouco aqui é o Teste Unitário, que é responsável por testar a "menor parte testável de um programa", que geralmente é um método. Vale destacar que o Clean Code orienta criarmos métodos com uma única responsabilidade, caso o método possua muitas responsabilidades, vale verificar se ele pode ser quebrado em outros métodos para ajudar principalmente na leitura do código.

Também é possível usar o mesmo pacote que serve para testes unitários, como o xUnit para realizar testes de integração, que são testes que, por exemplo, podem testar desde a entrada de um usuário numa interface, passando pelo processamento da API, até o salvamento desse dado no banco de dados.

Um dos mais importantes problemas que os testes procuram resolver, é diminuir o custo (que pode ser convertido em custo monetário mesmo) de ter que corrigir um bug de uma aplicação que está em produção (que já foi entregue e esta rodando para o cliente final).

Ao resolver um bug durante o desenvolvimento, você pode evitar que isso vire um chamado do cliente final que pode retornar para você corrigir a aplicação. Dependendo do caso, a aplicação ter que parar após sua entrega, pode se traduzir em um grande contratempo para o cliente e com certeza será para quem desenvolveu, pois provavelmente você estará focado em outras tarefas. Claro que problemas podem acontecer, mas detecta-los e evita-los será muito melhor :)

Vale ressaltar que os testes podem levar um tempo para serem feitos, por isso é bom adicionar o tempo deles dentro do prazo para entregar uma aplicação com qualidade. Mas ao estruturar o cenário de testes, sempre que sua aplicação tiver mudanças, você só precisará rodar os testes automáticos, que serão extremamente mais rápidos do que fazer testes manuais.

Uma comparação grosseira seria se todos os testes unitários rodam em mais ou menos 3 minutos, rodar manualmente os mesmos testes poderia levar 1 hora ou mais. Isso no longo prazo somaria muitas horas. Além disso, adicionar novos testes se torna mais fácil, pois já há uma estrutura criada que facilita essa manutenção.

Claro que se você julgar que um teste manual dará conta dos casos de uso e possíveis bugs da sua aplicação, os testes automáticos podem ser deixados de lado.

Mas se essa aplicação aumentar de tamanho, ter mais funcionalidades e ir se tornando cada vez mais complexa, garantir que tudo está rodando bem com os testes unitários será uma baita ajuda.

Para além disso, gostaria de compartilhar um texto com dicas de varias ferramentas para se usar nos testes unitários em .NET.

https://www.eduardopires.net.br/2017/07/ferramentas-para-escrever-testes-de-unidade-mais-eficientes/

Compartilhe
Comentários (0)