Jefferson Andrade - BDD - Behavior-Driven Development - ITA

  • 311 views
Uploaded on

Apresentação feita na disciplina de mestrado do ITA, CE-229 - Teste de Software, sobre BDD - Behavior-Driven Development. …

Apresentação feita na disciplina de mestrado do ITA, CE-229 - Teste de Software, sobre BDD - Behavior-Driven Development.
Jefferson Andrade - ITA.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
311
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
10
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Prof. Dr. Luiz Alberto Vieira DiasAluno: Jefferson Andrade de Oliveira Júnior2jefferson@gmail.comITA – PG/EEC-I – CE-229 – Teste de Software– Junho de 2013BDDBehavior-Driven Development
  • 2. AGENDAJefferson Andrade – CE-229 – BDD 2 / 30
  • 3. APRESENTAÇÃOJEFFERSON ANDRADE DE OLIVEIRA JÚNIOR@AndradeJeff3 / 30Jefferson Andrade – CE-229 – BDDEspecialista em Tecnologia – Imagem Soluções de Inteligência GeográficaCertificado Professional Scrum MasterCertificado Professional Scrum DeveloperCertificado Oracle Java Programmer (SCJP)Certificado Oracle Java Enterprise Architect (OCMJEA)Bacharel em Ciência da Computação – DCC/UFMGEspecialista em Engenharia de Software – DCC/UFMGMBA em Gerência de Projetos – FGV
  • 4. MOTIVAÇÃOJefferson Andrade – CE-229 – BDD 4 / 30“Não era bem isso que eu queria.” - Usuário“Informando estes valores não apareceu o resultadodesejado.” - Testador“Porque ficou azul quando eu informei 0 graus evermelho quando informei 100?” – Usuário“Para mim este comportamento de fechar a janelasem perguntar nada era óbvio neste caso de erro.” -DesenvolvedorEvitar frases do tipo:
  • 5. O QUE É BDD?5 / 30Jefferson Andrade – CE-229 – BDDBDD – Behaviour-Driven Development(Desenvolvimento Orientado ao Comportamento)Criado por:
  • 6. BDDBDD possui uma linguagem única para especificarcomportamentos.BDD é uma técnica de desenvolvimento ágil que visa integrarregras de negócios com linguagem de programação."Behaviour-driven development is about implementing anapplication by describing its behaviour from the perspective of itsstakeholders“.“It describes a cycle of interactions with welldefined outputs,resulting in the delivery of working, tested software that matters.”Behavior-driven development é uma versão especializada doTest-Driven Development que foca na especificação docomportamento das unidades de software.Jefferson Andrade – CE-229 – BDD 6 / 30
  • 7. CENÁRIOS DE NEGÓCIO7 / 30Jefferson Andrade – CE-229 – BDDStory: [Narrative]As a RoleI request a FeatureTo gain a BenefitScenarioGiven [Context]And [Some more context]When [Event]Then [Outcome]And [Another outcome]
  • 8. CENÁRIOS DE NEGÓCIO8 / 30Jefferson Andrade – CE-229 – BDDSubcategoria – EspecificaçãoCategoria Principal – User Story
  • 9. FORMAS DE IMPLEMENTAR9 / 30Jefferson Andrade – CE-229 – BDD• ManualUma estória de usuário ou especificação contém umou mais critérios de aceitação verificável (cenários)e estes contém casos de testes com valores reais.• AutomatizadaSemelhante ao manual, mas implementado atravésde ferramentas ou arcabouços que dão suporte aoBDD: RSpec (Ruby), Cucumber (Ruby), Jbehave(Java), SpecFlow (.Net).
  • 10. MANUAL10 / 30Jefferson Andrade – CE-229 – BDD
  • 11. AUTOMATIZADA – RSPEC (1/4)11 / 30Jefferson Andrade – CE-229 – BDD
  • 12. AUTOMATIZADA – RSPEC (2/4)12 / 30Jefferson Andrade – CE-229 – BDD
  • 13. AUTOMATIZADA – RSPEC (3/4)13 / 30Jefferson Andrade – CE-229 – BDD
  • 14. AUTOMATIZADA – RSPEC (4/4)14 / 30Jefferson Andrade – CE-229 – BDD
  • 15. AUTOMATIZADA – CUCUMBER (1/6)15 / 30Jefferson Andrade – CE-229 – BDD
  • 16. AUTOMATIZADA – CUCUMBER (1/6)16 / 30Jefferson Andrade – CE-229 – BDD
  • 17. AUTOMATIZADA – CUCUMBER (3/6)17 / 30Jefferson Andrade – CE-229 – BDD
  • 18. AUTOMATIZADA – CUCUMBER (4/6)18 / 30Jefferson Andrade – CE-229 – BDD
  • 19. AUTOMATIZADA – CUCUMBER (5/6)19 / 30Jefferson Andrade – CE-229 – BDD
  • 20. AUTOMATIZADA – CUCUMBER (6/6)20 / 30Jefferson Andrade – CE-229 – BDD
  • 21. AUTOMATIZADA – JBEHAVE (1/5)21 / 30Jefferson Andrade – CE-229 – BDD
  • 22. AUTOMATIZADA – JBEHAVE (2/5)22 / 30Jefferson Andrade – CE-229 – BDD
  • 23. AUTOMATIZADA – JBEHAVE (3/5)23 / 30Jefferson Andrade – CE-229 – BDD
  • 24. AUTOMATIZADA – JBEHAVE (4/5)24 / 30Jefferson Andrade – CE-229 – BDD
  • 25. AUTOMATIZADA – JBEHAVE (5/5)25 / 30Jefferson Andrade – CE-229 – BDD
  • 26. AUTOMATIZADA – SPECFLOW (1/2)26 / 30Jefferson Andrade – CE-229 – BDD
  • 27. AUTOMATIZADA – SPECFLOW (2/2)27 / 30Jefferson Andrade – CE-229 – BDD
  • 28. CONCLUSÕES28 / 30Permite a união do time de desenvolvimento, pois os testadores podemescrever os cenários de teste com BDD para os desenvolvedoresimplementarem.Gera uma documentação dinâmica.Permitir visão do todo, antes de redigir os testes, minimizando chancesde fracasso do projeto.Cenários de teste ficam claros e documentados para o usuário.Jefferson Andrade – CE-229 – BDD
  • 29. REFERÊNCIAS• http://dannorth.net/introducing-bdd/ acessado em 10/05/2013.• http://elabor8.com.au/blog/a-practical-blog-on-how-to-write-scenarios-using-bdd acessado em 10/05/2013.• http://www.slideshare.net/bkeepers/behavior-driven-development-with-cucumber-presentation acessado em10/05/2013.• http://www.slideshare.net/rkmael/introduo-a-bdd acessado em10/05/2013.• http://www.slideshare.net/dversaci/behavior-driven-development-bdd-and-agile-testing acessado em 10/05/2013.• Apresentação interna – Imagem – Fábio Piona.• Cucumber: http://cukes.info/ acessado em 13/06/2013.• RSpec: http://rspec.info/ acessado em 13/06/2013.• JBehave: http://jbehave.org/ acessado em 13/06/2013.• http://en.wikipedia.org/wiki/Behavior-driven_developmentacessado em 13/06/2013.• http://www.slideshare.net/IosifItkin/behavior-driven-development-pros-and-cons acessado em 13/06/2013.29 / 30Jefferson Andrade – CE-229 – BDD
  • 30. Jefferson Andrade de Oliveira Júnior2jefferson@gmail.comOBRIGADO!