Saturday, July 12, 2008

Automação de testes com Canoo WebTest - Parte I

A maioria dos profissionais envolvidos em desenvolvimento de aplicações reconhece a importância da automação de testes, alguns tentam implantá-los, mas muitas vezes este esforço é malsucedido. As causas para o fracasso são várias:
  • Inexistência de roteiros de testes baseados nos requisitos.
  • Esforço para confecção e manutenção dos testes não previsto no cronograma do projeto.
  • Boa parte dos processos de desenvolvimento utilizados não contemplam automação de testes.
  • Dificuldade em convencer aos patrocinadores do projeto da importância dos testes automatizados.
  • Alto custo e limitações das ferramentas de teste.
Neste artigo, vou assumir que o leitor está convencido da utilidade da implantação de testes funcionais automatizados. A seguir vou mostrar que custo e limitação não é mais uma desculpa para não implementar e manter artefatos de automação para automação de testes funcionais para aplicações baseados em Web.

Porque Canoo WebTest?

Ao buscar uma ferramenta para automação de testes, elaborei a seguinte lista de requisitos:
  • Ser de baixo custo, de preferência gratuita.
  • Fácil de instalar e usar.
  • Facilmente "plugável" em scripts de build, de modo a permitir a execução automática dos testes em servidores de integração contínua.
  • Os scripts devem ser escritos em uma linguagem de programação rica, que facilite o uso de massas de dados externas e acesso ao banco de dados para preparação e validação dos resultados dos testes.
Entre as ferramentas avaliadas, o Canoo WebTest atendeu a boa parte destes requisitos:
  • Custo de aquisição zero.
  • Muito simples quando comparada a outras ferramentas.
  • É executada a partir de uma task do ANT, que é a ferramenta de build padrão para aplicações escritas em Java.
  • A linguagem padrão para os scripts é XML, que é muito limitada. Porém é possível criar scripts em Groovy, que é uma linguagem com recursos muito interessantes para esta finalidade. Por não ser a linguagem padrão, é necessário um esforço razoável para configurar o Canoo para utilizar o Groovy.

Instalando o Canoo WebTest

  1. Baixar a distribuição do Canoo WebTest aqui.
  2. Descompactar o arquivo em um diretório de sua escolha. Vou assumir o diretório c:\softs\webtest.
  3. Criar as variáveis de ambiente:
    • WEBTEST_HOME = c:\softs\webtest
    • JAVA_HOME = [diretório onde está instalado o JDK]
  4. Garantir que os diretórios %WEBTEST_HOME%\bin e %JAVA_HOME%\bin estão na lista do PATH do sistema.
  5. Para verificar se a instalação foi bem sucedida, crie um diretório qualquer (vou assumir c:\mytests) e entre com seguinte comando no command prompt:
    $ webtest -f %WEBTEST_HOME%\webtest.xml wt.createProject testeCanoo Buildfile: WebTest\webtest.xml wt.init: wt.createProject: [echo] [echo] Your WebTest project [testeCanoo] has been successfully created with some demo [echo] tests to get started. [echo] You can now just go to [c:\mytests\testCanoo] and run ant. [echo] BUILD SUCCESSFUL
  6. Se a execução do comando anterior gerar uma saída semelhante a esta acima, execute os comandos a seguir: $ cd testeCanoo $ ant
  7. Se após a execução do comando anterior, o arquivo c:\mytests\testeCanoo\results\webTestResults.html existir, o Canoo WebTest está funcionando corretamente em seu sistema. O conteúdo deste arquivo deve ser semelhante à figura abaixo:

Próximo post

No próximo post, vou mostrar como usar um plugin para Firefox como ferramenta de geração de scripts de teste. Também vou explorar os steps básicos que podem ser usadas na composição destes scripts através de exemplos.

No comments: