Aumentando a Velocidade da Execução dos Testes com Selenium

Quando falamos de automação de testes um dos principais benefícios citados é a possibilidade de obtermos a execução de um ciclo completo de execução num espaço de tempo bem inferior aos testes manuais. No entanto, quando começamos a nos aprofundar no assunto vemos que existem diversas práticas que podem ser utilizadas na codificação dos testes para permitir uma eficiência ainda maior.

Uma das possibilidades para o aumento da velocidade de execução é a utilização dos Headless Browsers, tema que inclusive foi abordado pelo Elias Nogueira, do excelente blog Sem Bugs, em sua apresentação sobre CasperJS. Resumindo numa única frase o Headless Browser é um navegador sem a interface gráfica.

Estudando sobre o assunto vi que já existe uma implementação do WebDriver para Selenium, que utiliza o PhantomJS e de maneira bem simples permite que possamos nos beneficiar da utilização de um headless browser. O projeto chamado Ghost Driver funciona perfeitamente e sua integração ao seu projeto é extremamente fácil utilizando o Maven.

Para adicioná-lo ao seu projeto basta seguir as orientações do projeto no github e se ainda tiver dúvidas basta seguir as orientações do post no blog Assert Selenium do Manoj Kumar. Além disso, a excelente apresentação abaixo, realizada pelo Ivan de Marino, um dos responsáveis pelo projeto, resume bem os benefícios da utilização e as orientações básicas.

 

Fiz um teste rápido num dos meus projetos e o ganho de velocidade foi significativo, como exemplificado pela imagem abaixo:

Comparação

Ainda não conhece o Selenium? Em outubro estarei ministrando um curso presencial no CESAR.EDU, onde abordaremos os conceitos básicos para utilização do Selenium WebDriver apoiado por diversas práticas em sala, segue o link para mais informações:

banner_curso2

A primeira impressão é a que fica ?

Em nosso dia-a-dia, frequentemente, entramos em contato com pessoas e empresas, que até então não conhecíamos. Nesse instante, automaticamente, registramos nossas primeiras impressões sobre as características e comportamentos do outro. Impressões essas, que com o passar do tempo poderão se mostrar verdadeiras ou não, porém, definitivamente, influenciam na maneira como agimos e interagimos.

Nos tempos atuais podemos fazer uma análise parecida da relação das pessoas com os softwares, desde os aplicativos e jogos, que instalamos em nossos dispositivos móveis aos sistemas complexos que utilizamos em nosso ambiente profissional.

Essa primeira impressão de clientes e consumidores em relação a um software pode ser afetada por diversos fatores, entre eles:

– Interface gráfica

– Facilidade de Uso

– Performance (lentidão)

– Falhas (bugs)

No entanto, ao contrário das pessoas, primeiras impressões ruins de um software dificilmente são revertidas, isto acontece porque é muito fácil para o usuário, simplesmente, buscar por outro sistema, que apresente o mesmo serviço, porém com um nível de qualidade satisfatório. Principalmente, no ambiente web e nos dispositivos móveis, onde essa troca é ainda mais simples e menos custosa.

E o que podemos fazer para que nosso software não cause uma má impressão?

Acredito que o aspecto central é conhecermos bem as reais necessidades dos nossos clientes, identificar os aspectos fundamentais tanto do ponto de vista funcional como não-funcional e, definitivamente, nunca relegar a segundo plano a qualidade, afinal há cada vez menos espaço e tolerância com sistemas defeituosos e pouco confiáveis.

Link Adicional – The power of a first Impression

E não esqueça de nos seguir no Twitter e juntar-se a nós no Facebook para ser informado das novas atualizações do blog!