Test-Driven Development & Self-Testing Code Concepts, Patterns & Katas
With Exercises in C# and Java



Test-Driven Development is a technique to help programmers write code that is higher in quality and easier to understand and maintain. TDD also helps programmers reduce work stress and deliver their commitments reliably because it dramatically reduces the time needed for debugging and regression testing! However, learning to TDD can be challenging if not guided by a qualified and resourceful mentor.

In this course, programmers will be first introduced to the concept of self-testing code and using xUnit frameworks. Once comfortable with these frameworks, attendees are then gently introduced to Test-Driven Development via show and do strategy. With each progressive step, attendees will see their mentors programming a kata live while describing the TDD thought and action process. Attendees then take their turn in writing the kata while their mentors guide them in adapting the technique with a rhythm and flow that is suitable for each individual.

Attendees will walk away with a clear understanding of what TDD is, why it works, its applicability, and how to embrace it. They will also walk away having written many programming exercises (Katas) using TDD, with insight on the quality and maintainability of what they produced.

This is a BYOD (Bring Your Own Device) course. Each attendee is expected to bring along a portable computer with a suitable IDE installed and operational. The mentors will contact the attendees before the start of the course to ensure proper installation and operation of the environment.

Topics to be covered

Target Audience

The main audience are programmers of all seniority levels. Both juniors and seasoned programmer, team leaders, and architects will be able to find clear value in this course.


3 Days

Attendees must be comfortable with C# or Java, with the ability to write relatively complex programming assignments in one of these languages. Knowledge of modern object-oriented programming constructs and how to write, test, and debug code is essential. Comfort in using the selected IDE and installing plugins or components is also expected. No knowledge of specific GUI, database, or infrastructure component is necessary.

For more information about training courses, please send an email with the name of the required training to secc-services@secc.org.eg
One of our representatives will respond to your inquiry via email within three working days.