1

複雑な関数または複雑なストア プロシージャをテストしているとします。自動化をどのように実行しますか?

私には2つのオプションがありました:

  1. ベースライン テスト:
    いくつかの入力データを準備し、最初に手動でテストを実行してから、出力データを取得します。チェック後、出力データは正しいと思います。次に、出力データを「ベースラインデータ」として使用します。後のテストでは、出力データを「ベースライン データ」と比較します。変更がある場合は、バグまたはその他の可能性があります。

  2. テスターは、別の方法で関数またはストア プロシージャを実装します。テストのために、テスターの関数からの出力と開発者の関数からの出力を比較します。

オプション 1 は、オートメーションで実装する方が簡単です。
オプション 2 は、テスターが関数を書き直す必要があるため、より困難です。

他のオプションはありますか?ありがとう

4

1 に答える 1

0

一般的に言えば、単体テストでは、データベースが正しいデータを返すかどうかをテストするべきではありません。うまくいかないことが多すぎます。データベースがダウンしている可能性があり、ベースラインをリセットする前にユーザーがテストを強制終了する可能性があります。これは単体テストというよりも統合テストです。

私は通常、テスト用にモックアップされたデータを含むモック化されたデータ アクセス レイヤーを使用します。

ここここのリンクを参照してください

とはいえ、データベースからデータを取得する単体テストを作成する必要がある場合は、通常、テスト データでデータベースを更新するようにテストをプログラムしてから、データベース呼び出し/ストアド プロシージャを実行し、そのベースラインに対してテストします。

于 2012-12-12T01:50:36.760 に答える