Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lunch & Learn - Property Based Testing
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Mickael Metesreau
December 21, 2016
Programming
65
0
Share
Lunch & Learn - Property Based Testing
Mickael Metesreau
December 21, 2016
More Decks by Mickael Metesreau
See All by Mickael Metesreau
Fear the Ponies
mmetesreau
0
160
Alt.Net Talks - Make type system great again
mmetesreau
0
91
Alt.Net Talks - The Actor Model
mmetesreau
0
52
Betclic Dojo - Where is Fluffy?
mmetesreau
0
75
Mini training - EventStore
mmetesreau
0
71
Alt.Net Talks - EdgeJs
mmetesreau
0
300
Betclic Dojo - Extreme Carpaccio
mmetesreau
0
130
Betclic Dojo - Game of life
mmetesreau
0
43
Mini training - Containerization and Docker
mmetesreau
0
450
Other Decks in Programming
See All in Programming
「速くなった気がする」をデータで疑う
senleaf24
0
110
安いハードウェアでVulkan
fadis
1
850
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
140
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
270
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
130
PHPで TLSのプロトコルを実装してみる
higaki_program
0
610
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
160
Nuxt Server Components
wattanx
0
220
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.5k
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
4
2.2k
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
Claude Codeログ基盤の構築
giginet
PRO
7
3.8k
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
Believing is Seeing
oripsolob
1
100
The SEO identity crisis: Don't let AI make you average
varn
0
430
The untapped power of vector embeddings
frankvandijk
2
1.6k
エンジニアに許された特別な時間の終わり
watany
106
240k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Become a Pro
speakerdeck
PRO
31
5.9k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
260
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
160
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
170
Transcript
Lunch & Learn Property based Testing
What is a Property? Something always true in a given
context
Could be Strong The total is the sum of the
elements The answer is always 42 …
But most of the time, it’s weak The appointment is
always in the future The invoice is never negative …
A test only validate one specific case
Wait, we also have parameterized tests
Yes but we go further with random generators
Let me introduce FsCheck A port of Haskell’s Quickcheck for
.NET
Generator: easily generates a number of random values for many
types Shrinker: tries to find the mininal counter example that still fails the property
None
Property based testing don’t replace unit testing
Property based testing test a lot of random cases cheaply
Random??? So what does green mean? Testing show the presence,
not the absence of bug E. W. Dijktra
Finding good properties is hard
But it is worth to think about general properties of
your business
Thanks QuickCheck: A Lightweight Tool for Random Testing of Haskell
Programs http://www.cs.tufts.edu/~nr/cs257/archive/john-hughes/quick.pdf An introduction to property-based testing http://fsharpforfunandprofit.com/posts/property-based-testing/ FsCheck https://fscheck.github.io/FsCheck/