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
Property-based Testing の位置付け / Intro to Propert...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takuto Wada
PRO
December 20, 2023
Programming
9k
17
Share
Property-based Testing の位置付け / Intro to Property-based Testing
2023/12/20(水)
https://findy.connpass.com/event/303813/
Takuto Wada
PRO
December 20, 2023
More Decks by Takuto Wada
See All by Takuto Wada
2026年のソフトウェア開発を考える(2026/05版) / Software Engineering Scrum Fest Niigata 2026 Edition
twada
PRO
25
15k
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
51
34k
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
46
43k
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
191
130k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
87
52k
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
37
15k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
3.8k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
15
7.8k
Other Decks in Programming
See All in Programming
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
260
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
200
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
160
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
390
RTSPクライアントを自作してみた話
simotin13
0
380
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
100
Modding RubyKaigi for Myself
yui_knk
0
820
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
130
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.2k
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
180
Oxcを導入して開発体験が向上した話
yug1224
4
260
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
11
3.1k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
280
The untapped power of vector embeddings
frankvandijk
2
1.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.5k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Producing Creativity
orderedlist
PRO
348
40k
What's in a price? How to price your products and services
michaelherold
247
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Statistics for Hackers
jakevdp
799
230k
Transcript
1SPQFSUZCBTFE5FTUJOHͷҐஔ͚ 📷🙆 🙆 5BLVUP8"%"ʢ!U@XBEBʣ ςετઓུ@ fi OEZ rev.3 %FD !'JOEZ
,OPXOLOPXO LOPXOVOLOPXO VOLOPXOVOLOPXO IUUQTQPTUTUBUVTDPNLOPXOLOPXOTLOPXOVOLOPXOTBOEVOLOPXOVOLOPXOT
5%%ͷ5 ʮςετʯͳͷͩΖ͏͔
5FTUJOHWT$IFDLJOH IUUQXXXEFWFMPQTFOTFDPNCMPHUFTUJOHWTDIFDLJOH
5IF5XP4JEFTPG4PGUXBSF5FTUJOH$IFDLJOHBOE&YQMPSJOH IUUQTXXXBHJMFDPOOFDUJPODPNBSUJDMFUXPTJEFTTPGUXBSFUFTUJOHDIFDLJOHBOEFYQMPSJOH
5IF5XP4JEFTPG4PGUXBSF5FTUJOH$IFDLJOHBOE&YQMPSJOH 5FTUJOH$IFDLJOH &YQMPSJOH IUUQTXXXBHJMFDPOOFDUJPODPNBSUJDMFUXPTJEFTTPGUXBSFUFTUJOHDIFDLJOHBOEFYQMPSJOH
ιϑτΣΞ։ൃະͱطͷਞऔΓ߹ઓ 5FTUJOH$IFDLJOH &YQMPSJOH IUUQTXXXBHJMFDPOOFDUJPODPNBSUJDMFUXPTJEFTTPGUXBSFUFTUJOHDIFDLJOHBOEFYQMPSJOH ,OPXOLOPXOˠ,OPXOLOPXO
ιϑτΣΞ։ൃະͱطͷਞऔΓ߹ઓ 5FTUJOH$IFDLJOH &YQMPSJOH IUUQTXXXBHJMFDPOOFDUJPODPNBSUJDMFUXPTJEFTTPGUXBSFUFTUJOHDIFDLJOHBOEFYQMPSJOH ,OPXOVOLOPXOˠ,OPXOLOPXO
͕ࣗΒͳ͍ͷΛ୳ࡧʢ&YQMPSFʣͰ͖Δ͔ ͋ͳ͕ͨίʔυΛهड़͠ɺςετΛهड़͢Δͱ͍͏߹ɺͦͷํʹޡͬͨԾఆ͕ ·͗Ε͜ΜͰ͠·Θͳ͍ͷͰ͠ΐ͏͔ ͋ͳͨͷཧղʹج͍ͮͯͷ͝ͱ͕ਐΉҎ্ɺίʔυςετΛύε͢ΔͣͰ͢ɻ ʰୡਓϓϩάϥϚʔୈ൛ʱQQ IUUQTXXXPINTIBDPKQCPPL
͕ࣗΒͳ͍ͷΛ୳ࡧʢ&YQMPSFʣͰ͖Δ͔ 5FTUJOH$IFDLJOH &YQMPSJOH IUUQTXXXBHJMFDPOOFDUJPODPNBSUJDMFUXPTJEFTTPGUXBSFUFTUJOHDIFDLJOHBOEFYQMPSJOH ͩΕ͕Δ
୳ࡧతςετະ͔Βط 63- IUUQTQSBHQSPHDPNUJUMFTFIYUBFYQMPSFJU
͔͠͠ʜʜ
ۀ͢ΔͱࣦΘΕΔͷ͕͋Δ ͜ͷΛճආ͢Δͭͷํ๏ɺผͷਓʹςετΛهड़ͯ͠Βͬͯίʔυͷςε τΛ࣮ࢪ͢Δͱ͍͏ͷͰ͕͢ɺզʑ͜ͷํ๏Λ·͍͠ͱߟ͍͑ͯ·ͤΜɻ ͱ͍͏ͷɺʮίʔυͷͨΊͷςετʯͰॻ͍ͨΑ͏ʹɺςετʹ͍ͭͯߟ͑Δ͜ͱ Ͱɺهड़͢Δίʔυ͕దͳͷʹͳ͍ͬͯ͘ͱ͍͏େ͖ͳར͕͋ΔͨΊͰ͢ɻ ςετͱίʔσΟϯάΛׂͯ͠͠·͑ɺ͜ͷར͕ࣦΘΕͯ͠·͏ͷͰ͢ɻ ʰୡਓϓϩάϥϚʔୈ൛ʱQ IUUQTXXXPINTIBDPKQCPPL
ۀ͢ΔͱࣦΘΕΔͷ͕͋Δ IUUQTXXXBNB[PODPKQEQ ։ൃऀ͕ςετͷ࡞ɾཧʹؔ༩͢ΔͱɺͭͷॏཁͳޮՌ͕ੜ͡Δ ։ൃऀ͕ςετΛ࡞͢Δͱίʔυ͕ΑΓςετՄೳͳͷʹͳΔ ࣗಈςετʹର͢ΔΛ։ൃऀ͕ෛ͏ͱɺςετʹର͢Δҙ͕ࣝߴ·Γɺ ͦͷཧमਖ਼ʹΑΓྗ͢Δ͜ͱʹͳΔ ʰ-FBOͱ%FW0QTͷՊֶʱQʢ˞༁ΛҰ෦มߋʣ
ͦ͜Ͱ1SPQFSUZCBTFE5FTUJOHͰ͢Α ͦ͏Ͱͳ͘զʑɺ͋ͳͨͷ๊͘༧Λڞ༗͍ͯ͠ͳ͍ίϯ ϐϡʔλʔ͕ɺ͋ͳͨͷͨΊʹςετΛ࣮ࢪ͢Δͱ͍͏ସ͕ దͩͱߟ͍͑ͯ·͢ɻ ʰୡਓϓϩάϥϚʔୈ൛ʱQ IUUQTXXXPINTIBDPKQCPPL
1SPQFSUZCBTFE5FTUJOHͷҐஔ͚ʢࢲݟʣ IUUQTXXXPINTIBDPKQCPPL
1#5ͱʢ&YBNQMFCBTFE5FTUJOHʣ૬ޓิͷؔ ϓϩύςΟʔϕʔεͷςετɺෆมੑͱܖͱ͍͏؍͔Βίʔυʹ͍ͭͯߟ͑ͤͯ͘͞ΕΔ ͷͰ͢ɻͭ·Γɺมߋ͍͚ͯ͠ͳ͍ͷԿ͔ͱɺຊͷͷԿ͔ͱ͍͏͜ͱΛߟ͑ͤͯ͞ ͘ΕΔΘ͚Ͱ͢ɻ͜͏͍ͬͨಎΛՃ͑Δ͜ͱͰɺίʔυʹຐ๏͕͔͔Γɺڥք݅ͷᐆດ͕͞ ফ͑ڈΓɺ߹ੑͷͳ͍ঢ়ଶʹσʔλΛஔ͘ػೳʹޫ͕ͨΔͷͰ͢ɻ զʑϓϩύςΟʔϕʔεͷςετ͕ϢχοτςετΛิ͢Δͷͩͱ֬৴͍ͯ͠·͢ɻϓϩ ύςΟʔϕʔεͷςετ͞·͟·ͳݒ೦ʹऔΓΈɺͦΕͧΕݻ༗ͷརΛͨΒͯ͘͠ΕΔ ͷͰ͢ɻ ʰୡਓϓϩάϥϚʔୈ൛ʱQ IUUQTXXXPINTIBDPKQCPPL
ZNPUPOHQPP͞Μੌ͍ʢϤΠγϣʣ ,OPXOVOLOPXOʹ Ξϓϩʔν͢Δख๏ 6OLOPXOVOLOPXOʹ Ξϓϩʔν͢Δख๏
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ςετઓུ@ fi OEZ