SlideShare a Scribd company logo
1 of 41
Download to read offline
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
伊藤 宏幸
市場で勝ち続けるための
品質とテストの技術
2017年2月16日
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
伊藤 宏幸
 黒帯(アジャイル開発プロセス)
 アジャイルコーチ
 自動化コーチ
自己紹介
1
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
テスト自動化は製品開発の必須要素
2
DevOpsの考え方の普及
↓
• さらなる「Time to Market」の短縮要望
• 市場に耐えうる品質の製品を
リリースし続ける必要性
↓
テスト自動化!
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
一方で
3
テスト自動化自体が難しい
• やり方が分からない
• たくさんの種類や方法があって、
どれをやれば良いのかが分からない
• メリットが分からない
(エンジニア/マネージャーとして)
• 工数が余計にかかるのでは?という疑念
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
自動化コーチ:我々の役割
4
テスト自動化
(特にユニットテスト)を、
サービスが自発的に
実施・推進できるようにすること
前述の疑問に対して1つ1つ回答し、
かつ施策をドライブすることが役割
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
当セッションのテーマ
5
テスト自動化を自ら開始・推進し、
組織文化の改善にまで
取り組んでいる
チームの事例とポイントの紹介
+
ポストDevOps時代の働き方
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
6
1. テスト自動化の始め方
2. 落とし穴とその回避方法
3. テスト自動化のためのステークホルダーマネジメント
4. 結論
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
1. テスト自動化の始め方
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
我々の基本方針
8
原則、ユニットテストから始める
• 「単体テスト」と同義
• ISTQBの定義に従い、
以下「ユニットテスト」と呼称
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
理由1:テストの種類
9
ユニットテスト
総合テスト
結合テスト
受入テスト
開発
基本設計
詳細設計
要件定義
ココから
導入が簡単かつ
すぐに効果を出せるため
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
理由2:テスト自動化のピラミッド
10
GUIテスト
受入テスト
(API層)
ユニットテスト
ココから
一番ROIが高いため
手動テスト
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
よくやる過ち
11
• 座学
• ワークショップ
• 実際にテスト自動化・TDD・ペアプロを
実践している現場の見学
ほとんど役に立たない!
ハンズオンなどで実際に手を動かして、
その価値を「体感」させない限りは
効果が見込めない
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
解決策
12
• Cyber Dojoで
TDD・ペアプロを「体感」させる
http://cyber-dojo.org/
• プロダクションコードへ
ユニットテストを追加する
(即実戦で鍛える)
• 必要になってから、
理論やテクニックを深く教える
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
この章のポイント
13
習わせるより慣れさせよ!
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
2. 落とし穴と
その回避方法
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
1) コードカバレッジの罠
15
コードカバレッジ60%突破!
もう少しで80%にできます。
ほとんど修正のない、簡単にテストを
追加できるプログラムがあるので、
引き続きここにテストを追加していこうと
思います♪
by 大泉 洋
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
1) コードカバレッジの罠
16
コードカバレッジの達成が
自己目標化してしまい、
市場に耐えうる品質の確保という
テストの目的から外れてしまう
↓
価値あるテストをつくることを
意識付けすることが必要
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
1) の解決策:価値あるテスト箇所を明確にする
17
• マネーパススイート
• 障害の頻発する箇所
• 頻繁に修正する箇所
• 追加/修正する箇所
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
2) テストが作りづらい
18
• プロダクションコードが複雑すぎて
解読できない
• モックを差し込めない
• 重複ロジックが多数ある
↓
テストをしやすくしよう!
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
2) の解決策:テストをしやすくする
19
• テストをしやすくするためのツールを
探し出して適用する
• Mockito(Java)
• Phake・AspectMock(PHP)
• テストをしやすいアーキテクチャに変える
• 「仕様化テスト」を整備する
• その後にリファクタリングを行う
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
3) 目的を見失う/作業のマンネリ化
20
• メンバーがテストへの関心を失う
• テストの作成ペースが伸びなくなる
• 価値の低いテストが増える
↓
チームに適切な刺激を与え、
自発的な成長を促そう!
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
3) の解決策1:短期の目標設定とふりかえり
21
• 定期的に目標を設定させる
• 一定期間が経ったら
目標の達成度合いを確認し、
KPTベースで振り返りを行う
• 定期的かつ自発的に、
次の改善アクションを提案・実施させる
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
3) の解決策2:自主的なテストルールの策定
22
• テストのコーディング規約
• C0/C1/C2
• ルール自体の定期的な見直し
↓
自主性のあるチームの構築へ
つながる
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
この章のポイント
23
目的のために
良い手段を選ぼう!
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
3. テスト自動化のための
ステークホルダー
マネジメント
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ある日チームから寄せられた相談
25
チームの活動目標を提示するよう、
「サブリーダー」から求められた
↓
活動目標を「サブリーダー」に提示した
↓
「部長」と「リーダー」からも、
別途目標を提示するよう求められた
↓
チームが混乱状態に陥ってしまった
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
調べてみた
26
• ステークホルダーがそもそも多い
• サブリーダー・リーダー(複数名)・
部長・テクニカルディレクターetc.
• ステークホルダーで情報が届いている人と
届いていない人とがいる
• ステークホルダー間でも情報をやりとり
している人としていない人とがいる
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
コーチとしてのチームへの提案
27
ステークホルダー管理に改善点あり
↓
ステークホルダー管理
(コミュニケーション管理)を
やろう!
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
しかし…チームの主張
28
• ユニットテストを書くことに集中したい
• ステークホルダーたちの問題だから、
自分たちは関係ない
↓
この状況を自ら改善することに
消極的だった
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
実施した説得
29
• 情報の交通整理をすること
= ステークホルダーを喜ばせる行為
• ステークホルダーを喜ばせること
= 仕事に集中できる環境作りにプラス
• 仕事に集中できる環境を作ること
= テスト自動化実現のための立派な行為
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
説得の結果
30
チーム自ら、
ステークホルダー全員が会する場を設定
• 何が分かっているのか
• 何が分かっていないのか
• 何が必要なのか
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
説得の結果
31
わずか30分で、
必要な情報共有と次のアクション決めを達成
写真:アフロ
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
この章のポイント
32
テストの作成に集中できる
環境を作ることも、
立派なテスト自動化だ!
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
4. 結論
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
その後のチーム
34
ほぼ我々コーチ陣の手を離れ、
自走するようになった
• チームメンバー同士で助け合いながら、
自力でユニットテストを書いている
• ステークホルダーとの調整も、事前に
済ませてから報告してくれるようになった
• 部署での成功のシンボルとなっている
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
課題の克服・改善
35
テスト自動化自体が難しい
• やり方が分からない
• たくさんの種類や方法があって、
どれをやれば良いのかが分からない
• メリットが分からない
(エンジニア/マネージャーとして)
• 工数が余計にかかるのでは?という疑念
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
36
テスト自動化自体が難しい
• やり方が分からない
• たくさんの種類や方法があって、
どれをやれば良いのかが分からない
• メリットが分からない
(エンジニア/マネージャーとして)
• 工数が余計にかかるのでは?という疑念
課題の克服・改善
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
これまでのポイントのおさらい
37
• 習わせるより慣れさせよ!
• 目的のために良い手段を選ぼう!
• テストの作成に集中できる環境を
作ることも、立派なテスト自動化だ!
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ポストDevOps時代の働き方
38
職種・業務を限定しない
継続的学習・改善の仕組みを、
技術的・組織的に構築する
写真:アフロ
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
結論
39
「当たり前のこと」を、
「当たり前に」やろう。
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.

More Related Content

What's hot

当たり前を当たり前に:Agile2017レポート
当たり前を当たり前に:Agile2017レポート当たり前を当たり前に:Agile2017レポート
当たり前を当たり前に:Agile2017レポートHiroyuki Ito
 
フロリダより愛をこめて
フロリダより愛をこめてフロリダより愛をこめて
フロリダより愛をこめてHiroyuki Ito
 
僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!Yasui Tsutomu
 
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成Rakuten Group, Inc.
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱Koichi ITO
 
スクラムマスターはじめのいっぽ
スクラムマスターはじめのいっぽスクラムマスターはじめのいっぽ
スクラムマスターはじめのいっぽTakeba Misa
 
「Qaエンジニアのキャリアについて考える : 急(q) 〜 いろいろな組織でやったこと〜」 山本様
「Qaエンジニアのキャリアについて考える : 急(q) 〜 いろいろな組織でやったこと〜」 山本様「Qaエンジニアのキャリアについて考える : 急(q) 〜 いろいろな組織でやったこと〜」 山本様
「Qaエンジニアのキャリアについて考える : 急(q) 〜 いろいろな組織でやったこと〜」 山本様ques_staff
 
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudyなんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudyPOStudy
 
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所Kotaro Ogino
 
良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 -
良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 - 良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 -
良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 - teyamagu
 
Yahoo! JAPANにおけるアジャイル開発の普及戦略 #SPIJapan2016
Yahoo! JAPANにおけるアジャイル開発の普及戦略 #SPIJapan2016Yahoo! JAPANにおけるアジャイル開発の普及戦略 #SPIJapan2016
Yahoo! JAPANにおけるアジャイル開発の普及戦略 #SPIJapan2016teyamagu
 
CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにCEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにTakafumi Ikeda
 
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっているLIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっているLIFULL Co., Ltd.
 
チーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかチーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかTakafumi Ikeda
 
Ameba流 scrumを浸透させていく方法
Ameba流 scrumを浸透させていく方法Ameba流 scrumを浸透させていく方法
Ameba流 scrumを浸透させていく方法Hirotaka Osaki
 
クオリティゲートの通過判断として 品質特性を利用した受入テストの 導入と効果
クオリティゲートの通過判断として品質特性を利用した受入テストの導入と効果クオリティゲートの通過判断として品質特性を利用した受入テストの導入と効果
クオリティゲートの通過判断として 品質特性を利用した受入テストの 導入と効果JumpeiIto2
 
第3回enPiTシンポジウムBizApp分野代表発表
第3回enPiTシンポジウムBizApp分野代表発表第3回enPiTシンポジウムBizApp分野代表発表
第3回enPiTシンポジウムBizApp分野代表発表Takeba Misa
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016kyon mm
 

What's hot (20)

当たり前を当たり前に:Agile2017レポート
当たり前を当たり前に:Agile2017レポート当たり前を当たり前に:Agile2017レポート
当たり前を当たり前に:Agile2017レポート
 
フロリダより愛をこめて
フロリダより愛をこめてフロリダより愛をこめて
フロリダより愛をこめて
 
僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!
 
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
スクラムマスターはじめのいっぽ
スクラムマスターはじめのいっぽスクラムマスターはじめのいっぽ
スクラムマスターはじめのいっぽ
 
「Qaエンジニアのキャリアについて考える : 急(q) 〜 いろいろな組織でやったこと〜」 山本様
「Qaエンジニアのキャリアについて考える : 急(q) 〜 いろいろな組織でやったこと〜」 山本様「Qaエンジニアのキャリアについて考える : 急(q) 〜 いろいろな組織でやったこと〜」 山本様
「Qaエンジニアのキャリアについて考える : 急(q) 〜 いろいろな組織でやったこと〜」 山本様
 
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudyなんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
 
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
 
良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 -
良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 - 良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 -
良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 -
 
Yahoo! JAPANにおけるアジャイル開発の普及戦略 #SPIJapan2016
Yahoo! JAPANにおけるアジャイル開発の普及戦略 #SPIJapan2016Yahoo! JAPANにおけるアジャイル開発の普及戦略 #SPIJapan2016
Yahoo! JAPANにおけるアジャイル開発の普及戦略 #SPIJapan2016
 
開発とテストが一体となったソフトウェア開発
開発とテストが一体となったソフトウェア開発開発とテストが一体となったソフトウェア開発
開発とテストが一体となったソフトウェア開発
 
CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにCEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするために
 
system testing in Scrum
system testing in Scrumsystem testing in Scrum
system testing in Scrum
 
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっているLIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
 
チーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかチーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるか
 
Ameba流 scrumを浸透させていく方法
Ameba流 scrumを浸透させていく方法Ameba流 scrumを浸透させていく方法
Ameba流 scrumを浸透させていく方法
 
クオリティゲートの通過判断として 品質特性を利用した受入テストの 導入と効果
クオリティゲートの通過判断として品質特性を利用した受入テストの導入と効果クオリティゲートの通過判断として品質特性を利用した受入テストの導入と効果
クオリティゲートの通過判断として 品質特性を利用した受入テストの 導入と効果
 
第3回enPiTシンポジウムBizApp分野代表発表
第3回enPiTシンポジウムBizApp分野代表発表第3回enPiTシンポジウムBizApp分野代表発表
第3回enPiTシンポジウムBizApp分野代表発表
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
 

Viewers also liked

ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術Yahoo!デベロッパーネットワーク
 
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!デベロッパーネットワーク
 
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋Yahoo!デベロッパーネットワーク
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo!デベロッパーネットワーク
 
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みデータテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みYahoo!デベロッパーネットワーク
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 

Viewers also liked (9)

ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
 
市場で勝ち続けるための品質とテストの技術①
市場で勝ち続けるための品質とテストの技術①市場で勝ち続けるための品質とテストの技術①
市場で勝ち続けるための品質とテストの技術①
 
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
 
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
 
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みデータテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
 
Yahoo! JAPANのCloud Foundry導入状況
Yahoo! JAPANのCloud Foundry導入状況Yahoo! JAPANのCloud Foundry導入状況
Yahoo! JAPANのCloud Foundry導入状況
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 

Similar to 市場で勝ち続けるための品質とテストの技術②

デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)Developers Summit
 
「Qaエンジニアのキャリアについて考える : 急(Q) ~ いろいろな組織でやったこと~」
「Qaエンジニアのキャリアについて考える : 急(Q) ~ いろいろな組織でやったこと~」「Qaエンジニアのキャリアについて考える : 急(Q) ~ いろいろな組織でやったこと~」
「Qaエンジニアのキャリアについて考える : 急(Q) ~ いろいろな組織でやったこと~」久仁朗 山本(旧姓 村上)
 
Test process improvement starting from the problem awareness of team members ...
Test process improvement starting from the problem awareness of team members ...Test process improvement starting from the problem awareness of team members ...
Test process improvement starting from the problem awareness of team members ...Adachi Kenji
 
QAファンネル振り返り術
QAファンネル振り返り術QAファンネル振り返り術
QAファンネル振り返り術JumpeiIto2
 
外部委託から内製化アジャイルへの切替支援を通してわかったこと #augj
外部委託から内製化アジャイルへの切替支援を通してわかったこと #augj外部委託から内製化アジャイルへの切替支援を通してわかったこと #augj
外部委託から内製化アジャイルへの切替支援を通してわかったこと #augj満徳 関
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進めDai FUJIHARA
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進めRakuten Group, Inc.
 
ソフトウェアテストことはじめ2016年ver
ソフトウェアテストことはじめ2016年verソフトウェアテストことはじめ2016年ver
ソフトウェアテストことはじめ2016年verKosuke Fujisawa
 
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ
JIRA Agileを活用したアジャイル開発実践事例 #AUGJJIRA Agileを活用したアジャイル開発実践事例 #AUGJ
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ満徳 関
 
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
最若手メンバーこそチャンス!チーム改善に取り組んでわかったことMasayuki Ueda
 
開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜Takahiro Yamaki
 
レビュー手法活用による品質の見える化と改善
レビュー手法活用による品質の見える化と改善レビュー手法活用による品質の見える化と改善
レビュー手法活用による品質の見える化と改善Climb CoLtd
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善Works Applications
 
ふりかえりをステップアップ
ふりかえりをステップアップふりかえりをステップアップ
ふりかえりをステップアップESM SEC
 
企業でのAI開発でAIエンジニアに求められるもの
企業でのAI開発でAIエンジニアに求められるもの企業でのAI開発でAIエンジニアに求められるもの
企業でのAI開発でAIエンジニアに求められるものHirohito Okuda
 
TechRacho: 技術情報発信から広げるエンジニア発のコミュニケーション文化作り
TechRacho: 技術情報発信から広げるエンジニア発のコミュニケーション文化作りTechRacho: 技術情報発信から広げるエンジニア発のコミュニケーション文化作り
TechRacho: 技術情報発信から広げるエンジニア発のコミュニケーション文化作りMasato Mori
 

Similar to 市場で勝ち続けるための品質とテストの技術② (20)

デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
 
「Qaエンジニアのキャリアについて考える : 急(Q) ~ いろいろな組織でやったこと~」
「Qaエンジニアのキャリアについて考える : 急(Q) ~ いろいろな組織でやったこと~」「Qaエンジニアのキャリアについて考える : 急(Q) ~ いろいろな組織でやったこと~」
「Qaエンジニアのキャリアについて考える : 急(Q) ~ いろいろな組織でやったこと~」
 
[Biz reach qa meetup] qa team_build
[Biz reach qa meetup] qa team_build[Biz reach qa meetup] qa team_build
[Biz reach qa meetup] qa team_build
 
Test process improvement starting from the problem awareness of team members ...
Test process improvement starting from the problem awareness of team members ...Test process improvement starting from the problem awareness of team members ...
Test process improvement starting from the problem awareness of team members ...
 
QAファンネル振り返り術
QAファンネル振り返り術QAファンネル振り返り術
QAファンネル振り返り術
 
外部委託から内製化アジャイルへの切替支援を通してわかったこと #augj
外部委託から内製化アジャイルへの切替支援を通してわかったこと #augj外部委託から内製化アジャイルへの切替支援を通してわかったこと #augj
外部委託から内製化アジャイルへの切替支援を通してわかったこと #augj
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
 
ソフトウェアテストことはじめ2016年ver
ソフトウェアテストことはじめ2016年verソフトウェアテストことはじめ2016年ver
ソフトウェアテストことはじめ2016年ver
 
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ
JIRA Agileを活用したアジャイル開発実践事例 #AUGJJIRA Agileを活用したアジャイル開発実践事例 #AUGJ
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ
 
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
 
開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
 
レビュー手法活用による品質の見える化と改善
レビュー手法活用による品質の見える化と改善レビュー手法活用による品質の見える化と改善
レビュー手法活用による品質の見える化と改善
 
To be sn agile enterprise
To be sn agile enterpriseTo be sn agile enterprise
To be sn agile enterprise
 
Provisioning & Deploy on AWS
Provisioning & Deploy on AWSProvisioning & Deploy on AWS
Provisioning & Deploy on AWS
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
 
ふりかえりをステップアップ
ふりかえりをステップアップふりかえりをステップアップ
ふりかえりをステップアップ
 
Q te cc2
Q te cc2Q te cc2
Q te cc2
 
企業でのAI開発でAIエンジニアに求められるもの
企業でのAI開発でAIエンジニアに求められるもの企業でのAI開発でAIエンジニアに求められるもの
企業でのAI開発でAIエンジニアに求められるもの
 
TechRacho: 技術情報発信から広げるエンジニア発のコミュニケーション文化作り
TechRacho: 技術情報発信から広げるエンジニア発のコミュニケーション文化作りTechRacho: 技術情報発信から広げるエンジニア発のコミュニケーション文化作り
TechRacho: 技術情報発信から広げるエンジニア発のコミュニケーション文化作り
 

More from Yahoo!デベロッパーネットワーク

ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかYahoo!デベロッパーネットワーク
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2Yahoo!デベロッパーネットワーク
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcYahoo!デベロッパーネットワーク
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo!デベロッパーネットワーク
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcYahoo!デベロッパーネットワーク
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtcYahoo!デベロッパーネットワーク
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcYahoo!デベロッパーネットワーク
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcYahoo!デベロッパーネットワーク
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcYahoo!デベロッパーネットワーク
 

More from Yahoo!デベロッパーネットワーク (20)

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
 
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
 
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
 
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
 

市場で勝ち続けるための品質とテストの技術②

  • 1. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 伊藤 宏幸 市場で勝ち続けるための 品質とテストの技術 2017年2月16日
  • 2. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 伊藤 宏幸  黒帯(アジャイル開発プロセス)  アジャイルコーチ  自動化コーチ 自己紹介 1
  • 3. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. テスト自動化は製品開発の必須要素 2 DevOpsの考え方の普及 ↓ • さらなる「Time to Market」の短縮要望 • 市場に耐えうる品質の製品を リリースし続ける必要性 ↓ テスト自動化!
  • 4. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 一方で 3 テスト自動化自体が難しい • やり方が分からない • たくさんの種類や方法があって、 どれをやれば良いのかが分からない • メリットが分からない (エンジニア/マネージャーとして) • 工数が余計にかかるのでは?という疑念
  • 5. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 自動化コーチ:我々の役割 4 テスト自動化 (特にユニットテスト)を、 サービスが自発的に 実施・推進できるようにすること 前述の疑問に対して1つ1つ回答し、 かつ施策をドライブすることが役割
  • 6. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 当セッションのテーマ 5 テスト自動化を自ら開始・推進し、 組織文化の改善にまで 取り組んでいる チームの事例とポイントの紹介 + ポストDevOps時代の働き方
  • 7. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. アジェンダ 6 1. テスト自動化の始め方 2. 落とし穴とその回避方法 3. テスト自動化のためのステークホルダーマネジメント 4. 結論
  • 8. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 1. テスト自動化の始め方
  • 9. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 我々の基本方針 8 原則、ユニットテストから始める • 「単体テスト」と同義 • ISTQBの定義に従い、 以下「ユニットテスト」と呼称
  • 10. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 理由1:テストの種類 9 ユニットテスト 総合テスト 結合テスト 受入テスト 開発 基本設計 詳細設計 要件定義 ココから 導入が簡単かつ すぐに効果を出せるため
  • 11. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 理由2:テスト自動化のピラミッド 10 GUIテスト 受入テスト (API層) ユニットテスト ココから 一番ROIが高いため 手動テスト
  • 12. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. よくやる過ち 11 • 座学 • ワークショップ • 実際にテスト自動化・TDD・ペアプロを 実践している現場の見学 ほとんど役に立たない! ハンズオンなどで実際に手を動かして、 その価値を「体感」させない限りは 効果が見込めない
  • 13. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 解決策 12 • Cyber Dojoで TDD・ペアプロを「体感」させる http://cyber-dojo.org/ • プロダクションコードへ ユニットテストを追加する (即実戦で鍛える) • 必要になってから、 理論やテクニックを深く教える
  • 14. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. この章のポイント 13 習わせるより慣れさせよ!
  • 15. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 2. 落とし穴と その回避方法
  • 16. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 1) コードカバレッジの罠 15 コードカバレッジ60%突破! もう少しで80%にできます。 ほとんど修正のない、簡単にテストを 追加できるプログラムがあるので、 引き続きここにテストを追加していこうと 思います♪ by 大泉 洋
  • 17. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 1) コードカバレッジの罠 16 コードカバレッジの達成が 自己目標化してしまい、 市場に耐えうる品質の確保という テストの目的から外れてしまう ↓ 価値あるテストをつくることを 意識付けすることが必要
  • 18. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 1) の解決策:価値あるテスト箇所を明確にする 17 • マネーパススイート • 障害の頻発する箇所 • 頻繁に修正する箇所 • 追加/修正する箇所
  • 19. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 2) テストが作りづらい 18 • プロダクションコードが複雑すぎて 解読できない • モックを差し込めない • 重複ロジックが多数ある ↓ テストをしやすくしよう!
  • 20. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 2) の解決策:テストをしやすくする 19 • テストをしやすくするためのツールを 探し出して適用する • Mockito(Java) • Phake・AspectMock(PHP) • テストをしやすいアーキテクチャに変える • 「仕様化テスト」を整備する • その後にリファクタリングを行う
  • 21. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 3) 目的を見失う/作業のマンネリ化 20 • メンバーがテストへの関心を失う • テストの作成ペースが伸びなくなる • 価値の低いテストが増える ↓ チームに適切な刺激を与え、 自発的な成長を促そう!
  • 22. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 3) の解決策1:短期の目標設定とふりかえり 21 • 定期的に目標を設定させる • 一定期間が経ったら 目標の達成度合いを確認し、 KPTベースで振り返りを行う • 定期的かつ自発的に、 次の改善アクションを提案・実施させる
  • 23. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 3) の解決策2:自主的なテストルールの策定 22 • テストのコーディング規約 • C0/C1/C2 • ルール自体の定期的な見直し ↓ 自主性のあるチームの構築へ つながる
  • 24. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. この章のポイント 23 目的のために 良い手段を選ぼう!
  • 25. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 3. テスト自動化のための ステークホルダー マネジメント
  • 26. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ある日チームから寄せられた相談 25 チームの活動目標を提示するよう、 「サブリーダー」から求められた ↓ 活動目標を「サブリーダー」に提示した ↓ 「部長」と「リーダー」からも、 別途目標を提示するよう求められた ↓ チームが混乱状態に陥ってしまった
  • 27. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 調べてみた 26 • ステークホルダーがそもそも多い • サブリーダー・リーダー(複数名)・ 部長・テクニカルディレクターetc. • ステークホルダーで情報が届いている人と 届いていない人とがいる • ステークホルダー間でも情報をやりとり している人としていない人とがいる
  • 28. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. コーチとしてのチームへの提案 27 ステークホルダー管理に改善点あり ↓ ステークホルダー管理 (コミュニケーション管理)を やろう!
  • 29. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. しかし…チームの主張 28 • ユニットテストを書くことに集中したい • ステークホルダーたちの問題だから、 自分たちは関係ない ↓ この状況を自ら改善することに 消極的だった
  • 30. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 実施した説得 29 • 情報の交通整理をすること = ステークホルダーを喜ばせる行為 • ステークホルダーを喜ばせること = 仕事に集中できる環境作りにプラス • 仕事に集中できる環境を作ること = テスト自動化実現のための立派な行為
  • 31. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 説得の結果 30 チーム自ら、 ステークホルダー全員が会する場を設定 • 何が分かっているのか • 何が分かっていないのか • 何が必要なのか
  • 32. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 説得の結果 31 わずか30分で、 必要な情報共有と次のアクション決めを達成 写真:アフロ
  • 33. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. この章のポイント 32 テストの作成に集中できる 環境を作ることも、 立派なテスト自動化だ!
  • 34. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 4. 結論
  • 35. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. その後のチーム 34 ほぼ我々コーチ陣の手を離れ、 自走するようになった • チームメンバー同士で助け合いながら、 自力でユニットテストを書いている • ステークホルダーとの調整も、事前に 済ませてから報告してくれるようになった • 部署での成功のシンボルとなっている
  • 36. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 課題の克服・改善 35 テスト自動化自体が難しい • やり方が分からない • たくさんの種類や方法があって、 どれをやれば良いのかが分からない • メリットが分からない (エンジニア/マネージャーとして) • 工数が余計にかかるのでは?という疑念
  • 37. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 36 テスト自動化自体が難しい • やり方が分からない • たくさんの種類や方法があって、 どれをやれば良いのかが分からない • メリットが分からない (エンジニア/マネージャーとして) • 工数が余計にかかるのでは?という疑念 課題の克服・改善
  • 38. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. これまでのポイントのおさらい 37 • 習わせるより慣れさせよ! • 目的のために良い手段を選ぼう! • テストの作成に集中できる環境を 作ることも、立派なテスト自動化だ!
  • 39. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ポストDevOps時代の働き方 38 職種・業務を限定しない 継続的学習・改善の仕組みを、 技術的・組織的に構築する 写真:アフロ
  • 40. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 結論 39 「当たり前のこと」を、 「当たり前に」やろう。
  • 41. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.