WeAreDevelopers LIVE Sep 14, 2023

Write tests you love, not hate

Jens Happe

Stop mapping test classes one-to-one with production code. Discover how entity builders and use-case testing transform fragile boilerplate into a lightning-fast engineering workflow.

Pause
Mute Enter Fullscreen
#1 about 5 min

Identifying common challenges in boilerplate test code

Analyzing a complex test method reveals how repetitive mock configurations create unreadable and exhausting code.

#2 about 6 min

How fragile and slow tests compound technical debt

Fragile tests that break on minor code movements discourage test creation and ultimately reduce development velocity.

#3 about 7 min

Improving test readability using structured behavior patterns

Applying the given-when-then pattern logically organizes test setup, execution, and verification phases for clear comprehension.

#4 about 5 min

Reducing fixture setup noise using fluent entity builders

Encapsulating default object attributes within a fluent builder pattern minimizes distractions and highlights relevant test state.

#5 about 4 min

Moving repetitive mock logic into reusable trainer classes

Extracting mocked object configuration into dedicated trainer classes isolates boilerplate away from core test files.

#6 about 6 min

Recognizing tight coupling as the root of fragile tests

Mapping test methods exactly to structural implementation classes forces tests to break during routine refactoring.

#7 about 7 min

Testing broad use cases to support internal code refactoring

Structuring tests around complete use cases rather than single classes allows architectures to evolve without breaking test coverage.

#8 about 4 min

Speeding up test execution by isolating external dependencies

Separating application logic from external layers like databases and web bindings prevents framework latency from slowing down test suites.

#9 about 5 min

Scaling automated testing practices across growing engineering teams

Adopting robust testing conventions gradually transforms codebases with minimal automation into high-performing and reliable systems.

#10 about 13 min

Addressing the costs of integration tests and helper methods

Balancing the architectural tradeoffs between integration tests and isolated unit testing ensures sustainable performance in large test suites.

Matching moments

4:00 min

Adopting test-driven design as a strategic development methodology

Mirjam Aulbach · WWC 2022

1:18 min

Reflecting on the core motivations for writing tests

Daniel Afonso Daniel Afonso · WWC 2025

6:24 min

Applying key software design rules to test code

Gil Zilberfeld · LIVE

3:03 min

Reviewing the benefits of clean test refactoring

Gil Zilberfeld · LIVE

44 sec

Treating unit tests as essential development tools

Annelore Egger Annelore Egger · WWC 2025

3:54 min

Weighing the benefits and tradeoffs of test-driven development

Alex Banul · LIVE

Upcoming sessions on this topic

Open session

World Congress 2026 North America

Agents Can't Iterate Against Tests That Lie

Rocky Warren

Senior Staff Software Engineer at Clipboard

Rocky Warren
Open session

World Congress 2026 North America

One Repo, One Strategy: Scalable Full-Stack Testing in a Monorepo World

Bartosz Leczycki, Paweł Matynia

Bartosz Leczycki
Paweł Matynia
Open session

World Congress 2026 North America

Reinventing Testing Practices in the AI Era

Eric Deandrea

Java Champion & Senior Principal Software Engineer, IBM

Eric Deandrea
Open session

World Congress 2026 North America

Testing React Backends Like a Pro: Mocking Databases with SQLite

David Morris

Solution Architect

David Morris
Open session

World Congress 2026 North America

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer