O fabuloso futuro das áreas de testes

Empresas disfuncionais. Você trabalha em uma delas?
28 de abril de 2015
Lendas urbanas… times ágeis não fazem documentação.
9 de maio de 2015

O fabuloso futuro das áreas de testes

Certa vez estive em uma grande empresa de software do Brasil. Eram ainda meados de 2003 e o gerente da área de qualidade e testes me mostrou, com distinto orgulho, o seu enorme espaço ocupado por quase 200 analistas de testes que trabalhavam incansavelmente para endereçar milhares de defeitos de software produzidos todo mês pelas centenas de desenvolvedores desta empresa. Ele me mostrou as filas de defeitos, os gráficos de acompanhamento de defeitos e o seu rigoroso processo de testes. Um processo e prática espetaculares, mas para um problema que não deveria existir.  Ou seja, um enorme desperdício de dinheiro.

Antes de justificar esta afirmação, considere o cenário da sua casa, com sua esposa, filhos, pais ou mesmo colegas. Cada um dos habitantes da sua casa é bastante desordeiro. Ninguém arruma a cama, remove a poeira da casa, lava pratos, passa roupas e ninguém também lava os banheiros. Neste cenário, você irá precisar de uma diarista. Mas se você e seus habitantes da sua casa forem ainda mais bagunceiros, você irá precisar da diarista duas, três ou quatro vezes por semana. No extremo, você irá precisar de uma ou duas empregadas para limpar tudo aquilo que você não deveria produzir de lixo e desordem. Quantos aqui considerariam o cenário da desordem como natural e se sujeitariam a pagar por duas empregadas para manter um apartamento em ordem? Se você é como a maioria da população, entenderia que isso é muito caro e faria a sua parte para que tanta bagunça não acontecesse. A sua motivação é econômica! Simples assim.

Vamos agora de volta ao software, onde a cultura da tolerância do desenvolvedor lambão é natural. Desenvolvedores não deveriam escrever código apenas e gerar defeitos em larga escala. Desenvolvedores tem a obrigaçao de tirar a poeira do quarto todo dia e lavar suas latrinas em base semanal. Isto é, desenvolvedores devem refatorar o seu código, executar testes de unidade, aplicar TDD e integrar o seu código em base diária. Sem desculpas! Isto se chama Código Limpo e é uma prática provada e usada com excelência pelos times mais eficientes da TI. Ao fazer isso, a maior parte dos defeitos seria eliminada na origem e uma pequena porcentagem dos problemas seria enviado para uma fila de defeitos dos analistas de testes. Ao não fazer isso, a sua empresa irá gastar muito mais dinheiro para remover defeitos que não deveriam existir.

E o que acontece com os analistas de testes?

Analistas de testes são importantíssimos em um projeto de software. São tão importantes que eles deveriam sair do quartinho dos defeitos, normalmente acionados no final do projeto quando o desespero já tomou conta de todos, e participarem do jogo lado a lado com analistas de negócio e desenvolvedores desde o primeiro dia do projeto. Analistas de testes devem trabalhar lado a lado com analistas de negócio e desenvolvedores, observando em tempo real o resultado dos builds, executando testes em base diária e gerando feedbacks no mesmo ritmo para os desenvolvedores (do lado deles, e não através de ferramentas de defeitos). O trabalho pareado entre analistas de testes e desenvolvedores é recomendado e gera altíssima interação. Desenvolvedores recebem feedback de manhã e de tarde para estressar novos casos de testes em seus códigos e a cada dia novos builds mais poderosos são gerados pelo time. Novos testes de unidade nascem e florescem em base diária e os cenários de testes são exercitados com cada vez mais propriedade e robustez pelos analistas de testes.

Times ágeis trabalham desta forma.

Não existe o “time de desenvolvedores” e o “time de testes”. Da mesma forma, no futebol não existe o “time dos goleiros” e o “time dos centro-avantes”. Existe o time de futebol! E no desenvolvimento de software, deve existir o “time de produto”, com o goleiro, centro-avante e outros papéis necessários para fazer gols, defender a sua meta e vencer a partida.

E o que acontece com as áreas de testes?

Ainda existirão nas empresas disfuncionais e que aguardam a lenta morte da baixa produtividade nos seus projetos. Mas irão certamente morrer à medida que as empresas mais eficientes tomarem os seus lugares com práticas provadas da indústria que gerarem maior eficiência econômica.

Pensamento do dia: “Vida longa aos Analistas de Testes, morte rápida para as áreas de testes”.

Fale Conosco