テストプロセスの改善
-
テストプロセスの改善がなぜ重要か。
それは、テストはプロジェクトのコスト全体の中で大きな割合を占めるためである。さらに、ソフトウェアの品質は、開発プロセスに影響されるという前提がある。そのもとで、品質を改善することでソフトウェアを保守するためのリソースを削減できる。 -
テストプロセスの改善のモデルには、以下がある。
TMMi
TPI Next
CTP
STEP
テスト改善プロセス
改善の手順
1.現状の診断
- 最初にモデルに従い組織のプロセスの成熟度を測定する。
- 具体的には、アセスメントアプローチを用いる。成果物は、テストアセスメントレポートである。ここには、現状のテストプロセスを記載している。そして、改善の余地がある点を記載する。
2.改善計画の確立
- そしてその評価結果に基づいて、モデルがプロセス改善のためのフレームワークを提供する。
- 改善項目のリストを作る。改善項目は、優先度の順に並べる。優先度は、費用対効果、リスク、組織戦略との整合性、利点に基づく。
- さらに、業界標準のモデルがあることで、複数の組織のプロセスを比較するための評価指標を得られる。
3.改善を実行に移す 教育などを導入する
4.効果の確認
プロセス改善活動の合格基準を満たしているかを確認する。加えて、想定外だった利点について確認する。
テスト改善プロセスの種類
2種類ある。
プロセス参照モデルと、コンテンツ参照モデルである。それぞれの概要を見ていく。
ただし、これだけ見ても意味不明だと思われる。後に続く具体的なモデルまで見ることでイメージをつかみやすくなるだろう。
プロセス参照モデル
このモデルは、アセスメントの一部としてプロセスの成熟度の測定指標を含む。さらに、お手本となるモデルと比較することで組織の現状の能力を評価する手段や、組織を評価するためのフレームワークも提供する。
筆者の主観だが、これにはTPI Next, CTPが含まれると思う。
コンテンツ参照モデル
このモデルの目的は、プロセス改善のロードマップを作成すること。さらに、ビジネス指向の評価を提供する。さらに、それに基づき、業界平均に対するベンチマーキングを行うことができる。
例:CTPモデル、STEPモデル
ちなみに
分析的アプローチあるいは振り返りミーティングを行うことにより、モデルを使わないプロセス改善も可能である。
個別のテストプロセス改善のモデル
-
本記事では以下4つを紹介する
TMMi
TPI Next
CTP
STEP -
TMMi, CMMIの特徴は異なる企業間でプロセスの比較をするための標準を提供する点である。比較できることのメリットは、ベンチマーキングができることである。
-
CTP, STEP, TPI Nextの特徴は、プロセス内の実行順序の自由度が高めである点である。
CTP (Critical Test Process)
-
前提:このモデルでは、重要な12のテストプロセスが定められている。そして、最重要なプロセスを正しく実行すれば、テストチームは成功するという発想のモデルである。
-
12のプロセスは4つのグループに分けられている。
-
実行するテスト作業を正しく理解する
状況発見プロセス(プロセス2)
品質リスクの分析プロセス(プロセス3)
見積もりのプロセス(プロセス4)
テスト計画プロセス(プロセス5) -
手直しと改善を進める
バグの報告プロセス(プロセス10)
テスト結果の報告プロセス(プロセス11)
変更管理プロセス(プロセス12) -
要員を確保し、テストを準備する
チーム編成のプロセス(プロセス6)
テストシステムの準備と実装のプロセス(プロセス7) -
テストを実施し、その結果を収集する
テストリリースのプロセス(プロセス8)
テスト実行プロセス(プロセス9)
-
-
そして、現状のテストプロセスが、各プロセスを満たしているかをチェックリストに基づき評価する
-
不十分なプロセスを特定し、改善するスコープを定める。ただし、改善するべきもの間で改善の順序は、モデル内で規定しない。組織のニーズに合わせて優先度を決められる。
-
このモデルのメリット
- 評価者や管理者が評価を下す際に注目しやすいプロセスと、組織の利益に影響するミッションクリティカルなプロセスを特定できるようになることだ
- さらに、様々なソフトウェア開発プロセス(ウォーターフォールやアジャイル)に使える
- 組織固有のニーズに合わせて、改善案の優先度をつけられる
STEP (Systematic Test and Evaluation Process)
- 特徴は、
要件ベーストテストに注目する点
さらに、テスト駆動型開発を推奨している。つまりコーディングの前にテストのためのタスクを開始すべきという思想がある。 - 成熟度や定められたステップはない。そのため、他のプロセス改善モデルと組み合わせて使用できる。例:TMMiと組み合わせて強みを利用する。
TMMi(Test Maturity Model integration)
-
5段階でテストプロセスの成熟度を測定する。
-
公式な文書、体系的なプロセス テストとデバッグの区別 テストの目的
レベル1 初期
レベル2 管理された
レベル3 定義された
レベル4 測定できている
レベル5 最適化された
TPI Next (Test Process Improvement Next)
-
ビジネスでの目標と一貫性があるように、テストプロセスを改善するというアプローチ
-
システムテスト、ユーザー受け入れテストに焦点あてる
-
キーエリアという概念がある。これはTPI Nextが注目するテストプロセスの要素である。全部で16エリアある。さらに、1エリアにつきレベルが定義されている。レベルとは、初期レベル、コントロールレベル、効率化レベル、最適化レベルである。さらに1レベルに3, 4つのチェックポイントが定義されている。
例:
利害関係者のコミットメント > コントロールレベル 「利害関係者は、合意したリソースを使えるように準備することでテストプロセスにコミットする」> チェックポイント1.「責任者が決定され、テスト担当者に周知されている」、 2.「テストリソースに対する予算は責任者が認めるものであり、交渉も可能である」、3.「利害関係者はリソースを実際に手配している」...
キーエリアとチェックポイントについては以下の資料が分かりやすかったです
- このキーエリアと対応するチェックポイントが定義されている。チェックポイントに基づき、テストプロセスの成熟度を測定し、改善の余地のあるエリアを特定する。
- さらに、ビジネス面の目的に従い、重要度の高いキーエリアを特定する。
参考資料
TMMi 公式ドキュメント
TPI Nextの中身を分かりやすく記載している
STEP
CTP