Vamos falar um pouco de testes mas de uma maneira geral. Por que devemos fazer testes nos nossos códigos? Muitas pessoas dizem que programadores que faz teste não tem segurança no próprio código ou até mesmo que ao fazer testes você perde muito tempo no desenvolvimento de certa atividade. Fato realmente fazer testes pode tomar um pouco de tempo mas você tem um ganho maior conforme sua aplicação vai crescendo ou até mesmo a equipe vai crescendo, quem garante que em uma nova versão da aplicação todos os metodos, funções, classes e telas estarão funcionando? Quantas vezes após alguma modificação no sistema perdemos algumas funcionalidades sem perceber e quando percebemos já esta em produção as vezes isso pode ser tarde de mais. Pois é quem nunca passou por essa situação? Atualmente muitos desenvolvedores estão mais exigentes em relação aos testes de suas aplicações, como eu estava lendo hoje em um artigo da InfoQ "Não apenas com o intuito de garantir que as coisas funcionam ou de garantir que o desenvolvedor é um profissional de verdade, mas também de garantir que num futuro próximo pessoas novas na equipe tenham a capacidade de entender como as coisas funcionam a partir dos testes.". Outra coisa importante que foi abordado no artigo da InfoQ é que os testes devem ter nomes bem definidos e não utilização de nomes genéricos. Todos sabemos que em tempo de produção o usuário é imprevisível, então não devemos testar apenas o que queremos que aconteça devemos ir mais além e ver nossos testes falharem obter a informação para que podemos entender o que está acontecendo. Então fica a dica, devemos criar o costume de fazer testes em nossas aplicações mesmo que percamos um pouco de tempo no desenvolvimento mas isso nos poupara muitas horas no futuro.