HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

John Hughes - Testing the Hard Stuff and Staying Sane

ClojureTV4 HN recommenders · recommended in 4 months, 2016-2026
YouTube
39K views · 12 years ago · talk · evergreen

John Hughes, co-creator of QuickCheck, talks about property-based testing of hard systems. He shows production examples where it found very low-level bugs, including issues in the CAN bus standard.

Recommended as the best introduction to property-based testing and cited for its examples of bugs found in the CAN standard.

Testing, debugging & developer toolsFunctional programming#quickcheck#property-basedtesting#generativetesting#canbus#johnhughes

6 comments from Hacker News

@devin2026 · in “Mysteries of Dropbox: Property-Based Testing of a Distributed Sync Service [pdf]”

One of the authors, John Hughes did a talk on property-based testing at Clojure West some number of years back. Worth a watch if you're interested: ▶ this video

RecommendsView on HN
@robertfw2025 · in “Hypothesis: Property-Based Testing for Python”

I feel like this talk by John Hughes showed that there is real value in this approach with production systems of varying levels of complexity, with two different examples of using the approach to find very low level bugs that you'd never think to test for in traditional approaches. ▶ this video

RecommendsView on HN
@troupo2023 · in “Voters Overwhelmingly Pass Car Right to Repair Law in Maine”

Possibly due to amount of data coming from various sensors and systems. BTW, CAN standard is riddled with bugs: ▶ this video at 26:18

CitesView on HN
@illiarian2023 · in “Car Thieves Using Tech Disguised Inside Old Nokia Phones and Bluetooth Speakers”

> CAN bus is a brilliant thing for car diagnostics and modification but with every good system normally has a sword of damocles. There are over 100 issues (aka bugs) in the spec though. Uncovered by these guys: ▶ this video (starting at 19:10, includes examples)

CitesView on HN
@dllthomas2022 · in “Show HN: IHP v1.0 – Batteries-included web framework built on Haskell and Nix”

While of course Haskell has more normal testing infrastructure available (eg. link ), my favorite bit of Haskell testing is QuickCheck, which IIUC started life in Haskell and has been reimplemented in other languages with various degrees of effectiveness and various degrees of connection to the original project. John Hughes (not the filmmaker) gives a great talk about it: ▶ this video

RecommendsView on HN
@Naomarik2016 · in “QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs (2000) [pdf]”

I'd recommend watching this ▶ this video to see how powerful this can be. I've just discovered generative testing due to clojure.spec. Describing specs for your data works not only to help validate data structures but can be plugged in as properties for generative testing. After the "aha" moment it was followed by a feeling that I've wasted so much time writing specs just to validate data structures and writing specs just to see if my functions are working as they should. This is one of the things I wish was obvious in my learning track right after vim/emacs will help you code faster.

Strongly recommendsView on HN
Hillel Wayne - Beyond Unit Tests: Taking Your Testing to the Next Level - PyCon 201829:21

Hillel Wayne - Beyond Unit Tests: Taking Your Testing to the Next Level - PyCon 2018

PyCon 2018
38K views • 8 years ago
Debugging with the Scientific Method - Stuart Halloway49:09

Debugging with the Scientific Method - Stuart Halloway

ClojureTV
25K views • 10 years ago
"Agility & Robustness: Clojure spec" by Stuart Halloway40:00

"Agility & Robustness: Clojure spec" by Stuart Halloway

Strange Loop Conference
25K views • 10 years ago
Effective Programs - 10 Years of Clojure - Rich Hickey1:14:52

Effective Programs - 10 Years of Clojure - Rich Hickey

ClojureTV
176K views • 9 years ago
Maybe Not - Rich Hickey1:03:29

Maybe Not - Rich Hickey

ClojureTV
181K views • 7 years ago
Bottom Up vs  Top Down Design in Clojure - Mark Bastian36:42

Bottom Up vs Top Down Design in Clojure - Mark Bastian

ClojureTV
29K views • 10 years ago
Solving Problems the Clojure Way - Rafal Dittwald1:02:26

Solving Problems the Clojure Way - Rafal Dittwald

Clojure/north
87K views • 7 years ago
"Simple Made Easy" - Rich Hickey (2011)1:01:39

"Simple Made Easy" - Rich Hickey (2011)

ClojureTV
434K views • 5 years ago
Condition Systems in an Exceptional Language - Chris Houser33:32

Condition Systems in an Exceptional Language - Chris Houser

ClojureTV
16K views • 10 years ago
Bruce Hauman - Developing ClojureScript With Figwheel45:31

Bruce Hauman - Developing ClojureScript With Figwheel

ClojureTV
56K views • 11 years ago
Barliman: trying the halting problem backwards, blindfolded - William Byrd, Greg Rosenblatt36:14

Barliman: trying the halting problem backwards, blindfolded - William Byrd, Greg Rosenblatt

ClojureTV
8K views • 9 years ago
REBL - Stuart Halloway33:06

REBL - Stuart Halloway

ClojureTV
25K views • 7 years ago
Tim Ewald - Clojure: Programming with Hand Tools58:39

Tim Ewald - Clojure: Programming with Hand Tools

ClojureTV
48K views • 12 years ago
"The Clean Code Talks  -- Inheritance, Polymorphism, & Testing"38:25

"The Clean Code Talks -- Inheritance, Polymorphism, & Testing"

Google TechTalks
438K views • 17 years ago
"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)43:04

"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)

Strange Loop Conference
468K views • 4 years ago
Brian Goetz - Stewardship: the Sobering Parts1:03:31

Brian Goetz - Stewardship: the Sobering Parts

ClojureTV
39K views • 11 years ago
Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure53:56

Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure

jasonofthel33t
119K views • 13 years ago
Anthony Marcar - Clojure At Scale @WalmartLabs39:41

Anthony Marcar - Clojure At Scale @WalmartLabs

ClojureTV
24K views • 11 years ago
Spec-ulation Keynote - Rich Hickey1:16:14

Spec-ulation Keynote - Rich Hickey

ClojureTV
135K views • 9 years ago
ClojureScript for Skeptics - Derek Slager41:09

ClojureScript for Skeptics - Derek Slager

ClojureTV
72K views • 10 years ago