Duration
2 days
Overview
This Test driven development workshop gives you an in-depth introduction to evolutionary design, refactoring and automated testing. Our hands on coaching focuses on giving you a simple learning curve while fully enabling you to adopt the TDD approach to software development processes.
The workshop explores the fundamentals of unit testing, automated refactoring, legacy code and the core philosophies of TDD in the software development process. Case Studies, simulations, and interactive discussions with our experienced coaches will help you understand the concept behind the ‘fail first’ ideology and the confidence to write well-structured and well-designed code.
What you will learn:
- Introduction to Unit test, unit test characteristics
- Test Driven Development – why, what and how
- TDD Cycle – Red, Green and Refactor
- Drive the development (design and implementation) of a User Story
- Learn concept of Emergent Design and why emergent design
- How TDD helps you design software
- Why testing rst is better than testing after
- Overview of Refactoring, Clean Code principle and Refactoring to Patterns
- Software design – going deeper in SOLID design Principles
- How to use mocking frameworks.
Prerequisites
Participants are expected to have testing experience and knowledge of testing tools.
Who Can Attend
Development team members including developers, testers, architects, leads and scrum masters
Day 1: Agile Requirements and Acceptance Test Driven Development
Unit Testing
- What is unit testing
- Why unit testing is needed
- Dierence between Unit Testing and Integration Testing
- Developer and Tester role in Unit Testing
Test Driven Development workshop
- Design of the TDD approach and its benets
- Improving the quality and design of the code by testing
- Dierent types of tests: unit, integration, functional
- Understand the life cycle of a test in the xUnit framework
- Respect of the principle of isolation and control of test results
Day 2: Mocking, Continuous Integration and Agile Testing
Refactoring
- Consequence of technical debt and risk of "breaking" the code
- Where? When? How refactoring?
- Support of TDD and ATDD during refactoring
- Best practices and limitations
- Denition and principles of frameworks
- Emergent Design
- Principle of scalability and implementation
- Design Patterns and Principles
- Understanding about SOLID design Principles
Test Double and Mocking
- What is Test Double and when to use it
- What is Mocking
- Mocking framework in practice
- Refactoring patterns
- Working eectively with legacy come
Programme scope, delivery arrangements and suitability are confirmed during enquiry.