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
240
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
150
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
250
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
310
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
380
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
620
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.5k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
4.2k
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
tadashi0713
2
1.5k
Other Decks in Technology
See All in Technology
Claude Codeの進化と各機能の活かし方
oikon48
21
12k
白金鉱業Meetup_Vol.22_Orbital Senseを支える衛星画像のマルチモーダルエンベディングと地理空間のあいまい検索技術
brainpadpr
2
290
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.1k
8万デプロイ
iwamot
PRO
2
230
タスク管理も1on1も、もう「管理」じゃない ― KiroとBedrock AgentCoreで変わった"判断の仕事"
yusukeshimizu
5
2.5k
vLLM Community Meetup Tokyo #3 オープニングトーク
jpishikawa
0
310
GitLab Duo Agent Platform + Local LLMサービングで幸せになりたい
jyoshise
0
280
Ultra Ethernet (UEC) v1.0 仕様概説
markunet
3
250
JAWS DAYS 2026 ExaWizards_20260307
exawizards
0
410
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
1.7k
楽しく学ぼう!コミュニティ入門 AWSと人が つむいできたストーリー
hiroramos4
PRO
1
190
製造業ドメインにおける LLMプロダクト構築: 複雑な文脈へのアプローチ
caddi_eng
1
550
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
How STYLIGHT went responsive
nonsquared
100
6k
Chasing Engaging Ingredients in Design
codingconduct
0
140
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
210
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
380
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
150
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
760
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
230
The Mindset for Success: Future Career Progression
greggifford
PRO
0
270
Fireside Chat
paigeccino
42
3.8k
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テストを実装・導入したからこそ 出た良い影響かなと僕 思いました