Functions and Determinism in Property-based Testing - Lecture 9
Offered By: ChariotSolutions via YouTube
Course Description
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
Related Courses
Functional Programming Principles in ScalaÉcole Polytechnique Fédérale de Lausanne via Coursera Functional Program Design in Scala
École Polytechnique Fédérale de Lausanne via Coursera Paradigms of Computer Programming
Université catholique de Louvain via edX Introduction to Functional Programming
Delft University of Technology via edX Paradigms of Computer Programming – Fundamentals
Université catholique de Louvain via edX