Automatização de testes. Por onde começar?

A automação ou automatização de testes é uma das áreas que eu mais me apaixono e a que mais estudo nos testes de software em geral. Falando um pouco sobre o conceito, automação de testes é fazer uso de softwares/ferramentas para a comparação de resultados.

Com alguns acontecimentos recentes tenho pensado, estudado e lido muito. Para implementar ciclos automatizados de testes por onde devo começar? Sair automatizando todas as funções e criando centenas de casos de testes? Qual linguagem devo usar? Logo, cheguei a seguinte conclusão:

1. Qual linguagem usar?

Com o crescimento da automação de testes, também foi crescendo a quantidade de ferramentas do mercado e hoje temos muitas das principais linguagens de programação. É quase inevitável utilizar a linguagem que a empresa/produto trabalha ou a linguagem que a equipe tem mais afinidade, quando comecei a aprender utilizei muito o Java pela facilidade de aprendizado, após isso, fui para o Jasmine com JavaScript e agora estou bastante empolgado com o Codeception do PHP. Então esteja aberto a utilizar uma linguagem mais comum para a empresa ou a equipe.

2. Automatizar o que realmente é necessário.

Automatizar é bom, tem vezes que é mais rápido, principalmente falando sobre o reuso, mas o real objetivo é aumentar a amplitude do teste. Por isso devemos utilizar com parcimônia, avaliar antecipadamente o escopo para saber a real necessidade da automatização. Uma dica, comece automatizando o que é critico em um sistema. No meu caso, que trabalho com e-commerce, começe por testes em cálculos de juros, descontos, comissões e finalizações de vendas; as atividades que poem risco para o negócio.

3. Defina padrões e reutilize.

Definir padrões de códigos e tipos de testes é fundamental, por isso está junto com o reuso, pois são dois fatos que precisam ser implementados corretamente e alinhados semanalmente com a equipe.

4. Testes automatizados não substituem todos os testes manuais.

Sim, os testes automatizados não vão substituir todos os testes manuais (exploratório), utilize a automação para aumentar a amplitude de testes, começando unitariamente e aumentando gradativamente no produto.

5. Encarre como um projeto.

Automação de testes é uma das melhores praticas em um processo de testes em software e é muito importante ter, por isso devemos olhar para ela como um projeto, que vai sendo construído e arquitetado até chegar aquele script estável para garantir a maior cobertura do software, manter sempre em ciclos contínuos com entradas e saídas definidas e o engajamento na mudança de cultura e padrões de desenvolvimento da equipe.

Para finalizar, a automatização dos testes, quando aplicada corretamente, só traz benefícios. Comece devagar, certo e mantenha continuamente seu ciclo de testes automatizados. Mantenha sempre a documentação de testes atualizadas e reutilize seus códigos.

Post originalmente publicado em http://www.maxalves.com.br/blog/automatizacao-de-testes-por-onde-comecar/