5 de Fevereiro de 2010

Ferramentas para testes técnicos em Java EE

Arquivado sob: Testes — marco @ 17:12

Aplicações Java EE impõe fortes desafios aos times de testes, qualidade e arquitetura de aplicações. Além dos inúmeros aspectos funcionais a serem observados, devemos observar também elementos técnicos de qualidade interna e qualidade externa tais como desempenho, usabilidade, segurança ou manutenibilidade.

Sabemos que ferramentas isoladamente não resolvem problemas complexos, mas uma vez que você tenha um método simples e eficaz para endereçar um problema, podemos aumentar a eficiência do método com ferramentas eficientes. Neste contexto, destacamos aqui algumas ferramentas que podem apoiar o seu trabalho em testes técnicos na plataforma Java EE.

Ferramentas para testes técnicos Java EE

  • Testes de acessibilidade - O portal DaSilva (http://www.dasilva.org.br) realiza testes de acessibilidade a partir dos padrões WCAG e eGOV. Além disso, o portal também disponibiliza uma ferramenta para download para testes em Intranets.
  • Testes de desempenho - O Apache JMeter é uma ferramenta para testes de carga, estresse e maturidade de páginas Web, filas JMS, pool de conexões JDBC e outros objetos Java EE. Robusta e madura, possui diversos tipos de gráficos e análises estatísticas de confiança. Recomendo também uma extensão simples do JUNIT chamada JUNITPerf, para testes de caixa branca de desempenho ou vazão (thoughput).
  • Testes de instrumentação de códigos e servidores - O Eclipse TPTP realiza testes de instrumentação de código (profiling), que permite análise em nível de caixa branca (métodos Java) o uso de CPU, consumo de memória, vazamentos de memória e mesmo contenções de threads. Muito robusto ele gera inclusive diagramas UML2 de sequência dinamicamente a partir da interação com o servidor de aplicação alvo.
  • Testes de cobertura - Recomendo novamente o Eclipse TPTP, que permite analisar que linhas, métodos e classes foram cobertas durante um determinado tipo de teste. A ferramenta indica linhas virgens e também permite montar histogramas das seções e métodos mais usados durante teste de aceite do usuário.
  • Testes de automação Web - A plataforma Selenium realiza a automação de testes na Web através do conceito de gravação automatizada, extensão dos códigos gerados e reprodução. Os scripts gravados podem ser incluídos em suítes do JUNIT e ser também colocados em processos de integração contínua. O TPTP também possui uma ferramenta neste sentido, embora um pouco mais complexa para operação que o Selenium.
  • Testes de interoperabilidade - Ferramentas como o jMOCK ou o EasyMock permitem que simulemos recursos como programas de terceiros para que possamos fazer testes fim a fim mesmo antes que estes programas estejam prontos. Estas ferramentas são baseadas no conceito de “dublês” e simulam literalmente o comportamento de um recurso a ser integrado. Este tipo de tecnologia também é util em grandes projetos quando times estejam construindo módulos que requeiram grande integração. e que ainda não estejam prontos.
  • Testes de manutenibilidade - O Metrics é um plugin simples para Eclipse que faz análises diversas de código e extrai métricas universais de qualidade como por exemplo a complexidade ciclomática. Em resumo, ela responde a pergunta se o seu código é manutenível ou não. Uma outra ferramenta de livre acesso neste sentido é o SourceMonitor, que também traz gráficos diversos de análise como gráficos de histogramas e diagramas de Kiviat (gráficos polares) para análises executivas de qualidade.

Caso você conheça alguma outra ferramenta de teste técnico para Java EE, deixe aqui a sua opinião ou comentário.

Pensamento do dia: Amplius juvat virtus, quam multitudo (Mais vale a qualidade que a quantidade)

9 de Maio de 2008

Ferramentas e Recursos para Engenheiros e Analistas de Testes

Arquivado sob: Outros, Testes — marco @ 20:46

Uma execução saudável de um projeto requer profissionais e recursos de primeira linha para a disciplina de teste. Compilo abaixo algumas informações muito interessantes para analistas e engenheiros de testes nos tópicos de gerência de testes , testes funcionais, testes de desempenho, testes de WebServices/SOA e testes de caixa branca (para desenvolvedores) e sistemas embutidos. Estes excelentes materiais fazem parte do portal do DeveloperWorks da IBM e trazem experiência provada para auxiliar times de testes a serem mais efetivos.

Interessante notar que a plataforma IBM para testes é baseada em uma plataforma *aberta* para testes, que implementa muitas das funcionalidades mostradas nos kits acima, especialmente para as áreas de testes funcionais e desempenho. Esta plataforma se chama Eclipse Test and Peformance Tools Platform. Um passeio rápido por esta plataforma pode ser feito aqui.

23 de Julho de 2007

Anunciado o II Seminário de Qualidade e Testes de Software - ALATS, Regional Belo Horizonte

Arquivado sob: Testes — marco @ 13:30

A ALATS, regional Belo Horizonte, promove a 2ª edição do Seminário de Qualidade e Teste de Software, durante a 3ª Feira de Ciência, Tecnologia e Inovação no período de 8 a 9 de novembro de 2007 no Expominas em Belo Horizonte, Minas Gerais.

Mais informações sobre a programação do evento e chamadas de trabalho podem ser encontradas aqui:
http://www.ramsoftware.com.br/seminario/seminario.html

18 de Dezembro de 2006

Gerência Efetiva de Testes - Como criar um ciclo de vida para atividades de qualidade

Arquivado sob: Testes — marco @ 14:49

Implantar qualidade em projetos de software é uma tarefa bastante complexa. Um dos principais desafios é como organizar um ciclo de vida de testes que acompanhe temporalmente o ciclo de vida de um projeto. Contrariamente ao senso e prática comum, atividades de testes devem se iniciar no começo do projeto de forma a identificar proativamente os riscos de qualidade.

Um ciclo canônico de atividades de qualidade em um projeto deve incluir:

  • Análise de Casos e Cenários de Testes
  • Validação do Desenho
  • Testes de Unidade
  • Teste de Integração
  • Teste Funcional e de Sistema
  • Teste de Desempenho

O excelente tutorial em anexo faz uma compilação detalhada destas atividades à luz das principais ferramentas de testes da IBM. Independente do uso de ferramentas, a leitura do artigo traz boas idéias que podem ser personalizadas e adequadas à realidade do seu trabalho para melhorar o seu processo de testes e qualidade de um produto de software.

10 de Novembro de 2006

Redução Extrema de Defeitos

Arquivado sob: Testes — marco @ 18:41

Esta semana ocorreu a segunda feira de Ciência, Inovação e Tecnolologia organizada pela MinasPlan.

O evento reuniu diversos palestrantes, universidades e empresas ligadas a qualidade e testes em todo o Brasil. Tivemos a oportunidade de realizar uma apresentação neste evento, disponível aqui.
Esta apresentação compila alguns mitos sobre defeitos em desenvolvimento de software e apresenta técnicas de qualidade contínua que tem por objetivo realizar a redução de defeitos em até uma ordem de magnitudade (10x).

Blog do Marco Mendes | Artigos, Comentários e Opiniões sobre Engenharia de Software, Arquitetura de Software, SOA e Java