SlideShare uma empresa Scribd logo
1 de 12
Copyright © DeNA Co.,Ltd. All Rights Reserved.
CAMPFIRE iOS #2
2017/06/12(Mon)
平田敏之@DeNA SWET
マスティフ: (for Xcode Beta)
バージョンアップ対応を軽減するためのサービス
Copyright © DeNA Co.,Ltd. All Rights Reserved.
自己紹介
 平田 敏之@DeNA
⁃ SWET (Software Engineer in Test)
• 事業サポートチーム / テスト基盤チーム
• ミッション
⁃ DeNAサービス全般の品質向上
⁃ DeNAエンジニアの開発生産性向上
⁃ 私がやっていること(の一部)
• クライアントアプリ周りのテスト戦略、自動テストの開発
• CI/CD環境整備
• テスト基盤環境の開発
• iOS Test Nightの主催
Copyright © DeNA Co.,Ltd. All Rights Reserved.
はじめに
 CAMPFIRE iOS #2のテーマ
⁃ 「WWDC / 新iOSバージョン対応」
• WWDC2017
⁃ Xcode 9 / iOS 11
皆さんは発表に対してどのような感想を持ちましたか?
新機能に対してワクワクする・試してみたい
• ARKit!!
• XCode9!!
• テスト周りの改良!!
ワクワクすると同時に不安がありませんか?
• 新機能に対して「どのようにテストしようか」
• 既存アプリに対して影響ある新機能や改修がないか
Copyright © DeNA Co.,Ltd. All Rights Reserved.
WWDC2017の影響
 すでにリリースされているもの
⁃ 自動アップデート用の段階的リリース
⁃ アプリのサブタイトル(iOS11-)
⁃ プロモーション用テキスト(iOS11-)
 現在はβでそのうちリリースされるもの
⁃ Xcode 9
• What’s New in StoreKit / etc
⁃ iOS 11
• Introducing the New App Store / etc
・すでにリリース済みのものは影響がないかすぐにチェックしないといけない
・リリース前のものはβじゃなくなるまでにチェックをしないといけない
Copyright © DeNA Co.,Ltd. All Rights Reserved.
「マスティフ」:バージョンアップ対応軽減サービス
 マスティフのお仕事 / SWET特製サンプルアプリを利用
⁃ 対象ライブラリがバージョンアップしたら動作確認をする
• バージョンアップに対応が必要かがすぐに分かる
• ビルド時間、ファイルサイズなどの変化が分かる
⁃ 既存ライブラリが動くことを定期的に動作確認する
• 使えなくなったことを早めに知りたい
⁃ 1日1回動作確認を実行
 バージョンアップ検知の対象(for iOS)
⁃ Gemfile
⁃ CocoaPods
⁃ Carthage
⁃ Xcode(βも含む)
Copyright © DeNA Co.,Ltd. All Rights Reserved.
システム構成(非常に簡単に)
全体管理
バージョンチェック
動作確認
結果管理
digdag
Jenkins
slack
モバイルアプリ
(iOS / Android)
このバージョンで
動作確認してください
あなた自身(Xcodeとか)を
バージョンアップしてください
・ファイルサイズ
・ビルド時間
などを管理し公開
Copyright © DeNA Co.,Ltd. All Rights Reserved.
マスティフの日常
 SWETの環境に生息中
⁃ 1日1回、現行バージョンの動作確認をする
• 現在の最新バージョンで動作確認
⁃ 監視対象がリリースされたら動作確認をする
• ビルドマシンに関係するもの(の例)
⁃ Xcode
• Xcode8.3.3がリリース → ビルドマシンに自動インストール
• 以降、Xcode8.3.3が動作確認で利用される
• アプリ自身が利用するもの(の例)
⁃ fastlane / gem
• 週1回以上のリリースがある(基本最新を使うのが良い)
⁃ Firebase / Pods
• ★4系になり名前が変更になり対応が必要になりました★
Copyright © DeNA Co.,Ltd. All Rights Reserved.
そんなマスティフの「WWDC2017」 初日の出来事
 iTunes Connectに新機能が追加
⁃ 定期実行でdeliverが動かないことが自動で判明
⁃ fastlaneの新バージョンがリリース(早い..)
⁃ 新バージョンでdeliverが動くことを自動で確認
私が出社する前に上記は全て終わっていました
Copyright © DeNA Co.,Ltd. All Rights Reserved.
マスティフとXcodeベータの生活(1/2)
 おさらい / ベータ版の流れ
1. ベータ版はn回リリースされる
• (Info.plist内の)バージョン番号は変わらない
• BuildNumberが変わる
1. ある日、
• ベータ最終版のGM(Gold Master)版がリリースされる
1. 正式版が出る
• (基本)GM版と一緒
• BuildNumberが異なるときがある
Copyright © DeNA Co.,Ltd. All Rights Reserved.
マスティフとXcodeベータの生活(2/2)
 マスティフにおけるベータ版のフロー(通常フローとは別で用意)
1. Xcodeベータの更新をBuildNumberの差異で検知
2. ビルドマシンにインストール
• 古いのは残さない
3. サンプルアプリを元に動作確認
• サンプルアプリは「既存」「新規対応」の2種類で確認
• 既存
• 新規機能を導入していない状態
• 新規対応
• 今回新たに追加・改良されたAPI(のうち一部)を導入
Copyright © DeNA Co.,Ltd. All Rights Reserved.
重点調査対象:テスト周り/CI周りの変化
 (我々のアプリでは)特にテスト周り/CI周りの変化に注力しています
⁃ ベータ版での調査は上記がメインになります
 アスティフで使っているアプリは以下の機能を有しています
⁃ UIテスト
• XCTest
⁃ ※新規・改修があった場合に対応する※
• EarlGrey
• Appium
⁃ CI周り
• ビルド → テスト → iTunesConnectへのデータ更新
⁃ fastlaneを元にチェック
※マスティフは他アプリで実行することも可能※
Copyright © DeNA Co.,Ltd. All Rights Reserved.
さいごに
 WWDC2017おつかれさまでした
⁃ GM版が出るまでが勝負なので楽しみましょう
⁃ バージョンアップ対応における不安とコストは極力下げて新機能を
楽しみましょう
• もっともっと下げられるはず
 In the future work
⁃ 新iOSへのバージョンアップも自動化出来ないかを検討中
• iOSのベータが出る → 端末を自動でアップデート → 動作確認
• AWS Device Farmでの利用を検討したがベータ版がない

Mais conteúdo relacionado

Mais procurados

スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることKazuaki KURIU
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすShunsuke Maeda
 
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法Toshiyuki Hirata
 
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介Shunsuke Maeda
 
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進めるiOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進めるShunsuke Maeda
 
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Shunsuke Maeda
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCIToshiyuki Hirata
 
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割DeNAにおけるSWETの役割
DeNAにおけるSWETの役割Toshiyuki Hirata
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x AndroidToshiyuki Hirata
 
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるXcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるToshiyuki Hirata
 
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたfastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたToshiyuki Hirata
 
Android e2e testing at mercari
Android e2e testing at mercariAndroid e2e testing at mercari
Android e2e testing at mercariVishal Banthia
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -Toshiyuki Hirata
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Toshiyuki Hirata
 
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜gree_tech
 
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話司 知花
 
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜gree_tech
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストToshiyuki Hirata
 

Mais procurados (20)

スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
 
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
 
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進めるiOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進める
 
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCI
 
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
 
DroidKaigi_devicefarm
DroidKaigi_devicefarmDroidKaigi_devicefarm
DroidKaigi_devicefarm
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
 
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるXcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
 
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたfastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
 
Android e2e testing at mercari
Android e2e testing at mercariAndroid e2e testing at mercari
Android e2e testing at mercari
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
 
WWDC2017 レポート & Quick Look Preview Extension について
WWDC2017 レポート & Quick Look Preview Extension についてWWDC2017 レポート & Quick Look Preview Extension について
WWDC2017 レポート & Quick Look Preview Extension について
 
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
 
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
 
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
 

Semelhante a マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス

Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconDeNA
 
Open STF Plugin 作ってみた
Open STF Plugin 作ってみたOpen STF Plugin 作ってみた
Open STF Plugin 作ってみたjustice_sm
 
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo 【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo 智治 長沢
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方dena_study
 
20221017_QiitaNight_ver2.pdf
20221017_QiitaNight_ver2.pdf20221017_QiitaNight_ver2.pdf
20221017_QiitaNight_ver2.pdfyuyayamaguchi6
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconDeNA
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーションYuta Matsumura
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestMasaki Nakagawa
 
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA
 
Dockerコミュニティ近況
Dockerコミュニティ近況Dockerコミュニティ近況
Dockerコミュニティ近況Akihiro Suda
 
5minQues - SWET近況報告
5minQues - SWET近況報告5minQues - SWET近況報告
5minQues - SWET近況報告Masaki Nakagawa
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2Yushi_Takagi
 
EnOcean Development Performance - STM3xy and .NET Gadgeteer
EnOcean Development Performance - STM3xy and .NET GadgeteerEnOcean Development Performance - STM3xy and .NET Gadgeteer
EnOcean Development Performance - STM3xy and .NET GadgeteerAtomu Hidaka
 
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage PlatformMasaki Nakagawa
 
Introducing Zend Studio 10 Japanese Edition
Introducing Zend Studio 10 Japanese EditionIntroducing Zend Studio 10 Japanese Edition
Introducing Zend Studio 10 Japanese EditionSatoru Yoshida
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#Yuta Matsumura
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~Yuki Ando
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック智治 長沢
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発Satoshi Takano
 

Semelhante a マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス (20)

Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
 
Open STF Plugin 作ってみた
Open STF Plugin 作ってみたOpen STF Plugin 作ってみた
Open STF Plugin 作ってみた
 
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo 【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方
 
20221017_QiitaNight_ver2.pdf
20221017_QiitaNight_ver2.pdf20221017_QiitaNight_ver2.pdf
20221017_QiitaNight_ver2.pdf
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
 
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
 
Dockerコミュニティ近況
Dockerコミュニティ近況Dockerコミュニティ近況
Dockerコミュニティ近況
 
5minQues - SWET近況報告
5minQues - SWET近況報告5minQues - SWET近況報告
5minQues - SWET近況報告
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2
 
EnOcean Development Performance - STM3xy and .NET Gadgeteer
EnOcean Development Performance - STM3xy and .NET GadgeteerEnOcean Development Performance - STM3xy and .NET Gadgeteer
EnOcean Development Performance - STM3xy and .NET Gadgeteer
 
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
 
Introducing Zend Studio 10 Japanese Edition
Introducing Zend Studio 10 Japanese EditionIntroducing Zend Studio 10 Japanese Edition
Introducing Zend Studio 10 Japanese Edition
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
 

Mais de Toshiyuki Hirata

iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測Toshiyuki Hirata
 
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測Toshiyuki Hirata
 
iOSにおける自動テストの並列化
iOSにおける自動テストの並列化iOSにおける自動テストの並列化
iOSにおける自動テストの並列化Toshiyuki Hirata
 
UIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめるUIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめるToshiyuki Hirata
 
UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法Toshiyuki Hirata
 
我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有Toshiyuki Hirata
 
レビューのコストを削減するための施策
レビューのコストを削減するための施策レビューのコストを削減するための施策
レビューのコストを削減するための施策Toshiyuki Hirata
 

Mais de Toshiyuki Hirata (7)

iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
 
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
 
iOSにおける自動テストの並列化
iOSにおける自動テストの並列化iOSにおける自動テストの並列化
iOSにおける自動テストの並列化
 
UIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめるUIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめる
 
UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法
 
我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有
 
レビューのコストを削減するための施策
レビューのコストを削減するための施策レビューのコストを削減するための施策
レビューのコストを削減するための施策
 

Último

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 

Último (10)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス

  • 1. Copyright © DeNA Co.,Ltd. All Rights Reserved. CAMPFIRE iOS #2 2017/06/12(Mon) 平田敏之@DeNA SWET マスティフ: (for Xcode Beta) バージョンアップ対応を軽減するためのサービス
  • 2. Copyright © DeNA Co.,Ltd. All Rights Reserved. 自己紹介  平田 敏之@DeNA ⁃ SWET (Software Engineer in Test) • 事業サポートチーム / テスト基盤チーム • ミッション ⁃ DeNAサービス全般の品質向上 ⁃ DeNAエンジニアの開発生産性向上 ⁃ 私がやっていること(の一部) • クライアントアプリ周りのテスト戦略、自動テストの開発 • CI/CD環境整備 • テスト基盤環境の開発 • iOS Test Nightの主催
  • 3. Copyright © DeNA Co.,Ltd. All Rights Reserved. はじめに  CAMPFIRE iOS #2のテーマ ⁃ 「WWDC / 新iOSバージョン対応」 • WWDC2017 ⁃ Xcode 9 / iOS 11 皆さんは発表に対してどのような感想を持ちましたか? 新機能に対してワクワクする・試してみたい • ARKit!! • XCode9!! • テスト周りの改良!! ワクワクすると同時に不安がありませんか? • 新機能に対して「どのようにテストしようか」 • 既存アプリに対して影響ある新機能や改修がないか
  • 4. Copyright © DeNA Co.,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 © DeNA Co.,Ltd. All Rights Reserved. 「マスティフ」:バージョンアップ対応軽減サービス  マスティフのお仕事 / SWET特製サンプルアプリを利用 ⁃ 対象ライブラリがバージョンアップしたら動作確認をする • バージョンアップに対応が必要かがすぐに分かる • ビルド時間、ファイルサイズなどの変化が分かる ⁃ 既存ライブラリが動くことを定期的に動作確認する • 使えなくなったことを早めに知りたい ⁃ 1日1回動作確認を実行  バージョンアップ検知の対象(for iOS) ⁃ Gemfile ⁃ CocoaPods ⁃ Carthage ⁃ Xcode(βも含む)
  • 6. Copyright © DeNA Co.,Ltd. All Rights Reserved. システム構成(非常に簡単に) 全体管理 バージョンチェック 動作確認 結果管理 digdag Jenkins slack モバイルアプリ (iOS / Android) このバージョンで 動作確認してください あなた自身(Xcodeとか)を バージョンアップしてください ・ファイルサイズ ・ビルド時間 などを管理し公開
  • 7. Copyright © DeNA Co.,Ltd. All Rights Reserved. マスティフの日常  SWETの環境に生息中 ⁃ 1日1回、現行バージョンの動作確認をする • 現在の最新バージョンで動作確認 ⁃ 監視対象がリリースされたら動作確認をする • ビルドマシンに関係するもの(の例) ⁃ Xcode • Xcode8.3.3がリリース → ビルドマシンに自動インストール • 以降、Xcode8.3.3が動作確認で利用される • アプリ自身が利用するもの(の例) ⁃ fastlane / gem • 週1回以上のリリースがある(基本最新を使うのが良い) ⁃ Firebase / Pods • ★4系になり名前が変更になり対応が必要になりました★
  • 8. Copyright © DeNA Co.,Ltd. All Rights Reserved. そんなマスティフの「WWDC2017」 初日の出来事  iTunes Connectに新機能が追加 ⁃ 定期実行でdeliverが動かないことが自動で判明 ⁃ fastlaneの新バージョンがリリース(早い..) ⁃ 新バージョンでdeliverが動くことを自動で確認 私が出社する前に上記は全て終わっていました
  • 9. Copyright © DeNA Co.,Ltd. All Rights Reserved. マスティフとXcodeベータの生活(1/2)  おさらい / ベータ版の流れ 1. ベータ版はn回リリースされる • (Info.plist内の)バージョン番号は変わらない • BuildNumberが変わる 1. ある日、 • ベータ最終版のGM(Gold Master)版がリリースされる 1. 正式版が出る • (基本)GM版と一緒 • BuildNumberが異なるときがある
  • 10. Copyright © DeNA Co.,Ltd. All Rights Reserved. マスティフとXcodeベータの生活(2/2)  マスティフにおけるベータ版のフロー(通常フローとは別で用意) 1. Xcodeベータの更新をBuildNumberの差異で検知 2. ビルドマシンにインストール • 古いのは残さない 3. サンプルアプリを元に動作確認 • サンプルアプリは「既存」「新規対応」の2種類で確認 • 既存 • 新規機能を導入していない状態 • 新規対応 • 今回新たに追加・改良されたAPI(のうち一部)を導入
  • 11. Copyright © DeNA Co.,Ltd. All Rights Reserved. 重点調査対象:テスト周り/CI周りの変化  (我々のアプリでは)特にテスト周り/CI周りの変化に注力しています ⁃ ベータ版での調査は上記がメインになります  アスティフで使っているアプリは以下の機能を有しています ⁃ UIテスト • XCTest ⁃ ※新規・改修があった場合に対応する※ • EarlGrey • Appium ⁃ CI周り • ビルド → テスト → iTunesConnectへのデータ更新 ⁃ fastlaneを元にチェック ※マスティフは他アプリで実行することも可能※
  • 12. Copyright © DeNA Co.,Ltd. All Rights Reserved. さいごに  WWDC2017おつかれさまでした ⁃ GM版が出るまでが勝負なので楽しみましょう ⁃ バージョンアップ対応における不安とコストは極力下げて新機能を 楽しみましょう • もっともっと下げられるはず  In the future work ⁃ 新iOSへのバージョンアップも自動化出来ないかを検討中 • iOSのベータが出る → 端末を自動でアップデート → 動作確認 • AWS Device Farmでの利用を検討したがベータ版がない