Automação de testes, por onde começar?

Olá pessoal,

Ao contrário do prometido na semana passada, pois me enrolei para escrever o post, essa semana iremos falar sobre como iniciar o processo de automação em sistemas legados.

Em sistemas legados recomendo que seja usada a abordagem de testes de interface gráfica, através da realização de um projeto piloto. Esse piloto terá como principal objetivo a automação de testes funcionais de regressão, pois são os testes de caixa preta que mais facilmente expressam as regras de negócio da aplicação e que, mesmo com uma quantidade menor de testes, cobrem muito mais funções do software, de maneira a facilitar a demonstração dos benefícios da automação.

Para facilitar ainda mais a demonstração desses benefícios considere também iniciar esse projeto pela automação dos cenários de caminho feliz da sua aplicação, conforme mencionado no post “Testes de Aceitação automatizados: por onde começar?” no blog talkingabouttesting.com (link no final do post).

Cenários de caminho feliz são aqueles que executam uma funcionalidade com objetivo de produzir algum sucesso, como por exemplo, completar um login com sucesso ou conseguir enviar uma ordem de compra sem erros em um sistema de e-commerce.

Ao iniciar a automação dos testes por esses fluxos é possível garantir, com o mínimo esforço possível, que as principais funcionalidades de seu sistema estão funcionando, minimizando o impacto que alterações nesses fluxos podem acarretar, como a introdução de novos defeitos, por exemplo.

Outra vantagem dessa abordagem, é que é possível rapidamente criar uma suíte de testes automatizados de regressão que poderão ser executados sempre que sua aplicação sofrer alguma alteração, garantindo um rápido feedback, caso alguma não conformidade seja identificada.

Depois que os fluxos que serão automatizados estiverem definidos, é necessário montar o time que será responsável pela execução do projeto. Esse time poderá ser composto pelos próprios analistas de testes que já executam os testes manuais e tem conhecimento de todos os requisitos, pois dessa forma é mais fácil selecionar os casos de teste que deverão ser automatizados primeiro.

Porém, compor o time dessa maneira traz a necessidade de capacitar as pessoas nas ferramentas de teste que serão utilizadas, uma vez que via de regra o know-how para automatizar os testes é diferente daquele apresentado por um testador manual. Dessa forma, o ideal é que essas pessoas possam se capacitar em paralelo a execução do projeto, sendo que é necessário ter claro que o nível de capacitação de cada um pode variar de acordo com o conhecimento de cada um em testes de software, automação de testes e nas ferramentas de automação.

Por fim, para avaliar o sucesso dessa iniciativa é necessário criar algumas métricas que ajudem a demonstrar os benefícios obtidos. Alguns exemplos de métricas que podem ser utilizadas são:

  • % de fluxos automatizados;
  • Horas necessárias de automação / quantidade de erros reportados pelo cliente;
  • Quantidade de defeitos encontrados no processo automático versus a quantidade encontrada no processo manual;

Uma vez preparado tudo isso é possível iniciar o projeto e validar todos os benefícios que o processo de automação pode trazer, sendo que a medida que mais testes forem automatizados, maiores serão esses benefícios, permitindo sua adoção em larga escala e a adoção de uma metodologia de trabalho adequada para suportar essa atividade.

Referências

http://www.knowledge21.com.br/blog/testes-automatizados-por-onde-eu-comeco/

https://talkingabouttesting.com/2016/06/27/testes-de-aceitacao-automatizados-por-onde-comecar/

http://www.softdesign.com.br/blog/testes-automatizados-parte-4-automacao-do-legado/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *