本連載では、開発プロセスの中でも重要な位置を占めるテストプロセスに着目し、全体最適を実現させるために、どのように現実のテストプロセスに取り組んでいくべきかを考察しています。今回も前回に引き続きソフトウェアテストのトレンドにフォーカスを当て、テストプロセス改善手法である「TMMi」と「TPI」について解説します。

TMMi

TMMiはTesting Maturity Model integlationの略です。ソフトウェア開発プロセスの成熟度を段階的に定義した手法であるCMMI:Capability Maturity Model Integrationを導入する上で、テストプロセスの改善を補完するためのモデルです。これはイリノイ大学のIlene Burnstein 博士を中心に提案されました。

提案された当時は、ソフトウェアに特化したSW-CMMに対応して「TMM」とされていましたが、SW-CMMがCMMIへと拡張されたことに伴って「TMMi」となりました。

TMMが提案された理由としては、CMMがソフトウェアプロセス全般を取り扱っているためテストプロセスの具体的な記述に乏しく、実際にテストプロセス改善を行うためのノウハウに対するニーズがあったということが挙げられます。

TMMを用いたテストプロセス改善はCMMと連動させることが想定されているため、以下の図のようにCMM同様にプロセスの成熟度を5段階で表現しています。

CMMとTMMの定義(出典:『情報処理 Vol.49 No.2 Feb. 2008 P.133-139、大西建児/湯本剛、情報処理学会』図4、図5)。本稿では、この文献のTPIとTMMの説明個所を元に筆者が加筆・修正しました

TPI

これはTest Process Improvement(『テストプロセス改善』Tim Koomen/Martin Pol著、共立出版刊)の略で、TMMのように特定のソフトウェアプロセス改善モデルと直接連携するというよりは、テストプロセス改善に特化したモデルと言えます。

TPIはオランダのIQUIP社(現SOGETI社)のTim Koomen 氏とMartin Pol 氏によって提案された手法で、このIQUIP社が構築したテストプロセスを構造化したモデルのTMap: Test Management approach for structured testing という、独自のテストのための方法論に基づいています。

TPIもTMM同様、テストプロセスの状況を評価し、段階的に改善していく手法ですが、評価手法はTMMと異なり、独自のものを持っています。

TPIについては、「テストプロセス改善」で詳しく紹介されていますので、本稿での説明はこれくらいにしておきますが、それぞれの使い分けについて説明しておきましょう。

TPIのようなアプローチをとれば、まずテストプロセスの改善から行うことができます。これに対してTMMでは、ソフトウェアプロセス改善と連動した改善活動が行えます。

組織の内部リソースだけで改善を実施するならばTPIが適しているでしょうし、CMM同様に外部リソースによる評価を前提にするのであればTMMを適用できるでしょう。つまり、現場主導のボトムアップ的なアプローチならTPIが向いてますし、経営・管理層が主導するならTMMのトップダウン的なアプローチが適していると言えるでしょう。

TMMにせよTPIにせよ、大事なのはテストプロセスを単独で改善するのではなく、ソフトウェアプロセス改善活動の一環として取り組まないと真の改善にはつながらないということです。

執筆者プロフィール

大西建児 (Kenji Onishi)
株式会社豆蔵 シニアコンサルタント。国内電機メーカー、外資系通信機器ベンダーで培ったテストや品質保証などの経験を生かし、テスト手法や技術の普及、発展に取り組む。NPO法人ソフトウェアテスト技術振興協会(ASTER)副理事長。JaSST’08東京 共同実行委員長。著書に「ステップアップのためのソフトウェアテスト実践ガイド」(日経BP社)などがある。

『出典:システム開発ジャーナル Vol.5(2008年7月発刊)
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。