~/talk

Testing the Hard Stuff and Staying Sane

Talkat Clojure/West 2014 · 2014-03-24..03-26· [testing]
slides:none on file

Randomized QuickCheck specs drive millions of generated call sequences against real C and Erlang (Adlang) code, then apply shrinking to produce tiny failing traces. Concrete wins: a circular‑buffer size bug fixed after a 3‑step repro, a CAN‑ID masking error uncovered in message priority handling, and race conditions in the debts file system that reduce months of debugging to five‑call reproductions. Industrial scale: 20,000 lines of specs test ~1,000,000 lines of C from six suppliers and found 200 bugs.

AI-written summary · about

  1. 0:00Start
  2. 0:29Why is testing hard?
  3. 2:49The commonest usage
  4. 4:03Example: a circular buffer
  5. 5:01Size is a little tricky...
  6. 5:25State Machine Models
  7. 6:58Code Fragments: specifying get
  8. 17:54Lessons
  9. 21:28Practice
  10. 24:25A Bug in a vendor's CAN stack
  11. 29:27A Unit Test in Erlang
  12. 29:56Modelling the dispenser
  13. 30:50A Parallel Unit Test
  14. 32:24Another Parallel Test
  15. 33:11Deciding a Parallel Test
  16. 37:48QuickCheck Specification
  17. 40:16Bug #3
  18. 42:33Bug #4
  19. 47:07Property Based Testing
~/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.