Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AppiumからXCUITestに変え、そのためにSwiftを学び始めた話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Tadashi Nemoto
May 22, 2017
Technology
22k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AppiumからXCUITestに変え、そのためにSwiftを学び始めた話
https://testnight.connpass.com/event/54316/
Tadashi Nemoto
May 22, 2017
More Decks by Tadashi Nemoto
See All by Tadashi Nemoto
コンテナイメージの脆弱性を削減する新しいアプローチ:Hardened Container Images
tadashi0713
1
420
Best Practice CI/CD Pipeline for Deploying Container Apps to AWS
tadashi0713
0
310
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
200
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
310
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
370
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
430
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
680
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.6k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
4.4k
Other Decks in Technology
See All in Technology
Context Ontology Accelerator 入門 (業務データの意味を、AI エージェントに渡す)
inariku
PRO
3
590
The Author Pays
hiccupps
0
140
Cloudflareの向き先
chimame
1
140
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
190
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
630
JAWSコミュニティに 参加して1年経った結果
ssakita
0
120
少ない人手 限られた予算 それでも守る 消せない・見つける・戻れる オールハザード型BCP on AWS / 20261107 Mitsutoshi Matsuo
shift_evolve
PRO
0
310
llm-d に入門してみた / Try out llm-d
kota2and3kan
0
100
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
2
160
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
420
Sizing, Benchmarking and Performance Tuning Apache Flink Clusters
rmetzger
0
140
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
200
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Prompt Engineering for Job Search
mfonobong
0
580
Abbi's Birthday
coloredviolet
4
11k
The Pragmatic Product Professional
lauravandoore
37
7.5k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Raft: Consensus for Rubyists
vanstee
143
7.9k
It's Worth the Effort
3n
188
29k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
510
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
560
Being A Developer After 40
akosma
PRO
92
590k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.7k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
48k
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テストを実装・導入したからこそ 出た良い影響かなと僕 思いました