SikuliX IDE salvou a vida da Equipe e do Projeto
Na língua Huichol: Sikuli, em Português: Olhos de Deus. Significa: O poder de ver e compreender as coisas desconhecidas, ver as coisas como elas realmente são. (Quemda Mountain, San Luis Potosi, México, foto por Anaroza de 2007).
O Cenário em que estávamos.
Eu recém chegado na empresa fui mandado a uma missão, junto com um Dev: Analisar, organizar e testar o projeto recentemente implantado no cliente. O software em si funcionava apenas dentro do cliente, não era aberto. Fomos até o cliente para verificar o que havia ocorrido e logo de cara percebemos que o software apesar de existir no ambiente de testes disponibilizado ele não foi testado de maneira correta ou não teve uma cobertura de testes adequada.
O projeto havia sido construído e implantado, embora seria necessário obter o termo de aceite, e isso era uma consequência do problema que estava acontecendo. Os usuários-chave não estavam muito felizes a ponto de assinar dando por finalizado e entregue o projeto, pois existia muitos bugs acontecendo. Sugeri alguma reuniões de alinhamento, eu estava recém chegado e queria entender melhor ainda o fluxo e as regras de negócios envolvidas.
Não tínhamos muito tempo, e precisávamos fazer acontecer. Dividimos o sistema em módulos, e testamos juntos os sistema, sim o Dev me ajudou a testar e sou bastante grato por isto. A divisão do módulo e os bugs que surgiram foram feitas/anotados utilizando os blocos de notas adesivas, foi a forma mais rápida e mais visual que encontramos. Após o primeiro módulo ter sido fechado (desenvolvido, testado e os usuários-chave terem dado o aceite) chegamos a um momento decisivo, onde iria ditar o tempo que levaríamos para terminar o projeto como todo.
Por qual motivo chegamos ao SikuliX IDE?
O primeiro módulo havia sido finalizado, faltavam mais 4 módulos. Tínhamos um medo: ao corrigir o segundo módulo, começar a dar side effects no primeiro módulo já entregue, então lembrei de algumas pesquisas antigas que tinha feito e lembrei do Selenium IDE, embora ao começar a gravar os testes do primeiro módulo me dei de conta com a questão que em determinando momento era necessário testar o envio de documentos, ou seja anexar documentos ao software, e o Selenium IDE não executa ações fora do navegador/browser.
Enquanto o Dev estava programando/corrigindo os bugs e o fluxo de telas, eu estava procurando alguma ferramenta ou meio que poderíamos utilizar que não nos tomasse muito tempo, pois não tínhamos, então cheguei até o SikuliX Então estudei um pouco o SikuliX IDE e vi que atendia as necessidades do projeto naquele momento e comecei a criar os scripts de testes com comandos simples, como: openApp(someApp), click(imageButton), type(“some text”); type(Key.ENTER), wait(imageExpected), wait(time).
Isto fez com que pudêssemos realizar as correções e fazer testes de regressão, uma vez que já estruturamos os testes dos módulos passados poderíamos reexecutar os testes com mais segurança e saberíamos se ocorreu alguma alteração nos módulos passados, por fim conseguimos realizar missão: Analisar, organizar e testar o projeto. Não somente isso, mas como tivemos o termo de aceite assinado pelos usuários-chave.
Imagine que sem o SikuliX IDE naquele momento estaríamos realizamos os testes até hoje (hehehe), bastante cansados e provavelmente não teríamos tido sucesso na missão, pelo menos não com o tempo que não tínhamos.
Um pouco sobre SikuliX
O SikuliX é uma ferramenta de automação orientada a imagem que consegue capturar tudo que é visível na tela do computador, ou seja, qualquer elemento gráfico exibido em tela é possível usar para criar os scritps de teste. Combinando as imagens e os comandos já possível automatizar algumas tarefas, ele realiza uma análise das imagens do que é exibido na tela, e assim aplica os comandos.
Site: http://sikulix.com/
Documentação: https://sikulix-2014.readthedocs.io/en/latest/toc.html
Download: https://raiman.github.io/SikuliX1/downloads.html
Mantido por: Raimund Hocke.