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 Property-based Testing
Search
Takuto Wada
PRO
December 20, 2023
Programming
10
3.3k
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
自動テスト実行結果の目的を整理する / Organizing objectives of automated test results
twada
PRO
10
2.3k
変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition
twada
PRO
19
8.8k
実録レガシーコード改善 / Working with Legacy Code: the True Record
twada
PRO
82
34k
Second-System Syndrome: A tale of power-assert
twada
PRO
9
4.2k
技術選定の審美眼(2023年版) / Understanding the Spiral of Technologies 2023 edition
twada
PRO
76
27k
質とスピード(AWS Dev Day 2023 Tokyo 特別編、質疑応答用資料付き) / Quality and Speed AWS Dev Day 2023 Tokyo Edition
twada
PRO
60
30k
サバンナ便り〜自動テストに関する連載で得られた知見のまとめ(2023年5月版)〜 / Automated Test Knowledge from Savanna 202305 edition
twada
PRO
24
18k
サバンナ便り〜自動テストに関する連載で得られた知見のまとめ〜
twada
PRO
19
6.6k
組織に自動テストを書く文化を根付かせる戦略(2022秋版) / Building Automated Test Culture 2022 Autumn Edition
twada
PRO
38
25k
Other Decks in Programming
See All in Programming
見た目から始める生産性向上
ikumatadokoro
8
990
ゆるい個人開発のススメ
kuroppe1819
10
1k
Goのmultiple errorsについて (2024年4月版)
syumai
4
1k
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
390
Fragment Composition of GraphQL
quramy
7
1k
Netty Chicago Java User Group 2024-04-17
sullis
0
180
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
大規模Reactアプリのリアーキテクチャ~8万行のTanStack Query移行の軌跡~
kj455
4
970
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
try! Swift Tokyo 初参加報告LT
hinakko2
0
220
Hanami and htmx
bkuhlmann
0
210
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
Featured
See All Featured
A Tale of Four Properties
chriscoyier
151
22k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Making Projects Easy
brettharned
108
5.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Git: the NoSQL Database
bkeepers
PRO
422
63k
Raft: Consensus for Rubyists
vanstee
132
6.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
A designer walks into a library…
pauljervisheath
200
23k
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