Testes automatizados em aplicações desktop

“Vai pro saco!” — Capitão Nascimento

Há algum tempo os testes automatizados UI passaram a serem discutidos cada dia mais em desenvolvimento de software, principalmente em ambientes ágeis. A cada nova versão, além dos testes referentes a aquele escopo, é muito importante executar os testes de regressão para afirmar que os novos itens que foram adicionados não afetaram a versão corrente. A Execução de alguns testes funcionais manualmente é viável, mas imagine uma aplicação com diversos fluxos e variações, ou a necessidade de uma massa de dados base para vários testes manuais mais específicos. Com isso a automação de testes funcionais regressivos e a geração de massa de dados se torna uma necessidade, ainda mais em ambientes ágeis onde a procura de planos de ações para diminuir alguns gargalos é constante.

Encontram-se muitos artigos e discussões voltados para para aplicações web, mas muitos projetos ainda evoluem e dão manutenção em aplicações desktop, e a pergunta que fica é : Como iniciar a automação desses testes ?

O Sikuli e o Testcomplete são as ferramentas que eu já trabalhei e que apresentam uma boa performance, facilidade de implementação e manutenção.

Um pouco mais sobre elas :

Sikuli IDE : Ferramenta desenvolvida em parceria com o MIT, que permite automatizar praticamente tudo que consegue identificar em tela. A ferramenta não possui geração nativa de relatórios ou integração com outras ferramentas.

Testcomplete : Aplicações desenvolvida pela Smartbear e utiliza os elementos da tela para automatizar os testes (por exemplo o id do botão “OK”). Possui um modo onde grava o passo a passo executado em tela e gera um scripts que pode ser utilizado posteriormente. Contém vários relatórios pós execução que mostram o tempo que foi executado o teste e as evidências. Possibilidade de integração com outras ferramentas por exemplo o Jira e Jenkins. Possui módulos que são comprados a parte, que podem automatizar aplicações web, desktop e mobile.

  • Download.
  • Custo : Deve ser comprado por módulos. Plataforma : U$1,200 + Modulo Desktop : U$1,199.

Mais informações : https://smartbear.com/product/testcomplete/pricing/

Sikuli x Testcomplete :

Se não fosse pelo alto valor da licença (R$ 7.200,00 convertido em real, mais impostos) adotaria o Testcomplete como ferramenta oficial, por ser mais completa possuir opções nativas de relatório e ser mais visual e intuitivo. Mas como o custo da ferramenta é alto escolhi o Sikuli, que quando desenvolvido de uma forma organizada pode ser tão eficiente quanto o Testcomplete.

Conclusão :

Mesmo com aplicações desktop podemos e devemos manter suítes de testes automatizados, para a execução de testes funcionais regressivos e geração de massas de dados mais demoradas. Com isso ganhamos muito em qualidade e tempo.

Nos próximos posts irei descrever como organizar os fluxos e bibliotecas utilizando o Sikuli, e como conseguimos extrair algumas métricas importantes dessas execuções.