テストプロセスの改善 JSTQB Advanced Levelテストマネージャ資格のキーワード解説!
テストプロセス改善の概要
プロセス改善に活用できるモデルは以下の通りです。
- 能力成熟度モデル統合(CMMI)
- クリティカルテストプロセス(CTP)
- 体系的テストと評価プロセス(STEP)
- テスト成熟度モデル統合(TMMi)
- TPI Next
テストマネージャーは、テストプロセスの変更や改善の推進役を担います。テストはプロジェクトコストの大部分を占めることが前提です。テストマネージャーは、適切なプロセス改善モデルを選択し(場合によっては選択せず、振り返りミーティングを活用することもあり)、プロセスの改善を行います。
CMMI®とテストプロセス改善
CMMI®のようなソフトウェアプロセス改善モデルではテストプロセスに特化した内容が少ないため、テストプロセスに焦点を当てた改善モデルが存在します。これらはCMMI®を補完する形で以下のようなモデルがあります。
- クリティカルテストプロセス(CTP)
- 体系的テストと評価プロセス(STEP)
- テスト成熟度モデル統合(TMMi)
- TPI Next
これらのモデルは、組織横断的なメトリクスを提供し、それらを「ベンチマーク」として比較するために使用できるよう設計されています。
なぜ、テストプロセス改善が必要か
テストプロセス改善では、PDCA(Plan、Do、Check、Act)サイクル、またはデミング改善サイクルが長く用いられており、条件が整えば特に小規模なプロジェクトで効果的です。
プロセス改善の基本として、システム品質が開発プロセスの品質に大きく依存しているという考えがあります。ソフトウェア業界では、品質の向上がメンテナンスコストの削減につながり、将来的な優れたソリューション開発に必要な時間を生み出します。プロセスモデルは組織のプロセス成熟度を評価し、その結果に基づいて改善策の枠組みを提供します。
テストプロセス改善モデルの比較
プロセス改善モデル | プロセス参照 段階 | プロセス参照 連続 | コンテンツ参照 | 説明 |
---|---|---|---|---|
テスト成熟度モデル(TMM/TMMi) | ○ | × | △ | 5段階の成熟度レベル。CMM/CMMIをテストに特化 |
TPI Next | × | ◯ | - | 3つの観点で16個のキー領域を評定。3段階 |
クリティカルテストプロセス(CTP) | - | - | ◯ | 3段階の成熟度レベル。進捗表現。クリティカルテストプロセス。12個のプロセス領域。 |
体系的テストと評価プロセス(STEP) | - | - | ◯ | 体系的アプローチ評価プロセス。評価・検証・測定の3つのフェーズ。 |
IDEALフレームワークによるソフトウェアプロセス改善
IDEALはソフトウェアプロセス改善のためのフレームワークとして知られており、以下の5つのフェーズから成り立っています。
IDEALの60秒動画解説!
1. Initiating (開始)
改善活動の開始を正式に決定し、その必要性を全体に認識させるフェーズです。
ステークホルダ間で改善について下記の合意を得ます。
- 目的
- 目標
- 対象範囲
- 適用範囲
この段階で、CTP、STEP、TMMi、TPI Nextなどのモデルもしくは社内で定義したモデルからプロセス改善モデルを選択します。さらに、改善活動を測定するための合格基準を事前に定義することが重要です。
2. Diagnosing (診断)
現在実施されているソフトウェアプロセスを詳細に評価し、問題点や改善すべき領域を特定します。
テストアセスメントレポートを作成します。内容は下記の通りです。
- テストにおける慣例
- 見込めるプロセス改善項目
3. Establishing (設定)
診断の結果をもとに、具体的な改善の目標を設定し、それを達成するための計画を策定します。
プロセス改善項目リストは、優先度の順に並べます。この順序は、下記に基づいて設定できます。
- 投資効果
- リスク
- 組織戦略との整合性
- 測定可能な定量的または定性的な利点
4. Acting (実行)
策定された計画に従って、具体的な改善活動を実施します。
必要なトレーニングやメンタリング、プロセスのガイドなどを導入します。
5. Learning (学習)
改善活動の結果を評価し、その反省点や学びを次のステップに活かすための決定をします。
- 改善の前に合意した利点を確認
- 予測していなかった利点を確認
- プロセス改善活動の合格基準に合致しているか評価
TMMi: テストプロセスの成熟度を高めるフレームワーク
TMMiは、組織のテストプロセスの成熟度を段階的に評価し改善するためのフレームワークです。CMMiに基づいて開発されたこのモデルは、テストプロセスを効率的かつ効果的に実施することで、製品の品質向上を目指します。
TMMiの60秒動画解説!
TMMiの成熟度レベル
-
初期レベル(Level 1 - Initial)
テストプロセスが非公式で、しばしば混沌としている状態です。
- テストケースは一般的に、コーディングの後、アドホックに作成
- テストはデバッグと同じ行為とされる
- テストは、ソフトウェアの動作を証明するもの
-
管理されたプロセス(Level 2 - Managed)
テストは計画的に管理されていますが、組織全体での一貫性はまだありません。- テストプロセスはデバッグから明確に分離
- テストポリシーが設定
- 目標が設定
- 基本的なテストプロセス(たとえばテスト計画など)が導入
- 基本的なテスト技法および手法の活用がされている
-
定義されたプロセス(Level 3 - Defined)
テストプロセスが組織全体で標準化され、文書化されています。
- 標準ドキュメントがあり、進め方・手法が公式化
- レビューが実行されている
- コントロールされている
- モニタリングされている
-
測定と管理(Level 4 - Measurement and Control)
テストプロセスと製品の品質が定量的に測定され、管理されています。- 組織レベルで効率的に測定
- 組織レベルで効率的にマネジメント
- 特定のプロジェクトで効率的に適合されている
-
最適化(Level 5 - Optimization)
継続的な改善が行われ、イノベーションと最適化が取り入れられています。- テストプロセスのアウトプットを使い欠陥を予防
- 確立したプロセスをより最適化している
各レベルには達成すべき特定の目標が設定されており、組織はこれらの目標に沿ってテストプロセスの改善を進めていきます。TMMiを採用することで、テスト活動をより成熟させ、最終的な製品の品質を高めることができると期待されています。
TPI Next: テストプロセスの成熟度を高めるフレームワーク
TPI Nextは、テストプロセスの改善に特化したモデルの1つであり、テストプロセスの現状評価と改善策の特定・実施のためのフレームワークを提供します。
TPI Nextの60秒動画解説!
主な特徴
- 成熟度モデル: テストプロセスの成熟度を評価するためのキー領域とチェックポイントを定義。
- 改善の方向性: 評価の結果に基づいて、具体的な改善策を導出し、優先順位をつけることができる。
- ビジネスの価値: ビジネスのニーズと目標に合わせてテストプロセスを最適化することを重視。
16のキー領域
TPI Nextは、特定のキー領域に焦点を当て、それぞれの領域におけるテストプロセスの成熟度を評価します。これにより、組織はどの領域が改善の機会を持っているかを特定することができます。
利害関係者との関係
- 利害関係者のコミットメント
- 関与の度合い
- テスト戦略
- テスト組織
- コミュニケーション
- 報告
テスト管理
- テストプロセス管理
- 見積もりと計画
- メトリクス
- 欠陥管理
- テストウェア管理
テスト業務の専門性
- 手法の実践
- テスト担当者のプロ意識
- テストケース設計
- テストツール
- テスト環境
レベル
- Level.0 初期
- Level.1 制御された
- Level.2 効率的な
- Level.3 最適化している
なぜTPI Nextが必要か
- テストプロセスの効果性と効率性を向上させることで、製品の品質を高める。
- リスクを最小化し、コストを削減。
- ビジネスのニーズに応じてテストプロセスを適応させることで、競争力を維持・強化。
TPI Nextのテスト成熟度マトリクス
TPI Nextのテスト成熟度マトリクスは、特定のキーエリアと成熟度レベルを組み合わせて、各組み合わせに対応する具体的なチェックポイントを提供します。これにより、組織はテストプロセスの現状と改善の方向性を明確に理解し、具体的なアクションを計画することができます。
クリティカルテストプロセス (CTP)
クリティカルテストプロセス(CTP)は、テストプロセスの質を向上させるためのアプローチで、テスト活動の最も重要な側面に焦点を当て、それらを改善することを目指します。CTPは、効率的で効果的なテストプロセスを実現し、より高い品質のソフトウェア製品を提供するために使用されます。
クリティカルテストプロセス (CTP)の60秒動画解説!
CTPの主要なプロセス
-
テストプロセスの評価
現在のテストプロセスを詳細に評価し、強みと弱みを特定します。 -
改善の優先順位付け
最も影響力のある改善分野に優先順位をつけます。 -
改善プランの策定
選ばれたクリティカルエリアに対する具体的な改善プランを立てます。 -
実施とモニタリング
改善プランを実行し、進捗をモニタリングします。 -
効果の評価
改善活動の効果を評価し、さらなる改善のためのフィードバックを提供します。
CTPによる改善活動は、テストプロセスの全体的な成熟度を高めることを目指し、テストの計画、実行、管理にわたる各段階において実施されます。組織の特定のニーズに合わせてカスタマイズされ、継続的なプロセス改善を通じて、テストの品質と効率を持続的に向上させます。
体系的テスト評価プロセス(STEP)
STEPは、構造化されたテスト方法論であり、テストプロセスの改善に際してコンテントベースモデル(コンテンツ参照モデル)として利用されることが多い。
体系的テスト評価プロセス(STEP)の60秒動画解説!
主な特徴
- 評価: 組織の現在のテストプロセスの成熟度や効果を評価します。
- ギャップ分析: 現状と理想的なテストプロセスとのギャップを明らかにし、改善点を特定します。
- 推奨アクション: 評価結果に基づき、具体的なアクション項目や改善計画を提案します。
利点
- 組織内のテストプロセスの透明性を高めることができます。
- 改善のための方向性や優先順位を明確にすることができます。
- 継続的な改善を促進し、テスト品質を向上させることができます。
STEPの基本的な前提
シラバスによると、STEPにおける基本的な前提として以下のポイントが挙げられています。
-
要件ベースのテスト戦略:
STEPは要件に基づいたテスト戦略を採用しています。 -
テストの開始:
ソフトウェアやシステムの開発ライフサイクルが始まると同時にテストも開始されます。 -
モデルの使用:
テストは、要件や利用方法を示すモデルとして機能します。 -
テストウェアの設計:
テストウェアの設計フェーズが、ソフトウェアの設計フェーズを先導します。 -
欠陥の検出と予防:
STEPのアプローチは、欠陥を早期に検出すること、またはそれらを予防することに重点を置いています。 -
欠陥の体系的な分析:
検出された欠陥は体系的に分析され、その原因や影響を理解することが求められます。 -
共同作業:
テスト担当者と開発者は、プロジェクト全体を通して密接に連携し、共同で作業を進めます。
このような前提のもとで、STEPはソフトウェアやシステムのテストと評価のプロセスを効果的に支援します。
定性的メトリクスの例
- 定義されたテストプロセスの利用状況
- 顧客満足度
Discussion