A Arte Perdida de Testar o Software

por Jorge Diz

Recentemente, assisti na USP a apresentação de Fred Brooks sobre teletrabalho, como parte do lançamento da primeira edição em português do seu livro "O mítico homem mês", lançado originalmente em inglês no longínquo ano de 1975.

Na capa, uma chamada: "Leitura obrigatória para todos os gerentes de projeto de software". Depois de 34 anos, finalmente os gerentes de projeto de software não têm mais a desculpa da falta de domínio da língua inglesa para deixar de ler uma obra relevante para todos os que já implantaram em produção algo mais que um "Hello, world". Comprei uma cópia da versão traduzida, devidamente autografada.

Fred Brooks foi gestor do projeto do System/360 da IBM (o primeiro sistema operacional digno desse nome) no início da década de 1960, e o livro é em grande parte fruto das lições aprendidas naquele projeto, que provavelmente consumiu mais tempo e dinheiro que qualquer outro projeto de software até então. Para a IBM, foi uma aposta arriscada em cima de tecnologia nova, que deu certo.

Como testes são a minha praia, perguntei ao autor como foram feitos os testes daquele projeto. Fiquei surpreso quando ele me disse que utilizavam uma área de 1 acre (~40000 m2) exclusivamente
para testes, cheia de computadores e dispositivos (carísssimos na época). Havia centenas de roteiros de teste que eram executados em diferentes configurações de equipamentos, o tempo todo.

A pergunta que me faço é: como se perdeu essa arte ? Testes de software foram negligenciados durante muito tempo: o primeiro livro relevante foi publicado em 1979. A revelação de Fred Brooks me fez sentir como um renascentista recuperando um manuscrito árabe contendo algum tratado grego clássico, sumido nas trevas da Europa medieval.

Em 2009, mais de 4 décadas depois do System/360 ter sido lançado, estamos começando a acordar para a importância dos testes de software. Por que em todos esses anos em que o software invadiu todas as áreas do nosso dia a dia não se deu a devida importância a esta disciplina ?

A esmagadora maioria dos cursos de graduação na área de TI não inclui uma disciplina de teste de software. A ALATS-SP (Associação Latinoamericana de Teste de Software - filial São Paulo) iniciou uma campanha para concientizar a comunidade academica sobre a importancia dos testes. É uma iniciativa muito positiva, com a qual pretendo colaborar, mas o que chama a atenção é a necessidade dela. Fazendo uma analogia, seria como o Conselho Regional de Medicina ter que fazer palestras explicando que é necessário lavar as mãos antes de entrar ao centro cirúrgico.

Fica a semente para o debate. Alguém pode contribuir uma explicação ?

2 comentários:

Felipe Silva 3 de dezembro de 2009 13:31  

Posso sugerir alguns itens influenciadores do ambiente "trevas".
- Globalização, influenciou em que sentido?
- Capitalismo abusivo? (ganhar muito fazendo pouco), isso me lembra Ford, que só vendia o mesmo modelo de carro na cor preta.
- Novas linguagens de programação. Isso causou um falso sentido de segurança ou fez com que os desenvolvedores se sentissem auto-suficientes?
- Necessidade de entregas rápidas? Com a expansão do "PC" começaram a fazer software "em massa", para pequenas empresas e programas domésticos.
- Lucro abusivo? Até então um bug não custava para quem produzia, ou os sistemas criados por serem mais complexo e com pouca UI acabavam não dando brexa para bugs (uma vez que não haviam tantas validações no software, você podia fazer tudo, então se você fazia uma transação errada a culpa era sua e não so software que não preveu isso)
- Outro foco comercial? A informática ainda não era "visualizada", era da industria e das máquinas, foi dessa geração que a informática veio logo após, onde as linhas de produção eram manuais e as pessoas não queriam perder seus empregos pra uma "máquina".

Poderia pensar em várias outras coisas pensando nessa época obscura, onde quase não existiam computadores no Brasil, por exemplo.

Att,

- Felipe da Silva
Analista de Testes

Mergulhão 3 de dezembro de 2009 21:11  

Muito legal o post, o livro do Fred Brooks já entrou na lista do "to read" do ano que vem (esse ano ainda tem coisa na fila ;).

Eu fiz uma palestra-peça de teatro chamada: "Por que eu sou fanático por testes e você é um bundão". O objetivo é mostrar os problemas do dia-a-dia que podem ser evitados com uso de testes, ficou bem irreverente e todo mundo tem gostado bastante.

Abraço!

About us

Teamware é uma empresa nascida da visão que a industria de TI esta precisando ser reformada.
Que a Gestão 1.0 (da era industrial) esta sendo o maior gargalo para a mudança de paradigma necessária para elevar a eficacia em projetos de software.
Estamos trabalhando a vários anos para transformar organizações e implantar um novo modelo de gestão, a Gestão 2.0 (da era do conhecimento) e crescendo a nossa influencia na industria de TI. Para isso usamos abordagens ágeis, scrum, xp, toc, lean para realizar a visão e aumentar o valor que TI agrega para os profissionais, organizações e a sociedade como um todo.

Últimas Fotos