Quero Automatizar testes e agora?

Nicollas Cecchi Mendes Ehlers
vhsys Engineering
Published in
4 min readJan 8, 2019

Hoje em dia é uma tendência ter pessoas de qualidade dentro das empresas que possuam habilidades desenvolvimento em automação, estes são responsáveis pela garantia de qualidade das aplicações e da experiência de usuário.
Muitas pessoas da área de tecnologia acreditam que trabalhar na área de qualidade seja pela falta de conhecimento em desenvolver códigos, o que pode até ser verdade, visto a quantidade de Q.As que se dedicam única e exclusivamente a testes manuais, porém hoje o mercado pede cada vez mais esforço de cada um, na área de qualidade é diferente e seguindo essas tendências foi criada a automação de testes.

Na automação de testes temos como foco deixar “robotizado” testes que necessitam serem executados em uma aplicação para não dependerem de uma interação humana, o que torna o teste mais rápido e específico.
Mas já parou para pensar sobre quais são os motivos para realizarmos automações em nossos testes?

Podemos dizer que o primeiro motivo é redução de tempo desprendido para testar manualmente. Testes são ações repetitivas e frequentemente testamos diversas vezes uma aplicação para que esteja de fato segura para usuário.
com a automação, os testes manuais podem ser potencialmente reduzidos e compensados pela automação.

Podemos estimar por exemplo que a cada 40 testes levamos 2 horas para fazer manualmente ou 5 minutos para executar a automação.

Temos também como vantagem a possibilidade de verificar o tempo de execução e performance, que permitem verificar a qualidade do que está sendo desenvolvido e também garantir o funcionamento de uma aplicação completamente.

A automação é essencial para o Continuous Integration, que realiza as publicações e testa na sequencia dando mais segurança a cada deploy realizado.

Certo, mas por onde começar?

Bom, assim como antes de programar você precisa entender de algoritmos, para aprender a automatizar você também precisa entender sobre testes e quando eles devem ser automatizados, esse ponto é importante para que você comece a pensar no que é, por exemplo, muito repetitivo ou que precisa de mais atenção durante os testes..

Depois de saber estes contextos, podemos partir para níveis de conhecimento em programação. Se você não tem nenhum nível de conhecimento em programação tenho duas recomendações:

A primeira é: Aprender sobre algoritmos que é a base da programação. Depois você pode focar na linguagem que possivelmente você vai trabalhar automatizando, lembrando que não é obrigatório aprender a linguagem que você vai usar para fazer automação, é simplesmente por ser mais fácil depois de converter seu conhecimento para a Automação de testes.
A segunda é: Enquanto você faz a primeira recomendação invista em uma Ferramenta de Automação que copia ações que realizamos como o Katalon ou o GhostInspector. Isso pode te ajudar a fazer um boa cobertura de teste porém não tão específica como a de uma automação via código escrito.

Seguindo esses dois pontos, vem a parte necessária em tudo que se estuda: praticar, e muito, para deixar suas habilidades afiadas tanto em programação quanto em automação.

Agora qual é ferramenta para desenvolver “Codando” as automações devo escolher?

Existem duas principais ferramentas para realizar automações via código: Cucumber e o Behat. Normalmente o pessoal de Q.A escolhe por automatizar usando Selenium, ambas são ótimas, porém, o Selenium possui muito mais conteúdo na internet pra você resolver aquele problema que não sabe como responder e acaba apelando pelo guru da internet Google ou o guru dos programadores o StackOverflow.
Também vale ressaltar que procurar por cursos usando essas ferramentas é ótimo para dar aquele Start na automação, boa parte dos portais de estudo online possuem esse conteúdo, mas procure sempre por aqueles mais atualizados e bem avaliados.

Está criando forma! Tem como melhorar o que estou fazendo?

Claro, tudo tem como melhorar, e para isso na automação recomendo usar técnicas como o BDD. Isso permite um aproveitamento até para passar aquele erro para o desenvolvedor corrigir, fica bem mais claro para ambas as partes sem contar que implementando dentro do código deixa também ele muito agradável para leitura. Minha dica para isso seria a combinação de BDD com cucumber em Java, esta combinação permite deixar claro para ambas as partes, lembrando também que tanto os desenvolvedores quanto o Q.A devem ser responsáveis por automatizar, deixando na mão apenas de um acaba gerando um grande gargalo.Outro ponto é sempre tentar evitar o uso do XPATH que prejudica no desempenho devido ao desgaste que sua automação terá para encontrar aquele elemento na tela.

E tenha sempre em mente enquanto está aprendendo a automatizar que cada vez mais será necessário a automação e testadores exclusivamente manuais estão a cada dia perdendo mercado para os Q.As Automatizados.

--

--