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.7k
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
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
70
26k
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
30
9.6k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.8k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
14
6.5k
これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
twada
PRO
28
27k
開発生産性の観点から考える自動テスト(2024/06版) / Automated Test Knowledge from Savanna 202406 Findy dev-prod-con edition
twada
PRO
36
25k
自動テスト実行結果の目的を整理する / Organizing objectives of automated test results
twada
PRO
14
3.3k
変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition
twada
PRO
22
14k
実録レガシーコード改善 / Working with Legacy Code: the True Record
twada
PRO
111
51k
Other Decks in Programming
See All in Programming
보일러플레이트 코드가 진짜 나쁜 건가요?
gaeun5744
0
370
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
2
990
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
1k
自分のために作ったアプリが、グローバルに使われるまで / Indie App Development Lunch LT
pixyzehn
1
120
フロントエンドテストの育て方
quramy
9
2.5k
PHPUnit 高速化テクニック / PHPUnit Speedup Techniques
pinkumohikan
1
1.2k
アーキテクトと美学 / Architecture and Aesthetics
nrslib
12
3.1k
エンジニア未経験が最短で戦力になるためのTips
gokana
0
210
ステートソーシング型イベント駆動の視点で捉えるCQRS+ES
shinnosuke0522
1
320
複雑なフォームと複雑な状態管理にどう向き合うか / #newt_techtalk vol. 15
izumin5210
4
3k
体得しよう!RSA暗号の原理と解読
laysakura
3
530
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
730
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Designing Experiences People Love
moore
141
23k
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Statistics for Hackers
jakevdp
798
220k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Done Done
chrislema
183
16k
Building Adaptive Systems
keathley
41
2.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
12
610
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