BDD in Action
As I Joined Moolya in the month of September 2018 and working on a Client Project, I have encountered many new things which I never experienced before.
One of the Topic is Feature Files and Step Definitions.
Now, for every new learning. I think and co-relate them to Golden Circles.
WHY - I Wanted to know why Feature Files and Step Definitions are Built, What is the Usage of doing them in the Software Development Process.
HOW - I wanted to know how they are built, and I started looking for books to read, asking the testing community about what to read and learn about them.
WHAT - Started reading the Book: "BDD In Action". Now, Completed Chapter -1 from the Book.
Highlights from Learning:
One of the Topic is Feature Files and Step Definitions.
Now, for every new learning. I think and co-relate them to Golden Circles.
WHY - I Wanted to know why Feature Files and Step Definitions are Built, What is the Usage of doing them in the Software Development Process.
HOW - I wanted to know how they are built, and I started looking for books to read, asking the testing community about what to read and learn about them.
WHAT - Started reading the Book: "BDD In Action". Now, Completed Chapter -1 from the Book.
Highlights from Learning:
- Creator of BDD - Dan North
- Why Building Software makes a difference - Building Software right vs Building right Software.
- BDD tools can help turn these requirements into automated tests that help guide the developer, verify the feature, and document what the application does.
- BDD isn’t a software development methodology in its own right. It’s not a replacement for Scrum, XP, Kanban, RUP, or whatever methodology you’re currently using.
- BDD incorporates, builds on, and enhances ideas from many of these methodologies.
- How BDD In Action improves the software development process, eliminates the uncertainty and locks down the requirements.
- BDD Principles and Practices
- Gherkin style of writing Features in a Feature Files (Given, When, Then, And, But)
- Scenarios and Examples
- Writing an executable specification for each step in scenarios: Step Definitions (High Level)
- Writing unit tests for the high-level specifications. (Low-Level Executable Specifications ~ Unit Tests)
- Tools to use for writing High-Level Executable Specifications in general and in Project
- Tools to use for writing Low-level Executable Specifications in general and in Project.
- Benefits and Potential Challenges with BDD.