FREEDOM251

Freedom251 › Property-Based Testing Tools

PropEr

Free plan Self-hosted

Visit PropEr Alternatives Pricing

PropEr's own site

What PropEr is

PropEr is a free, self-hosted testing tool for Erlang programs. It automates semi-random property-based tests and can generate input data from Erlang type declarations. It can also test functions using information in their Erlang specifications, while properties are written as Erlang expressions with predefined macros. For stateful systems, PropEr supports model-based random testing; recent releases also support targeted property-based testing using search-based techniques. The project supports EUnit and Common Test, as well as failing-case shrinking. Its generator language differs from Erlang's type language for lists: generators can specify list lengths and element types. Custom generators can express constraints that Erlang types cannot, though filtering may keep generating random values until one passes. The user guide describes getting the source from GitHub and compiling with make, or installing through Homebrew. PropEr is distributed under GPL version 3 or later. The project invites comments, bug reports, patches, and other contributions through its website, GitHub, or email.

Who it suits

PropEr is for developers testing Erlang programs, especially pure functions and library modules for stateful code. It suits teams that use EUnit or Common Test and want generated test data or shrinking of failing cases.

What it does well

  • Generates data from Erlang type declarations
  • Can test functions using Erlang specifications
  • Supports EUnit and Common Test
  • Includes failing-case shrinking

What to know first

  • Designed for Erlang programs
  • Filtering may keep trying values until one passes
  • Requires a self-hosted installation

Plans

PlanBilled and limitsPrice
PropErOpen-source software · GPL version 3 or laterFree

As proper-testing.github.io lists them, read 5 Oct 2026. The maker's own page has the final word.

Getting started

  1. Visit the PropEr project website.
  2. Obtain the source from GitHub, or install PropEr with Homebrew.
  3. If building from source, compile it with make.
  4. Use the guide's instructions to work with EUnit, including shared ?LET macro handling and captured output.

Verdict

PropEr offers property-based and model-based random testing for Erlang, with integration options for common Erlang test runners. Its generator and type languages differ for list expressions, and filtering can require repeated attempts.

Questions

How much does PropEr cost?

The listed plan is free. PropEr is free open-source software under GPL version 3 or later.

Which programming language does PropEr support?

PropEr is designed for Erlang programs.

Which test runners does it support?

PropEr supports EUnit and Common Test. Its guide also describes using it with EUnit.

Can PropEr test stateful systems?

Yes. It can run model-based random testing for stateful systems.

How can I install PropEr?

The user guide describes getting source from GitHub and compiling it with make, or installing with Homebrew.

Is PropEr open source?

Yes. It is distributed under the GPL, version 3 or later.

Facts from PropEr's own pages

Automatic testing
PropEr can test functions automatically using information in their Erlang specifications. · proper-testing.github.io, 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, 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, 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, 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, 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, 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, 5 Oct 2026
License
PropEr is open-source software distributed under the GPL, version 3 or later. · proper-testing.github.io, 5 Oct 2026
Properties
Properties are written using Erlang expressions with predefined macros. · proper-testing.github.io, 5 Oct 2026
Purpose
PropEr is a tool for automated, semi-random, property-based testing of Erlang programs. · proper-testing.github.io, 5 Oct 2026
Stateful testing
It can also be used for model-based random testing of stateful systems. · proper-testing.github.io, 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, 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, 5 Oct 2026

Where PropEr stands on Freedom251

Look at these too