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
0
2.4k
1年近く動かないまま放置されていたiOSのUITestを直した話
2021.11.04 【アンドパッド×ユニファ】業界変革型 Vertical SaaS のiOS/Android開発最前線
ANDPAD inc
November 08, 2021
Tweet
Share
More Decks by ANDPAD inc
See All by ANDPAD inc
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
270
読もう! Android build ドキュメント
andpad
1
400
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManager への移行戦略
andpad
0
180
Flutter は DCM が 9 割
andpad
1
280
Amplify で SPA をホスティングする際の注意点
andpad
1
240
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
andpad
0
110
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
530
本編では話さない Zig の話
andpad
2
350
"noncopyable types" の使いどころについて考えてみた
andpad
0
510
Other Decks in Programming
See All in Programming
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
440
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
870
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
260
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
130
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
2
290
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
580
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
GoのGenericsによるslice操作との付き合い方
syumai
3
690
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
590
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
460
5つのアンチパターンから学ぶLT設計
narihara
1
120
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
For a Future-Friendly Web
brad_frost
179
9.8k
Visualization
eitanlees
146
16k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
We Have a Design System, Now What?
morganepeng
53
7.7k
Making Projects Easy
brettharned
116
6.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
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 ϥϯμϜͰམͪΔςετ͍͠ͷͰɺମܥతͳ͓ࣝ͑ͯ͘ͱྑͦ͞͏
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠☕