Luzes e Tecnologia
NOESIS NOS MEDIA
24 novembro 2021

Primeiros passos para a Automatização de Testes de Software


A primeira coisa a fazer é analisar que existem três áreas importantes que precisam de ser incluídas em qualquer processo de automação de testes: ferramentas, ambiente de teste e cobertura.

Por Eduardo Amaral, Quality Management Director na Noesis
 
A automatização de testes é uma das principais prioridades das organizações na atualidade. Todas, ou quase todas, estão a apostar nessa vertente com o objetivo de reutilizar o esforço de realização de testes manuais, evitando a rotatividade de pessoas nos projetos, motivando os colaboradores e economizando tempo na comercialização de produtos e serviços.  
 
Mas antes de saltar para o tema de automação, há alguns aspetos que devem ser considerados para atingir o objetivo que procuramos alcançar.
 
A primeira coisa a fazer é analisar que existem três áreas importantes que precisam de ser incluídas em qualquer processo de automação de testes: ferramentas, ambiente de teste e cobertura; embora não seja necessário fazê-lo por esta ordem, porque todos os passos se relacionam.

Ferramentas
 
No campo das ferramentas, o primeiro passo é considerar qual é a ferramenta que responde às nossas necessidades. É importante ter em conta as nossas necessidades e observar os tipos de validação, arquitetura e soluções que nos permitem construir, gerir e relatar o projeto de automação.
 
O processo de selecionar uma ferramenta de automação para web ou mobile não é o mesmo que deveremos ter em conta se pensarmos num sistema SAP por exemplo. Por isso, nesse caso, há que fazer uma abordagem mais específica no que toca ao suporte técnico e às ferramentas que se adequam ao tipo de sistema escolhido.
 
Ambientes de teste
 
No campo dos ambientes de teste, precisamos de software, licenças e infraestrutura, além de um log de execuções e uma parametrização. Portanto, é necessário definir a estratégia de gestão dos dados dos testes e dos requisitos para Continuous Testing. Em muitos casos, é importante ter em mente que para colocar sandboxes em funcionamento, precisamos de uma grande quantidade de dados. Este é um aspeto que não pode ser ignorado.
 
Cobertura
 
Em termos de cobertura, o que temos que avaliar é o que queremos automatizar. A avaliação inicial deve ter como objetivo, definir quais os processos de negócio que iremos automatizar. Para fazer isso, devemos identificar o tipo de aplicações que temos, as tarefas repetitivas e o que queremos automatizar. Da mesma forma, temos que definir em que nível implementaremos a automação de teste.
 
Tendo estes três fundamentos bem estabelecidos, podemos observar algumas etapas adicionais, como a identificação da aplicação piloto, a identificação de pequenas etapas de validação, que deverão ser realizadas passo a passo para gerir as expectativas de forma adequada, e os critérios de automação, que são usados para identificar a estabilidade da aplicação numa fase de teste. Nesse sentido, temos que ter a certeza do que vai ser usado e avaliar os ciclos de vida da aplicação; se vai ser usado por muito tempo, se está obsoleto ou se o tempo dos testes é aceitável.
 
Por fim, mas não menos importante, devemos olhar para o ROI (Return On Investment).
 
Tendo em consideração tanto os custos de automação, como os restantes custos associados, o importante é estimar o ponto de equilíbrio para o esforço de desenvolvimento, suporte / manutenção e as tarefas que devem ser executadas manualmente. Encontraremos o equilíbrio quando atingirmos aproximadamente 80% de lucro (considerando o uso da automação) e 20% de esforço (do que seria o valor total para automatizar 100% da cobertura).
 
Nesse sentido, cada organização deve definir os níveis de automação que vai implementar e o seu nível de escalas. Pode, por exemplo, ser definido um primeiro nível que corresponde a um nível básico; num nível seguinte, mais produtivo, em que já existe uma roadmap, objetivos definidos e KPIs; um nivel acima em que se define uma Framework de automação mais consolidada, trabalhando em processos e não apenas em aplicações; por último, um nível mais avançado, onde se introduzem temáticas avançadas como a inteligência artificial. 
 
Estes níveis são uma referência prioritária para que as organizações definam a sua estratégia. O ideal é ter uma escala de prioridades detalhada. Assim, à medida que se aumenta a cobertura em 60-80%, o investimento começa a diminuir. Este é um aspeto fundamental a considerar, antes de iniciar a sua jornada de automatização.
 
Em última análise, é importante focarmo-nos nas futuras utilizações da automação de teste, com base nas boas práticas de mercado, bem como em como obter o ROI que pretendemos atingir e boas formas de medi-lo.
 
Publicado em Computer World