Test-driven development or TDD is a software development method in which the writing of automated tests controls the writing of the source code.
The cycle recommended by TDD includes five steps:
1. Write a test.
2. Check to see if the test fails.
3. Write the minimum amount of code necessary for the test to pass.
4. Check to see that the test passes.
5. Refactor the code.
TDD is a very effective technique for delivering well-constructed software with a non-regression test suite. Practicing TDD is at the root of Agile software development processes that emphasize rapid and frequent delivery of functional software components. Automated unit tests written in TDD and automated acceptance tests that were written first are unavoidable practices that a good Agile software development team must master.
The key objective of this workshop is to master through practice the test-driven development technique. The workshop combines theory, practice, and the experience of an expert trainer who actively participates to the implementation of Agile engineering processes and practices within various development teams.
Once the general concepts of test strategies have been presented, participants will first of all discover code refactoring and the writing of automated unit tests. They will understand the benefits associated with TDD and how to use TDD as a design method. The hands-on exercises will illustrate that TDD is mainly designed to specify a desired behaviour and not to write tests. The course will also address the other types of tests recommended by Agile approaches. We will also discuss the implementation of test strategies as well as advanced concepts such as Mock Objects.
This workshop is intended for development teams that wish to discover test-driven development through practice. The workshops are offered in C#, in Java, or in Ruby.
* The different types of tests:
o Unit tests
o Integration tests
o Functional tests
o Acceptance tests
* Code refactoring:
o Basic principles and motivations
o When refactoring should be done
o How refactoring is done
o Code smells
o Most prevalent refactoring
* TDD principles and good practices:
o TDD principles
o Goals and benefits
o Creating tests before programming
o Emergence of design based on tests
* Practicing TDD:
o TDD practice workshops
o Findings and discussions
o Guidelines for object-oriented design
* Advanced techniques:
o Mocks, Stubs, Fakes and Dummies
Pdf – training