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
新卒一年目が大規模WebアプリのE2Eテストに挑戦した話
Search
sugoikondo 近藤 豊峰
September 22, 2018
Technology
0
230
新卒一年目が大規模WebアプリのE2Eテストに挑戦した話
2018/09/22 Jser.info 使用スライド
sugoikondo 近藤 豊峰
September 22, 2018
Tweet
Share
More Decks by sugoikondo 近藤 豊峰
See All by sugoikondo 近藤 豊峰
誰でもできる!OpenAI Embedding API を活用して高度なレコメンド機能を実現してみよう - A story about implementing an advanced recommendation function using the OpenAI Embedding API
sugoikondo
2
320
OpenAI Embedding API を活用して、 高度なレコメンド機能を実装した話 - A story about implementing an advanced recommendation function using the OpenAI Embedding API
sugoikondo
0
300
Other Decks in Technology
See All in Technology
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
0
230
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
940
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.4k
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
7.2k
現場で役立つAPIデザイン
nagix
33
12k
AndroidデバイスにFTPサーバを建立する
e10dokup
0
250
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
550
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
700
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.3k
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
7
1.1k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.6k
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
YesSQL, Process and Tooling at Scale
rocio
172
14k
KATA
mclloyd
29
14k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Embracing the Ebb and Flow
colly
84
4.6k
Transcript
৽ଔҰ͕ େنWEBΞϓϦͷ E2Eςετʹઓͨ͠. "UTVNJOF,POEP!IBJESBOU
"UTVNJOF,POEP 8FC"QQMJDBUJPO&OHJOFFS
E2Eςετ࣮·ͰͷܦҢ
ීஈͷ୲ϓϩμΫτʹ͍ͭͯ w "OHVMBS 4DBMBͷେن#UP#γεςϜ w "1*ΤϯυϙΠϯτݸ w ૯ߦ ߦ ϥΠϒϥϦܥআ֎
w ݱࡏઈࢍόϦόϦ૿Ճத ࠓɺ͜ͷγεςϜʹ͓͚Δ&&ςετ࣮ͷ͓ɻ
ͳͥE2Eςετʁ
ᶃೖ͔ࣾͯ͠ΒোΛى͜͠·͔ͬͨ͘Βɻ ͨͬͨϲ݄Ͱ ճҾ͖ى͜͢ தʹ݁ߏσΧΠোʜ
ᶄόοΫςετͷඞཁੑ͕ബ͔͔ͬͨΒ w ܕ҆શͳ4DBMBͷޭࡑ w େͷόάͷݪҼίϯύΠϧͰൃݟͰ͖Δ w །Ұͷෆ҆+BWBͰॻ͍ͨίʔυɺϥΠϒϥϦ w ΫϦςΟΧϧͳ෦طʹςετ࡞ࡁ w
ෳࡶͳܭࢉɾॲཧΛ͏෦طʹϢχοτςετ͕ ॻ͔Ε͍ͯΔঢ়گͩͬͨ
ᶅϑϩϯτʹ࣭୲อͷΈ͕ແ͔͔ͬͨΒ w ը໘ݸ w ͜ͷ֤ը໘͕ͦΕͧΕdݸͷίϯϙʔωϯτΛ๊͑Δ w େͳͷςετέʔεΛྻه͠खಈͰ֬ೝ w શͯࢹɾखಈͰͷ֬ೝ
ϑϩϯτͷςετɺॻ͜͏ʂ ʢ ॻ͍ͨ͜ͱແ͍͚Ͳ ʣ
࣮ͷख๏
ςετ༻ϥΠϒϥϦબఆ × Puppeteer jest w $ISPNFݶఆͳ͕Βߴػೳͳϒϥβૢ࡞ w ςετέʔε͕γϯϓϧʹॻ͚ɺυΩϡϝϯτ͕ݟ͔͔ͬͨ͢Β w ޙޫ
ςετΛॻ͖࢝Ίͨॴ ϩάΠϯը໘͔Βॻ͖࢝ΊΔ͜ͱʹ w ઈରʹࣦഊ͍͚ͯ͠ͳ͍ w ຆͲมߋ͕ൃੜ͠ͳ͍ w ࠷ػೳ͕গͳ͘ɺϢʔβʔετʔϦʔ͕Ұ͚ͭͩͳͷͰ ςετ͕ൺֱతॻ͖͍͢ ଟ
ςετΛॻ͍ͯΈͯɾɾɾ ྫ ϩάΠϯը໘ w ʰϢʔβʔೝূʱˠʰࢪઃબʱˠʰ৬һબʱˠʰύείʔυೖྗʱ ·Ͱ͕ҰͭͷϢʔβʔετʔϦʔ w ૯ߦߦ w ͨͩ͠ɺςετέʔε͚̎ͭͩ
ະϩάΠϯ࣌ͷϦμΠϨΫτॲཧɺϩάΠϯॲཧ
ॻ͍ͯΈͯͲ͏͔ͩͬͨʁ
࠷ॳͭΒΈ͕ଟ͔ͬͨɻɻ
࠷ॳʹײͨͭ͡ΒΈͷڞ༗
ᶃ࣮ߦ࣌ͷڥͰςετ݁Ռ͕มΘΔ ಉ͡ίʔυͳͷʹɺ࣮ߦ͢Δͨͼʹޭ͢Δ͔Ͳ͏͔͕มΘΔ ͦͷޙ͙͢ʹ࣮ߦ͢Δͱɺ
ᶃ࣮ߦ࣌ͷڥͰςετ݁Ռ͕มΘΔ w ωοτϫʔΫͷ࣭Ͱςετͷޭ͕มԽ ଟ w ՈͷωοτͰेதീམͪΔɻ w ༗ઢ͔ແઢ͔Ͱςετͷޭ͕มΘΔɻ w ฒྻ࣮ߦͷ෭࡞༻ʁ
ਖ਼ɺෆ໌ w ϘλϯͷΫϦοΫ࣌ʹɺΫϦοΫ͕લޙ͢Δ͜ͱ͕͋Δ w ύεϫʔυͷೖྗͰɺೖྗ͕લޙ͢Δ͜ͱ͕كʹൃੜ
w ςϯϓϨʔτͷमਖ਼Ͱςετ͕ಈ͔ͳ͘ͳΔ w )5.-ߏ $44Ϋϥεͷमਖ਼ηϨΫλΛ؆୯ʹഁյ͢Δ ᶄςετ͕յΕ͍͢
ྫ (&5ͷςετɺͲ͏͢Δʁ w (&5ͯ͘͠ΔσʔλΛ༧Ί࡞͓ͬͯ͘ʁ w আ͞Εͳ͍อূʁ w ॻ͖͑ΒΕͳ͍อূʁ UFTUEPVCMFͷΑ͏ͳϞοΫϥΠϒϥϦ͑ͳ͍ɻ વ
ᶅςετ༻σʔλ͕ਏ͍
݁ߏਏ͍…ʁ
Ͱɺπʔϧͷ͍ํ͕Θ͔Ε ·ͩਏ͘ͳ͍ʂʢଟʁʣ
ͭΒΈͷରॲ
ᶃ࣮ߦ࣌ͷڥͰςετ݁Ռ͕มΘΔ w 1VQQFUFFSͰޮՌతͩͬͨ͜ͱ w ϘλϯΫϦοΫલޙʹEFMBZΛ伵·ͤΔ w ϦΫΤετॲཧϖʔδભҠͷॲཧͷࡍ XBJU6OUJMʹzOFUXPSLJEMFz͔zOFUXPSLJEMFzΛࢦఆ͢Δ
ᶄςετ͕ڰ͍͍͢ ˠηϨΫλܥҰͭͷϑΝΠϧʹవΊͯҰݩཧ ࢀߟ2JJUB&&ςετͷಋೖ͔ΒֶΜͩ͜ͱ IUUQTRJJUBDPNNUNJUFNTFEEGE
͔ͯ͠͠ɺͭΒ͘ͳ͍ʁʁ
࠷ޙʹݸਓతͳϑϩϯτςετͷॴײ w &&Γ࣮͢Δίετ͕ߴ͍ͱࢥͬͨɻ w ࠷ॳʹίπΛ௫Ή·Ͱ͕ଟগਏ͍ w όοΫͷมߋ͚ͩͰͳ͘ɺϑϩϯτͷมߋςετΛյ͢ɻ ཁ͢Δʹϝϯςφϯείετ͕ߴ͍ɻ w ࠷ॳଞͷςετΛݕ౼ͨ͠΄͏͕ྑ͍͔ʁ
w Ϣχοτςετɺεφοϓγϣοτςετɺ"1*ͷΈςετFUD w ɺςετର͕ҧ͏ͨΊҰ֓ʹݴ͑ͳ͍͕ɻɻ
͝ਗ਼ௌɺຊʹ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ
ࢀߟɾग़యͳͲ GoogleChrome/puppeteer https://github.com/GoogleChrome/puppeteer facebook/jest https://github.com/facebook/jest 2JJUB&&ςετͷಋೖ͔ΒֶΜͩ͜ͱ IUUQTRJJUBDPNNUNJUFNTFEEGE &OEUP&OEUFTUJOH3FBDUBQQTXJUI1VQQFUFFSBOE+FTU-PH3PDLFU IUUQTCMPHMPHSPDLFUDPNFOEUPFOEUFTUJOHSFBDUBQQTXJUIQVQQFUFFSBOEKFTU DFGCGE