Hello and welcome to the session in this session we are going to go very basic step by step from scratch and we're going to learn what is bdd how does a BDD process starts in an organisation we will look at three practices of BDD and we will see what is cucumber and how does cucumber fits into the BDD process in case you find the speed of this video too fast or too slow you can always control it from the player settings and with that lets get started and let us first see and understand what is
BDD it stands for behaviour driven development now we need to answer two questions what does it actually mean and why should we do BDD so here BDD is all about collaboration between teams and to be very specific it is collaboration between the business teams and the technical teams in any organisation we have business teams who understand the user's scenarios and the user module and how does our users interact with the applications and then we have technical teams where we have developers testers automation engineers who do the implementation part and usually there is a gap between
the understanding of business teams and Technical teams and BDD is all about bridging this gap so using a BDD process we can build a common understanding between the teams on the behaviour of the application and the BDD process generates a common documentation that can be understood by all the teams and all the stakeholders and this documentation serves as a single source of truth for all the teams in the organisation and in a moment I will show you how exactly this document is created or how this documentation is done if you look at a typical BDD
process in an organisation it starts with a user story so for any new change or enhancement or any addition in the application we create a user story in Agile process and a user story is an informal general explanation of a software feature written from the perspective of the end-user so once he have a user story we do a meeting between different teams and we have different disciplines of teams and people representing business teams and then developer teams or testing and QA team and we discuss about the user story this conversation and discussion on how the
system should behave there are some examples discussed created and then finally the examples are agreed upon and approved and then these examples are documented in a way that can be used for development and also for testing and automation and the same examples the document examples can be used by the business teams as well and then we finally go into the coding phase where the implementation is done based on the documented examples now in the coding phase we also create automation scenario automation test and these automation test guide the coding phase or guide the development in
a way that we have the automation test created which will fail because there is no code developed and eventually the code will be developed so that to make this automation scenario pass and therefore in BDD we have three practices or three phases the first one is Discovery then we have formulation and then finally we have automation in the discovery phase as we have seen the teams meet, Explorer and discuss on the user story and how the system should behave and the outcome of this phase is the agreed behaviour of the system then we move to
the formulation phase where based on the agreed system behavior Concrete examples are created that can be used for development and automation and the outcome of this phase is the documented examples and we can also have some acceptance tests created as the outcome of this phase of formulation finally We move to the automation phase where the coding is done based on the documented examples and here we also create automation scenario scenarios or tests taking one example at a time and this will guide the development and the outcome of this phase is the implemented code and the
automation tests so we have these three phases of practices in BDD process Discovery formulation and automation now we know that BDD is behaviour driven development and it is all about collaboration between teams and the process helps to build a common understanding between the teams on the behaviour of the application and bridge the gap and it generates a common documentation for all the teams and this documentation or documented examples is also called as living documentation which is an outcome of the team's shared understanding and this then further runs the runs and guide the development and automation
of the application this is called living documentation because this is the single source of truth now for all the teams and in future for any change or any new enhancement the teams can refer to this documentation so now let us move to what is cucumber cucumber is a tool that facilitates BDD so there are multiple tools that can be used in the process of BDD or to implement the process of BDD and cucumber is one of them so if you are practicing BDD in your organisation you may use cucumber to automate your documented examples or
we can say cucumber is a tool that understands your documented examples and can turn them into automated Tests in the coming session I will discuss how exactly a BDD process starts with the example and a workflow meeting and then further we will also discuss how BDD came into picture how BDD was born from TDD and how did it all started so this will be very interesting to know and now once you have understood this video and all the knowledge I have given in this video you can take the quiz on my website automation step by
step dotcom you will go there and find a QUIZ-section I will also add the link of the page in the description of this video OR the notes of this video do let me know your comments about this video in the comments section and I hope this all was very useful for you I will meet you in the next session of BDD Thank you for watching