John Ferguson Smart

Upcoming Public Courses

BDD in Action: Advanced TDD/BDD Masterclass

This two day course is a practical and hands-on introduction to Test Driven Development and Behaviour Driven Development. Students will learn how to write high-quality unit tests, or more precisely, “executable specifications”, to write better designed, more maintainable and more reliable code. Students will also discover how BDD helps keep development focused on the real requirements, resulting in a higher quality product for the end user. These are skills that every developer needs to master.

This workshop focuses on the approach as much as the tools themselves, and will discuss TDD tools for both JAVA and .NET. Students will have the option of doing the labs either in Java (JUnit, Mockito, Spock) or .NET (NUnit, Moq, Specflow). This is above all a practical, hands-on workshop and we believe that the best way to learn BDD and TDD is by doing. The course contains approximately 60-70% lab work.

Test Driven Development (TDD) is an essential technical skill for any modern development team. But TDD is notoriously hard for teams to adopt effectively without experienced guidance. The first steps are the hardest, and can decide whether TDD adoption will succeed or fail within the organisation. Don’t leave it to chance! Let an expert practitioner put you on the right track!

Test Driven Development (TDD) is a core agile practice that underlies Agile development methodologies such as Scrum and XP. Behaviour Driven Development takes TDD further, making it more effective and easier to use. Some of the benefits of TDD/BDD include:

  • Fewer defects! Teams practicing TDD regularly report 90% or more fewer bugs, significantly reduced maintenance costs, as well as higher quality, easier to understand, more flexible code.
  • For developers, Behaviour Driven Development is a form of Test Driven Development that makes TDD easier to learn, easier (even fun!) to practice, and that results in higher quality, more focused, and more effective tests.
  • Teams also experience a significant reduction in manual testing effort, especially when combined with automated acceptance testing.
  • BDD encourages developers to write tests in the form of executable specifications. The unit tests act as comprehensive regression tests, making the code much easier and safer to change, and also provides illustrated examples of how to use the services and APIs in your application.
  • To ensure an optimal learning experiences, class sizes are limited. Book early!

If you are interested in attended this course but would first like to see a taster of John in action then an online introductory course to web testing is available here.

BDD in Action by John Smart

All attendees will receive a complimentary copy of John’s bookBDD in Action: Behavior-driven development for the whole software lifecycle.



Book Course