O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

DDD + BDD + TDD - RF 2015

3.495 visualizações

Publicada em

Apresentação dos Conceitos de Linguagem Úbiqua, BDD e TDD

Publicada em: Tecnologia
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/qURD } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/qURD } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download doc Ebook here { https://soo.gd/qURD } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • DOWNLOAD THAT BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book that can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer that is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story That Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money That the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths that Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • DOWNLOAD THAT BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book that can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer that is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story That Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money That the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths that Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • If you want to download or read this book, copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

DDD + BDD + TDD - RF 2015

  1. 1. @bregaida eduardo.bregaida@reservafacil.tur.br
  2. 2. BDD
  3. 3. 
 Mas o que é DDD?
  4. 4. • DDD?
  5. 5. • DDD? • DDD?
  6. 6. • DDD? • DDD? • DDD?
  7. 7. • DDD? • DDD? • DDD? • DDD?
  8. 8. • DDD? • DDD? • DDD? • DDD?
  9. 9. Havia um grande local cheio de aeronaves de um ricaço que morreu. James, seu sobrinho, herdou este local e decidiu que queria abrir um negócio. Uma loja de aeronaves. E para isso era necessário um sistema...
  10. 10. E aí Bregaida, beleza? Estou precisando de sua ajuda mais uma vez, preciso de um sistema para minha loja de aeronaves.
  11. 11. Domain-Driven Design
  12. 12. Domain-Driven Design
  13. 13. Teremos Tupis, Cherokees, Aeroboeiros, Paulistinhas e outras aeronaves, com diferentes capacidades e potências.
  14. 14. ?
  15. 15. Hum... Então se eu fizer CapacidadeTO estender de AbstractAeronave, acho que vai dar certo
  16. 16. ?
  17. 17. Domain Negócio Complexo Problema Real Pessoas Linguagem de Negócio
  18. 18. Conversa Sobre o domínio Para criar um sistema
  19. 19. Conversa Sobre o domínio Para criar um sistema Precisamos falar a mesma língua!
  20. 20. Língua Ubíqua (Ubiquitous Language)
  21. 21. Temos hangares aqui no nosso espaço, com vários aviões diferentes...
  22. 22. Nosso cliente chegará no Hangar e usará o sistema para encontrar os melhores aviões para sua necessidade.
  23. 23. Por exemplo, temos aviões de diferentes cores e capacidades.
  24. 24. Normalmente o cliente também pode escolher pela empresa fabricante (Embraer, Piper, Aviat, etc)
  25. 25. Aviao -Cor -Capacidade - Fabricante Cor -Nome Capacidade (Potência, Quantidade Passageiros) Fabricante (Piper, Embraer, Aviate, Boeing, etc)
  26. 26. Isso mesmo e nossos aviões possuem um nome e um prefixo que é sua identificação no Brasil.
  27. 27. Aviao -id -Nome -Cor -Capacidade - Fabricante Cor -Nome Capacidade (Potência, Quantidade Passageiros) Fabricante (Airbus, Embraer, Piper, Boeing, etc)
  28. 28. Exatamente, mas nosso cliente vai mesmo querer pesquisar por Fabricante e nome da aeronave.
  29. 29. Aviao -Prefixo -Nome -Cor -Capacidade - Fabricante Cor -Nome Capacidade (Potência, Quantidade Passageiros) Repositório de aviões buscarPorNome buscarPorFabricante Fabricante (Airbus, Embraer, Piper, Boeing, etc)
  30. 30. Aliás outra busca que quero é dado um avião quero saber quais os aviões com mesma potência.
  31. 31. Creio que com esse nosso repositório fica mais fácil de saber, né?
  32. 32. Aviao -Prefixo -Nome -Cor -Capacidade - Fabricante -AviõesComMesmaPotência Cor -Nome Capacidade (Potência, Quantidade Passageiros) Repositório de aviões buscarPorNome buscarPorFabricante Fabricante (Airbus, Embraer, Piper, Boeing, etc)
  33. 33. public class Aviao { private Long id; private String nome; private Fabricante fabricante; private Cor cor; private Capacidade capacidade; }
  34. 34. public class Fabricante { private String nome; //getters & setters } public class Cor { private String nome; //getters & setters } public class Capacidade { private String potencia; private String quantidadePassageiro; //getters & setters }
  35. 35. Repositório... BD? DAO? O que nosso cliente quer?
  36. 36. public interface AviaoRepository { List<Aviao> getTodosAvioes(); List<Aviao> getAvioesPorNome(String nome); List<Aviao> getAvioesPorFabricante(Fabricante fabricante); List<Aviao> getAvioesPorCapacidade(Capacidade capacidade); Aviao getAviaoPorId(Long id); }
  37. 37. Como implementar o Repositório?
  38. 38. Poxa é isso mesmo que eu queria, está ficando muito bom, porém esqueci que quero hangarar juntas as aeronaves com a mesma potência.
  39. 39. Model Código
  40. 40. Model Código
  41. 41. public class Aviao { //Códigos anteriores... public boolean possuemMesmaPotencia(Aviao outroAviao){ return this.capacidade.getPotencia().equals(outroAviao.getPotencia()); } }
  42. 42. Domain-Driven Design • Voltado (driven) totalmente ao problema a ser resolvido (domain) • Ubiquitous Language • Funciona muito bem com Agile • Modelos ricos (não anêmicos) • Nomes importam!
  43. 43. Não importa a tecnologia. O que importa é o domain.

  44. 44. http://image.slidesharecdn.com/bddextent20111029-111113010328-phpapp01/95/behavior-driven-development-pros-and-cons-5-728.jpg?cb=1321171622
  45. 45. 
 Mas o que é BDD?
  46. 46. O que é BDD? • Foca no comportamento do sistema; • Visando desenvolvimento voltado a testes; • Usam uma linguagem comum como visto no DDD; • Beneficia os desenvolvedores e os usuários de negócio; • Comporta vários cenários; • Não apenas o que uma determinada função deve fazer; • Possui aspectos do DDD e conceitos fundamentais do TDD.
  47. 47. Como fazer? • Narrativa/Estória: (Nome) • Para (Valor ao Negócio) • Eu, como (Papel) • Desejo poder realizar (Funcionalidade) • Story: … • In order to … • As a … • I want to …
  48. 48. • Narrativa/Estória: Busca Por Aeronaves • Para meu sistema de vendas de aeronaves • Eu, como cliente • Desejo poder realizar buscas por nome das Aeronaves Exemplo
  49. 49. O que mais? • Cenários: (Nome) • Dado que (Estado inicial do sistema) • Quando (Ação a ser realizada) • Então (O que deve fazer após a ação) • Scenario: … • Given a … • And … • When … • Then …
  50. 50. Exemplo • Cenário I: Busca Aeronaves por nome • Dado que meu cliente digite o nome da Aeronave • Quando clicar no botão buscar • Então o sistema deverá retornar todas as aeronaves disponíveis com aquele nome.
  51. 51. TDD
  52. 52. 
 Mas o que é TDD?
  53. 53. O que é TDD ou Test Driven Development? • É uma técnica de desenvolvimento de software baseada em um ciclo curto de repetições. • Escrevendo seus testes antes de escrever o código de produção. • Ao escrever primeiro os testes: • Garantimos uma boa qualidade no código (mínimo de sujeira e códigos esquecidos que nunca serão utilizados). • Garantimos o funcionamento do que está sendo implementado. • Não precisamos saber tudo de uma vez, conforme eu desenvolvo um teste, crio e implemento as classes que serão utilizadas.
  54. 54. TDD - Test Driven Development • Escreva um teste que falhe; • Faça-o passar da maneira mais simples possível; • Refatore o código. • É conhecido como CicloVermelho-Verde-Refatora (Red - Green - Refactor).
  55. 55. BDD + TDD
  56. 56. Ferramentas • ASSpec • BDoc • BDD para Python • Behat - PHP • Bumblebee - Extrai documentação de testes escritos com JUnit. • beanSpec - Java • Calabash - Permite rodar testes em aplicativos móveis para Android e iOS • CppSpec - C++ • cfSpec - ColdFusion • CSpec - C • dSpec - Delphi • Concordion - Ferramenta de testes automatizados em Java para fazer BDD usando textos em HTML para descrever comportamentos. • Cucumber - (Java, .NET, Ruby, Flex ou qualquer aplicação web através do Watir ou Selenium) • easyb - Groovy/Java • EasySpec - Groovy, usável em Java • GSpec - Groovy • Instinct - Java • JavaStubs - Java - Framework de BDD com suporte a Mock e Method Stubbing • JBee - Java • JBehave - Java E muitas outras… https://pt.wikipedia.org/wiki/Behavior_Driven_Development#Ferramentas
  57. 57. Referências • https://en.wikipedia.org/wiki/Behavior-driven_development • http://eduardopires.net.br/2012/06/ddd-tdd-bdd/ • http://sobrecodigo.com/wp-content/uploads/2011/03/tdd_bdd.png • http://www.princiweb.com.br/blog/programacao/tdd/tdd-ddd-e-bdd-praticas-de-desenvolvimento.html • http://www.hascode.com/2011/05/oh-jbehave-baby-behaviour-driven-development-using-jbehave/ • http://arnauld.github.io/incubation/jbehave-get-started/bdd-cycle-around-tdd-cycles.png • https://anoopjshetty.files.wordpress.com/2012/03/bdd.png • https://pt.wikipedia.org/wiki/Behavior_Driven_Development#Ferramentas • http://www.ianbicking.org/ • http://docs.behat.org/en/v2.5/ • http://www.agileandart.com/2010/07/16/ddd-introducao-a-domain-driven-design/ • http://pt.slideshare.net/engenhariadesoftwareagil/ddd-domain-driven-design-5139191 • http://pt.slideshare.net/rponte/entendendo-domaindriven-design?related=1 • http://pt.slideshare.net/giovanni.bassi/programando-com-prazer-com-ddd?related=2 • http://pt.slideshare.net/eduardo.bregaida/ddd-linguagem?related=3 • http://www.infoq.com/br/domain-driven-design • http://martinfowler.com/tags/domain%20driven%20design.html • http://www.methodsandtools.com/archive/archive.php?id=97
  58. 58. Referências II• http://www.infoq.com/br/news/2014/09/dddx-evans-challenging • https://skillsmatter.com/conferences/1776-ddd-exchange-2014 • https://en.wikipedia.org/wiki/Domain-driven_design • http://martinfowler.com/bliki/UbiquitousLanguage.html • http://www.buscape.com.br/domain-driven-design-atacando-as-complexidades-no-coracao-do-software-2-ed-2011-eric- evans-8576085046.html#precos • http://javawora.blogspot.com.br/2012/05/tdd-test-driven-development.html • https://pt.wikipedia.org/wiki/Test_Driven_Development • http://www.devmedia.com.br/test-driven-development-tdd-simples-e-pratico/18533 • http://tdd.caelum.com.br/ • http://tableless.com.br/tdd-por-que-usar/ • http://blog.thiagobelem.net/aprendendo-tdd-ou-desenvolvimento-orientado-a-testes/ • http://www.casadocodigo.com.br/products/livro-tdd • http://agiledata.org/essays/tdd.html • http://www.desenvolvimentoagil.com.br/xp/praticas/tdd/ • http://imasters.com.br/artigo/24242/desenvolvimento/principios-de-test-driven-development-tdd/ • http://www.johnidouglas.com.br/wp-content/uploads/2014/02/tdd-post.png • http://pt.slideshare.net/IosifItkin/behavior-driven-development-pros-and-cons • https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcTAodyDP0DbiRihtiJcWt_slpWtYj4ynHENiYutmBWyXIA4HUSm
  59. 59. Dúvidas?
  60. 60. Obrigado!Eduardo Bregaida - @bregaida eduardo.bregaida@reservafacil.tur.br http://javawora.blogspot.com.br

×