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
170
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
インフラコストとセキュリティ課題解決のためのリアーキテクチャリング / srekaigi2025
hgsgtk
3
5.1k
Design of a Stateful system for Robust Deployment and Observability
hgsgtk
0
1.2k
A guide to joining operational work in your new DevOps team
hgsgtk
1
1.4k
HTTP Tunneling in Go
hgsgtk
0
1.4k
ブラウザ自動操作技術の深層へ、直接触れて学ぶ WebDriver と Chrome DevTools Protocol
hgsgtk
3
6.5k
HTTP Server on random available port in Go
hgsgtk
0
980
Agile Testingを夢見たテスト自動化 〜ATDDへの挑戦から始まる 1年間の試行錯誤〜 / dreaming agile testing at basebank
hgsgtk
14
7.8k
Create Go WebDriver client from scratch
hgsgtk
1
2.2k
PHPでWeb Driver Clientを自作する〜己の手でブラウザ操作自動化を完全理解する方法〜 / phpcon2021
hgsgtk
2
2.5k
Other Decks in Technology
See All in Technology
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
830
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
12k
フォーイット_エンジニア向け会社紹介資料_Forit_Company_Profile.pdf
forit_tech
1
1.7k
クラウド食堂とは?
hiyanger
0
130
プルリクエストレビューを終わらせるためのチーム体制 / The Team for Completing Pull Request Reviews
nekonenene
3
1.1k
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
380
Two Blades, One Journey: Engineering While Managing
ohbarye
4
2.6k
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
370
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
220
【Snowflake九州ユーザー会#2】BigQueryとSnowflakeを比較してそれぞれの良し悪しを掴む / BigQuery vs Snowflake: Pros & Cons
civitaspo
2
580
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
130
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
340
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Making Projects Easy
brettharned
116
6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Navigating Team Friction
lara
183
15k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Code Review Best Practice
trishagee
67
18k
Fireside Chat
paigeccino
35
3.2k
Code Reviewing Like a Champion
maltzj
521
39k
Writing Fast Ruby
sferik
628
61k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
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ʣ