Test Doubles without Tears (Marco Consolaro & Alessandro Di Gioia)


Details
Introduction:
Join us for a focused session on the practical use of test doubles popularised by the London School of TDD, where we will also demonstrate it in real-time. The session will be live coding: Morse Code Kata.
Learning Outcomes:
• Differentiate between Dummies, Mocks, Stubs, Fakes, and Spies.
• Understand the concept of Command/Query separation in software design.
• Choose the appropriate Test Doubles to drive the implementation.
• Utilize Ports and Adapters as a design tool.
• Apply the Microsoft System Speech API in a coding example.
Session Breakdown:
(1) Test Doubles Overview
- Explanation of Test Doubles: Dummies, Mocks, Stubs, Fakes, and Spies.
- Practical examples showcasing the use of each type.
(2) Live Coding: Implementing Morse Code Kata
- Introduction to the task: Morse Code Kata with the Microsoft System Speech API.
- Live pair programming demonstration, emphasizing Test Doubles.
- Real-time application of Command/Query separation.
(3) Conclusion and Interactive Q&A
- Summary of Classic vs. Outside-In TDD approaches.
- Discussion on how Test Doubles support effective software testing.
- Q&A session to engage with the audience and clarify concepts.
Closing Remarks:
This session is designed to equip you with practical skills in using test doubles and understanding architectural principles like Command/Query separation. It's ideal for developers at all levels who want to enhance their testing techniques and software design.
ABOUT MARCO
Marco's path in the world of coding began at the age of nine, with a Commodore and the Basic language sparking what would become a lifelong passion. Over the last two decades, he has been helping customers in Italy, the UK, and recently all over Europe, integrating principles from eXtreme Programming, Agile methodologies, Lean, Domain-Driven Design, Complexity, and Systems Thinking.
Wearing any possible hat – from junior dev to CEO, he is continuously learning and believes that evolutionary approaches based on trust, transparency, self-organization, and rapid feedback loops are the way forward for any team working on high-knowledge domains.
Overall Marco describes himself as a systems thinker, a philosopher, and a symmathecist - all peppered with his Venetian wit.
- LinkedIn: https://www.linkedin.com/in/consolaro/
- Twitter: https://x.com/consolondon
- GitHub: https://github.com/conso/
- Youtube: https://www.youtube.com/@agiletechnicalpracticestv7768
ABOUT ALESSANDRO
Alessandro is a software crafter with over two decades of experience. His journey spans diverse organizational landscapes, from dynamic start-ups to robust multinational corporations. His expertise has been pivotal in driving technical excellence for his customers' teams in London (UK), Norway, and Italy.
A crucial moment in his career was in 2006 when he embraced eXtreme Programming. Alessandro is adept in Object-Oriented and Functional programming paradigms, showcasing his versatility in various technological approaches, with a special focus on scalable distributed asynchronous systems.
He is renowned for his advocacy for clear ('obvious' - he often says), concise, and well-designed code. He possesses an exceptional skill in enhancing and refining complex legacy systems.
- LinkedIn: https://www.linkedin.com/in/alessandro-di-gioia/
- Twitter: https://x.com/parajao
- GitHub: https://github.com/11PJ11/
- Youtube: https://www.youtube.com/@agiletechnicalpracticestv7768
Tech Excellence Conference 2024
Register for the Tech Excellence Conference 2024 to learn from the industry's most renowned speakers and deepen your expertise across a range of technical excellence topics.

Test Doubles without Tears (Marco Consolaro & Alessandro Di Gioia)