Testes unitários com junit

Disponível somente no TrabalhosFeitos
  • Páginas : 20 (4955 palavras )
  • Download(s) : 0
  • Publicado : 12 de abril de 2013
Ler documento completo
Amostra do texto
Testes Unitários com JUnit
Introdução
Teste de software é o processo de executar um sistema de maneira controlada, a fim de revelar seus defeitos e avaliar sua qualidade. Um teste unitário consiste em testar unidades individuais de uma aplicação a fim de descobrir defeitos nas mesmas. O nível de abstração destas unidades depende muito do tipo de sistema sendo desenvolvido. Segundo [Burnstein,2003], o processo de teste unitário deve envolver as seguintes atividades: Planejamento, Especificação e Projeto dos casos de teste, Preparação do código auxiliar e Execução propriamente dita.
Sistemas de software estão sujeitos à constante evolução, bem como as tecnologias sobre as quais eles são construídos. No entanto, faltam métodos e técnicas apropriados para dar apoio à evolução dessessistemas. Os benefícios que podem ser obtidos com o uso de conjuntos consistentes de testes automatizados durante a realização de manutenção corretiva, adaptativa, preventiva e perfectiva são dos mais diversos. Considera-se que um teste foi satisfeito quando a funcionalidade avaliada por ele é corretamente implementada, o que deve ocorrer logo após a implementação do teste. Implementam-se os testes dalista de casos de testes até que a funcionalidade almejada tenha sido obtida, ou seja, até que todos os testes que a avaliam tenham sido satisfeitos.
Técnicas
Existem muitas maneiras de se testar um software. Mesmo assim, existem as técnicas que sempre foram muito utilizadas em sistemas desenvolvidos sobre linguagens estruturadas que ainda hoje têm grande valia para os sistemas orientados aobjeto. Apesar de os paradigmas de desenvolvimento ser completamente diferentes, o objetivo principal destas técnicas continua a ser o mesmo, encontrar falhas no software. Abaixo estão descritas algumas das técnicas mais conhecidas.
Caixa-branca
Também chamada de teste estrutural ou orientada à lógica, a técnica de caixa-branca avalia o comportamento interno do componente de software. Essa técnicatrabalha diretamente sobre o código fonte do componente de software para avaliar aspectos tais como: teste de condição, teste de fluxo de dados, teste de ciclos, teste de caminhos lógicos, códigos nunca executados.
Os aspectos avaliados nesta técnica de teste dependerão da complexidade e da tecnologia que determinarem a construção do componente de software, cabendo, portanto avaliação de maisaspectos que os citados anteriormente. O testador tem acesso ao código fonte da aplicação e pode construir códigos para efetuar a ligação de bibliotecas e componentes. Este tipo de teste é desenvolvido analisando o código fonte e elaborando casos de teste que cubram todas as possibilidades do componente de software. Dessa maneira, todas as variações relevantes originadas por estruturas de condiçõessão testadas.
Um exemplo bem prático desta técnica de teste é o uso da ferramenta livre JUnit para desenvolvimento de classes de teste para testar classes ou métodos desenvolvidos em Java. Também se enquadram nessa técnica testes manuais ou testes efetuados com apoio de ferramentas para verificação de aderência a boas práticas de codificação reconhecidas pelo mercado de software. A aderência apadrões e boas práticas visa principalmente a diminuição da possibilidade de erros de codificação e a busca de utilização de comandos que gerem o melhor desempenho de execução possível. Apesar de muitos desenvolvedores alegarem que não há ganhos perceptíveis com essa técnica de teste aplicada sobre unidades de software, devemos lembrar que, no ambiente produtivo, cada programa pode vir a ser executadomilhares ou milhões de vezes em intervalos de tempo pequenos. É na realidade de produção que a soma dos aparentes pequenos tempos de execução e consumo de memória de cada programa poderá levar o software a deixar de atender aos objetivos esperados. A técnica de teste de caixa-branca é recomendada para as fases de teste de unidade e teste de integração, cuja responsabilidade principal fica a...
tracking img