Os 5 níveis do desenvolvedor nos testes automatizados

Posted by Emerson Macedo on janeiro 15th, 2009

Alguns acontecimentos me fizeram refletir um pouco sobre a relação entre o desenvolvedor de software e os testes automatizados.

Muitas vezes parei pra explicar pra vários colegas de trabalho sobre a importância do assunto, fiz pair-programmming pra ensinar como se faz, em fim, investi muito tempo pra ajudar diversas pessoas com isso. Por incrível que pareça, tem muiiiiiita gente que ainda não entendeu muito bem. Portanto, resolvi classificar a relação entre o desenvolvedor e os testes automatizados em 5 níveis.

São eles:

  1. Ignorante: Esse é o nível no qual o desenvolvedor não sabe direito o que são testes automatizados ou sequer ouviu falar sobre o assunto (acredite, ainda tem gente assim em pleno 2009).
  2. Indiferente: Nesse nível, o desenvolvedor já sabe o que é, mas acha que essa prática/tecnica não serve pra nada. Apenas toma tempo e atrasa a entrega do produto que está sendo desenvolvido. A sensação dele é que sem os testes a entrega seria mais rápida (e a quantidade de bugs tb vão aparecer mais rápido).
  3. Prequiçoso: Nesse nível eu encontro muita gente. É nesse nível onde a ficha caiu mas o camarada não toma coragem pra aprender a fazer os testes automatizados. Ainda existe o medo de perder muito tempo com essa prática e a preguiça impera, impedindo o progresso.
  4. Decidido: Esse pra mim é o nível mais importante. É nessa hora que o desenvolvedor se dá conta que não dá mais pra desenvolver software sem testes automatizados. É nessa hora que o cara pensa: “como eu pude desenvolver sem testes até hoje?”. É nesse momento que inicia-se o aprendizado.
  5. Profissional: Nesse nível, o desenvolvedor já não se sente mais confortável desenvolvendo sem testes automatizados. Desenvolver sem testes o incomoda profundamente. Nesse momento o mesmo está maduro quanto a importância dos testes e a aplicação na prática. O mesmo começa a se tornar um evangelista para os demais desenvolvedores e sempre que pode, fala sobre o assunto. Nesse momento o desenvolvedor pode realmente dizer que é um profissional, pois hoje em dia não se admite mais desenvolver sem ter testes automatizados que garantam qualidade daquilo que se desenvolve.

Em qual nível você está?

O Servidor ta dormindo …

Posted by Emerson Macedo on janeiro 9th, 2009

Outro dia aqui na globo.com, estavamos numa reunião com uma determinada equipe que cuida de infra-estrutura sobre um projeto do meu time que estamos desenvolvendo. Num determinado momento da reunião, quando conversavamos sobre um determinado servidor de banco de dados, uma pessoa da equipe de infra disse que esse tal servidor estava dormindo (i.e. Trabalhando bem abaixo da sua capacidade). Como nosso projeto demandará grande volume, esse servidor será melhorado para que suporte nosso projeto e continue “dormindo”.

Pensando sobre essa situação imaginei nós, os desenvolvedores. Muitas vezes trabalhamos com muito stress, sobrecarga de trabalho e umas boas horas extras.

O que será que acontece quando sobrecarregamos um servidor? Quando estressamos o mesmo? Quando fazemos testes de carga e performance, vemos que num determinado momento o servidor não aguenta e literalmente abre o bico.

Agora, se os servidores (que são máquinas, não humanos) precisam estar abaixo da capacidade produtiva pra não perder sua qualidade, imagine pessoas sem um tempo pra respirar, pensar e descansar?

Trabalhar no limite da sua capacidade produtiva torna o trabalho improdutivo, apesar de ser contra-intuitivo, talvez.


Copyright © 2007 codificando.com. All rights reserved.