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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
fortkle
October 08, 2017
Technology
7k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
良いテストデータ、悪いテストデータ / testdata-antipattern
PHPカンファレンス2017 LT
fortkle
October 08, 2017
More Decks by fortkle
See All by fortkle
無駄な物をなるべく作らないリプレイス戦略 / replace-strategy-phperkaigi2021
fortkle
1
2.7k
フルリモート時代のカンバン運用 / kanban-operation-in-remote
fortkle
0
770
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
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
23
7.5k
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
290
徹底討論!ECS vs EKS!
daitak
3
1.7k
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
0
330
AI Agentをシステムに組み込む前にゆるく向き合ってみる
hayama17
0
130
iOS アプリの「これって不具合ですか?」を AI に調べてもらう
miichan
0
140
SteampipeとExcel Power QueryでAWS構成定義書の作成を自動化する
jhashimoto
0
180
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
110
AIはどのように 組織のアジリティを変えるのか?
junki
4
1.4k
AI 不只幫你寫 Code: 當專案從 300 暴增到 1500, 我們如何撐住 DevOps
appleboy
0
220
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
110
Bucharest Tech Week 2026 - Guardians of the Cloud-Native Galaxy
edeandrea
PRO
0
140
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
340
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
430
Building Applications with DynamoDB
mza
96
7.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
260
Context Engineering - Making Every Token Count
addyosmani
9
980
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
440
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Exploring anti-patterns in Rails
aemeredith
3
420
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.5k
My Coaching Mixtape
mlcsv
0
150
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Λ͏
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠