Artigo Engenharia de Software 6 - Testes com Objetos Mock

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Neste artigo foi realizado o teste unitário de um servlet, sem precisar executar a aplicação web, utilizando objetos mock através do framework EasyMock para simular a requisição.

Esse artigo faz parte da revista Engenharia de Software 6 edição especial. Clique aqui para ler todos os artigos desta edição

 

Validação, Verificação e Teste

Testes com Objetos Mock

Utilizando o framework EasyMock para teste unitário de aplicações Java

De que se trata o artigo:

Uso do framework EasyMock para teste unitário de software Java, utilizando objetos mock. Neste artigo foi realizado o teste unitário de um servlet, sem precisar executar a aplicação web, utilizando objetos mock através do framework EasyMock para simular a requisição.

Para que serve:

  Fornecer um meio para construir casos de teste utilizando objetos mock de forma ágil, permitindo que partes críticas da aplicação possam ser testadas de forma automatizada. Mostrar uma solução de teste para casos naturalmente difíceis de serem testados como, por exemplo, partes de código que dependem de outras partes que ainda não estão prontas.

Em que situação o tema é útil:

  Em testes unitários de software Java para melhoria da qualidade do produto de software final, permitindo que partes críticas possam ser testadas desde o início do desenvolvimento.

Resumo Devman

Os testes unitários são essenciais para garantir que menores unidades do software sejam testadas, mas essas unidades podem depender de outras partes do código que ainda não estão prontas. Outra situação refere-se à propagação do erro, onde é importante conseguir isolar uma determinada classe a ser testada, independente daquelas que são chamadas por ela, eliminando-se dúvidas sobre a origem do erro. Uma solução para esses casos é apresentada através da utilização de objetos mock, com o framework EasyMock. Neste artigo simulamos uma requisição web utilizando um objeto mock nos casos de teste para testar um método de um servlet.

 

Todo processo de software deve envolver em algum momento a fase de testes. O ideal seria que simplesmente todo o código pudesse ser testado exaustivamente para garantir que um software sem nenhum defeito fosse entregue ao cliente. Mas sabemos que mesmo com uma aplicação pequena, um teste completo, executado de forma exaustiva, seria inviável. Então, a forma que os analistas de teste, e outros profissionais que tenham que desempenhar este papel no processo de software, encontram para identificar os defeitos no software é concentrar os testes nas áreas mais críticas, como partes que serão mais utilizadas pelo usuário e partes que contenham um processamento mais complexo. Existem vários tipos de testes que podem ser utilizados de acordo com a necessidade.

Os testes unitários são essenciais para que seja possível testar a menor unidade do software como um método, uma classe ou mesmo um objeto. Mas essas unidades a serem testadas, principalmente as mais complexas, podem depender de outras partes do código que não queremos testar no momento, por que não estão prontas ou por que podem comprometer os resultados do teste gerando dúvidas sobre qual é a origem do erro. Uma solução para estes casos é a utilização de objetos mock.

Este artigo mostra um exemplo passo a passo da implementação de um teste unitário que utiliza objetos mock.

Objetos Mock e o Framework EasyMock

Os objetos mock são objetos “falsos” que simulam o comportamento de uma classe ou objeto “real” para que possamos focar o teste na unidade a ser testada. Os objetos mock podem ser extremamente úteis nas situações acima citadas onde é necessário criar um caso de teste e existem dependências entre os objetos. Como mostraremos a seguir, sua utilização é bastante simples e agiliza bastante o processo de construção de testes unitários.

Antes dos objetos mock, uma alternativa eram os stubs, objetos criados para substituir aqueles que seriam chamados numa troca de mensagem. Estes tipos de objeto, por um lado, facilitavam os testes, mas ao mesmo tempo podiam demandar geração de muito código extra, já que em alguns casos era necessário gerar cópias das classes reais para realizar os testes. Os objetos mock não são stubs, mas poderíamos dizer que são tipos de stubs que requerem muito menos código. A principal exigência na utilização de objetos mock é a implementação de interfaces, que já são utilizadas em várias situações, por serem uma boa prática de programação orientada a objetos, e a sua inclusão no modelo de classes não requer muitas alterações.

Para criarmos os objetos mock utilizaremos o framework EasyMock, gratuito e de código aberto, que está disponível em http://sourceforge.net/projects/easymock.

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?