~/talk

Testing the Untestable

Talkat Ancient City Ruby 2014 · 2014-04-03..04-04· [testing, legacy-modernisation]
slides:none on file

Heroku’s Ruby buildpack starts with zero tests and grows into a 4,573‑line, edge‑case ridden system; the cure is black‑box integration tests that actually clone repos, create Heroku apps, deploy them and run commands. A test harness called Hatchet drives git push, VCR records external API traffic, and an eight‑line gem re_retry retries flaky deploys. Parallel runners drop 45s per test suites to 12 minutes for 44 cases, buildpack performance improves ~40%, and complex tools like Puma auto‑tune get verifiable behavior.

AI-written summary · about

  1. 0:00Introduction
  2. 5:52Heroku
  3. 9:55Blackbox Testing
  4. 15:19Threaded
  5. 17:22Troubleshooting
  6. 17:57Retry
  7. 18:28Positive Happy Path
  8. 18:55Bundler Update
  9. 19:38Deploy
  10. 20:22Development Tactics
  11. 20:43Combating Non Determinism
  12. 21:19Speeding up the iteration cycle
  13. 21:37The actual tests themselves can take a little
  14. 22:13Parallel test runner
  15. 22:36Build pack speed
  16. 22:54Refactoring
  17. 23:27Bit testing
  18. 23:37Unit tests
  19. 24:31Faster test
  20. 24:50Code triage
  21. 25:35Network dependency
  22. 26:47Web Mock
  23. 27:53Puma
  24. 28:39Puma Autotune
  25. 29:30Puma Test
  26. 29:55Logs
  27. 31:10Integration Tests
  28. 31:28User Testing
  29. 32:28Heroku Tests
  30. 32:49Heroku Up and Running
~/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.