Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
DeNAにおけるSWETの役割
2017/10/13(Fri)
iOSDC 2017 Reject Conference days1
平田敏之(@tarappo)
自己紹介
平田 敏之@DeNA
SWET (Software Engineer in Test)
私がやっていること(一部)
• クライアントアプリ周りのテスト戦略、自動テストの開発
• CI/CD環境整備
• テスト基盤環境の開発(マスティフ...
今日の流れ
• SWETとは?
• グループ構成
• 事業サポートチームの話
• やっていることについて
• テスト基盤チームの話
• やっていることについて
• おわりに
今までのSWETの話(一部)
• DeNA TechConf 2016
• DeNAが取り組む Software Engineer in Test
• http://www.slideshare.net/masaki/dena-software...
SWETとは?
Software Engineer in Test
• ミッション・ステートメント
• ソフトウェアテストを起点とした
• プロダクト・サービスの品質向上
• エンジニアの開発生産性向上
• 価値のあるものを素早く提供できるよう...
SWET
グループ構成
A事業サポート
テスト基盤
B事業サポート
A事業 B事業 C事業
C事業サポート
D事業
事業サポートチーム(複数)とテスト基盤チームから構成される
各チームの役割
• 事業サポートチーム(深さ担当)
• 事業チームの開発生産性・品質の向上
• 事業チームのテスト成熟度の向上
• 事業チームの品質的なコミットメントの引き出し
• テスト技術の追求と蓄積
• テスト基盤チーム(広さ担当)
• ...
事業サポートチーム
対象:Sakasho
Sakashoとは?
• ゲームアプリ向けの内製BaaS
• ゲーム開発者にSDK(Unity / C++)と管理ツールを提供
• 多種多用な機能(一部)
• マスターデータ配信
• アセット配信
• ...
事業サポートチーム
SWETのやったこと・やっていること
• 対象サービスのドメイン知識の獲得(必須)
• SDK(C++/Unity)を利用したテストアプリの開発、改良
• 初期:知識の獲得や初期ユーザとして1つ1つ実装
• 今:開発コストを...
事業サポートチーム
自動テスト(C++SDK/UnitySDK)の進め方
• [SWET] どのように攻めていくかを決める
• どの機能か、正常系か、準正常系か、どのバージョンか
• [SWET] テストコードの実装周りの初期サポート
• 自動...
テスト基盤チーム
共通で利用できる基盤開発を主軸とするチーム
※事業サポートが無い事業チームにおいても基盤としてサポートすることができる※
• やっていること(一部)
• ゲーム自動化
• 犬シリーズの開発
• CIサポート
• 導入支援
• ...
テスト基盤チーム
犬シリーズ
SWETが開発しているサービスは犬の名前が命名されています
• マスティフ
• バージョンアップ対応軽減サービス
• ダルメシアン
• コードレビュープロセスサポート
• ポメラニアン
• テスト並列化サポート
•...
テスト基盤チーム
犬シリーズ:マスティフ(1/3)
• バージョンアップ対応で苦労したことありませんか?
• Xcode、ライブラリなど
• こんな経験はありませんか?
• 新バージョンへの移行時のコスト見積もりが難しいので先延ばし
• バージ...
テスト基盤チーム
犬シリーズ:マスティフ(2/3)
テスト基盤チーム
犬シリーズ:マスティフ(3/3)
Slack Web
バージョン通知とテスト結果の通知
各バージョンの情報
• 利用出来るかどうか
• バージョンアップ時に対応がいるかどうか
テスト基盤チーム
犬シリーズ:参考資料
各カンファレンス、勉強会などで紹介していますので詳細はそちらの資料を参考に。
• マスティフ
• @iOS Test Night
• https://www.slideshare.net/tarappo/...
おわりに
• SWETとは
• 「事業サポート x テスト基盤」の「深さ x 広さ」の体制
• SWETの技術・スキルを支え、展開する体制
• 一歩先のテストエンジニアリングへの取り組み
• 技術的チャレンジの機会が多いグループ
• 課題
• ...
ブランディング
SWET/SETはまだまだ知名度が低いためブランディングが重要
• Test Engineers Meetup
• https://test-engineers-meetup.connpass.com/
• iOS Test N...
Upcoming SlideShare
Loading in …5
×

DeNAにおけるSWETの役割

1,363 views

Published on

10/13(金) iOSDC 2017 Reject Conference days1の資料です。

Published in: Technology
  • Be the first to comment

DeNAにおけるSWETの役割

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

×