Bugs adoram a nossa preguiça

Corrigir bugs faz parte do dia a dia do desenvolvimento de software. Mesmo assim, parece que nunca é o momento certo para eles. Sempre aparecem em momentos que temos outras coisas para fazer, quando temos prazos para cumprir, quando estamos quase no final de uma nova funcionalidade.

Algumas vezes os bugs ficam bem escondidos e são difíceis de encontrar, outras eles parecem que insistem em reaparecer, uma vez atrás da outra.

Como fazer? Abaixo algumas dicas que talvez possam ajudar:

1) Não confie no seu código.

Os bugs, assim como as chaves do nosso carro, não se escondem, eles simplesmente estão lá, geralmente nos lugares que esquecemos de olhar. E esquecemos de olhar pois muitas vezes achamos impossível que o bug esteja escondendo-se por ali. Está difícil encontrar o defeito? Reavalie as suas pressuposições sobre as partes do seu sistema que seriam “confiáveis”.

2) Torne o seu código uma sirene de bugs.

Muitas vezes o bugs que vemos são efeitos de problemas originados em pontos distantes do nosso código. Validação de parâmetros, uso de asserções, um estilo de programação que faz o sistema falhar rapidamente em situações inesperadas e logs úteis ajudam a localizar os defeitos de forma mais rápida.

3) Identifique a razão do defeito não ter sido encontrado antes.

Não basta corrigir. Bugs reaparecem pois não dedicamos um pouco mais de tempo para pensar de forma sistêmica sobre a razão para o defeito não ter sido encontrado antes. A automação dessas verificações reduz as chances desses bugs voltarem a acontecer. O desenvolvedor esqueceu de atualizar arquivos de configuração? O arquivo de traduções está incompleto para algum idioma? Automatize a verificação!

4) Resolva o problema de forma abrangente.

Se temos um defeito na sincronização de imagens, talvez o problema possa existir também na sincronização de vídeos. Que outra parte do nosso sistema está sendo afetado por esse problema. Investigue e resolva.

E quanto ao ROI do esforço?

Mas será que tudo isso vale o investimento? Não seria melhor corrigir rapidamente o sintoma e continuar trabalhando na funcionalidade atual para não perder o prazo?

Respondo a essa pergunta com outra: será que realmente acreditamos nisso ou simplesmente estamos sendo submissos a preguiça natural do nosso cérebro?

Quer confirmar? Faça o teste extraído do livro Rápido e Devagar do Daniel Kahneman, respondendo rapidamente o exercício abaixo.

Um bastão e uma bola custam 1,10 real.
O bastão custa um real a mais que a bola.
Quanto custa a bola?

 

Precisamos de um esforço maior para fugir da resposta intuitiva de R$1 e dar a resposta certa de R$1,05. Assim como precisamos de um esforço maior para não deixar que a nossa intuição nos faça tomar a decisão errada na hora de corrigir os bugs dos nossos sistemas.

Quando aparecer o próximo bug, não seja preguiçoso!

Interessado no tema? Veja os nossos cursos de Agile Testing.

Deixe uma resposta