web-dev-qa-db-ja.com

次の例に検証と検証を適用する方法

私はここで同僚と検証および検証の質問を続けてきましたが、技術的な英語の言語の壁が原因であると思われるわずかな違いはわかりません。

例:

  • 要求仕様

    ユーザーは、各部屋のUIから個別に送信されるリモートコマンドによって4つの部屋の照明を制御したいと考えています。

  • 機能仕様

    1. UIには、制御する部屋に応じてラベル付けされた4つのチェックボックスが含まれます。
    2. チェックボックスをオンにすると、信号が対応するライトに送信されます。チェックボックスの横に緑色の点が表示されます
    3. チェックボックスがオフの場合、信号(オフ)は対応するライトに送信されます。チェックボックスの横に赤い点が表示されます。

ここで私が学んだことから始めましょう:

検証、ここでの多くの素晴らしい回答によれば、製品が指定された要件を反映していることを保証します-機能仕様は顧客からの要件に基づいて生産者によって行われるため、これは完全性、正確性について検証されます)。次に、設計ドキュメントが機能仕様(4つのチェックボックスを設計する必要があります)に対してチェックされ、ソースコードが設計に対してチェックされます(4つのチェックボックスのコード、信号を送信する関数などがあります-要件に追跡可能ですか)。

さて、製品が構築され、それをテストする必要がありますvalidate。ここで私たちの理解の問題が発生します-検証製品が基本的にビジネス要件である特定の使用目的の要件を満たしていることを確認する必要があります(動作しますか?UIからライトを制御できますか?)テスターは間違いなく動作します機能仕様では、チェックボックスが存在すること、機能していること、ラベルが付けられていることなどを確認します。基本的には、最終製品で機能仕様の要件が満たされているかどうかを確認しています。検証ではありませんか? (そうすべきではありません。検証のみが実際のテストであることをISO 12207に固執します)

2
John V

検証:お客様が求めたものを作成しましたか?
検証:私たちが構築したものは機能しますか?

説明のために編集:

"まだテスト担当者はテストケースに機能仕様を使用しています"

テスターがまだ両方を実行している機能仕様を使用するかどうかを気にする人 検証 そして 検証 私の元の声明に基づいています。

この壁には3つのスイッチと2つのボタンがあるはずです。 (検証)
スイッチは等距離で床から48インチ離れていると想定されています(確認)
ボタンはスイッチのどちら側にもあるはずです(確認)
左ボタンには「左」というラベルが付いているはずです(確認)
右ボタンには「右」というラベルが付いているはずです(確認)
左ボタンをクリックすると、右端のスイッチが無効になりますか? (検証)
左のボタンをクリックしてオフにすると、右端のスイッチが有効になりますか? (検証)
右ボタンをクリックすると、左端のスイッチが無効になりますか? (検証)
右ボタンをクリックしてオフにすると、左端のスイッチが有効になりますか? (検証)
両方のボタンをクリックすると、中央のスイッチのみが機能しますか? (検証)

彼らは基本的に、最終製品で機能仕様の要件が満たされているかどうかをチェックしていますが、その検証ではありませんか?

検証アクティビティは、機能仕様(およびテスト仕様を忘れないこと)が要件仕様のすべての要件をカバーすることを確認します。つまり、何かを逃したか、予期しないものを追加しました。

検証アクティビティは、これらの要件が満たされていることを確認しています

参照: 検証での機能テスト

1
Andrew

検証と検証は互いに(まだ完全ではないが)オーバーラップし、同様の手法(テスト、ウォークスルー、シミュレーションなど)を利用することもありますが、主にユーザーの関与が異なります。

一般に、検証は「製品の権利を構築していますか?」という回答に役立ちます。一方、検証は、「正しい製品を構築していますか?」と答えようとしています。

したがって、検証は要件カバレッジに関係しますが、(コードだけでなく)作業成果物が計画および設計されたもの(標準やプロセスを含む)を満たしているかどうかを確認します。検証により、製品がユーザーの期待を満たしていることを確認します(これは、要件仕様で定義されているものと正確に一致しない場合があります)。したがって、検証には通常、最終的なユーザーの関与と本番環境の評価が必要です。

物事が一掃されることを願っています。

1
rvcoutinho

検証と検証の違いは、プッシュすると必然的に途方もなく微妙になります。正しいものを構築することとそれを正しく構築することは、ヒップで密接に結びついています。私たちのグループは結局、検証と検証オントロジーの戦争にうんざりしてしまい、私たちはそれらを禁止しました。検証と検証は引き続き行いますが、個別のプロセスとしては行いません。代わりに、さまざまな種類の検査(たとえば、コードウォークスルー)、さまざまな種類の分析(たとえば、トレーサビリティ)、テスト(ロットおよびロットのテスト)、およびメトリック(ロットのロットも)を行います。ここでの違いはかなり明確であり、これ以上オントロジー戦争はありません。

区別しやすい区別を選択します。多くの場合、検証と検証は簡単に区別できません。

1
David Hammen