SlideShare a Scribd company logo
1 of 35
Test-Driven development (TDD)EBehavior Driven Development Anderson Cella Benhur Griffante Márcio H. Brufatto
TEST-DRIVEN DEVELOPMENT (TDD) ou DESENVOLVIMENTO DIRIGIDO POR TESTES
HISTÓRIA O TDD foi criado por Kenk Beck em 2003. A utilização do TDD iniciou com o eXtremme Programming.
O que é Tdd? É uma técnica de desenvolvimento de software que se baseia em ciclos de repetição curtos, onde o desenvolvedor cria um caso de teste e depois cria o código para o teste criado.
PROCESSO TDD Design Test Implementação Test
CICLO TDD Red | Green | Refactor Red Refactor Green
REFACTOR Melhorar o código.
VANTAGENS Testando primeiro, você sabe exatamente o que seu sofware precisa fazer; Foco: Escrever o código mais simples que resolve o problema; Saber quando parar: Teste define quando se atinge o “suficiente”; Código mais limpo e organizado; Identificar o mais cedo possível problemas de regressão;  Segurança e refactoring sem medo.
TIPOS DE TESTES Teste Unitário Teste de Integração Teste de Sistema Teste de regressão
FERRAMENTAS .NET: MSTest (Visual Studio), Nunit, csUnit, xUnit.net Java: JUnit, Jtest Ruby: Test::Unit Python: PyUnit PHP: PHPUnit, SimpleTest JavaScript: JSUnit cppUnit Cunit Delphi: Dunit DBFit DBUnit
FERRAMENTAS HTMLUnit HTTPUnit Jmock Moq NDbUnit Nunit OUNIT TestNG VB: VBUnit XTUnit
BEHAVIOR DRIVEN DEVELOPMENT (BDD) ou DESENVOLVIMENTO GUIADO POR COMPORTAMENTO
HISTÓRIA Foi originalmente concebido em 2003, por Dan North como uma resposta à Test DrivenDevelopment. FRAMEWORKS JbehaveJava RbehaveRuby CucumberRspec
O que é bdd? Técnica de desenvolvimento ágil que encoraja colaboração entre desenvolvedores, setores de qualidade e pessoas não-técnicas.
Objetivo Objetivo do BDD é juntar o todas as boas práticas existentes sob uma só bandeira com uma terminologia consistente e sem ambiguidades.
Atingindo o Objetivo Definido um vocabulário comum (UbiquitousLanguage); Une quem entende de tecnologia com as pessoas que entendem do negócio.
UbiquitousLanguage Linguagem do  usuário/cliente . Manter uma única linguagem de domínio que seja entendível tanto para os desenvolvedores quanto para o cliente.
Príncipios A área de negócios e a de tecnologia precisam se referir a mesma parte do sistema da mesma forma- Tudo é comportamento Toda parte do sistema precisa ter um valor identificável e verificável para o negócio- Valor de negócio Analisar, projetar e planejar tudo de cima a baixo tem retorno decrescente.- O suficiente é suficiente
Vantagens Melhorentendimento do negócio do cliente; Desenvolvedor, cliente e analista se entendem; Reduçãoemerros de entendimento do negócio.
Tipos de Teste Teste Unitário Teste de Integração Teste de Sistema Teste de regressão Teste de aceitação
FERRAMENTAS ,[object Object]
ASSpec: ActionScript 3;
Bdoc: RubyonRails;
C++: CppSpec, Spec-cpp;
ColdFusion: cfSpec;
C: Cspec;
Delphi: dSpec;,[object Object]
Groovy: easyb, Gspec, tepec;
JavaFX: JFXtrasTest;
JavaScript: Jspec, JSSpec;
.NET: NBehave , Nspec, Nspecify, Nunit, Specter, StoryQ;
PHP: PHPSpec;
Python: Pyccuracy, Pyhistorian,PyCukes;,[object Object]
BIBLIOGRAFIAS http://jefferson.eti.br/?p=96BDD http://domaindrivendesign.org/node/132UbiquitousLanguage http://www.handersonfrota.com.br/ubiquitous-language/UbiquitousLanguage http://www.slideshare.net/ Slides http://pt.wikipedia.org/wiki/Test_Driven_Development TDD http://pt.wikipedia.org/wiki/Behavior_Driven_Development BDD

More Related Content

What's hot

Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCasting
Pedro Pereira Martins
 

What's hot (20)

Revisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaRevisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da cultura
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
 
RealDay: Introduction to TDD
RealDay: Introduction to TDDRealDay: Introduction to TDD
RealDay: Introduction to TDD
 
Conheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareConheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live Share
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de software
 
Desenvolvimento BDD
Desenvolvimento BDDDesenvolvimento BDD
Desenvolvimento BDD
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCasting
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do framework
 
TDD para Java EE
TDD para Java EETDD para Java EE
TDD para Java EE
 
BDD JBehave
BDD JBehaveBDD JBehave
BDD JBehave
 
BDD - Behaviour Driven Development
BDD - Behaviour Driven DevelopmentBDD - Behaviour Driven Development
BDD - Behaviour Driven Development
 
Tdd como uma ferramenta de arquitetura
Tdd como uma ferramenta de arquiteturaTdd como uma ferramenta de arquitetura
Tdd como uma ferramenta de arquitetura
 
Casperjs-tdc-2016.ppt
Casperjs-tdc-2016.pptCasperjs-tdc-2016.ppt
Casperjs-tdc-2016.ppt
 
Apresentação tdc 2016 - trilha de testes
Apresentação tdc   2016 - trilha de testesApresentação tdc   2016 - trilha de testes
Apresentação tdc 2016 - trilha de testes
 
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)
 
Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014
 
Tdd On Rails
Tdd On RailsTdd On Rails
Tdd On Rails
 
Vida longa ao legado
Vida longa ao legadoVida longa ao legado
Vida longa ao legado
 
Refatorar é preciso! 2.0
Refatorar é preciso! 2.0Refatorar é preciso! 2.0
Refatorar é preciso! 2.0
 

Viewers also liked

Testes automatizados (2)
Testes automatizados (2)Testes automatizados (2)
Testes automatizados (2)
cesarvianna
 

Viewers also liked (9)

Behaviour Driven Development
Behaviour Driven DevelopmentBehaviour Driven Development
Behaviour Driven Development
 
BDD - aula
BDD - aulaBDD - aula
BDD - aula
 
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)
 
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
 
BDD com Cucumber
BDD com CucumberBDD com Cucumber
BDD com Cucumber
 
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 

Similar to Bdd&tdd

Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
Carlos Gonzaga
 

Similar to Bdd&tdd (20)

TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
 
Instituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitáriosInstituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitários
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
 
BDD
BDDBDD
BDD
 
Engenharia Ágil
Engenharia ÁgilEngenharia Ágil
Engenharia Ágil
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Além do MVP com PHP - TDC POA 2015
Além do MVP com PHP  - TDC POA 2015Além do MVP com PHP  - TDC POA 2015
Além do MVP com PHP - TDC POA 2015
 
além do mvp com php
além do mvp com phpalém do mvp com php
além do mvp com php
 
Padrões Web & Code Standard
Padrões Web & Code StandardPadrões Web & Code Standard
Padrões Web & Code Standard
 
Behaviour driven development, com jbehave
Behaviour driven development, com jbehaveBehaviour driven development, com jbehave
Behaviour driven development, com jbehave
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
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
 
TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017
 
Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
 

Bdd&tdd