テストプロセスの改善
テストのプロセスを改善することで、リソースの有効活用とソフトウェアの品質向上が見込めます。
一般的なプロセス改善にはデミング改善サイクルがあります。
これは、テストのプロセスを改善するのにも利用できます。
デミング改善サイクル
デミング改善サイクルは、プロセスを改善モデルで、Plan・Do・Check・Actionの4つのサイクルがあります。
PDCAサイクルともいい、この4つのサイクルを継続的に実施していきます。

デミング改善サイクルの詳細を以下に記載します。
Plan(計画)
プロセスの問題を特定して、その原因を分析します。分析の結果からプロセスを改善するためのに必要な目標を設定して、達成するための計画を立てます。
プロセスを改善するのに必要なデータ収集や現状のプロセスを把握することが重要です。
Do(実行)
計画で立てた改善策を実際に実行し、プロセスの問題が解決するか確認していきます。 この段階では、実行した改善策の効果を観察して記録していきます。
Check(評価)
実行した改善策の結果を評価して、目標と比較して効果を確認します。
この段階では、データの分析や結果のレビューが行われ、改善策が予定通りに機能しているかチェックします。
Action(改善)
評価から実際のプロセスに取り込むか検討します。
計画で立てた目標に達成して、改善していると評価されれば今後のプロセスに組み込みます。
プロセス改善のタイプ
プロセス改善のタイプには、プロセス参照モデルとコンテンツ参照モデルがあります。
-
プロセス参照モデル
元となるプロセスを定義して、それに近づくようにプロセスを改善していきます。
-
コンテンツ参照モデル
プロセス改善に理想的な行動や作業を定義して、それを実行していきます。
プロセス改善の種別
プロセス改善の種別には、組織のレベルを成熟度で表して段階的に実施していく段階モデルと組織が改善したい領域を優先して改善していく連続モデルがあります。
テストプロセス改善
テストプロセスの改善は、モデルやフレームワークの使用や分析的アプローチや振り返りミーティングで改善していきます。
テストプロセスの改善のフレームワークとして、IDEALモデルがあります。
IDEALモデルは、5つのフェーズでフェーズの頭文字をとってIDEALになっています。
IDEALは以下の流れです。
改善プロセスの開始(Initiating)
プロセス改善の必要性を確認して、目標や合格基準などを定義しておきます。
改善モデルを選択します。
現在の状況の診断(Diagnosing)
現在の状況を診断して評価を行います。
改善プロセスの開始で合意したレポートを作成して、改善の対象となるプロセスの問題点や弱点を特定し、改善が必要な領域を明確にします。
テストプロセス改善計画の確立(Establishing)
改善策の計画を立てる段階です。優先度順にして費用対効果やリスク、戦略との整合性をチェックします。
具体的な目標と改善アクションを設定し、スケジュールとリソースの割り当てなどプロセス改善の計画を行います。
改善を推進する活動(Acting)
テストプロセス改善計画の確立した目標と改善アクションを実行します。
進捗もモニタリングし、必要に応じて対応策を行います。
改善プログラムからの学習(Learning)
改善活動の成果をレビューします。
レビューでは、改善プロセスの開始で定義した目標の達成や合格基準に合致しているか確認します。
改善モデル
IDEALの改善プロセスの開始で選択する改善モデルについて記載します。
改善モデルを以下に記載します。
CMMI
CMMI(Capability Maturity Model Integration)は、プロセス改善のための段階モデルです。
プロセスの品質を向上させるためのフレームワークです。
CMMIには、5つの成熟度レベルがあります。
-
レベル1:初期段階
プロセスが無秩序で、安定していない段階
-
レベル2:管理された段階
プロジェクトレベルでプロセスが管理されて、計画に基づいて進行している段階
-
レベル3:定義された段階
組織全体で標準化されたプロセスが確立された段階
-
レベル4:量的に管理された段階
プロセスが定量的に測定されて管理された段階
-
レベル5:最適化された段階
継続的なプロセス改善に焦点が当たり、プロアクティブな改善活動が行われている段階
CMMIモデルには、特定のプロセス領域(プロジェクトマネジメント、プロセスマネジメント、エンジニアリング、サポート)ごとに設定された目標と実践があります。
CMMIはソフトウェアテストに特化したものではなく、ソフトウェア開発・ハードウェア開発・製造プロセス・サービス業務にも利用できます。
-
品質向上
プロセスの成熟度を上げることで、製品やサービスの品質が向上します。
-
効率化
標準化されたプロセスにより、効率的なプロジェクト運営が可能となります。
-
リスク管理
プロセスの測定と管理が進行中のリスクを早期に察知し、対応策を講じる役立ちます。
TMMi
TMMi(Test Maturity Model integration)は、CMMIをソフトウェアテストのプロセス改善に特化した段階モデルです。
組織がどのような位置か判定してテストプロセスを改善します。
CMMIを補完していて、CMMIと同様に5つの成熟度があって組織が次のレベルに進むには目標の85%を満たす必要があります。
TMMiの成熟度レベルは以下です。
-
レベル1:初期段階
公式な文書も体系的なテストプロセスもない段階
-
レベル2:管理された段階
テストプロセス、デバッグが明確に分離された段階
-
レベル3:定義された段階
テストプロセスの標準ドキュメントなどが作成された段階
-
レベル4:測定された段階
定義されたテストプロセスに対して、測定・マネジメントされた段階
-
レベル5:最適化された段階
確立したプロセスをより最適化していくことに焦点を当てたた段階
成熟度レベルごとにプロセスエリアを定義して、ゴール(共通と固有)を決定します。
成熟度レベル1にはプロセスエリア(PA)がなく、レベルごとの全てのプロセスを達成するとそのレベルの状態になります。

SPICE
SPICEは、国際規格のISO/IEC 33063:2015でソフトウェアプロセスのアセスメントのためのフレームワークです。
連続モデルで、3つのプロセスグループに8つのプロセスが定義されています。
プロセス能力水準としてレベル0~5までが定義されています。
- レベル0:不完全なプロセス
- レベル1:定義されたプロセス
- レベル2:管理されたプロセス
- レベル3:確立されたプロセス
- レベル4:予測可能なプロセス
- レベル5:革新的なプロセス
体系的テストと評価プロセス(STEP)
STEP (Systematic Test and Evaluation Process)は、要件ベースのテスト戦略を採用したた連続的なコンテンツ参照モデルです。
ソフトウェアライフサイクル全体で利用でき、ソフトウェアライフサイクルの開始時に初めて特定の順序で改善を進める必要がない柔軟なアプローチを提供します。
投資効果がどの部分で得ているか判定します。
ソフトウェア開発プロジェクトの品質を向上させて、リリース前の不具合を最小限に抑えることを目的としています。
テストしてからコーディング(テスト駆動開発)することを重視し、テスト担当者と開発者が共同で作業する前提とします。
STEPは以下の流れで実施します。
ステップ1 | 戦略の立案 |
---|---|
P1 | マスターテスト計画の確立 |
P2 | 詳細なテスト計画の策定 |
ステップ2 | テストウェアの取得 |
A1 | テスト目的のインベントリ(要件ベース、設計ベース、実装ベース) |
A2 | テストの設計(アーキテクチャと環境、要件ベース、設計ベース、実装ベース) |
A3 | 計画と設計の実装 |
ステップ3 | 行動の測定 |
M1 | テストの実行 |
M2 | テストセットの適合性確認 |
M3 | ソフトウェアとテストプロセスの評価 |
STEPで用いられるメトリクスは以下になります。
- ユーザー満足度
- ユーザビリティ
- 信頼性
- メンテナンス性
- 拡張性
- セキュリティ
- 相互運用性
- ユーザーインターフェース
クリティカルテストプロセス(CTP)
CTPは、テストプロセスが最重要(クリティカル)とした考えで、12のクリティカルテストプロセスを識別する連続的なコンテンツ参照モデルです。
投資効果がどの部分で得ているか判定します。
業界平均を評価基準のベンチマークとしています。
すべてのソフトウェア開発ライフサイクルモデルに適用可能です。
以下のように4つのステップで実行されます。

4つのステップは、4つのステップのテストプロセスと各ステップごとに11のクリティカルテストプロセスが整理されています。
テストプロセス + 11のクリティカルテストプロセスで12のプロセスになります。
各ステップごとのクリティカルテストプロセスを以下に記載します。
- 計画
- 準備
- 実行
- 改善
状況発見プロセス
品質リスクの分析プロセス
見積もりのプロセス
テスト計画プロセス
チーム編成のプロセス
テストシステムの準備と実装のプロセス
テストリリースのプロセス
テスト実行プロセス
バグの報告プロセス
テスト結果の報告プロセス
変更管理プロセス
TPI Next
TPI NEXTとは、連続的モデルで4つの成熟度レベルと3つのグループで16のキーエリアを定義します。
現状を確認し、診断してその結果から改善していきます。
組織がどのような位置か判定してテストプロセスを改善します。
3つのグループには利害関係者との関係(SR)とテスト管理(TM)とテスト業務の専門性(TP)があります。
4つの成熟度は、初期・制御された・効率的な・最適化されたで、16のキーエリアを利用した診断結果は以下のようになります。
グループ | キーエリア | NML | 初期 | 制御された | 効率的な | 最適化された |
---|---|---|---|---|---|---|
SR | 利害関係者のコミットメント | A | B | C | D | E |
関与の度合い | A | B | C | D | E | |
テスト戦略 | A | B | C | D | E | |
テスト組織 | A | B | C | D | E | |
コミュニケーション | A | B | C | D | E | |
報告 | A | B | C | D | E | |
TM | テストプロセス管理 | A | B | C | D | E |
見積もりと計画 | A | B | C | D | E | |
メトリクス | A | B | C | D | E | |
欠陥管理 | A | B | C | D | E | |
テストウェア管理 | A | B | C | D | E | |
TP | 手法の実践 | A | B | C | D | E |
テスト担当者のプロ意識 | A | B | C | D | E | |
テストケース設計 | A | B | C | D | E | |
テストツール | A | B | C | D | E | |
テスト環境 | A | B | C | D | E |
本表をテスト成熟度マトリクスともいい、プロセス全体の成熟度を評価していきます。