John is an experienced consultant specialising in Enterprise Java, Web Development, and Open Source technologies, currently based in Sydney, Australia. Well known in the Java community for his many published articles, and as author of Java Power Tools and Jenkins: The Definitive Guide, and founder of the open source Thucydides Automated Acceptance Test Library project, John helps organisations to optimize their Java development processes and infrastructures and provides training and mentoring in agile development, automated testing practices, continuous integration and delivery, and open source technologies in general. John is the CEO of Wakaleo Consulting, and runs several Training Courses on open source Java development tools and best practices. John is a DZone MVB and is not an employee of DZone and has posted 125 posts at DZone. You can read more from them at their website. View Full User Profile

Hone up your BDD skills in 2014!

01.13.2014
| 668 views |
  • submit to reddit

We have an exciting training schedule lined up for 2014, with the introduction of a new workshop on Automated Web Testing with Selenium/WebDriver 2 and Thucydides, and updated course material in our other BDD master classes. Here is the line-up of what's on offer over the next few months in Sydney and Melbourne.

 

BDD Requirements Workshop (1 day)

Behaviour Driven Development, Specification By Examples, Acceptance-Test Driven Development: call it what you will, it is the most effective way we know today to get teams imagining, designing and delivering high value products that will make a difference to your business.

Behaviour Driven Development (BDD) is an approach than helps teams focus on defining and delivering features with demonstrable business value. Teams using BDD think about requirements in terms of “executable specifications", a much more precise and collaborative approach to requirements analysis than more traditional methods.

This one-day workshop is an intensive introduction to fundamental BDD practices, a vital skill for anyone involved in software development today. It is run as a public course, but can also be delivered as a tailored, on-site workshop. It is aimed at cross-functional teams from all horizons, and will be equally useful to product owners, BAs, testers and developers.

Course outline

The topics covered during the workshop include:

  • Principles of Agile Requirements Gathering
  • From Business Value to Features
  • Using Feature Injection to discover features and stories
  • The art of writing Executable Specifications
  • Defining good acceptance criteria
  • Principles of incremental design and agile architecture
  • Real Options and Deliberate Discovery
  • Discovering and implementing features
  • Reporting on progress and status
  • Functional Coverage - mapping acceptance tests to requirements
  • Overview of BDD tools for different technologies
  • Demonstration of real-world BDD practices and tools

BDD Development Practices Workshop (2 days)

Test Driven Development (TDD) is a cornerstone of good modern development practices. Good TDD practices can reduce defects by 90% or more, promote better design, make the code easier to understand, to change and cheaper to maintain. But it is hard to master without help.

This workshop will give your team a solid grounding in practical TDD, no matter what language they use or what background they come from. 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. Return on investment is immediate - these are skills that every developer needs to master.

This workshop teaches the principles of TDD and BDD, which are applicable in any modern programming environment. We discuss TDD/BDD tools for Java, .NET and JavaScript, and students have the option of doing the labs in the language of their choice, and even bringing their own laptops.

Course outline

  • Principles of Agile Requirements Gathering
  • Discovering and defining requirements, BDD-style
  • Writing high-level executable specifications (JBehave, Cucumber, SpecFlow)
  • Introducing Test Driven Development, BDD-style
  • Unit tests as executable specifications 
  • Writing high quality unit tests (JUnit, NUnit, Spock, NSpec, Jasmine)
  • Unit tests as living technical documentation
  • Data-driven testing
  • Interaction-based testing (mocks, stubs, doubles)
  • London-style TDD: discovering system design using mocks
  • Refactoring strategies
  • TDD for legacy code

Automated Acceptance Testing with WebDriver and Thucydides (1 day)

Today's web applications are increasingly rich and sophisticated, and time-to-market pressure is ever increasing. Projects can no longer afford long manual testing cycles for each release. No modern web application project can hope to deliver reliably and rapidly without high quality automated web tests.

This intensive one-day workshop will teach you how to write solid, reliable, and maintainable automated web tests using the best-of-breed open source technologies like Selenium WebDriver and Thucydides. It will teach you how both testers and developers can collaborate to write more effective automated acceptance and regression tests. And you will learn how these automated tests can fit in to the overall development process to help speed up delivery and reduce both cost and time to market.

Course outline

     
  • Introduction to automated web testing  
  • Types of automated web testing  
  • WebDriver fundamentals  
  • Identifying page elements  
  • The Page Objects pattern  
  • Working with AJAX  
  • Writing sustainable web tests  
  • Writing meaningful tests  
  • Structuring your web tests for reuse and ease of maintenance  
  • Organizing requirements with Thucydides  
  • Feature Coverage  
  • Requirements-level reporting  
  • Release-level reporting  
  • Integrating with external tools

Course locations and dates

Date Course Location Price Book
18 Feb 2014 Advanced Agile Requirements Practices Sydney

Early-Bird $800

Full Price $900

Eventbrite - Advanced Agile Requirements Practices Workshop (Sydney)
19-20 Feb 2013 BDD in Action Master class Sydney

Early-Bird $1600

Full Price $1800

Eventbrite - BDD in Action: Advanced TDD/BDD Master class (Sydney)
25 Feb 2014 Automated Web Testing with WebDriver and Thucydides Sydney

Early-Bird $800

Full Price $900

Eventbrite - Automated Web Testing with WebDriver and Thucydides (Sydney)
4 Mar 2014 Advanced Agile Requirements Practices Melbourne

Early-Bird $800

Full Price $900

Eventbrite - Advanced Agile Requirements Practices Workshop (Melbourne)
5-6 Mar 2014 BDD in Action Master class Melbourne

Early-Bird $1600

Full Price $1800

Eventbrite - BDD in Action: Advanced TDD/BDD Master class (Melbourne)
11 Mar 2014 Automated Web Testing with WebDriver and Thucydides Melbourne

Early-Bird $800

Full Price $900

Eventbrite - Advanced Agile Requirements Practices Workshop (Melbourne)
0
Published at DZone with permission of John Ferguson Smart, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Tags: