More Related Content
PPTX
PPTX
PPTX
バージョンアップの対応を軽減するためのサービスの構築 PPTX
PPTX
iOSアプリ開発のCI環境 - Jenkins編 - PPTX
バージョンアップ対応を軽減するサービス:マスティフ PPTX
PPTX
What's hot
PPTX
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 - PPTX
PPTX
STFとAppiumをもちいたAndroidアプリの自動テスト PPTX
PPTX
Dangerでpull requestレビューの指摘事項を減らす PPTX
PPTX
PDF
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜 PDF
iOSで利用できるデバイスファームのメリット・デメリットの紹介 PDF
PPTX
fastlane snapshotの並列実行についてまとめてみた PPTX
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜 PPTX
PPTX
PPTX
PPTX
コードレビューをより良くする Danger x Android PDF
PDF
WWDC2017 レポート & Quick Look Preview Extension について PPTX
PPTX
Android e2e testing at mercari More from Toshiyuki Hirata
PDF
PDF
PDF
PDF
PDF
PDF
PDF
UIテスト(Espresso)の高速化をさらにすすめる Recently uploaded
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」 PDF
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研) PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版 PDF
PMBOK 7th Edition Project Management Process Scrum PDF
PMBOK 7th Edition_Project Management Context Diagram PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望 PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S... PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信 PDF
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector PDF
PMBOK 7th Edition_Project Management Process_WF Type Development マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
- 1.
Copyright © DeNACo.,Ltd. All Rights Reserved.
CAMPFIRE iOS #2
2017/06/12(Mon)
平田敏之@DeNA SWET
マスティフ: (for Xcode Beta)
バージョンアップ対応を軽減するためのサービス
- 2.
Copyright © DeNACo.,Ltd. All Rights Reserved.
自己紹介
平田 敏之@DeNA
⁃ SWET (Software Engineer in Test)
• 事業サポートチーム / テスト基盤チーム
• ミッション
⁃ DeNAサービス全般の品質向上
⁃ DeNAエンジニアの開発生産性向上
⁃ 私がやっていること(の一部)
• クライアントアプリ周りのテスト戦略、自動テストの開発
• CI/CD環境整備
• テスト基盤環境の開発
• iOS Test Nightの主催
- 3.
Copyright © DeNACo.,Ltd. All Rights Reserved.
はじめに
CAMPFIRE iOS #2のテーマ
⁃ 「WWDC / 新iOSバージョン対応」
• WWDC2017
⁃ Xcode 9 / iOS 11
皆さんは発表に対してどのような感想を持ちましたか?
新機能に対してワクワクする・試してみたい
• ARKit!!
• XCode9!!
• テスト周りの改良!!
ワクワクすると同時に不安がありませんか?
• 新機能に対して「どのようにテストしようか」
• 既存アプリに対して影響ある新機能や改修がないか
- 4.
Copyright © DeNACo.,Ltd. All Rights Reserved.
WWDC2017の影響
すでにリリースされているもの
⁃ 自動アップデート用の段階的リリース
⁃ アプリのサブタイトル(iOS11-)
⁃ プロモーション用テキスト(iOS11-)
現在はβでそのうちリリースされるもの
⁃ Xcode 9
• What’s New in StoreKit / etc
⁃ iOS 11
• Introducing the New App Store / etc
・すでにリリース済みのものは影響がないかすぐにチェックしないといけない
・リリース前のものはβじゃなくなるまでにチェックをしないといけない
- 5.
Copyright © DeNACo.,Ltd. All Rights Reserved.
「マスティフ」:バージョンアップ対応軽減サービス
マスティフのお仕事 / SWET特製サンプルアプリを利用
⁃ 対象ライブラリがバージョンアップしたら動作確認をする
• バージョンアップに対応が必要かがすぐに分かる
• ビルド時間、ファイルサイズなどの変化が分かる
⁃ 既存ライブラリが動くことを定期的に動作確認する
• 使えなくなったことを早めに知りたい
⁃ 1日1回動作確認を実行
バージョンアップ検知の対象(for iOS)
⁃ Gemfile
⁃ CocoaPods
⁃ Carthage
⁃ Xcode(βも含む)
- 6.
Copyright © DeNACo.,Ltd. All Rights Reserved.
システム構成(非常に簡単に)
全体管理
バージョンチェック
動作確認
結果管理
digdag
Jenkins
slack
モバイルアプリ
(iOS / Android)
このバージョンで
動作確認してください
あなた自身(Xcodeとか)を
バージョンアップしてください
・ファイルサイズ
・ビルド時間
などを管理し公開
- 7.
Copyright © DeNACo.,Ltd. All Rights Reserved.
マスティフの日常
SWETの環境に生息中
⁃ 1日1回、現行バージョンの動作確認をする
• 現在の最新バージョンで動作確認
⁃ 監視対象がリリースされたら動作確認をする
• ビルドマシンに関係するもの(の例)
⁃ Xcode
• Xcode8.3.3がリリース → ビルドマシンに自動インストール
• 以降、Xcode8.3.3が動作確認で利用される
• アプリ自身が利用するもの(の例)
⁃ fastlane / gem
• 週1回以上のリリースがある(基本最新を使うのが良い)
⁃ Firebase / Pods
• ★4系になり名前が変更になり対応が必要になりました★
- 8.
Copyright © DeNACo.,Ltd. All Rights Reserved.
そんなマスティフの「WWDC2017」 初日の出来事
iTunes Connectに新機能が追加
⁃ 定期実行でdeliverが動かないことが自動で判明
⁃ fastlaneの新バージョンがリリース(早い..)
⁃ 新バージョンでdeliverが動くことを自動で確認
私が出社する前に上記は全て終わっていました
- 9.
Copyright © DeNACo.,Ltd. All Rights Reserved.
マスティフとXcodeベータの生活(1/2)
おさらい / ベータ版の流れ
1. ベータ版はn回リリースされる
• (Info.plist内の)バージョン番号は変わらない
• BuildNumberが変わる
1. ある日、
• ベータ最終版のGM(Gold Master)版がリリースされる
1. 正式版が出る
• (基本)GM版と一緒
• BuildNumberが異なるときがある
- 10.
Copyright © DeNACo.,Ltd. All Rights Reserved.
マスティフとXcodeベータの生活(2/2)
マスティフにおけるベータ版のフロー(通常フローとは別で用意)
1. Xcodeベータの更新をBuildNumberの差異で検知
2. ビルドマシンにインストール
• 古いのは残さない
3. サンプルアプリを元に動作確認
• サンプルアプリは「既存」「新規対応」の2種類で確認
• 既存
• 新規機能を導入していない状態
• 新規対応
• 今回新たに追加・改良されたAPI(のうち一部)を導入
- 11.
Copyright © DeNACo.,Ltd. All Rights Reserved.
重点調査対象:テスト周り/CI周りの変化
(我々のアプリでは)特にテスト周り/CI周りの変化に注力しています
⁃ ベータ版での調査は上記がメインになります
アスティフで使っているアプリは以下の機能を有しています
⁃ UIテスト
• XCTest
⁃ ※新規・改修があった場合に対応する※
• EarlGrey
• Appium
⁃ CI周り
• ビルド → テスト → iTunesConnectへのデータ更新
⁃ fastlaneを元にチェック
※マスティフは他アプリで実行することも可能※
- 12.
Copyright © DeNACo.,Ltd. All Rights Reserved.
さいごに
WWDC2017おつかれさまでした
⁃ GM版が出るまでが勝負なので楽しみましょう
⁃ バージョンアップ対応における不安とコストは極力下げて新機能を
楽しみましょう
• もっともっと下げられるはず
In the future work
⁃ 新iOSへのバージョンアップも自動化出来ないかを検討中
• iOSのベータが出る → 端末を自動でアップデート → 動作確認
• AWS Device Farmでの利用を検討したがベータ版がない