Why this course?

This one-day intensive workshop will help you understand how to use Test Driven Development in your PHP projects. A mix of theory and practice using real cases, this workshop is the first step to making you a TDD expert.

The course is delivered by industry-leading TDD and BDD experts Marcello Duarte and Ciaran McNulty.

Register your interest >>          Download the course PDF

Public or bespoke team training

We provide both public and bespoke team TDD training courses, in order to cater for individuals as well as internal development teams. You can find out more about our public training courses, which take place in London roughly once per month here, or you can read about the team training course below.

Why Inviqa?

The Inviqa team are expert TDD practitioners and have applied it to some of the UK’s most complex digital projects. Marcello and Ciaran will share advice and best practice perfected through years of experience.

Inviqa has also provided training to technical teams from some of the world’s most recognisable brands including The BBC, Estee Lauder, Nokia and PZ Cussons.

Why you should care about TDD

  • TDD makes customers happy. You start with the top priority features and work on them instead of wasting time on superfluous code.
  • TDD eliminates that scary scenario in the middle of a testing cycle when code breaks for no apparent reason and you have to spend days with the debugger trying to find out where the issue is.
  • TDD ensures that all features will be thoroughly tested before deployment, unlike with ‘code first test later’ approach, where testing might not keep up with the addition of new features.
  • TDD cuts down on maintenance costs as the test cases give developers a thorough understanding of the system.

Essentially, if you want code that is testable, modular, simple and easy to read you will want to go with Test Driven Development.

In other words, TDD = High quality code

What this course covers

Session 1 - PhpSpec Tutorial

9:00 - 10:45 - PhpSpec is a PHP development tool that aids you in understanding how code should be designed. This tool lets you generate or edit specs, run specs, generate code and edit code.

You will take a deep dive into various features of PhpSpec like Matchers and Formatters and learn techniques like decoupling code using PhpSpec. This session will be helpful for both beginner and experienced testers.

Session 2 - Coding Kata

11:00 - 12:30 - For 90 minutes we will pair you up with another participant and let you get your hands dirty. You will practice TDD techniques using simple examples and will be taught how Pair Programming works, including how to pair correctly and what each role entails.

Pair Programming is a valuable technique in the context of TDD because talking and working with another developer gives you the clarity needed to write out the tests and follow through with multiple test-code-refactor cycles.

Session 3 - Driving composition with Mock Objects 

13:30 - 14:20 - In TDD mock objects are special test doubles that are used as stand-in for real objects during testing. A mock object helps developers check whether the output of an object is along expected lines.

This session will teach you how to create mock objects using language frameworks. It will also teach you how to handle other test double patterns like dummy, fake and stubs which are used during TDD. 

Session 4 - TDD guided exercises

14:30 - 17:00 - The trainers will lead you through multiple exercises that are aimed at bringing everything together and applying what you have learnt so far in a real world context.

These exercises will help clear any doubts you have about TDD and give you enough confidence so that you can start using this approach in your workplace. 

Who is the course for?

The Introduction to TDD course is ideal for developers who are aware of the benefits of TDD, but are not yet confident in using it in real projects. 

The main aim of this course is to help developers build quality into the applications they're building. This course is specifically focused on getting people into the TDD mindset / workflow.


feeluniqueChris Daniells, Feel Unique

“This course was very helpful, informative and presented in a format that is relatable and inspiring. Ciaran is engaging and very knowledgeable, always willing to lend a hand regardless of your experience level.” 

cl4uMatt Davis, Carloan4you

"I went from only a small amount of experience with PhpSpec to being comfortable writing specs first, testing, and improving my code without any fear of breaking it. I highly recommended the tutorial session for both new and experienced testers! The session has really left me test-infected!"

Meet the trainers

Marcello Duarte, Head of Training

marcelloMarcello heads Inviqa’s training practice and leads the development of PhpSpec, a popular BDD framework. As an Agile coach, Marcello has coached many teams in many organisations into Agile processes and development practices like Scrum, TDD, Refactoring, Collaborative Product Ownership and Software Quality. Marcello was also awarded Best Technical Agile Coach/Mentor at the UK Agile Awards in November 2014.

Ciaran McNulty, Training Manager

cmCiaran is a major part of Inviqa’s training practice in the UK. He has worked with PHP since the late 90s and has delivered training to our clients on technical subjects such as OOP and OOD, methodologies including TDD, BDD, and workflow techniques such as Scrum, Kanban and Business Discovery.

 Your trainers may vary dependant on the date of the training.

Register your interest or ask a question

We also have public TDD training courses running throughout the year, you can find out more or book your place here >>