Workshop: Stop writing tests, write specs instead! (part 1)

Day 3 /  / Track 4  /  RU

In this live stream workshop, Alexey will show you how to create and run a TDD loop for a Spring Boot application from scratch, with examples on JUnit 5.

The speaker will talk about:

  1. Why we need tests? Why is it important to write and support tests?
  2. TDD vs Test first vs Test last.
  3. London vs Chicago.
  4. Where to start when there is nothing at all.
  5. R-G-R cycle, why it's important.
  6. The good test is not always a good specification.
  7. Specification must be specific.
  8. Areas of responsibility (test boundaries).
  9. Mocs and twins.
  10. What to mock and whatnot, how to mock unmockable.
  11. Integrational tests — why and how?
  12. Ice cream cone vs Testing trophy.
  13. Contracts and third-party integration.
  14. Big Data testing.
  15. Integration testing (REST and messages).
  16. Acceptance or E2E testing.
  17. What to do with legacy?

Download presentation


Alexey Nesterov

Software engineer from Spring Cloud Commercial team, Pivotal Labs alumni, a fan of Test-Driven Development and lean software development approach, open source enthusiast, author, and co-host of a weekly hi-tech podcast Radio-T.

Invited Experts

Anatoliy Korovin

Anatoliy is a Java Architect with more than 8 years of experience in design and developing software applications. Interested in microservice architecture, test-driven development, object-oriented design and concurrency. Writes a blog about Java and Spring Framework. Active contributor to open source software. Public speaker at meetups about Java, software development and TDD.

Timur Nasredinov

A "T"-shaped Java developer suffering from imposter syndrome with 15+ years in the industry. Currently employed at Odnoklassniki ( Professional experience includes working for outsourcing companies, being a freelance programmer, and developing in an IT giant in such business domains as the medical industry, financial and banking services, and social networks. Takes part in an educational project for Saint Petersburg Polytechnic University as a tutor. Interested in JVM internals, distributed caching, high-performance systems, and concurrency tweaks.