品質管理(QA/QC) ひんしつかんり
品質管理QAQC品質保証テストプロジェクト管理
品質管理(QA/QC)について教えて
簡単に言うとこんな感じ!
「このシステムはちゃんと動くの?」を保証するための活動全般だよ。QC(品質管理)が「完成品の検査」なら、QA(品質保証)は「最初から欠陥が入り込まないプロセスを作る」こと。食品業界で言えば、QCは出荷前検査で、QAはHACCPで工程全体を管理する仕組みなんだ!
品質管理とは
品質管理(Quality Management) とは、プロジェクトの成果物(システム・ドキュメント)が定められた品質基準を満たすことを確実にするための活動全般です。大きく QC(Quality Control、品質コントロール) と QA(Quality Assurance、品質保証) に分けられます。
QC(品質コントロール) は「成果物の欠陥を検出・修正する」活動です。テスト・レビュー・検査などが該当し、「できたものが基準を満たすか」を確認します。一方 QA(品質保証) は「欠陥が入り込まないプロセスを整備・監査する」活動です。開発プロセスそのものが適切か、品質基準が明確かを管理します。
発注者側にとって重要なのは「品質基準を事前に定める」ことです。「バグがゼロ」は現実的ではありませんが、「致命的バグ0件・軽微バグは本番リリース後2週間以内に修正」などの基準を契約前に合意しておくことが大切です。また、ユーザー受入テスト(UAT) は発注者が品質を確認する最後の砦であり、時間と人員を確保して臨む必要があります。
QAとQCの違い
| 比較項目 | QA(品質保証) | QC(品質コントロール) |
|---|---|---|
| 目的 | 品質問題の予防 | 品質問題の検出・修正 |
| アプローチ | プロセス重視 | 成果物重視 |
| タイミング | プロジェクト全期間 | 主に後半(テスト工程) |
| 代表的活動 | プロセス監査・レビュー・標準化 | テスト・検査・デバッグ |
| 例 | コードレビュー手順の整備 | 単体テスト・結合テスト実施 |
テストの種類と体系
| テスト種別 | 実施者 | 目的 |
|---|---|---|
| 単体テスト(UT) | 開発者 | 個々の部品(関数・モジュール)が仕様どおり動くか |
| 結合テスト(IT) | 開発者/テスター | 複数の部品を組み合わせた際の動作確認 |
| システムテスト(ST) | テスター | システム全体が要件・仕様どおり動くか |
| パフォーマンステスト | テスター | 負荷・速度・安定性の確認 |
| ユーザー受入テスト(UAT) | 発注者・ユーザー | 実際の業務シナリオで使えるか最終確認 |
| 回帰テスト(リグレッション) | 開発者/テスター | 修正後に既存機能が壊れていないか確認 |
歴史と背景
- 1920年代: ウォルター・シューハートが統計的品質管理(SPC)を開発。製造業における品質管理の基礎に
- 1950年代: W・エドワーズ・デミングが日本の製造業にTQC(全社的品質管理)を普及。「デミングサークル(PDCA)」が品質管理の基本サイクルに
- 1960年代: NASAがゼロ欠陥(Zero Defects)プログラムを推進。ソフトウェア品質管理の起源に
- 1979年: フィリップ・クロスビーが「品質は無料(Quality is Free)」を発行。欠陥を後で直すコストの大きさを提唱
- 1987年: ISO 9000シリーズの初版が発行。品質管理の国際標準として普及
- 1994年: Capers Jonesが「ソフトウェア品質」の定量的研究を発表。機能ポイント法と品質測定の結合
- 2000年代: アジャイル開発・CI/CD(継続的インテグレーション/継続的デリバリー)により自動テストが品質管理の中心に
- 現在: AIを活用したテスト自動化・バグ予測が急速に普及
ソフトウェア品質管理の全体像
品質指標の例
| 指標 | 説明 | 目標値例 |
|---|---|---|
| バグ密度 | コード1KLOCあたりのバグ数 | 0.5件/KLOC以下 |
| テストカバレッジ | テストで実行されたコードの割合 | 80%以上 |
| バグ修正率 | 発見バグのうち修正完了した割合 | リリース時100%(重大) |
| 不具合流出率 | リリース後に発覚したバグの割合 | 全バグの5%以下 |
関連する規格・RFC
| 規格・番号 | 内容 |
|---|---|
| ISO 9001:2015 | 品質マネジメントシステムの国際規格 |
| ISO/IEC 25010 | ソフトウェア製品品質モデル(機能性・信頼性・保守性など8特性) |
| PMBOK 第7版(PMI) | 品質・パフォーマンス領域として体系化 |
| ISTQB | ソフトウェアテスト技術者資格の国際標準。テスト手法・プロセスを定義 |