Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Functions and Determinism in Property-based Testing - Lecture 9

ChariotSolutions via YouTube

Overview

Explore the intricacies of property-based testing in this comprehensive conference talk from Philly ETE 2017. Delve into the fundamentals of property-based testing, its implementation, and its inner workings using ScalaCheck as a primary example. Learn how to identify and test code properties and invariants to create more effective and engaging tests. Gain insights into the anatomy of generators, the importance of determinism, and the role of random-number generators in property-based testing. Discover advanced concepts such as maps, flatMaps, and lazy evaluation in the context of test generation. Examine real-world case studies, including examples from archery and Jawnspire, to understand the practical applications of property-based testing. By the end of this talk, acquire the knowledge necessary to start developing your own property-based testing framework and apply these concepts across various programming languages.

Syllabus

Intro
who am I?
what will this talk cover?
origin story
the basic idea
false positives
case 1: archery
case 2: Jawn
spire
case study summary
what are we missing?
A WARNING A
anatomy of a generator
why determinism?
anatomy of a random-number generator
Introducing map
simple generators (revisited)
testing it out!
simple generators (summary)
Introducing flatMap
fancy generators (revisited)
even more generators
fancy generator (summary)
a challenger appears!
putting the lazy in fp
taking a step back
leap of faith
explore the space
polishing it up
tying up loose ends
turn it up to 11
jawn, revisited
how does Gen really work?
a terrible price
recommendations
what we saw

Taught by

ChariotSolutions

Reviews

Start your review of Functions and Determinism in Property-based Testing - Lecture 9

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.