PropEr
PropEr is a tool for the automated, semi-random, property-based testing of Erlang and Elixir programs.
Foundations of Property-Based Testing
If example-based testing helps ensure that code does what we expect, Property-Based Testing forces the exploration of the program’s behavior to see what it can or cannot do, helping find whether our expectations were even right to begin with. In fact, when we test with properties, the design and growth of tests requires an equal part of growth and design of the program itself.