how data driven testing works examples qtp
多くの場合、同じテストを実行する必要のあるデータセットがいくつかあります。また、データセットの値ごとに異なるテストを作成するのは時間がかかり、非効率的です。
データ駆動型テストは、機能テストの外部にデータを保持し、自動化テストを拡張する必要があるときにデータをロードすることで、この問題を克服します。
このチュートリアルでは、データ駆動型テスト–それが何であるか、どのように機能するか、長所と短所などについて説明します。
モバイルテストの面接の質問と回答
学習内容:
データドリブンテストとは何ですか?
データ駆動型テスト は テスト設計 そして 実行戦略 テストスクリプトは、ハードコードされた値を使用するのではなく、ADOオブジェクト、ODBCソース、CSVファイルなどのデータソース(ファイルまたはデータベース)からテストデータを読み取ります。
のセットアップと制御 テスト環境 このプロセスでは、ハードコーディングされていません。

また読む => 最も人気のあるテスト自動化フレームワーク
データ駆動型スクリプト
データ駆動型スクリプトは、変数データセットに対応するようにコード化および変更されたアプリケーション固有のスクリプト(JavaScriptなど)として定義できます。
データ駆動型スクリプトの機能の一部は次のとおりです。
- 変数データとハードコードされたコンポーネントの識別: テストスクリプトにハードコードされたコンポーネントが含まれている場合、それらはアプリケーションの変更で壊れます。したがって、変数データを組み込む方法を見つけてください。ただし、すべてが可変であるとは限らないため、データ駆動型スクリプトは、可変領域とハードコードされた領域の両方で構成されることがよくあります。両方の適切なバランスでスクリプトを設計するのは、自動化テスターの機能です。
- 重複するテスト設計: データ駆動型スクリプトでは、すべてのアプリケーション設計がスクリプト言語を使用して開発されています。自動テスターと手動テスターの両方の参照を同期するために、手動テストスクリプトと自動テストスクリプトの両方で複製されます。
キーワード駆動テスト自動化
キーワード駆動テスト自動化 多くの場合、テーブル駆動型テスト自動化として知られています。これはアプリケーションに依存しない自動化フレームワークであり、キーワードを使用してデータテーブルの形式でテストが開発されます。
キーワード駆動のいくつかの機能 テスト自動化 は:
- 再利用可能なコード、エラー訂正、および同期: 構築されたアプリケーションに依存しないコンポーネントは、アプリケーション固有のデータを受け入れます。これらのコンポーネントは、テストするすべてのアプリケーションで再利用できます。
- オールインワンレコード: オールインワンレコードとは、実行するアクション、期待される結果、および実際の結果を指します。
ハイブリッドテスト自動化
ハイブリッドテスト自動化フレームワークは、データ駆動型とキーワード駆動型の自動化フレームワークを組み合わせたものです。

DDTの例
データ駆動型テストの例を見てみましょう。フライト予約Webサイトのログインページについて考えてみます。
1) テストデータファイルは、TestData.csv(カンマ区切り値)として作成されます
二) このファイルには、ドライバースクリプトに与えられた入力と、次の表に示す期待される結果が含まれています。

3) 上記のデータファイルのドライバスクリプトは、
data = open( ‘TestData.csv’)。read()
lines = data.splitlines()
4) 上記のドライバースクリプトに対して実行される手順は次のとおりです。
- 読み取り値1
- Value2を読む
- 読み取り演算子
5) Value1とvalue2の演算子を使用して結果を計算します
6) 最後に、期待される結果と実際の結果を比較します
Javaで文字列配列を作成する方法
QTPのデータ駆動型フレームワーク
QTPでデータ駆動型フレームワークを作成するには、次のコンポーネントが必要です。
- テストスクリプトとオブジェクトリポジトリ: データを読み取り、外部ソースからAUTに適用する場合
- 外部データソース: テストスクリプトの実行に必要なテストデータが含まれています。
QTPは次のデータソースをサポートしています。
- Excelファイル
- テキストファイル
- XMLファイル
- データベース
QTPでデータ駆動型フレームワークを作成する方法は次の3つです。
- 方法1 QTPとデータテーブルを使用します。QTP内のすべてのデータが保存され、データテーブルから取得されます。
- 方法2 QTP、データテーブル、およびExcelファイルを使用します。QTPはExcelファイルからデータテーブルにデータをコピーし、組み込みの方法を使用してデータテーブルのデータにアクセスします。
- 方法3 すべてのデータがExcelファイルに保存され、QTPが組み込みメソッドを使用してExcelファイルから直接データを読み取るQTPおよびExcelファイルを使用します。
=> 例を使用して、QTPのデータ駆動型フレームワークの詳細をご覧ください
SeleniumWebdriverデータ駆動型フレームワーク
1) Selenium Webdriver Data Driven Frameworkは、ODBCソース、CVSファイル、およびExcelファイルからテストの入力と出力を受け取ります。
二) このフレームワークには、プログラムのナビゲーション、データファイルの読み取り、テストステータスのログ記録が含まれます。
3) フレームワークには次の機能が必要です。
- 大規模なデータセットをテストする時間が短縮されます
- より簡単、迅速、効率的な分析
- 簡単なデバッグ
- 明確に定義された建築設計
- 堅牢で安定した信頼性の高い
- 簡単なスクリプトメンテナンス
- 複数のテスト環境でのスクリプトの実行
=> 詳細については、この記事をお読みください 例を挙げて、Seleniumのデータ駆動型フレームワークについて。
TestNGを使用したデータ駆動型テストの作成
1) TestNGは、 データ駆動型の自動化 Seleniumでテストが可能です。
二) 回帰自動化テストを実行するための機能が追加されたJUnitで作成されています
3) TestNGは、SeleniumWebdriverで広く使用されている人気のあるフレームワークです。
4) パラメータ化、並列テスト実行などのいくつかの追加の主要機能があり、JDK7以降が必要です
5) のクールな機能のいくつか TestNG それをより簡単かつ効率的にするのは次のとおりです。
- 注釈
- 柔軟なテスト構成
- デフォルトのJDK関数
- さまざまなツールとプラグインでサポートされています
- パラメータのサポート
- DataProvidersを使用したデータ駆動型テストのサポート
- 強力で安全な実行モデル
- すべてのカテゴリのテストを実行するために使用されます
6) DataProvidersは、テストメソッドとテストデータを提供するクラスで定義されているデータフィーダーメソッドです。
データ駆動型テストの利点
- アプリケーションの開発段階でテストスクリプトを作成する可能性
- テストスクリプトの冗長性と不要な重複が削減されます
- 少ないコードでテストスクリプトを生成します
- 入力、出力、期待される結果などのすべての情報は、適切に管理されたテキストレコードの形式で保存されます
- アプリケーションのメンテナンスに柔軟性を提供します
データ駆動型テストのデメリット
- スクリプト言語の優れた専門知識が必要です
- 大きな番号が必要です。多くの入力を持つ各テストケースのデータファイルの数
- 新しいテストケースを作成するには、テストケースに加えられた変更がドライバースクリプトに反映されるように、またはその逆になるように、異なるデータを含む新しいドライバースクリプトが必要です。
また読む => SoapUIを使用してデータ駆動型テストを実行する方法
結論
データドリブンテストは、さまざまな入力データを使用してアプリケーション上で自動テストを迅速に実行するのに役立ち、アプリケーションのパフォーマンスを保証するための広いカバレッジも提供します。データドリブンテストは、リスクを軽減し、リアルタイム分析で情報へのアクセスと共有を容易にすることで、ビジネスインテリジェンスも強化します。
意思決定プロセスをスピードアップし、次に迅速な自動化テストをスピードアップします。データセットのクイックナビゲーションも、データドリブンテストが提供する重要な機能であり、AUTのテストタイムラインを短縮します。
著者について: Sanjay Zalavadia –クライアントサービス担当副社長として ゼファー 、Sanjayは、ITおよびテクニカルサポートサービスで15年以上のリーダーシップの経験をもたらします。彼のキャリアを通じて、彼は大企業と中小企業の両方の複数の地域にわたって最高のITおよびサポートサービスチームを確立し、成長させてきました。
データドリブンテスト戦略について質問がある場合はお知らせください。
推奨読書
- QTPチュートリアル#18 –QTPの例で説明されたデータ駆動型およびハイブリッドフレームワーク
- ApachePOIを使用したSeleniumWebDriverのデータ駆動型フレームワーク
- SpockFrameworkを使用したデータ駆動型またはパラメーター化されたテスト
- TestCompleteツールを使用してデータ駆動型テストを実行する方法
- SoapUI Proでデータ駆動型テストを実行する方法– SoapUIチュートリアル#14
- ボリュームテストチュートリアル:例とボリュームテストツール
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)
- ETLテストデータウェアハウステストチュートリアル(完全ガイド)