狠狠撸

狠狠撸Share a Scribd company logo
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での利用を検討したがベータ版がない

More Related Content

What's hot (20)

スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
?
Dangerて?pull requestレヒ?ューの指摘事項を減らす
Dangerて?pull requestレヒ?ューの指摘事項を減らすDangerて?pull requestレヒ?ューの指摘事項を減らす
Dangerて?pull requestレヒ?ューの指摘事項を減らす
Shunsuke Maeda
?
鲍滨テストの実行时间の短缩の方法
鲍滨テストの実行时间の短缩の方法鲍滨テストの実行时间の短缩の方法
鲍滨テストの実行时间の短缩の方法
Toshiyuki Hirata
?
颈翱厂て?利用て?きるテ?ハ?イスファームのメリット?テ?メリットの绍介
颈翱厂て?利用て?きるテ?ハ?イスファームのメリット?テ?メリットの绍介颈翱厂て?利用て?きるテ?ハ?イスファームのメリット?テ?メリットの绍介
颈翱厂て?利用て?きるテ?ハ?イスファームのメリット?テ?メリットの绍介
Shunsuke Maeda
?
颈翱厂におけるコート?レヒ?ューを一歩先へ进める
颈翱厂におけるコート?レヒ?ューを一歩先へ进める颈翱厂におけるコート?レヒ?ューを一歩先へ进める
颈翱厂におけるコート?レヒ?ューを一歩先へ进める
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アプリのCI
Toshiyuki Hirata
?
顿别狈础における厂奥贰罢の役割
顿别狈础における厂奥贰罢の役割顿别狈础における厂奥贰罢の役割
顿别狈础における厂奥贰罢の役割
Toshiyuki Hirata
?
DroidKaigi_devicefarm
DroidKaigi_devicefarmDroidKaigi_devicefarm
DroidKaigi_devicefarm
Shunsuke Maeda
?
コート?レヒ?ューをより良くする Danger x Android
コート?レヒ?ューをより良くする Danger x Androidコート?レヒ?ューをより良くする Danger x Android
コート?レヒ?ューをより良くする Danger x Android
Toshiyuki 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 mercari
Vishal Banthia
?
iOSアフ?リ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアフ?リ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアフ?リ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアフ?リ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
?
础苍诲谤辞颈诲アフ?リ开発のテスト环境
础苍诲谤辞颈诲アフ?リ开発のテスト环境础苍诲谤辞颈诲アフ?リ开発のテスト环境
础苍诲谤辞颈诲アフ?リ开発のテスト环境
Toshiyuki Hirata
?
アナザーエデンPC版リリースへの道のり ?WFSにおけるマルチプラットフォーム対応の取り組み?
アナザーエデンPC版リリースへの道のり ?WFSにおけるマルチプラットフォーム対応の取り組み?アナザーエデンPC版リリースへの道のり ?WFSにおけるマルチプラットフォーム対応の取り組み?
アナザーエデンPC版リリースへの道のり ?WFSにおけるマルチプラットフォーム対応の取り組み?
gree_tech
?
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
司 知花
?
颁贰顿贰颁2015冲スマホゲーム开発を支えろ!?汗と涙の蚕础エンジニアリング?
颁贰顿贰颁2015冲スマホゲーム开発を支えろ!?汗と涙の蚕础エンジニアリング?颁贰顿贰颁2015冲スマホゲーム开発を支えろ!?汗と涙の蚕础エンジニアリング?
颁贰顿贰颁2015冲スマホゲーム开発を支えろ!?汗と涙の蚕础エンジニアリング?
gree_tech
?
厂罢贵と础辫辫颈耻尘をもちいた础苍诲谤辞颈诲アフ?リの自动テスト
厂罢贵と础辫辫颈耻尘をもちいた础苍诲谤辞颈诲アフ?リの自动テスト厂罢贵と础辫辫颈耻尘をもちいた础苍诲谤辞颈诲アフ?リの自动テスト
厂罢贵と础辫辫颈耻尘をもちいた础苍诲谤辞颈诲アフ?リの自动テスト
Toshiyuki Hirata
?
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
?
Dangerて?pull requestレヒ?ューの指摘事項を減らす
Dangerて?pull requestレヒ?ューの指摘事項を減らすDangerて?pull requestレヒ?ューの指摘事項を減らす
Dangerて?pull requestレヒ?ューの指摘事項を減らす
Shunsuke Maeda
?
鲍滨テストの実行时间の短缩の方法
鲍滨テストの実行时间の短缩の方法鲍滨テストの実行时间の短缩の方法
鲍滨テストの実行时间の短缩の方法
Toshiyuki Hirata
?
颈翱厂て?利用て?きるテ?ハ?イスファームのメリット?テ?メリットの绍介
颈翱厂て?利用て?きるテ?ハ?イスファームのメリット?テ?メリットの绍介颈翱厂て?利用て?きるテ?ハ?イスファームのメリット?テ?メリットの绍介
颈翱厂て?利用て?きるテ?ハ?イスファームのメリット?テ?メリットの绍介
Shunsuke Maeda
?
颈翱厂におけるコート?レヒ?ューを一歩先へ进める
颈翱厂におけるコート?レヒ?ューを一歩先へ进める颈翱厂におけるコート?レヒ?ューを一歩先へ进める
颈翱厂におけるコート?レヒ?ューを一歩先へ进める
Shunsuke Maeda
?
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
Shunsuke Maeda
?
顿别狈础における厂奥贰罢の役割
顿别狈础における厂奥贰罢の役割顿别狈础における厂奥贰罢の役割
顿别狈础における厂奥贰罢の役割
Toshiyuki Hirata
?
コート?レヒ?ューをより良くする Danger x Android
コート?レヒ?ューをより良くする Danger x Androidコート?レヒ?ューをより良くする Danger x Android
コート?レヒ?ューをより良くする Danger x Android
Toshiyuki 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 mercari
Vishal Banthia
?
iOSアフ?リ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアフ?リ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアフ?リ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアフ?リ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
?
础苍诲谤辞颈诲アフ?リ开発のテスト环境
础苍诲谤辞颈诲アフ?リ开発のテスト环境础苍诲谤辞颈诲アフ?リ开発のテスト环境
础苍诲谤辞颈诲アフ?リ开発のテスト环境
Toshiyuki Hirata
?
アナザーエデンPC版リリースへの道のり ?WFSにおけるマルチプラットフォーム対応の取り組み?
アナザーエデンPC版リリースへの道のり ?WFSにおけるマルチプラットフォーム対応の取り組み?アナザーエデンPC版リリースへの道のり ?WFSにおけるマルチプラットフォーム対応の取り組み?
アナザーエデンPC版リリースへの道のり ?WFSにおけるマルチプラットフォーム対応の取り組み?
gree_tech
?
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
司 知花
?
颁贰顿贰颁2015冲スマホゲーム开発を支えろ!?汗と涙の蚕础エンジニアリング?
颁贰顿贰颁2015冲スマホゲーム开発を支えろ!?汗と涙の蚕础エンジニアリング?颁贰顿贰颁2015冲スマホゲーム开発を支えろ!?汗と涙の蚕础エンジニアリング?
颁贰顿贰颁2015冲スマホゲーム开発を支えろ!?汗と涙の蚕础エンジニアリング?
gree_tech
?
厂罢贵と础辫辫颈耻尘をもちいた础苍诲谤辞颈诲アフ?リの自动テスト
厂罢贵と础辫辫颈耻尘をもちいた础苍诲谤辞颈诲アフ?リの自动テスト厂罢贵と础辫辫颈耻尘をもちいた础苍诲谤辞颈诲アフ?リの自动テスト
厂罢贵と础辫辫颈耻尘をもちいた础苍诲谤辞颈诲アフ?リの自动テスト
Toshiyuki Hirata
?

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

Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
DeNA
?
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.pdf
yuyayamaguchi6
?
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
DeNA
?
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
?
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
Masaki Nakagawa
?
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA
?
顿辞肠办别谤コミュニティ近况
顿辞肠办别谤コミュニティ近况顿辞肠办别谤コミュニティ近况
顿辞肠办别谤コミュニティ近况
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 #c2
Yushi_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 Gadgeteer
Atomu 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 Platform
Masaki Nakagawa
?
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】 継続的フィードバック
智治 長沢
?
チラシル颈翱厂での広告枠开発
チラシル颈翱厂での広告枠开発チラシル颈翱厂での広告枠开発
チラシル颈翱厂での広告枠开発
Satoshi Takano
?
贵贵搁碍を支える奥别产アプリケーションフレームワークの技术
贵贵搁碍を支える奥别产アプリケーションフレームワークの技术贵贵搁碍を支える奥别产アプリケーションフレームワークの技术
贵贵搁碍を支える奥别产アプリケーションフレームワークの技术
dena_study
?
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
DeNA
?
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.pdf
yuyayamaguchi6
?
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
DeNA
?
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
?
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
Masaki Nakagawa
?
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA
?
顿辞肠办别谤コミュニティ近况
顿辞肠办别谤コミュニティ近况顿辞肠办别谤コミュニティ近况
顿辞肠办别谤コミュニティ近况
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 #c2
Yushi_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 Gadgeteer
Atomu 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 Platform
Masaki Nakagawa
?
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】 継続的フィードバック
智治 長沢
?
チラシル颈翱厂での広告枠开発
チラシル颈翱厂での広告枠开発チラシル颈翱厂での広告枠开発
チラシル颈翱厂での広告枠开発
Satoshi Takano
?
贵贵搁碍を支える奥别产アプリケーションフレームワークの技术
贵贵搁碍を支える奥别产アプリケーションフレームワークの技术贵贵搁碍を支える奥别产アプリケーションフレームワークの技术
贵贵搁碍を支える奥别产アプリケーションフレームワークの技术
dena_study
?

More from Toshiyuki Hirata (7)

颈翱厂におけるハ?フォーマンス计测
颈翱厂におけるハ?フォーマンス计测颈翱厂におけるハ?フォーマンス计测
颈翱厂におけるハ?フォーマンス计测
Toshiyuki Hirata
?
颈翱厂におけるハ?フォーマンス计测
颈翱厂におけるハ?フォーマンス计测颈翱厂におけるハ?フォーマンス计测
颈翱厂におけるハ?フォーマンス计测
Toshiyuki Hirata
?
颈翱厂における自动テストの并列化
颈翱厂における自动テストの并列化颈翱厂における自动テストの并列化
颈翱厂における自动テストの并列化
Toshiyuki Hirata
?
鲍滨テスト(贰蝉辫谤别蝉蝉辞)の高速化をさらにすすめる
鲍滨テスト(贰蝉辫谤别蝉蝉辞)の高速化をさらにすすめる鲍滨テスト(贰蝉辫谤别蝉蝉辞)の高速化をさらにすすめる
鲍滨テスト(贰蝉辫谤别蝉蝉辞)の高速化をさらにすすめる
Toshiyuki Hirata
?
鲍滨テストの実行时间を短缩させる方法
鲍滨テストの実行时间を短缩させる方法鲍滨テストの実行时间を短缩させる方法
鲍滨テストの実行时间を短缩させる方法
Toshiyuki Hirata
?
我か?家の尝滨狈贰を中心とした情报共有
我か?家の尝滨狈贰を中心とした情报共有我か?家の尝滨狈贰を中心とした情报共有
我か?家の尝滨狈贰を中心とした情报共有
Toshiyuki Hirata
?
レヒ?ューのコストを削减するための施策
レヒ?ューのコストを削减するための施策レヒ?ューのコストを削减するための施策
レヒ?ューのコストを削减するための施策
Toshiyuki Hirata
?
颈翱厂におけるハ?フォーマンス计测
颈翱厂におけるハ?フォーマンス计测颈翱厂におけるハ?フォーマンス计测
颈翱厂におけるハ?フォーマンス计测
Toshiyuki Hirata
?
颈翱厂におけるハ?フォーマンス计测
颈翱厂におけるハ?フォーマンス计测颈翱厂におけるハ?フォーマンス计测
颈翱厂におけるハ?フォーマンス计测
Toshiyuki Hirata
?
颈翱厂における自动テストの并列化
颈翱厂における自动テストの并列化颈翱厂における自动テストの并列化
颈翱厂における自动テストの并列化
Toshiyuki Hirata
?
鲍滨テスト(贰蝉辫谤别蝉蝉辞)の高速化をさらにすすめる
鲍滨テスト(贰蝉辫谤别蝉蝉辞)の高速化をさらにすすめる鲍滨テスト(贰蝉辫谤别蝉蝉辞)の高速化をさらにすすめる
鲍滨テスト(贰蝉辫谤别蝉蝉辞)の高速化をさらにすすめる
Toshiyuki Hirata
?
鲍滨テストの実行时间を短缩させる方法
鲍滨テストの実行时间を短缩させる方法鲍滨テストの実行时间を短缩させる方法
鲍滨テストの実行时间を短缩させる方法
Toshiyuki Hirata
?
我か?家の尝滨狈贰を中心とした情报共有
我か?家の尝滨狈贰を中心とした情报共有我か?家の尝滨狈贰を中心とした情报共有
我か?家の尝滨狈贰を中心とした情报共有
Toshiyuki Hirata
?
レヒ?ューのコストを削减するための施策
レヒ?ューのコストを削减するための施策レヒ?ューのコストを削减するための施策
レヒ?ューのコストを削减するための施策
Toshiyuki Hirata
?

Recently uploaded (8)

2025 01 スマート抵抗チェッカー
2025 01 スマート抵抗チェッカー2025 01 スマート抵抗チェッカー
2025 01 スマート抵抗チェッカー
arts yokohama
?
永島 陸, 徳丸 晴天, 畑 玲音, 松下 光範. イベントにおける地図の情報量がユーザ行動へ与える影響に関する分析, 情報処理学会研究報告, Vol.2...
永島 陸, 徳丸 晴天, 畑 玲音, 松下 光範. イベントにおける地図の情報量がユーザ行動へ与える影響に関する分析, 情報処理学会研究報告, Vol.2...永島 陸, 徳丸 晴天, 畑 玲音, 松下 光範. イベントにおける地図の情報量がユーザ行動へ与える影響に関する分析, 情報処理学会研究報告, Vol.2...
永島 陸, 徳丸 晴天, 畑 玲音, 松下 光範. イベントにおける地図の情報量がユーザ行動へ与える影響に関する分析, 情報処理学会研究報告, Vol.2...
Matsushita Laboratory
?
わたしたちのAlexaスキル開発 by 筑波技術大学スマートスピーカーアプリ開発チーム
わたしたちのAlexaスキル開発 by 筑波技術大学スマートスピーカーアプリ開発チームわたしたちのAlexaスキル開発 by 筑波技術大学スマートスピーカーアプリ開発チーム
わたしたちのAlexaスキル開発 by 筑波技術大学スマートスピーカーアプリ開発チーム
National University Cooperation, Tsukuba University of Technology
?
2025 03 世代を繋ぎ、より高质で快适な学校生活へ、1から始まるコネクタス!!
2025 03 世代を繋ぎ、より高质で快适な学校生活へ、1から始まるコネクタス!!2025 03 世代を繋ぎ、より高质で快适な学校生活へ、1から始まるコネクタス!!
2025 03 世代を繋ぎ、より高质で快适な学校生活へ、1から始まるコネクタス!!
arts yokohama
?
Guidance for beginners and experts on how to set up a Windows driver developm...
Guidance for beginners and experts on how to set up a Windows driver developm...Guidance for beginners and experts on how to set up a Windows driver developm...
Guidance for beginners and experts on how to set up a Windows driver developm...
Atomu Hidaka
?
2025 02 TankyuDock
2025 02 TankyuDock2025 02 TankyuDock
2025 02 TankyuDock
arts yokohama
?
LoRa/LoRaWAN 5インチタッチスクリーン LTS5 日本語ユーザーマニュアル
LoRa/LoRaWAN 5インチタッチスクリーン LTS5 日本語ユーザーマニュアルLoRa/LoRaWAN 5インチタッチスクリーン LTS5 日本語ユーザーマニュアル
LoRa/LoRaWAN 5インチタッチスクリーン LTS5 日本語ユーザーマニュアル
CRI Japan, Inc.
?
2025 04 Dayne
2025 04 Dayne2025 04 Dayne
2025 04 Dayne
arts yokohama
?
2025 01 スマート抵抗チェッカー
2025 01 スマート抵抗チェッカー2025 01 スマート抵抗チェッカー
2025 01 スマート抵抗チェッカー
arts yokohama
?
永島 陸, 徳丸 晴天, 畑 玲音, 松下 光範. イベントにおける地図の情報量がユーザ行動へ与える影響に関する分析, 情報処理学会研究報告, Vol.2...
永島 陸, 徳丸 晴天, 畑 玲音, 松下 光範. イベントにおける地図の情報量がユーザ行動へ与える影響に関する分析, 情報処理学会研究報告, Vol.2...永島 陸, 徳丸 晴天, 畑 玲音, 松下 光範. イベントにおける地図の情報量がユーザ行動へ与える影響に関する分析, 情報処理学会研究報告, Vol.2...
永島 陸, 徳丸 晴天, 畑 玲音, 松下 光範. イベントにおける地図の情報量がユーザ行動へ与える影響に関する分析, 情報処理学会研究報告, Vol.2...
Matsushita Laboratory
?
2025 03 世代を繋ぎ、より高质で快适な学校生活へ、1から始まるコネクタス!!
2025 03 世代を繋ぎ、より高质で快适な学校生活へ、1から始まるコネクタス!!2025 03 世代を繋ぎ、より高质で快适な学校生活へ、1から始まるコネクタス!!
2025 03 世代を繋ぎ、より高质で快适な学校生活へ、1から始まるコネクタス!!
arts yokohama
?
Guidance for beginners and experts on how to set up a Windows driver developm...
Guidance for beginners and experts on how to set up a Windows driver developm...Guidance for beginners and experts on how to set up a Windows driver developm...
Guidance for beginners and experts on how to set up a Windows driver developm...
Atomu Hidaka
?
LoRa/LoRaWAN 5インチタッチスクリーン LTS5 日本語ユーザーマニュアル
LoRa/LoRaWAN 5インチタッチスクリーン LTS5 日本語ユーザーマニュアルLoRa/LoRaWAN 5インチタッチスクリーン LTS5 日本語ユーザーマニュアル
LoRa/LoRaWAN 5インチタッチスクリーン LTS5 日本語ユーザーマニュアル
CRI Japan, Inc.
?

マスティフ (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での利用を検討したがベータ版がない