Sou suspeito para falar, aprendi a testar por necessidade, começando por um sistema muito complexo e cheio de bugs com documentação zero. Certificação pode valer a pena quando vc tem que seguir um processo bem burocratico, onde vc precisa de 1024 documentos e mais diversas ferramentas de apoio. Pessoalmente eu discordo dessa abordagem por um bom motivo: ruído.
Pode haver muito ruído entre o que o cliente quer (ou acha que quer) e todos os envolvidos, uma vez que nem sempre o cliente sabe o que quer exatamente ou pode não saber se expressa muito bem. Imagine agora isso colocando em uma coleção de documentos que circula entre os envolvidos e que exige um esforço considerável para manter-se atualizado. Pode ser a receita para o desastre
Uma condição interessante para o sucesso do projeto é a dedicação dos mesmos frente a honestidade. Muitos analistas, programadores ou testadores querem mesmo é tirar o seu da reta, uma vez que vivem sob um mundo medieval onde os chefes são temidos pelos urros guturais e ameaças perturbadoras, nesse caso o sentimento gostoso de “estou num projeto bom que produz um software de boa qualidade” passa a ser “caramba, se isso não funcionar não é culpa minha e sim do X”. Um bom exemplo é testadores que se limitam a seguir um manual de testes de forma exata e não fazem nada alem disso. Se um bug for encontrado, o testador se defende “mas eu segui o documento de testes #542″. Nesse caso ninguem precisa se defender: testar não elimina bugs, eles podem ser encontrados em situações muito peculiares e de dificil reprodução, nesse caso um bug deveria alimentar um documento de testes e não gerar pânico, dor e morte. Todo o software tem bugs, paciência.
Lembro de uma tela que poderia receber o campo “dia util do mês”. A tela funcionava quando eu informava 01, 02, 03, 10, 20, 28, etc. A tela parecia 100% dentro do uso normal até que alguem colocou o dia 08: um grande erro de javascript aparecia para o usuario! E com 09 também. Depois de muita pesquisa descobriram que, em javascript, um numero que começa com 0 é considerado octal e, em octal, não existe 8 nem 9, nesse caso a máscara desse campo era a origem desse comportamento estranho. Esse tipo de coisa só se resolve com trabalho, pois poderiamos ficar discutindo sobre quem errou, o testador ou o desenvolvedor, por horas, até acabar o projeto. O que importa é que 8 e 9 são dias úteis válidos e a funcionalidade ficaria comprometida com esse bug.
Alias, testar é uma atividade muito legal, se vc é curioso. Basicamente vc tem que procurar comportamentos erráticos e descobrir como reproduzi-los. Hoje em dia eu ainda me pego testando SQL Injection em alguns sites ou estudando paginação de dados, etc. Testar através de ferramentas é mais divertido ainda, não aqueles monstros que funcionam na base do Record/Playback: testar sites usando Shell Script (curl + grep), Selenium ou soluções próprias (como uma classe que se conecta com um webservice, um script Perl que envia dezenas de requests ou mesmo incorporar o Internet Explorer numa dll escrita em C# para integrar com algum sistema complexo de testes) é uma arte que traz benefícios como eliminar horas de trabalho braçal propenso a erros.
Não que alguem certificado em testes seria desonesto ou covarde mas a minha percepção é que esse universo de testes utiliza documentos, ferramentas e certificações também subterfúgios, tiro isso de conversas com gerentes dessa área que querem saber: quem é o desenvolvedor que produz mais bugs, quem demora mais pra desenvolver, quem demora mais pra testar, quem testa de verdade, etc. Quando vc pergunta específicamente essas coisas vc não quer métricas, vc quer dados para ferrar com alguem. Neste tipo de ambiente, tão comum ai por fora, a honestidade é soterrada pela mediocridade de gerentes e outros figurões e, geralmente, se resolve mudando de emprego ou fazendo parte de uma célula que implanta uma mudança de pensamento dentro da empresa. Geralmente chegamos a essa opção quando cansamos de trocar de emprego.
Por fim: conhecimento não pesa nem ocupa espaço, biológicamente falando. IMHO honestidade para o desenvolvedor, testador ou gerente é muito mais importante do que o cinismo. Experiência é mais importante que certificações. Conhecimento é mais importante do que um mero diploma. O resto é dançar conforme a música.
Eu gosto de citar este artigo: Introduzindo Agilidade num Ambiente, do Phillip Calçado, que me mostrou um novo mundo e me inspirou a sair do mundo de testes para o mundo onde se faz de tudo um pouco. Então, se alguem se perguntar se certificação, mesmo para testes, vale a pena, lembre-se que a sua postura profissional conta muito mais.