# Lesson 6.4: Property Testing a Smart Contract

Welcome to Lesson 6.4! In this lesson, you'll learn how to use property testing by using the quick check library.

{% embed url="<https://youtu.be/pF8HpKmaQi4>" %}

{% tabs %}
{% tab title="Learning Objectives" %}
After completing this lesson, you'll be able to:

* Describe the differences between unit and property testing.
* Explain the benefits of using the quick check library for property testing.
* Create property tests by using quick check to validate smart contracts.
  {% endtab %}

{% tab title="Additional Resources" %}
To learn more about the topics covered in this lesson, we encourage you to review the following resources:

* [QuickCheck: Automatic testing of Haskell programs](https://hackage.haskell.org/package/QuickCheck)
* [Introduction to QuickCheck](http://wiki.haskell.org/Introduction_to_QuickCheck2)
  {% endtab %}
  {% endtabs %}

## Collaborate with the Pioneers Community

Remember that you can interact with the participants of the PPP through the [IOG's technical community on Discord](https://discord.gg/inputoutput) by joining the channels under the Plutus Pioneers category.

If during the program you have questions about Plutus, we invite you to share them at [Cardano Stack Exchange (CSE)](https://cardano.stackexchange.com/) by adding the `plutus-pioneer-program` tag to your question. The IOG's Education Team members will monitor these questions to support your learning journey. Whenever you share a question at CSE, you're helping to build up the Cardano and Plutus development knowledge base.

***

This work is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).

<figure><img src="https://i.creativecommons.org/l/by/4.0/88x31.png" alt="Creative Commons License BY 4.0"><figcaption></figcaption></figure>
