Sunday, April 19, 2020 - 8:30am to Monday, April 20, 2020 - 5:00pm
Implementing BDD and TDD
- Learn Behavior-Driven Development (BDD) and Test-Driven Development (TDD) through hands-on activities
- Build the right thing through collaboration and shared understanding
- Improve code coverage and quality in the code base
- Increase innovation, lower stress, lower risk, and lower bug count
If agile is correctly implemented, adding Behavior-Driven Development (BDD) to the development process will not be difficult. It is an enhancement, based on TDD, that can greatly increase the quality of the final product. With small incremental changes, BDD can give your team that fresh start and a new way of thinking that will take your programming to the next level.
In this hands-on course, you will learn the key concepts of BDD, including business and team effects, participant roles, difficulties and traps, and more. Leave being able to practice and promote BDD at your company with primary and supporting technologies, transitions to using BDD, and more.
Additionally, we will learn and practice Test-Driven Development (TDD), a technique that uses automated tests to drive the design of the code. TDD is a development technique that results in tremendous benefits - higher quality, better rapport with team members, less risk. Furthermore, it is very easy to get started.
Who Should Attend
This course is appropriate for anyone who is involved in the definition, development and quality assurance of software related products including customers, product owners, business analysts, SMEs, developers and testers. It is recommended that you are familiar with concepts of the agile methodology, as taught in our Fundamentals of Agile class, before taking this course. Please be aware there is significant time spent in developer-oriented technical coding exercises during this class.
In this workshop you will learn about testing application behavior through hands-on activities, exercises, discussions, and demos.
- Demonstrations and exercises using BDD
- Simulation of sprint planning incorporating BDD
- Presentations, discussions, and debate of BDD culture and mindset
- Discussion of transitioning into using BDD
- Convincing your team and management of its value
This class involves hands-on activities using sample software to better facilitate learning. Each student should bring a laptop with a remote desktop protocol (RDP) client preinstalled. Connection specifics and credentials will be supplied during class. Please verify permissions with your IT Admin before class. If you or your Admin have questions about the specific applications involved, contact our Client Support team.
Showing the outside-in illustration
Discovering user stories
Difference between user story and feature / terminology difficulty
Expounding on user stories
Final user story with acceptance criteria
Starting the implementation cycle
More detail on outside-in development
Common anti-patterns while writing scenarios
Avoid fragile scenarios
Developer or tester implements automation
Regex can be a pain
Reduce redundancy, but don’t be pedantic
Follow TDD first before completing feature steps
Clarity of the feature is paramount
The IDE and framework won’t always set up the best stub code
The IDE can be a very powerful tool
Primary and supporting technology
Primary technologies - Cucumber, Fitnesse, Concordion, Hiptest, etc.
Secondary technologies - Jenkins, Jira, Maven, Gradle
Understanding your cultural context
Westrum’s organizational types
Transitioning to BDD
Small incremental changes
Team and management buy-in
Fresh start - leaving behind the baggage
Simple and small
Class Daily Schedule
Sign-In/Registration 7:30 - 8:30 a.m.
Morning Session 8:30 a.m. - 12:00 p.m.
Lunch 12:00 - 1:00 p.m.
Afternoon Session 1:00 - 5:00 p.m.
Times represent the typical daily schedule. Please confirm your schedule at registration.
Training Course Fee Includes
• Course notebook
• Continental breakfasts and refreshment breaks
• Letter of completion