Upload
vinicius-quaiato
View
991
Download
0
Embed Size (px)
DESCRIPTION
Slides da palestra de Vinicius Quaiato sobre Unit Testing na plataforma .NET no evento VDD 2011 - Virtual Developer Day. http://viniciusquaiato.com
Citation preview
Unit Testing na plataforma .NET
.NET Interior | Microsoft - CEA/MSDN | Silverlight Brasil | Silverlight Planet | Codificando .NET
Vinicius QuaiatoGeek, pai, vegetariano, santista. Trabalha com desenvolvimento de software há 4 anos, atualmente coordena o time de .NET na Gonow Tecnologia
Agenda
Virtual Developer Day 2011 | .NET Interior
Fazer software dói
Virtual Developer Day 2011 | .NET Interior
Como fazemos hoje(e sempre)
Virtual Developer Day 2011 | .NET Interior
Será que está certo?
Virtual Developer Day 2011 | .NET Interior
Será que está certo?
• Não temos controle do código• Não temos segurança no código• Não temos previsibilidade
Virtual Developer Day 2011 | .NET Interior
Temos medo
Virtual Developer Day 2011 | .NET Interior
As coisas demoram
Virtual Developer Day 2011 | .NET Interior
Nos sentimos incapazes
Virtual Developer Day 2011 | .NET Interior
Por que?
Por que não testamos corretamente!
Virtual Developer Day 2011 | .NET Interior
O que são testes?
• Maneira de garantir que o software:– atende aos requisitos de negócio– funciona como esperado
Virtual Developer Day 2011 | .NET Interior
O que são testes?
• Maneira verificável de garantir que o software atende às necessidades de negócio e funciona como esperado.
Virtual Developer Day 2011 | .NET Interior
Por que estamos errados?
• Ctrl + Shift + B
Virtual Developer Day 2011 | .NET Interior
Por que estamos errados?
• Compilar NÃO é testar!• Apenas significa que o código atende ao
compilador, apenas isso!
Virtual Developer Day 2011 | .NET Interior
Por que estamos errados?
• F5
Virtual Developer Day 2011 | .NET Interior
Por que estamos errados?
• Executar a aplicação demora• No geral testa-se apenas o que você pensa
que alterou
Virtual Developer Day 2011 | .NET Interior
O bater de asas de uma borboleta em Tóquio pode provocar um furacão em Nova Iorque
“ ”
Por que estamos errados?
• Macaco
Virtual Developer Day 2011 | .NET Interior
Por que estamos errados?
• Executar a aplicação demora• É bom para encontrar alguns bugs
• Testes não são apenas sobre bugs!
Virtual Developer Day 2011 | .NET Interior
Por que estamos errados?
Virtual Developer Day 2011 | .NET Interior
• Estas não são as únicas maneiras de fazermos isto.
Como fazer então?
Virtual Developer Day 2011 | .NET Interior
Testes automatizados
Por que automatizar?
• Verificável– Sabemos de forma clara se está certo ou
não
• Repetível– Executamos N vezes e obtemos o mesmo
resultado
• Executável– One click
• Rápido Virtual Developer Day 2011 | .NET Interior
Mas…
• Eu sou bom no que eu faço, não preciso ficar testando tudo a todo momento.
Virtual Developer Day 2011 | .NET Interior
Acredite
• Você não é tão bom quanto pensa!
Virtual Developer Day 2011 | .NET Interior
Virtual Developer Day 2011 | .NET Interior
Testes Unitários
• Não!• Testes de Unidade
Virtual Developer Day 2011 | .NET Interior
Testes Unitários
• Não!• Testes de Unidade
Virtual Developer Day 2011 | .NET Interior
Testes de Unidade
• Código executando código• Testam uma unidade de código– SUT – System Under Test
• Rápidos de executar– O feedback é quase instantâneo
• Auxiliam o design– Se está difícil testar é um sinal de
problema no códigoVirtual Developer Day 2011 | .NET Interior
É sua obrigação
• Escrever testes deve fazer parte das suas tarefas
• Não considere uma tarefa pronta se não estiver testada
Virtual Developer Day 2011 | .NET Interior
O tempo
• Deixar de testar não te faz mais rápido
• Deixar de testar te dá uma falsa sensação de velocidade
Virtual Developer Day 2011 | .NET Interior
Frameworks
• MSTests– Framework de unit testing da Microsoft
• NUnit– Framework de unit testing open source
• Ambos são bastante parecidos
Virtual Developer Day 2011 | .NET Interior
Frameworks
• Moq– Framework de mocking(isolamento)
Virtual Developer Day 2011 | .NET Interior
Mocks
• Usados para testar a interação/comunicação entre objetos
Virtual Developer Day 2011 | .NET Interior
Stubs
• Usados para simular/fornecer estados para auxiliar nos testes
Virtual Developer Day 2011 | .NET Interior
Stop talking
• Show the code!
Virtual Developer Day 2011 | .NET Interior
E é isso!
• Escrever testes é uma tarefa importante
• Deve fazer parte da nossa definição de pronto
• Nos dá segurança, confiança e qualidade de vida
• Nos faz mais sexy :P
Virtual Developer Day 2011 | .NET Interior
Seja feliz!
Virtual Developer Day 2011 | .NET Interior
Alguns livros
Virtual Developer Day 2011 | .NET Interior
Contatos
• e-mail [email protected]
• blog http://viniciusquaiato.com • twitter @vquaiato
Virtual Developer Day 2011 | .NET Interior
Virtual Developer Day 2011 | .NET Interior
.NET Interior | Microsoft - CEA/MSDN | Silverlight Brasil | Silverlight Planet | Codificando .NET