QUALIDADE

Primeiros passos para abordar a automação de testes nas empresas

Eduardo Amaral, Quality Manager Associate Director da Noesis, abordou o processo da implementação de metodologias de automação de testes de software como forma de aumentar os níveis de produtividade.

A automatização de testes é uma das principais prioridades das empresas da atualidade. Todas, ou quase todas, estão a apostar nessa vertente com o objetivo de reduzir 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á uma série de aspetos principais 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 alcance; embora não seja necessário fazê-lo por esta ordem, porque todos os passos se relacionam.

No campo das ferramentas, o primeiro passo é considerar qual é a ferramenta que responde às nossas necessidades. O importante é analisar as nossas necessidades e observar os tipos de validação, arquitetura e ferramentas 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 a seguir se pensarmos num sistema SAP. 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.

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 testes contínuos. 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.

Em termos de alcance, o que temos que avaliar é o que queremos automatizar. A avaliação inicial deve ter o objetivo de definir quais processos de negócio que iremos automatizar. Para fazer isso, devemos identificar que 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, com os restantes custos que teremos. O importante aqui é 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% do alcance).


Nesse sentido, cada organização deve definir os níveis de automação que vai implementar e o seu nível de escalas, partindo de 0 que correspondem a não ter nenhuma automação e passando gradualmente pelos níveis de 1 a 4. O primeiro nível corresponde a um nível básico; o segundo a um nível mais produtivo, em que já temos uma roadmap, objetivos definidos e KPIs; o terceiro a um framework de automação mais consolidado, no qual já trabalhamos em processos e não apenas em aplicações; e um quarto, e último, mais avançado, no qual já introduzimos inteligência artificial. Estes níveis dão uma referência prioritária para nos orientarmos e o ideal é ter uma escala de prioridades detalhada. Assim, conforme aumentamos a cobertura em 60-80%, o investimento começa a diminuir. Este é um aspeto importante a considerar antes de começar.
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.

Eduardo Amaral
Quality Management Director