E aí, galera! Tudo bem com vocês? Meu nome é Daniel Martins, administrador do blog batteries not included. Fui gentilmente convidado pelo Rafael, administrador deste blog, para publicar sobre um assunto de minha escolha. Foi difícil escolher, mas espero que o texto seja de interesse de todos!
Introdução
Levando em consideração que este blog disponibiliza muito material interessante sobre desenvolvimento com Swing, eu acabei optando por não sair muito desse assunto. Decidi escrever sobre um tema que é, ao mesmo tempo, muito importante e pouco comentado pelos desenvolvedores: testes de aceitação em aplicações Swing. É através dos testes de aceitação que podemos simular a utilização do sistema por um usuário e verificar se as reações do sistema correspondem ao esperado.
Acredito que a falta de informação sobre o assunto se deve a uma questão meramente cultural, pois costumamos associar esse tipo de tarefa com trabalho manual, o que era verdade há alguns anos atrás. Entretanto, com o advento das metodologias ágeis, a cada dia surgem novas ferramentas capazes de nos ajudar a automatizar esse processo.
Tipos de Ferramentas
Antes de partir para a apresentação das ferramentas, precisamos aprender um pouco sobre como elas são agrupadas. Basicamente, existem dois tipos de ferramentas para criação e execução de testes de aceitação: as do tipo rec-and-play e as programáveis:
Optar pela utilização de uma ferramenta de um grupo ou de outro pode impactar positiva ou negativamente no seu projeto. Embora cada ferramenta tenha suas próprias características, podemos indicar algumas vantagens e desvantagens que costumam se aplicar às ferramentas de cada um desses grupos.
Em relação às ferramentas do tipo rec-and-play, a principal vantagem é que não é necessário saber programar para ser capaz de criar e reproduzir os testes. Isso torna qualquer pessoa apta a fazer este trabalho. Além disso, o fato de não se precisar programar os testes torna todo esse processo mais ágil.
Entretanto, a grande desvantagem de ferramentas desse grupo é que os testes se tornam extremamente sensíveis a qualquer modificação na view. Por exemplo, se um determinado teste clica com o mouse em um botão que ficava na posição x da view, e que agora está na posição y, o teste falhará e deverá ser modificado para se adaptar à "nova" view.
Já as ferramentas que estão no segundo grupo são mais confiáveis neste aspecto, sendo necessário modificar os testes apenas em casos mais extremos, como na troca de um componente por outro. A desvantagem é que as ferramentas deste grupo demandam mais esforço na criação dos testes.
Eu particularmente não simpatizo com as ferramentas rec-and-play, pois os testes costumam "quebrar" com muito mais facilidade. Mas devo lembrar que "cada caso é um caso" e a melhor atitude é ponderar os prós e contras de cada tipo de ferramenta antes de fazer sua escolha.
Ferramentas Disponíveis
Agora que já sabemos diferenciar os tipos de ferramentas, nos resta agora conhecer algumas das opções disponíveis:
É óbvio que existem outras ferramentas além das citadas, inclusive ferramentas pagas. Para mais detalhes, visite esta página.
Mas qual ferramenta escolher?
A função deste artigo não é oferecer um review detalhado sobre cada uma das alternativas, mas sim mostrar quais são essas alternativas. Portanto, a tarefa de descobrir qual ferramenta melhor se adapta às suas necessidades é sua. Minha dica é: crie uma aplicação bem simples nos moldes das que você costuma desenvolver e verifique quais ferramentas fornecem os recursos necessários para testá-la adequadamente.
Em alguns dias, eu publicarei no meu blog um pouco mais sobre o Jemmy. Será mostrado, na prática, como utilizá-lo para testar uma aplicação Swing para conversão de temperaturas.
Bom... eu vou ficando por aqui. Gostaria de agradecer novamente ao Rafael por me oferecer a oportunidade de escrever aqui. Valeu mesmo!
Um abração a todos e bons testes!
Quinta-feira, Março 22, 2007
Testes de Aceitação em Aplicações Swing
Assinar:
Postar comentários (Atom)


4 comentários:
Óia! huhauhau
Tô aproveitando pra passar por aqui e devolver o convite: se você quiser publicar alguma coisa no meu blog, sinta-se bem-vindo!
Abraço.
Podia sair um blog "swing brasil" (ou outro nome hehe) dessa parceria!
Gostei do tema..
Infelizmente(ou felizmente) vou abandonar um pouco o desenvolvimento Swing profissionalmente hehe.. mas ainda é um tema que eu gosto muito.. acho que o swing tem futuro e ja é presente
Felipe, mesmo deixando o Swing de lado profissionalmente, vê se não desfalca o time!
E caso eu e o Daniel tivessemos um site sobre Swing, você teria que fazer parte dele!
Agora Swing Brasil... Sei não! :P Um nome ambíguo, né? hehe! Pensou: "Visite o site swingbrazil.org"? O que iria ter de gato pingado!! :D
hahahah .. é verdade, esse nome ia dar confusão mesmo. Mas imagine só o número de visitantes! :P
Postar um comentário