Boost your Architecture by Test-Driven Development - Extended
Hands-on training on how to use Test-Driven Development (TDD) to boost the architecture of your projects. The course covers writing unit, integration, and end-to-end tests, showing how you can guard and enforce the rules of your architecture. We show the ways TDD helps with building and improving sustainable architecture. JUnit, Kotest, and Spock frameworks are used in the examples, however, the knowledge gained during the course is easily applicable to other testing libraries. During the course, attendees will learn about the challenges of maintaining a huge number of tests in a project, and how to avoid the usual pitfalls.
60% workshop /
40% lecture
Developers and Tech Leads
- TDD workflow with JUnit plus Kotest or Spock
- Spring Boot integration testing across layers and boundaries
- Test-suite maintenance for large codebases and keeping code clean
- Property-based testing to explore edge cases automatically
- Mutation testing and supporting tools to verify test effectiveness
Day 1
- •Introduction
- ○Why do we need tests?
- ○Unit, integration, contract, and end-to-end tests
- ○Shapes of tests
- ○TDD/BDD
- •JUnit
- ○Features and examples
- ○When to use JUnit
- •Kotest or Spock
- ○Features and examples
- ○Comparison to other Java testing libraries
- ○Killer features
- •Test doubles
- ○Dummies
- ○Fakes
- ○Stubs
- ○Mocks
- ○Spies
- •Properly written tests
- ○Good unit tests
- ○Code smells in unit tests
- ○Patterns
Day 2
- •Integration tests (with examples in Spring Boot)
- ○Why do we need integration tests?
- ○Different flavours of integration tests
- ○Setup for integration tests
- ○Testing integration with database
- ○Testing application services
- ○Testing REST
- ○Testing communication with external services
- •Testing Dates
Day 3
- •Tests Maintenance
- ○Challenges with maintaining a large number of tests
- ○Readable and maintainable big suites of tests
- •Keeping codebase clean
- •Property-based testing
- •Mutation testing
- •Other Testing tools
Ready to Get Started?
Contact us to discuss your training needs, schedule, and how we can customize this program for your team.









