Property-Based Testing with PropEr in Erlang

Property-Based Testing with PropEr in Erlang

Learn the concepts of Property-Based Testing, including writing properties and their required generators.

Intermediate

94 Lessons

17h 30min

Certificate of Completion

Learn the concepts of Property-Based Testing, including writing properties and their required generators.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

60 Playgrounds
5 Quizzes

This course includes

60 Playgrounds
5 Quizzes

Course Overview

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 wr...Show More

What You'll Learn

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.

What You'll Learn

Understand the concepts of PropEr.

Show more

Course Content

1.

Foundations of Property-Based Testing

Get familiar with property-based testing for enhanced software quality and efficient debugging.
2.

Writing Properties

Get started with defining, structuring, and executing properties using PropEr for effective testing.
3.

Thinking in Properties

Break apart the key strategies for property-based testing, including modeling, generalizing, invariants, and symmetric properties.
5.

Responsible Testing

Take a closer look at designing resilient units and integrating robust components for effective testing.
7.

Shrinking

5 Lessons

Piece together the parts of shrinking in property testing for simplified error identification.
8.

Targeted Properties

6 Lessons

Learn how to use targeted properties for efficient and dynamic property-based testing in Erlang.
12.

Conclusion

1 Lesson

Take a look at utilizing property-based testing to enhance both unit and integration testing.

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Souvik Kundu

Front-end Developer

Eric Downs

Musician/Entrepeneur

Anthony Walker

@_webarchitect_

Evan Dunbar

ML Engineer

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath