ソフトウェア品質管理(SQM)は、製品が顧客の期待する品質基準を満たすと同時に、必要な規制要件や開発者要件(ある場合)も満たすようにソフトウェアの品質を開発および管理することを目的とした管理プロセスです。 [1] [2] [3]ソフトウェア品質マネージャーは、ソフトウェアが市場にリリースされる前にテストされることを要求し、リリース前にバグを発見して修正するために、周期的なプロセスベースの品質評価を使用してこれを行います。彼らの仕事は、ソフトウェアが消費者にとって良好な状態であることを保証するだけでなく、企業全体で品質文化を促進することです。[1] [2] [3]
品質管理活動
ソフトウェア品質管理活動は、一般的に、品質保証、品質計画、品質管理の 3 つのコア コンポーネントに分かれています。[1] [2]ソフトウェア エンジニアで作家の Ian Sommerville 氏のように、「品質管理」という用語を使用しない人もいます (品質管理はソフトウェア開発用語というよりも製造用語と見なされることが多いため)。むしろ、関連する概念を品質保証の概念に結び付けています。[3]ただし、3 つのコア コンポーネントは、それ以外は同じです。
品質保証
ソフトウェア品質保証は、組織的かつ論理的な一連の組織プロセスを設定し、業界のベストプラクティスに基づいて、それらの組織プロセスと組み合わせるソフトウェア開発標準を決定することで、ソフトウェア開発者はより高品質のソフトウェアを生産できる可能性が高くなります。ただし、ソフトウェア開発では、製造の機械的なプロセスと比較して、創造的な設計要素があるため、「保守性」や「信頼性」などの品質属性をプロセスにリンクすることがより困難です。[1] [2] [3]さらに、「プロセスの標準化は創造性を抑制し、ソフトウェアの品質を向上させるのではなく、低下させる可能性があります。」[3]
この段階には次のものが含まれます。
- 標準テンプレートを使用した明確に定義されたエンジニアリング文書の作成など、文書化プロセスの標準を奨励する
- 品質レビューなどの標準プロセスの実施方法を指導する
- 工程内テストデータ記録手順の実行
- ソフトウェア開発プロセスで使用すべき標準(ある場合)を特定する
品質計画
品質計画は、より細分化されたプロジェクトベースのレベルで行われ、プロジェクトの出力に関連付けられる品質属性と、それらの属性を評価する方法を定義します。さらに、既存の組織標準もこの段階でプロジェクトに割り当てられる場合があります。ソフトウェア開発プロジェクトには、「堅牢性」、「アクセシビリティ」、「モジュール性」などの属性が割り当てられる場合があります。[1] [2]これはより形式化された統合プロセスである可能性がありますが、よりアジャイルな品質管理方法を使用する人は、厳格な計画構造をあまり重視しない場合があります。[3]品質計画では、対象市場、重要なリリース日、品質目標、予想されるリスク、リスク管理ポリシーについても取り上げる場合があります。[2] [3]
品質管理
品質管理チームは、ソフトウェアのさまざまな段階でテストとレビューを行い、組織レベルとプロジェクトレベルの両方で品質保証プロセスと標準が遵守されていることを確認します。[1] [2] (Sommerville 氏のように、これらの責任を品質管理と呼ぶのではなく、品質保証に関連付ける人もいます。[3] ) これらのチェックは、テスト対象の製品に対する客観的な視点を提供するために、開発チームから分離するのが最適です。[2] [3]ただし、開発側のプロジェクト マネージャーも協力し、このフェーズの一部として「エラーが発見されたときに非難せずにサポートを提供する文化」を促進する必要があります。[3]よりアジャイルな品質アプローチを実装しているソフトウェア開発会社では、これらの活動はそれほど形式的ではない場合があります。ただし、管理手順が適切に適応されていない場合、より正式な品質管理構造からアジャイル手法に切り替えると問題が発生する可能性があります。[3]
活動内容:
- ソフトウェアのリリーステスト(テストプロセスの適切な文書化を含む)
- ソフトウェアおよび関連文書の標準への不適合の検査
- 前回のテストで詳細に説明された必要な変更が確実に対処されるようにソフトウェアをフォローアップレビューする
- ソフトウェア測定と評価指標の適用
ソフトウェアの品質とソフトウェアライフサイクル
ソフトウェア品質の測定は製造とは異なり、許容範囲は適用できず(少なくとも製造と同じようには)、ソフトウェアが仕様を満たしているかどうかに関する客観的な結論を得ることは困難、あるいは不可能です。[3]ただし、ソフトウェアの品質と目的に適合しているかどうかは、組織やプロジェクトのタイプに応じてさまざまな方法で実現できます。[4]これは、ソフトウェア開発ライフサイクル全体のサポートを通じて行われ、次のようになります。
- 要件を収集し、IT プロジェクトの範囲を定義し、定義された要件がテスト可能かどうかの検証に重点を置きます。
- ソリューションの設計、テストプロセスの計画に重点を置きます。たとえば、どのような種類のテストが実行され、テスト環境とテストデータのコンテキストでどのように実行されるかなどです。
- テストケースとシナリオによってサポートされるソリューションを実装し、実行し、欠陥を登録し、欠陥の解決の調整を行う。
- 計画された変更が作成されたソリューションの品質とテスト計画の最終的な変更にどのように影響するかを検証しながら、変更管理を実装する。
- 作成されたソリューションの全体的な品質の複雑な検証に重点を置いたテストの実現によってサポートされ、プロジェクトを終了します。
IT手法へのリンク
ソフトウェア品質管理は、次のようなさまざまなプロジェクト管理、開発、IT 運用方法と密接に関連するトピックです。

- プロジェクト管理手法PRINCE2 [5]では以下のように定義されています。
- 「プロジェクト環境における品質」コンポーネントでは、作成された製品の二重チェックと客観的な管理の必要性について説明します。品質管理システム、品質管理の機能、品質計画、品質管理の 4 つの要素の使用を提案します。
- 作成された製品が定義された品質基準を満たしているかどうかの検証に重点を置いた「品質レビュー手法」。
- プロジェクト管理手法PMBOK第4版[6]では、プロジェクト品質管理の知識領域と以下のプロセスが定義されています。
- 3.4.12 計画の品質、
- 3.5.2. 品質保証を実行する
- 3.6.7. 品質管理を実行する
- 開発方法RUP は、開始から移行までのすべてのフェーズで実行される規律テストを定義します。
- 開発方法MSFはテスターの役割と安定化フェーズを定義し、主にソリューションのテストに焦点を当てています。[7]
- アジャイル手法では、ソフトウェア品質管理に関連するテスターの役割やメカニズムは正確には定義されていません。この手法では、継続的インテグレーションやテスト駆動開発などの技術のみが定義されています。しかし、アジャイルテストに関する出版物がようやく登場しました。
- CMMI の運用方法では、CMMI レベル 2 ですでに必須となっているプロセス領域PPQA「プロセスおよび製品の品質保証」が定義されています。
- 運用方法COBIT では、プロセス P08 品質管理などが定義されています。
- ITILの運用方法は、継続的なサービス改善の出版物などによって定義されています。
- V モデル– ソフトウェア開発ライフサイクルとテスト プロセスを定義するモデル。
- ISO 9000規格群は品質管理システムに関連しており、組織が製品に関連する法定要件や規制要件を満たしながら、顧客やその他の利害関係者[1]のニーズを確実に満たせるように設計されています。
協会および組織
- アメリカ品質協会(ASQ) は、品質管理、継続的改善、製品安全に関連する認定、トレーニング、出版物、会議、その他のサービスを会員に提供する専門組織です。
- 国際ソフトウェアテスト資格委員会(ISTQBP)は、ベルギーに登録された非営利の国際協会です。ソフトウェアテスターの認定プロセスを管理しており、120か国以上で535,000件以上の認定証を発行しています。[8]
参照
参考文献
- ^ abcdef Zsolt, U. (2014 年 2 月)。「ソフトウェア品質管理」(PDF)。ソフトウェア開発プロセスとソフトウェア品質保証。パンノニア大学。pp. 117– 121。2017年12 月 7 日に閲覧。
- ^ abcdefgh Maxim, BR (2014). 「ソフトウェア品質管理」(PPT) . ミシガン大学ディアボーン校. 2017年12月7日閲覧。
- ^ abcdefghijkl Sommerville, I. (2011). 「第24章 品質管理」.ソフトウェアエンジニアリング(第9版). Addison-Wesley. pp. 651– 680. ISBN 9780137035151。
- ^ ケレメン、ZD (2013)。マルチモデル ソフトウェア プロセス改善のためのプロセス ベースの統合アイントホーフェン: アイントホーフェン工科大学。ISBN 978-90-386-3313-8
- ^ OGC (Office of Government Commerce) (2009)。PRINCE2 による成功するプロジェクトの管理 ( 2009 版)。TSO (The Stationery Office)。ISBN 978-0-11-331059-3
- ^ プロジェクトマネジメント知識体系ガイド、第 4 版、PMI、米国、2008 年
- ^ Microsoft ソリューション フレームワーク - 第 18 章 安定化フェーズ、発行日: 2005 年 4 月 27 日 [1]
- ^ 「Certifying Software Testers Worldwide」。国際ソフトウェアテスト資格委員会。 2017年12月7日閲覧。
