Skip to main content

Testes automáticos ganham relevância nas organizações

Artigo de Opinião por Bruno Miguel Santos, QA Manager at Hiscox e formador na Rumos para a área de Software Testing e Quality Assurance

08 November, 2022

Testes automáticos ganham relevância nas organizações
Testes automáticos ganham relevância nas organizações

Hoje em dia, mais do que antes, quem compra software, quer a solução o mais rápido possível, e a tolerância para problemas de qualidade é cada vez menor, o que muda o paradigma no que diz respeito aos testes e à qualidade de entrega.

O esforço da transformação digital dos negócios, altamente impulsionado nestes últimos dois anos pela pandemia de Covid-19, deu origem a um boom no desenvolvimento de aplicações e na crescente valorização na sua qualidade, fazendo com que as empresas mudem a sua visão sobre testes e padrões de qualidade. Nos dias de hoje, a área de Software Testing e Quality Assurance é uma das mais importantes no ciclo de vida do desenvolvimento de software.

De acordo com o World Quality Report 2022, garantir a qualidade tornou-se ainda mais importante para as organizações neste último ano. Neste estudo, os 1 750 CIOs – Chief Information Officer – e Executivos de TI entrevistados destacaram o valor dos testes mais do que nunca, bem como a importância de trilhar um caminho para uma digitalização dos negócios que garanta qualidade e uma experiência perfeita para o cliente – a sua maior prioridade.

Hoje em dia, mais do que antes, quem compra software, quer a solução o mais rápido possível, e a tolerância para problemas de qualidade é cada vez menor, o que muda o paradigma no que diz respeito aos testes e à qualidade de entrega. Em 2022, é impensável fazer software sem considerações de qualidade e testes. Porém, num modelo tradicional de desenvolvimento de software Waterfall, os testes estão na reta final do processo, e é comum reduzir o tempo de testes para entregar mais rápido (ou para absorver atrasos), aumentando o risco de problemas em ambiente produtivo e potencialmente comprometendo os objetivos de negócio do cliente. 

Assim, o relatório indica que a combinação de desenvolvimento Agile com DevOps e testes automáticos permite atender melhor as prioridades do negócio, resultando em desenvolvimentos de software mais rápidos, sem sacrificar a qualidade das entregas. 

Mas o tema dos testes automáticos não é um tema novo.  Já existe há mais de 20 anos, e assim que surgiram, anunciaram a “morte” dos testes manuais. Mas vejamos um exemplo prático. Será que por testarmos todo o código fonte de um software com testes unitários (validando, por exemplo, unitariamente todas as funções do código fonte), podemos garantir que o software terá um comportamento end to end funcional correto? A experiência diz-nos que não. É preciso também automatizar a ligação entre as diferentes peças que constituem o software. Relativamente a temas como a usabilidade, podemos automatizar? Dificilmente. Validar automaticamente cores ou o conteúdo de um documento pdf com texto dinâmico podem ser desafios cujo retorno de investimento (pela complexidade) simplesmente não compensam quando comparados com o custo de realizar testes manuais.

A função de tester tem também vindo a evoluir com a tecnologia. A execução de testes automáticos tem vindo gradualmente a assumir um papel cada vez mais importante nas equipas de Quality Assurance das organizações possibilitando a repetição sem esforço de casos de teste, bem como uma redução do tempo de execução de testes complexos, eliminando o tempo como fator de restrição ao âmbito dos testes executados. Para além disso, permite eliminar falhas inerentes à interação humana e um aumento da cobertura dos testes e da recolha de dados. As ferramentas de automação atuais, cada vez mais poderosas, tornam a automação de testes um processo mais simples e um investimento cada vez mais seguro para as organizações.

Espera-se também uma maior utilização de tecnologias de Big Data, Inteligência Artificial e Machine Learning, durante todo o processo e atividades de Quality Assurance. A Inteligência Artificial é uma ótima opção avançada para resolver problemas únicos e desafiadores como, por exemplo, a redução do tempo de leitura de logs e dados de teste massivos, ou a automanutenção e correção de problemas nos testes. A Inteligência Artificial permitirá assim a utilização de recursos avançados para apoiar as equipas de controle de qualidade.

O uso destas tecnologias vai enriquecer o papel do tester de software, que se tornará gradualmente mais técnico do que antes, mas servirão para facilitar e melhorar o seu trabalho. A generalização da sua utilização vai desencadear a procura por profissionais que, para além de conhecerem as várias metodologias e práticas de testing, tenham também conhecimentos do ciclo de vida de desenvolvimento em ambiente DevOps, de programação e scripting, e das várias ferramentas de automação disponíveis. Assim, é por isso essencial que as organizações reconheçam a crescente importância dos testes de software e os implementem ao longo de todo o processo de desenvolvimento de um novo produto.

 

Artigo publicado a 8 de novembro de 2022, em COMPUTERWORLD. Clique aqui para ver o artigo no meio original.