Testes Automatizados – O que a falta deles pode causar?

Este post não tem tags.

Compartilhe:

Desde que cheguei na K21 e comecei a participar do EVDnC dentro das empresas, tive a oportunidade de comprovar o que a falta do uso dos Testes Automatizados no desenvolvimento de software pode causar. São inúmeros problemas em times variados, além dos questionamentos:

Será que precisa mesmo testar de forma automática?;
Não dá pra parar alguém para automatizar os testes? Aqui é muito corrido;
O sistema daqui é muito complexo para automatizar. Deixa com o pessoal de QA.
Por isso, resolvi compartilhar algumas experiências que o nosso Time K21 vivenciou em clientes de diversos portes e segmentos.

Aumento da carga de trabalho
A ausência de testes automatizados resulta no aumento exponencial da carga de trabalho (passado e presente precisam ser testados), elevando o custo financeiro do time e, como consequência, diminuindo o tempo de resposta para os clientes. Podemos fazer um paralelo com o aquecimento global. No início, o crescimento é muito sutil e, quando nos damos conta, já é praticamente impossível reverter o problema.

Promove a criação de “times dentro de times”
Quando um determinado produto de software não possui testes automatizados é comum encontrar a pessoa de testes – o único integrante do time responsável por garantir a qualidade do que está sendo entregue. Isso vai na direção contrária quando se tem como objetivo organizacional formar times multidisciplinares e de alta performance, em que todo o time é responsável pela entrega de ponta à ponta.

Interrupção na entrega contínua de valor
A ausência de testes automatizados dificulta a implantação de um processo de entrega contínua de valor. Isso faz aumentar o time to market (o tempo entre desenvolver o produto e disponibilizar para o consumidor final) da empresa.

Pouco espaço para inovação
O primeiro passo para inovar é adotar uma cultura de experimentação. Para conseguir trabalhar com experimentos é necessário conquistar a confiança, principalmente das pessoas responsáveis pela camada estratégica da empresa. Quando você adota testes automatizados, você passa a ter a possibilidade de desenvolver novos produtos e garantir que o que já está em produção continuará funcionando.

Dificuldade na detecção de erros
Quando os testes são feitos de forma manual, o custo de desenvolvimento aumenta consideravelmente e o ROI (retorno sobre o investimento) do time diminui drasticamente. Na tabela abaixo, você pode imaginar quantos cenários são possíveis em uma tela com 10 campos.

Cenário Navegador Sistema Operacional Tempo
Todos os campos preenchidos Chrome Windows 15 minutos
1 campo preenchido e 9 não preenchidos Chrome Windows 2 minutos
2 campo preenchido e 8 não preenchidos Chrome Windows 3 minutos
Campos 1 e 3 preenchidos e os outros não Chrome Windows 5 minutos

Existem muitos cenários funcionais (regras de negócio) e não funcionais (navegadores, sistemas operacionais e etc). As possibilidades de cenários são enormes!

Problemas com sprints
Times que trabalham com Scrum e não automatizam seus testes tendem a ter ciclos de entrega maiores. A frase ‘tem que testar tudo para garantir que não quebrou nada’ não será apenas um lembrete e sim uma etapa presente em todas as sprints. Esta situação também estimula que times criem sprints específicas para testes, reforçando o comportamento coletivo da não garantia de qualidade sobre o produto entregue.

Visão ‘míope’ sobre o que está pronto!
A falta de testes automatizados impossibilita que se tenha uma verdadeira definição de pronto (definition of done). Se a proposta é trabalhar de forma contínua e incremental é necessário garantir que o produto de valor entregue para o cliente também tenha uma boa qualidade técnica.

Você concorda com os pontos acima? Quer acrescentar algo?

Vamos conversar mais sobre este assunto tão polêmico mas que é essencial nesta fase de transformação digital que estamos vivendo. Não sabe por onde começar com testes automatizados? Então dá uma lida em um outro post que fizemos: Por onde eu começo com testes automatizados.

Um abraço e viva agilidade de verdade! #trueagile

Sobre o autor(a)

Função não encontrada

Profissional sênior com vasta experiência no desenvolvimento de produtos de software e aplicativos usando técnicas de engenharia enxuta.

No headers found for the table of contents.

Artigos relacionados

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

Data storytelling. Se você acompanha o nosso blog, já deve ter percebido que eu gosto muito de trabalhar com métricas, dados e gráficos. É interessante, mas esses artefatos, apesar de serem interessantes, sozinhos eles não vão dizer muitas coisas. Você…

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

A criação de personas é um dos passos mais importantes no desenvolvimento de produtos, mas pode ser um desafio quando se trata de reunir dados e representá-los de forma precisa. Neste artigo, vou mostrar como usamos a inteligência artificial para…

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

Políticas explícitas são o alicerce invisível que mantém times ágeis funcionando com eficiência e harmonia. No contexto do Kanban, elas são mais do que simples regras: são acordos claros que orientam decisões, promovem transparência e evitam confusões. Apesar disso, muitas…

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

Há algum tempo escrevemos o artigo sobre o Cemitério Mexicano. Ele fala sobre a importância de comemorar quando descartamos ideias ruins antes que elas entrem no nosso fluxo de trabalho como projetos, iniciativas, novos produtos ou serviços. Naquele artigo citamos…