Writing high quality automated tests that are easy to read, easy to extend and easy to maintain is a demanding task that requires excellent software development skills. Practices such as Clean Coding, the SOLID principles of software design, design patterns, refactoring are just as important in test automation as they are when writing production code. This course is designed for both manual testers with basic Java knowledge, and more experienced Engineers in Test who want to take their learning to the next level.

The course assumes a basic knowledge of Java programming, and covers more advanced Java development and testing techniques, including design patterns, test driven development, unit testing tools and clean coding practices.

Course Curriculum

  • 1

    Introduction

    • Overview

    • Programme overview

    • Setting up your environment

    • Setting up your environment

    • Using IntelliJ

    • Using Eclipse

  • 2

    The Builder Pattern

    • Builder Basics

    • Introducing the problem domain

    • Limitations of default constructors and setter methods.

    • Parameterised constructors and their limitations

    • Builders in action

    • Exercise

    • Builders with mandatory and optional values

    • Exercises

    • External builders and prototypes

    • Exercise

    • Quiz

  • 3

    Expressing your expectations using Hamcrest Matchers

    • Expressing your expectations using Hamcrest Matchers

    • Quiz

    • Exercises

  • 4

    Basic Design Patterns

    • The Single Level of Abstraction Principle

    • Polymorphism in Action

  • 5

    The Strategy Pattern

    • Introduction to the Strategy Pattern

    • Exercises

    • Using the Strategy pattern with Factories

    • Exercises

    • Strategies and Functions (part 1)

    • Exercises

    • Strategies and Functions (part 2)

    • Strategies and Lambdas

    • Exercises

About the instructor

Author of BDD in Action

John Ferguson Smart

John is an international speaker, consultant, author and trainer well known in the Agile community for his many books, articles and presentations, particularly in areas such as BDD, TDD, test automation, software craftsmanship and team collaboration.John helps organisations and teams around the world deliver better software sooner through more effective collaboration and communication techniques, and through better technical practices.John is the author of the best-selling BDD in Action, as well as Jenkins: The Definitive Guide and Java Power Tools.Very active in the Open Source community, John also leads development on the innovative Serenity BDD test automation library, described as the "best opensource selenium webdriver framework".