Partilhe nas Redes Sociais

PUB

Automação de Testes: os Perigos de um caminho de Sucesso!

Eduardo Amaral, Quality Management Director na Noesis

Publicado em 20 Julho 2021 | 40 Visualizações

Quando se fala de automação de testes, o investimento e os seus ganhos, tenho sempre presente um exemplo com que me deparei recentemente. Numa determinada aplicação (ecommerce), eram executados 50% dos testes da bateria de regressão de forma automatizada, há mais de um ano. Para o conseguir, estava alocado ao projeto um Engenheiro de Automação a trabalhar em continuo, complementado por um Engenheiro de Qualidade, que de forma manual executava os restantes 50% de regressão e ainda todos os testes de novas funcionalidades (estes representavam 50% das execuções globais). Ou seja, o Engenheiro de Automação – mais caro – garantia 25% da entrega, e de forma manual eram feitos os restantes 75%!

É consensual que a automação é uma necessidade. É a única forma de continuar a responder com qualidade à velocidade que o mercado exige para a disponibilização das soluções, nesta era de aceleração digital.  Assim, a grande questão é: o que está a falhar? Porque estão, grande parte das organizações, simplesmente a substituir o esforço de testes manuais, pelo esforço de desenvolvimento de automação, sem qualquer ganho de eficiência ou eficácia? Aliás, se considerarmos que o custo de desenvolvimento é superior ao custo de execução manual, a realidade é que as organizações estão a aumentar custos, ao invés de os reduzir, que é um dos grandes objetivos com a automação de testes.

Como em todas as questões estruturantes, não há uma resposta única, uma poção mágica que faz com que tudo aconteça. No entanto, o facto de a automação ser um tema tão consensual e na ordem do dia parece levar a que as organizações avancem para o tema, sem sentirem a necessidade de perceber qual o investimento necessário e de que forma obterão retorno. É como se o Business Case já estivesse construído, por ser tão obvio. É precisamente nesse detalhe, que se encontra a resposta à questão anteriormente apresentada: avançar em modo de prova de conceito técnico, em vez de uma prova de valor. Em resumo, a ausência de estratégia!

A ausência de uma estratégia adequada à realidade das características da organização e acima de tudo, das características do parque aplicacional e dos processos de negócio que o mesmo suporta, faz com que a adoção dos processos standard de automação seja o caminho obvio – parece tão óbvio que nem se percebe como pode falhar; senão vejamos: eu hoje executo isto de forma manual; amanhã contrato um engenheiro de automação e com automatismos executo várias vezes sem esforço adicional!

Onde pode tal premissa falhar? É simples: só executamos várias vezes (justificando o investimento inicial) se estivermos a falar de uma aplicação em constante mudança… sendo precisamente essas que exigem um ritmo elevado de manutenção dos mesmos automatismos, empurrando eternamente o breakeven, colocando em causa o tão desejado retorno sobre o investimento. Pior ainda, substituímos o Engenheiro de Qualidade, vulgo Tester Manual, que tem aptidão para se focar nos processos de negócio e estratégias de cobertura de qualidade baseadas em analise de risco e histórico de erros, pelo engenheiro de automação com maior foco tecnológico em busca da repetição dos testes.

Para o sucesso de uma estratégia de automação, é fundamental fazer coexistir e otimizar (em vez de substituir) estes perfis no ciclo de vida do desenvolvimento, aproveitando o que de melhor têm para oferecer. Acima de tudo é necessário perceber quais as características das aplicações e adaptar a melhor estratégia de automação. Certamente que em soluções com um time-to-market exigente, não é possível sobreviver sem uma boa estratégia de Continuous Testing, onde as validações (preferencialmente com casos de teste ao nível de sistema) acontecem no Pipeline de Integração Continua. Por outro lado, quando falamos de arquiteturas aplicacionais complexas, com grandes dependências entre aplicações, e com ritmos de chegada aos clientes mais baixos (ERP, Billing, HR, Soluções Legacy e similares), dificilmente se justifica tal investimento, pelo que o foco tem que ser uma validação E2E, e obrigatoriamente utilizar a automação para a realizar tarefas repetitivas no processo de qualidade, em vez de começar por automatizar o processo global de testes.

A automação de testes será cada vez mais parte integrante dos processos de qualidade e usada como um complemento à atividade de garantia de qualidade. Ambicionar a automação do processo em si em todas as soluções tecnológicas é um caminho perigoso, com retorno duvidoso e uma boa probabilidade de falha e frustração das equipas, com todos os prejuízos associados.


Publicado em:

Opinião

Partilhe nas Redes Sociais

Artigos Relacionados