Pyccuracy – Uma boa ferramenta de teste. Coloque-a na sua maleta
Ultimamente, no meu emprego atual, tenho a oportunidade de usar um excelente framework de testes de aceitação brasileiríssimo que é o pycurracy . Ele é uma ferramenta feita em python que permite que você escreva suas histórias de aceitação em linguagem natural. Isso significa dizer, que você pode escreve o seu teste em português.
Não preciso dizer o quanto isso traz de vantagem. Só para citar, uma das mais imediatas, pelo menos para mim, é a questão da documentação. Quem já está na estrada um tempo, sabe como é uma verdadeira luta manter documentações atualizadas do produto. Tudo sempre começa bem, mas com o passar do tempo, sempre surgem outras tarefas mais urgentes e os “casos de uso” ou histórias acabam ficando não condizentes com a realidade da aplicação. Para muitos, isso pode soar como preciosismo porém imagine um contexto de um projeto open source… sem uma documentação bem feita, colaborar pode ficar bem difícil.
Um outro aspecto também é que desenvolvedores “não são muito amigos” de escrever documentos. Esta aí uma tarefa que vejo poucos colegas fazerem com prazer. Se puderem evitar, a grande maioria em minha humilde opinião, evitarão fazê-lo.
Ferramentas como o pyccuracy, vem unir o “útil ao agradável”: vem possibilitar escrever testes, programando, e como resultado indireto obter uma excelente fonte para consultas. Por permitir escrever os cenários em linguagem natural (inglês e português) acabamos por ter um documento descrevendo o funcionamento esperado… as nossas histórias.
O pyccurace é todo feito em python usando o Selenium . Para maiores detalhes recomendo uma visita a página do projeto.
A única coisa que tenho a dizer sobre ele é que bem que poderia ter uma implementação que usasse o WebDriver ao invés do Selenium RC. Acredito que ficaria bem mais rápido. Mas, até agora só temos versões estáveis do WebDriver para Java. A versão python está bem timida ainda.
Se considerarmos que objetos não possuem métodos ou funções( função me parece tão modular e não OO) e sim “portas de entradas”. Essas portas são como caixas de correio por onde enviamos e/ou recebemos mensagens com pedidos ou informações. Para ficar mais fácil de entender, imaginemos a situação de uma grande rede de lojas. Esse grande rede possui diversas lojas, que possuem diversos produtos e clientes. De cara, podemos dizer que temos 3 entidades : Cliente, Produto e Loja.