ISO/IEC/IEEE 29119は、ソフトウェアテストに関する国際標準です。この標準を理解し、適用することで、ソフトウェアの品質を向上させることが期待されます。本記事では、 ISO/IEC/IEEE 29119を学ぶ理由やメリット、デメリットについて説明します。
ISO/IEC/IEEE 29119とは?
ISO/IEC/IEEE 29119は、国際標準化機構(International Organization for Standardization; ISO)によって開発されたソフトウェアテストに関する国際標準です。この標準は、いくつかの既存のテスト標準やベストプラクティスを統合し、現代のソフトウェア開発とテストのニーズに対応するように設計されています。
ISO/IEC/IEEE 29119の歴史は、2007年に始まります。ソフトウェアテストワーキンググループ(WG26)が、SC7(ISO(国際標準化機構)とIEC(国際電気標準会議)が共同で運営するJTC1(統合技術委員会1)の下で活動するサブコミッティー)の一部としてソフトウェアテスト標準を開発・維持するために2007年に設立され、新しいテスト標準の開発を開始しました。これは、以前のソフトウェアテスト標準(ISO/IEC 12207, ISO/IEC 15288, IEEE 829, IEEE 1008, BS 7925-1, BS 7925-2)が、それぞれ異なるアプローチや用語を使用しており、一貫性や適用範囲が限定的であったためです。
この新しい標準の目的は、ソフトウェアテストのプロセス、ドキュメント、技法に関する包括的で一貫性のある指針を提供することでした。その結果、 ISO/IEC/IEEE 29119は、5つのパートから構成される一連の標準として策定されました。
ISO/IEC 29119-1:2013 – ソフトウェアテストのための概念および定義
ISO/IEC 29119-2:2013 – ソフトウェアテストプロセス
ISO/IEC 29119-3:2013 – ソフトウェアテストドキュメント
ISO/IEC 29119-4:2015 – ソフトウェアテスト技法
ISO/IEC 29119-5:2016 – キーワード駆動型テスト
最初の4つのパートの作業が始まった直後、ISO/IEC 33063のテストプロセス評価(Part 2で定義されたテストプロセスに対する評価)が別の提案によって作成され、これに続いてISO/IEC/IEEE 29119-5のキーワード駆動型テストが開発されました。その後、WG26は、他の標準によってカバーされる動的テストを補完するために、レビューに関する別の標準(ISO/IEC 20246)を開発し、これが2017年に発行されました。
その他にも、以下に示すように、いくつかの分野で作業が進んでいます。
• 2020年発行 – AIベースのシステムのテストに関するガイドライン(ISO/IEC TR 29119-11)
• 2021年発行 – アジャイルプロジェクトでのISO/IEC/IEEE 29119(すべてのパート)の使用に関するガイドライン(ISO/IEC TR 29119-6)
• 進行中 – 自動車システム向けソフトウェアのテストでのISO/IEC/IEEE 29119の使用に関するガイドライン(ISO/IEC TR 29119-7)
• 進行中 – モデルベースのテスト(ISO/IEC TR 29119-8)
• 進行中 – ゲームテスト(ISO/IEC TR 29119-9)
• 進行中 – 性能テスト(ISO/IEC 29119-10)
• 進行中 – インシデント管理(ISO/IEC/IEEE xxxxx)
• 進行中 – 生体認証システムのテストでのISO/IEC/IEEE 29119の使用に関するガイドライン(ISO/IEC 29119-13)
• 進行中 – データ移行テスト(ISO/IEC TR 29119-14)
• 進行中 – 静的解析(ISO/IEC 29119-15)
• 進行中 – 大規模で複雑なシステムのテストに関するガイドライン(ISO/IEC TR 29119-16)
上記の標準番号にTRとついているものは技術報告書と呼ばれるもので、情報提供の意味合いが強く、厳密には国際規格(IS)とは異なります。また、インシデント管理の標準は、純粋にソフトウェアテストに関するものではないため、ISO/IEC 29119ソフトウェアテストシリーズの一部とは見なされず、ランダムな番号が割り当てられます。
国際規格は5年間毎に見直しがされ、必要であれば更新されます。実際、最初の4つのパートは2021年と2022年に更新されました。
• 2021年発行 – テストプロセス – 第2版(ISO/IEC/IEEE 29119-2)
• 2021年発行 – テスト文書 – 第2版(ISO/IEC/IEEE 29119-3)
• 2021年発行 – テスト技法 – 第2版(ISO/IEC/IEEE 29119-4)
• 2022年発行 – 一般的な概念 – 第2版(ISO/IEC/IEEE 29119-1)
ISO/IEC/IEEE 29119を学ぶ理由
ISO/IEC/IEEE 29119を学ぶ理由には内発的要因と外発的要因の2つあります。まずは、内発的要因ですが、主要な要因に以下の3つがあります。
a) 品質の向上
ソフトウェアテストは、品質を確保するための重要なプロセスです。 ISO/IEC/IEEE 29119は、テストプロセスの標準化を目指しており、学ぶことで品質向上につながります。
b) 信頼性の向上
ISO/IEC/IEEE 29119は、国際的な標準であり、それに従うことで、顧客やビジネスパートナーからの信頼を得ることができます。
c) 効率化
標準化されたテストプロセスは、効率的な作業ができるようになります。これにより、開発サイクルが短縮され、コスト削減にもつながります。
次に外発的要因ですが、ISO/IEC/IEEE 29119は国際規格である性格上、その準拠が求められることが挙げられます。ISO/IEC/IEEE 29119の準拠が求められる場合は、主に以下のような状況です。
a) クライアントの要求
顧客やクライアントが、ソフトウェア開発プロジェクトやテスト活動においてISO/IEC/IEEE 29119に準拠することを要求することがあります。これは、品質保証のための一般的な基準を確立し、プロジェクトのリスクを低減するためです。
b) 法規制や業界標準
特定の業界や分野では、法規制や業界標準によってISO/IEC/IEEE 29119に準拠することが求められることがあります。これは、ソフトウェアの安全性や信頼性を確保し、利害関係者に対する責任を果たすためです。
c) 国際的な取引
多国籍企業や国際的なプロジェクトでは、異なる国や地域の組織間で一貫した品質基準を確立するために、ISO/IEC/IEEE 29119に準拠することが求められることがあります。
ISO/IEC/IEEE 29119のメリット
ISO/IEC/IEEE 29119を導入するメリットは多くありますが、主なものは以下の4つになります。
a) 組織全体での共通言語
ISO/IEC/IEEE 29119を導入することで、組織内でのコミュニケーションが円滑になります。共通の言語を持つことで、誤解やミスが減少し、作業効率が向上します。
b) テストプロセスの標準化
テストプロセスが標準化されることで、繰り返し実施するテストの品質が向上します。また、新しいプロジェクトに対しても、テストプロセスを迅速に適用できます。
c) ドキュメントの統一
ISO/IEC/IEEE 29119は、ドキュメントのフォーマットや内容も規定しています。これにより、ドキュメントの品質が向上し、情報の共有や管理が容易になります。
d) トレーサビリティの向上
標準化されたドキュメントやプロセスにより、テストのトレーサビリティが向上します。これにより、問題が発生した際に原因を特定しやすくなり、迅速な対応が可能となります。
ISO/IEC/IEEE 29119のデメリット
ISO/IEC/IEEE 29119の導入はメリットだけではなく、考慮しなければいけないデメリットも存在します。主なものは、以下の3つです。
a) コストと時間
ISO/IEC/IEEE 29119を導入するには、初期費用や研修費用が必要です。また、標準に沿ったプロセスやドキュメントを整備するための時間も必要となります。
b) 柔軟性の低下
標準化されたプロセスやドキュメントは、柔軟性が低下する可能性があります。特定のプロジェクトに対して最適な方法が標準と異なる場合、適応が難しくなることがあります。
c) 過剰な成果物
ISO/IEC/IEEE 29119は、ドキュメントやプロセスに関して詳細な規定をしています。これが、場合によっては過剰な成果物を生む可能性があり、作業効率が低下することがあります。
まとめ
ISO/IEC/IEEE 29119は、ソフトウェアテストに関する国際標準であり、品質や信頼性の向上、効率化に役立ちます。また、組織全体での共通言語やドキュメントの統一、トレーサビリティの向上などのメリットがあります。一方で、コストや時間、柔軟性の低下、過剰なフォーマリティなどのデメリットも考慮する必要があります。
学ぶ理由やメリット、デメリットを理解した上で、組織のニーズや状況に応じて ISO/IEC/IEEE 29119の導入を検討してください。適切に適用することで、ソフトウェアの品質向上や効率化に大きく貢献することができます。