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
260
新卒一年目が大規模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
480
OpenAI Embedding API を活用して、 高度なレコメンド機能を実装した話 - A story about implementing an advanced recommendation function using the OpenAI Embedding API
sugoikondo
0
350
Other Decks in Technology
See All in Technology
コールドスタンバイ構成でCDは可能か
hiramax
0
130
技術選定、下から見るか?横から見るか?
masakiokuda
0
180
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
730
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
180
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
1.2k
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
140
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
2025年 山梨の技術コミュニティを振り返る
yuukis
0
150
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
19k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
迷わない!AI×MCP連携のリファレンスアーキテクチャ完全ガイド
cdataj
0
340
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
230
So, you think you're a good person
axbom
PRO
0
1.9k
Leo the Paperboy
mayatellez
1
1.3k
KATA
mclloyd
PRO
33
15k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
280
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
110
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
72
Music & Morning Musume
bryan
46
7k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
87
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
360
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