- [Instructor] This course is designed to provide you with a high-level overview of behavior-driven development principles. To get the most out of this course, it would be helpful to have some familiarity with the foundational concepts that behavior-driven development is based on. Agile is an approach to software development that greatly enhances the BDD process. For proper context, knowledge of agile will provide some clarity to the course content. If you're not familiar with this topic, or would like to brush up on agile, please take a look at the course Agile Methodologies.
This course will mostly be theory-based. However, we will be using the BDD tool known as Cucumber to execute tests from the command line and help illustrate some concepts. While it is not necessary to follow along in the execution of Cucumber tests to gain value from the course, if you'd like to run these tests on your own, you should have a basic understanding of how to navigate the command line. To learn the basics of command line navigation, take a look at Learning Linux Command Line.
We will also be using the Ruby programming language to demonstrate how Cucumber works. It is not necessary to be proficient in Ruby to work with Cucumber, but it can most certainly be helpful. To fully understand the portion of the class dedicated to Cucumber testing, it would be in your best interest to have a basic knowledge of programming. If you would like to learn more, I recommend the course Ruby Essential Training.
- What is behavior-driven development?
- Agile and BDD
- BDD examples
- BDD frameworks
- Defining scenarios
- Domain modeling
- Enforcing object-oriented design
- BDD process: Behavior before function