DRMacIver's Notebook

Etymology of property-based testing

Etymology of property-based testing

Fun Fact: People say that property-based testing was invented in Haskell but this isn’t actually true. Property-based testing was invented in Erlang.

QuickCheck was invented in Haskell, but they didn’t start referring to it as property based testing until the Erlang version of QuickCheck. The term was then widely adopted and came to include the original Haskell QuickCheck too.

The first time that the term “property-based testing” was used for this style of testing was in 2006, in “Testing telecoms software with Quviq QuickCheck”. I asked John Hughes about this and he says that they were pushed into giving it a better name by Ulf Wiger.

Funnily, there’s a much earlier usage of the term property-based testing, in the work of George Fink leading up to his PhD thesis. I didn’t really look into his system in detail, and it doesn’t seem to have taken off, but as far as I can tell there’s not much relationship between the two concepts.