DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Artigo Java Magazine 50 - Testes Unitários Eficazes

Artigo publicado pela Java Magazine 50.

Esse artigo faz parte da revista Java Magazine edição 50. Clique aqui para ler todos os artigos desta edição

/FONT>

Testes Unitários Eficazes

Projeto de testes, critérios de qualidade e boas práticas

 

Os testes hoje fazem parte da rotina de todo desenvolvedor, e a gama de ferramentas disponíveis para esse fim é imensa. Apesar disso, nem sempresão desenvolvidos da melhor forma possível, com tempo e esforço sendo gastos na criação de testes com pouco valor. Neste artigo apresentamos, através de um exemplo completo, os desafios com que se deparam os desenvolvedores durante a atividade de testes e indicamos como criar casos de teste mais eficazes. Apesar de o foco ser no teste de unidade, com auxílio do JUnit 4 e do Emma, os conceitos são válidos para todas as fases de testes.

 

Alguns conceitos básicos

Vamos começar relembrando alguns conceitos. Os testes de unidade são a primeira fase de testes do software, sendo normalmente executados pelo desenvolvedor. Essa fase é, sem dúvida, a mais conhecida e a que possui mais ferramentas de apoio (JUnit, TestNG, JMock etc.). Tais ferramen tas facilitam e automatizam a execução dos testes e a análise de resultados, mas em geral não contemplam uma atividade fundamental: o projeto dos casos de teste.

De forma resumida, podemos dizer que um caso de teste descreve o comportamento esperado do programa em teste sob circunstâncias controladas. É constituído, basicamente, por uma entrada conhecida e um resultado esperado1. A entrada pode ser um parâmetro, uma mensagem numa fila, ou qualquer dado que alimente a unidade em teste2. O resultado esperado, por sua vez, pode ser uma mensagem noconsole, um registro no banco de dados, a geração de uma exceção e assim por diante. Quando o caso de teste é executado e o resultado obtido corresponde exatamente ao esperado, diz-se que o caso de teste “passou”. Caso contrário, considera-se que o caso de teste “falhou”.

Sabemos que o principal objetivo dos testes de software é encontrar erros no programa. Mas quando isso não ocorre, vemo-nos diante de um dilema: o software realmente não possui defeitos, ou o teste executado não foi bom o suficiente para encontrar os defeitos existentes? E essa questão leva a outra: quando determinar que a atividade de testes pode ser finalizada e o software possui qualidade suficiente?

A eficácia dos casos de teste é, portanto, um fator determinante para comprovar a qualidade do software. Como veremos a seguir, existem técnicas e critérios de teste que podem ser utilizados para indicar quando o conjunto de testes elaborado possui qualidade suficiente.

 

Nota 1: Um caso de teste, é claro, ainda possui muitas outras informações como identificador, objetivo, pré-condições, dependências, ambiente de execução etc.

 

 

Nota 2: Unidade em teste (UUT Unit Under Test), como indica o nome, especifica o que está sendo testado (um método, uma classe etc.).

"



ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Equipe Devmedia

Noticias/Dicas/Artigos publicados.




Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   1
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03