SlideShare a Scribd company logo
1 of 64
Download to read offline
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
1
2014/04/22
!
Masaki Nakagawa
Manager, SWET(Software Engineer in Test) Gr.

Quality Management Dept.

System Management Unit

DeNA Co., Ltd.
Mobageオープンプラットフォーム
でのテスト自動化
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
About Me
• Masaki Nakagawa	

• @ikasam_a	

• github.com/masaki	

• CPAN Author (metacpan.org/author/MASAKI)	

• Testing Casual
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
http://gihyo.jp/magazine/wdpress/archive/2013/vol75
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
http://gihyo.jp/magazine/wdpress/archive/2013/vol77
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
http://atnd.org/events/40914
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Mobage統合事業本部
Japanリージョン事業本部
プラットフォーム本部
システム部
SWETグループ
6
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
システム本部
品質管理部
SWETグループ
(2014/04 )
7
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
今日話すこと
• Mobageオープンプラットフォーム概要
• SWET って何?
• プラットフォームのテスト自動化戦略
8
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Mobageオープンプラットフォーム概要
9
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Mobage Open Platform とは?
• http://developer.dena.jp/mbga/
• Mobageでゲームを公開できる仕組み
• 色々なデバイスに対応
• Feature Phone
• Smartphone
• PC
10
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Mobage Open Platform の歴史
• 2009/08 Open Platform Project スタート
• 2010/01 JP Platform (Feature Phone)
• 2010/10 JP Platform (Y!Mobage / PC)
• 2011/02 JP Platform (Smartphone Web)
• 2011/06 JP Platform (Smartphone App)
• 2012/12 JP Platform (ShellApp)
11
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Mobage Open Platform の歴史
• 2011/07 WW Platform (Smartphone App)
• 2011/07 CN Platform (Smartphone App)
• 2012/02 KR Platform (Smartphone App)
• 2012/11 KR Platform (ShellApp)
• 2012/11 TC Platform (Smartphone App)
• 2013/01 CN Platform (ShellApp)
• 2013/02 KR Platform (Smartphone Web)
12
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
13
プラットフォームのグローバル展開
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
SWETグループ立ち上げの背景
• プラットフォームのグローバル展開
• 大規模システムの拡張とリファクタリング
• デリバリーのスピードを落とさない
• 検証属人性の解消
14
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
SWETグループ立ち上げの方針
• End-to-End テストを確立する
• テストを徹底的に自動化する
• テストしやすい環境を提供する
15
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
∼テストしやすい環境∼
• 単体テストのREDが消えない問題
• リリース頻度・速度・影響範囲のバランス
• テスト時間のコスト問題
• CIの必要性
16
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
チーム立ち上げ
• 当初はQAチームとして出発
• 2012/01 当時は3人でスタート
• 現在はSWETグループ(正式に組織化)
• 2014/04 現在は20名弱で活動中
• なぜ独立したチームにしたか?
• 横串チームによる「戦略的横展開」を狙う
17
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
SWET って何?
18
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
http://en.wikipedia.org/wiki/SET
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
a	

Quality Assurance	

job title
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Names
• SET (Software Engineer in Test) by @Google	

• SDET (Software Design/Development Engineer in Test) by @Microsoft	

• SWET by @DeNA
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Definition
•Google Testing Blog	

•http://googletesting.blogspot.com	

•How Google Tests Software	

•http://googletesting.blogspot.jp/2011/01/how-google-tests-
software.html
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
http://googletesting.blogspot.jp/2011/02/how-google-
tests-software-part-two.html
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
the SET
•a developer role focused on testability	

•review designs	

•refactor code to testable	

•write testing frameworks
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
http://googletesting.blogspot.jp/2011/02/how-google-
tests-software-part-two.html
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
the TE
•a role that puts testing first	

•write automation scripts	

•interpret test results	

•drive test execution
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
http://googletesting.blogspot.jp/2011/02/how-google-
tests-software-part-two.html
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Focus
•SETs primary focus is on the developer	

•Individual feature quality	

•Enabling developers to easily test
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Developer	

Productivity
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
our SWET = SET + TE
• Developer Productivity	

• Quality Assurance
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
SWET Group
Mission Statement
•Keep the quality of Services and
Products	

•Improve the quality and
productivity of Services and
Products
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
As an Engineer
•can be developed test target	

•NOT a tester but a test engineer
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
プラットフォームのテスト自動化戦略
33
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Our Works
• Server Side Testing	

• Client Side Testing	

• …
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Open Platform Architecture
API
Mobage Developers
Databases / Middlewares
Mobage	

RESTful API
API
ProxyServer
API
mbga.jp
Mobile	

Browser
PC
Browser
Mobile	

App
Mobage	

SDK
Game	

Server
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Targets
1. Mobage RESTful API (Web API)	

2. Mobage Developers (Web Application)	

3. mbga.jp & ProxyServer (Mobile Web)	

4. Mobage SDKs (Client SDK)
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Open Platform Architecture
API
Mobage Developers
Databases / Middlewares
Mobage	

RESTful API
API
ProxyServer
API
mbga.jp
Mobile	

Browser
PC
Browser
Mobile	

App
Mobage	

SDK
Game	

Server
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
プラットフォームのテスト戦略
• 適切なシステム分割をする
• システムビッグバンを避ける
• サーバで完結できるところはサーバで
• WebAPIの機能テストはクライアント無しで
• ブラウザを使う部分は極力実機レスで
38
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
スマートフォンテスト自動化
• テスト対象によってテスト方法も異なる
• システム分類
• WebAPI, Webアプリ
• ネイティブアプリ, SDK(ライブラリ)
39
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
スマートフォンブラウザ
• ブラウザ自動化の技術をそのまま使う
• Selenium WebDriver
• スマートフォンブラウザを偽装
• テストコードを流用して実機でも動かす
• Appium (w/ JSON Wire Protocol)
40
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Selenium WebDriver
• Capability でドライバを選択
41
FirefoxProfile fp = new FirefoxProfile();	
DesiredCapabilities dc = DesiredCapabilities.firefox();	
dc.setCapability(FirefoxDriver.PROFILE, fp);	
WebDriver driver = new RemoteWebDriver(dc);
ChromeOptions options = new ChromeOptions();	
DesiredCapabilities dc = DesiredCapabilities.chrome();	
dc.setCapability(ChromeOptions.CAPABILITY, options);	
WebDriver driver = new RemoteWebDriver(dc);
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
ネイティブアプリ
• アプリの操作を自動化する
• 外部からプロセスにアタッチして操作
• Appium を使う
• テスト用ライブラリを埋め込んで操作
• Calabash を使う
• ただしアプリ改変になる
42
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
クライアントライブラリ(SDK)
• ライブラリを組み込んだテストアプリを作成
• ライブラリの機能を網羅できるように作る
• テストアプリの操作を自動化
• あとはネイティブアプリと同様
43
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
44
API Server
module module module
API ServerAPI Server
DB
API ServerAPI Server
Cache
Test Client
A) WebAPI
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Conditions
• HTTP Request to API Server	

• JSON Response from API Server	

• no UI
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
API Server
module module module
API ServerAPI Server
DB
API ServerAPI Server
Cache
Test Client
Gray Box Fixture
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Gray Box Fixture
• DB / Cache Manipulation	

• insert test-case specific data 	

• delete cache for continuous tests
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
API ServerAPI ServerAPI Server
module module module
API ServerAPI Server
DB
API ServerAPI Server
Cache
Test Client
Specific Targeting
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Specific Targeting
• programmable local DNS (MyDNS)	

• emulates “inet_aton”
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Domain Specific Client
• Mobage::API::Client (Perl)	

• mobage-api-client (Ruby)
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Message Dumping
• keep previous request in response	

• interactive debugging
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Web Application
M V C
API ServerAPI Server
DB
API ServerAPI Server
Cache
Test Browser
B) WebApp / Mobile Web
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Conditions
• HTTP Request to Web App	

• HTML Response from Web App	

• with JavaScript
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Basic Strategy
• Selenium WebDriver	

• Ruby, RSpec, Capybara	

• Headless Browser
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Browser Emulator
Web Application
M V C
API ServerAPI Server
DB
API ServerAPI Server
Cache
Agent Switching
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Agent Switching
• Browser can’t touch HTTP Header	

• Emulator can’t parse JavaScript 	

• Save/Restore pseudo agent state
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Domain Specific Client
• called “mobage-browser”	

• We don’t use “Page Object Pattern”	

• “Domain Agent Pattern”
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Mobile Emulation
• FireMobileSimulator	

• Mobile WebDrivers (DEPRECATED)	

• AndroidDriver, IPhoneDriver	

• with Real Devices	

• Selendroid, ios-driver, Appium
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Test Scripts
C) Client SDKs
Test	

Application
Mobage	

SDK
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Conditions
• create test apps using specific SDK	

• use SDK as a developer	

• run test scripts to automate test apps	

• check SDK-API behaviors
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
UI Automation
• Multiple Devices Support	

• Android, iOS	

• Test Cases Consistency	

• Calabash	

• Appium
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
http://gihyo.jp/magazine/wdpress/archive/2013/vol77
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
今日話したこと
• Mobageオープンプラットフォーム概要
• SWET って何?
• プラットフォームのテスト自動化戦略
63
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
ご清聴ありがとうございました
64

More Related Content

What's hot

Android ReactNative UITesting
Android ReactNative UITestingAndroid ReactNative UITesting
Android ReactNative UITestingVishal Banthia
 
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTipsShou Takenaka
 
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるXcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるToshiyuki Hirata
 
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例景子 西岡
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x AndroidToshiyuki Hirata
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすShunsuke Maeda
 
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめようiOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめようToshiyuki Hirata
 
WebのQAを5年間運営してみた
WebのQAを5年間運営してみたWebのQAを5年間運営してみた
WebのQAを5年間運営してみたTakayoshi Sakaino
 
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフバージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフToshiyuki Hirata
 
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割DeNAにおけるSWETの役割
DeNAにおけるSWETの役割Toshiyuki Hirata
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestMasaki Nakagawa
 
20151021 cookpad talk_test_engineer
20151021 cookpad talk_test_engineer20151021 cookpad talk_test_engineer
20151021 cookpad talk_test_engineerKazuaki Matsuo
 
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なことY Watanabe
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Toshiyuki Hirata
 
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることKazuaki KURIU
 
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介Shunsuke Maeda
 
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法Toshiyuki Hirata
 
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたfastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたToshiyuki Hirata
 

What's hot (20)

Android ReactNative UITesting
Android ReactNative UITestingAndroid ReactNative UITesting
Android ReactNative UITesting
 
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
 
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるXcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
 
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
DroidKaigi_devicefarm
DroidKaigi_devicefarmDroidKaigi_devicefarm
DroidKaigi_devicefarm
 
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめようiOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
 
WebのQAを5年間運営してみた
WebのQAを5年間運営してみたWebのQAを5年間運営してみた
WebのQAを5年間運営してみた
 
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
 
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフバージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
 
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
 
20151021 cookpad talk_test_engineer
20151021 cookpad talk_test_engineer20151021 cookpad talk_test_engineer
20151021 cookpad talk_test_engineer
 
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
 
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
 
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
 
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
 
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたfastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
 

Viewers also liked

第3回Ques ここからはじめる!Androidアプリのテスト自動化
第3回Ques ここからはじめる!Androidアプリのテスト自動化第3回Ques ここからはじめる!Androidアプリのテスト自動化
第3回Ques ここからはじめる!Androidアプリのテスト自動化Koji Hasegawa
 
開発者こそ知っておいて欲しい モバイルコンテンツデザイン 箱と中身の整えかた
開発者こそ知っておいて欲しい モバイルコンテンツデザイン 箱と中身の整えかた開発者こそ知っておいて欲しい モバイルコンテンツデザイン 箱と中身の整えかた
開発者こそ知っておいて欲しい モバイルコンテンツデザイン 箱と中身の整えかたRin Yano
 
KDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フローKDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フローques_staff
 
アジャイル開発と品質保証の密なる関係 #quesqa
アジャイル開発と品質保証の密なる関係 #quesqaアジャイル開発と品質保証の密なる関係 #quesqa
アジャイル開発と品質保証の密なる関係 #quesqaques_staff
 
WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略Masaki Nakagawa
 
概説 テスト分析
概説 テスト分析概説 テスト分析
概説 テスト分析崇 山﨑
 
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015Yahoo!デベロッパーネットワーク
 
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化健一 辰濱
 
サイバーエージェントにおけるデータの品質管理について #cwt2016
サイバーエージェントにおけるデータの品質管理について #cwt2016サイバーエージェントにおけるデータの品質管理について #cwt2016
サイバーエージェントにおけるデータの品質管理について #cwt2016cyberagent
 
20141018 selenium appium_cookpad
20141018 selenium appium_cookpad20141018 selenium appium_cookpad
20141018 selenium appium_cookpadKazuaki Matsuo
 

Viewers also liked (10)

第3回Ques ここからはじめる!Androidアプリのテスト自動化
第3回Ques ここからはじめる!Androidアプリのテスト自動化第3回Ques ここからはじめる!Androidアプリのテスト自動化
第3回Ques ここからはじめる!Androidアプリのテスト自動化
 
開発者こそ知っておいて欲しい モバイルコンテンツデザイン 箱と中身の整えかた
開発者こそ知っておいて欲しい モバイルコンテンツデザイン 箱と中身の整えかた開発者こそ知っておいて欲しい モバイルコンテンツデザイン 箱と中身の整えかた
開発者こそ知っておいて欲しい モバイルコンテンツデザイン 箱と中身の整えかた
 
KDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フローKDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フロー
 
アジャイル開発と品質保証の密なる関係 #quesqa
アジャイル開発と品質保証の密なる関係 #quesqaアジャイル開発と品質保証の密なる関係 #quesqa
アジャイル開発と品質保証の密なる関係 #quesqa
 
WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略
 
概説 テスト分析
概説 テスト分析概説 テスト分析
概説 テスト分析
 
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
 
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
 
サイバーエージェントにおけるデータの品質管理について #cwt2016
サイバーエージェントにおけるデータの品質管理について #cwt2016サイバーエージェントにおけるデータの品質管理について #cwt2016
サイバーエージェントにおけるデータの品質管理について #cwt2016
 
20141018 selenium appium_cookpad
20141018 selenium appium_cookpad20141018 selenium appium_cookpad
20141018 selenium appium_cookpad
 

Similar to 2014-04-22 Ques #4 Automation Testing of Mobage Platform

Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconDeNA
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2Yushi_Takagi
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Makoto Haruyama
 
DeNAのゲーム開発を支える Game Backend as a Service
DeNAのゲーム開発を支える Game Backend as a ServiceDeNAのゲーム開発を支える Game Backend as a Service
DeNAのゲーム開発を支える Game Backend as a ServiceMakoto Haruyama
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチCData Software Japan
 
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境Toshiyuki Hirata
 
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方Takahiro Imanaka
 
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Kazuya Sugimoto
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現CData Software Japan
 
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?CData Software Japan
 
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]David Buck
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAmazon Web Services Japan
 

Similar to 2014-04-22 Ques #4 Automation Testing of Mobage Platform (20)

Fuel php活用事例
Fuel php活用事例Fuel php活用事例
Fuel php活用事例
 
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
 
DeNAのゲーム開発を支える Game Backend as a Service
DeNAのゲーム開発を支える Game Backend as a ServiceDeNAのゲーム開発を支える Game Backend as a Service
DeNAのゲーム開発を支える Game Backend as a Service
 
CData API Server ハンズオン
CData API Server ハンズオンCData API Server ハンズオン
CData API Server ハンズオン
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチ
 
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
 
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
 
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326
 
CData General Proposal
CData General ProposalCData General Proposal
CData General Proposal
 
20170705 apiをつくろう
20170705 apiをつくろう20170705 apiをつくろう
20170705 apiをつくろう
 
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
 
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
 
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
 

More from Masaki Nakagawa

YAPCと俺 (吉祥寺.pm #17)
YAPCと俺 (吉祥寺.pm #17)YAPCと俺 (吉祥寺.pm #17)
YAPCと俺 (吉祥寺.pm #17)Masaki Nakagawa
 
10年モノ熟成Perlとの付き合い方
10年モノ熟成Perlとの付き合い方10年モノ熟成Perlとの付き合い方
10年モノ熟成Perlとの付き合い方Masaki Nakagawa
 
レシピブログのサービス設計と今後の展望
レシピブログのサービス設計と今後の展望レシピブログのサービス設計と今後の展望
レシピブログのサービス設計と今後の展望Masaki Nakagawa
 
Test Engineering on Mobage
Test Engineering on MobageTest Engineering on Mobage
Test Engineering on MobageMasaki Nakagawa
 
Integration Testing Practice using Perl
Integration Testing Practice using PerlIntegration Testing Practice using Perl
Integration Testing Practice using PerlMasaki Nakagawa
 
Software Engineer in Test at DeNA
Software Engineer in Test at DeNASoftware Engineer in Test at DeNA
Software Engineer in Test at DeNAMasaki Nakagawa
 
Carton について何か話す
Carton について何か話すCarton について何か話す
Carton について何か話すMasaki Nakagawa
 
Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)Masaki Nakagawa
 

More from Masaki Nakagawa (9)

YAPCと俺 (吉祥寺.pm #17)
YAPCと俺 (吉祥寺.pm #17)YAPCと俺 (吉祥寺.pm #17)
YAPCと俺 (吉祥寺.pm #17)
 
10年モノ熟成Perlとの付き合い方
10年モノ熟成Perlとの付き合い方10年モノ熟成Perlとの付き合い方
10年モノ熟成Perlとの付き合い方
 
レシピブログのサービス設計と今後の展望
レシピブログのサービス設計と今後の展望レシピブログのサービス設計と今後の展望
レシピブログのサービス設計と今後の展望
 
Test Engineering on Mobage
Test Engineering on MobageTest Engineering on Mobage
Test Engineering on Mobage
 
Integration Testing Practice using Perl
Integration Testing Practice using PerlIntegration Testing Practice using Perl
Integration Testing Practice using Perl
 
Software Engineer in Test at DeNA
Software Engineer in Test at DeNASoftware Engineer in Test at DeNA
Software Engineer in Test at DeNA
 
Carton について何か話す
Carton について何か話すCarton について何か話す
Carton について何か話す
 
Brownie
BrownieBrownie
Brownie
 
Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 

Recently uploaded (12)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 

2014-04-22 Ques #4 Automation Testing of Mobage Platform

  • 1. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 1 2014/04/22 ! Masaki Nakagawa Manager, SWET(Software Engineer in Test) Gr. Quality Management Dept. System Management Unit DeNA Co., Ltd. Mobageオープンプラットフォーム でのテスト自動化
  • 2. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. About Me • Masaki Nakagawa • @ikasam_a • github.com/masaki • CPAN Author (metacpan.org/author/MASAKI) • Testing Casual
  • 3. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. http://gihyo.jp/magazine/wdpress/archive/2013/vol75
  • 4. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. http://gihyo.jp/magazine/wdpress/archive/2013/vol77
  • 5. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. http://atnd.org/events/40914
  • 6. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Mobage統合事業本部 Japanリージョン事業本部 プラットフォーム本部 システム部 SWETグループ 6
  • 7. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. システム本部 品質管理部 SWETグループ (2014/04 ) 7
  • 8. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 今日話すこと • Mobageオープンプラットフォーム概要 • SWET って何? • プラットフォームのテスト自動化戦略 8
  • 9. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Mobageオープンプラットフォーム概要 9
  • 10. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Mobage Open Platform とは? • http://developer.dena.jp/mbga/ • Mobageでゲームを公開できる仕組み • 色々なデバイスに対応 • Feature Phone • Smartphone • PC 10
  • 11. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Mobage Open Platform の歴史 • 2009/08 Open Platform Project スタート • 2010/01 JP Platform (Feature Phone) • 2010/10 JP Platform (Y!Mobage / PC) • 2011/02 JP Platform (Smartphone Web) • 2011/06 JP Platform (Smartphone App) • 2012/12 JP Platform (ShellApp) 11
  • 12. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Mobage Open Platform の歴史 • 2011/07 WW Platform (Smartphone App) • 2011/07 CN Platform (Smartphone App) • 2012/02 KR Platform (Smartphone App) • 2012/11 KR Platform (ShellApp) • 2012/11 TC Platform (Smartphone App) • 2013/01 CN Platform (ShellApp) • 2013/02 KR Platform (Smartphone Web) 12
  • 13. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 13 プラットフォームのグローバル展開
  • 14. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. SWETグループ立ち上げの背景 • プラットフォームのグローバル展開 • 大規模システムの拡張とリファクタリング • デリバリーのスピードを落とさない • 検証属人性の解消 14
  • 15. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. SWETグループ立ち上げの方針 • End-to-End テストを確立する • テストを徹底的に自動化する • テストしやすい環境を提供する 15
  • 16. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. ∼テストしやすい環境∼ • 単体テストのREDが消えない問題 • リリース頻度・速度・影響範囲のバランス • テスト時間のコスト問題 • CIの必要性 16
  • 17. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. チーム立ち上げ • 当初はQAチームとして出発 • 2012/01 当時は3人でスタート • 現在はSWETグループ(正式に組織化) • 2014/04 現在は20名弱で活動中 • なぜ独立したチームにしたか? • 横串チームによる「戦略的横展開」を狙う 17
  • 18. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. SWET って何? 18
  • 19. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. http://en.wikipedia.org/wiki/SET
  • 20. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. a Quality Assurance job title
  • 21. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Names • SET (Software Engineer in Test) by @Google • SDET (Software Design/Development Engineer in Test) by @Microsoft • SWET by @DeNA
  • 22. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Definition •Google Testing Blog •http://googletesting.blogspot.com •How Google Tests Software •http://googletesting.blogspot.jp/2011/01/how-google-tests- software.html
  • 23. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. http://googletesting.blogspot.jp/2011/02/how-google- tests-software-part-two.html
  • 24. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. the SET •a developer role focused on testability •review designs •refactor code to testable •write testing frameworks
  • 25. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. http://googletesting.blogspot.jp/2011/02/how-google- tests-software-part-two.html
  • 26. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. the TE •a role that puts testing first •write automation scripts •interpret test results •drive test execution
  • 27. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. http://googletesting.blogspot.jp/2011/02/how-google- tests-software-part-two.html
  • 28. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Focus •SETs primary focus is on the developer •Individual feature quality •Enabling developers to easily test
  • 29. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Developer Productivity
  • 30. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. our SWET = SET + TE • Developer Productivity • Quality Assurance
  • 31. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. SWET Group Mission Statement •Keep the quality of Services and Products •Improve the quality and productivity of Services and Products
  • 32. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. As an Engineer •can be developed test target •NOT a tester but a test engineer
  • 33. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. プラットフォームのテスト自動化戦略 33
  • 34. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Our Works • Server Side Testing • Client Side Testing • …
  • 35. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Open Platform Architecture API Mobage Developers Databases / Middlewares Mobage RESTful API API ProxyServer API mbga.jp Mobile Browser PC Browser Mobile App Mobage SDK Game Server
  • 36. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Targets 1. Mobage RESTful API (Web API) 2. Mobage Developers (Web Application) 3. mbga.jp & ProxyServer (Mobile Web) 4. Mobage SDKs (Client SDK)
  • 37. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Open Platform Architecture API Mobage Developers Databases / Middlewares Mobage RESTful API API ProxyServer API mbga.jp Mobile Browser PC Browser Mobile App Mobage SDK Game Server
  • 38. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. プラットフォームのテスト戦略 • 適切なシステム分割をする • システムビッグバンを避ける • サーバで完結できるところはサーバで • WebAPIの機能テストはクライアント無しで • ブラウザを使う部分は極力実機レスで 38
  • 39. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. スマートフォンテスト自動化 • テスト対象によってテスト方法も異なる • システム分類 • WebAPI, Webアプリ • ネイティブアプリ, SDK(ライブラリ) 39
  • 40. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. スマートフォンブラウザ • ブラウザ自動化の技術をそのまま使う • Selenium WebDriver • スマートフォンブラウザを偽装 • テストコードを流用して実機でも動かす • Appium (w/ JSON Wire Protocol) 40
  • 41. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Selenium WebDriver • Capability でドライバを選択 41 FirefoxProfile fp = new FirefoxProfile(); DesiredCapabilities dc = DesiredCapabilities.firefox(); dc.setCapability(FirefoxDriver.PROFILE, fp); WebDriver driver = new RemoteWebDriver(dc); ChromeOptions options = new ChromeOptions(); DesiredCapabilities dc = DesiredCapabilities.chrome(); dc.setCapability(ChromeOptions.CAPABILITY, options); WebDriver driver = new RemoteWebDriver(dc);
  • 42. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. ネイティブアプリ • アプリの操作を自動化する • 外部からプロセスにアタッチして操作 • Appium を使う • テスト用ライブラリを埋め込んで操作 • Calabash を使う • ただしアプリ改変になる 42
  • 43. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. クライアントライブラリ(SDK) • ライブラリを組み込んだテストアプリを作成 • ライブラリの機能を網羅できるように作る • テストアプリの操作を自動化 • あとはネイティブアプリと同様 43
  • 44. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 44 API Server module module module API ServerAPI Server DB API ServerAPI Server Cache Test Client A) WebAPI
  • 45. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Conditions • HTTP Request to API Server • JSON Response from API Server • no UI
  • 46. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. API Server module module module API ServerAPI Server DB API ServerAPI Server Cache Test Client Gray Box Fixture
  • 47. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Gray Box Fixture • DB / Cache Manipulation • insert test-case specific data • delete cache for continuous tests
  • 48. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. API ServerAPI ServerAPI Server module module module API ServerAPI Server DB API ServerAPI Server Cache Test Client Specific Targeting
  • 49. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Specific Targeting • programmable local DNS (MyDNS) • emulates “inet_aton”
  • 50. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Domain Specific Client • Mobage::API::Client (Perl) • mobage-api-client (Ruby)
  • 51. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Message Dumping • keep previous request in response • interactive debugging
  • 52. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Web Application M V C API ServerAPI Server DB API ServerAPI Server Cache Test Browser B) WebApp / Mobile Web
  • 53. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Conditions • HTTP Request to Web App • HTML Response from Web App • with JavaScript
  • 54. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Basic Strategy • Selenium WebDriver • Ruby, RSpec, Capybara • Headless Browser
  • 55. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Browser Emulator Web Application M V C API ServerAPI Server DB API ServerAPI Server Cache Agent Switching
  • 56. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Agent Switching • Browser can’t touch HTTP Header • Emulator can’t parse JavaScript • Save/Restore pseudo agent state
  • 57. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Domain Specific Client • called “mobage-browser” • We don’t use “Page Object Pattern” • “Domain Agent Pattern”
  • 58. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Mobile Emulation • FireMobileSimulator • Mobile WebDrivers (DEPRECATED) • AndroidDriver, IPhoneDriver • with Real Devices • Selendroid, ios-driver, Appium
  • 59. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Test Scripts C) Client SDKs Test Application Mobage SDK
  • 60. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Conditions • create test apps using specific SDK • use SDK as a developer • run test scripts to automate test apps • check SDK-API behaviors
  • 61. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. UI Automation • Multiple Devices Support • Android, iOS • Test Cases Consistency • Calabash • Appium
  • 62. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. http://gihyo.jp/magazine/wdpress/archive/2013/vol77
  • 63. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 今日話したこと • Mobageオープンプラットフォーム概要 • SWET って何? • プラットフォームのテスト自動化戦略 63
  • 64. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. ご清聴ありがとうございました 64