Back in 1994, Kent Beck helped create the first unit test framework (SUnit) in Small Talk. He was trying work around for the small amount of Quality Assurance (QA) engineers in his team. Test Driven Development was conceived later on. In 1996, he refined and documented the methodology known as Extreme Programming, which encompasses a series of practices including Test-Driven Development (TDD).

TDD is a discipline that helps developers be attentive to technical excellence and good design[1] and is part of the Agile Programming practices. This technique helps create a code base that is easier to maintain, to refactor and to adapt to the future requirements. Also, TDD not only reduce the number of defects that escape into production, but also facilitates faster delivery of working code – increasing its Agility at the same time.

“As a programmer, do you deserve to be confident? Do you sometimes, go back home saying: ‘I hope I didn’t break anything’”[2].

TDD helps address these feelings as it enables the programmer to create more maintainable and robust code.

This three day workshop will teach students the practices around Test-Driven Development TDD. Students will solve simple problems by writing tests first. They will break down existing software and make it testable; they will learn how to write testable code around Graphical User Interface (GUI) and Databases. They will learn the magic behind clean code[3] and clean tests.

During this class the instructor will guide the students through a better understanding of the flow of TDD, resolving the anxiety that sometimes builds up when first using this discipline. Students are encouraged to experiment and code with different designs patterns and test strategies during the class.



Programming Language

C++, C#, Java and other. We can tailor a class using different language depending your needs.


[1] Supplementing the Agile Manifesto – the 9th Principle
[2] Kent Beck – is TDD dead? On Google+