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.

Introduction to BDD

1.377 visualizações

Publicada em

BDD is about implementing the software by describing its behavior from the perspective of its stakeholders, and customers.

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Introduction to BDD

  1. 1. An Introduction to BDD Gaurav Shukla Software Consultant Knoldus Software LLP Gaurav Shukla Software Consultant Knoldus Software LLP
  2. 2. Agenda ● Workflow of TDD ● What is BDD ● Outside-In methodology ● Pull based approach ● Living document ● What BDD is not ● Tools supports BDD ● Reference
  3. 3. Workflow Of TDD
  4. 4. What is just happening? ● Their is a mind set, ● Which causes the testing cuts,
  5. 5. Why testing gets Cuts, ● Question: if the business owner has envisioned the system’s behaviors at the start, what is the need to spent time in testing the actual behavior works? ● Answer : Tests are often not seen as shared capital; they are not thought of as having value to the project, because “they’re just for the engineers”, or similarly, providing value to a single one department or group of people. ● How do we make tests this shared capital? The simple answer is BDD.
  6. 6. What is BDD ● Short definition:- BDD is about implementing the software by describing its behavior from the perspective of its stakeholders, and customers. - Dan North ● More complete:- A second generation, outside-in, pull based multiple stakeholder, multi scale, high automation agile methodology. It describe the cycle of interaction with well defined outputs resulting in delivery of working tested software that matters. - Dan North
  7. 7. ● Requirement comes in the form of user stories Outside-In methodology
  8. 8. Pull based is better than push based ● Push based approach: deliver things with deadline – You have to develop this by last week. ● Pull based approach: – The stories are prioritized by bussiness value. – The team commits to stories on the priority basis. – A deep backlog is available. – Pulling requires outside in communication.
  9. 9. The Pull Cycle ● Stakeholders add business values prioritized story in the backlog. ● Developer pulls the highest priority story, to work on that in a sprint. ● Developers/QA demonstrate completed stories as Runnable Tested Feature (RTF). ● Business owner pull that RTF's and release as an update of the software.
  10. 10. Living Documentation ● Living documentation is a dynamic method of system documentation that provides information that is current, accurate and easy to understand. ● Feature files that are written in a natural language format may serve as the core of living documentation. ● Each file describes how a particular piece of code is supposed to behave, gives an example and describes the desired outcome. ● The process of testing ensures that the associated documentation is always up to date.
  11. 11. What BDD is not.. ● It's just an unit testing with another framework. ● Using Given, When and Then. ● The responsibility of a tester. ● An alternative to Manual Testing.
  12. 12. Tools supports BDD ● Cucumber (Ruby framework) ● Behat (PHP framework) ● Jasmine (JavaScript testing framework) ● Concordion (Java framework) To be continued...
  13. 13. References http://searchsoftwarequality.techtarget.com/definition/living-documentation https://www.toptal.com/freelance/your-boss-won-t-appreciate-tdd-try-bdd https://en.wikipedia.org/wiki/Behavior-driven_development http://searchsoftwarequality.techtarget.com/definition/living-documentation https://www.toptal.com/freelance/your-boss-won-t-appreciate-tdd-try-bdd https://en.wikipedia.org/wiki/Behavior-driven_development
  14. 14. Thank You !!!