IT・プログラミング雑学

簡単でわかりやすい!verficationとvalidationの違いとは?品質の考え方から実例までプログラマーが詳しく解説

verificationとvalidationという言葉を聞いたことがあるか。ものづくりの品質に関連する言葉です。セットで使われることが多いので、合わせてV&Vと呼ばれることもある。どちらも「正しいかどうか」を指す言葉ですが、ニュアンスが少し違う。そんなものづくりの重要な考え方であるVerificationとValidationの違いを説明します。その上で、実際にどうやってverificationやvalidationをするのかも品質やテストにも詳しいプログラマでもあるライターのwoinaryと一緒に解説していきます。

ライター/woinary

某社で社内向け業務システムの開発、運用を30年近くやっていたシステム屋さん。テストや品質管理にも詳しい。現在はフリーランス。ガジェットやゲーム、ラノベが大好きなおっさん。

どちらも「正しいか?」だが何に対して正しいかが肝

image by iStockphoto

verificationは日本語では「検証」validationは「妥当性の確認」と訳します。ちょっと堅い言葉ですね。これらは製品などものづくりの際の品質に関連した話題で出てくる言葉。そのため少々堅いものになっています。

ざっくり言えばどちらも正しいものかどうかを確認すること。ただ、確認するものが少し違います。そのため、セットでV&Vなどと呼ばれることも。このverificationとvalidationについて実例をあげて説明します。

verification(検証):正しくつくっているか

このV&Vの違いを説明する有名な文章がverificationは「正しくつくっているか」です。品質管理の国際規格であるISO9000では「客観的証拠を提示することによって、規定要求事項が満たされていることを確認すること」となっています。ちょっと難しいですね。

簡単に言えば、設計図通りに作っているかを確認しなさい、ということです。この時重要なのが客観的証拠。個人の主観ではなく、明らかに正しいことが分かるような証拠を残しておきなさいということです。プログラム開発の場合、あらかじめつくっておいた「こうなるはず」というものと実際の結果を比べて、違いがないことを記録に残します。

validation(妥当性確認):正しいものをつくっているか

一方のvalidationは「正しいものをつくっているか」と説明されます。ISO9000では「客観的証拠を提示することによって、特定の意図された用途または適用に関する要求事項が満たされていることを確認すること」です。verificationとほとんど同じですね。違いは「規定要求事項」と「特定の意図された用途または適用に関する要求事項」です。

日本語は主語を省略するので分かりにくいですが、実は誰が主語かで考えると分かりやすくなります。verificationの方の主語はつくっている側validationの方は依頼した側です。ものをつくる時にお客さんの要望を聞いて作りますよね。その要望を元に「こうつくろう」と決めた通りに作ったかどうかがverification、それがお客さんが望んでいたものかどうかがvalidationなのです。

\次のページで「ものづくりの基本?V&Vとは」を解説!/

次のページを読む
1 2 3
Share: