quinta-feira, novembro 24, 2005

Ferramentas para automação de testes

Mudando um pouco de foco hoje para ferramentas de automação de testes! Acabei descobrindo excelentes ferramentas para automação de testes de aceitação ao começar a ler o livro "Fit for Developing Software : Framework for Integrated Tests". O Fitnesse é uma forma fascinante de você ligar uma página web de um wiki ao seu sistema sob teste, através de classes de negócio ou da interface de usuário. Esse modo de trabalho aumenta colaboração entre clientes e os desenvolvedores do sistema.

Minhas análises acabaram me levando ao encontro do WATIR. Esta é uma biblioteca em Ruby (minha nova paixão em linguagens de programação :-) ) que permite ao analista de testes escrever scripts que executam ações no Internet Explorer. Diferente de frameworks Java como o HttpUnit e o JWebUnit o WATIR realmente ABRE um browser Internet Explorer e vai realizando ações nele utilizando a automação do IE!

Veja este exemplo para verificar como é simples construir um script novo e como a linguagem é simples: http://wtr.rubyforge.org/example_testcase.html . Creio que um analista de testes que conheça automação e um pouco de programação (o verdadeiro tester precisa entender programação!) pode aprender rapidamente como usar o WATIR. No roadmap de novos recursos há idéias de se permitir que o Watir também consiga usar outros browsers, como o Mozilla Firefox. Aliás, uma dica: O Firefox possui uma extensão chamada Web Developer que ajudará muito os desenvolvedores e testers a implementar os testes funcionais... entre outras coisas!!! Outra grande informação sobre o Watir é que um dos seus criadores é Bret Pettichord, um dos autores do excelente livro "Lessons learned in Software Testing".

Eu senti falta de um gerador de relatórios em HTML mas acabei descobrindo um framework chamado test-report que na verdade é um bom add-on para os testes de unidade do Ruby. Fiz uns testes e depois de um pequeno bug que tive de consertar no script consegui executá-lo e gerar um relatório em HTML com os testes. Outro problema com o framework do test-report(não com o Watir!!!) é que parece que ele não está mais sendo mantido.

Mas depois de entrar e enviar uma pergunta para a lista de emails de usuários do Watir comentaram para mim da extensão WET. Ainda não a testei mas além dos relatórios HTML (não me pareceram tão bons quanto os do test-report) ele dá um nível de abstração muito interessante para melhorar o reuso dos testes funcionais.

Após ler alguns artigos que comentam dos riscos e perigos de ferramentas de record/playback (como a dificuldade em se alterar os testes, problemas em automatizar sua execução em ambientes de integração contínua e linguagens scripts proprietárias) o Watir cada vez mais me parece uma boa solução. Vide o artigo de Marick e de Bret Pettichord.

Quem tiver interesse pode analisar também o projeto Selenium. Ainda tem pouquíssima documentação mas me parece que será muito interessante.

Outro bom projeto que possui a filosofia data-driven e não a de record/playback é o da ferramenta para automação de testes para sites Web Canoo WebTest. Ela utiliza como fundamento o HtmlUnit e os testes são escritos através de arquivos XML.

Para terminar então vão as dicas e o nirvana para se atingir um desenvolvimento de software com qualidade alta e testes contínuos durante todo o processo de desenvolvimento: Faça Test-driven development usando um dos frameworks da família xUnit. Depois coloque seus analistas de sistemas e testers para conversar com os clientes e usuários para criar páginas Web no Fitnesse e aos poucos use os desenvolvedores para ligar as páginas ao código das classes de negócio. Por fim, assim que os cenários forem sendo completados pelos desenvolvedores crie scripts de testes funcionais usando o Watir. Coloque todos eles executando numa ferramenta de integração contínua (com no mínimo um build diário) e voilá :-) !!!

Marcadores:

4 Comentários:

At 9:41 AM, Anonymous Helena disse...

Olá José!

Comecei a mexer com algumas ferramentas de automação e a que mais gostei foi a QuickTest. Ela tem algumas funcionalidades simples e o testador não precisa ter muita noção de programação, além de funcionar bem com aplicações web. Mas não sei se ela é compatível com .Net. Talvez eles lacem uma nova versão.

Beijos, Helena.

 
At 2:54 PM, Anonymous Paulo Henrique Ladeira disse...

Olá José! Também comecei a mxer agora com algumas ferramentas de teste e queria saber se você tem algum tutorial sobre fitnesse para eu seguir, pois estou tendo problema com o que tem na página deste.

Obrigado
E-mail: phenr@dpi.ufv.br

 
At 1:16 AM, Anonymous Anônimo disse...

Olá José,

Estou iniciando meu trabalho de graduação e meu orientador nos a tarefa de usar Fitnesse para testes de software. Você teria ou poderia indicar algum tutorial bem básico para quem está apenas começando...
e-mail: a3c33@yahoo.com.br

Obrigado,

Adriano

 
At 2:28 PM, Anonymous Anônimo disse...

oi José,
vejo muita informação de ferramentas para aplicações web e para desktop você pode me dar algumas opções de ferramentas gratuitas?

Obrigado

 

Postar um comentário

Links para este artigo:

Criar um link

<< Home


Veja as Estatísticas