Powerful Testing with test.check
summary
Property-based testing library test.check generates thousands of cases from generators and finds a subtle bug in transient versus persistent set operations after 2800 random tests by exposing a hash collision between 109 and -110. It uses composable generators, automatic shrinking to minimize failures, and integrates with clojure.test. It also prototypes a deterministic scheduler that records and replays thread interleavings to expose concurrency races and return the failing schedule for reproduction.
AI-written summary · about
chapters (11)
- 0:00Intro
- 0:27performance
- 5:47quickcheck
- 6:41property-based testing
- 9:40roundtrip
- 11:00input/output relation
- 11:23generators
- 16:14shrinking
- 19:06concurrency testing
- 19:48deterministic
- 20:24based on PULSE
related talks
36mTesting Stateful and Concurrent Systems Using test.check
32mGenerative Testing: Properties, State and Beyond
20mUnlock The Power Of Property-Based Testing
33mLets Generate Tests
23mProperty based testing is a mindset
26mThe missing piece of testing
01h 00mA New Approach to Testing with ScalaCheck / Property Based Testing
42mSurprise yourself with Property Based Testing
