Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Snapshot Testingってやつがあってな at PHP勉強会
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kazuki Higashiguchi
February 28, 2018
Technology
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Snapshot Testingってやつがあってな at PHP勉強会
第123回 PHP勉強会@東京 で発表した祭の資料です。
https://qiita.com/Khigashiguchi/items/1c50105aff2c8acf45d5
Kazuki Higashiguchi
February 28, 2018
More Decks by Kazuki Higashiguchi
See All by Kazuki Higashiguchi
Practical Monitoring for Knative Serving / KubeCon + CloudNativeCon Japan 2025
hgsgtk
0
170
Cell-Based Architecture Design in AWS
hgsgtk
1
280
インフラコストとセキュリティ課題解決のためのリアーキテクチャリング / srekaigi2025
hgsgtk
3
8.8k
Design of a Stateful system for Robust Deployment and Observability
hgsgtk
0
1.6k
A guide to joining operational work in your new DevOps team
hgsgtk
1
1.7k
HTTP Tunneling in Go
hgsgtk
0
1.7k
ブラウザ自動操作技術の深層へ、直接触れて学ぶ WebDriver と Chrome DevTools Protocol
hgsgtk
3
7.1k
HTTP Server on random available port in Go
hgsgtk
0
1.2k
Agile Testingを夢見たテスト自動化 〜ATDDへの挑戦から始まる 1年間の試行錯誤〜 / dreaming agile testing at basebank
hgsgtk
13
8.6k
Other Decks in Technology
See All in Technology
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
200
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
830
Classmethod Company Deck
satoshi7
1
730
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
440
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
170
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
120
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
280
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
180
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
360
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
190
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
570
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Faster Mobile Websites
deanohume
310
32k
A Soul's Torment
seathinner
8
3.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
The World Runs on Bad Software
bkeepers
PRO
72
12k
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ʣ