【連載】

実践ソフトウェアテスト考現学

20 ソフトウェアテストのトレンドをチェック! (3)テストプロセス改善手法

20/28

本連載では、開発プロセスの中でも重要な位置を占めるテストプロセスに着目し、全体最適を実現させるために、どのように現実のテストプロセスに取り組んでいくべきかを考察しています。今回も前回に引き続きソフトウェアテストのトレンドにフォーカスを当て、テストプロセス改善手法である「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月発刊)
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。

20/28

インデックス

連載目次
第28回 5段階のスクリプティングレベル
第27回 キャプチャ/プレイバックツールを使いこなすためのコツ
第26回 ソフトウェアテスト自動化ツール(3)
第25回 ソフトウェアテスト自動化ツール(2)
第24回 ソフトウェアテスト自動化ツール(1)
第23回 ソフトウェアテストのトレンドをチェック! (6)テストケース生成「MBT」
第22回 ソフトウェアテストのトレンドをチェック! (5)テスト技法「HAYST法」
第21回 ソフトウェアテストのトレンドをチェック! (4)テスト技法「マインドマップの適用」
第20回 ソフトウェアテストのトレンドをチェック! (3)テストプロセス改善手法
第19回 ソフトウェアテストのトレンドをチェック! (2)方法論「STEP」
第18回 ソフトウェアテストのトレンドをチェック! (1)方法論「Agile Testing」
第17回 コーディネートした結果を合意する
第16回 開発の各役割が行うテストのコーディネート
第15回 新しいアプローチは既存の枠組みを見直すための手段
第14回 すべてのテストを自動化するのは現実的じゃない
第13回 「ゴミの分別」と「効率の悪いテスト」の関連性
第12回 テストの新たなアプローチ - 複数の視点の組み合わせ
第11回 テストの新たなアプローチ - レビュー(2)
第10回 テストの新たなアプローチ - レビュー(1)
第9回 テストの新たなアプローチ - "テストレベルの分割"と"開発者以外がテスト"
第8回 テスト戦略のパラダイムシフト - 個別最適から全体最適へ
第7回 戦略を立ててもうまく行かない時の「もどかしさ」、感じてませんか?
第6回 ソフトウェア工学に見るテスト戦略の4つの原則
第5回 開発プロジェクでの勝つための決め手となる「テスト戦略」とは?
第4回 「テストの最適化」はシステム開発成功への近道
第3回 調査だけではわからないシステム開発の実態
第2回 調査から見る日本のシステムのクオリティ
第1回 立場によって異なるテストに対する思い

もっと見る



人気記事

一覧

イチオシ記事

新着記事