品質管理とは
要点
- 品質管理とは、システムが要件通りに正しく動き、安心して使い続けられることを確認するための一連の活動です。
- 「テスト計画」を起点に、「単体テスト」→「結合テスト」→「総合テスト」→「システムテスト」→「UAT」と、検証する範囲を少しずつ広げながら進めます。
- 不具合は見つけるタイミングが早いほど、修正のコストが小さく済みます。
ぽち先生も、毎日こんな風にサービスを使っています
そもそも品質管理とは
品質管理とは、開発したシステムが「要件通りに正しく動くか」「利用者が安心して使えるか」を確認し、問題があれば修正していく一連の活動です。
単に「テストをすること」だけを指すのではなく、何を・いつ・どうやって確認するかを事前に決める「テスト計画」も含めて、品質を作り込むための取り組み全体を指します。
ぽち先生のヒント工場で製品を出荷する前に行う「検品」に似ているよ。完成品だけを見るのではなく、部品の検査、組み立て後の検査、出荷前の最終確認と、段階を分けてチェックすることで、不良品が利用者の手元に届くのを防いでいるんだ。
不具合は早く見つけるほどいい
同じ不具合でも、見つかるタイミングが遅くなるほど、修正にかかる手間やコストは大きくなります。プログラムの一部分だけを直せば済む段階と、リリース後に利用者を巻き込んで対応する段階とでは、影響の大きさがまったく違います。
だからこそ、開発の早い段階から小さい単位でテストを積み重ねていくことが重要です。
テスト工程の全体像
品質管理は、次のような流れで進むのが一般的です。範囲の小さいテストから始めて、少しずつ確認する対象を広げていきます。
それぞれの意味は、このあとのスライドと個別トピックで解説します。
V字モデルで見る設計とテストの対応関係
各テスト工程は、開発の上流で決めた設計・要件の内容と対応しています。この対応関係を図にした考え方が「V字モデル」です。
検証する
ぽち先生のヒント料理のレシピ(設計)と試食(テスト)の関係に似ているよ。材料ひとつひとつの下ごしらえ(プログラム設計)は味見(単体テスト)で、盛り付けまで含めた完成品(要件定義)はお客様に食べてもらう最終確認(UAT)で確かめるんだ。
テスト計画の役割
テスト計画は、実際にテストを始める前に「何を」「いつ」「誰が」「どうやって」検証するかを決めておく工程です。行き当たりばったりでテストを始めると、確認漏れや工数不足につながります。
詳しくは個別トピック「テスト計画」で解説します。
単体テストと結合テスト
単体テストは、プログラムの最小単位(関数やメソッドなど)が正しく動くかを確認します。結合テストは、その単体を組み合わせたときに正しく連携できるかを確認します。
単体テストで部品ひとつひとつの動作を保証し、結合テストで部品同士の「つなぎ目」を確認する、という役割分担です。
詳しくは個別トピック「単体テスト」「結合テスト」で解説します。
総合テスト・システムテスト・UATの違い
総合テストはシステム全体を通して要件通りに動くかを検証し、システムテストは本番同等の環境で性能やセキュリティなどの非機能要件も含めて検証します。実務では両者がほぼ同じ意味で使われることもあります。
UATは、発注者や実際の利用者が業務で使えるかを最終確認する工程で、品質管理の最後の関門にあたります。
詳しくは個別トピック「総合テスト」「システムテスト」「UAT」で解説します。
まとめ
品質管理は、テスト計画に基づいて単体テスト→結合テスト→総合テスト→システムテスト→UATと段階を追って検証範囲を広げていく一連の活動です。早い段階・小さい単位で不具合を見つけるほど、修正コストを抑えられます。
それぞれの工程は、以下の個別トピックでさらに詳しく学べます。
関連トピック: