SlideShare ist ein Scribd-Unternehmen logo
1 von 38
BDD e TDD na prática
com SpecFlow e
Visual Studio 2012
Visual Studio Summit 2013
Sobre mim
• Igor Abade (@igorabade)
– Microsoft MVP, Visual Studio ALM
– Especialista Team Foundation Server (TFS)
• Sócio da Lambda3
– Consultoria ALM/TFS, Agilidade/Scrum,
Arquitetura
– Desenvolvimento de Sistemas
– Treinamentos
– Parceira Microsoft Gold ALM
Qualidade é importante?
Claro! Ninguém questiona isso.
Usuários e clientes esperam por
isso.
Testes são parte importante.
Ainda assim, poucos
conseguem fazer direito.
Test-Last Development
O mercado está cada vez mais competitivo
Nossos clientes precisam ir
cada vez mais rápido para o
mercado.
Usuários estão impacientes.
Adivinha onde vamos
cortar?
É hora de tentar algo diferente
Insanity: Doing the same thing over and over again and
expecting different results.
-- Albert Einstein
O Manifesto Ágil
• Indivíduos e interação entre eles
mais que processos e ferramentas
• Software em funcionamento
mais que documentação abrangente
• Colaboração com o cliente
mais que negociação de contratos
• Responder a mudanças
mais que seguir um plano
Ou seja, mesmo havendo valor nos itens à direita,
valorizamos mais os itens à esquerda.
Lean
Agile
Scrum
XP
Framework de gestão ágil de projetos
Papéis e cerimônias, melhoria contínua
dos times, entrega rápida, limitar
trabalho à capacidade
Cultura ágil, mindset e práticas
Eliminar desperdício
Respeitar as pessoas, foco
principalmente em P&D
Otimizar todo o fluxo
Foco na otimização de todo o processo
de negócios
Práticas de engenharia
Trazer qualidade para dentro do desenvolvimento –
Automação, integração contínua, revisão por pares
etc.
Práticas Ágeis
Lean
Agile
Scrum
XP
Framework de gestão ágil de projetos
Papéis e cerimônias, melhoria contínua
dos times, entrega rápida, limitar
trabalho à capacidade
Cultura ágil, mindset e práticas
Eliminar desperdício
Respeitar as pessoas, foco
principalmente em P&D
Otimizar todo o fluxo
Foco na otimização de todo o processo
de negócios
Práticas de engenharia
Trazer qualidade para dentro do desenvolvimento –
Automação, integração contínua, revisão por pares
etc.
Práticas Ágeis
XP: Extreme Programming
Introduzindo o TDD
TDD: Test-driven Development
Ciclo do TDD
Faz o teste
passar
Refatora o
código
Escreve um
teste
falhando
O que é TDD?
TDD é uma ferramenta para
possibilitar a evolução de Design
Efeitos Colaterais
Verificação de comportamento
Documentação
Afinal, o que é o TDD?
TDD
Que nome devo dar ao meu teste?
O que testar primeiro?
O que testar?
Quanto testar?
Quando testar?
Por que um teste falhou?
Introduzindo o BDD
BDD
“Behavior-driven development é sobre
implementar uma aplicação através da descrição
de seu comportamento pela perspectiva de seus
stakeholders”
-- Dan North
Criar software que
importa!
• Tem valor de negócio tangível
• Entregue incrementalmente
• Fácil de manter e gerenciar
• Fácil de entender e comunicar
Foco no valor
Linguagem comum
• Por onde começar
• O que testar
• O que não testar
• Quanto testar
• Como nomear os testes
• Por que um teste falha
Evoluindo TDD: BDD
Outside-in
User stories
Mínimo possível
Intenção
Documentação
Ciclo do BDD
Faz o
teste
passar
Refatora
o código
Escreve
um teste
falhando
Escreve um
Teste de
Aceitação
Falhando
Feature!
Outside In
Feature
“Quero que os usuários do site que
compraram o produto possam fazer o
download diretamente de suas páginas
pessoais”
Outside In
Cenário
“Garantindo a segurança
de informações:
Como usuário cadastrado posso
acessar apenas minha página pessoal”
Etapas
Outside In
Cenário
Etapas
Outside In
TDD
Cenário Falhando
Outside In
Outside In
Cenário Falhando
Outside In
Cenário Falhando
Outside In
Cenário Falhando
Outside In
Cenário Falhando
Outside In
Cenário Falhando
Outside In
Cenário Passando!
BDD em .NET: SpecFlow
• Inspirado no
Cucumber
• Linguagem
Gherkin
specflow.org
BDD com SpecFlow
Para saber mais
• BDD Primer: Behavior-Driven
Development with SpecFlow and
WatiN
tinyurl.com/nkakqq3
• Documentação do SpecFlow
go.specflow.org/doc
• Blog da Lambda3
blog.lambda3.com.br
tinyurl.com/pzjfa45
www.lambda3.com.br

Weitere ähnliche Inhalte

Was ist angesagt?

Qualidade de Software em Micro Serviços
Qualidade de Software em Micro ServiçosQualidade de Software em Micro Serviços
Qualidade de Software em Micro ServiçosRafael Lima
 
Métodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreMétodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreDionatan default
 
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaUtilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaCleiton Felipe Moraes
 
Meetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por ExemploMeetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por ExemploSamanta Cicilia
 
[QaOps] ]Integração Contínua | Estrategia de pipeline
[QaOps] ]Integração Contínua | Estrategia de pipeline[QaOps] ]Integração Contínua | Estrategia de pipeline
[QaOps] ]Integração Contínua | Estrategia de pipelineRafael Lima
 
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...Walmyr Lima e Silva Filho
 
Trend Talk - Agile Trends 2015 - A Arte do Tailoring em Projetos Ágeis
Trend Talk - Agile Trends 2015 - A Arte do Tailoring em Projetos ÁgeisTrend Talk - Agile Trends 2015 - A Arte do Tailoring em Projetos Ágeis
Trend Talk - Agile Trends 2015 - A Arte do Tailoring em Projetos ÁgeisVitor Massari
 
ATC BSB - Agile Testing
ATC BSB - Agile Testing ATC BSB - Agile Testing
ATC BSB - Agile Testing Samanta Cicilia
 
Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)Fernando Kenji Kamei
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
Behavior driven development
Behavior driven developmentBehavior driven development
Behavior driven developmentThiago Ferreira
 
Scrum in a nutshell - business perspective
Scrum in a nutshell - business perspectiveScrum in a nutshell - business perspective
Scrum in a nutshell - business perspectiveMarcos Alves
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4André Vidal
 
Gerando Resultados com Scrum: Scrum in a nutshell
Gerando Resultados com Scrum: Scrum in a nutshellGerando Resultados com Scrum: Scrum in a nutshell
Gerando Resultados com Scrum: Scrum in a nutshellDextra
 
Novidades ALM Summit 2013
Novidades ALM Summit 2013Novidades ALM Summit 2013
Novidades ALM Summit 2013Lambda 3
 
Modelos Híbridos: Case, Verdades, Mitos e Resistências
Modelos Híbridos: Case, Verdades, Mitos e ResistênciasModelos Híbridos: Case, Verdades, Mitos e Resistências
Modelos Híbridos: Case, Verdades, Mitos e ResistênciasVitor Massari
 

Was ist angesagt? (20)

Qualidade de Software em Micro Serviços
Qualidade de Software em Micro ServiçosQualidade de Software em Micro Serviços
Qualidade de Software em Micro Serviços
 
Métodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreMétodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software Livre
 
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaUtilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
 
Meetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por ExemploMeetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por Exemplo
 
[QaOps] ]Integração Contínua | Estrategia de pipeline
[QaOps] ]Integração Contínua | Estrategia de pipeline[QaOps] ]Integração Contínua | Estrategia de pipeline
[QaOps] ]Integração Contínua | Estrategia de pipeline
 
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...
 
Trend Talk - Agile Trends 2015 - A Arte do Tailoring em Projetos Ágeis
Trend Talk - Agile Trends 2015 - A Arte do Tailoring em Projetos ÁgeisTrend Talk - Agile Trends 2015 - A Arte do Tailoring em Projetos Ágeis
Trend Talk - Agile Trends 2015 - A Arte do Tailoring em Projetos Ágeis
 
ATC BSB - Agile Testing
ATC BSB - Agile Testing ATC BSB - Agile Testing
ATC BSB - Agile Testing
 
Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
Behavior driven development
Behavior driven developmentBehavior driven development
Behavior driven development
 
Uml
UmlUml
Uml
 
BDD
BDDBDD
BDD
 
Scrum in a nutshell - business perspective
Scrum in a nutshell - business perspectiveScrum in a nutshell - business perspective
Scrum in a nutshell - business perspective
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
 
Gerando Resultados com Scrum: Scrum in a nutshell
Gerando Resultados com Scrum: Scrum in a nutshellGerando Resultados com Scrum: Scrum in a nutshell
Gerando Resultados com Scrum: Scrum in a nutshell
 
Novidades ALM Summit 2013
Novidades ALM Summit 2013Novidades ALM Summit 2013
Novidades ALM Summit 2013
 
Modelos Híbridos: Case, Verdades, Mitos e Resistências
Modelos Híbridos: Case, Verdades, Mitos e ResistênciasModelos Híbridos: Case, Verdades, Mitos e Resistências
Modelos Híbridos: Case, Verdades, Mitos e Resistências
 
Desenvolvimento BDD
Desenvolvimento BDDDesenvolvimento BDD
Desenvolvimento BDD
 
Scrum - Conceitos
Scrum - ConceitosScrum - Conceitos
Scrum - Conceitos
 

Andere mochten auch

Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Renato Groff
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testesAdilmar Dantas
 
Testes automatizados (2)
Testes automatizados (2)Testes automatizados (2)
Testes automatizados (2)cesarvianna
 
BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)Renato Groff
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Renato Groff
 
DDD + BDD + TDD - RF 2015
DDD + BDD + TDD - RF 2015 DDD + BDD + TDD - RF 2015
DDD + BDD + TDD - RF 2015 Eduardo Bregaida
 
[GUTS-RS] Tendências de Teste de Software para 2016
[GUTS-RS] Tendências de Teste de Software para 2016[GUTS-RS] Tendências de Teste de Software para 2016
[GUTS-RS] Tendências de Teste de Software para 2016GUTS-RS
 
BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationJohn Ferguson Smart Limited
 

Andere mochten auch (11)

Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
 
BDD - aula
BDD - aulaBDD - aula
BDD - aula
 
Behaviour Driven Development
Behaviour Driven DevelopmentBehaviour Driven Development
Behaviour Driven Development
 
Testes automatizados (2)
Testes automatizados (2)Testes automatizados (2)
Testes automatizados (2)
 
BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016
 
DDD + BDD + TDD - RF 2015
DDD + BDD + TDD - RF 2015 DDD + BDD + TDD - RF 2015
DDD + BDD + TDD - RF 2015
 
BDD: Cucumber + Selenium + Java
BDD: Cucumber + Selenium + JavaBDD: Cucumber + Selenium + Java
BDD: Cucumber + Selenium + Java
 
[GUTS-RS] Tendências de Teste de Software para 2016
[GUTS-RS] Tendências de Teste de Software para 2016[GUTS-RS] Tendências de Teste de Software para 2016
[GUTS-RS] Tendências de Teste de Software para 2016
 
BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world application
 

Ähnlich wie BDD e TDD na prática com SpecFlow e Visual Studio

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
 
Agile, mudando o foco
Agile, mudando o focoAgile, mudando o foco
Agile, mudando o focoewerttonbravo
 
Desenvolvimento Incremental com Test Driven Development
Desenvolvimento Incremental com Test Driven DevelopmentDesenvolvimento Incremental com Test Driven Development
Desenvolvimento Incremental com Test Driven DevelopmentLeonardo de Aguiar
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Marcio Miyamoto
 
Como funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de softwareComo funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de softwareElvis Lima
 
Impacto do DevOps nos negócios
Impacto do DevOps nos negóciosImpacto do DevOps nos negócios
Impacto do DevOps nos negóciosRamon Durães
 
Agile Testing, por Carolina Borim
Agile Testing, por Carolina BorimAgile Testing, por Carolina Borim
Agile Testing, por Carolina BorimThoughtworks
 
O que não te contaram sobre o Ágil
O que não te contaram sobre o ÁgilO que não te contaram sobre o Ágil
O que não te contaram sobre o ÁgilWilhelm Meier
 
Oficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCOficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCWildtech
 
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetosUFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetosAllan Ferreira
 
Desenvolvimento ágil de software
Desenvolvimento ágil de softwareDesenvolvimento ágil de software
Desenvolvimento ágil de softwarediogenes.araujo
 
Agile Brazil 2018 BDD - a chave para melhorar a comunicação entre stakehold...
Agile Brazil 2018   BDD - a chave para melhorar a comunicação entre stakehold...Agile Brazil 2018   BDD - a chave para melhorar a comunicação entre stakehold...
Agile Brazil 2018 BDD - a chave para melhorar a comunicação entre stakehold...Allan Ferreira
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Igor Abade
 
Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTiago Link
 
Requisitos ageis paulofurtado_2014
Requisitos ageis paulofurtado_2014Requisitos ageis paulofurtado_2014
Requisitos ageis paulofurtado_2014Paulo Furtado
 

Ähnlich wie BDD e TDD na prática com SpecFlow e Visual Studio (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
 
Agile, mudando o foco
Agile, mudando o focoAgile, mudando o foco
Agile, mudando o foco
 
Desenvolvimento Incremental com Test Driven Development
Desenvolvimento Incremental com Test Driven DevelopmentDesenvolvimento Incremental com Test Driven Development
Desenvolvimento Incremental com Test Driven Development
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
Como funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de softwareComo funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de software
 
Impacto do DevOps nos negócios
Impacto do DevOps nos negóciosImpacto do DevOps nos negócios
Impacto do DevOps nos negócios
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
 
Agile Testing, por Carolina Borim
Agile Testing, por Carolina BorimAgile Testing, por Carolina Borim
Agile Testing, por Carolina Borim
 
Criando uma Arquitetura Testável
Criando uma Arquitetura TestávelCriando uma Arquitetura Testável
Criando uma Arquitetura Testável
 
O que não te contaram sobre o Ágil
O que não te contaram sobre o ÁgilO que não te contaram sobre o Ágil
O que não te contaram sobre o Ágil
 
BDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e SpecflowBDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e Specflow
 
Oficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCOficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESC
 
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetosUFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
 
Apresentação Mundo Ideal 2015
Apresentação Mundo Ideal 2015Apresentação Mundo Ideal 2015
Apresentação Mundo Ideal 2015
 
Desenvolvimento ágil de software
Desenvolvimento ágil de softwareDesenvolvimento ágil de software
Desenvolvimento ágil de software
 
Agile Brazil 2018 BDD - a chave para melhorar a comunicação entre stakehold...
Agile Brazil 2018   BDD - a chave para melhorar a comunicação entre stakehold...Agile Brazil 2018   BDD - a chave para melhorar a comunicação entre stakehold...
Agile Brazil 2018 BDD - a chave para melhorar a comunicação entre stakehold...
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
 
Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste você
 
Pensando TDD
Pensando TDDPensando TDD
Pensando TDD
 
Requisitos ageis paulofurtado_2014
Requisitos ageis paulofurtado_2014Requisitos ageis paulofurtado_2014
Requisitos ageis paulofurtado_2014
 

Mehr von Igor Abade

Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)Igor Abade
 
DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?Igor Abade
 
Serverless Computing no Microsoft Azure
Serverless Computing no Microsoft AzureServerless Computing no Microsoft Azure
Serverless Computing no Microsoft AzureIgor Abade
 
Chega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoChega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoIgor Abade
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no AzureIgor Abade
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao HabitatIgor Abade
 
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeAcelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeIgor Abade
 
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTSProvisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTSIgor Abade
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Igor Abade
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Igor Abade
 
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreIgor Abade
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosIgor Abade
 
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
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellIgor Abade
 
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)Igor Abade
 
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)Igor Abade
 
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Igor Abade
 
Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...Igor Abade
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Igor Abade
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Igor Abade
 

Mehr von Igor Abade (20)

Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
 
DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?
 
Serverless Computing no Microsoft Azure
Serverless Computing no Microsoft AzureServerless Computing no Microsoft Azure
Serverless Computing no Microsoft Azure
 
Chega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoChega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como código
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no Azure
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao Habitat
 
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeAcelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
 
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTSProvisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
 
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
 
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)
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShell
 
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
 
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
 
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
 
Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
 

BDD e TDD na prática com SpecFlow e Visual Studio

  • 1. BDD e TDD na prática com SpecFlow e Visual Studio 2012 Visual Studio Summit 2013
  • 2. Sobre mim • Igor Abade (@igorabade) – Microsoft MVP, Visual Studio ALM – Especialista Team Foundation Server (TFS) • Sócio da Lambda3 – Consultoria ALM/TFS, Agilidade/Scrum, Arquitetura – Desenvolvimento de Sistemas – Treinamentos – Parceira Microsoft Gold ALM
  • 3. Qualidade é importante? Claro! Ninguém questiona isso. Usuários e clientes esperam por isso. Testes são parte importante. Ainda assim, poucos conseguem fazer direito.
  • 5. O mercado está cada vez mais competitivo Nossos clientes precisam ir cada vez mais rápido para o mercado. Usuários estão impacientes. Adivinha onde vamos cortar?
  • 6. É hora de tentar algo diferente Insanity: Doing the same thing over and over again and expecting different results. -- Albert Einstein
  • 7. O Manifesto Ágil • Indivíduos e interação entre eles mais que processos e ferramentas • Software em funcionamento mais que documentação abrangente • Colaboração com o cliente mais que negociação de contratos • Responder a mudanças mais que seguir um plano Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.
  • 8. Lean Agile Scrum XP Framework de gestão ágil de projetos Papéis e cerimônias, melhoria contínua dos times, entrega rápida, limitar trabalho à capacidade Cultura ágil, mindset e práticas Eliminar desperdício Respeitar as pessoas, foco principalmente em P&D Otimizar todo o fluxo Foco na otimização de todo o processo de negócios Práticas de engenharia Trazer qualidade para dentro do desenvolvimento – Automação, integração contínua, revisão por pares etc. Práticas Ágeis
  • 9. Lean Agile Scrum XP Framework de gestão ágil de projetos Papéis e cerimônias, melhoria contínua dos times, entrega rápida, limitar trabalho à capacidade Cultura ágil, mindset e práticas Eliminar desperdício Respeitar as pessoas, foco principalmente em P&D Otimizar todo o fluxo Foco na otimização de todo o processo de negócios Práticas de engenharia Trazer qualidade para dentro do desenvolvimento – Automação, integração contínua, revisão por pares etc. Práticas Ágeis
  • 13. Ciclo do TDD Faz o teste passar Refatora o código Escreve um teste falhando
  • 14. O que é TDD?
  • 15.
  • 16. TDD é uma ferramenta para possibilitar a evolução de Design Efeitos Colaterais Verificação de comportamento Documentação Afinal, o que é o TDD?
  • 17. TDD Que nome devo dar ao meu teste? O que testar primeiro? O que testar? Quanto testar? Quando testar? Por que um teste falhou?
  • 19. BDD “Behavior-driven development é sobre implementar uma aplicação através da descrição de seu comportamento pela perspectiva de seus stakeholders” -- Dan North
  • 20. Criar software que importa! • Tem valor de negócio tangível • Entregue incrementalmente • Fácil de manter e gerenciar • Fácil de entender e comunicar Foco no valor
  • 22. • Por onde começar • O que testar • O que não testar • Quanto testar • Como nomear os testes • Por que um teste falha Evoluindo TDD: BDD Outside-in User stories Mínimo possível Intenção Documentação
  • 23. Ciclo do BDD Faz o teste passar Refatora o código Escreve um teste falhando Escreve um Teste de Aceitação Falhando
  • 25. Feature “Quero que os usuários do site que compraram o produto possam fazer o download diretamente de suas páginas pessoais” Outside In
  • 26. Cenário “Garantindo a segurança de informações: Como usuário cadastrado posso acessar apenas minha página pessoal” Etapas Outside In
  • 35. BDD em .NET: SpecFlow • Inspirado no Cucumber • Linguagem Gherkin specflow.org
  • 37. Para saber mais • BDD Primer: Behavior-Driven Development with SpecFlow and WatiN tinyurl.com/nkakqq3 • Documentação do SpecFlow go.specflow.org/doc • Blog da Lambda3 blog.lambda3.com.br tinyurl.com/pzjfa45

Hinweis der Redaktion

  1. BDD != TDD principalmente porque o vemos de forma diferente
  2. Acerte as palavras também vale na linguagem com o clienteBDD vai te obrigar a pensar no negócio, modelar o negócio