Submit Search
Upload
組織にテストコードを書く文化を 根付かせるためにやってきたこと
•
2 likes
•
498 views
S
Suguru Shirai
Follow
組織にテストコードを書く文化を 根付かせるためにやってきたこと @Next game engineer_summit
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 25
Download now
Download to read offline
Recommended
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
Suguru Shirai
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
Suguru Shirai
サイバーエージェントのゲーム事業のインフラからみたゲーム開発スタイルの変遷
サイバーエージェントのゲーム事業のインフラからみたゲーム開発スタイルの変遷
Suguru Shirai
NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
gree_tech
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
gree_tech
もしSIerのエンジニアがSRE本を読んだら
もしSIerのエンジニアがSRE本を読んだら
Tomoki Ando
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
Masahiro Nishimi
Aiming のクラウド採用基準
Aiming のクラウド採用基準
Takahiro Hozumi
Recommended
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
Suguru Shirai
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
Suguru Shirai
サイバーエージェントのゲーム事業のインフラからみたゲーム開発スタイルの変遷
サイバーエージェントのゲーム事業のインフラからみたゲーム開発スタイルの変遷
Suguru Shirai
NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
gree_tech
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
gree_tech
もしSIerのエンジニアがSRE本を読んだら
もしSIerのエンジニアがSRE本を読んだら
Tomoki Ando
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
Masahiro Nishimi
Aiming のクラウド採用基準
Aiming のクラウド採用基準
Takahiro Hozumi
グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性
gree_tech
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
GCPでCI環境を構築する
GCPでCI環境を構築する
Toshihumi Anan
社内でのjira運用
社内でのjira運用
Yasushi Kishi
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例
知教 本間
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
decode17
decode17
Yahoo!デベロッパーネットワーク
ソーシャルゲーム運用チームにJIRAを導入してみた話
ソーシャルゲーム運用チームにJIRAを導入してみた話
Kimura Ryota
[デブサミ]Microsoft Data Platform 最新アップデート
[デブサミ]Microsoft Data Platform 最新アップデート
Daisuke Inoue
Enterprise Redmine
Enterprise Redmine
Dai FUJIHARA
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
Teruo Adachi
Azure 三つ巴チームが送るIgnite 振り返り!
Azure 三つ巴チームが送るIgnite 振り返り!
Yasuaki Matsuda
サービスを日々運用し続けながら最新版のRailsに追従させる極意
サービスを日々運用し続けながら最新版のRailsに追従させる極意
Teruo Adachi
jaws-ug kansai-special_kinesis_20150207
jaws-ug kansai-special_kinesis_20150207
Toshiyuki Konparu
Azure周りの振り返り
Azure周りの振り返り
Kazunori Hamamoto
裏クラウドデザインパターン
裏クラウドデザインパターン
Atsushi Kojima
Google Apps Script 活用ミートアップ#4 発表資料
Google Apps Script 活用ミートアップ#4 発表資料
Takayoshi Sakaino
#7はじめてのIT勉強会LT
#7はじめてのIT勉強会LT
Chinatsu Ozawa
More Related Content
What's hot
グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性
gree_tech
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
GCPでCI環境を構築する
GCPでCI環境を構築する
Toshihumi Anan
社内でのjira運用
社内でのjira運用
Yasushi Kishi
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例
知教 本間
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
decode17
decode17
Yahoo!デベロッパーネットワーク
ソーシャルゲーム運用チームにJIRAを導入してみた話
ソーシャルゲーム運用チームにJIRAを導入してみた話
Kimura Ryota
[デブサミ]Microsoft Data Platform 最新アップデート
[デブサミ]Microsoft Data Platform 最新アップデート
Daisuke Inoue
Enterprise Redmine
Enterprise Redmine
Dai FUJIHARA
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
Teruo Adachi
Azure 三つ巴チームが送るIgnite 振り返り!
Azure 三つ巴チームが送るIgnite 振り返り!
Yasuaki Matsuda
サービスを日々運用し続けながら最新版のRailsに追従させる極意
サービスを日々運用し続けながら最新版のRailsに追従させる極意
Teruo Adachi
jaws-ug kansai-special_kinesis_20150207
jaws-ug kansai-special_kinesis_20150207
Toshiyuki Konparu
Azure周りの振り返り
Azure周りの振り返り
Kazunori Hamamoto
裏クラウドデザインパターン
裏クラウドデザインパターン
Atsushi Kojima
What's hot
(20)
グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
GCPでCI環境を構築する
GCPでCI環境を構築する
社内でのjira運用
社内でのjira運用
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
decode17
decode17
ソーシャルゲーム運用チームにJIRAを導入してみた話
ソーシャルゲーム運用チームにJIRAを導入してみた話
[デブサミ]Microsoft Data Platform 最新アップデート
[デブサミ]Microsoft Data Platform 最新アップデート
Enterprise Redmine
Enterprise Redmine
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
Azure 三つ巴チームが送るIgnite 振り返り!
Azure 三つ巴チームが送るIgnite 振り返り!
サービスを日々運用し続けながら最新版のRailsに追従させる極意
サービスを日々運用し続けながら最新版のRailsに追従させる極意
jaws-ug kansai-special_kinesis_20150207
jaws-ug kansai-special_kinesis_20150207
Azure周りの振り返り
Azure周りの振り返り
裏クラウドデザインパターン
裏クラウドデザインパターン
Similar to 組織にテストコードを書く文化を 根付かせるためにやってきたこと
Google Apps Script 活用ミートアップ#4 発表資料
Google Apps Script 活用ミートアップ#4 発表資料
Takayoshi Sakaino
#7はじめてのIT勉強会LT
#7はじめてのIT勉強会LT
Chinatsu Ozawa
副業が私にもたらした2つのシフト
副業が私にもたらした2つのシフト
Kazuto Ohara
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
Yuki Okada
チームラボ スマホアプリチームの面白い仕事の作り方
チームラボ スマホアプリチームの面白い仕事の作り方
Wataru Sakashita
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
Shinya Tachihara
Social Change 〜 ソフトウェア開発者が経営者になるまでと、これからの戦略
Social Change 〜 ソフトウェア開発者が経営者になるまでと、これからの戦略
Yoshihito Kuranuki
LEANSTARTUPアンチパターン #devlove #leanstartup
LEANSTARTUPアンチパターン #devlove #leanstartup
Itsuki Kuroda
Global engineerlab kawani
Global engineerlab kawani
Shin Kawani
エンプラでDevRelコミュニティをゼロから作ってみた
エンプラでDevRelコミュニティをゼロから作ってみた
Mamoru Ohashi
事業会社で働くエンジニアのマインドセット - DevLOVE関西
事業会社で働くエンジニアのマインドセット - DevLOVE関西
Tomoyuki Sugita
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
KojiKono1
とらのあなエンジニア採用イベント 2017年2月9日
とらのあなエンジニア採用イベント 2017年2月9日
Junichi Noda
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
Naoki Yamada
Apple sapの提携のその後
Apple sapの提携のその後
智洋 大野
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Serverworks Co.,Ltd.
ソフトウェアエンジニアのキャリア・デザイン
ソフトウェアエンジニアのキャリア・デザイン
Haruto Watanabe
Elastic Team Building
Elastic Team Building
Yuki Nanri
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
Yasuharu Seki
Delphi開発者のためのSencha入門
Delphi開発者のためのSencha入門
Shinobu Kawano
Similar to 組織にテストコードを書く文化を 根付かせるためにやってきたこと
(20)
Google Apps Script 活用ミートアップ#4 発表資料
Google Apps Script 活用ミートアップ#4 発表資料
#7はじめてのIT勉強会LT
#7はじめてのIT勉強会LT
副業が私にもたらした2つのシフト
副業が私にもたらした2つのシフト
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
チームラボ スマホアプリチームの面白い仕事の作り方
チームラボ スマホアプリチームの面白い仕事の作り方
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
Social Change 〜 ソフトウェア開発者が経営者になるまでと、これからの戦略
Social Change 〜 ソフトウェア開発者が経営者になるまでと、これからの戦略
LEANSTARTUPアンチパターン #devlove #leanstartup
LEANSTARTUPアンチパターン #devlove #leanstartup
Global engineerlab kawani
Global engineerlab kawani
エンプラでDevRelコミュニティをゼロから作ってみた
エンプラでDevRelコミュニティをゼロから作ってみた
事業会社で働くエンジニアのマインドセット - DevLOVE関西
事業会社で働くエンジニアのマインドセット - DevLOVE関西
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
とらのあなエンジニア採用イベント 2017年2月9日
とらのあなエンジニア採用イベント 2017年2月9日
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
Apple sapの提携のその後
Apple sapの提携のその後
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
ソフトウェアエンジニアのキャリア・デザイン
ソフトウェアエンジニアのキャリア・デザイン
Elastic Team Building
Elastic Team Building
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
Delphi開発者のためのSencha入門
Delphi開発者のためのSencha入門
組織にテストコードを書く文化を 根付かせるためにやってきたこと
1.
組織にテストコードを書く文化を 根付かせるためにやってきたこと 2017/06/29 塚原 裕也 @Next
Game Engineer Summit
2.
塚原 裕也 (つかはら ゆうや) 株式会社グレンジ リードエンジニア / マネージャー
3.
2008/04 SIのベンチャーでエンジニア始める 2012/02 サイバーエージェントグループのゲーム系子会社 CyberX入社 2014/11 グレンジへ合流し、現在に至る
4.
2011/02/01 設立 グレンジって? ※絶賛新規仕込み中 提供アプリ ポコロンダンジョンズ
5.
リリース - iOS:2014年6月 - Android:2014年8月 ダウンロード数 -
1000万突破 ポコダンって?
6.
なぞって、えい!
7.
改めて、今日話すこと。 組織にテストコードを書く文化を 根付かせるためにやってきたこと 運用中のタイトルに導入して カバレッジを90%以上にした話
8.
みなさん、 テストコード書いてますか? まずは・・・
9.
10.
・リリースして10ヶ月くらい ・テストコードは”ゼロ” ・不具合が多く不安定 ・テストがないのにリファクタリングと いう名目で実装が行われる ・”祈る”開発 - 影響範囲が未知で自信ない 導入前の状況。
11.
・1年間でカバレッジ90%超 (現在のカバレッジは95%) ・生産性が上がった ・テストコードがないと不安 ・”祈らない”開発 - コードに自信が持てている 導入後の状況。
12.
・忙しくてテストを書く時間はない ・よくわかんないけど、面倒くさそう ・テスト書く時間あったら他の機能 を実装して欲しい 越えないといけない反発。 余計に反発強め テストコード経験なし 運用中のサービス×
13.
他セクション向け の取り組み。 (もちろんエンジニアにもする話)
14.
「テスト書く時間あったら他の機能 を実装して欲しい」 ・工数が余計にかかることはない (必要な時間という認識) ・無駄な手戻りが減り円滑に進む スケジュール面でアピール。
15.
・品質が見える化する ※テストを書いたら品質が上がるわ けではなく、品質はリファクタリング などで上がる。テストはその布石。 品質面でアピール。
16.
・生産性があがる - 開発スピードが上がる - 仕様変更に強くなる -
エンジニアが自信を持って開発 したコードの方が安心 もっと仕事するアピール。
17.
エンジニア向けの 取り組み。
18.
・理解者を増やす(根気が必要) ・「時間がない」のはテストを書かな いから ・テストコードの工数も含めて見積 もりする(時間がないを言い訳にさせない) ・時間はあげるから書いてくれ 理解してもらう。
19.
・推進する人を立てる ・カバレッジを見える化して煽る (穴埋めするのを楽しむ) ・TDDに拘らない ・新規ファイルはテストを必ず書く (本当にどうしても時間ないときは後から書く) ・既存ファイルは空いた時間or機 能改修する時に書く 進め方。
20.
海外版開発チームからテストコードの ベース部分を逆輸入。 とにかく導入する。 メンバーが合流するのを機に押し進めた。
21.
"require-dev": { "phpunit/phpunit": "3.7.*", "squizlabs/php_codesniffer":
"~2.3", "sebastian/phpcpd": "~2.0", "phpmd/phpmd": "~2.2", "phing/phing": "~2.11" } 使用ライブラリ。 composer.json
22.
・Jenkinsの利用 - Gitのpushをトリガーに実行 - カバレッジ計算 -
コード規約チェック - 冗長なコード検出を行う 自動化。
23.
カバレッジ見える化。 半年 1年 現在
24.
・他セクションの理解を得られないと導入が進ま ない ・とにかく書いてテストコードのメリットを体験しな いと本当には理解してもらえない ・見える化大事 ・カバレッジを増やすことにモチベーションを持てる 人を味方につけると進捗が早い ・諦めない心と強い信念が必要 ・テストコードは安定化させるための一つの手段 でしかない(これだけじゃ安定しないよ) まとめ。
25.
ご清聴ありがとうございました。
Download now