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
レガシーコードで ビジュアルリグレッションテスト をやってみた!
Search
aharenchi
December 01, 2019
Technology
1
2.2k
レガシーコードで ビジュアルリグレッションテスト をやってみた!
PHP Conference 2019 Lightning Talk@2019/12/01 の発表資料です。
BackstopJSでのビジュアルリグレッションテストを行った話です。
aharenchi
December 01, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
370
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
730
Delegating the chores of authenticating users to Keycloak
ahus1
0
130
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
26k
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
6
600
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
180
無意味な開発生産性の議論から抜け出すための予兆検知とお金とAI
i35_267
0
1.2k
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
0
290
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
300
モバイル界のMCPを考える
naoto33
0
360
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
0
230
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
140
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
940
Being A Developer After 40
akosma
90
590k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Become a Pro
speakerdeck
PRO
28
5.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Automating Front-end Workflow
addyosmani
1370
200k
Transcript
ϨΨγʔίʔυͰ ϏδϡΞϧϦάϨογϣϯςετ ΛͬͯΈͨʂ 1)1$POGFSFODF-JHIUOJOH5BML! Ѩ࿈ஐܙ
ࣗݾհ ͋ΕΜ ΤΩαΠτגࣜձࣾ ৽ଔ1)1FS !ZVDP@NN
ྐྵʜ ฐࣾͷͱ͋ΔͭͷαʔϏε جຊػೳ͕΄ͱΜͲಉͩͬͨ͡ͷͰɺ ಉ͡ίʔυͰ։ൃ͞Ε͍ͯͨ˝
αʔϏεಠࣗʹਐԽ࢝͠ΊɺಠࣗػೳͷͨΊͷ ग़͚͠ίʔυ͕૿͍͖͑ͯɺߴʹෳࡶʹͳͬͨɻ Ὂ͜ͷ··͕ΜΔ ⾣αʔϏεɺͭͷϓϩδΣΫτʹ͢Δ
ϓϩδΣΫτΛίϐʔ͠ɺ̎ͭ༻ҙ͢Δ͜ͱͰ ͚Δ͜ͱʹޭɻ ࣍ʹɺෆཁʹͳͬͨยํͷ੩తϑΝΠϧॲཧΛ আ͢Δඞཁ͕͋Δɻ˝
੩తϑΝΠϧͷআྃɻ ݅ۙ͘ͷϖʔδΛݕূ͢Δํ๏ʁ ⾣खಈͰݕূ Ὂʜʜ
੩తϑΝΠϧͷআྃɻ ݅ۙ͘ͷϖʔδΛݕূ͢Δํ๏ʁ ὊखಈͰݕূ ⾣ϏδϡΞϧϦάϨογϣϯςετͰݕূ
ϏδϡΞϧϦάϨογϣϯςετͱ εΫϦʔϯγϣοτΛࡱӨ͠ɺ લޙͰ͕ࠩग़͍ͯͳ͍͔ݕূ͢Δςετ $44ίʔυมߋʹΑΔද่ࣔΕ͕ͳ͍͔ݕূ͢Δͷʹ༏Ε͍ͯΔ ݕূͰ͖Δ͜ͱ ɾϘλϯը૾ͷදࣔՄ൱ ɾϖʔδͷදࣔՄ൱ ݕূͰ͖ͳ͍͜ͱ ɾϖʔδભҠ
͏ͷ #BDLTUPQ+4ɹ ϏδϡΞϧϦάϨογϣϯςετΛߦ͑ΔϑϨʔϜϫʔΫ ςετͷઃఆ CBDLTUPQKTPO ɹ εΫϦʔϯγϣοτੜ
มߋલͷεΫϦʔϯγϣοτʢ3FGFSFODFʣΛอଘ มߋޙͷεΫϦʔϯγϣοτʢ5FTUʣΛอଘ ྆ऀΛൺֱͨ͠Ϩϙʔτੜ ςετͷྲྀΕ ࢲୡ͕Δ͜ͱʂ Node.js + Puppeteer or ChromyJS
ςετ४උɹඞਢ ̍ൺֱͰ͖Δڥͷ༻ҙ ྫɿຊ൪ڥͱεςʔδڥ ςετͷઃఆ ʲඞਢ߲ʳ JEɿϨϙʔτλΠτϧ WJFXQPSUTɿࡱӨը໘αΠζ TDFOBSJPTɿςετ༰ ɹMBCFMɿςετλΠτϧ
ɹVSMɿมߋޙ63-ɹ SFGFSFODF6SMɿมߋલ63- มߋޙڥ มߋલڥ
ৄࡉઃఆ 1VQQFUFFSPS$ISPNZ+44DSJQUΛ͏͜ͱͰҎԼͷରԠ͕Մೳ w ϕʔγοΫೝূରԠ w ϩάΠϯඇϩάΠϯը໘ରԠ w ࡱӨલͷ6*มߋରԠ ϚεΦʔόʔը૾ࠩ͠ସ͑ ςετ४උɹΦϓγϣϯ
TDFOBSJPTɿςετ༰ ɹPO#FGPSF4DSJQUɿϒϥβͷઃఆ ɹPO3FBEZ4DSJQUɿεΫϦʔϯγϣοτલͷ6*ঢ়ଶมߋ
४උྃʂ ⾣ςετ࣮ߦ Ὂʹ͛Δ
݁Ռ ϛογϣϯίϯϓϦʔτʂʂʂʂʂ˝
·ͱΊ ϏδϡΞϧϦάϨογϣϯςετͷྑ͍ͱ͜Ζ w ද่ࣔΕΛݕग़Ͱ͖Δ w ςετͷ༻ҙ͕༰қ ͜Μͳਓʹಛʹ͓͢͢Ίʂ ςετͷͳ͍ڥͰද่ࣔΕ͕ා͘ϦϑΝΫλϦ ϯά͕Ͱ͖ͯͳ͍ํ ɹΊͤ͟ʂϨΨγʔίʔυ͔Βͷ٫ʂ
͓·͚ հهࣄɿ ʮ#BDLTUPQ+4ͰϏδϡΞϧϦάϨογϣϯςετʂʯ IUUQTRJJUBDPNBIBSFODIJJUFNTDGEFD a͋Γ͕ͱ͏