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
Mickael Metesreau
December 21, 2016
Programming
69
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
170
Alt.Net Talks - Make type system great again
mmetesreau
0
93
Alt.Net Talks - The Actor Model
mmetesreau
0
57
Betclic Dojo - Where is Fluffy?
mmetesreau
0
78
Mini training - EventStore
mmetesreau
0
75
Alt.Net Talks - EdgeJs
mmetesreau
0
300
Betclic Dojo - Extreme Carpaccio
mmetesreau
0
130
Betclic Dojo - Game of life
mmetesreau
0
46
Mini training - Containerization and Docker
mmetesreau
0
470
Other Decks in Programming
See All in Programming
Claude Team Plan導入・ガイド
tk3fftk
0
240
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.3k
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
230
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
650
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
290
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
9
5.9k
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
190
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
370
FDEが実現するAI駆動経営の現在地
gonta
2
240
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
610
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
350
Featured
See All Featured
Accessibility Awareness
sabderemane
1
170
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
390
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
850
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
The untapped power of vector embeddings
frankvandijk
2
1.8k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
510
Skip the Path - Find Your Career Trail
mkilby
1
170
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
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/