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
AppiumからXCUITestに変え、そのためにSwiftを学び始めた話
Search
Tadashi Nemoto
May 22, 2017
Technology
2
22k
AppiumからXCUITestに変え、そのためにSwiftを学び始めた話
https://testnight.connpass.com/event/54316/
Tadashi Nemoto
May 22, 2017
Tweet
Share
More Decks by Tadashi Nemoto
See All by Tadashi Nemoto
Best Practice CI/CD Pipeline for Deploying Container Apps to AWS
tadashi0713
0
210
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
130
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
230
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
300
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
350
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
580
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.3k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
4.1k
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
tadashi0713
2
1.4k
Other Decks in Technology
See All in Technology
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
610
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
210
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
120
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
人工衛星のファームウェアをRustで書く理由
koba789
14
7.5k
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
380
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
200
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
130
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
270
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
230
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
How GitHub (no longer) Works
holman
315
140k
Practical Orchestrator
shlominoach
190
11k
Making Projects Easy
brettharned
117
6.4k
Visualization
eitanlees
148
16k
Navigating Team Friction
lara
189
15k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Designing Experiences People Love
moore
142
24k
Building Applications with DynamoDB
mza
96
6.6k
Optimizing for Happiness
mojombo
379
70k
Designing for humans not robots
tammielis
253
25k
Transcript
2017/05/22 iOS Test Night #4 Tadashi Nemoto AppiumからXCUITestに変え、 そ ためにSwiftを学び始めた話
自己紹介 • 根本 征 (github: tadashi0713) • Software Engineer in
Test @mercari • 4月からQA・SETチームとして活動 • UI・E2Eテスト自動化がメイン • テスト管理ツールを作りたいと思って色々チャレンジしてい る
#2で発表した内容 https://speakerdeck.com/tadashi0713/ appium-xcuitest-drivertocihuan-jing
最近までやっていたこと • ターゲットアプリ リリース前に基本機能が正しく動作してい るかリグレッションテストを手動で行っていた • 繰り返し作業が多い・リリースするタイミングが増えたため一 部自動化を検討 • iOS・Androidで50%自動化目標
• Appiumを使って挑戦してみた
結局どうなった か
Appiumをやめて(iOS) XCUITestに変えた
理由そ 1: Accessibility付与 • ターゲットアプリに Accessibilityが振られている部分 少なかった • 付与しながらテストを書いていく事が求められた •
しかしAppium 場合、iOSレポジトリでAccessibilityを振 りながら、また別 レポジトリでテストを書く必要があった • これが結構大変だった
理由そ 2: 動作速度・安定性 • 当時xcuitest-driver 安定していない部分もあった • xcuitest-driver 場合Xpathを使うと動作が遅くなる •
動作速度が遅いとそ 分全体 実装速度も遅くなってい くなと書いていて感じた
単純に思ったこと Appiumも実際に XCUITestを動かしている XCUITestでいい で
試しに書いてみて とてもよかった
Accessibility付与問題 ? • 1つ レポジトリでAccessibility付与・UIテスト実装ができ る • レコーディング機能で付けたAccessibilityがきちんと動作 できるか確認できる
動作速度・安定性問題 ? • 実行速度 Appiumと比べると早かった印象 • もちろんUIテストな で時間 とられやすい •
システムアラートやWebviewも処理できた • waitもPage Object Patternを使ってうまくでき、安定 して実行することができた
ほぼ未経験だが Swift 挑戦しながら書いてみようȋ
約1ヶ月半かけて XCUITestでEnd to Endテストを実装
Jenkins & 社内 mac で実行環境を用意 Chatから実行できるように
QAエンジニアと協力して リリース前 リグレッションテスト 50%自動化に成功 仕様・UI 変更にも追いついていく ことができた
しかしそ アプリ 諸事情により開発中断 もうほぼアップデートされること なくなった
失ったコード5029行 無価値になったかと思った
実際そんなこと なかった 残ったも 多かった
iOSをテストする上で 必要な知識が学べた
• 知らないといけないこと • Xcode、関連コマンド • Unit Test どうなっている か(XCTest) •
fastlane • 知っておくと便利なこと • 並列実行(Bluepill、pxctest) • snapshot
• ノウハウもたまった • XCUITestで Page Object Pattern • テストデータ生成 •
ど くらい工数をかけれ ど くらい自動化できるか
違うチームでテスト自動化 導入が 検討されることがでてきた
UIテスト自動化に興味 ある QAエンジニアが出てきた
定期的に勉強会を実施
これもある程度 レベルまで UIテストを実装・導入したからこそ 出た良い影響かなと僕 思いました