Sufficiently Advanced Testing
summary
Covers concrete techniques and working demos: Hypothesis minimization that automatically shrinks failing cases to a tiny repro, implementations of fuzzing driven by coverage, concolic execution and SAT‑solver use for finding path constraints, and higher‑level ideas like swarm testing and targeted property‑based testing. Shows a real bug found in the CPython parser, explains parser‑combinator strategies, and ends with an actionable takeaway: pip install hypothesis and write a round‑trip property test on Monday.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 1:36Outline
- 7:00exhaustive testing
- 8:46random input
- 11:16randomness
- 14:37code coverage
- 17:19percentage coverage
- 18:32fuzzing
- 22:01Propertybased testing
- 26:09Hypothesis overview
- 27:05Automating hypothesis
- 30:00Unit tests
- 35:44Cutting edge techniques
- 37:12Swarm testing
- 39:30Targeted property based testing
- 42:14Symbolic execution
- 44:11Sat solver
- 46:23Constructing programs
- 48:09Installing Hypothesis
- 49:46Migrating a single test
- 52:45Refactoring the test
related talks
27mTesting Beyond Examples: Property Based Testing with Hypothesis
32mMore testing with fewer tests
30mStop Writing Tests!
17mStop Writing Tests!
01h 31mIntroduction to Property-Based Testing
27mHypothesis: Simpler Powerful Test Cases
41mProperty Based Testing with Hypothesis: Stronger Tests, Less Work
41mProperty Based Testing in Python with Hypothesis
