Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Property-Based Testing Tools
  3. PropEr

PropEr

What it is

PropEr is free, open-source software for automated, semi-random property-based testing of Erlang programs. It can generate test data from Erlang type declarations and test functions using information in their specifications. Properties are written as Erlang expressions with predefined macros. For stateful systems, PropEr supports model-based random testing, and recent releases add targeted property-based testing using search-based techniques. The tool works with EUnit and Common Test and supports shrinking failing cases. Its generator language differs from Erlang’s type language for list expressions, so generators can describe particular lengths and element types. Custom generators express constraints that Erlang types cannot, although filtering may continue trying random values until a generated value passes. The user guide describes obtaining source from GitHub, compiling with make, or installing through Homebrew. PropEr is self-hosted and distributed under GPL version 3 or later.

For and against

For

  • Generates data from Erlang type declarations
  • Supports stateful model-based testing
  • Includes targeted property-based testing
  • Works with EUnit and Common Test
  • Shrinks failing cases

Against

  • Focused on Erlang programs
  • Filtering may keep trying random values
  • Self-hosted installation is required
  • Generator and type languages differ for lists

The verdict

PropEr offers a broad property-based testing workflow for Erlang, including stateful and targeted approaches. Its open-source license and test-runner integrations suit teams comfortable managing the tool themselves.

Who it suits

It is designed for developers testing Erlang programs, especially pure functions and library modules for stateful code. Teams using EUnit or Common Test can connect it to those runners.

Plans and prices

PropEr

Free

Open-source software · GPL version 3 or later

Every plan, in full

On the record

Automatic testing
PropEr can test functions automatically using information in their Erlang specifications.proper-testing.github.io · read 5 Oct 2026
Constraints
Constraints that cannot be expressed in Erlang's type language can be expressed with custom generators; the FAQ cautions that filtering may keep trying random values until one passes.proper-testing.github.io · read 5 Oct 2026
Erlang types
Erlang type declarations can be used as input specifications, and PropEr can generate data from them.proper-testing.github.io · read 5 Oct 2026
Installation
The user guide describes obtaining source from GitHub, compiling it with make, or installing it with Homebrew.proper-testing.github.io · read 5 Oct 2026
Integrations
The user guide explains using PropEr with EUnit and describes handling a shared ?LET macro and captured output.proper-testing.github.io · read 5 Oct 2026
Intended users
PropEr is designed for testing programs written in Erlang, with a focus on pure functions and library modules for stateful code.proper-testing.github.io · read 5 Oct 2026
Known limitation
PropEr's generator language and Erlang type language differ for list expressions, allowing generators to specify lists of particular lengths and element types.proper-testing.github.io · read 5 Oct 2026
License
PropEr is open-source software distributed under the GPL, version 3 or later.proper-testing.github.io · read 5 Oct 2026
Properties
Properties are written using Erlang expressions with predefined macros.proper-testing.github.io · read 5 Oct 2026
Purpose
PropEr is a tool for automated, semi-random, property-based testing of Erlang programs.proper-testing.github.io · read 5 Oct 2026
Stateful testing
It can also be used for model-based random testing of stateful systems.proper-testing.github.io · read 5 Oct 2026
Support
The developers invite comments, suggestions, feature requests, bug reports, patches, and other contributions through the project website, GitHub, or email.proper-testing.github.io · read 5 Oct 2026
Targeted testing
Recent releases support targeted property-based testing, which brings search-based testing techniques into property-based testing.proper-testing.github.io · read 5 Oct 2026

Alternatives to PropEr

Every alternative, ranked