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
1年近く動かないまま放置されていたiOSのUITestを直した話
Search
ANDPAD inc
November 08, 2021
Programming
2.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
1年近く動かないまま放置されていたiOSのUITestを直した話
2021.11.04 【アンドパッド×ユニファ】業界変革型 Vertical SaaS のiOS/Android開発最前線
ANDPAD inc
November 08, 2021
More Decks by ANDPAD inc
See All by ANDPAD inc
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
84
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
250
ANDPAD Ruby sponsor session in RubyKaigi 2026
andpad
0
210
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
2
940
アプリから 360 度カメラ「RICOH THETA」に接続して写真を撮影する
andpad
0
54
アンドパッドが提供する Drinks and Local Meals と Drinkup を大公開
andpad
0
120
建設DXを支えるANDPAD: 2025年のセキュリティの取り組みと卒業したいセキュリティ
andpad
0
450
小規模 SRE チームで支える、 Atlantis で実現するインフラ管理のセルフサービス化
andpad
1
120
Go コードベースの構成と AI コンテキスト定義
andpad
1
250
Other Decks in Programming
See All in Programming
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
280
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
180
OSもどきOS
arkw
0
570
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
560
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
130
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
240
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
200
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.1k
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
680
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Balancing Empowerment & Direction
lara
6
1.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How to make the Groovebox
asonas
2
2.2k
Skip the Path - Find Your Career Trail
mkilby
1
150
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
400
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Building Adaptive Systems
keathley
44
3.1k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Transcript
When UITest is abandoned. !ʲΞϯυύουºϢχϑΝʳۀքมֵܕ7FSUJDBM4BB4ͷJ04"OESPJE։ൃ࠷લઢ ۙ͘յΕͨ··์ஔ͞Ε͍ͯͨJ04ͷ6*5FTUΛͨ͠
w ໊લࠤ౻ढ़ี w 5XJUUFS!VTIJTBOUPBTPCV w ʹ"/%1"%ʹKPJO w J04"OESPJEͷ։ൃʹैࣄ w झຯ⚽☕
ࣗݾհ
͋Β͢͡
ೖ͔ࣾΒϲ݄͘Β͍ͯ͠ ʮJ04ͷ6*5FTUΛ͢ʯͱ͍͏όοάϩάͷ୲ʹͳͬͨ
ผͷ13ʢϲ݄લʣͷͪΐͬͱͨ͠ϛεҰׅஔʹΑͬͯ 6*5FTUͷϏϧυ͕ͦͦ௨Βͳ͘ͳͬͨͷͰͦΕΛ͢ͱͷ͜ͱɻ ָউָউʙ
ͨ͠ͷʹ $*্Ͱ6*5FTU͕TVDDFTTʹͳΒͳ͍ʜͳͥʁ
$*ͷཤྺΛͬͯΈΔͱʜ ࠷ޙʹ6*5FTU͕TVDDFTTʹͳͬͨͷ͕΄΅લͱ͍͏͜ͱ͕໌
ࠓ͢͜ͱ ۙ͘յΕͨ··์ஔ͞Ε͍ͯͨJ04ͷ6*5FTUΛ͍ͯ͘͠͏͑Ͱ ֶΜͩ͜ͱ
લఏ ͜Ε·Ͱ6OJU5FTUൺֱతॻ͍͖͕ͯͨɺ6*5FTUΛॻ͘ͷ͜Ε͕ॳΊͯ
w 6*5FTU͕Ͳ͏ͯ͠յΕͨ··์ஔ͞Εͯ͠·͏ͷ͔ w ͲͷΑ͏ͳ6*5FTU͕յΕͯ͠·͏ͷ͔ w 6*5FTUΛ͍ͯ͘͠͏͑ͰֶΜͩ͜ͱɾࢥͬͨ͜ͱ ΞδΣϯμ
6*5FTU͕Ͳ͏ͯ͠յΕͨ··์ஔ͞Εͯ͠·͏ͷ͔
ࠓճͷέʔεͰ͍͏ͱɺ୯७ʹ։ൃऀͷҟಈʹΑΔͷΆ͍🤔 6*5FTU͕Ͳ͏ͯ͠յΕͨ··์ஔ͞Εͯ͠·͏ͷ͔
࠷ޙʹ$*্Ͱ 6*5FTU͕ޭͨ͠ 6*5FTU͕Ͳ͏ͯ͠յΕͨ··์ஔ͞Εͯ͠·͏ͷ͔ 2020/08
࠷ޙʹ$*্Ͱ 6*5FTU͕ޭͨ͠ 6*5FTUΛ͢ͷʹணख 6*5FTU͕Ͳ͏ͯ͠յΕͨ··์ஔ͞Εͯ͠·͏ͷ͔ 2020/08 2021/04
࠷ޙʹ$*্Ͱ 6*5FTU͕ޭͨ͠ 6*5FTUΛ͢ͷʹணख େ͖Ίͳ։ൃऀͷ ҟಈ͕ൃੜ 6*5FTU͕Ͳ͏ͯ͠յΕͨ··์ஔ͞Εͯ͠·͏ͷ͔ 2020/08 2020/10 2021/04
w 6*5FTUΛϝϯςͰ͖Δਓ͕গͳ͔ͬͨʁ w $*͕GBJMFEͰ͋Γଓ͚Δ͜ͱ͕ͨΓલͷڥͩͬͨ͜ͱ͕ʁ Ͳ͏͋Εྑ͔ͬͨͷ͔🤔
w 6*5FTUΛϝϯςͰ͖Δਓ͕গͳ͔ͬͨʁ w ෳͷ։ൃऀʹ6*5FTUͷϝϯςͷλεΫΛׂΓৼΔ w $*͕GBJMFEͰ͋Γଓ͚Δ͜ͱ͕ͨΓલͷڥͩͬͨ͜ͱ͕ʁ w ʮGBJMFEͨ͠Βɺ͙͢ʹͦΕΛ͢ʯͷపఈɺจԽͱͯ͠ৢͤ͞Δ ࠓऔΓΜͰ͍Δ͜ͱʢ͋͘·Ͱӡ༻ϕʔε͕ͩʣ
ͲͷΑ͏ͳ6*5FTU͕յΕͯ͠·͏ͷ͔
ͲͷΑ͏ͳ6*5FTU͕յΕͯ͠·͏ͷ͔ w ༷มߋʹΑΔͷ w ςετΞΧϯτʹؔ͢ΔσʔλͷมԽʹΑΔͷ w աڈʹೖΕ͍ͯͨXPSLBSPVOEʹΑΔͷ w ʢҰ൪ϋϚͬͨͷʣϥϯμϜʹίέΔṖͷݱ
ͲͷΑ͏ͳ6*5FTU͕յΕͯ͠·͏ͷ͔ w ༷มߋʹΑΔͷ w ςετΞΧϯτʹؔ͢ΔσʔλͷมԽʹΑΔͷ w աڈʹೖΕ͍ͯͨXPSLBSPVOEʹΑΔͷ w ʢҰ൪ϋϚͬͨͷʣϥϯμϜʹίέΔṖͷݱ
ςετΞΧϯτʹؔ͢ΔσʔλͷมԽʹΑΔͷ w ςετΞΧϯτʹؔ͢Δσʔλʢ%#ʣͷมԽʹΑΔ 6*ͷมԽʹΑͬͯɺ6*5FTU͕յΕΔύλʔϯ w 6*5FTU͋Δ͋Δʁ w վળࡦޙड़
աڈʹೖΕ͍ͯͨXPSLBSPVOEʹΑΔͷ w աڈʹೖΕͨXPSLBSPVOEͳίʔυʹΑͬͯٯʹ6*5FTU͕յΕͨ ύλʔϯ w XPSLBSPVOEΛͳ͘͢ͱਖ਼ৗʹಈ͘ w ʮ9$6*5FTUͪΌΜͱਐาͯ͠ΔΜͩ😁ʯͱલ͖ʹଊ͑ͯΔ
ʢҰ൪ϋϚͬͨͷʣϥϯμϜʹίέΔṖͷݱ w ͔݁Βॻ͘ͱ w ͋Δ6*5FTUΛ࣮ߦ͢Δͨͼʹσʔλ͕૿͍͑ͯͬͨ w σʔλ͕૿͑ͨ͜ͱʹΑͬͯʮϦετͷઌ಄ͷཁૉΛऔಘʯ͢Δॲཧ͕ͳͥ ͔ϥϯμϜͰίέΔͱ͍͏ݱ͕ʜ w σʔλΛਅͬ͞Βʹͯ͠ɺʮ࣮ߦ͢Δͨͼʹσʔλ͕૿͍͑ͯͬͨʯΛ
ղফͨ͜͠ͱͰϥϯμϜͰίέͳ͘ͳͬͨ🎉
ʢҰ൪ϋϚͬͨͷʣϥϯμϜʹίέΔṖͷݱ w ฐٕࣾज़ސͰ͋Δ!UBSBQQP͞Μʹ૬ஊͯ͠ղܾͰ͖ͨͷ w ʮϥϯμϜͰίέΔʯܥͷςετΛମܥతʹ·ͱΊͨૉΒ͍͠ࢿྉΛڞ ༗ͯ͠Βͬͨ w ࠓճͷέʔεʮʢ6OJU5FTUʹͳ͘ʣ6*5FTUͳΒͰͷͷʯͱೝࣝ͠ ͍ͯΔͷͰݸਓతʹ͔Βྡྷͩͬͨ
None
None
6*5FTUΛ͍ͯ͘͠͏͑ͰֶΜͩ͜ͱɾࢥͬͨ͜ͱ
6*5FTUΛ͍ͯ͘͠͏͑ͰֶΜͩ͜ͱɾࢥͬͨ͜ͱ w 6*5FTU༻ͷڥΛͰ͖Δ͚ͩ༻ҙ͢Δ w ʮϖʔδΦϒδΣΫτύλʔϯʯಡΈ͍͢ w 6*7JFXTFU"OJNBUJPOT&OBCMFE GBMTF ͳͲͰͰ͖Δ͚ͩ6*5FTUʹ͔͔Δ࣌ ؒΛॖ͢Δ
6*5FTU༻ͷڥΛͰ͖Δ͚ͩ༻ҙ͢Δ w ։ൃσόοάʹར༻͞Ε͍ͯΔڥͰ6*5FTUΛߦ͏ͱɺ w ઌड़ͨ͠ʮςετΞΧϯτʹؔ͢ΔσʔλͷมԽʹΑΔͷʯ w ʢ6*5FTUͱͯ͠ҙਤͯ͠ͳ͍ʣΞϓϦىಈ࣌ʹϞʔμϧ͕දࣔ͞ΕΔ͜ ͱ͕͋Δ w ͳͲͷ͜ͱ͕ىͬͨ͜ͷͰɺՄೳͰ͋ΔͳΒ6*5FTU༻ͷڥΛ༻ҙͯ͋͛͠
Δͱྑ͍ʢ·ͩͰ͖͍ͯͳ͍ʣ
ʮϖʔδΦϒδΣΫτύλʔϯʯಡΈ͍͢ w 6*5FTUΛҾ͖ܧ͍ͩଆͱͯ͠ɺϖʔδΦϒδΣΫτύλʔϯͰॻ͔Ε͍ͯ ͨͨΊඇৗʹίʔυ͕ಡΈ͔ͬͨ͢ w ϖʔδΦϒδΣΫτύλʔϯͱʁ w ʮը໘Λ̍ͭͷΦϒδΣΫτͱͯ͠ఆٛͯ͠ɺ6*ཁૉͷಛఆɾૢ࡞ͳͲͷ ৄࡉͦͪΒʹӅṭ͢Δ͜ͱͰɺ6*5FTUͷՄಡੑΛ͋͛Δʯͱ͍͏Ұछͷ σβΠϯύλʔϯ
6*7JFXTFU"OJNBUJPOT&OBCMFE GBMTF ͳͲͰͰ͖Δ͚ͩ6*5FTUʹ͔͔Δ࣌ؒΛॖ͢Δ w 6*5FTU࣮ߦ͕͔࣌ؒͳΓ͘ͳΔ w 6*7JFXTFU"OJNBUJPOT&OBCMFE GBMTF Λઃఆ͢ΔͳͲɺͰ͖Δ͚࣮ͩߦ࣌ ؒΛ͘͢Δ
·ͱΊ w 6*5FTU͕͍͟յΕͨͱ͖ʹ์ஔ͞Εͳ͍Α͏νʔϜͷӡ༻Λඋ͑Δ w ϥϯμϜͰམͪΔςετ͍͠ͷͰɺମܥతͳ͓ࣝ͑ͯ͘ͱྑͦ͞͏
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠☕