SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Downloaden Sie, um offline zu lesen
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
2017/03/19
1
西島 寛
快適・簡単・安心な
アプリE2Eテストの実行環境
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.2
自己紹介
西島 寛
• 2010年ヤフージャパン入
社
• E2Eテスト基盤開発エンジ
ニア
• これまではGYAO、トップ
ページ、検索プラットフォー
ムなどで開発を担当
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
取り上げる話題
• アプリ E2E テスト実行環境の話
3
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
取り上げない話題
• E2E テストの作り方については触れません!
4
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
• ヤフーのアプリ開発について
• アプリE2Eテスト実行環境 Applicat の紹介
• 開発の背景
• 自社で作ると決めるまで
• Appium をスケールさせるための工夫
• 安定したテスト実行のための工夫
• 他にも...
5
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
ヤフーのアプリ開発
について
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ヤフー・ジャパンのアプリ
7
提供アプリ数
100 以上
※出典:Yahoo! JAPAN Annual Report 2016
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ヤフー・ジャパンのアプリ
8
累計ダウンロード数
3億8000万
以上※2016年3月末時点
※出典:App Annie 2015年アプリ市場総括レポート
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
開発体制
開発・運営のメンバーは2000名以上
サービスごとにチームが分離
開発フロー・テストなど多くが権限移譲
9
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
アプリの開発・テスト環境
開発
Gitに
コミット
CI上で単体
テスト
&ビルド
社内アプリ
配布サイト
にデプロイ
ダウンロード
して手動テ
スト
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
アプリE2Eテスト
実行環境
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
E2Eテスト実行環境 Applicat
開発
GITに
コミット
CI上で単体
テスト
&ビルド
社内アプリ
配布サイト
にデプロイ
ダウンロード
して手動テ
スト
E2Eテスト
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
開発の背景
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
サービス開発の声
以前からサービスによってはアプリE2Eテス
ト自動化は取り組んでいた
14
iOS では Mac が必要だけど
置く場所がない!手動実行じゃなくて
CI連携したい!
複数端末で
並列実行したい!
動かす環境によって
結果が安定しない!
テストケースの維持が大
変
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
課題
「アプリE2Eテストの実行環境」の整備は大変
15
ビルド
• テスト対象のアプリのビルド
端末準備
• テスト実行端末の起動・初期化
テスト実行
• テストスクリプトを実行
結果保存や
共有
• 結果を保存
• PJ関係者に周知
ビルド環境構築が大変
ビルド失敗でテスト失敗に
初期化が大変
毎回同じ環境を作れない
手作業だと忘れる
仕組みをつくるのも大変
並列実行が難しい
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
気づき
• アプリのE2Eテストの実行環境整備は
サービスの開発と両立しない
• 実行環境は全社共通で整備したほうがよ
い
16
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
開発の方針
• ヤフーの規模で快適に使える
• 簡単にCIツールと連携できる
• 安心してテスト実行ができる
17
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Applicat の特徴
• テストフレームワークに Appium を採用
• 複数の端末で並列実行が可能
• テスト実行の前後の処理を工夫し、テストの
実行を安定化
• 昨年9月から運用開始し、現在およそ200件/
日のテストを実行
18
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
自社開発すると
決めるまで
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
クラウドサービスの利用検討
• Sauce Labs
• AWS Device Farm
• Xamarin Test Cloud
• …
20
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
デメリット
リリース前のアプリの外部公
開になる
社内ネットワーク上の開発用
APIを使ったテストができない
21
メリット
結果が安定
スケールする
導入までのスピード
クラウドサービスの利用検討
自社開発することに
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
フレームワークの選定
テスト記述言語 仕様の安定性 動作の安定性 実績
Appium 主要言語 ◎ ○ ◎
OS 標準
(Espresso/
XCUITest)
Java/Swift ? ◎
Espresso ◎
XCUITest △
22
仕様の安定性と実績から Appium を採用
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Appiumでのテストを
スケールさせる
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Appium とは
24
Appium
端末の排他制御・実行待ち・冗長構成
がスケールさせるために足りない
iOS /
Android
HTTP
UIAutomator
UI Automation
XCUITest
テスト実行
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Appium をスケールアウトさせるOSS
• Selenium Grid
• 複数の Appium へのアクセスを振り分けるロードバ
ランサー的なもの
• Selenium Project が開発
• Selenium Grid Router
• 複数の Selenium Grid へのアクセスを振り分ける
ロードバランサー的なもの
• ロシアの Yandex が開発
25
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Grid Router – Grid - Appium
26
Grid Router
Selenium
Grid
Appium
Appium
Selenium
Grid
Appium
写真:アフロ
テスト実行
HTTP
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Grid Router – Grid - Appium
27
Grid Router
Selenium
Grid
Appium
Appium
Selenium
Grid
Appium
写真:アフロ
テスト実行
HTTP
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Grid Router – Grid - Appium
28
Grid Router
Selenium
Grid
Appium
Appium
Selenium
Grid
Appium
写真:アフロ
テスト実行
HTTP
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Grid Router – Grid - Appium
29
Grid Router
Selenium
Grid
Appium
Appium
Selenium
Grid
Appium
写真:アフロ
テスト実行
HTTP
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Grid Router – Grid - Appium
30
Grid / Grid Router では大規模な運用は難しい
単一障害点
Grid Router
Selenium
Grid
Appium
Appium
Selenium
Grid
Appiumテスト実行
HTTP
フルスクラッチで開発することに
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
開発したテスト実行環境
3131
テスト実行キュー
クラスタ
Appium / テスト実行
ワーカー
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
テスト実行キュー
• テスト実行を Work Queue で管理
• 並列実行
• Worker を増やすことでスケールアウト可能に
• 「Android 7 の実機のどれか」といった曖昧な
形でキューに登録
• 少ない端末でやりくり
32
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
整備した環境
3333
アプリ配布
サイト
Git リポジトリ
CIツール
テスト結果ページ
社内チャットに
結果通知
テスト実行キュー
Appium / テスト実行
ワーカー
Upload
app
add
consume
Fetch app
Fetch test code
• Android 6.0 実機
• Android 7.0 実機
• Android 7.0 エミュレーター
でテスト
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
整備した環境
3434
アプリ配布
サイト
Git リポジトリ
CIツール
テスト結果ページ
社内チャットに
結果通知
テスト実行キュー
Appium / テスト実行
ワーカー
Upload
app
add
consume
Fetch app
Fetch test code• 使用端末確保
• 端末初期化
• Appium 起動
• テスト実行
• 結果レポート作成
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
整備した環境
3535
アプリ配布
サイト
Git リポジトリ
CIツール
テスト結果ページ
社内チャットに
結果通知
テスト実行キュー
Appium / テスト実行
ワーカー
Upload
app
add
consume
Fetch app
Fetch test code
テストがおわった
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
安定したテスト実行のた
めの工夫
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ビルド
• 社内標準のCIツー
ル上でビルドされた
バイナリでテストを
実行
• iOS は再署名をして
テスト実施
37
社内アプリ配信サ
イト
Applicat テスター
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
iOS アプリを再署名
38
証明書
開発元: ヤフー
テスト実行: 不可
アプリの実行
ファイル
Provisioning
Profile / entitlements
写真:アフロ
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
iOS アプリを再署名
39
証明書
開発元: Applicat
テスト実行: 可
アプリの実行
ファイル
Provisioning
Profile / entitlements
• 再署名には fastlane の sigh を利用
写真:アフロ
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
実行前処理:端末初期化
40
• 初期化ができていないとテスト結果がぶれる
• 実機のリセットは難しい
• Android
• 他アプリの Shared Preference
• 他アプリをすべて削除すれば OK
• iOS
• Key Chain
• アプリからしか消せない
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
実行前準備
iOS のテスト前初期化用
アプリを用意
テスト実行前にKey Chain
を削除
41
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
リトライ機能
• テスト失敗時、同条件の別端末で再実行
するリトライ機能
• テストが失敗したとき、テストケース自体
の問題でなく環境起因で失敗していること
もあるため
42
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
デバイス監視
• 実機との接続が切れることがある
• 定期的にコマンドでデバイスの接続を確
認し、接続がなくなった場合アラートを投
げる
43
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定して実行されるように
44
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
他にも…
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ライブラリの提供
• 全社で共通に使う処理をライブラリ化
• Yahoo! JAPAN IDのログイン機能
• ネットワーク設定機能 (hosts)
46
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ログイン機能
• ログイン機能はほとんどのアプリで実装
• テストケースにアノテーションをつけるだけでログイ
ン状態にできる
47
@YJLogin("Yahoo_Japan_ID")
@Test
public void ログイン状態でのトップ画面表示を確認() {
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ネットワーク設定機能
• 設定ファイルを置くことで、WebAPIリクエストの宛先
を開発環境のものに変更
• /etc/hosts の書き換えのようなもの
• 実機/エミュレーターそれぞれにフォワードプロキ
シーを割り当てて実現
48
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
フレームワークの整備
• テストの書き方のサポート
• ドキュメントの整備
• PageObject パターンでテストがかけるフレーム
ワークの提供
• 適度なタイミングで画面遷移待ち
49
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Appium への貢献 (すこし)
50
マージされました
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
まとめ
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ビルド環境構築が大変
ビルド失敗でテスト失敗に
初期化が大変
毎回同じ環境を作れない
手作業だと忘れる
仕組みをつくるのも大変
並列実行が難しい
シミュレーターだけでなく実機
でも毎回同じ環境!
まとめ
「アプリE2Eテストの実行環境」の整備は大変
52
ビルド
• テスト対象のアプリのビルド
端末準備
• テスト実行端末の起動・初期化
テスト実行
• テストスクリプトを実行
結果保存や
共有
• 結果を保存
• PJ関係者に周知
全社のCIツールでビルドしてテ
スト!
気にしないでも並列実行!
リトライもしてくれる
デフォルトで保存!
通知も設定するだけ
簡単
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
最後に
アプリのE2Eテストを実行しやすい環境は整
えられた
でも、まだまだこれから、、
ヤフーでは開発環境の整備に興味があるエ
ンジニアも募集しています!
53
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
おわり

Weitere ähnliche Inhalte

Was ist angesagt?

4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンスNozomi Ito
 
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場Kotaro Ogino
 
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?Teppei Sato
 
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化Nozomi Ito
 
SI-Toolkitでテスト自動化を実現する現場で遭遇したこと
SI-Toolkitでテスト自動化を実現する現場で遭遇したことSI-Toolkitでテスト自動化を実現する現場で遭遇したこと
SI-Toolkitでテスト自動化を実現する現場で遭遇したことyuichi_kuwahara
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpharyuji koyama
 
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015Toru Koido
 
「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」Koichi Tanizaki
 
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasstkyon mm
 
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介Shinsuke Matsuki
 
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)Kotaro Ogino
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014Kazuhiro Suzuki
 
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所Kotaro Ogino
 
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015Yahoo!デベロッパーネットワーク
 
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際Satsuki Urayama
 
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略Naoki Umehara
 
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料Hiroko Tamagawa
 
【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例Kotaro Ogino
 

Was ist angesagt? (20)

4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
 
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
 
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
 
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
 
SI-Toolkitでテスト自動化を実現する現場で遭遇したこと
SI-Toolkitでテスト自動化を実現する現場で遭遇したことSI-Toolkitでテスト自動化を実現する現場で遭遇したこと
SI-Toolkitでテスト自動化を実現する現場で遭遇したこと
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpha
 
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
 
「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」
 
Stac2014 石川
Stac2014 石川Stac2014 石川
Stac2014 石川
 
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
 
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
 
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
 
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
 
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
 
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
 
Stac2013 開会挨拶
Stac2013 開会挨拶Stac2013 開会挨拶
Stac2013 開会挨拶
 
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
 
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
 
【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例
 

Andere mochten auch

テスト自動化のパターンと実践
テスト自動化のパターンと実践テスト自動化のパターンと実践
テスト自動化のパターンと実践Hiroshi Maekawa
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014Koji Hasegawa
 
キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06Toru Koido
 
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)H Iseri
 
手動テストからの移行大作戦
手動テストからの移行大作戦手動テストからの移行大作戦
手動テストからの移行大作戦Satsuki Urayama
 
20151213 system test automation conference
20151213 system test automation conference20151213 system test automation conference
20151213 system test automation conferenceKazuaki Matsuo
 
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからKeizo Tatsumi
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプラインkyon mm
 
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013Kinji Akemine
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはNozomi Ito
 
事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイントHiroshi Maekawa
 
STAC 2015 自動家は見た ~自動化の現場の真実~ SIDE:マネージャ
STAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャSTAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャ
STAC 2015 自動家は見た ~自動化の現場の真実~ SIDE:マネージャNoriyuki Mizuno
 
「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-
「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-
「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-Kazuhito Miura
 
「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015
「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015 「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015
「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015 Kazuhito Miura
 

Andere mochten auch (14)

テスト自動化のパターンと実践
テスト自動化のパターンと実践テスト自動化のパターンと実践
テスト自動化のパターンと実践
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
 
キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06
 
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
 
手動テストからの移行大作戦
手動テストからの移行大作戦手動テストからの移行大作戦
手動テストからの移行大作戦
 
20151213 system test automation conference
20151213 system test automation conference20151213 system test automation conference
20151213 system test automation conference
 
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
 
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
 
事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント
 
STAC 2015 自動家は見た ~自動化の現場の真実~ SIDE:マネージャ
STAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャSTAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャ
STAC 2015 自動家は見た ~自動化の現場の真実~ SIDE:マネージャ
 
「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-
「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-
「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-
 
「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015
「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015 「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015
「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015
 

Ähnlich wie 快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017

Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Toshiyuki Hirata
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -Toshiyuki Hirata
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストToshiyuki Hirata
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト健一 辰濱
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCIToshiyuki Hirata
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~SEGADevTech
 
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -Toshiyuki Hirata
 
Open STF Plugin 作ってみた
Open STF Plugin 作ってみたOpen STF Plugin 作ってみた
Open STF Plugin 作ってみたjustice_sm
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前にYasui Tsutomu
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Takako Miyagawa
 
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフバージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフToshiyuki Hirata
 
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 20175分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017Toshiya Komoda
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストAtsuhiro Kubo
 
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたfastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたToshiyuki Hirata
 
OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様ManageEngine, Zoho Corporation
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本Tsuyoshi Yumoto
 

Ähnlich wie 快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017 (20)

Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCI
 
Twitter4Jとテスト
Twitter4JとテストTwitter4Jとテスト
Twitter4Jとテスト
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
 
Androidテスティング実践2 システムテスト編
Androidテスティング実践2 システムテスト編Androidテスティング実践2 システムテスト編
Androidテスティング実践2 システムテスト編
 
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
 
Open STF Plugin 作ってみた
Open STF Plugin 作ってみたOpen STF Plugin 作ってみた
Open STF Plugin 作ってみた
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
.Netlab202107
.Netlab202107.Netlab202107
.Netlab202107
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフバージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
 
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 20175分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017
 
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
 
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたfastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
 
OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本
 

Mehr von Yahoo!デベロッパーネットワーク

ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかYahoo!デベロッパーネットワーク
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2Yahoo!デベロッパーネットワーク
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcYahoo!デベロッパーネットワーク
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo!デベロッパーネットワーク
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcYahoo!デベロッパーネットワーク
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtcYahoo!デベロッパーネットワーク
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcYahoo!デベロッパーネットワーク
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcYahoo!デベロッパーネットワーク
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcYahoo!デベロッパーネットワーク
 

Mehr von Yahoo!デベロッパーネットワーク (20)

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
 
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
 
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
 
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
 

Kürzlich hochgeladen

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介: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
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/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
 
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.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介: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
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Kürzlich hochgeladen (11)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: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...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/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
 
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日本語マニュアル
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: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
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017

  • 1. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 2017/03/19 1 西島 寛 快適・簡単・安心な アプリE2Eテストの実行環境
  • 2. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.2 自己紹介 西島 寛 • 2010年ヤフージャパン入 社 • E2Eテスト基盤開発エンジ ニア • これまではGYAO、トップ ページ、検索プラットフォー ムなどで開発を担当
  • 3. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 取り上げる話題 • アプリ E2E テスト実行環境の話 3
  • 4. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 取り上げない話題 • E2E テストの作り方については触れません! 4
  • 5. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. アジェンダ • ヤフーのアプリ開発について • アプリE2Eテスト実行環境 Applicat の紹介 • 開発の背景 • 自社で作ると決めるまで • Appium をスケールさせるための工夫 • 安定したテスト実行のための工夫 • 他にも... 5
  • 6. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. ヤフーのアプリ開発 について
  • 7. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ヤフー・ジャパンのアプリ 7 提供アプリ数 100 以上 ※出典:Yahoo! JAPAN Annual Report 2016
  • 8. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ヤフー・ジャパンのアプリ 8 累計ダウンロード数 3億8000万 以上※2016年3月末時点 ※出典:App Annie 2015年アプリ市場総括レポート
  • 9. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 開発体制 開発・運営のメンバーは2000名以上 サービスごとにチームが分離 開発フロー・テストなど多くが権限移譲 9
  • 10. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. アプリの開発・テスト環境 開発 Gitに コミット CI上で単体 テスト &ビルド 社内アプリ 配布サイト にデプロイ ダウンロード して手動テ スト
  • 11. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. アプリE2Eテスト 実行環境
  • 12. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. E2Eテスト実行環境 Applicat 開発 GITに コミット CI上で単体 テスト &ビルド 社内アプリ 配布サイト にデプロイ ダウンロード して手動テ スト E2Eテスト
  • 13. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 開発の背景
  • 14. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. サービス開発の声 以前からサービスによってはアプリE2Eテス ト自動化は取り組んでいた 14 iOS では Mac が必要だけど 置く場所がない!手動実行じゃなくて CI連携したい! 複数端末で 並列実行したい! 動かす環境によって 結果が安定しない! テストケースの維持が大 変
  • 15. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 課題 「アプリE2Eテストの実行環境」の整備は大変 15 ビルド • テスト対象のアプリのビルド 端末準備 • テスト実行端末の起動・初期化 テスト実行 • テストスクリプトを実行 結果保存や 共有 • 結果を保存 • PJ関係者に周知 ビルド環境構築が大変 ビルド失敗でテスト失敗に 初期化が大変 毎回同じ環境を作れない 手作業だと忘れる 仕組みをつくるのも大変 並列実行が難しい
  • 16. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 気づき • アプリのE2Eテストの実行環境整備は サービスの開発と両立しない • 実行環境は全社共通で整備したほうがよ い 16
  • 17. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 開発の方針 • ヤフーの規模で快適に使える • 簡単にCIツールと連携できる • 安心してテスト実行ができる 17
  • 18. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Applicat の特徴 • テストフレームワークに Appium を採用 • 複数の端末で並列実行が可能 • テスト実行の前後の処理を工夫し、テストの 実行を安定化 • 昨年9月から運用開始し、現在およそ200件/ 日のテストを実行 18
  • 19. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 自社開発すると 決めるまで
  • 20. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. クラウドサービスの利用検討 • Sauce Labs • AWS Device Farm • Xamarin Test Cloud • … 20
  • 21. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. デメリット リリース前のアプリの外部公 開になる 社内ネットワーク上の開発用 APIを使ったテストができない 21 メリット 結果が安定 スケールする 導入までのスピード クラウドサービスの利用検討 自社開発することに
  • 22. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. フレームワークの選定 テスト記述言語 仕様の安定性 動作の安定性 実績 Appium 主要言語 ◎ ○ ◎ OS 標準 (Espresso/ XCUITest) Java/Swift ? ◎ Espresso ◎ XCUITest △ 22 仕様の安定性と実績から Appium を採用
  • 23. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. Appiumでのテストを スケールさせる
  • 24. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Appium とは 24 Appium 端末の排他制御・実行待ち・冗長構成 がスケールさせるために足りない iOS / Android HTTP UIAutomator UI Automation XCUITest テスト実行
  • 25. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Appium をスケールアウトさせるOSS • Selenium Grid • 複数の Appium へのアクセスを振り分けるロードバ ランサー的なもの • Selenium Project が開発 • Selenium Grid Router • 複数の Selenium Grid へのアクセスを振り分ける ロードバランサー的なもの • ロシアの Yandex が開発 25
  • 26. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Grid Router – Grid - Appium 26 Grid Router Selenium Grid Appium Appium Selenium Grid Appium 写真:アフロ テスト実行 HTTP
  • 27. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Grid Router – Grid - Appium 27 Grid Router Selenium Grid Appium Appium Selenium Grid Appium 写真:アフロ テスト実行 HTTP
  • 28. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Grid Router – Grid - Appium 28 Grid Router Selenium Grid Appium Appium Selenium Grid Appium 写真:アフロ テスト実行 HTTP
  • 29. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Grid Router – Grid - Appium 29 Grid Router Selenium Grid Appium Appium Selenium Grid Appium 写真:アフロ テスト実行 HTTP
  • 30. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Grid Router – Grid - Appium 30 Grid / Grid Router では大規模な運用は難しい 単一障害点 Grid Router Selenium Grid Appium Appium Selenium Grid Appiumテスト実行 HTTP フルスクラッチで開発することに
  • 31. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 開発したテスト実行環境 3131 テスト実行キュー クラスタ Appium / テスト実行 ワーカー
  • 32. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. テスト実行キュー • テスト実行を Work Queue で管理 • 並列実行 • Worker を増やすことでスケールアウト可能に • 「Android 7 の実機のどれか」といった曖昧な 形でキューに登録 • 少ない端末でやりくり 32
  • 33. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 整備した環境 3333 アプリ配布 サイト Git リポジトリ CIツール テスト結果ページ 社内チャットに 結果通知 テスト実行キュー Appium / テスト実行 ワーカー Upload app add consume Fetch app Fetch test code • Android 6.0 実機 • Android 7.0 実機 • Android 7.0 エミュレーター でテスト
  • 34. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 整備した環境 3434 アプリ配布 サイト Git リポジトリ CIツール テスト結果ページ 社内チャットに 結果通知 テスト実行キュー Appium / テスト実行 ワーカー Upload app add consume Fetch app Fetch test code• 使用端末確保 • 端末初期化 • Appium 起動 • テスト実行 • 結果レポート作成
  • 35. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 整備した環境 3535 アプリ配布 サイト Git リポジトリ CIツール テスト結果ページ 社内チャットに 結果通知 テスト実行キュー Appium / テスト実行 ワーカー Upload app add consume Fetch app Fetch test code テストがおわった
  • 36. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 安定したテスト実行のた めの工夫
  • 37. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ビルド • 社内標準のCIツー ル上でビルドされた バイナリでテストを 実行 • iOS は再署名をして テスト実施 37 社内アプリ配信サ イト Applicat テスター
  • 38. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. iOS アプリを再署名 38 証明書 開発元: ヤフー テスト実行: 不可 アプリの実行 ファイル Provisioning Profile / entitlements 写真:アフロ
  • 39. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. iOS アプリを再署名 39 証明書 開発元: Applicat テスト実行: 可 アプリの実行 ファイル Provisioning Profile / entitlements • 再署名には fastlane の sigh を利用 写真:アフロ
  • 40. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 実行前処理:端末初期化 40 • 初期化ができていないとテスト結果がぶれる • 実機のリセットは難しい • Android • 他アプリの Shared Preference • 他アプリをすべて削除すれば OK • iOS • Key Chain • アプリからしか消せない
  • 41. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 実行前準備 iOS のテスト前初期化用 アプリを用意 テスト実行前にKey Chain を削除 41
  • 42. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. リトライ機能 • テスト失敗時、同条件の別端末で再実行 するリトライ機能 • テストが失敗したとき、テストケース自体 の問題でなく環境起因で失敗していること もあるため 42
  • 43. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. デバイス監視 • 実機との接続が切れることがある • 定期的にコマンドでデバイスの接続を確 認し、接続がなくなった場合アラートを投 げる 43
  • 44. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 安定して実行されるように 44
  • 45. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 他にも…
  • 46. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ライブラリの提供 • 全社で共通に使う処理をライブラリ化 • Yahoo! JAPAN IDのログイン機能 • ネットワーク設定機能 (hosts) 46
  • 47. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ログイン機能 • ログイン機能はほとんどのアプリで実装 • テストケースにアノテーションをつけるだけでログイ ン状態にできる 47 @YJLogin("Yahoo_Japan_ID") @Test public void ログイン状態でのトップ画面表示を確認() {
  • 48. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ネットワーク設定機能 • 設定ファイルを置くことで、WebAPIリクエストの宛先 を開発環境のものに変更 • /etc/hosts の書き換えのようなもの • 実機/エミュレーターそれぞれにフォワードプロキ シーを割り当てて実現 48
  • 49. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. フレームワークの整備 • テストの書き方のサポート • ドキュメントの整備 • PageObject パターンでテストがかけるフレーム ワークの提供 • 適度なタイミングで画面遷移待ち 49
  • 50. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Appium への貢献 (すこし) 50 マージされました
  • 51. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. まとめ
  • 52. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ビルド環境構築が大変 ビルド失敗でテスト失敗に 初期化が大変 毎回同じ環境を作れない 手作業だと忘れる 仕組みをつくるのも大変 並列実行が難しい シミュレーターだけでなく実機 でも毎回同じ環境! まとめ 「アプリE2Eテストの実行環境」の整備は大変 52 ビルド • テスト対象のアプリのビルド 端末準備 • テスト実行端末の起動・初期化 テスト実行 • テストスクリプトを実行 結果保存や 共有 • 結果を保存 • PJ関係者に周知 全社のCIツールでビルドしてテ スト! 気にしないでも並列実行! リトライもしてくれる デフォルトで保存! 通知も設定するだけ 簡単
  • 53. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 最後に アプリのE2Eテストを実行しやすい環境は整 えられた でも、まだまだこれから、、 ヤフーでは開発環境の整備に興味があるエ ンジニアも募集しています! 53
  • 54. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. おわり