What's the fuzz all about? Randomized data generation for robust unit testing
summary
Shows that randomized testing with the Python Hypothesis library actually finds real bugs: a Fibonacci implementation fails at a specific falsifying example (shrunken to n=71), URL quoting breaks on control characters until input alphabet is restricted, and a combinatorial optimizer enters an infinite loop for particular distributions. Demonstrates strategies, automatic shrinking, and example replay; used successfully at Blue Yonder to expose edge cases in machine learning pipelines.
AI-written summary · about
chapters (14)
- 0:00Intro
- 0:33Predictive analytics
- 1:01Big data
- 1:36Dynamic testing
- 3:49Precision and case coverage
- 5:50Dynamic tests
- 6:37Dynamic tests in Python
- 7:09First example
- 12:02Summary
- 12:52Toy example
- 13:19URL lip example
- 13:52Dynamic test
- 17:08Conclusion
- 18:08Questions
related talks
32mMore testing with fewer tests
30mFuzzing Testing: Practical Applications
17mStop Writing Tests!
43mOmg, how do I write software that isn't a ticking timebomb!?
01h 07mSufficiently Advanced Testing
59mTesting in Python
41mProperty Based Testing with Hypothesis: Stronger Tests, Less Work
41mProperty Based Testing in Python with Hypothesis
