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.
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.
- 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
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 TDD Immersion Day 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.
Chris 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.”
Matt 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!"
Attendee from Liverpool FC
"Marcello delivered the tailored training in a manner that was clear for all members of the team. He was open to questions at all points and went out of his way to ensure the material was understood. Additionally to the slides and exercises were techniques to improve our understanding and implementing changes to our development process and examples from real world applications."
Marcelo Duarte, Head of Training
Marcello 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.
Ciaran McNulty, Training Manager
Ciaran 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.