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
Snapshot Testingってやつがあってな at PHP勉強会
Search
Kazuki Higashiguchi
February 28, 2018
Technology
0
180
Snapshot Testingってやつがあってな at PHP勉強会
第123回 PHP勉強会@東京 で発表した祭の資料です。
https://qiita.com/Khigashiguchi/items/1c50105aff2c8acf45d5
Kazuki Higashiguchi
February 28, 2018
Tweet
Share
More Decks by Kazuki Higashiguchi
See All by Kazuki Higashiguchi
Practical Monitoring for Knative Serving / KubeCon + CloudNativeCon Japan 2025
hgsgtk
0
56
Cell-Based Architecture Design in AWS
hgsgtk
1
160
インフラコストとセキュリティ課題解決のためのリアーキテクチャリング / srekaigi2025
hgsgtk
3
7.1k
Design of a Stateful system for Robust Deployment and Observability
hgsgtk
0
1.4k
A guide to joining operational work in your new DevOps team
hgsgtk
1
1.5k
HTTP Tunneling in Go
hgsgtk
0
1.5k
ブラウザ自動操作技術の深層へ、直接触れて学ぶ WebDriver と Chrome DevTools Protocol
hgsgtk
3
6.8k
HTTP Server on random available port in Go
hgsgtk
0
1.1k
Agile Testingを夢見たテスト自動化 〜ATDDへの挑戦から始まる 1年間の試行錯誤〜 / dreaming agile testing at basebank
hgsgtk
13
8.2k
Other Decks in Technology
See All in Technology
Azureコストと向き合った、4年半のリアル / Four and a half years of dealing with Azure costs
aeonpeople
1
170
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
130
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
930
いまからでも遅くない!SSL/TLS証明書超入門(It's not too late to start! SSL/TLS Certificates: The Absolute Beginner's Guide)
norimuraz
0
270
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
GoでもGUIアプリを作りたい!
kworkdev
PRO
0
150
Introdução a Service Mesh usando o Istio
aeciopires
0
210
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
dbtとBigQuery MLで実現する リクルートの営業支援基盤のモデル開発と保守運用
recruitengineers
PRO
3
120
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
310
『バイトル』CTOが語る! AIネイティブ世代と切り拓くモノづくり組織
dip_tech
PRO
1
130
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
900
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Become a Pro
speakerdeck
PRO
29
5.6k
Thoughts on Productivity
jonyablonski
70
4.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Documentation Writing (for coders)
carmenintech
75
5.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Navigating Team Friction
lara
190
15k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Transcript
ୈճ1)1ษڧձ!౦ژ #"4&גࣜձࣾ ౦ޱᏻʢ!,IJHBTIJHVDIJʣ 4OBQTIPU5FTUJOH͕ͬͯͭ͋ͬͯͳ
ࣗݾհ !,IJHBTIJHVDIJ౦ޱᏻ w ॴଐɿ#"4&גࣜձࣾ #"4&1SPEVDU%JWJTJPOαʔόαΠυΤϯδχΞ w 1)1 $BLF1)1 w
ࣄɿܾࡁ։ൃɺ1)1ɾ$BLF1)1ͷόʔδϣϯΞοϓ
Έͳ͞Μ
طଘͷίʔυʹςετ͋Δ ڥͰ͔͢ʁ
ແ͍ͱͭΒ͘ͳ͍Ͱ͔͢
Ͱɺςετॻ͍͔ͯΒϦ ϑΝΫλϦϯά͍ͨ͠
͔ͯɺςετ͕ແ͍ίʔυ ΛϦϑΝΫλϦϯάͨ͘͠ ͳ͍
ͱ͍͑ɺ༷શ༰Λཧղ ͯ͠ςετॻ͘ͷ݁ߏͳ ͠ΜͲ͞
طଘͷৼΔ͍อূ͢Δς ετΛগ͠Ͱָʹॻ͚Δ ํ๏ͳ͍ͩΖ͏͔
4OBQTIPU5FTUJOH
4OBQTIPU5FTUJOH 'BDFCPPL+4ϑϨʔϜϫʔΫɿ+FTUͷػೳ͕༗໊
4OBQTIPU5FTUJOH w ࠷ॳͷςετ࣮ߦ࣌ʹςετέʔεͷΞτϓοτ͕อଘʢε φοϓγϣοτʣ͞ΕΔ w εφοϓγϣοτΛࢹͰ֬ೝͯ͠ظ௨ΓͳΒ0, w ճҎ߱ΞτϓοτͱεφοϓγϣοτΛൺֱͯ͠Ұ க͍ͯ͠Εςετ͕௨Δ w
1)16OJU༻ͷϥΠϒϥϦΛ࡞ͬͯ͘ΕͯΔਓ͕͍Δ w HJUIVCDPNTQBUJFQIQVOJUTOBQTIPUBTTFSUJPOT IUUQTRJJUBDPNLFOUUJUFNTDGFEFEF
ྫɿbIFMMPXPSME`Λฦ͢"1* IUUQTRJJUBDPN,IJHBTIJHVDIJJUFNTDBGGDBDGE ˣϨεϙϯε݁ՌΛҾʹ͚ͩ͢
ྫɿbIFMMPXPSME`Λฦ͢"1* IUUQTRJJUBDPN,IJHBTIJHVDIJJUFNTDBGGDBDGE ˣॳճ࣮ߦ݁Ռ ͜ͷஈ֊ͰɺBTTFSUJPOߦΘΕͯͳ͍ɻ
ྫɿbIFMMPXPSME`Λฦ͢"1* IUUQTRJJUBDPN,IJHBTIJHVDIJJUFNTDBGGDBDGE @@TOBQTIPUT@@ͱ͍͏σΟϨΫτϦ͕ग़ݱ ςετέʔεͷΞτϓοτ͕อଘʢεφοϓγϣοτʣ͞ΕΔ w εφοϓγϣοτΛࢹͰ֬ೝͯ͠ظ௨ΓͳΒ0,
ྫɿbIFMMPXPSME`Λฦ͢"1* IUUQTRJJUBDPN,IJHBTIJHVDIJJUFNTDBGGDBDGE ճҎ߱ΞτϓοτͱεφοϓγϣοτΛൺֱ w όά͕ࠞೖͯ͠Կ͔݁Ռ͕มΘͬͨΒςετ͕མͪΔɻ w มΘ͍ͬͯΔ͜ͱ͕ظͷ߹ɺ ɹEVQEBUFTOBQTIPUTΛ͚ͭͯςετ࣮ߦ͢Εɺ ɹεφοϓγϣοτ͕ߋ৽͞ΕΔɻ
༻ҙ͞ΕͯΔϝιουҰཡ IUUQTRJJUBDPN,IJHBTIJHVDIJJUFNTDBGGDBDGE
Αͦ͞͏ͳͱ͜Ζ w ςετΛॻ͕͘ݮͰ͖ͦ͏ w ظΛఆٛ͢Δ࣌ؒݮɻߦͷେ͖͍݁Ռ͕ظͷ࣌ ͔ͳΓָʹͳΔͷͰɻ w ςετίʔυࣗମ͖ͬ͢Γ͢Δ w ༷͕͔Βͳͯ͘ςετ͕ॻ͚Δ
Αͦ͞͏ͳͱ͜Ζ ˠطଘͷৼΔ͍อূ͢Δςετͱͯ͠ͷׂ ͋ΔఔՌָͨͭͭ͠Ͱ͖Δɻ
ݒ೦ w εφοϓγϣοτϑΝΠϧͷཧ w ܻݸͷεφοϓγϣοτ͕Ұͭͷ@@TOBQTIPUT@@ʹอ͞Εͯͨ Β͔ͳΓਏͦ͏ɻ w ෳͷεφοϓγϣοτͰςετ͕མͪΔ࣌ w εφοϓγϣοτ͕ਖ਼͍͠έʔεͱίʔυͷํ͕ਖ਼͍͠έʔε͕ࠞ
ࡏͨ͠ͱ͖ͷΓ͚͕ඞཁʹͳΔ
ݒ೦ ˠͲ͜·ͰεφοϓγϣοτςετͰৼΔ͍Λ อূ͢Δ͖͔ݕ౼͕ඞཁɻ
+FTUʹ͓͚Δ 4OBQTIPU5FTUJOHͱ
+FTUʹ͓͚Δ4OBQTIPU5FTUJOH IUUQTGBDFCPPLHJUIVCJPKFTUEPDTKBTOBQTIPUUFTUJOHIUNM
+FTUʹ͓͚Δ4OBQTIPU5FTUJOH ɾεφοϓγϣοτςετ୯ମςετΛସ͢ΔͷͰ͔͢ʁ εφοϓγϣοτςετJestʹؚ·ΕΔ̎̌Ҏ্ͷΞαʔγϣϯͷ̍ͭʹա͗·ͤΜɻ εφοϓγϣοτςετͷͶΒ͍طଘͷ୯ମςετΛସ͢Δ͜ͱͰͳ͘ɺՃͷς ετ݁ՌΛఏڙͯ͠ςετʹ͓͚Δ࡞ۀෛ୲ΛݮΒ͢͜ͱͰ͢ɻ Ұ෦ͷγφϦΦͰεφο ϓγϣοτςετಛఆͷػೳηοτʢྫ: Reactίϯϙʔωϯτʣʹ͓͚Δ୯ମςετͷ ඞཁੑΛऔΓڈΔՄೳੑ͕͋Γ·͕͢ɺฒߦͯ͠ར༻͢Δ͜ͱͰ͖·͢ɻ IUUQTGBDFCPPLHJUIVCJPKFTUEPDTKBTOBQTIPUUFTUJOHIUNM
+FTUʹ͓͚Δ4OBQTIPU5FTUJOH ɾεφοϓγϣοτςετ୯ମςετΛସ͢ΔͷͰ͔͢ʁ εφοϓγϣοτςετJestʹؚ·ΕΔ̎̌Ҏ্ͷΞαʔγϣϯͷ̍ͭʹա͗·ͤΜɻ εφοϓγϣοτςετͷͶΒ͍طଘͷ୯ମςετΛସ͢Δ͜ͱͰͳ͘ɺՃͷς ετ݁ՌΛఏڙͯ͠ςετʹ͓͚Δ࡞ۀෛ୲ΛݮΒ͢͜ͱͰ͢ɻ Ұ෦ͷγφϦΦͰεφο ϓγϣοτςετಛఆͷػೳηοτʢྫ: Reactίϯϙʔωϯτʣʹ͓͚Δ୯ମςετͷ ඞཁੑΛऔΓڈΔՄೳੑ͕͋Γ·͕͢ɺฒߦͯ͠ར༻͢Δ͜ͱͰ͖·͢ɻ IUUQTGBDFCPPLHJUIVCJPKFTUEPDTKBTOBQTIPUUFTUJOHIUNM
ˠ͋͘·Ͱɺ୯ମςετͷBTTFSUJPOͷҰͭɻ εφοϓγϣοτςετॻ͍͔ͨΒͱݴͬͯຬ͍͚ͯ͠ͳ͍ɻ
ͱ͍͑ w */165ʹର͢Δ065165Λอূ͢ΔͰ͖Δػೳ ༗ӹɻ w ίϯτϩʔϥʔείʔϓͷ͍ςετέʔεʹ ߜΔͷ͕ྑ͍ॴײɻ w ϦϑΝΫλϦϯάɾઈೲظҊ݅ɾόʔδϣϯ Ξοϓࢪࡦͷࡍʹྗڧ͍ຯํʹͳͬͯ͘Εͦ͏ɻ
൵ใ
ಈ࡞ڥ 1)11)16OJUҎ্
όʔδϣϯґଘͷॲཧͳ͍Β͍͠Ͱ͢ ࣗ࡞Ͱ͖ΔʢΒ͍͠ʣ
·ͱΊ
·ͱΊ w 4OBQTIPU5FTUJOHͱ͍͏Ξαʔγϣϯख๏͕ ͋ͬͯศརɻ w ͰɺͪΌΜͱࣗͰॻ͘ͷ͕ͳΜ͔ͩΜͩҰ൪ ཧ w ࣌ؒత੍͕͋Δ߹ڧ͍ຯํʹͳͬͯ͘ ΕΔ͔
ৄ͍͍͠ํΣϒ 1)1ͰTOBQTIPUUFTUJOHΛΓ·ͤΜ͔ʁ
1)1FS,BJHJߦ͖·͠ΐ͏ʂ IUUQTQIQFSLBJHJKQ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ #"4&גࣜձࣾ ౦ޱᏻʢ!,IJHBTIJHVDIJʣ