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.7k
良いテストデータ、悪いテストデータ / 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.1k
フルリモート時代のカンバン運用 / kanban-operation-in-remote
fortkle
0
630
GitHub Actionsで始めるPHPアプリケーションのCI実践入門 / ga-phperkaigi2020
fortkle
3
4.2k
余裕を生み出すコードレビュー 〜レビュイー編〜 / code-review-phpcon-2019
fortkle
8
6.9k
「設計振り返り」を始めてみようと思っている話 / architecture reflection
fortkle
3
530
「ママ向けNo.1アプリ」の 更なる成長を支える仕組み / startup-engineer-night-connehito
fortkle
2
280
BackstopJSで始める CSSリグレッションテスト / backstopjs-css-test
fortkle
0
1.5k
PhpStorm導入アンチパターン / phpstorm-anti-pattern
fortkle
0
2k
やさしいコーディング規約の導入〜その後〜 / yasashii-sonogo
fortkle
7
3.5k
Other Decks in Technology
See All in Technology
podman_update_2024-12
orimanabu
1
280
Amazon VPC Lattice 最新アップデート紹介 - PrivateLink も似たようなアップデートあったけど違いとは
bigmuramura
0
200
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
260
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
100
.NET 9 のパフォーマンス改善
nenonaninu
0
990
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
普通のエンジニアがLaravelコアチームメンバーになるまで
avosalmon
0
100
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
210
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
390
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
Qiita埋め込み用スライド
naoki_0531
0
5.1k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
It's Worth the Effort
3n
183
28k
The Language of Interfaces
destraynor
154
24k
GitHub's CSS Performance
jonrohan
1030
460k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Facilitating Awesome Meetings
lara
50
6.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Bash Introduction
62gerente
608
210k
Optimizing for Happiness
mojombo
376
70k
4 Signs Your Business is Dying
shpigford
181
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Λ͏
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠