Unit Testing ASP.NET MVC 3
Quemsoueu?	Rodrigo VidalTwitter: @rodrigovidalwww.rodrigovidal.netFocoemArquitetura de Software, Boas Práticas, TDD, DDDEvangelista de Linguagem F#Professional Scrum DeveloperMicrosoft Student Partner
Vocêescreve testes?
Como escrevemos software?
Primeiroimplementamos
Classes altamente acopladas
CódigoConfuso
Código que precisa de comentários
Código que precisa de documentação
Código que precisa de explicação
Isso gera... Bugs.. Muitos Bugs
Isso gera... Medo.. Muito medo
Fator Motivação
Tem como ser produtivo assim?
Maneira de garantir que o software realiza o esperado EEstá de acordo com os requisitos O que são testes?
Para ter certeza de que funciona.Porque testar?
Porque não testar??
Eu sou Jedi! Eu sou Sênior!
Não temos TEMPO!
Você NÃO é bom o suficiente!Acredite..
“Escrever testes demora muito, eu poderia ja ter implementado direto.”SobrinhoMito..	Verdade..Não escrever testes te dá uma falsa sensação de velocidade
“Escrever código sem testes é como um cirurgião que não lava aos mãos antes de uma operação”		Robert “UncleBob” MartinTestar é necessário
“Não escrever testes é anti-ético”		Autor desconhecidoTestar é necessário
É um trecho de codigo que executa outro.Verifica a exatidão de pressupostosCaso os pressuspostos estejam errados o teste falha, caso contrário o teste passa.Testes de Unidade
FastIndependentRepeatableSelf-ValidatingTimelyPrincipios F.I.R.S.T
Provém feedback real-timeTendem a melhorar o design da aplicaçãoContribuem para refatoraçõesServem como exemplos de utilização da sua APISe está dificil testar, pode melhorar.Vantagens
Desvantagens
DEMO
Unidade X Integração
Test Driven Development
WebCamps Software Testing

WebCamps Software Testing