Golo Roden
How not to test
#1about 6 minutes
The journey from manual execution to automated testing
Early programming involved manually running code to verify it, but the rise of concepts like Test-Driven Development (TDD) introduced the power of automated testing.
#2about 7 minutes
Difficult-to-test code is a symptom of poor design
Code that is hard to test is often a sign of poor structure with too many dependencies, not an inherent problem with the complexity of the task itself.
#3about 6 minutes
The pitfalls of testing private implementation details
Avoid trying to test private code directly through hacks like reflection, as tests should focus on the public behavior and interface of a component.
#4about 5 minutes
Why 100% code coverage is a misleading metric
Achieving 100% code coverage is often a false positive because it only confirms code execution, not the quality or relevance of the tests themselves.
#5about 5 minutes
The dangers of overusing mocks in integration tests
Relying heavily on mocks can create a false sense of security, as they may not accurately replicate the behavior of real dependencies like databases.
#6about 2 minutes
Ensuring test independence with clean infrastructure setups
Tests should be independent and start from a clean slate by automating the setup and teardown of infrastructure for each run using tools like Docker.
#7about 4 minutes
Handling asynchronicity in UI component testing
UI tests must account for asynchronous operations like animations and transitions, as assuming synchronous behavior will lead to flaky and unreliable results.
#8about 4 minutes
Writing story-based UI tests instead of fine-grained ones
Full UI tests using tools like Selenium are slow, so they should focus on broad, story-based user flows rather than fine-grained component interactions.
#9about 3 minutes
Applying Test-Driven Development (TDD) strategically
TDD is most effective when you have a clear goal and can be counterproductive during prototyping; it's best to explore ideas first, then rebuild with TDD.
#10about 2 minutes
Adopting a reasonable and pragmatic testing approach
The goal of testing is not perfection but to provide reasonable confidence, so focus effort on what is valuable to test rather than blindly chasing metrics.
Related jobs
Jobs that call for the skills explored in this talk.
Power Plus Communications
Mannheim, Germany
Intermediate
Senior
Python
Automated Testing
+1
Eltemate
Amsterdam, Netherlands
Intermediate
Senior
TypeScript
Continuous Integration
+1
Matching moments
03:16 MIN
Improving the developer feedback loop with specialized tools
Developer Time Is Valuable - Use the Right Tools - Kilian Valkhof
02:33 MIN
Why you might not need JavaScript for everything
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
05:12 MIN
How to build structure and culture without killing agility
From Data Keeper to Culture Shaper: The Evolution of HR Across Growth Stages
07:12 MIN
Ensuring accurate testing across different browsers and devices
Developer Time Is Valuable - Use the Right Tools - Kilian Valkhof
09:00 MIN
Navigating the growing complexity of modern CSS
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
03:58 MIN
Making accessibility tooling actionable and encouraging
Developer Time Is Valuable - Use the Right Tools - Kilian Valkhof
11:32 MIN
The industry's focus on frameworks over web fundamentals
WeAreDevelopers LIVE – Frontend Inspirations, Web Standards and more
02:55 MIN
Why developers often undervalue their time and paid tools
Developer Time Is Valuable - Use the Right Tools - Kilian Valkhof
Featured Partners
Related Videos
Your Testing Strategy is broken - lets fix it!
Luise Freese
Write tests you love, not hate
Jens Happe
Continuous testing - run automated tests for every change!
Christian Kühn
How To Test A Ball of Mud
Ryan Latta
The 2025 State of JavaScript Testing
Daniel Afonso
How to add test automation to your project: The good, the bad, and the ugly
Augustin Gottlieb
How Unit Testing Saved My Career
Annelore Egger
It's a (testing) trap! - Common testing pitfalls and how to solve them
Ramona Schwering
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.


HIBA e.V.
Koblenz, Germany
Remote
Selenium
Unit Testing
Test Case Design
Amazon Web Services (AWS)


Engineering Ltd
Stonehouse, United Kingdom
£45-60K
Unit Testing
Microservices
Agile Methodologies
Continuous Delivery
+3


Software Testereightmoose.com
Charing Cross, United Kingdom
£25-32K
Java
JIRA
DevOps
Python
+1

Epam Systems, Inc.
Zürich, Switzerland
Selenium
Cucumber
TypeScript
Tricentis Tosca Testsuite


TechBiz Global GmbH
REST
Docker
Node.js
JavaScript
Continuous Integration