SlideShare una empresa de Scribd logo
1 de 23
Desenvolvimento orientado a
Testes
andrecarlucci@gmail.com
www.andrecarlucci.com
@andrecarlucci
André Carlucci
A força mais poderosa do
universo é o juros composto.
Albert Einstein
Red, Green, Refactor!
• Escreva um teste que falhe
• Escreva o código mais simples possível
que faça o teste passar
• Refatore
Action!
Um exemplo simples:
Por quê?
Documentação
Arquitetura
Usabilidade
Feedback
Confiança
O que testar?
E as chamadas externas?
Top Desculpas para não testar
• Tempo
• O cliente quer código, não testes
• Aplicação legada
• Temos testadores!
• Não sei testar
• Vamos iniciar daqui 2 meses
Como começar?
• Comece pequeno
• Faça novas tarefas com TDD
• A cada bug encontrado, faça primeiro um teste
que pegue o bug e depois mude o código.
• Pair programming!
Recomendações
• Crie um projeto de testes separado
• Utilize frameworks de testes
• Rode todos os testes sempre!
• Velocidade
• Testes de unidade x integração
• Pronto pronto!
• Servidor de integração contínua
Constatações
• Habilidade em testes
• Código já existente
• Código de testes não é código de produção
• Tenha bom senso
• Continue aprendendo sempre!
“TDD é sobre design, não
testes.”
Scott Bellware
Onde aprender mais?
• Livros
– TDD By Example – Kent Beck
– The Art of Unit Testing - Roy Osherove
– xUnit Test Patterns – Gerard Meszaros
• Internet
– http://www.CodeBetter.com
– http://www.extremeprogramming.org/
• Tools
– NUnit – www.NUnit.com
– TestDriven.Net – www.TestDriven.net
– Moq – code.google.com/p/moq
Perguntas?
andrecarlucci@gmail.com
@andrecarlucci
www.andrecarlucci.com

Más contenido relacionado

La actualidad más candente

Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoLeonardo Galani
 
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemMinas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemStefan Teixeira
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testeselliando dias
 
Minas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustMinas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustStefan Teixeira
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Igor Abade
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...minastestingconference
 
Protractor tests no processo de integração contínua
Protractor tests no processo de integração contínuaProtractor tests no processo de integração contínua
Protractor tests no processo de integração contínuaWalmyr Lima e Silva Filho
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a diaRafael Chiavegatto
 
IT Talks - Testes Automatizados - Porque você deve ter? Versão: Final
IT Talks - Testes Automatizados - Porque você deve ter? Versão: FinalIT Talks - Testes Automatizados - Porque você deve ter? Versão: Final
IT Talks - Testes Automatizados - Porque você deve ter? Versão: FinalClayton K. N. Passos
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiroz Xavier
 
QConRio 2014 - Uso de Headless Browsers em Testes Automatizados
QConRio 2014 - Uso de Headless Browsers em Testes AutomatizadosQConRio 2014 - Uso de Headless Browsers em Testes Automatizados
QConRio 2014 - Uso de Headless Browsers em Testes AutomatizadosStefan Teixeira
 
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvemTDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvemStefan Teixeira
 
A Importância do Teste Continuo
A Importância do Teste ContinuoA Importância do Teste Continuo
A Importância do Teste ContinuoElias Nogueira
 

La actualidad más candente (20)

TDD para Java EE
TDD para Java EETDD para Java EE
TDD para Java EE
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitido
 
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemMinas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
Minas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustMinas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com Locust
 
TDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVATDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVA
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
 
Protractor tests no processo de integração contínua
Protractor tests no processo de integração contínuaProtractor tests no processo de integração contínua
Protractor tests no processo de integração contínua
 
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
 
Testes unitários
Testes unitáriosTestes unitários
Testes unitários
 
TDD
TDDTDD
TDD
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a dia
 
IT Talks - Testes Automatizados - Porque você deve ter? Versão: Final
IT Talks - Testes Automatizados - Porque você deve ter? Versão: FinalIT Talks - Testes Automatizados - Porque você deve ter? Versão: Final
IT Talks - Testes Automatizados - Porque você deve ter? Versão: Final
 
Testes de a a z
Testes de a a zTestes de a a z
Testes de a a z
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 
QConRio 2014 - Uso de Headless Browsers em Testes Automatizados
QConRio 2014 - Uso de Headless Browsers em Testes AutomatizadosQConRio 2014 - Uso de Headless Browsers em Testes Automatizados
QConRio 2014 - Uso de Headless Browsers em Testes Automatizados
 
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvemTDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
 
A Importância do Teste Continuo
A Importância do Teste ContinuoA Importância do Teste Continuo
A Importância do Teste Continuo
 
Qualidade do início ao fim
Qualidade do início ao fimQualidade do início ao fim
Qualidade do início ao fim
 

Destacado

Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareAndre Carlucci
 
Comunicação multiplataforma em tempo real com SignalR
Comunicação multiplataforma em tempo real com SignalRComunicação multiplataforma em tempo real com SignalR
Comunicação multiplataforma em tempo real com SignalRAndre Carlucci
 
O que diabos é arbejdsglaede?
O que diabos é arbejdsglaede?O que diabos é arbejdsglaede?
O que diabos é arbejdsglaede?Andre Carlucci
 
Democracia corporativa
Democracia corporativaDemocracia corporativa
Democracia corporativaAndre Carlucci
 
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.Andre Carlucci
 
Controlando a versão de seu banco de dados com Migrations
Controlando a versão de seu banco de dados com MigrationsControlando a versão de seu banco de dados com Migrations
Controlando a versão de seu banco de dados com MigrationsAndre Carlucci
 

Destacado (8)

Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de Software
 
Comunicação multiplataforma em tempo real com SignalR
Comunicação multiplataforma em tempo real com SignalRComunicação multiplataforma em tempo real com SignalR
Comunicação multiplataforma em tempo real com SignalR
 
Scaling silverlight
Scaling silverlightScaling silverlight
Scaling silverlight
 
O que diabos é arbejdsglaede?
O que diabos é arbejdsglaede?O que diabos é arbejdsglaede?
O que diabos é arbejdsglaede?
 
Democracia corporativa
Democracia corporativaDemocracia corporativa
Democracia corporativa
 
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.
 
Controlando a versão de seu banco de dados com Migrations
Controlando a versão de seu banco de dados com MigrationsControlando a versão de seu banco de dados com Migrations
Controlando a versão de seu banco de dados com Migrations
 
Workplace Democracy
Workplace DemocracyWorkplace Democracy
Workplace Democracy
 

Similar a Desenvolvimento Orientado a Testes

Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaRogerio Fontes
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitDomingos Teruel
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código LegadoCesar Romero
 
Testes de unidade - RP Tec Com
Testes de unidade - RP Tec ComTestes de unidade - RP Tec Com
Testes de unidade - RP Tec ComIgor Rozani
 
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe muniz6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe munizMatheus de Lara Calache
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosDionatan default
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação Icaro Camelo
 
XP Programming
XP ProgrammingXP Programming
XP ProgrammingCJR, UnB
 
Cafe agil em Recife - Agile and Design
Cafe agil em Recife - Agile and DesignCafe agil em Recife - Agile and Design
Cafe agil em Recife - Agile and DesignThoughtworks
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração ContínuaScrumHalf Tool
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDJony Ferreira dos Santos
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Thiago Barradas
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo realWilly Salazar
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesCamilo Ribeiro
 

Similar a Desenvolvimento Orientado a Testes (20)

Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
TDD
TDDTDD
TDD
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código Legado
 
Testes de unidade - RP Tec Com
Testes de unidade - RP Tec ComTestes de unidade - RP Tec Com
Testes de unidade - RP Tec Com
 
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe muniz6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anos
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação
 
XP Programming
XP ProgrammingXP Programming
XP Programming
 
Cafe agil em Recife - Agile and Design
Cafe agil em Recife - Agile and DesignCafe agil em Recife - Agile and Design
Cafe agil em Recife - Agile and Design
 
Introdução a TDD
Introdução a TDDIntrodução a TDD
Introdução a TDD
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDD
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo real
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo real
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 

Más de Andre Carlucci

Building a professional, maintainable rest api architecture with asp.net core...
Building a professional, maintainable rest api architecture with asp.net core...Building a professional, maintainable rest api architecture with asp.net core...
Building a professional, maintainable rest api architecture with asp.net core...Andre Carlucci
 
Controlando windows like a boss com Intel Real Sense SDK
Controlando windows like a boss com Intel Real Sense SDKControlando windows like a boss com Intel Real Sense SDK
Controlando windows like a boss com Intel Real Sense SDKAndre Carlucci
 
Controlando o windows like a boss com o Intel RealSense SDK
Controlando o windows like a boss com o Intel RealSense SDKControlando o windows like a boss com o Intel RealSense SDK
Controlando o windows like a boss com o Intel RealSense SDKAndre Carlucci
 
A nova Central de Notificações do Windows Phone
A nova Central de Notificações do Windows PhoneA nova Central de Notificações do Windows Phone
A nova Central de Notificações do Windows PhoneAndre Carlucci
 
O que é esse tal de OWIN?
O que é esse tal de OWIN?O que é esse tal de OWIN?
O que é esse tal de OWIN?Andre Carlucci
 
Owin e o Projeto Katana
Owin e o Projeto KatanaOwin e o Projeto Katana
Owin e o Projeto KatanaAndre Carlucci
 
Obtendo o máximo do Bay Trail com Windows Store Apps
Obtendo o máximo do Bay Trail com Windows Store AppsObtendo o máximo do Bay Trail com Windows Store Apps
Obtendo o máximo do Bay Trail com Windows Store AppsAndre Carlucci
 
Compartilhando código entre Windows Phone e o Windows 8
Compartilhando código entre Windows Phone e o Windows 8Compartilhando código entre Windows Phone e o Windows 8
Compartilhando código entre Windows Phone e o Windows 8Andre Carlucci
 
Introdução ao Windows Phone 7
Introdução ao Windows Phone 7Introdução ao Windows Phone 7
Introdução ao Windows Phone 7Andre Carlucci
 

Más de Andre Carlucci (10)

Building a professional, maintainable rest api architecture with asp.net core...
Building a professional, maintainable rest api architecture with asp.net core...Building a professional, maintainable rest api architecture with asp.net core...
Building a professional, maintainable rest api architecture with asp.net core...
 
Controlando windows like a boss com Intel Real Sense SDK
Controlando windows like a boss com Intel Real Sense SDKControlando windows like a boss com Intel Real Sense SDK
Controlando windows like a boss com Intel Real Sense SDK
 
Controlando o windows like a boss com o Intel RealSense SDK
Controlando o windows like a boss com o Intel RealSense SDKControlando o windows like a boss com o Intel RealSense SDK
Controlando o windows like a boss com o Intel RealSense SDK
 
A nova Central de Notificações do Windows Phone
A nova Central de Notificações do Windows PhoneA nova Central de Notificações do Windows Phone
A nova Central de Notificações do Windows Phone
 
O que é esse tal de OWIN?
O que é esse tal de OWIN?O que é esse tal de OWIN?
O que é esse tal de OWIN?
 
Owin e o Projeto Katana
Owin e o Projeto KatanaOwin e o Projeto Katana
Owin e o Projeto Katana
 
Nuget na sua_empresa
Nuget na sua_empresaNuget na sua_empresa
Nuget na sua_empresa
 
Obtendo o máximo do Bay Trail com Windows Store Apps
Obtendo o máximo do Bay Trail com Windows Store AppsObtendo o máximo do Bay Trail com Windows Store Apps
Obtendo o máximo do Bay Trail com Windows Store Apps
 
Compartilhando código entre Windows Phone e o Windows 8
Compartilhando código entre Windows Phone e o Windows 8Compartilhando código entre Windows Phone e o Windows 8
Compartilhando código entre Windows Phone e o Windows 8
 
Introdução ao Windows Phone 7
Introdução ao Windows Phone 7Introdução ao Windows Phone 7
Introdução ao Windows Phone 7
 

Desenvolvimento Orientado a Testes