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
良いテストデータ、悪いテストデータ / testdata-antipattern
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
fortkle
October 08, 2017
Technology
7k
4
Share
良いテストデータ、悪いテストデータ / testdata-antipattern
PHPカンファレンス2017 LT
fortkle
October 08, 2017
More Decks by fortkle
See All by fortkle
無駄な物をなるべく作らないリプレイス戦略 / replace-strategy-phperkaigi2021
fortkle
1
2.6k
フルリモート時代のカンバン運用 / kanban-operation-in-remote
fortkle
0
760
GitHub Actionsで始めるPHPアプリケーションのCI実践入門 / ga-phperkaigi2020
fortkle
3
4.9k
余裕を生み出すコードレビュー 〜レビュイー編〜 / code-review-phpcon-2019
fortkle
8
7.5k
「設計振り返り」を始めてみようと思っている話 / architecture reflection
fortkle
3
620
「ママ向けNo.1アプリ」の 更なる成長を支える仕組み / startup-engineer-night-connehito
fortkle
2
350
BackstopJSで始める CSSリグレッションテスト / backstopjs-css-test
fortkle
0
1.6k
PhpStorm導入アンチパターン / phpstorm-anti-pattern
fortkle
0
2.2k
やさしいコーディング規約の導入〜その後〜 / yasashii-sonogo
fortkle
7
3.7k
Other Decks in Technology
See All in Technology
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
120
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
1.1k
実装は速くなった、レビューはどうする? ― 自身のレビューをAIで再現させるサーヴァントエンジニアリングのすゝめ / Implementation got faster. So what about reviews? — An invitation to Servant Engineering: Recreating your own code reviews with AI
nrslib
6
3.1k
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
130
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
1k
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
210
Dynamic Workersについて
yusukebe
2
580
トークン数だけでは測れない — Claude Code 組織展開の効果検証から学んだこと
makikub
0
120
美味しいスイスチーズを作ろう🧀🐭
taigamikami
1
230
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
320
Databricks 月刊サービスアップデート 2026年05月号
tyosi1212
0
200
Ruby::Boxでできること、Refinementsでできること
joker1007
3
380
Featured
See All Featured
Accessibility Awareness
sabderemane
1
130
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
30 Presentation Tips
portentint
PRO
1
310
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
190
Designing Powerful Visuals for Engaging Learning
tmiket
1
390
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Amusing Abliteration
ianozsvald
1
190
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
Transcript
ߴߊ!GPSULMF ྑ͍ςετσʔλɺ ѱ͍ςετσʔλ 1)1ΧϯϑΝϨϯε-5
ߴɹߊ !GPSULMF !GPSULMF ίωώτגࣜձࣾɹΤϯδχΞ
ίωώτ։ൃऀϒϩάͬͯ·͢ʂ
ͯ͞ɺࠓʮςετσʔλʯͷ
ςετσʔλʁ w ։ൃεςʔδϯάڥͰ͏ σʔλϕʔεͷσʔλͷ͜ͱ w σʔλϕʔεͷσʔλ͕ඞཁͳ ࣗಈςετͰ͏σʔλͷ͜ͱ
ςετσʔλʁ w ։ൃεςʔδϯάڥͰ͏ σʔλϕʔεͷσʔλͷ͜ͱ w σʔλϕʔεͷσʔλ͕ඞཁͳ ࣗಈςετͰ͏σʔλͷ͜ͱˡࠓͪ͜Β
ࠓͦΜͳςετσʔλͷ
Πέͯͳ͍ྫΛհ͠·͢
ͦͷᶃ ຊ൪%#ΛEVNQͨ͠ςετσʔλ
ͦͷᶃ ຊ൪%#ΛEVNQͨ͠ςετσʔλ w ຊ൪εςʔδϯάͷ%#͔ΒσʔλΛEVNQ w ͦΕΛͦͷ··ࣗಈςετͷςετσʔλͱͯ͠͏ w ςετͱؔͳ͍σʔλ͕େྔʹൃੜ w શͯϝϯςφϯε͠ͳ͍ͱ͍͚ͳ͍ͱͨ͠Β࠷ѱ
w ͔͠େྔͳ͍ͤͰεϩʔςετʹʜ
ͦͷᶄ ҙຯͷͳ͍จࣈྻͷςετσʔλ
DMBTT"SUJDMFT'JYUVSFFYUFOET5FTU'JYUVSF \ QVCMJDSFDPSET< < UJUMF͋͋͋͋͋͋ CPEZ͋͋͋͋͋͋ TVCUJUMFb͋͋͋͋͋͋
DSFBUFE NPEJpFE > ʜ ུ ʜ > ͦͷᶄ ҙຯͷͳ͍จࣈྻͷςετσʔλ
ͦͷᶄ ҙຯͷͳ͍จࣈྻͷςετσʔλ w ʮςετͰ͋Δʯͱ͍͏͜ͱ͔Δ͚Ͳʜ w ҰମԿͷσʔλͳͷ͔ύοͱݟͰ͔Βͳ͍ w ςετͷʮҙਤʯ͕͔ΓͮΒ͍
ͦͷᶅ ݸਓͷओு͕ग़͍͗ͯ͢Δ ςετσʔλ
DMBTT"SUJDMFT'JYUVSFFYUFOET5FTU'JYUVSF \ QVCMJDSFDPSET< < UJUMFຐ๏͔͍ͭϓϦΩϡΞʂ CPEZຐ๏ͷ͜ͱʰΩϡΞοϓὑϥύύʱͰ ;ͨͭͷੈք͕͍·ͭͳ͕Δ TVCUJUMFb·΄ϓϦ
DSFBUFE NPEJpFE > ʜ ུ ʜ > ͦͷᶅ ݸਓͷओு͕ग़͍͗ͯ͢Δςετσʔλ
ͦͷᶅ ݸਓͷओு͕ग़͍͗ͯ͢Δςετσʔλ w ͔ͨ͠ʹʮҙຯʯ͋ΔΜ͚ͩͲʜ w ͍ผʹؒҧ͍ͬͯͳ͍Μ͚ͩͲͶʜ w ࠓޙϝϯς͠ଓ͚ΔΜ͔ͩΒ ͤΊͯޙʹݟͯʹͳΒͳ͍ํ͕·͍͠ΑͶʜ w
ΈΜͳೲಘͳΒͦΕͦΕͰΞϦ
ͦͷᶆ ߹ੑ͕औΕ͍ͯͳ͍ςετσʔλ
ͦͷᶆ ߹ੑ͕औΕ͍ͯͳ͍ςετσʔλ DMBTT"SUJDMFT'JYUVSFFYUFOET5FTU'JYUVSF \ QVCMJDSFDPSET< < UJUMF࠷ॳͷهࣄ CPEZ࠷ॳͷهࣄͷຊจ
TVCUJUMFb࠷ॳͷهࣄͷαϒλΠτϧ DSFBUFE NPEJpFE > ʜ ུ ʜ >
ͦͷᶆ ߹ੑ͕औΕ͍ͯͳ͍ςετσʔλ w ʮొ࣌ʯΑΓʮߋ৽࣌ʯͷํ͕ݹ͍ w ෆ҆ఆͳڍಈΛট͘ͷͰɺςετσʔλͱͯ͠ ద͍ͯ͠ͳ͍ w ҟৗܥͷςετσʔλͷཧʹ͍ͭͯޙड़
ͦͷᶇ Ұຕؠͷڊେͳςετσʔλ
ͦͷᶇ Ұຕؠͷڊେͳςετσʔλ w ӡ༻͢Δͱؾ͍ͨΒ'JYUVSF͕ઍߦʹʜ w ׂ͞Εͣʹɺͦͷ'JYUVSF͕ͯ͢ͷؔ࿈͢Δ ςετέʔεͰΘΕ͍ͯΔ w "ͷͨΊʹमਖ਼ͨ͠Βແؔͳ#ͷςετ͕ࣦഊʜ w
"ͷςετέʔεͰຊʹඞཁͳςετσʔλ͕ ͲΕͳͷ͔͔Βͳ͍
ͦͷᶈ ՕॴͰ͔͠Θͳ͍ͷʹ ଞͰಡΈࠐ·ΕΔςετσʔλ
ͦͷᶈ ՕॴͰ͔͠Θͳ͍ͷʹ ଞͰಡΈࠐ·ΕΔςετσʔλ w 'JYUVSFΛ͍ͬͯΔͱΑ͋͘Δ w ॳΊ৭ΜͳςετͰΘΕΔجૅతͳ 'JYUVSFͱͯ͠ઃܭ͢Δʜ w ͕࣌ؒܦͭʹͭΕͯςϯϙϥϦʔͳ'JYUVSF͕૿͑ͯ͘Δ
w ݁Ռɺ'JYUVSF͕ංେԽ͕ͪ͠
ͱɺ͜͜·ͰΠέͯͳ͍ྫΛ ݟ͖ͯ·͕ͨ͠
ΠέͯΔςετσʔλΛ࡞ΔͨΊͷ
ͭͷϙΠϯτ հ͍ͨ͠ͱࢥ͍·͢ɻ
ϙΠϯτᶃ࠷খݶ w ςετͰݕূ͢Δಈ࡞ͷͨΊʹඞཁͳͷ͚ͩ ςετσʔλʹؚΉΑ͏ʹઃܭ͢Δ w εϩʔςετΛආ͚Δ͜ͱ͕Ͱ͖Δ w ࠷খݶͳͷͰςετ͕ཧղ͍͢͠ w ޙड़ͷ'BDUPSZΛ͏ͱڞ௨ͷ'JYUVSFΛগͳ͘Ͱ͖Δ
ϙΠϯτᶄҙຯͷ͋Δσʔλ w ൚༻తͳσʔλΑΓ࣮ࡍͷΧϥϜͱ͍ۙ͠ҙຯͷ͋Δ σʔλΛ࡞Δ w ΑΓཧղ͍͢͠ w ΑΓ࣮ࡍͷΘΕํʹ͍ۙঢ়ଶͰςετͰ͖Δ w 'BLFSͳͲͷμϛʔσʔλΛੜ͢ΔϥΠϒϥϦΛ
͏ͱศར w -BSBWFMඪ४උ w ͦͷଞͷ'8؆୯ʹར༻Մ
ϙΠϯτᶅదͳׂ w దͳཻͰςετσʔλΛׂ͢Δ w ྫ͑ɺڞ௨ͷ'JYUVSFͱίϯςΩετຖͷ 'JYUVSFʹׂ w ϚελʔܥͷςʔϒϧͷσʔλͳͲڞ௨Խ w ͦΕҎ֎ίϯςΩετຖʹݸผʹ'JYUVSFΛ࡞Δ
ϙΠϯτᶆྫ͑'BDUPSZΛ͏ w 'JYUVSFςετσʔλࣗମ w 'BDUPSZςετσʔλͷεέϧτϯ w 3VCZͰݴ͏ͱ͜Ζͷ'BDUPSZ(JSM w -BSBWFMͩͱ.PEFM'BDUPSZ͕͑Δ w
'BDUPSZΛ͏ͱςετϝιουͰ ؆୯ʹςετσʔλΛ࡞ΕΔ w ҟৗܥͷςετͷͱ͖ʹศར
ϙΠϯτᶆྫ͑'BDUPSZΛ͏ w ྫ͑-BSBWFMͷ.PEFM'BDUPSZͰ ͜Μͳ෩ʹఆٛ͢Δͱ "SUJDMFϞσϧͷ'BDUPSZΛఆٛ GBDUPSZEFpOF "QQa.PEFMa"SUJDMFDMBTT GVODUJPO 'BLFSGBLFS \
SFUVSO< UJUMFGBLFSUJUMF DPOUFOUGBLFSQBSBHSBQI VTFS@JEGVODUJPO \ SFUVSOGBDUPSZ "QQa6TFSDMBTT DSFBUF JE ^ > ^
ϙΠϯτᶆྫ͑'BDUPSZΛ͏ w ؆୯ʹςετσʔλΛੜˍऔಘͰ͖Δ w ଐੑͷΦʔόʔϥΠυͰҟৗܥͷσʔλ؆୯ʹ࡞ ϢʔβʔͷςετσʔλΛੜ VTFSGBDUPSZ "QQa6TFSDMBTT NBLF
ෆਖ਼ͳϢʔβʔͷςετσʔλΛੜʢOBNF͕͍Ϣʔβʔʣ VTFSGBDUPSZ "QQa6TFSDMBTT NBLF < OBNFणݶແणݶແޒ߷ͷࡲΓΕւ࠭རਫڕͷਫߦ >
·ͱΊ w Πέͯͳ͍ྫʹؾΛ͚ͭΑ͏ w ΑΓྑ͍ςετσʔλΛ࡞ΔϙΠϯτΛߟ͑Α͏ w ᶃ࠷খݶ w ᶄҙຯͷ͋Δσʔλ w
ᶅదͳׂ w ᶆྫ͑'BDUPSZΛ͏
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠