AI-powered learning
Save this course
Property-Based Testing with PropEr in Erlang
Gain insights into property-based testing with PropEr in Erlang. Delve into foundational principles, common frameworks, custom data generators, and applying testing in realistic projects for robust code validation.
94 Lessons
17h 30min
Join 2.9 million developers at
Join 2.9 million developers at
LEARNING OBJECTIVES
- Understand the concepts of PropEr.
- Understand the role of generators in property in property-based testing.
- Have a clear sense where property-based testing has an advantage over EUnit tests and vice versa.
- Be able to use stateful properties with ease.
- Learn how to write State Machine Properties.
- Understand property-based testing.
Learning Roadmap
1.
Foundations of Property-Based Testing
Foundations of Property-Based Testing
Get familiar with property-based testing for enhanced software quality and efficient debugging.
2.
Writing Properties
Writing Properties
Get started with defining, structuring, and executing properties using PropEr for effective testing.
3.
Thinking in Properties
Thinking in Properties
8 Lessons
8 Lessons
Break apart the key strategies for property-based testing, including modeling, generalizing, invariants, and symmetric properties.
4.
Custom Generators
Custom Generators
13 Lessons
13 Lessons
Grasp the fundamentals of creating custom generators, resizing, transforming, and imposing restrictions tailored for precise property-based testing.
5.
Responsible Testing
Responsible Testing
9 Lessons
9 Lessons
Take a closer look at designing resilient units and integrating robust components for effective testing.
6.
Properties-Driven Development
Properties-Driven Development
9 Lessons
9 Lessons
Follow the process of properties-driven development, testing, and refining program behaviors.
7.
Shrinking
Shrinking
5 Lessons
5 Lessons
Piece together the parts of shrinking in property testing for simplified error identification.
8.
Targeted Properties
Targeted Properties
6 Lessons
6 Lessons
Learn how to use targeted properties for efficient and dynamic property-based testing in Erlang.
9.
Stateful Properties
Stateful Properties
8 Lessons
8 Lessons
Unpack the core of stateful property testing, focusing on system models, concurrency, and validation.
10.
Case Study: Bookstore
Case Study: Bookstore
11 Lessons
11 Lessons
Master the steps to implementing and refining stateful property-based testing for a complex system.
11.
State Machine Properties
State Machine Properties
11 Lessons
11 Lessons
Enhance your skills in modeling and testing systems using finite state machines.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Complete more lessons to unlock your certificate
Developed by MAANG Engineers
ABOUT THIS COURSE
Property-based testing relies on specifying some property of code, rather than unit tests which specify the expected output in response to some inputs. In this course, you’ll cover the concepts you need to get started, up to the point where you feel confident enough to use the most advanced features of PropEr with Erlang.
You’ll start smoothly with the basic and foundational principles of property-based testing. From there, you will cover some of the common frameworks, how to think in properties, how to write your own custom data generators, and more. You'll also see how you can use Property-Based Testing in a realistic project.
By the time you finish this course, you will be comfortable testing real-world applications using properties.
ABOUT THE AUTHOR
The Pragmatic Programmers
We create timely, practical books and learning resources on classic and cutting-edge topics to help you practice your craft and accelerate your career.
Trusted by 2.9 million developers working at companies
A
Anthony Walker
@_webarchitect_
E
Evan Dunbar
ML Engineer
S
Software Developer
Carlos Matias La Borde
S
Souvik Kundu
Front-end Developer
V
Vinay Krishnaiah
Software Developer
Built for 10x Developers
No Passive Learning
Learn by building with project-based lessons and in-browser code editor


Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go


Future-proof Your Career
Get hands-on with in-demand skills


AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"




MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies


Free Resources