Experience and learn test driven development by doing it. This workshop immerses you in a realistic TDD project, allowing you to learn the practices and principles of test driven development and try them out in practice. Through facilitated exercises and discussion, you will experience two days of working on an agile test-driven team by participating in a mini-project. You will experience the full cycle, face the most common issues with TDD and solve them, with some helpful facilitation. The workshop covers continuous integration, unit testing, pair programming, test-driven design and using mock object libraries efficiently. An optional module covers acceptance test driven development with FitNesse or Concordion.
You will understand the reasons behind TDD and experience the benefits first-hand, getting into the TDD mentality.
By applying these practices, you will be able to build quality into software from the start, design and develop systems fit for purpose and write code that is easy to maintain and evolve in the future.
The is a completely hands-on workshop with coding straight from the start, interrupted by very short presentations to explain the practices and put things into a wider perspective. It is based on the latest tools and current knowledge and ideas from the community, so you’ll be practising the state of the art.
The workshop can run for two or three days (depending on optional modules).
Learn How To
- Design and develop software driven by tests
- Protect software from unwanted changes using regression tests
- Evolve software design with refactoring and TDD
- Recognise smells in code and clean them up
- Continuously integrate software to get quick feedback about changes
- Apply best practices and avoid pitfalls of unit and acceptance testing
- (optional module)Capture requirements and specifications as acceptance tests
- (optional module)Use executable specifications to drive development
- (optional module)Apply TDD in your environment
- .NET course runs with MBUnit, Gallio, Rhino Mocks (optionally FitNesse, FitSharp or Concordion); Java cours runs with JUnit 4 and Mockito (optionally FitNesse or Concordion)
Programme
Day 1
- Introduction to TDD
- Unit testing basics
- Using TDD with MBUnit/JUnit to explore and design software
- Continuous integration
- Writing efficient unit tests
Day 2
- Applying mock and stub objects with Mockito/Rhino Mocks
- Best practices and pitfalls of unit testing
- Identifying code smells and improving the code with refactoring
- Continuous integration and detecting change
(optional) Day 3
- Extending TDD to business goals,Converting requirements into executable specifications
- Applying agile acceptance testing with FIT.NET/FitNesse/Concordion
- Writing efficient acceptance tests
- Best practices and pitfalls of acceptance testing
- Applying TDD in your environment
