Learn by doing
A professional developer
needs professional methods and tools. TDD is part of the eXtreme Programming method,
it's a technique that produces high quality code and excellent
automated battery of tests when done correctly.
Don't you test-drive your code yet?
It's 2 days of pure practise
Participants spend most of the training coding in pairs under expert guidance and supervision. The value in this training is that mistakes are corrected on time, and best practices are self-discovered by the participants in a safe manner, in a controlled environment with the right exercises. Faster learning and less risk in order to adopt TDD later in the daily development tasks.
On day 1:
Day one is about clean code principles.
- Good naming
- Abstractions and duplication
- SOLID and other design and coding principles
- Overview of the Design Patterns used in the exercises
- Introduction to TDD
On day 2:
TDD all day long. Different exercises using state-based validation (unit tests) to get used to
the TDD flow and emerging design. At the end of the day we introduce interaction-based
tests using doubles.
TDD with test doubles (mocks, spies and stubs) and outside-in development. The training
lasts until lunch time. After lunch it's time for the exam for those willing to take
the exam.
iSQI certificaton exam
Carlos Blé in collaboration with iSQI have developed a TDD certification. The last training day right after lunch there will be a four and a half hours of exam. It's mostly coding, practising TDD. iSQI is a very well-known organization in Europe regarding agile training and certifications. Specially in Germany, Austria, Switzerland and the Netherlands.Using your favourite programming language
Most of the times we use Java because it's the language everybody knows, but this training have been done using C#, C++, PHP, Python and JavaScript. In the case of JavaScript there are specific exercises to review the tricky parts of the language, because for many people it's a new language. So in open courses Java is normally chosen but in the case of in-house training, your team can choose pretty much any language.
What do you need to attend?
Be open minded and keen on learning. You need to know how to code at least in one language. You need to bring your laptop with your preferred language installed and a unit testing framework.