Implementing BDD and TDD Course | STAREAST

Implementing BDD and TDD

Get hands-on experience with Behavior-Driven Development and Test-Driven Development

Providing practical experience with the techniques of Behavior-Driven Development (BDD) and Test-Driven Development (TDD), this hands-on course for developers, analysts, and testers covers business and team effects, participant roles, difficulties and traps, and more.

Upcoming Classes

Don't see a date that fits your schedule? Contact us for scheduling options at 929.777.8102


Select a learning mode button (Public, Live Virtual, etc.) for pricing, details, and a downloadable fact sheet.
Description
  • 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 they 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.
 
Hands-On Exercises
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
 
Laptop Required
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.
 
Questions? 929.777.8102 [email protected]
Course Outline
Introduction to BDD
General introduction to BDD concept
Show demo of running in Jenkins pipeline
Terminology
What problems this solve
Building the right thing
A word about communication
 
Benefits of usage
For testers
For developers
For business
For teams
Contrast of output and outcome
 
Case studies
 
Origins
Extreme Programming and TDD
Dan North extending TDD
 
Participation Roles
Business stakeholder
Developer
Tester
Special advisers
End users
 
Mindset and Culture
Communication isn’t easy
Collaboration
Sustainability
Maintainability and testability
Planning versus iterative experimentation
Colocation versus remote
Trust and empowerment
Marshmallow challenge
Zen Mindset
Psychological safety
Quality
Theory versus practice
Scenario collaboration
 
Difficulties and Traps
Misconceptions
Company culture preventing collaboration and trust
Changing existing precedent and culture is hard
Transitioning to a new technique will cause productivity drop
Poorly written scenarios can increase maintenance and derail progress
Not following Agile tenets
Practical Use
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
Well-written specifications
Poorly-written specifications
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
 
Cultural Context
Understanding your cultural context
Westrum’s organizational types
  • Pathological
  • Bureaucratic
  • Generative
 
Transitioning to BDD
Small incremental changes
Team and management buy-in
Fresh start -  leaving behind the baggage
Simple and small
 
Comparable techniques
Waterfall
V-Model
 

 

Questions?

On-Site/Private Training

Let us bring the learning to your team at your location or in an interactive virtual classroom!
Choose from more than 50 courses.

Combine World-Class Training and

Certification with a Conference

Maximize Your Learning Potential

STAR Conference logo

Agile + DevOps Conference logo