~/talk

Eliminating bugs: testing is not enough

Talkat NDC TechTown 2025 · 2025-09-22..09-25· [testing]
links:none on file
slides:none on file

Claims that testing alone fails because tests don't scale and error propagation loses information; concrete bug: a SIP-style address with a port >65535 travels through Python 2.7 as a plain int, raises an unhandled exception and crashes the UI. Fix implemented as a factory that parses strings into a strong refined/optional type (Optional/Maybe), added type hints and CI checks, shipped the patch next week and the customer stays with no recurrence for six years.

AI-written summary · about

  1. 0:00Talk introduction
  2. 1:07Customer crisis reveals bug
  3. 6:40Testing alone insufficient
  4. 7:04Testing doesn’t scale, errors propagate
  5. 10:08Embed tests as contracts
  6. 13:22Error propagation: in-band vs exceptions
  7. 17:23Impossible states unrepresentable
  8. 21:45Total vs partial functions impact
  9. 22:59Strong types enforce constraints
  10. 27:22Optional types for errors
  11. 30:11Factory methods validate domain
  12. 33:48Codeify constraints with templates
  13. 36:20Paths don’t validate: convert
  14. 37:02Refined types compile-time checks
  15. 40:57Dependent types beyond constraints
  16. 45:11Avoid primitive obsession
  17. 47:19Tighter constraints reduce testing
  18. 49:29Natural vs formal specs in AI
  19. 51:59Closing thoughts
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.