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 5 steps:
Write a test.
Check to see if the test fails.
Write the minimum amount of code necessary for the test to pass.
Check to see that the test passes.
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 good Agile software development teams 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 handson 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.
Examples shown will be written in the C# language but the concept will be offered to all kind of Object Oriented languages.
Be familiar with C#.NET language and Visual Studio
The different types of tests:
Basic principles and motivations
When refactoring should be done
How refactoring is done
Most prevalent refactoring
TDD principles and good practices:
Goals and benefits
Creating tests before programming
Emergence of design based on tests.
TDD practice workshops
Findings and discussions
Guidelines for object oriented design.
Mocks, stubs, fakes and dummies.
Pyxis Technologies Belgium