Outro dia, um grande amigo me perguntou como fazia para automatizar o teste do Javascript desenvolvido em vários browsers. Para ser bem sincero, eu não utilizo nada além de vários browsers diferentes instalados em cada uma das minhas máquinas (virtuais ou não), cada uma com um sistema operacional diferente (Ubuntu 10.10 e 11.04 , Windows XP, Vista e 7 e carente de um Mac por enquanto…).
Realmente, mesmo usando o Synergy e uma boa configuração de rede local, ainda fica um pouco trabalhoso… Então resolvi pesquisar algumas ferramentas que poderiam ajudar nessa árdua tarefa, e creio que muitos vão agradecer pelas dicas e até colaborar com dezenas de outras nos comentários. Nem todas visam automatizar o teste em escala, mas todas vão facilitar alguma fase dos testes para que seus projetos tenham um excelente resultado
BrowserShots
Essa ferramenta vai mostrar pra você como seu site irá “renderizar” em diversos browsers diferentes, sem que você os tenha instalado, permitindo que você identifique problemas de compatibilidade mais rapidamente (principalmente se você se valeu de javascript para trabalhar estilos/css)
ScriptCover
Recém-lançado pelo Google, essa ferramenta fornece estatísticas de cobertura de código linha-a-linha, permitindo que você analise (em tempo real até) quantas vezes uma determinada instrução foi executada durante o uso da página. Essa extensão do Chrome funciona desde o instante inicial de carregamento da página e continua enquanto o site vai sendo utilizado, sem atrapalhar o usuário. Excelente também para debugar códigos complexos, que porventura venham a falhar misteriosamente em algum browser específico (para não dizer logo I.E.).
js-test-driver
Esse framework permitirá que você trabalhe na filosofia TDD (Test Driven Development), integrando-o a sua IDE (Eclipse, por exemplo) para automatizar a execução dos testes tão logo você modifique os arquivos do projeto. Exige uma preparação dos cases de teste, mas já que estamos falando de TDD, isso não será o problema. Confira nesse post a apresentação na época de lançamento onde é demonstrada a praticidade do mesmo.
QUnit, a filosofia jQuery também nos testes
QUnit é um poderoso framework de Unit Test que o ajuda a depurar o código. É escrito por membros da equipe de jQuery, e é o conjunto de testes oficial para este famoso framework. Ele é também o suficiente para testar qualquer código JavaScript regular, e é ainda capaz de testar Javascript server-side, através de algum mecanismo de JavaScript como Rhino ou V8.
Jasmine
Não, você não vai contratar uma estagiária chamada Jasmine para fazer o le-rê-le-rê de abrir páginas e págians em todas as máquinas do seu escritório. É um framework BDD, Behaviour Driven Development, ou seja, desenvolvimento orientado a comportamento. Para quem acha o TDD coisa do passado.
W3C Validator
Não menospreze-o. Alguns acham cafona, outros, nem sequer ouviram falar. Mas pense: se o código está de acordo com Standards, a chance de renderizar igual na maior parte dos browsers também é maior! E também, pode ser um excelente atalho para encontrar algum problema misterioso que não consta nos consoles.
Firebug
Apesar de usar o Chrome a maior parte do tempo, ainda acho a versão Firefox da extensão de desenvolvimento web mais prática e rápida para ajudar no debug, teste e inclusive no desenvolvimento (quem nunca desenvolveu uma linha de código javascript direto no console pra depois copiar e colar no código-fonte que atire o primeiro mouse!)
E você, usa alguma outar ferramenta para facilitar o testes Javascript? Por favor, ajude-nos!

Seguindo a “corrente do bem” que chegou até mim via 

