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.5k
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
小規模 SRE チームで支える、 Atlantis で実現するインフラ管理のセルフサービス化
andpad
1
53
Go コードベースの構成と AI コンテキスト定義
andpad
1
200
「もっと正確に、もっと効率的に」ANDPADの写真書き込み機能における、 現場の声を形にしたエンハンス
andpad
0
1k
複数チーム並行開発下でのコード移行アプローチ ~手動 Codemod から「生成AI 活用」への進化
andpad
0
290
Building the Real World with Ruby
andpad
0
71
Catch Up: Go Style Guide Update
andpad
0
340
OSS開発者という働き方
andpad
5
1.9k
Vue・React マルチプロダクト開発を支える Vite
andpad
0
200
プロダクト開発を支えるデータ利活用:中央集権から「民主化」までの軌跡
andpad
0
290
Other Decks in Programming
See All in Programming
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
580
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
280
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
380
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
250
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
490
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
420
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
220
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.7k
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
550
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
590
Fundamentals of Software Engineering In the Age of AI
therealdanvega
1
250
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
480
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
290
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
440
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Docker and Python
trallard
47
3.8k
Everyday Curiosity
cassininazir
0
160
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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 ϥϯμϜͰམͪΔςετ͍͠ͷͰɺମܥతͳ͓ࣝ͑ͯ͘ͱྑͦ͞͏
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠☕