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
ハードウェア連携が必要なプロダクトにおける自動テストの書き方
Search
Tomoki Yamashita
March 10, 2026
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ハードウェア連携が必要なプロダクトにおける自動テストの書き方
Tomoki Yamashita
March 10, 2026
More Decks by Tomoki Yamashita
See All by Tomoki Yamashita
STORES_決済端末2ってAndroidなんでしょ__ほんとうかな__.pdf
tomorrowkey
0
67
モバイルとRubyとわたし
tomorrowkey
0
70
BiDiってなんだ?
tomorrowkey
2
770
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
1.8k
Ebisu mobile #11 - Predictive Backに対応する
tomorrowkey
1
160
AI協同時代にモバイルエンジニアが備えるべき開発環境の話
tomorrowkey
2
450
5分で完全理解するNav3との向き合い方
tomorrowkey
0
280
テストを楽に書きたい
tomorrowkey
2
440
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
1.4k
Other Decks in Technology
See All in Technology
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
370
【GCC2026】鉄拳8でのVFX開発事例
bandainamcostudios
PRO
0
120
猫付きpingコマンドを自作
uyuki234
0
270
ハーレムエンジニアリング
kazuma777777
0
190
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
3
380
【GCC2026】TrueHDRIを用いたルックデブ環境とライティングテクニック
bandainamcostudios
PRO
0
120
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
140
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
5
2.1k
AI時代のアウトプット――変わったこと、変わらないこと / Devsumi 2026 Kansai #devsumi
jnchito
0
300
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
自宅NWにISR4331を導入してみた話
okaits
0
120
強化学習「理論」入門
enakai00
3
3.6k
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
470
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
210
The Pragmatic Product Professional
lauravandoore
37
7.4k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
800
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
650
What's in a price? How to price your products and services
michaelherold
247
13k
Transcript
ハードウェア連携が必要なプロダクトにおける 自動テストの書き方 2026.03.10 Ebisu.mobile #13 〜STORESのモバイルテストの現在地〜 @tomorrowkey
自己紹介 @tomorrowkey <Tomoki Yamashita> Android Engineer, STORES, Inc. ❤️ Kotlin,
Ruby, Java, Swift, TypeScript/JavaScript … Android 16年生 決済2年生 2 / 14
背景 STORESはいまテストに力を入れています。 どんなテストツールを使っているかはプロダクトによって効果的なものを採用し ています。 Espresso, XCUITest, Swift Testing, Appium, Maestro
STORES 決済ではAppiumを使用してAndroid, iOS共通のE2Eテストを構築してい ます。 3 / 14
STORES 決済の仕組み 1. 決済金額を入力する 2. 決済方法選択画面でクレジットカードを選択する 3. クレジットカードを決済端末にかざす 4. 決済完了することを確認する
4 / 14
Done is better than perfect 5 / 14
自動化のレベル 6 / 14
なにをあきらめるか テストケース 自動化が難しいところはコア機能なので、そのテストケースを諦めてしまった ら、自動テストの価値がない 完全自動化 自動テストのオートメーションと人間の操作による、半自動化 7 / 14
できたもの 0:00 8 / 14
どうやったのか Appiumのテストコードです。 1 def wait_pay_by_contactless 2 say(' クレジットカードをタッチしてください') 3 driver.wait_true
do 4 Page::App::ReceiptPage.new(driver, platform).title == ' 決済完了' 5 end 6 end 1 def say(message, voice: 'Kyoko', rate: 200) 2 return unless RUBY_PLATFORM.include?('darwin') 3 4 options = { 5 '--voice' => voice, 6 '--rate' => rate, 7 }.compact.map { |k, v| "#{k} '#{v}'" }.join(' ') 8 9 Process.detach(spawn("say #{options} '#{message}'")) 10 end 9 / 14
技術スタック Appium Appium Clients appium/ruby_lib_core Appium Driver appium/appium-xcuitest-driver appium/appium-uiautomator2-driver RSpec
10 / 14
現在地 iOS, Androidの共通のテストコードがAppiumで書かれている 代表的な決済方法のテストが実装されている クレジットカード決済 電子マネー決済 QRコード決済 11 / 14
「得られたもの」と「見えてきた課題」 得られたもの 再現が可能なテストが実装された テスト実行に伴走するだけでも、手動テストより楽に感じる テスト内容が録画されるの便利 課題 テスト実行のハードルを感じている すでに要因は分析済みで解決に向けて動き始めている 複数人数でテスト実行するので結果を突合するための仕組みがほしい プラットフォーム間での仕様の差異が見えてきた
おそい 12 / 14
まとめ 明確な高難度の課題があったとしても、できるところまで一旦やってみるといい ぞ 13 / 14
14 / 14