SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA TechCon 2016
DeNAが取り組む
Software Engineer in Test
2016/01/29
Masaki Nakagawa
SWET (Software Engineer in Test) Gr.
Quality Management Dept.
System Management Unit
DeNA Co., Ltd.
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
自己紹介
 中川 勝樹
 株式会社ディー・エヌ・エー
 SWET (Software Engineer in Test)
 Testing Casual Talks
 @ikasam_a
 github.com/masaki
 metacpan.org/author/MASAKI
2
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
SWET
3
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
Software Engineer in Test
4
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
今日お話すること
 SWET (Software Engineer in Test) とは?
 これまでの SWET の取り組み
 SWET の現在、そして未来
5
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
WHAT IS THE
SWET
6
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
7
Software Engineer in Test,
a Quality Assurance job title
in some software companies
en.wikipedia.org/wiki/SET
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
8
Software Engineer in Test
is also a developer role
except their focus is on testability
googletesting.blogspot.jp/2011/02/how-google-tests-software-part-two.html
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
9
SETs primary focus is on the developer.
Enabling developers to easily test the code they write
is the primary focus of the SET.
googletesting.blogspot.jp/2011/02/how-google-tests-software-part-two.html
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
Developer
Productivity
10
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
11
SWE SET TE
SWE SWET (and TE)
Google
DeNA
SWE = Software Engineer
SET = Software Engineer in Test (Google)
TE = Test Engineer
SWET = Software Engineer in Test (DeNA)
White Box Approach Black Box Approach
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
SWETのミッション・ステートメント
1. プロダクト・サービスの品質向上
2. エンジニアの開発生産性向上
12
SWETグループは
 ソフトウェアテストを起点に
 品質と開発生産性の向上に取り組む
ソフトウェアエンジニアの集団です
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
SWET
HISTORY
13
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
SWETざっくり年表
 2012年
 プラットフォーム開発の中のチーム
 Mobage オープンプラットフォーム (WebAPI / WebUI)
 2013年 夏
 メンバーも増えてSWETグループとして組織化
 Smartphone 向け Mobage SDK も守備範囲に
 2014年 春
 事業部を出て全社横断組織のSWETグループに
 “Mobage” から “DeNA” へ
14
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
サーバ期
(WebAPI, WebUI)
15
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
2012年のプラットフォーム
 オープンプラットフォームのグローバル展開
 大規模システムの拡張とリファクタリング
 (デリバリーの速度はできるだけ落とさずに…)
16
E2Eテストを確立して自動化
(checking)
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
RESTful API テスト自動化
 APIの仕様はグローバルで共通だった
 まずはバックエンドを抑える
 つくったもの
⁃ HTTP(S) WebAPI テスト (Perl)
⁃ Mobage API 専用クライアント (Perl)
• 開発、デバッグにも使えるツールとして
17
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
ブラウザテスト自動化
 次はフロントエンドを抑えに行った
 ブラウザゲームのプラットフォームなので…
 つくったもの
⁃ オープンプラットフォームのブラウザテスト (Ruby)
⁃ Mobage ブラウザテスト (Ruby)
⁃ Mobage 専用クライアント (Ruby)
• もちろん開発のお供に
⁃ プラットフォーム機能を使うテストアプリ (Perl/Ruby)
18
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
技術的な取り組み
 2011年7月
⁃ Selenium WebDriver (Selenium2) リリース
 2011年 その後
⁃ フィージビリティ調査
 2012年
⁃ ブラウザテストに実戦投入
⁃ ブラウザテストのベースとした
19
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
20
@okitan
@deme0607
@vbanthia
urn:isbn:4774178942
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
21
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
クライアント期
(Smartphone SDK)
22
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
2013年のプラットフォーム
 これまでは、ブラウザ/ゲームサーバが中心だった
 一方この頃、アプリベースのゲームが増えてきた
23
デバイス上の自動化技術に
取り組む機運の高まり
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
Smartphone SDKの自動化の課題
 SDK単体では、SDKの機能テストを実行できない
⁃ SDKを使ったテストドライバが必要
⁃ なのでSDKを使ったテストアプリを作ることに
⁃ そしてそのアプリを、どうにかして自動操作する
 SDK は種類が色々ある
⁃ for Android (Java)
⁃ for iOS (Objective-C)
⁃ for Unity (C#)
⁃ フレームワーク選定の難しさ
• OS の差異を(ある程度)吸収できるものもある
• 引き換えに操作可能な部分が限定される場合もある
24
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
Smartphone SDKの自動化
 つくったもの
⁃ SDK を使ったテストアプリ
• for Android (Java)
• for iOS (Objective-C)
• for Unity (C#)
⁃ テストアプリを使ったモバイルテスト
• for Android (Java + Ruby)
• for iOS (Objective-C + Ruby)
25
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
技術的な取り組み
 Mobile Automation
⁃ まだデファクトが確立されていない
⁃ なのでフレームワークも群雄割拠
⁃ もちろんそれぞれにメリット・デメリットがある
⁃ 自動化の要件次第で選択肢が変わってくる
 取り組み
⁃ 昔は Calabash を使っていた
⁃ ブラウザテストとの統合も見据えて Appium に着手
26
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
27
urn:isbn:4774159905
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
28
urn:isbn:4774159905
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
NOW AND FUTURE
29
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
NOW
30
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
プラットフォームのSWETとして
 各種自動テストに対応
⁃ WebAPI、WebUI、Smartphone SDK/Application
 その過程で各種アプリケーションも作成
⁃ Webアプリ、スマートフォンアプリ
 大規模サービスのCI環境構築
⁃ コンポーネント数が半端ない…
⁃ “Jenkins 職人”
31
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
全社横断組織のSWETとして
 各サービス・プロダクトへの対応
⁃ Game BaaS のサポートを開始
⁃ 他にも相談ベースでテストアーキテクチャコンサルなど
 技術の全社展開
⁃ テスト基盤チームを作りました
• 今まで蓄積した技術の横展開ができるように
• サービス横断で使える技術開発のために
• 先端技術の実用化を進めるために
32
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
具体的な最近の取り組み
 モバイル自動テストの技術開発
 プライベートデバイスファーム構築
 テスト環境の高速化・仮想化
 CI基盤環境の構築
33
エンジニアの開発生産性向上によりフォーカス
基盤技術、テスト基盤としての取り組みを強化
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
テスト環境の高速化
 シナリオテストあるある
⁃ 実行に時間がかかる
• よろしい、ならば並列化だ
⁃ 分割したけど Worker によってバラつきがある
• 物理的なファイル数やサイズでの分割による限界
• 論理的なシナリオ単位でできるだけ均等に分けたい
 テスト実行計画管理ツールを作りました
⁃ 並列数に応じてシナリオを分割
⁃ シナリオ単位の実行時間を集計
⁃ 累積集計結果を次回実行計画に反映
34
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
テスト環境の仮想化
 背景
⁃ 分割・並列で高速化できたので、有効活用したい
⁃ 環境準備が意外と面倒なのは昔からの課題
• 構成管理、プロビジョニングも流行るわけで…
 Docker はじめました
⁃ Selenium + Appium + Docker
35
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
デバイスファーム
 デバイスファームとは?
⁃ “クラウド上にある複数のデバイスを、リモートで操作可能
にしたもの” と呼んでいます
 Smartphone Test Farm (STF)
⁃ OSSのオンプレミス・デバイスファームシステム
⁃ openstf.io
 STF の導入・運用・開発
⁃ コミッターが在籍 (@vbanthia)
⁃ モバイル検証・モバイル自動テストに実践導入中
36
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
デバイスファームの活用
 モバイル検証
⁃ 検証用デバイスとしての利用方法
⁃ 手元にデバイスを置かずにリモートで操作
⁃ デバイスのログやスクリーンショットの取得が容易
⁃ アプリケーションインストールなど面倒な操作も容易
 モバイル自動テスト
⁃ 自動テストの実行デバイスとしての利用方法
⁃ そのためには API でのデバイス操作が不可欠になった
⁃ なので API を実装しました (v2.0.0)
37
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
DEMO
38
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
FUTURE
39
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
これからのSWET
 方向性
⁃ モバイルテスティング関連技術
⁃ テスト基盤技術
⁃ …でもきっと増えると思います
• 例えば IoT とかどんどん来ますよね
 想い
⁃ 引き続き技術基盤としての立ち位置は大事にしたい
⁃ 課題解決のためのエンジニアリングを忘れずに
40
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
今日お話したこと
 SWET (Software Engineer in Test) とは?
⁃ どのような役割なのか
⁃ どのようなミッションを持っているのか
 これまでの SWET の取り組み
⁃ Mobage オープンプラットフォームでの取り組み
 SWET の現在、そして未来
⁃ 開発生産性向上へのフォーカス
⁃ テスト基盤としての取り組み
41
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
SWETというキャリアパス
 キャリアの認知度として
⁃ まだ認知度が高いとは言えない役割ではある
⁃ だからこそのやりがい
 エンジニアの成長として
⁃ 開拓すべき新しい技術がたくさんある
• 技術的チャレンジの機会が多い
⁃ 開発サイクルの全般に関わる
 エンジニアのキャリアパスとして
⁃ 僕はアーキテクトに繋がる1つの道だと思います
• テストアーキテクチャにはシステムデザインが要求される
• 技術的な幅や視野の広さも要求される
42
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technical Conference 2016
ご清聴ありがとうございました
43

Contenu connexe

Tendances

DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechconDeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechconDeNA
 
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNA
 
AndApp開発における全て #denatechcon
AndApp開発における全て #denatechconAndApp開発における全て #denatechcon
AndApp開発における全て #denatechconDeNA
 
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)Toshiharu Sugiyama
 
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -Tomoya Kabe
 
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
DeNAの動画配信サービスを支えるインフラの内部  #denatechconDeNAの動画配信サービスを支えるインフラの内部  #denatechcon
DeNAの動画配信サービスを支えるインフラの内部 #denatechconDeNA
 
サービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconサービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconDeNA
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発Satoshi Takano
 
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜Kentaro Matsumae
 
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechconDebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechconDeNA
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすShunsuke Maeda
 
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)dena_study
 
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術Toru Yamaguchi
 
DeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechconDeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechconDeNA
 
DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)denatech2016
 
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフバージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフToshiyuki Hirata
 
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例gree_tech
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Recruit Technologies
 
これからの Microservices
これからの Microservicesこれからの Microservices
これからの MicroservicesToru Yamaguchi
 

Tendances (20)

DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechconDeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechcon
 
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
 
AndApp開発における全て #denatechcon
AndApp開発における全て #denatechconAndApp開発における全て #denatechcon
AndApp開発における全て #denatechcon
 
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
 
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
 
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
DeNAの動画配信サービスを支えるインフラの内部  #denatechconDeNAの動画配信サービスを支えるインフラの内部  #denatechcon
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
 
サービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconサービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechcon
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
 
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
 
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechconDebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
 
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術
 
DeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechconDeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechcon
 
DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)
 
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフバージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
 
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
 
これからの Microservices
これからの Microservicesこれからの Microservices
これからの Microservices
 

Similaire à DeNAが取り組む Software Engineer in Test

fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCIToshiyuki Hirata
 
2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介CASAREAL, Inc.
 
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage PlatformMasaki Nakagawa
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~Yuki Ando
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチCData Software Japan
 
Open STF Plugin 作ってみた
Open STF Plugin 作ってみたOpen STF Plugin 作ってみた
Open STF Plugin 作ってみたjustice_sm
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1Satoshi Ueno
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発政雄 金森
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Toshiyuki Hirata
 
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境Toshiyuki Hirata
 
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213小川 雄太郎
 
多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 CData Software Japan
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについてMasahito Zembutsu
 
ニフティクラウド C4 sa ご紹介資料ver.1.2
ニフティクラウド C4 sa ご紹介資料ver.1.2ニフティクラウド C4 sa ご紹介資料ver.1.2
ニフティクラウド C4 sa ご紹介資料ver.1.2Satoshi Ueno
 
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発hmimura_embarcadero
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』Ryohei Sogo
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Makoto Haruyama
 
何故DeNAがverticaを選んだか?
何故DeNAがverticaを選んだか?何故DeNAがverticaを選んだか?
何故DeNAがverticaを選んだか?Kenshin Yamada
 

Similaire à DeNAが取り組む Software Engineer in Test (20)

fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCI
 
2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介
 
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
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチ
 
Open STF Plugin 作ってみた
Open STF Plugin 作ってみたOpen STF Plugin 作ってみた
Open STF Plugin 作ってみた
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
 
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
 
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
 
多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
ニフティクラウド C4 sa ご紹介資料ver.1.2
ニフティクラウド C4 sa ご紹介資料ver.1.2ニフティクラウド C4 sa ご紹介資料ver.1.2
ニフティクラウド C4 sa ご紹介資料ver.1.2
 
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』
 
2017 roadmap
2017 roadmap2017 roadmap
2017 roadmap
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
 
何故DeNAがverticaを選んだか?
何故DeNAがverticaを選んだか?何故DeNAがverticaを選んだか?
何故DeNAがverticaを選んだか?
 

Plus de 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
 
5minQues - SWET近況報告
5minQues - SWET近況報告5minQues - SWET近況報告
5minQues - SWET近況報告Masaki Nakagawa
 
WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略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
 

Plus de Masaki Nakagawa (12)

YAPCと俺 (吉祥寺.pm #17)
YAPCと俺 (吉祥寺.pm #17)YAPCと俺 (吉祥寺.pm #17)
YAPCと俺 (吉祥寺.pm #17)
 
10年モノ熟成Perlとの付き合い方
10年モノ熟成Perlとの付き合い方10年モノ熟成Perlとの付き合い方
10年モノ熟成Perlとの付き合い方
 
レシピブログのサービス設計と今後の展望
レシピブログのサービス設計と今後の展望レシピブログのサービス設計と今後の展望
レシピブログのサービス設計と今後の展望
 
5minQues - SWET近況報告
5minQues - SWET近況報告5minQues - SWET近況報告
5minQues - SWET近況報告
 
WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略
 
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 について何か話す
 
As an Test Engineer
As an Test EngineerAs an Test Engineer
As an Test Engineer
 
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)
 

Dernier

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 

Dernier (7)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 

DeNAが取り組む Software Engineer in Test

  • 1. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA TechCon 2016 DeNAが取り組む Software Engineer in Test 2016/01/29 Masaki Nakagawa SWET (Software Engineer in Test) Gr. Quality Management Dept. System Management Unit DeNA Co., Ltd.
  • 2. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 自己紹介  中川 勝樹  株式会社ディー・エヌ・エー  SWET (Software Engineer in Test)  Testing Casual Talks  @ikasam_a  github.com/masaki  metacpan.org/author/MASAKI 2
  • 3. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 SWET 3
  • 4. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 Software Engineer in Test 4
  • 5. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 今日お話すること  SWET (Software Engineer in Test) とは?  これまでの SWET の取り組み  SWET の現在、そして未来 5
  • 6. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 WHAT IS THE SWET 6
  • 7. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 7 Software Engineer in Test, a Quality Assurance job title in some software companies en.wikipedia.org/wiki/SET
  • 8. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 8 Software Engineer in Test is also a developer role except their focus is on testability googletesting.blogspot.jp/2011/02/how-google-tests-software-part-two.html
  • 9. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 9 SETs primary focus is on the developer. Enabling developers to easily test the code they write is the primary focus of the SET. googletesting.blogspot.jp/2011/02/how-google-tests-software-part-two.html
  • 10. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 Developer Productivity 10
  • 11. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 11 SWE SET TE SWE SWET (and TE) Google DeNA SWE = Software Engineer SET = Software Engineer in Test (Google) TE = Test Engineer SWET = Software Engineer in Test (DeNA) White Box Approach Black Box Approach
  • 12. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 SWETのミッション・ステートメント 1. プロダクト・サービスの品質向上 2. エンジニアの開発生産性向上 12 SWETグループは  ソフトウェアテストを起点に  品質と開発生産性の向上に取り組む ソフトウェアエンジニアの集団です
  • 13. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 SWET HISTORY 13
  • 14. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 SWETざっくり年表  2012年  プラットフォーム開発の中のチーム  Mobage オープンプラットフォーム (WebAPI / WebUI)  2013年 夏  メンバーも増えてSWETグループとして組織化  Smartphone 向け Mobage SDK も守備範囲に  2014年 春  事業部を出て全社横断組織のSWETグループに  “Mobage” から “DeNA” へ 14
  • 15. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 サーバ期 (WebAPI, WebUI) 15
  • 16. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 2012年のプラットフォーム  オープンプラットフォームのグローバル展開  大規模システムの拡張とリファクタリング  (デリバリーの速度はできるだけ落とさずに…) 16 E2Eテストを確立して自動化 (checking)
  • 17. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 RESTful API テスト自動化  APIの仕様はグローバルで共通だった  まずはバックエンドを抑える  つくったもの ⁃ HTTP(S) WebAPI テスト (Perl) ⁃ Mobage API 専用クライアント (Perl) • 開発、デバッグにも使えるツールとして 17
  • 18. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 ブラウザテスト自動化  次はフロントエンドを抑えに行った  ブラウザゲームのプラットフォームなので…  つくったもの ⁃ オープンプラットフォームのブラウザテスト (Ruby) ⁃ Mobage ブラウザテスト (Ruby) ⁃ Mobage 専用クライアント (Ruby) • もちろん開発のお供に ⁃ プラットフォーム機能を使うテストアプリ (Perl/Ruby) 18
  • 19. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 技術的な取り組み  2011年7月 ⁃ Selenium WebDriver (Selenium2) リリース  2011年 その後 ⁃ フィージビリティ調査  2012年 ⁃ ブラウザテストに実戦投入 ⁃ ブラウザテストのベースとした 19
  • 20. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 20 @okitan @deme0607 @vbanthia urn:isbn:4774178942
  • 21. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 21
  • 22. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 クライアント期 (Smartphone SDK) 22
  • 23. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 2013年のプラットフォーム  これまでは、ブラウザ/ゲームサーバが中心だった  一方この頃、アプリベースのゲームが増えてきた 23 デバイス上の自動化技術に 取り組む機運の高まり
  • 24. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 Smartphone SDKの自動化の課題  SDK単体では、SDKの機能テストを実行できない ⁃ SDKを使ったテストドライバが必要 ⁃ なのでSDKを使ったテストアプリを作ることに ⁃ そしてそのアプリを、どうにかして自動操作する  SDK は種類が色々ある ⁃ for Android (Java) ⁃ for iOS (Objective-C) ⁃ for Unity (C#) ⁃ フレームワーク選定の難しさ • OS の差異を(ある程度)吸収できるものもある • 引き換えに操作可能な部分が限定される場合もある 24
  • 25. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 Smartphone SDKの自動化  つくったもの ⁃ SDK を使ったテストアプリ • for Android (Java) • for iOS (Objective-C) • for Unity (C#) ⁃ テストアプリを使ったモバイルテスト • for Android (Java + Ruby) • for iOS (Objective-C + Ruby) 25
  • 26. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 技術的な取り組み  Mobile Automation ⁃ まだデファクトが確立されていない ⁃ なのでフレームワークも群雄割拠 ⁃ もちろんそれぞれにメリット・デメリットがある ⁃ 自動化の要件次第で選択肢が変わってくる  取り組み ⁃ 昔は Calabash を使っていた ⁃ ブラウザテストとの統合も見据えて Appium に着手 26
  • 27. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 27 urn:isbn:4774159905
  • 28. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 28 urn:isbn:4774159905
  • 29. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 NOW AND FUTURE 29
  • 30. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 NOW 30
  • 31. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 プラットフォームのSWETとして  各種自動テストに対応 ⁃ WebAPI、WebUI、Smartphone SDK/Application  その過程で各種アプリケーションも作成 ⁃ Webアプリ、スマートフォンアプリ  大規模サービスのCI環境構築 ⁃ コンポーネント数が半端ない… ⁃ “Jenkins 職人” 31
  • 32. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 全社横断組織のSWETとして  各サービス・プロダクトへの対応 ⁃ Game BaaS のサポートを開始 ⁃ 他にも相談ベースでテストアーキテクチャコンサルなど  技術の全社展開 ⁃ テスト基盤チームを作りました • 今まで蓄積した技術の横展開ができるように • サービス横断で使える技術開発のために • 先端技術の実用化を進めるために 32
  • 33. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 具体的な最近の取り組み  モバイル自動テストの技術開発  プライベートデバイスファーム構築  テスト環境の高速化・仮想化  CI基盤環境の構築 33 エンジニアの開発生産性向上によりフォーカス 基盤技術、テスト基盤としての取り組みを強化
  • 34. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 テスト環境の高速化  シナリオテストあるある ⁃ 実行に時間がかかる • よろしい、ならば並列化だ ⁃ 分割したけど Worker によってバラつきがある • 物理的なファイル数やサイズでの分割による限界 • 論理的なシナリオ単位でできるだけ均等に分けたい  テスト実行計画管理ツールを作りました ⁃ 並列数に応じてシナリオを分割 ⁃ シナリオ単位の実行時間を集計 ⁃ 累積集計結果を次回実行計画に反映 34
  • 35. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 テスト環境の仮想化  背景 ⁃ 分割・並列で高速化できたので、有効活用したい ⁃ 環境準備が意外と面倒なのは昔からの課題 • 構成管理、プロビジョニングも流行るわけで…  Docker はじめました ⁃ Selenium + Appium + Docker 35
  • 36. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 デバイスファーム  デバイスファームとは? ⁃ “クラウド上にある複数のデバイスを、リモートで操作可能 にしたもの” と呼んでいます  Smartphone Test Farm (STF) ⁃ OSSのオンプレミス・デバイスファームシステム ⁃ openstf.io  STF の導入・運用・開発 ⁃ コミッターが在籍 (@vbanthia) ⁃ モバイル検証・モバイル自動テストに実践導入中 36
  • 37. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 デバイスファームの活用  モバイル検証 ⁃ 検証用デバイスとしての利用方法 ⁃ 手元にデバイスを置かずにリモートで操作 ⁃ デバイスのログやスクリーンショットの取得が容易 ⁃ アプリケーションインストールなど面倒な操作も容易  モバイル自動テスト ⁃ 自動テストの実行デバイスとしての利用方法 ⁃ そのためには API でのデバイス操作が不可欠になった ⁃ なので API を実装しました (v2.0.0) 37
  • 38. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 DEMO 38
  • 39. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 FUTURE 39
  • 40. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 これからのSWET  方向性 ⁃ モバイルテスティング関連技術 ⁃ テスト基盤技術 ⁃ …でもきっと増えると思います • 例えば IoT とかどんどん来ますよね  想い ⁃ 引き続き技術基盤としての立ち位置は大事にしたい ⁃ 課題解決のためのエンジニアリングを忘れずに 40
  • 41. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 今日お話したこと  SWET (Software Engineer in Test) とは? ⁃ どのような役割なのか ⁃ どのようなミッションを持っているのか  これまでの SWET の取り組み ⁃ Mobage オープンプラットフォームでの取り組み  SWET の現在、そして未来 ⁃ 開発生産性向上へのフォーカス ⁃ テスト基盤としての取り組み 41
  • 42. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 SWETというキャリアパス  キャリアの認知度として ⁃ まだ認知度が高いとは言えない役割ではある ⁃ だからこそのやりがい  エンジニアの成長として ⁃ 開拓すべき新しい技術がたくさんある • 技術的チャレンジの機会が多い ⁃ 開発サイクルの全般に関わる  エンジニアのキャリアパスとして ⁃ 僕はアーキテクトに繋がる1つの道だと思います • テストアーキテクチャにはシステムデザインが要求される • 技術的な幅や視野の広さも要求される 42
  • 43. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technical Conference 2016 ご清聴ありがとうございました 43