ソフトウェアテストにおけるテストデータとは何ですか?
⚡ スマートサマリー
ソフトウェアテストにおけるテストデータとは、テスト実行中にアプリケーションに入力されるデータのことです。適切に設計されたデータは、肯定的な検証、否定的な検証、パフォーマンスチェック、セキュリティチェックなどを可能にするため、製品ライフサイクル全体を通して生成、匿名化、更新される必要があります。
テスターとして、テストケースの設計だけでも十分難しいのに、テストデータのようなルーチン作業にわざわざ時間をかける必要はないと思うかもしれません。このチュートリアルでは、テストデータについて解説し、その重要性を説明するとともに、テストデータを迅速に生成するための実践的なヒントを紹介します。
ソフトウェアテストにおけるテストデータとは何ですか?
ソフトウェアテストにおけるテストデータ テストデータは、テスト実行中にソフトウェアプログラムに与えられる入力です。これは、テスト中にソフトウェアに影響を与えたり、ソフトウェアから影響を受けたりするデータを表します。テストデータは、ポジティブテスト(指定された入力に対して関数が期待どおりの結果を生成することを検証する)とネガティブテスト(ソフトウェアが異常な入力、例外的な入力、または無効な入力をどのように処理するかを確認する)の両方で使用されます。
設計が不十分なテストデータは、考えられるすべてのシナリオを網羅できておらず、ソフトウェアの品質を直接的に低下させる。
テストデータ生成とは何か、そしてなぜテスト実行前にテストデータを作成する必要があるのか?
テストは、大量のデータを生成および消費するプロセスです。テストで使用されるデータは、テストの初期条件を記述し、テスターがソフトウェアとやり取りするための媒体となります。したがって、ほとんどのテストにおいて重要な部分を占めます。 機能テスト.
テスト環境によっては、 作ります テストデータをゼロから作成するか、少なくとも適切な既存のデータセットを特定してください。 テストケーステストデータは通常、それがサポートするテストケースと同期して作成されます。
テストデータは、一般的に以下の4つの方法で生成できます。
- テスターまたはビジネスアナリストが手動で行う。
- 本番環境からテスト環境へのデータの大量コピー。
- 旧クライアントシステムからのテストデータの大量コピー。
- 自動テストデータ生成ツール。
サンプルデータを生成する必要があります テスト実行は開始されます。なぜなら、後から作成すると管理が困難になるからです。多くのテスト環境では、データをロードする前に複数の事前手順や時間のかかる設定が必要です。実行フェーズ中にデータ生成が行われると、テストの期限に間に合わないリスクがあります。
以下のセクションでは、いくつかのテストの種類と、それぞれのテストに必要なテストデータに関する提案について説明します。
ホワイトのテストデータ Box テスト
In ホワイト Box テストテストデータ管理は、テスト対象コードの直接的な検証に基づいて行われます。選択基準には通常、以下の項目が含まれます。
- 支店のカバー範囲: ソースコード内のすべての分岐が少なくとも一度はテストされるようにデータを生成する。
- パステスト: すべての経路が少なくとも一度は実行されるようにデータを作成する。
- 負 APIテスト: 内部メソッドを呼び出す際に、無効なパラメータ型または無効な引数の組み合わせを使用しました。
パフォーマンステスト用のテストデータ
性能試験 特定のワークロードの下でシステムがどれだけ速く応答するかを測定します。目的は機能的なバグを見つけることではなく、ボトルネックを特定することです。サンプルデータセットは、 リアルまたはライブ 結果が意味を持つためには、生産データが必要となる。
どうやってそのようなデータを入手するのですか?最も信頼できる情報源は お客さま 彼ら自身。既存のデータセットを提供するか、現実世界のデータがどのように見えるかを記述してモデル化することができます。 保守テスト プロジェクトでは、本番環境からテスト環境にデータをコピーできます。 匿名化する (スクランブル)機密情報(社会保障番号、クレジットカード番号、銀行口座情報など)は、コピーを作成する前に必ず処理してください。
セキュリティテスト用のテストデータ
セキュリティテスト 情報システムが悪意のある意図からデータを保護していることを検証します。データセットは、次の4つの柱を網羅する必要があります。
- 守秘義務: 顧客からの情報は厳重に機密保持され、外部の第三者と共有されることはありません。アプリケーションがSSLを使用する場合は、暗号化が正しく行われていることを証明するデータを設計してください。
- Integrity: システムから返される情報は正しい。設計、コード、データベーススキーマ、ファイル構造を確認してデータを構築する。
- 認証: ユーザーの身元確認プロセス。ユーザー名とパスワードのさまざまな組み合わせを使用して、許可されたユーザーのみがアクセスできることを確認します。
- 承認: 特定のユーザーに付与された権限。ユーザー、役割、操作を組み合わせて、十分な権限を持つユーザーのみが特定の操作を実行できるようにします。
黒のテストデータ Box テスト
黒で Box コードのテストはテスターには見えません。機能テストケースには、以下の基準を満たすデータを含める必要があります。
- データなし: 何も送信されなかった場合の応答を確認します。
- 有効なデータ: 正しいテストデータを用いて応答を確認してください。
- 無効なデータ: 誤ったテストデータを用いて応答を確認する。
- 不正なデータ形式: データがサポートされていない形式の場合の応答を確認します。
- 境界条件データセット: データは、最小値、最大値、および境界値のすぐ外側に位置している。
- 同値分割データセット: 各同値類を表すデータ。
- 決定表データセット: 決定表のすべてのルールを実行するデータ。
- 状態遷移データセット: 定義された各状態遷移を通してシステムを駆動するデータ。
- ユースケーステストデータ: エンドツーエンドのユースケースに沿ったデータ。
注意: テスト対象のアプリケーションによっては、上記のカテゴリの一部またはすべてを使用する場合があります。
自動テストデータ生成ツール
自動化ツールは、手作業よりもはるかに速く、大規模で多様なデータセットを生成します。長年にわたる2つの例は次のとおりです。
- DTMテストデータ Generator — パフォーマンス、品質保証、負荷、ユーザビリティなどのデータベーステストシナリオ向けに、データ、テーブル、ビュー、プロシージャを生成するカスタマイズ可能なユーティリティ。
- データテクト - an SQL Banner Software のデータジェネレーターは、ASCII フラットファイルまたは RDBMS システムに直接、現実的なテストデータを作成します。 Oracle、Sybase、SQL Server、および Informix。
評価済みの最新の候補者リストについては、以下を参照してください。 ベストテストデータ10選 Generator ツール.
テストデータの管理に関するベストプラクティス
信頼性の高いテストデータは、規律正しいハウスキーパーにかかっているpingリリース間でデータセットを健全に保つには、以下の手順に従ってください。
- データのバージョン管理を行う: 変更内容を監査できるように、データセットは、それを利用するテストケースとともにリポジトリに保存します。
- マスク対象フィールド: 生産現場からデータをコピーする前に、個人情報、財務情報、健康情報を匿名化する。
- 定期的に更新してください: スキーマやビジネスルールの変更に対応するため、リリースごとにデータセットを再構築します。
- 期待される成果を文書化する: 各データセットを期待される結果と関連付けることで、障害発生時のトリアージが容易になります。
- シード処理を自動化する: スクリプトまたはフィクスチャを使用して、各テスト実行の開始時にデータをロードし、再現性を確保する。


