ソフトウェアテストにおけるテストデータとは何ですか?
テスターとしては、「テスト ケースの設計は十分に難しいのに、なぜテスト データのような些細なことを気にする必要があるのか」と考えるかもしれません。 このチュートリアルの目的は、テスト データとその重要性を紹介し、テスト データを迅速に生成するための実践的なヒントとコツを提供することです。 それでは、始めましょう!
ソフトウェアテストにおけるテストデータとは何ですか?
ソフトウェアテストにおけるテストデータ テスト実行中にソフトウェア プログラムに与えられる入力です。 これは、テスト中のソフトウェアの実行に影響を与える、または影響を受けるデータを表します。 テスト データは、関数が指定された入力に対して期待される結果を生成することを検証するポジティブ テストと、異常、例外、または予期しない入力を処理するソフトウェアの能力をテストするネガティブ テストの両方に使用されます。
テスト データの設計が不十分だと、考えられるすべてのテスト シナリオがテストされない可能性があり、ソフトウェアの品質が妨げられます。
テストデータ生成とは何ですか? テスト実行前にテスト データを作成する必要があるのはなぜですか?
テストが大量のデータを生成および消費するプロセスであることは誰もが知っています。 テストで使用されるデータは、テストの初期条件を記述し、テスターがソフトウェアに影響を与える媒体を表します。 それはほとんどの重要な部分です 機能テスト.
テスト環境によっては、テスト データを作成する (ほとんどの場合) か、少なくともテスト ケースに適したテスト データを特定する (テスト データがすでに作成されているかどうか) 必要がある場合があります。
通常、テストデータは、 テストケース に使用することを目的としています。
テストデータを生成可能 –
- 手動で
- 本番環境からテスト環境へのデータの大量コピー
- レガシークライアントシステムからのテストデータの大量コピー
- 自動テストデータ生成ツール
通常、サンプルデータはテスト実行を開始する前に生成する必要があります。そうしないとテストデータの管理が難しくなるためです。 多くのテスト環境でテスト データを作成するには、複数の前段階が必要になるか、非常に時間のかかるテスト環境の構成が必要になります。 。 また、テストデータ生成が完了している場合 while テスト実行段階にあるため、テスト期限を超える可能性があります。
以下では、いくつかのテスト タイプと、テスト データのニーズに関するいくつかの提案について説明します。
ホワイトのテストデータ Box テスト
In ホワイト Box テストテスト データ管理は、テスト対象のコードを直接調べることによって行われます。テスト データは、次の点を考慮して選択できます。
- できるだけ多くのブランチをカバーすることが望ましいです。 プログラム ソース コード内のすべての分岐が少なくとも XNUMX 回テストされるように、テスト データを生成できます。
- パスのテスト: プログラム ソース コード内のすべてのパスが少なくとも XNUMX 回テストされます。テスト データの準備は、可能な限り多くのケースをカバーするために実行できます。
- 負 APIテスト:
- テスト データには、さまざまなメソッドを呼び出すために使用される無効なパラメータ タイプが含まれている可能性があります
- テストデータは、プログラムのメソッドを呼び出すために使用される引数の無効な組み合わせで構成されている可能性があります
パフォーマンステスト用のテストデータ
性能試験 特定のワークロード下でシステムがどれだけ速く応答するかを判断するために実行されるテストの種類です。 このタイプのテストの目的は、バグを見つけることではなく、ボトルネックを排除することです。 パフォーマンス テストの重要な側面は、使用されるサンプル データのセットが次の値に非常に近いものである必要があることです。 「本物」か「生きている」か 実際のデータでテストするのはいいことだが、どうやってこのデータを入手すればいいのだろうか?という疑問が湧いてくる。答えは実に単純明快だ。最もよく知っている人々から、 お客様。 彼らは、すでに持っているデータを提供できるかもしれません。また、既存のデータセットがない場合は、現実世界のデータがどのように見えるかについてフィードバックを提供してくれるかもしれません。 万が一の場合には、 保守テスト プロジェクトでは、本番環境からテスト ベッドにデータをコピーできます。 それは良い習慣です 匿名化する (スクランブル) 社会保障番号、クレジット カードなどの機密性の高い顧客データ Numbersコピーを作成する際に、銀行口座の詳細などを入力します。
セキュリティテスト用のテストデータ
セキュリティテスト 情報システムが悪意のある意図からデータを保護しているかどうかを判断するプロセスです。ソフトウェア セキュリティを完全にテストするために設計する必要があるデータ セットは、次のトピックをカバーする必要があります。
- 守秘義務: クライアントから提供されたすべての情報は極秘に保管され、外部の第三者と共有されることはありません。 短い例として、アプリケーションが SSL を使用している場合、暗号化が正しく行われていることを検証する一連のテスト データを設計できます。
- Integrity: システムから提供された情報が正しいかどうかを確認します。 適切なテスト データを設計するには、設計、コード、データベース、ファイル構造を詳しく調べることから始めます。
- 認証: ユーザーの ID を確立するプロセスを表します。 テスト データは、ユーザー名とパスワードのさまざまな組み合わせとして設計でき、その目的は、許可されたユーザーのみがソフトウェア システムにアクセスできることを確認することです。
- 承認: 特定のユーザーの権限を示します。 テスト データには、ユーザー、ロール、およびユーザーの異なる組み合わせが含まれる場合があります。 管理ツール 十分な権限を持つユーザーだけが特定の操作を実行できるかどうかを確認します。
黒のテストデータ Box テスト
黒で Box コードのテストはテスターには見えません。機能テストケースには、次の基準を満たすテストデータを含めることができます。
- データなし: データが送信されていない場合のシステム応答を確認します。
- 有効なデータ: 有効なテストデータが送信されたときにシステムの応答を確認します
- 無効なデータ: システムの応答を確認するとき 無効 テストデータが提出されました
- 不正なデータ形式: テストデータが無効な形式の場合、システムの応答を確認します
- 境界条件データセット:境界値条件を満たすテストデータ
- 等価パーティションデータセット: 等価パーティションを評価するテストデータ。
- デシジョンテーブルデータセット: デシジョンテーブルのテスト戦略を適格にするテストデータ
- 状態遷移テスト データ セット: 状態遷移テスト戦略を満たすテストデータ
- ユースケースのテストデータ: ユースケースと同期したデータをテストします。
注意: テストするソフトウェア アプリケーションに応じて、上記のテスト データ作成の一部またはすべてを使用できます。
自動テストデータ生成ツール
さまざまなデータセットを生成するために、さまざまな自動テストデータ生成ツールを使用できます。 以下にそのようなツールの例をいくつか示します。
DTM テストデータジェネレータは、データベース テスト (パフォーマンス テスト、QA テスト、負荷テスト、ユーザビリティ テスト) の目的でデータ、テーブル (ビュー、プロシージャなど) を生成する、完全にカスタマイズ可能なユーティリティです。
データテクトは、 SQL Banner Softwareのデータジェネレータは、ASCIIフラットファイルでさまざまな現実的なテストデータを生成したり、RDBMSのテストデータを直接生成したりします。 Oracle、Sybase、SQL Server、および Informix。
まとめ:
結論として、適切に設計されたテスト データにより、機能の重大な欠陥を特定して修正することができます。 選択したテスト データの選択は、複数フェーズの製品開発サイクルの各フェーズで再評価する必要があります。 ですから、常に注目してください。 このプロセスを促進するには、効率的な テストデータ生成ツール ワークフローを大幅に合理化できます。