DEV Community

Luiza Nascimento e Silva
Luiza Nascimento e Silva

Posted on • Updated on

Testes de Software

Os testes de software são uma parte do processo de desenvolvimento de software extremamente importante, pois validam o funcionamento da aplicação e se os requisitos foram atendidos. Atualmente, um sistema concluído sem Testes é considerado incompleto e passível de bugs arriscados.

Existem categorias de testes para cada caso de uso da aplicação, assim como para a necessidade que o sistema vai suprir.

Tipos de Testes

  • Teste de regressão

São utilizados para garantir que a junção de duas versões de uma aplicação não criarão novos defeitos em componentes já analisados.

O testador em questão realizará as funções da aplicação percorrendo-a como um todo ao invés de testar alguma parte alterada.

Muitas vezes são realizados por meio de ferramentas específicas para isso, mas também podem ser realizadas de forma manual pelo testador.

  • Teste de unidade

Verificam automaticamente pequenas partes de um código, normalmente uma classe.

Portanto, garante que a unidade do sistema funciona por meio de testes independentes, geralmente sendo responsabilidade do próprio desenvolvedor da unidade.

São simples, facéis de implementar e de rápida execução.

  • Teste de integração

Também chamados de testes de serviço, verificam uma funcionalidade ou transação completa de um sistema, portanto testando diversas classe e podendo até testar componentes externos como banco de dados.

Demandam mais esforço e executam de forma lenta.

  • Teste de sistema

Também chamados de testes de interface com o usuário, simulam de forma fiel uma sessão de uso de um usuário real.

São mais caros e lentos, além de fragéis pois mudanças na interface demandarão modificações nesses testes.

  • Teste de carga

Utilizado para avaliar os limites da aplicação, ou seja quanto suporta de volume de tráfego, informações, etc sem apresentar erros.

  • Teste de usabilidade

Utilizado para analisar como um usuário utilizaria o sistema, verificando onde possuiu mais dificuldade.

  • Teste de stress

Utilizado para avaliar seu ponto de adequação tanto suas especifações máximas quanto mínimas.

Desenvolvedor vs Tester

As responsabilidades de um desenvolvedor são bem diferentes das do tester, apesar de ser da responsabilidade dos desenvolvedores criarem os testes de unidade, integração e de sistema.

Contudo, um desenvolvedor orientado a testes tem menos chances de criar bugs, como é o caso do Desenvolvimento Orientado a Testes (TDD), onde primeiro o desenvolvedor pensa nos casos de testes e depois começa a implementação.

Conclusão

Testes de software devem ser uma preocupação de toda a equipe já que garante uma cadeia de satisfação. Os clientes retornarão feedbacks mais positivos quanto a aplicação, indicando seu uso para outras pessoas, os stakeholders terão um retorno positivo do seu produto e será um sistema melhor para realizar manutenção e realizar os diversos tipos de testes necessários.

Portanto, seu investimento aparentemente alto inicialmente, pois será necessário contratar novos funcionários para compor essa área da tecnologia, é retornado exponecialmente no futuro.

Top comments (0)