SlideShare a Scribd company logo
1 of 18
DeNAにおけるSWETの役割
2017/10/13(Fri)
iOSDC 2017 Reject Conference days1
平田敏之(@tarappo)
自己紹介
平田 敏之@DeNA
SWET (Software Engineer in Test)
私がやっていること(一部)
• クライアントアプリ周りのテスト戦略、自動テストの開発
• CI/CD環境整備
• テスト基盤環境の開発(マスティフ、ダルメシアン etc)
• iOS / Android Test Night 主宰
• 12/5 iOS Test Night #6 - 1周年 -
• 12/15 Android Test Night #2
今日の流れ
• SWETとは?
• グループ構成
• 事業サポートチームの話
• やっていることについて
• テスト基盤チームの話
• やっていることについて
• おわりに
今までのSWETの話(一部)
• DeNA TechConf 2016
• DeNAが取り組む Software Engineer in Test
• http://www.slideshare.net/masaki/dena-software-engineer-in-test
• DeNA TechConf 2017
• DeNAの取り組むテストエンジニアリング
• https://speakerdeck.com/okitan/denafalsequ-rizu-mutesutoensiniarinku
SWETとは?
Software Engineer in Test
• ミッション・ステートメント
• ソフトウェアテストを起点とした
• プロダクト・サービスの品質向上
• エンジニアの開発生産性向上
• 価値のあるものを素早く提供できるようにする
Make Testing Fun, Smart, and Delighting End-Users
テストをもっと楽しく賢くそしてユーザのデライトにつながるようにしていきたい
Vision
SWET
グループ構成
A事業サポート
テスト基盤
B事業サポート
A事業 B事業 C事業
C事業サポート
D事業
事業サポートチーム(複数)とテスト基盤チームから構成される
各チームの役割
• 事業サポートチーム(深さ担当)
• 事業チームの開発生産性・品質の向上
• 事業チームのテスト成熟度の向上
• 事業チームの品質的なコミットメントの引き出し
• テスト技術の追求と蓄積
• テスト基盤チーム(広さ担当)
• 共通で利用できるサービスの開発
• 一歩(以上)先のテストエンジニアリング
• R&D的な要素が強い
事業サポートチーム
対象:Sakasho
Sakashoとは?
• ゲームアプリ向けの内製BaaS
• ゲーム開発者にSDK(Unity / C++)と管理ツールを提供
• 多種多用な機能(一部)
• マスターデータ配信
• アセット配信
• プレイヤー管理
• 課金
• Push通知
DeNA TechConf 2017
• DeNAのゲームを支えるプラットフォーム Sakasho
• https://www.slideshare.net/dena_tech/dena-sakasho-denatechcon-72603307
事業サポートチーム
SWETのやったこと・やっていること
• 対象サービスのドメイン知識の獲得(必須)
• SDK(C++/Unity)を利用したテストアプリの開発、改良
• 初期:知識の獲得や初期ユーザとして1つ1つ実装
• 今:開発コストをあまりかける必要がないように改良
• 開発効率化
• CI(Jenkins)環境の改善
• Ansibleや独自pluginなども導入
• Dangerの導入
• リリース周りの最適化
• リリースプロセスの改善
• CI環境のパイプラインによるサポート
• E2Eの自動テストの導入(C++SDK / UnitySDK)
委譲できるタイミングになれば開発側に委譲し運用を任せる
事業サポートチーム
自動テスト(C++SDK/UnitySDK)の進め方
• [SWET] どのように攻めていくかを決める
• どの機能か、正常系か、準正常系か、どのバージョンか
• [SWET] テストコードの実装周りの初期サポート
• 自動テストのコード、Helperやsetupスクリプトなど用意
• [SWET] CI環境(Jenkins)の用意
• 自動テストを実行するjobを用意
• 実行環境:iOS:シミュレーター、Android:OpenSTF
• nightlyで自動テストを定期実行
• 自動テストの安定性の確認など
• [開発側] 自動テストの実装
• [SWET] 初期のレビューはSWETが担当
事業部が自ら品質にコミットメント出来るように整えていく
テスト基盤チーム
共通で利用できる基盤開発を主軸とするチーム
※事業サポートが無い事業チームにおいても基盤としてサポートすることができる※
• やっていること(一部)
• ゲーム自動化
• 犬シリーズの開発
• CIサポート
• 導入支援
• Jenkinsのplugin開発、運用ツールの開発
• CircleCI Enterpriseサポート
テスト基盤チーム
犬シリーズ
SWETが開発しているサービスは犬の名前が命名されています
• マスティフ
• バージョンアップ対応軽減サービス
• ダルメシアン
• コードレビュープロセスサポート
• ポメラニアン
• テスト並列化サポート
• ラブラドール・レトリーバー
• 機械学習を使ったUIテストの簡易化
テスト基盤チーム
犬シリーズ:マスティフ(1/3)
• バージョンアップ対応で苦労したことありませんか?
• Xcode、ライブラリなど
• こんな経験はありませんか?
• 新バージョンへの移行時のコスト見積もりが難しいので先延ばし
• バージョンアップしてみたらビルドすら通らなかった
• バージョンを固定化していたのに動かなくなった
• fastlane/deliverとか使っているとあったり(Apple側の改修で..)
• いつバージョンがあがるか(あがったか)は分からない
• 気づいたときにバージョンアップをしてみる
テスト基盤チーム
犬シリーズ:マスティフ(2/3)
テスト基盤チーム
犬シリーズ:マスティフ(3/3)
Slack Web
バージョン通知とテスト結果の通知
各バージョンの情報
• 利用出来るかどうか
• バージョンアップ時に対応がいるかどうか
テスト基盤チーム
犬シリーズ:参考資料
各カンファレンス、勉強会などで紹介していますので詳細はそちらの資料を参考に。
• マスティフ
• @iOS Test Night
• https://www.slideshare.net/tarappo/for-xcode-beta
• https://www.slideshare.net/tarappo/ss-71179542
• ダルメシアン
• @Android Test Night、iOS Test Night
• https://www.slideshare.net/tarappo/danger-x-android
• https://www.slideshare.net/ShunsukeMaeda/ios-80347918
• ポメラニアン
• @iOSDC2017、iOS Test Night
• https://speakerdeck.com/yusukehosonuma/uitestshort
• https://www.slideshare.net/tarappo/ui-76205186
• ラブラドール・レトリーバー
• @SeleniumConf Berlin
• https://www.slideshare.net/ToshiyaKomoda/introduce-machine-learning-into-ui-tests
おわりに
• SWETとは
• 「事業サポート x テスト基盤」の「深さ x 広さ」の体制
• SWETの技術・スキルを支え、展開する体制
• 一歩先のテストエンジニアリングへの取り組み
• 技術的チャレンジの機会が多いグループ
• 課題
• SWET/SETの認知度
ブランディング
SWET/SETはまだまだ知名度が低いためブランディングが重要
• Test Engineers Meetup
• https://test-engineers-meetup.connpass.com/
• iOS Test Night / Android Test Night
• https://testnight.connpass.com/
• testnightのslack
• https://testnight-invitation.herokuapp.com/
• SWETのブログ
• http://swet.dena.com/

More Related Content

What's hot

What's hot (20)

Androidのテストを効率的にするために考えたこと
Androidのテストを効率的にするために考えたことAndroidのテストを効率的にするために考えたこと
Androidのテストを効率的にするために考えたこと
 
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進めるiOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進める
 
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCI
 
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築
 
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
 
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるXcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
 
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
 
Android e2e testing at mercari
Android e2e testing at mercariAndroid e2e testing at mercari
Android e2e testing at mercari
 
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
 
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
 
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
 
20151021 cookpad talk_test_engineer
20151021 cookpad talk_test_engineer20151021 cookpad talk_test_engineer
20151021 cookpad talk_test_engineer
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
5minQues - SWET近況報告
5minQues - SWET近況報告5minQues - SWET近況報告
5minQues - SWET近況報告
 
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
 

Similar to DeNAにおけるSWETの役割

CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
 
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
DeNA
 
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
Masaki Nakagawa
 

Similar to DeNAにおけるSWETの役割 (20)

ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadog
 
ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
 
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
 
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
 
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
 
データ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリングデータ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリング
 
「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)
「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)
「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)
 
楽天エンジニアライフ
楽天エンジニアライフ楽天エンジニアライフ
楽天エンジニアライフ
 
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのかDeveloper's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
 
佐賀大学 - データ分析と向き合う
佐賀大学 - データ分析と向き合う佐賀大学 - データ分析と向き合う
佐賀大学 - データ分析と向き合う
 
JDBCで繋がるSaas連携
JDBCで繋がるSaas連携JDBCで繋がるSaas連携
JDBCで繋がるSaas連携
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
デスクトップアプリを『一歩前へ』進める方法
デスクトップアプリを『一歩前へ』進める方法デスクトップアプリを『一歩前へ』進める方法
デスクトップアプリを『一歩前へ』進める方法
 
20181206 Jazug DataScience TeamBuilding and DevOps
20181206 Jazug DataScience TeamBuilding and DevOps20181206 Jazug DataScience TeamBuilding and DevOps
20181206 Jazug DataScience TeamBuilding and DevOps
 
JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携
 
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
 
NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
 
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
 

More from Toshiyuki Hirata

More from Toshiyuki Hirata (8)

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

Recently uploaded

Recently uploaded (7)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

DeNAにおけるSWETの役割