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.

Imagine a situação. Você está nó mercado de trabalho procurando uma oportunidade para exercer o papel de Scrum Master, Agile Master ou facilitador de um time. A empresa não te conhece e existem dezenas, quiçá centenas de pessoas tentando essa…

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

Você já deve ter ouvido falar dessa métrica, o Cycle Time, também chamado de Tempo de Ciclo. No entanto, é comum encontrar diferentes definições para esse conceito, o que pode gerar confusão. Então, neste artigo, vou tentar apresentar os diversos…

Outro dia, conversando com um líder de tecnologia, ele compartilhou comigo sua frustração: “CFC, tenho que bater o martelo numa decisão crucial sem ter todas as informações que gostaria. E por mais que tenha cavado e buscado, duvido que o…

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

O Agente de Inteligência Artificial é um “robô” que resolve problemas para nós. Para demonstrar como criá-lo, vou contar um problema que eu passava há algum tempo. Acontece quando escrevemos nossas histórias de usuário e tínhamos que criar os critérios…