By now Test-Driven Development (TDD) is a well-known and appreciated practice exercised by many development teams around the globe.
Unlike the name suggests, TDD is not a testing technique but a development technique that results in cleaner, high-quality code. Implementing effective and useful TDD is a complicated task that requires developers to have both discipline and familiarity with a set of test automation tools.
This 2-day workshop explains the TDD as a design methodology, briefly introduces the tools, and then dives into complex issues of real-world problems: APIs, complex integrations, TDD in legacy code, and more. It includes hands-on exercises (about 50% of the workshop’s duration). Attendees will practice the needed techniques to start testing both new and existing code.
The workshop is intended for: Software developers and software team leaders.
Workshop length: 2 days.
Following the workshop, attendees will be able to:
- Describe where unit testing fits in the quality process
- Decide which tests to write for what
- Break down requirements into test cases
- Use TDD to develop new code
- Use TDD on legacy code
- Use characterization tests for locking legacy code
- Refactor code to make it more testable
- Refactor tests to make them more maintainable
- Simple design
- Coding by intention
- TDD as a design methodology
- Adapters and facades
- TDD, ATDD and BDD – what are the differences
- TDD with complex frameworks (e.g. Java’s Spring)
- TDD in legacy code
- Refactoring for testability as preparation for TDD
- Characterization tests and approval tests
- Testing strategy in real world applications
- Develop features inside a legacy app in TDD
- Attendees need to have their own laptops ready and download the exercises beforehand.
- Familiarity with unit testing is required.