Property–based testing was inspired and popularized by the Haskell QuickCheck tool. It affords programmers the means to make and verify more universal statements about their code than example–based TDD tests can. We will discuss property–based testing, how it complements the TDD approach, what makes a good property, and various property–based testing tools for the Java platform, including implementations in Scala, Groovy, Clojure, and core Java.