Chapter 11. Property-based and concurrency testing

This chapter covers

  • Property-based testing with QuickCheck
  • Detecting concurrency errors with Concuerror

In this final chapter (hurray!), we’ll continue our survey of some of the testing tools that are available. Chapter 10 introduced Dialyzer and type specifications. But the Erlang ecosystem has much more to offer, as the following sections will demonstrate.

First, there’s QuickCheck, a property-based testing tool. Property-based testing turns unit testing on its head. Instead of writing specific test cases, as with traditional unit testing, property-based testing forces you to express test cases in terms of general specifications. Once you have these specifications in place, the tool can ...

Get The Little Elixir & OTP Guidebook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.