池田 暁
長崎IT技術者会
長崎IT技術社会 第7回勉強会
於 入新井集会室(東京・大森)
はじめに
 本スライドの内容は,発表者のBlog記事をスライ
ドに起こしたものです
 テストプロセス改善技術の概要を紹介します
 TPIとTMMiについて簡単に紹介します
2015/9/28 ©Akira Ikeda 2
テストプロセス改善技術あれこれ
「テストプロセス改善技術」は新しい技術なのか?
• 実は技術自体は結構前から存在している
• しかし「テストプロセス改善技術を使っています」という人にはあまり出会ったことがない
• テストプロセスの改善に取り組んでいないというわけではないだろうが・・・
これまで実践事例としての国内発表はあまりない
• ただし,これまでのJaSSTで研究発表やキーワードレベルでの言及はあった
• JaSST’03の での奥村有紀子さんの「テストプロセス改善モデルの比較分析」→資料
• JaSST’09 Tokyo でのにしさんの「テストの改善、テストによる改善」 →資料
• JaSST’11 Tokyo での招待講演にて言及有り(TPI,TMMi)→記事
• その他,大西さん・湯本さんによる情報処理学会学会誌の記事も →記事
実は言葉くらいは聞いているはず
• 記憶に残っていない人も多いかと思いますが,実はこれまでに言葉はすでに聞いているはずなのです
• ただし,その内容はあまり知られていないような気がしています
2015/9/28 ©Akira Ikeda 3
本日の参加者での認知度(その1)
2015/9/28 ©Akira Ikeda 4
テストプロセス改善技術を知っていたか
テストプロセス改善技術を
使ったことがあるか
本日の参加者での認知度(その2)
テストプロセス改善技術を知っていたか 何を知っていたか
2015/9/28 ©Akira Ikeda 5
本日の参加者での認知度(その3)
2015/9/28 ©Akira Ikeda 6
テストプロセス改善技術を
使ったことがあるか
何を使ったことがあるか
本日の参加者での認知度(その4)
テストプロセス改善技術を使ったことがありますか?
2015/9/28 ©Akira Ikeda 7
本日はテスト技術
に関心がある方が
多いが,それでも
使ったことがない
方が多い
SQuBOK V2 におけるプロセス改善技術
2.3.1 ソフトウェアプロセス能力改善のためのプロセスモデル
2.3.1.1 CMMI(能力成熟度モデル統合)
2.3.1.2 PSP(パーソナル・ソフトウェア・プロセス)
2.3.1.3 TSP(チーム・ソフトウェア・プロセス)
2.3.1.4 TPI(テストプロセス改善)
2.3.1.5 TMMi(テスト成熟度モデル統合)
2015/9/28 ©Akira Ikeda 8
ISTQBにおけるプロセス改善技術
5 テストプロセスの改善
5.1 イントロダクション
5.2 テスト改善プロセス
5.3 テストプロセスの改善
5.4 TMMiによるテストプロセスの改善
5.5 TPI NEXT によるテストプロセスの改善
5.6 CTPによるテストプロセスの改善
5.7 STEPによるテストプロセスの改善
2015/9/28 ©Akira Ikeda 9
テストプロセス改善技術の概要
•Tmapというテストプロセスの方法論をベースとしている技法
•テストプロセスを20のキーエリアに分け,それぞれおよび全体に対してプロセス
の成熟度を判定する
•現在は最新版である TPI NEXT がある
TPI
•テストのプロセスを段階的に改善するための技法
•CMMiのテスト技術分野を補完するもので,CMMiと同じく5段階の水準とそのゴー
ルで構成し,アセスメントにより成熟度を判定する
TMMi
2015/9/28 ©Akira Ikeda 10
 (おそらく)日本国内で比較的利用されており,情報を得やすいのは
TMMiとTPIの2つ(CTPやSTEPの情報もあるにはあるが・・・)
※今回はCTP,STEPについては割愛します
• Tmapというテストプロセスの方法論をベースとしている技法
• テストプロセスを20のキーエリアに分け,それぞれおよび全体
に対してプロセスの成熟度を判定する
• 現在は最新版である TPI NEXT がある
2015/9/28 ©Akira Ikeda 11
TPIのモデル
2015/9/28 ©Akira Ikeda 12
キーエリア
レベル テスト成熟度
マトリクス
チェックポイント 改善提案
 TPIのモデルはキーエリアとレベル,チェックポイントと改善提案から成る
TPI モデルの構成要素
•テストプロセスを20のキーエリアに分けたもの
•それらは,AからDまでの最大4段階のレベルを持っている
キーエリア
•当該キーエリアの成熟度を示す
•各レベルには,複数のチェックポイントが割り当てられてお
り,それを,満たすことでレベルを達成したと判定する
レベル
•チェックポイントはレベルを達成するために必要な項目
•改善提案は,レベルを達成するためのガイド情報
チェックポイント
および改善提案
2015/9/28 ©Akira Ikeda 13
テスト成熟度マトリクス
0 1 2 3 4 5 6 7 8 9 10 11 12 13
制御されたレベル コントトールされたレベル 最適化したレベル
A B C D
A B
A B C D
A B
A B
A B
A B C D
A B C
A B C
A
A B C
A B C
A B C
A B C
A B C D
A B C
A B C D
A B C
A B
A B C
2015/9/28 ©Akira Ikeda 14
【キーエリア】
テスト戦略
ライフサイクルモデル
関与の時点
見積りと計画
テスト仕様化技法
静的テスト技法
尺度
テストツール
テスト環境
オフィス環境
コミットメントと意欲
テスト役割と訓練
方法論の範囲
コミュニケーション
報告
欠陥管理
テストウェア管理
テストプロセス管理
評価
低位レベルテスト
【スケール】
Tim Koomen, Martin Pol 著,富野壽監訳
「テストプロセス改善 -CMM流 実務モデル-」から引用
TPIでの成熟度の見える化
0 1 2 3 4 5 6 7 8 9 10 11 12 13
制御されたレベル コントトールされたレベル 最適化したレベル
A B C D
A B
A B C D
A B
A B
A B
A B C D
A B C
A B C
A
A B C
A B C
A B C
A B C
A B C D
A B C
A B C D
A B C
A B
A B C
2015/9/28 ©Akira Ikeda 15
【キーエリア】
テスト戦略
ライフサイクルモデル
関与の時点
見積りと計画
テスト仕様化技法
静的テスト技法
尺度
テストツール
テスト環境
オフィス環境
コミットメントと意欲
テスト役割と訓練
方法論の範囲
コミュニケーション
報告
欠陥管理
テストウェア管理
テストプロセス管理
評価
低位レベルテスト
【スケール】
この例からどのよ
うなことを読み取
りますか?
TPIによる基本的な改善サイクル
キーエリアごとに
レベル判定
テスト成熟度マトリックスに
マッピング
次に手をつけるべき
キーエリアとレベルを決定
計画化
実践
実践結果の整理
2015/9/28 ©Akira Ikeda 16
• テストのプロセスを段階的に改善するための技法
• CMMiのテスト技術分野を補完するもので,CMMiと同じく
5段階の水準とそのゴールで構成し,アセスメントにより
成熟度を判定する
2015/9/28 ©Akira Ikeda 17
TMMiのモデル
成熟度レベル
プロセスエリア1 プロセスエリア2
スペシフィック
ゴール
スペシフィック
プラクティス
ジェネリック
ゴール
ジェネリック
プラクティス
プロセスエリアn
2015/9/28 ©Akira Ikeda 18
TMMiの成熟度レベル
Initial(初期)
Managed(管理された)
Defined(定義された)
Measured(測定された)
Optimization(最適化)
2015/9/28 ©Akira Ikeda 19
TMMi Foudation 著
「TMMi Reference Model r1 」から引用,訳
TMMi モデルの構成要素
•それぞれの成熟度レベルに設定された改善対象となるプロセス
•各プロセスエリアには「目的」「イントロダクションノート」「スコープ」が設定され,複
数のスペシフィック/ジェネリックゴールを持つ
•あるプロセスエリアを達成するためには,このゴールを満足しなければならない
プロセスエリア
•スペシフィックゴールとはそのプロセスエリア固有のプラクティス目標
•ジェネリックゴールとはそのプロセスエリア固有ではない共通的なプラクティス目標
•それらスペシフィックゴールとジェネリックゴールには,それを達成するために必要な「プ
ラクティス」が設定されている
スペシフィック/ジェ
ネリックゴール
•スペシフィックゴール/ジェネリックゴールを達成するためのプラクティス項目
•プラクティスには,その達成を助けるための情報として「成果物の例」「サブプラクティ
ス」「ジェネリックプラクティスの詳細」「参考情報」が示される
スペシフィック/ジェ
ネリックプラクティス
2015/9/28 ©Akira Ikeda 20
例えば,レベル2は「テストポリシーと戦略」「テスト計画」「テストのモニタリ
ングとコントロール」「テストの設計と実行」「テスト環境」をもつ
TMMi での成熟度の見える化
2015/9/28 ©Akira Ikeda 21
いまのところ,
まだレベル2にいる
もう少しで
レベル3達成!
 まずは達成したPAをモデルに
塗っていくことで見える化できる
 実際には,「成熟度レベル」,
「スペシフィック/ジェネリックゴール」,
「プラクティス」の表を作って
塗りつぶしていくのがわかりやすい
(参考)
TMMiによる基本的な改善サイクル
アセッサーによるアセスメント
(プロセスエリアごとに
ゴール達成判定)
TMMiモデルにマッピング
次に手をつけるべき
プロセスエリアとゴールを決定
計画化
実践
実践結果の整理
2015/9/28 ©Akira Ikeda 22
これまでの話をまとめます
2015/9/28 ©Akira Ikeda 23
再掲:テストプロセス改善技術の概要
•Tmapというテストプロセスの方法論をベースとしている技法
•テストプロセスを20のキーエリアに分け,それぞれおよび全体に対してプロセス
の成熟度を判定する
•現在は最新版である TPI NEXT がある
TPI
•テストのプロセスを段階的に改善するための技法
•CMMiのテスト技術分野を補完するもので,CMMiと同じく5段階の水準とそのゴー
ルで構成し,アセスメントにより成熟度を判定する
TMMi
2015/9/28 ©Akira Ikeda 24
 (おそらく)日本国内で比較的利用されており,情報を得やすいのは
TMMiとTPIの2つ(CTPやSTEPの情報もあるにはあるが・・・)
※今回はCTP,STEPについては割愛します
TPI vs TMMi ???
TPI(現場主導的)
• 部門や現場,プロジェクトレベルで自律的に継続的改善する,ボトムアップアプロー
チに向いている。
TMMi(第三者評価的)
• 全組織的に成熟度を判定し,改善していきたいプロセスエリアごとに施策を展開して
いくような,トップダウンアプローチに向いている
• CMMiが導入済みであるならば,その仕掛けやノウハウが利用できる
2015/9/28 ©Akira Ikeda 25
• どちらを選択するかは,技術導入しようとする人の立場が上位組織側なのか,現場側
なのかによるところが大きい
• 両方採用してしまうというのもあり
• 現場レベルでは自律的な改善活動を行い,定期的に全社的な状況を把握する,と
いうような使い方ができます。
取り組むにあたって苦労しやすいこと
これまでいくつかの相談を受けてきた経験からいうと,採用が決まったとして,最初はとても苦労する
•テストプロセス改善に“特化して”取り組むと言うことになる
•これまでテストという技術範囲でプロセス改善を考えてきたことがない組織は,TPIのキーエリアやTMMiのプロセスエリアやス
ペシフィックゴールを読み解けないということが起こる
TPIやTMMiでの改善を動かす一回目には,可能な限りテスト技術分野の知識がある人に協力を求めてお
いたほうが良い
•具体的にはISTQB-AL程度の知識は最低限持っている方が良い
•TP・TMMiはリテラシとしてISTQB-AL程度を求めている
•可能であればコンサルタントの力を借りるのが良い
•ただし,現在,国内にテストプロセス改善専門のコンサルタントはあまりいないのではとも思いますので,テストに通じたコン
サルタントとの共同技術開発的なアプローチで仕組みづくりに取り組むといいのかもしれない
2015/9/28 ©Akira Ikeda 26
• テストプロセス改善に取り組むための,前提技術が必要であることは意識しておいた
方がよい
• 前提技術が無い場合,それも合わせて勉強していくことを計画しておくこと!
(最低限ISTQB用語集の用語がわかる程度はないとTPI・TMMiの文書が読めない)
簡単に説明しました。
是非,詳細を関連の文献等で参照下さい。
そこには日々の業務改善のヒントが沢山あります!

テストプロセス改善技術の概要