Who is this training for?
Software Developers and Architects
Training objectives
- Understand the TDD cycle
- Design tests efficiently inside an xUnit tool
- Produce solid, reliable and adaptable code
- Produce code that requires a non-existent element with a mock tool
- Understand the implications of testing on the design and architecture of software
Summary
This training allows you to experience Test Driven Development where you design real features using the TDD cycle. The main objective of this training is the mastery of development techniques, by creating concrete functionalities and thus producing reliable and solid code that is above all adaptable. The workshop combines theory, practice, and the experience of the instructor who has been actively involved in implementing Agile engineering processes and practices across many development teams.
Course outline
- Fundamentals and motivation of test-driven development
- The test-driven development cycle
- Best practices for unit test design
- Developing by isolating external dependencies using mocks
- Fundamentals and motivation for refactoring your code
- Continuous compilation
Approach and methodology
A concrete case will be developed during the training. The theory is given in the form of acetates. This training follows 40-minute blocks of time:
- 10 minutes of theory
- 25 minutes of practice
- 5 minutes of discussion and questioning
Prerequisites
- You must have a workstation with a development environment.
- You have agreed with the programming language instructor, the xUnit tool and the mocking tool that will be used during the training.
Recommendations
Participants are invited to review the basic concepts of object-oriented programming and unit testing to facilitate the integration of TDD practices. It is recommended to familiarize yourself with the development environment, the programming language and the tools (xUnit, mock) that will be used during the training. A prior reflection on their current development practices and on the challenges encountered in terms of code quality will allow us to maximize learning.
