JSTQB(ALTM) シラバス学習:5 テストプロセスの改善
2019.09.08更新
- 5.1 イントロダクション
- 5.2 テストプロセス改善
- 5.2.1 プロセス改善の紹介
- 5.2.2 プロセス改善のタイプ
- 5.3 テストプロセスの改善
- 5.4 TMMiによるテストプロセスの改善
- 5.5 TPI Next によるテストプロセスの改善
- 5.6 CTPによるテストプロセスの改善
- 5.7 STEPによるテストプロセスの改善
5.1 イントロダクション
テストマネージャーはモデルについて精通し、継続的に改善を行うことが大切です。
下記 JaSST'19の資料内(テストプロセスの改善)も参考になります。
http://jasst.jp/symposium/jasst19hokuriku/pdf/S1.pdf
5.2 テストプロセス改善
ソフトウェア開発プロセスを改善するために、プロセス改善技法を使用することができます。ただし、テストプロセスの改善はモデルを使用しなくても、分析的アプローチや振り返りミーティングなどでも達成でき、各組織で改善のために何がより良いアプローチか議論することが大切です。
欠陥は人が作り込みますが、それは作り込む組織のシステムに欠陥があるということでもあり、組織内での議論が必要になります。
ソフトウェアプロセス改善モデル
テスト改善モデル
- TMMI(テスト成熟度モデル統合)
- STEP(体系的テストと評価プロセス)
- CTP(クリティカルテストプロセス)
- TPI Next(Test Process Improvement)
参考書籍
5.2.1 プロセス改善の紹介
ソフトウェア開発プロセスの品質はシステムの品質に大きな影響を与えます。プロセス改善を行うことにより、以下に示すような効果が期待できます。
- ソフトウェア品質の向上
- ソフトウェア維持のリソース削減
- 新ソリューション開発のリソース確保
プロセスモデルの改善では、組織のプロセスの成熟度の測定から開始します。その後、プロセス能力判定やプロセスアセスメントなどにより改善活動を進めます。
5.2.2 プロセス改善のタイプ
アセスメントモデル
一般的に使用されており、実証済みの実践例を使用する標準的なアプローチです。
プロセス改善モデル
- プロセス参照モデル:モデルとの比較やフレームワークから組織の評価を行います。プロセス改善のロードマップも提供します。
- コンテンツ参照モデル:測定指標を用いてベンチマーキングを行うなど、ビジネス指向の評価を行います。プロセス改善のロードマップ作成に使用します。
5.3 テストプロセスの改善
プロセス改善は推奨されるモデルや適切なステップが存在しますので、事前に組織やステークホルダとの合意を行い、適切なステップで進めていく必要があります。
推奨プロセス
- TMMi、CMMI:段階的なモデルでは異なる企業や組織の比較に対応できます。
- STEP、TPI Next、CTP:連続的なモデルでは優先度の高い問題に対応できます。
プロセス改善ロードマップ
- TMMi、TPI Next:テストプロセス改善のためのロードマップを提示できます。
- STEP、CTP:最大の投資効果を受けている部分を判定して、適切なロードマップを採用できます。
プロセス改善ステップ
改善活動を進める合意がされた場合、プロセス改善のステップを決めます。その際、IDEALモデルで定義されているステップを採用できます。
以下のステップを一通り実行した後の進め方は、プロセスモデルごとに異なります。
改善プロセスの開始
改善活動の開始前に以下について決めておきます。
- 目的
- 目標
- 対象範囲
- 改善モデルの選択(公開されているモデルや内部開発)
- 合格基準の定義(基準に基づく測定方法の決定)
現在の状況の診断
アセスメントレポートを作成します(レポートには改善項目リストを含みます)。
テストプロセス改善計画の確立
改善項目リストの優先順位を策定して改善実行の計画を作成します。
優先順位は以下の情報に基づいて設定します。
- 投資効果
- リスク
- 組織戦略
- 利点
改善を推進する活動
以下のようなプロセス改善に必要な活動を導入して展開します。
- トレーニング
- メンタリング
- プロセスのガイド
改善プログラムからの学習
プロセス改善をすべて展開したら、合格基準を達成していることを確認します。
また、事前に合意した利点や予測していなかった利点を確認します。
5.4 TMMiによるテストプロセスの改善
TMMiには5つの成熟度レベルがありCMMIを補間します。
成熟度レベル
成熟度のレベルを上げる際には各レベルの目標の85%を満たす必要があります。
レベル1:初期
- 公式な文書や体系的なテストプロセスがない
- テストケースはコーディングの後に開発されデバッグと同じ行為と見なされている
- テストはソフトウェアの動作を証明するものと考えられている
レベル2:管理された
- テストプロセスはデバッグと明確に分離されている
- テストポリシーや目標が設定されている
- 基本的なテストプロセスの導入され活用されている
レベル3:定義された
レベル4:測定された
- 組織レベルでテストプロセスを効率的に測定、マネジメントできている
- 特定のプロジェクトで効率的に適合できた実績がある
レベル5:最適化された
- テストプロセスのアウトプットにより欠陥を予防する手助けができる
- プロセスをより最適化することに焦点が当てられている
引用:TMMi Reference Model - R1.2「2.1 Overview」
ドキュメント
TMMiの様々なドキュメントは以下からダウンロードできます。
https://www.tmmi.org/tmmi-documents/
5.5 TPI Next によるテストプロセスの改善
成熟度を視覚化することで改善目的を明確にして、組織の状況に応じたフィードバックができます。
特徴
- 4つの成熟度レベルが定義されています。
- 16のキーエリアがあり、各キーエリアはテストプロセスの特定の側面をカバーしています。
- キーエリアのチェックポイントを検証することにより、カバーする成熟度マトリクスによる要約や視覚化ができます。
- すべてのソフトウェアプロセス改善モデルから独立しています。
- テストエンジニアリングの側面と管理者の意思決定支援の両面をカバーしています。
成熟度レベル
4つの成熟度レベルが定義されています。
- 初期
- 制御された
- 効率的な
- 最適化している
ドキュメント
TPI Nextの様々なドキュメントは以下からダウンロードできます。
http://www.tmap.net/tpi-downloads
5.6 CTPによるテストプロセスの改善
CTPによるテストプロセスの改善では、最重要なテストプロセスが特定されていることが前提となります。課題、優れたプロセス、改善順序や重要性など、状況に応じた改善に対応ができます。
特徴
5.7 STEPによるテストプロセスの改善
STEPはCTPと同様に特定の順序で行う必要はありません。TPI Nextと組み合わせて使用することができます。
特徴
- コンテンツ参照モデル
- 要件ベースのテスト戦略(コーディングの前にテストすることによる要求仕様の妥当性判断)
- ライサイクルの開始時からテストを行う
- テストウェアの設計をソフトウェアの設計より先に行う
- 欠陥を早期に検出するか予防する
- 欠陥を体系的に分析する
- テスト担当者と開発者の共同作業