Empathetic testing: Developing with compassion and humility
summary
Tests defend the way code was written, not what it does: a calculator API breaks only when numpy’s ipmt moves into numpy_financial, leaving 100% coverage that lied while the app fails. Examples replace fragile mocks with real-client requests, pyquery HTML parsing, responses to intercept HTTP calls, and freezegun to freeze timestamps so assertions are stable. The claim: focus tests on inputs and outputs to avoid implementation bias, reduce code, and keep three integration-style checks that still pass after a refactor.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 3:31Frustration in testing
- 6:46Implementation bias in tests
- 9:15Empathetic API tests
- 11:42Django admin testing
- 13:49Avoiding HTTP mocks
- 15:55Datetime in assertions
- 17:42Refactoring with empathy
- 20:52Edge cases and scalability
- 22:00Why refactoring matters for developers
- 23:27Takeaways and future-proofing
- 24:51Self-reflection in testing
- 25:17Closing
related talks
37mClean Test Code
38mTesting for the Terrified: How to Write Tests, Conquer Guilt, and Level Up
01h 05mMicrotesting
48mA Reflection on Software Testing
21mDon't just test, my friend, test better
20mThe Art of Testing
35mTesting: Choose Your Weapons
44mTesting the untestable - patterns and use cases analysis
