Benefícios de testes unitários no desenvolvimento de software

Daniel Cavalcante
2 min readApr 6, 2018

--

No desenvolvimento de software é comum termos mudanças nos requisitos. Seja por uma análise superficial feita pelo analista de requisitos ou porque o usuário e o analista não detectaram uma falha no fluxo planejado. Essas falhas são comumente detectadas durante a fase de desenvolvimento.

Dentro desse cenário, como garantirmos que as mudanças de requisitos não impactem funcionalidades previamente implementadas ou, em caso de impacto, como determinar quais funcionalidades são afetadas? Existem métodos para diminuir esse impacto, o método que abordarei neste post é sobre testes unitários automatizados.

Testes unitários ou Testes de unidade

O nome já deixa claro o que esse tipo de teste faz, teste unitário é responsável por examinar menores unidades de um software. Ou seja, ele avalia o comportamento que um objeto deve ter, de forma totalmente isolada de outras partes do sistema.

Falando em linguagem de códigos de programação, podemos pensar em testar métodos ou funções. Geralmente métodos e funções tem o objetivo de executar uma determinada ação ou simplesmente retornar um valor.

Os testes unitários devem ser simples de serem escritos e reescritos quando necessário, porém, precisamos ter muito cuidado em sua escrita. Por exemplo, podemos adicionar código desnecessário ou comportamentos que não pertencem a um teste unitário. Quanto mais simples e legível o teste unitário for, maior chance esse teste terá de estar escrito corretamente.

A medida que os testes unitários são escritos, o projeto passa a ganhar uma cobertura de avaliações. A cada mudança de requisitos, podemos rodar nossos testes unitários e com isso ver o que deixou de funcionar no projeto quando ocorre uma alteração que impacta outras partes do sistema. A medida que adaptações foram feitas e os testes falharam, os próprios testes mostram o motivo pelo qual deixaram de funcionar.

Esta é a grande vantagem de se trabalhar com testes unitários: garantir que o comportamento esperado por cada componente do sistema seja executado de forma correta. Com testes unitários fica evidente quando um determinado comportamento é alterado, em quais outras partes do sistema esta alteração tem impacto e evidência de forma rápida onde os ajudes necessários devem ocorrer.

--

--

Daniel Cavalcante

Tenho 27 anos de idade e moro em João Pessoa. Trabalho com desenvolvimento de software desde 2011. Amo passar conteúdo para outras pessoas.