CodeZine(コードジン)

特集ページ一覧

ソフトウェアの「バグをなくせ」と言われたら? テストプロセス改善でバグを削減しよう【方法論を解説】

「テストプロセス改善」をしてバグを削減しよう 第1回

  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

モデルベースドアプローチ(Model-based Approaches)(1)

 モデルベースドアプローチは、モデルに沿ってテストプロセスを改善していくアプローチになります。モデルには、以下の2つがあります。

  1. テストプロセス改善モデル(Test Process Improvement Models)
  2. コンテンツベースドモデル(Content-based Models)

 テストプロセス改善モデルは、大学や研究機関、企業などによって作成されることが多く、あらゆるベストプラクティスが包括的に体系立てられています。また、各要素をどのような順番で改善していくかのステップが規定されています。それに沿ってテストプロセスを改善していけば、確実にテストプロセスを改善することができます。

 ただし、満たされるべき要件は規定されているものの、具体的な作業内容やフォーマットなどは各企業に委ねられています。よって、抽象度が高く汎用性が高いので、あらゆる企業に適用できますが、具体性に欠けるので適用には相応の知識と経験、時間が必要になります。

 コンテンツベースドモデルは、ベストプラクティスを具体的な作業やフォーマットに落とし込んだコンテンツを使用して、テストプロセス改善していきます。具体的な分、すぐに活用できるので、どのようにプロセスを定義して良いか分からない場合や、ベストプラクティスを迅速に取り入れたいときに向いています。

 ただし、具体的であるがゆえに汎用性がテストプロセス改善モデルよりも劣ります。そのため、すでにある程度プロセスやフォーマットを定義している企業にとっては、移行コストやリスクが高くなる場合もあります。

テストプロセス改善モデル(Test Process Improvement Models)

 ISTQB Syllabusでは、主要なテストプロセス改善モデルとしてTPI NextとTMMiの2つを紹介しています。それぞれについて、詳しく見ていきましょう。

TPI Next

 オランダのSogeti社が1998年にTPI NEXTの前身であるTPIを開発しました。その後、10年以上をかけて世界中からTPIの適用事例を集め、より現場にフィットするように改定したのがTPI NEXTです。

 世界中の企業が活用しており、特にヨーロッパの企業から支持されています。「テスト技術者資格制度Advanced Levelシラバス日本語版テストマネージャVersion 2012.J03」の「5.5 TPI Nextによるテストプロセスの改善」の章では、以下のように説明しています。

  TPI Nextモデルは16のキーエリアを定義し、各キーエリアは、テスト戦略、メトリクス、テストツール、テスト環境などテストプロセスの特定の側面をカバーする。このモデルでは、次に示す4つの成熟度レベルを定義している。

  • 初期
  • 制御された
  • 効率的な
  • 最適化している

 各成熟度レベルの各キーエリアを評価するために、特定のチェックポイントを定義している。全てのキーエリアをカバーする成熟度マトリクスを使用して、評価の結果を、要約および視覚化する。改善目的の定義とそれらの導入は、テスト組織のニーズと能力に応じて調整できる。

 ここで重要になってくるのは、テストプロセスを16のキーエリアに分類し、4段階の成熟度によってレベル分けをしたということです。各キーエリアの各レベルには、さらに2~4のチェックポイントがあります。これにより、どの部分ができており、どの部分ができていないか可視化されます。そして、できていない部分を順番に改善していくことで、テストプロセスを改善します(TPI NEXTには、どのような順序で改善していくかを示したクラスターという概念もあります)。

 さらに詳しく知りたい方は、トリフォリオから2015年に出版された『TPI NEXT ビジネス主導のテストプロセス改善』に詳しい解説があるので、参考にすると良いでしょう。また、Sogeti社が提供しているTPI NEXTの診断を支援するツールがあります。ツールには日本語版もあり、こちらからダウンロードできます。TPI NEXT導入時には活用すると良いでしょう。

 なお、筆者は『TPI NEXT ビジネス主導のテストプロセス改善』の翻訳者の方々との勉強会に参加し、TPI NEXT(前バージョンTPIを含める)を、車載系企業、大手電機メーカー、金融系企業に導入した経験があるので、なじみ深いテストプロセス改善モデルになります。

 筆者の経験上、導入企業はどこも大きな効果がありました。冒頭で紹介した市場バグを89.2%改善した事例も、このうちの1つになります。ただし、この事例は、後述するバルテスがテストを体系立てて構築した「QUINTEE」と組み合わせました。本連載の第3回で、改めてTPI NEXTとQUINTEEを組み合わせたテストプロセス改善事例を紹介する予定です。

TMMi

 TMMiは、ソフトウェア開発のプロセス改善モデルであるCMMiに対して、テストプロセスの改善を行うための補足として、イリノイ工科大学が作成したテストプロセス改善モデルです(現在はTMMi-Foundationに移管されている)。ISTQB Syllabusの「3.3.2 The Testing Maturity Model Integration(TMMi)」の章では、以下のように説明しています。

 TMMi [TMMi-Foundation-Web]は、プロセス改善のために、ステージ構造になっている。そして、組織のテストプロセスを成熟度レベルまたはレベルで規定している。成熟度レベルは、場当たり的状態から、以下がある。

  • 初期
  • 管理された
  • 定義された
  • 定量的に管理された
  • 最適化している

 TMMiの5つの成熟レベルは成熟度の階層を定義しており、テストプロセス改善の道筋を示している。(後略)

 ※ISTQB Syllabusを筆者が日本語に訳しました。

 ここで重要になってくるのは、5つの成熟レベルがあるステージ構造になっていることです。つまり、そのレベルで規定されている要件を全て(正確には特定または全般的な目標の85%)満たさないと、そのレベルに達したと言えません。

 例えば、レベル2の管理されたレベルでは、「2.1 テスト方針と戦略(Test Policy and Strategy)」「2.2 テスト計画(Test Planning)」「2.3 テストモニタリングとコントロール (Test Monitoring and Control)」「2.4 テスト設計と実施(Test Design and Execution)」「2.5 テスト環境(Test Environment)」の5つのプロセスエリアがあります。

 レベル2になったと言うには、この5つのプロセスエリアを全て(正確には特定または全般的な目標の85%)満たしている必要があります(ステージモデル:Staged modelと言います)。TPI NEXTは、16のキーエリアごとに成熟度が定義されていた(継続的モデル:Continuous modelと言います)ので、そこが大きな違いになります。

 TMMiは、以下のTMMi FoundationのWebサイトより、無償でダウンロードすることが可能です。ただし、TMMiの日本語版や日本語の解説本は筆者の知る限りありません。ちなみに、対となるCMMiは日本語版や日本語の解説本が複数出版されています。なお、CMMiモデルは、v1.3まで無償でしたが、v2.0から有償になってしまいました。

 筆者は大学時代にプロセス改善の研究をしていたこともあり、CMMiレベル5の会社でCMMiのトレーニングを受け、内部監査員になりました。その後、ITコンサルタントとして、車載系企業にCMMiの導入をコンサルテーションし、レベル3達成の手助けをしたことがあります。その過程で、TMMiについても適宜、参照していました。

 筆者の感想としては、TMMiは重厚なテストプロセス改善で、比較的大きな組織のテストプロセス改善に向いています。重厚な分、改善のために組織力が必要ですが、その分格式が高く組織のアピールにつながる印象です。

 政府主導の大規模プロジェクトなどでは、CMMiやTMMiのレベルが3以上の組織でないと受注できない案件もあります。一方のTPI NEXTは、組織全体にも適用が可能ですが、現場レベルでの適用も可能です。また、必要なところから改善していくことができる手軽さも魅力です。どちらも一長一短があり、組織の課題によって、どちらを選択するか選ぶことになります。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:「テストプロセス改善」をしてバグを削減しよう

著者プロフィール

  • 高木 陽平(VALTES ADVANCED TECHNOLOGY INC.)(タカギ ヨウヘイ)

      東京理科大学大学院 技術経営修士(MOT)卒業。バルテスのフィリピン子会社であるVALTES ADVANCED TECHNOLOGY INC.の取締役。今まで、多数のソフトウェアテストやテストプロセス改善の業務に従事。大学でソフトウェア工学の研究室に入り、プロセス改善を研究。そのこともあり、CM...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5