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
Takuto Wada
PRO
December 20, 2023
Programming
11
6.2k
Property-based Testing の位置付け / Intro to Property-based Testing
2023/12/20(水)
https://findy.connpass.com/event/303813/
Takuto Wada
PRO
December 20, 2023
Tweet
Share
More Decks by Takuto Wada
See All by Takuto Wada
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
10
5.2k
これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
twada
PRO
26
17k
開発生産性の観点から考える自動テスト(2024/06版) / Automated Test Knowledge from Savanna 202406 Findy dev-prod-con edition
twada
PRO
30
21k
自動テスト実行結果の目的を整理する / Organizing objectives of automated test results
twada
PRO
14
3k
変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition
twada
PRO
22
12k
実録レガシーコード改善 / Working with Legacy Code: the True Record
twada
PRO
96
41k
Second-System Syndrome: A tale of power-assert
twada
PRO
10
4.8k
技術選定の審美眼(2023年版) / Understanding the Spiral of Technologies 2023 edition
twada
PRO
118
41k
Other Decks in Programming
See All in Programming
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
880
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
330
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.8k
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
330
Quine, Polyglot, 良いコード
qnighy
4
640
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
280
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
150
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
860
Amazon Qを使ってIaCを触ろう!
maruto
0
400
as(型アサーション)を書く前にできること
marokanatani
9
2.6k
Featured
See All Featured
Scaling GitHub
holman
458
140k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Agile that works and the tools we love
rasmusluckow
327
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
GitHub's CSS Performance
jonrohan
1030
460k
Code Review Best Practice
trishagee
64
17k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Why Our Code Smells
bkeepers
PRO
334
57k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
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