スキルアップ
TMMiとISO/IEC 29119:敵か味方か?
目次
2013年に初版が発行されたソフトウェアテストにおける国際標準「ISO/IEC 29119」は、現在広く普及しています。この規格が発行された当時、テストプロセス改善モデルとして既に「TPI(Test Process Improvement)」や、本記事で取り上げられている「TMMi」が存在していました。ISO/IEC 29119が発行されたことにより、テストプロセス改善モデルは果たして規格と両立できるのか、あるいは、規格に準拠しつつテストプロセス改善にいかに取り組んでいくべきか、といった疑問が呈されたとしても不思議ではありませんでした。そこで、こういった疑問に答える形でTMMi Foundationから本記事のレポートが公開されました。
「HQW!」では本レポートを取りまとめた Erik van Veenendaal氏から和訳版の公開許諾を得た上で記事化しています。なお、なるべく意訳を挟まないようにしましたが、本レポートが執筆されていた時はISO/IEC 29119が取りまとめられている最中であり、全てのパートがそろった状況ではなかったことを留意してください。ISO/IEC 29119の最新情報は「今さら聞けないソフトウェアテストの国際規格」のシリーズ記事をご覧ください。
序文
新しいISOのテストに対する規格への反対意見が見受けられるが、大きなコミュニティでもISO/IEC 29119が徐々に採用されつつある。各組織はISOのテスト規格を研究し、テストプロセスを標準化し改善するために本標準をどのように使用するかを検討している。このため、多くの実務者から「ISO/IEC 29119とTMMiはどのように関連しているのか」という疑問が投げかけられている。TMMiは何年も前から利用可能であり、世界中のテストプロセス改善のデファクトスタンダードとなっている。この2つのモデルの相違点と重複点(例えば、テストプラクティスの適用範囲)を特定するための分析が実施された。
本稿では、この研究の主な結論といくつかの発見を紹介する。この分析および研究には、13カ国からさまざまな背景や知識を持つ25名のボランティアが参加した。なお、本稿はISO/IEC 29119の品質評価を行うものではないことに留意されたい。
テスト成熟度モデル統合(TMMi)
TMMiフレームワークは、テストプロセス改善のためのガイドラインおよび参照フレームワークとしてTMMi Foundationによって開発されたものであり、CMMIを補完するモデルとして位置付けられ、テストマネージャ、テストエンジニア、およびソフトウェア品質の専門家にとって重要な問題に対処するためのものである。TMMiは、独立したモデルとして使用されることが最も多く、TMMiを適用する際にCMMIを使用する必要はない。TMMiで定義されるテストは、ソフトウェア製品の品質に関連する全ての活動を包含する、最も広い意味で適用される。
CMMIの段階表現と同様に、TMMiもプロセスの評価と改善のために成熟度レベルの概念を用いる。さらに、プロセス領域、ゴール、およびプラクティスが特定される。TMMiの成熟度の基準を適用することで、テストプロセスが改善され、製品品質、テストエンジニアリングの生産性、サイクルタイム工数に好影響を与えることが示されている。TMMiは、テストプロセスの評価と改善を支援するために開発された。
TMMiには、プロセス改善のための段階的アーキテクチャがある。このアーキテクチャには、テストプロセスがアドホックで管理されていないものから、管理され、定義され、測定され、最適化されたものへと進化するときに、組織が通過する段階やレベルが含まれている。各ステージを達成することで、そのステージの全てのゴールが達成され、改善が次のステージの基礎となる。
TMMiの内部構造には、段階的に改善する高品質のテストプロセスをサポートするために、体系的な方法で学習し、適用できるテストのプラクティスが豊富に含まれている。TMMiには、階層的な成熟度としてテストプロセス改善への進化の道筋を規定する5つのレベルがある。各レベルには、当該レベルの成熟度に至るために組織が実施しなければならない、一連のプロセス領域がある。TMMiの各成熟度レベルのプロセス領域を図表1に示す。
TMMiの基本原則は、さまざまなライフサイクルモデルや環境に適用できる汎用的なモデルであることである。TMMiによって定義されたほとんどのゴールとプラクティスは、逐次的ライフサイクルモデルとアジャイル(※1)を含む反復的ライフサイクルモデルの両方に適用できることが示されている。しかし、モデルの最も低いレベルでは、提供されるサブプラクティスや例の多くは、適用されるライフサイクルモデルによって(非常に)異なる。TMMiではゴールだけが必須であり、プラクティスは必須ではないことに注意されたい。
TMMiはTMMi Foundationのウェブサイトで自由に入手できる。このモデルは、スペイン語、フランス語、中国語に翻訳されている。また、TMMiは書籍としても出版されている。
図表1:TMMiの成熟度レベルとプロセス領域
(※1)Foundationの中で、アジャイル環境におけるTMMiに焦点を当てた特別な派生物を開発する特別プロジェクトが立ち上げられた。TMMi Foundationは、新しい成熟度モデルを開発するのではなく、TMMiをアジャイル環境で適用する方法をドキュメント化する。「標準的な」TMMiの各改善目標が、アジャイルライフサイクルのテストにも適用できるかどうかが決定される。目標によっては適用できないものもある。適用可能な各目標について典型的なアジャイルプラクティスと事例を特定し、定義する。
ISO/IEC 29119ソフトウェアテスト規格
国際ワーキンググループによる長年の開発期間を経て、国際標準化機構(ISO)と米国電気電子学会(IEEE)は、ISO/IEC/IEEE 29119ソフトウェアテスト規格として最初の3つのパートを承認し、共同で発行した。この規格は、テストの定義と概念、テストプロセス、テストドキュメント化、テスト技法、キーワード駆動テストの5つのパートに区分されている。パート4(テスト技法)は今年中(訳注:本論執筆当時の2016年を指し、以降も当時の状況が記載されているため注意されたし)に承認される予定で、パート5(キーワード駆動テスト)はその後直ちに利用可能となる。
ISO/IEC 29119は、参照すべき基準として使用されることを意図している。ソフトウェアにおける標準は、全ての組織に益しなくとも、標準化団体より支持された参照すべき基準を求める多くの企業、組織、さらには国がある。厳密な適合がゴールであるISOの要求事項を必要とする組織もあり、規格はこれをもサポートしている。ISO/IEC規格の欠点は入手のしやすさであり、ウェブで自由に入手できない。このためISOのウェブサイトで購入する必要がある。
ISO/IEC 29119の5つのパート:
パート1:概念と定義
このパートでは、テストの用語と概念を紹介している。TMMiモデルとISO/IEC 29119は、その語彙としてISTQBソフトウェアテスト用語集をほぼ再利用している。
パート2:テストプロセス
この規格のパートでは、リスクベースのテストアプローチに基づく、テスト組織、テストのマネジメント、およびテスト実行レベルに対応する、一般的なソフトウェアテストプロセスモデルを定義している。主なテストマネジメントの段階として、テスト計画、モニタリングとコントロール、完了が定義されている。ISO/IEC 29119では、各テストプロセスについて、導入、目的、成果、活動とタスク、情報項目に対するさらに詳しい記述がある。
パート3:テストドキュメンテーション
規格のパート3では、テストドキュメントをパート2のテストプロセスと整合させている。図表2は、パート3で概説され定義されたドキュメントの概要を示している。この規格は、アジャイルソフトウェア開発プロジェクトと従来のソフトウェア開発プロジェクトで、これらのドキュメントがどのように使用できるかの例を示している。このパートは、テストサービスプロバイダーが作成を要求されているドキュメントを定義するためにも使用されることを意図する。
組織的なテストドキュメンテーション | •テストポリシー |
プロジェクトテストドキュメンテーション | •プロジェクトテスト計画 •テストプロジェクト完了レポート |
テストレベルドキュメンテーション | •テスト計画 •テスト仕様 •テスト結果 •アノマリーレポート •レベルテスト進捗レポート •テスト環境レポート •テストレベル完了レポート |
図表2:テストドキュメント候補のリスト
パート4:テスト技術
このパートでは、テストケースの開発を支援するために、構造ベースと仕様ベースのテスト設計技法の定義を提供する。テスト条件、カバレッジアイテム、テストケースを導出するために必要なステップが、それぞれの技法に対して定義されている。
パート5:キーワード駆動テスト
パート5では、キーワードと呼ばれる一般的な構造を用いてソフトウェアテストを定義する。このパートのユーザーは、キーワード駆動型のテスト仕様、対応するフレームワーク、およびこれらのキーワードに基づく自動テストを作成する。TMMiは自動化フレームワークの要件をカバーしていないため、このパートはTMMiとの調査および比較から除外されていることに留意されたい。
テスト改善モデル(TMMi)とコンテンツベースモデル(ISO/IEC 29119)の比較
ISTQBエキスパートレベルのシラバス「テストプロセスの改善」では、テストプロセスの改善に使用するモデルを2種類に分けている。テスト改善モデル(プロセス参照モデルとも呼ばれる)とコンテンツベースモデルである。
TMMiなどのテスト改善モデルでは、一般にモデルの中核を形成する体系的な情報とテストのベストプラクティスを提供する。テスト改善モデルとISO/IEC 29119などのコンテンツベースモデルとの主な違いは、この中核となるテストプロセス情報が、モデルによってどのように活用されるかにある。一般的にコンテンツベースモデルは、さまざまなテストのプラクティスに関する詳細を提供する傾向がある。
テスト改善モデルの場合、テストプロセスの成熟度の定義された尺度が、テストプロセス情報の中核にマッピングされる。いくつかの成熟度レベルが定義され、初期レベルから最適化された成熟度レベルまで、実行される実際のテストタスクと、それらがどの程度適切に実行されているかに応じて、その範囲が定められている。これは、ある成熟度レベルから別の成熟度レベルへ進むことを示すための本モデルに不可欠な特徴である。これによって、プロセス参照モデルとして事前に定義された「規定された」という特性が与えられている。テスト成熟度モデル統合(TMMi)はテスト改善モデルとして明確に分類される。
コンテンツベースモデルもまた、ベストプラクティスの中核を成しているが、異なるプロセス成熟度レベルの概念を実装しておらず、テストプロセスを改善するために取るべき道筋を規定していない。テストプロセスがどの段階にあり、どこを改善すべきかは、利用者の判断に主眼が置かれている。ISO/IEC 29119は、コンテンツベースのモデルと捉えられる。
この違いから学べるのは、TMMiとISO/IEC 29119の両テストモデルは非常に異なる構造を持っており、実際、テストプロセス改善へのアプローチや、おそらくテストプロセス改善における役割が異なるということである。次の図表3は、テスト改善モデルとコンテンツベースモデルの一般的な違いの概要を示している。
各特性 | テスト改善モデル(TMMiなど) | コンテンツベースのモデル(ISO/IEC 29119など) |
---|---|---|
アプローチ | 強力なモデル構造に基づく詳細で事前定義された("規定された")改善アプローチ | 基本的なモデル構造の中で一般的なガイダンスを提供 |
基本となる前提 | "こうすればテストプロセスは改善する" "より成熟したプロセスが、より良い結果をもたらすテストになる" | これらのプラクティスを適切な文脈で適切に適用することは、テストプロセスに利益をもたらす |
改善点の特定 | モデルで改善点が提案される コンテキストに応じた改善案を策定するために必要となるユーザー経験 | ユーザーは、モデルからのガイダンスと、自身の経験やプロジェクトの背景に関する知識を組み合わせる |
改善順序 | モデル全体の定義の中で定義されたパスに従う | テストプロセス改善担当は、コンテンツモデルを、知識と良質なプラクティス情報源としての判断材料とする |
図表3:プロセスモデルとコンテンツモデルの側面
テスト改善モデルとコンテンツベースモデルの特性を組み合わせることもある。例えば、TMMi改善モデルをテストプロセス成熟度のアセスメントで使用し、ISO/IEC 29119コンテンツベースモデルを参考にして、改善案を策定する際にさらなる洞察を得られる。このように、両モデルは高度に補完できる。
テストプラクティスでカバーできること
冒頭ですでに述べたように、ISO/IEC 29119(特にISO/IEC 29119-2)で特定され規定されているテストプロセスと、TMMiで特定され規定されているテストゴールおよびテストプラクティスを比較する詳細かつ広範な調査が実施された。レビューは、ISO/IECのテスト規格ではカバーされていないため、ISO/IEC 20246のワークプロダクトレビュー(※2)にも調査を広げた。
ISO/IEC 20246は、ISOの特定のレビュー専用規格であるため、ISO/IEC 29119の開発期間中のレビューは含めず、レビュープロセスの基礎としてISO/IEC 20246を参照することとした。
(※2)ISO/IEC 20246は現在草案段階であり、まだ発行されていない。
ISO/IEC 29119はレベル4とレベル5のTMMiのゴールとプラクティスをほとんどカバーしていない
調査の最初のステップは、ISO/IEC 29119(図表3参照)で定義されたテストプロセスから開始し、TMMi内で対応するプロセス領域を見つけようとした。もちろん、対応するプロセス領域を見つけたからといって、両者がテストプラクティスに関して同じレベルでカバーすることを意味するわけではないが、2つのモデルを比較するための良い第一歩であり、後続の研究を実施するための構造を提供するものとなる。図表4は、ISO/IEC 29119(およびISO/IEC 20246)の概要を、TMMiのプロセス領域に関連して示している。例えば、テストマネジメントや動的テストに関するISOプロセスは中央部に描かれ、対応するTMMiプロセス領域は左側と右側に緑色で示されている(ポインタ付き)。
図表4:TMMiプロセス領域に関連するISO/IEC 29119(および ISO/IEC 20246)の概要(和訳を割愛)
図表3では、適用範囲と関連性に関する重要な気付きを示している。ISO/IEC 29119(および ISO/IEC 20246)規格を完全にカバーするために必要なのは、TMMiレベル2と3のプロセス分野だけである。TMMiレベル4と5のプロセス領域のゴールとプラクティスは、ISO/IEC 29119内では(完全には)扱われていない。従って、ISO/IEC 29119は、より高いテスト成熟度レベルのテストプラクティスには対応していないと結論付けられる。ISO/IEC 29119の適用範囲は、TMMiレベル2および3の(一部)に限定されている。
ISO/IEC 29119は、TMMiレベル2へ実現できるような実装を提供している
その後より詳細な分析が行われた。分析は詳細なテストプラクティスのレベルに関する調査へと拡張された。対応するISOプロセスがあるというだけではTMMiプロセス領域の全てのゴールとプラクティスが、ISOプロセスによってカバーされていることを意味するものではない。図表5は、TMMiプロセス領域ごとのISO/IEC 29119がカバーする範囲を示している。例えば、TMMiレベル2のプロセス領域である「テスト設計と実行」には、4つのいわゆる固有ゴールがある。
- SG1テスト設計技法を使用したテスト分析と設計の実施
- SG2テスト実装の実施
- SG3テスト実行の実施
- SG4テストインシデントをクローズまでの管理(manage)
図表5:TMMiプロセス領域ごとのISO/IEC 29119がカバーする範囲
図表6から、固有プラクティスを含む4つの固有ゴールは全てISO/IEC 29119でカバーされていることが分かる。しかし、TMMiレベル3のプロセス領域であるテスト組織のゴールは、ISO規格ではわずかしかカバーされていない。
TMMiプロセス領域 | SG1 | SG2 | SG3 | SG4 | SG5 |
---|---|---|---|---|---|
2.1 テストポリシーと戦略 | ● | ● | ◔ | n/a | n/a |
2.2 テスト計画 | ◑ | ● | ◑ | ● | ● |
2.3 テストのモニタリングとコントロール | ◕ | ◕ | ● | n/a | n/a |
2.4 テスト設計と実行 | ● | ● | ● | ● | n/a |
2.5 テスト環境 | ◑ | ● | ◔ | n/a | n/a |
3.1 テスト組織 | ◔ | ◔ | ⚪︎ | ⚪︎ | ⚪︎ |
3.2 テストのトレーニング・プログラム | ⚪︎ | ⚪︎ | n/a | n/a | n/a |
3.3 テストのライフサイクルと統合 | ◑ | ● | ◑ | n/a | n/a |
3.4 非機能テスト | ⚪︎ | ◔ | ◔ | ◔ | ◔ |
3.5 ピアレビュー | ● | n/a | n/a | n/a | |
4.1 テストに対する測定 | ◑ | ◔ | n/a | n/a | n/a |
4.2 製品品質評価 | ⚪︎ | ⚪︎ | n/a | n/a | n/a |
4.3 アドバンスド・レビュー | ◔ | ● | ◕ | n/a | n/a |
5.1 欠陥防止 | ◔ | ⚪︎ | n/a | n/a | n/a |
5.2 品質管理 | ⚪︎ | ⚪︎ | n/a | n/a | n/a |
5.3 テストプロセスの最適化 | ◔ | ⚪︎ | ◔ | ⚪︎ | n/a |
図表6:ISO/IEC 29119とISO/IEC 20246に対するTMMi固有ゴールの詳細分析
図表6から、いくつかの比較的単純な結論を導ける。
TMMi成熟度レベル2では、対応するISOプロセスと活動は、TMMiのプロセス領域とプラクティスをかなりよくカバーしている。裏を返せば、「ISO 29119は、TMMiレベル2で定義されているプラクティスのほとんどに対応する実現できるような実装を提供している」と言えるかもしれない。ここで、本稿の前半で述べた両モデルの構造と背景の違いに戻る。ISO/IEC 29119のコンテンツベースモデルは、TMMiテスト改善モデルを使用したアセスメント中に特定されたギャップを埋めるため、改善提案にて参照できる。両モデルの用語は概ね一貫していることからも、このことが言えよう。
TMMiレベル3は、ISO/IEC 29119シリーズで十分にカバーされていない、テスト組織、テストトレーニング、非機能テストなどのトピックを拡張したものである。TMMiレベル2が、開発ライフサイクルの中で基本的なテスト活動を扱う、非常にプロジェクト指向のレベルであるのに対し、TMMiレベル3は、組織的側面、制度化、支援プロセスを扱う、より組織指向のレベルである。TMMiレベル3の組織指向のプラクティスは、ISO/IEC 29119では明らかに扱われていない(ISO規格によるTMMi共通ゴールのサポート範囲を示す以下の図表7も参照)。その結果、ISO/IEC 29119の活動によってTMMiレベル3のプラクティスがカバーされることはほとんどない。
このことの例外として、プロジェクトテスト計画(TMMiテストライフサイクルと統合プロセス領域の一部)に関するゴールとプラクティスと、ISO/IEC 20246の大部分でカバーされているTMMiプロセス領域のピアレビューが挙げられる。もちろん、プロジェクトテスト計画とピアレビューはどちらもプロジェクト指向のプラクティスであり、これらのプラクティスがなぜISO標準でカバーしているかの理由の説明に成り得るだろう。
TMMiレベル4と5のプラクティスには、ISOの活動に相当するものがほとんどない。これは基本的に前項ですでに述べたことの繰り返しであり、図表7によって可視化されている。唯一の例外は、TMMiレベル4のプロセス領域であるアドバンスドレビューであり、ISO/IEC 20246には対応するいくつかの活動がある。
共通ゴール TMMi | ISO 29119 | ISO 20246 |
---|---|---|
2.1 テストポリシー | ● | ◔ |
2.2 プランニング | ◑ | ◑ |
2.3 リソース | ◕ | ◑ |
2.4 責務 | ◔ | ◔ |
2.5 トレーニング | ◔ | ◔ |
2.6 コンフィギュレーションマネジメント | ⚪︎ | ⚪︎ |
2.7 ステークホルダーによる参画 | ● | ● |
2.8 モニタリングとコントロール | ◑ | ◕ |
2.9 客観的評価 | ◑ | ⚪︎ |
2.10 ハイレベルマネジメント | ◔ | ◔ |
3.1 定義されたプロセス | ◑ | |
3.2 改善 | ◑ | ◑ |
図表7:ISO 29119およびISO 20246に対するTMMi共通ゴールの詳細分析
TMMiはISO 29119-2で定義されている全ての要求事項を完全にカバーしている
前半の分析ではTMMiのゴールとプラクティスを出発点として、対応するISOの活動を見つけようとしたが、本項では別の角度から捉える。
本項ではISOの活動を取り上げ、対応するTMMiのプラクティスを見つけることとする。詳細なISO/IEC 29119-2活動のレベルで分析した。これはもちろん、ISOテスト規格を採用しているプロジェクト、組織、業界にとって最も重要であるからだ。組織がテストプロセス改善モデルとしてTMMiを利用する場合、ISO/IEC 29119-2で定義された規範的要求事項("shall statements")に準拠できるだろうか。図表8は、ISO/IEC 29119-2の活動に対して、TMMiのプロセス領域、固有プラクティス、および共通ゴールがどの程度カバーできるかを分析するために作成された表の一部である。
一例として、テストプロセス(TP)1「コンテキストの理解」のISO 29119-2の活動は、TMMiプロセス領域「テスト計画」の固有プラクティス(SP)1.2「製品リスクを特定する」、2.1「テストする項目と機能を特定する」、4.3「ステークホルダーの参画を計画する」によって完全にカバーされている。
別の例として、組織テストプロセス(OT)1「組織におけるテスト仕様の作成」におけるISO 29119-2の活動は、TMMiプロセス領域「テストポリシーと戦略」の固有プラクティス(SP)1.1「テストゴールを定義する」、2.2「テスト戦略を定義する」、2.3「テスト戦略をステークホルダーに配布する」、および共通プラクティス(GP)「関連するステークホルダーを特定し、関与させる」によって完全にカバーされている。
ISO 29119-2活動 | TMMi | プロセス領域 | 固有プラクティス 共通プラクティス |
---|---|---|---|
OT1組織におけるテスト仕様の作成 | ● | テストポリシーと戦略 | SP 1.1、2.2、2.3 GP 2.7 |
OT2組織におけるテスト仕様のモニタリングとコントロール | ● | テストポリシーと戦略 | SP 3.1、3.2 GP 2.8 |
OT3組織におけるテスト仕様の更新 | ● | テストポリシーと戦略 | GP 2.7、3.2 |
TP1コンテキストの理解 | ● | テスト計画 | SP 1.2、2.1、4.3 |
TP2テスト計画の策定 | ● | テスト計画 | SP 4.2、4.3、5.3 GP 2.7、2.10 |
TP3リスクの特定と分析 | ● | テスト計画 | SP 1.1、1.2、1.3、4.4 |
TP4リスク軽減のアプローチの特定 | ● | テスト計画 | SP 1.3、4.4 |
TP5テスト戦略の策定 | ● | テスト計画 | SP2.2、2.3、2.4、3.3、4.5、5.3 |
TP6人員配置とスケジューリング | ● | テスト計画 | SP 3.3、4.1、4.2、5.2 |
TP7テスト計画の記録 | ● | テスト計画 | SP 4.5 |
TP8テスト計画への合意獲得 | ● | テスト計画 | SP 5.1、5.2 |
TP9テスト計画の伝達と遂行可能な状態への移行 | ● | テスト計画 | SP 5.3 GP 2.7、2.10 |
その他 |
図表8:TMMiに対するISO 29119-2要求事項の詳細分析
図表8は、分析結果の一部のみを示しているが、主要な方向性をすでに示している。この表は(部分的に)、全てのISO/IEC 29119-2のプロセスと活動に対して、対応するTMMiのプロセス領域、固有および/または共通プラクティスが存在することを示している。実際、これは全体的な結論でもある。
TMMiは、ISO/IEC 29119パート2とISO/IEC 20246に概説されているプロセスと活動を完全にカバーしている。組織がテスト改善モデルとしてTMMiを使用することを決定した場合、ISO規格の中でカバーされない活動はない。実際、TMMiレベル2を達成することは、すでにISOの内容をかなりカバーすることを意味するが、TMMiレベル3を達成することは、ISO/IEC 29119-2および ISO/IEC 20146規格の全ての要件を満たすことを意味する。これはTMMiを使用しているが、何らかの理由でISOコンプライアンスも必要としている組織にとって重要なメッセージである。
上記はもちろん本項の主な結論であるが、その他にも多くの見解に言及する必要がある。一般的にTMMiはISO規格よりもテストプラクティスについてより詳細な記述を提供していることが、分析・調査を行っている人々によって指摘されている。このことは、例えばアセスメントで弱点であると指摘された特定の領域をどのように改善するかについての指針を必要とする者にとって重要なことである。
ISO/IEC 29119テスト規格パート3およびパート4の内容に関して、言及する価値の高いもう一つの見解がある。前述したように、ISO規格のパート3は、テストドキュメントをパート2のテストプロセスと整合させている。各テストドキュメントはテンプレートが説明され、例が提供されている。TMMiは、テスト成果物が期待される場合、テストドキュメントに関するIEEE 829規格を最も多く参照している。TMMiは、テストドキュメントについて詳細には記述しておらず、特定のテストプラクティスに対するテスト作業成果物の例として識別しているだけである。
例えば、プロセス領域「テスト設計と実行」内の固有プラクティス「テスト条件の特定と優先順位付け」では、テストの作業成果物の例としてテスト設計仕様を特定している。その後TMMiは、テスト設計仕様の要素に関する詳細についてIEEE 829を参照している。しかし、現在ではISO/IEC 29119-3も利用可能であるため、TMMiのユーザーはISO規格を研究し、自身のプロジェクトや組織におけるテスト設計仕様への最適なソリューションを見つけられる。これはまた、ISO/IEC 29119コンテンツベースモデルが、TMMiと連携して参照・使用できる非常に具体的な例である。
テストドキュメントに関して言えば、もちろん、アジャイルマニフェストの「包括的なドキュメントよりも動くソフトウェア(Working Software over comprehensive documentation)」という声明を常に思い出す必要がある。必要でありドキュメント化することに明確な付加価値があるものだけをドキュメント化し、ドキュメント化のためだけにドキュメント化してはならない。TMMiでは作業成果物は例として示されており、必須ではないことに注意されたい。
パート4の状況もほぼ同じである。ISO/IEC 29119-4テスト技法は、構造ベースと仕様ベースのテスト設計技法の定義を規定している。ここでもTMMiは構造ベースと仕様ベースのテスト設計技法を例として挙げているだけである。しかし、TMMiは、これらの技法に加えて探索的テストのような経験ベースの技法を使用でき、その結果、テストチャーターによってテスト設計仕様をドキュメント化することができると明言している。経験ベースの技法や欠陥ベースの技法は、ISO/IEC 29119-4ではカバーされていない(あるいはわずかである)。
結論として、ISO/IEC 29119-4が(ほぼ)利用できるようになるため、TMMiのユーザーは自らのプロジェクトや組織で実施するのに最適な構造ベースおよび仕様ベースのテスト技法を見つけるために、他の教科書に加えてISO標準を勉強することもできる。さらには一例としてISO/IEC 29119コンテンツベースモデルを参照しTMMiと組み合わせて使用できることも挙げられよう。
アセスメント
2つのモデルに対する最後の比較は、モデルに対するアセスメントの方法についてである。まず、この文脈に関連するISO規格を見てみよう。
ISOの中では、最近までISO/IEC 15504シリーズがアセスメントの要求事項を定義する規格であった。この文脈では、特に情報技術組織内のプロセスのアセスメントを規定する国際標準であるISO/IEC 15504パート2「アセスメントの実施」が挙げられる。現在、ISO/IEC 15504規格は、ISO/IEC 330XX傘下の一連の新規格に置き換えられつつある。例えば、ISO/IEC 33002は、プロセスアセスメントの要求事項を定義した新規格である。
ISO/IEC 29119-2に関連し、特に定義されているもう一つの規格は、ISO/IEC 33063ソフトウェアテストプロセスアセスメントモデルである。ISO/IEC 33063は、ISO/IEC 29119-2の規範的なプロセスアセスメントモデルであり、継続的なアセスメントモデルを定義している。ISO/IEC 33063は、その後、ISO/IEC 33002のような他の規格に依存し、実施方法、ドキュメント化、報告方法に関する規範的要求事項を提供している。ISO/IEC 33063は現在も開発中であり、草案しか入手できないことに留意されたい。さらに、ISO/IEC 33063のレベルの解釈と、それがプロセスの成熟度という観点から ISO/IEC 29119-2にどのように適用されるかの解釈が欠落しており、この解釈は個々のアセッサーに委ねられているため、当然ながらアセスメント結果の一貫性が損なわれる可能性がある。
TMMiは、TAMARにおいて強固なプロセスアセスメントモデルを有しており、段階的アセスメントモデルを用いたアセスメントの実施、ドキュメント化、報告方法に関する詳細かつ規範的要求事項を有している。TMMiアセスメントに関する具体的な要件は、TMMiアセスメント手法認定要件(TAMAR:TMMi Assessment Method Accreditation Requirements)ドキュメントに記載されている。これらの要件は、ISO/IEC 15504-2規格に基づいている(TAMARには、この規格との相互関係を定義する完全な表が含まれておりISO/IEC 15504-2に準拠している)。特定の成熟度レベルの達成は、異なるアセスメント対象の組織にとって同じことを意味しなければならないことが重要である。
このアセスメントの一貫性を確保するためのルールがTAMARに含まれている。TAMARには異なるクラスのアセスメントに関するガイドラインも含まれている。TMMi Foundationは最近、TAMARの要件に準拠した完全なアセスメント手法を開発し利用できるようにした。組織はTAMと呼ばれるこの手法をライセンスに基づき使用できる。最後に、TMMi Foundationは、アセッサーおよびリードアセッサーを評価・認定するための枠組みを管理している。アセスメントプロバイダーが認証につながる正式なアセスメントを実施しようとする場合、アセスメントは認定されたリードアセッサーが主導し、アセスメントチームには少なくとも1名の認定されたアセッサーが含まれなければならない。両方の役割の認定要件は、TMMi Foundationのウェブサイトで確認できる。
段階的vs連続的
分析の結果、TAMARとISO/IEC 33063およびISO/IEC 33002は、どのようにアセスメントを実施すべきか(「アセスメントプロセス」)に関して非常に類似していることが示された。TAMARはすでにISO/IEC 15504-2に準拠しているため、これは当然のことである。TAMARによって定義されたアセスメントアプローチは、ISO/IEC 33063および付随する規格よりも規定的であるように思われる。主な違いは、段階的モデル(TMMi)と継続的モデル(ISO/IEC 33063)の使い分けにある。ISO/IEC 33063は、ISO/IEC 29119-2のアセスメントを継続的なアセスメントモデルを使用して実施することを提案している。
段階表現により、モデルは次の成熟度レベルを記述する。テスト成熟度モデル統合(TMMi)では、このような成熟度レベルを5つ定義している。ある成熟度レベル(段階)を達成するためには、特定のテスト活動がモデルによって規定されたとおりに実行されることが必要となる。テストプロセスの改善は、一つの成熟度レベルから次の最も高いレベル(一つあると仮定する)へ進むことで表現される。段階表現は理解しやすく、所定のテストプロセス成熟度レベルの達成に向けた明確なステップバイステップの道筋を示す。このシンプルさは、上級管理職とテストプロセスの成熟度について議論するときや、テストプロジェクトの入札など、達成されたテストプロセスの成熟度を簡単に示す必要がある場合にも有益である。おそらく、この単純さが段階的モデルの人気を高めているのであろう。
最近の調査では、CMMIの実装の90%が段階表現に基づいており、連続表現を使用しているものはわずか10%であった。プロセス成熟度の連続表現は、一般に段階表現よりも柔軟できめ細かい。段階的アプローチとは異なり、テストプロセス全体が通過しなければならない成熟度レベルが規定されていない。このため、特定のビジネスゴールを達成するために必要となる特定の改善領域をターゲットにすることが容易になる。連続表現は段階表現と比較して、テストプロセスの成熟度をより詳細かつ差別化された視点で見ることはできるが、段階的なアプローチがもたらすシンプルさが簡単に合うわけでもない。
TMMi/TAMARのアセスメント手法とISOとのその他の相違点としては、TMMiの正式なアセスメントでは認定(リード)アセッサーを使用することが挙げられる。またTMMiでは、組織が特定のTMMiレベルで正式に認証される可能性がある(TMMi認証組織の概要は、TMMi Foundationのウェブサイトを参照されたい)。
サマリ
TMMiが数年前から利用可能であり、市場でもよく受け入れられているのに対し、ISO/IEC 29119規格は比較的新しく、まだ認知されるために「戦っている」状態である。主な違いは、構造とテストモデルのタイプである。TMMiはテスト改善モデルに分類され、ISO/IEC 29119はコンテンツベースモデルに分類され、それぞれに典型的な特徴がある。
実施されたテストプラクティスのカバレッジ分析に基づき、以下の主要な結論が導き出された。
- TMMiは、ISO/IEC 29119-2およびISO/IEC 20246に概説されているプロセスを完全にカバーしている。
- ISO/IEC 29119は、TMMiレベル2のプロセス領域とゴールを十分にカバーしている。
- TMMiレベル3は、ISO/IEC 29119シリーズでは完全にカバーされていない、テスト組織、テストトレーニング、非機能テストなどのトピックを拡張している。
- TMMi成熟度レベル4と5には、ISOの活動に相当するものはほとんどない。
ISO/IEC 29119は、基本的にTMMiレベル2に大きく関連するテスト規格/テストモデルである。これは、TMMiレベル2の改善ゴールを、従来のシーケンシャルなライフサイクル環境で実現できるような実装を提供するものである。TMMiは、ISO/IEC 29119-2で定義された全ての規範的要求事項を完全にカバーしている。
両モデルのアセスメント手法はほぼ同じであるが、主な違いは、段階的(TAMAR)プロセスアセスメントモデルと連続的(ISO/IEC 33063)プロセスアセスメントモデルの使い分けである。
結局、どちらのモデルも、テストプロセスの改善を支援するという同じ使命を担っている。TMMiのユーザーは、組織が正式なテスト規格を採用することで、テストにより専門的なイメージを与えられるというメリットを享受できる。さらに、ISO/IEC 29119-3では典型的な作業成果物が、ISO/IEC 29119-4ではテスト技法が定義されており、TMMiの実務者にとって興味深い規格となっている。本稿では、これらのモデルを併用できる例をいくつか示した。
なお、モデルはモデルでしかないことを常に忘れないでほしい。ビジネスの背景を理解せずにTMMiレベル2や3に到達しようとするだけでは、短期的にも長期的にも必ず失敗するからだ。改善チームは、どのように改善に取り組み、どれが最も適しているかを判断するために、ビジネス上の問題を理解しなければならない。何をするにしても、なぜそれをするのかを確認してほしい。
取り組もうとしているビジネス上の問題は何か?
経営陣が支持するテストポリシーは何か? を。
テストプロセスの改善はビジネス主導でなければならず、良いモデルが確かに役立つとはいえ、モデル主導であってはならないからだ。
謝辞
TMMiとISO規格の比較分析・検討にご協力いただいた全ての方々に感謝する。特に、分析・検討チームを率い、最初の結論を導き出し、TMMi Foundationの理事に提示したMatthias Rasking(アクセンチュア、ドイツ)に感謝の意を表したい。Matthias Raskingはまた、TMMi FoundationとISO/IEC間の正式なリエゾンの一部として、またTMMi Foundationを代表し、本稿で議論されている規格に関連するいくつかのISO/IECワーキンググループ会議に出席した。
(訳者:大西建児)
この記事は面白かったですか?
今後の改善の参考にさせていただきます!