Iniciando com testes automatizados: o que considerar?

A automação de testes, assim como a automatização de outros processos, pode ser considerada de extrema importância para “ganhar tempo” e possibilitar uma evolução mais rápida de uma estratégia para qualidade de software direcionada para o sucesso. Existem alguns pontos comuns a serem considerados quando o assunto é boas práticas em testes automatizados, que independem de tecnologia ou framework. Neste artigo iremos explorar boas práticas a serem consideradas em projetos de testes automatizados e como podemos evoluir estas práticas dentro de projetos. 

 

Planejamento dos testes automatizados 

Um dos principais pontos a considerar quando o assunto é testes automatizados é o planejamento. É a partir deste que conseguimos ter uma visão mais clara do objetivo que queremos atingir e como podemos chegar neste objetivo. O planejamento envolve escolher ferramentas e frameworks, escolher a melhor estratégia para atingir a cobertura desejada, levando em consideração diferentes tipos de testes e camadas e o tempo que será utilizado para a criação e evolução dos testes automatizados. 

Quando falamos de levar em consideração os diferentes tipos de testes e camadas, a ideia é considerar ir além dos testes em modelo end-to-end, pensar no software como um todo e como ele pode ser testado isoladamente em diferentes camadas para atingir o mesmo objetivo de cobertura final. Isto quer dizer, considerar testes unitários, de integração entre componentes, de contrato, automatizados a nível de APIs e diferentes protocolos, e é claro, os testes end-to-end. Percebe como a quantidade de camadas e tipos de testes a serem considerados para automação podem ir muito além de uma estratégia voltada para apenas um tipo de teste? 

Os projetos de testes automatizados devem ser pensados para executar em pipelines de integração e entrega contínua desde o início. É importante considerar a estratégia de como os testes serão integrados nas pipelines, em que momentos e com que frequência serão executados. Existem diversas estratégias dentro do tema de integração e entrega contínua. A dica mais importante aqui é: considerar cedo, ainda durante o planejamento, e integrar o quanto antes possível para começar a dar visibilidade e gerar valor para as partes interessadas. 

 

Arquitetura e organização de projeto 

Quando falamos sobre a arquitetura e organização de projetos em testes automatizados, existem diversos tipos de escolhas a serem feitas, mas, primeiramente, deve-se olhar para a complexidade e objetivo dos testes automatizados, voltando um passo atrás e observando o planejamento. Dado o entendimento da complexidade que o projeto pode tomar, as escolhas devem ser feitas sempre priorizando os pilares mais importantes, sempre levando em consideração a performance, as facilidades de evolução/implementação, de manutenção e de interpretação dos resultados.  

A arquitetura do projeto de testes automatizados deve ser pensada de forma que seja fácil de escalar e realizar manutenção em scripts já criados. O descomplicado sempre é melhor quando falamos de organização e estruturação. Utilizar organizações complexas em muitos casos só acaba gerando mais uma camada de dificuldade para criação de novos testes automatizados. Em contrapartida, utilizar uma organização descomplicada não significa ter falta de organização, já que projetos que não possuem padrões podem se tornar tão difíceis de evoluir quanto projetos com complexidade desnecessária. Neste caso o ideal é encontrar um meio termo onde a arquitetura garante uma fácil evolução sem adicionar complexidade desnecessária.  

 

Visibilidade dos testes automatizados

A visibilidade dos testes automatizados é mais um fator que precisa ser considerado e que complementa o planejamento e a arquitetura com a apresentação dos resultados e métricas de forma prática e ágil. Ao deixar de lado o planejamento do monitoramento e do controle dos resultados e métricas, tanto de resultados quanto de evolução de cobertura, o valor que os testes automatizados podem gerar é diminuído e pontos importantes para tomada de decisão podem ser deixados de lado. 

Os testes automatizados devem estar visíveis para o testador, times de desenvolvimento e de negócio e todas as partes interessadas no processo. Seus resultados devem ser levados em consideração para tomada de decisões e a leitura e interpretação dos resultados deve ser fácil para garantir velocidade no processo de triagem de defeitos. Ao planejar a integração dos testes em pipelines de integração e entrega contínua, também deve ser considerado o formato de relatórios a ser utilizado, a forma de triagem e geração de métricas e como os resultados serão disponibilizados para todos. Considere utilizar ferramentas adicionais ou plugins para facilitar estas atividades. 

 

Bônus: automação além dos testes 

Muito se fala de testes automatizados, sobre as melhores práticas e estratégias, mas o benefício da automação vai muito além do teste. Existem atividades ligadas diretamente ao objetivo de testar que são passíveis de automação e muitas vezes não são tão bem-vistas quanto a atividade de automatizar os testes. Já pensou no benefício que uma automação para gerar massas de testes pode garantir? E se o assunto fosse preparação de ambientes de teste prontos para serem utilizados sob demanda? E se fosse possível automatizar o processo de geração de relatório com base nos insumos gerados durante um ciclo de testes? 

Estas e muitas outras tarefas também podem ser automatizadas e o benefício de automatizar é tão bom quanto o de automatizar os testes. No fim das contas estamos buscando ganhar tempo e otimizar nossas atividades para fazer mais em menos tempo. Dentro da área de testes, a automação pode ir muito além do teste, levando em consideração todas as atividades satélites que acompanham as atividades relacionadas a testar.  

Por fim, por que não considerar inteligência artificial (IA) no processo? A inteligência artificial dentro do contexto de testes automatizados gera diversos benefícios e é possível tê-los em todos os pontos citados anteriormente, desde o planejamento dos testes automatizados, seguido pela elaboração da arquitetura e organização do projeto, entrando no tema da facilidade para visualização em relação aos testes e seus resultados e no processo de automatização das diversas atividades que são ligadas aos testes. 

 

*As opiniões aqui colocadas refletem minha opinião pessoal e não necessariamente a opinião da Compass UOL. 

Gostou da solução? Nós podemos ajudar!

Conheça nossos conteúdos gratuitos, direcionados aos assuntos de sua preferência!

Enviar

Receba nosso conteúdo

Gostaria de receber de forma gratuita mais conteúdos sobre este ou outros assuntos? Preencha o formulário abaixo e receba nosso conteúdo gratuito!

Parabéns!

Você receberá nosso conteúdo em breve!

Atenção

Tivemos um problema com seu formulário, tente novamente.