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
fortkle
October 08, 2017
Technology
4
6.9k
良いテストデータ、悪いテストデータ / testdata-antipattern
PHPカンファレンス2017 LT
fortkle
October 08, 2017
Tweet
Share
More Decks by fortkle
See All by fortkle
無駄な物をなるべく作らないリプレイス戦略 / replace-strategy-phperkaigi2021
fortkle
1
2.5k
フルリモート時代のカンバン運用 / kanban-operation-in-remote
fortkle
0
720
GitHub Actionsで始めるPHPアプリケーションのCI実践入門 / ga-phperkaigi2020
fortkle
3
4.7k
余裕を生み出すコードレビュー 〜レビュイー編〜 / code-review-phpcon-2019
fortkle
8
7.4k
「設計振り返り」を始めてみようと思っている話 / architecture reflection
fortkle
3
590
「ママ向けNo.1アプリ」の 更なる成長を支える仕組み / startup-engineer-night-connehito
fortkle
2
330
BackstopJSで始める CSSリグレッションテスト / backstopjs-css-test
fortkle
0
1.5k
PhpStorm導入アンチパターン / phpstorm-anti-pattern
fortkle
0
2.1k
やさしいコーディング規約の導入〜その後〜 / yasashii-sonogo
fortkle
7
3.7k
Other Decks in Technology
See All in Technology
Werner Vogelsが14年間 問い続けてきたこと
yusukeshimizu
2
270
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
3分でわかる!新機能 AWS Transform custom
sato4mi
1
280
【インシデント入門】サイバー攻撃を受けた現場って何してるの?
shumei_ito
0
1.3k
しろおびセキュリティへ ようこそ
log0417
0
230
オープンウェイトのLLMリランカーを契約書で評価する / searchtechjp
sansan_randd
3
530
ドキュメントからはじめる未来のソフトウェア
pkshadeck
5
2.2k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
1
610
MySQLのJSON機能の活用術
ikomachi226
0
130
Amazon Bedrock AgentCore 認証・認可入門
hironobuiga
2
470
AI推進者の視点で見る、Bill OneのAI活用の今
sansantech
PRO
2
300
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
50
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
170
A Soul's Torment
seathinner
5
2.2k
Exploring anti-patterns in Rails
aemeredith
2
230
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
130
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
290
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
130
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
Fireside Chat
paigeccino
41
3.8k
Getting science done with accelerated Python computing platforms
jacobtomlinson
1
110
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
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Λ͏
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠