Everything you always wanted to know about testing on the BEAM (online)

Brujo Benavides



virtual half-day tutorial


During the training we’ll start with the basics: you will first learn how to apply Test-Driven Development to your first Erlang projects and how to use this methodology as a tool to learn the language.

Then, we’ll switch our focus to the most commonly used test frameworks: eUnit and common-test. We’ll talk about their characteristics and give some recommendations to determine when and how to use each one of them.

We’ll later focus on some scenarios that are particular to Erlang and we’ll explain how to write good tests for them. We’ll cover the writing of tests for…

Asynchronous processes with side-effects. Implementations of OTP behaviours. Custom behaviour definition and implementations. Modules with external dependencies. Multi-node systems.

To conclude, we’ll shift our attention to Property-Based Testing and we’ll talk about how this testing methodology can be used to better test your software; we’ll explain the ins and outs of how to use a PBT tool, such as PropEr, the differences between stateless and stateful properties, and when to use each.

You will leave the training with a new-found (or a reinvigorated) passion for testing, and with more tools in your repertoire to catch bugs in the future to come!

OBJECTIVES: Through this training, the students will learn everything they need to know in order to start writing well-tested and, therefore, more maintainable Erlang systems.

PREREQUISITES: Students need to have Erlang 25+, rebar3.20+, and their favourite text editor installed on their machines. Although we’ll start with the basics, it’s recommended to be at least a little familiar with the Erlang compiler and shell, as well as rebar3.

Experience level: