APIテストに使用 QTP/UFT: 完全なチュートリアル

⚡ スマートサマリー

APIテスト QTP/UFT ユーザーインターフェースを介さずに、サービスを直接検証します。APIテストはキャンバス上のアクティビティの流れとして構築され、チェックポイントによって各レスポンスが合格かどうかが判断されます。

  • 🔘 GUIは一切使用していません。 入力データはサービスに直接送信され、記録された応答が期待値と比較されます。
  • ☑️ サポートされている5つのタイプ: ウェブサービス、REST、オブジェクト指向言語、データベース、および独自API。
  • オブジェクトではなく、アクティビティの流れ: ツールボックスからHTTPリクエストをテストフローにドラッグし、そのプロパティを設定します。
  • 🧪 検問所が判決を左右する。 ステータスコード200は、手動による検査なしに呼び出しが成功したことを示します。
  • 🛠️ 結果を1か所に集約: 実行結果ビューアは、すべてのアクティビティ、その応答、および各チェックポイントの結果を報告します。
  • 📌 現在の命名規則: QTP さらにHPサービステストが UFT現在は販売されています OpenText 機能テスト(UFT 一)。

APIテストの構築と実行 QTP (NAIST) と UFT 1

APIをテストする前に、APIとは何かを知っておく必要があります。API(アプリケーションプログラミングインターフェース)とは、他のソフトウェアアプリケーションによって実行できるソフトウェアの機能と手順の集合体です。

APIテストとは何ですか?

APIテスト   ソフトウェアテスト アプリケーションプログラミングインターフェース(API)を検証するための手法。APIテストの目的は、APIの機能性、信頼性、セキュリティ、およびパフォーマンスをテストすることです。APIテストでは、ソフトウェアを使用してAPIに入力を送信し、その出力を記録してAPIをテストします。

つまり、APIテストとは:

  • GUIを使用しないテスト
  • データまたは制御フローのシナリオをプログラムによってシミュレーションする。
  • 焦点を合わせる 機能性行動や顧客体験に基づくものではない。

以下の図は、APIテストを、サービスを呼び出すクライアントと、サービスが到達するデータの間に配置しています。

クライアント層とデータベース層間のAPIテストの範囲

API テストが重要なのはなぜですか?

APIテストには4つの大きな利点がある

1. APIテストがトレンド

次の図に示すように、APIテストは過去10年間で非常に急速に成長しました。他のテストタイプよりもはるかに人気が高まっています。

過去10年間におけるAPIテスト導入の伸びを示すグラフ

2.時間効率が良い

APIテストでは、並列実行を利用することでテスト実行時間を短縮できます。他のテストタイプと比較して、最大5倍の時間を節約できます。

3. 言語に依存しない

API テストでは、データは次の方法で交換されます。 XML or JSONのそのため、どの言語でもレスポンスのテストに使用できます。たとえば、レスポンスが JSON 形式のサービスがある場合、データを簡単に解析できます。 Java, C# または他の言語でも構いません。

4. 簡単な GUI 統合

なぜなら UFT GUIテストとAPIテストを同じソリューションに保持することで、API呼び出しによってユーザーインターフェーステスト用のデータを設定し、両方のテスト結果を同じ実行結果に出力できます。これにより、サービスチェックとそれを利用する画面を2つのツールチェーンではなく、1つのプロジェクトにまとめることができます。

APIテスト UFT (統合機能テスト)

オープンソースと商用の両方で、利用可能なツールは数多くあります。 UFT APIテストを実行するための有力な選択肢です。なぜなら、フローが視覚的に構築され、設定が1つのプロパティペインに保持されるからです。

最終バージョン QTPHP Unified と呼ばれる 機能テスト (UFT)はHPの組み合わせです QTP (GUIテストツール)とHP Service Test(APIテストツール)。 UFT Web をサポートし、 Java、.NET、 OracleSiebel、Webサービス、その他旧バージョンではサポートされていなかった多くの主要な言語やプラットフォームに対応しています。

⚠️ 製品名: ここで説明するツールは HP UFT 現在販売されているのは OpenText 機能テスト(UFT XNUMX)HPからMicro Focus、そして OpenText以下の画面はHP時代のリリース版のものなので、メニューの文言は現在のビルドとは異なりますが、APIテストの流れ、アクティビティ、チェックポイントの動作は同じです。

APIテストサポートの種類 HP UFT

  1. ウェブサービス
  2. REST
  3. オブジェクト指向言語
  4. データベース
  5. 独自のAPI

最初のAPIテストを開始するには QTP

この API テストでは、 UFT チュートリアルでは、 UFT API テストの例。Facebook の Graph API をテストします。API をテストするには、 テストケース 以下

  1. Facebook 上の指定したユーザーのプロフィールを取得します。
  2. プロファイルが期待どおりであることを確認してください。

この API のテスト フローを構築する手順は次のとおりです。

計画された UFT Facebook Graph APIテストケースのテストフロー

⚠️ この例について: FacebookはGraph API v2.3を数年前に廃止しており、以下に示すアクセストークンは既に期限切れとなっているため、このAPI呼び出しではデータは返されません。ただし、元のリクエストは動作例としてそのまま残してあります。同様の手順を任意の最新のRESTエンドポイントに適用することで、手順を追うことができます。

ステップ1) 開く HP UFT そして新しいプロジェクト「APIテスト」を作成する

  1. 選択する [スタート] > [(すべての)プログラム] > [HP ソフトウェア] > [HP Unified Functional Testing] > [Unified Functional Testing] の順に選択します。 現在のリリースでは、これは単に UFT 1 ショートカット。

    Windows HP Unified Functional Testingへのショートカットへのスタートメニューパス

  2. 詳しくはこちら [ファイル] > [新規作成] > [テスト]。 選択する APIテスト type

    UFT APIテストタイプを選択した状態で「新しいテストを追加」ダイアログが表示されます。

  3. ダイアログボックスが開いたら、APIテストの名前を入力してください。 API_フェイスブックそして、このプロジェクトを保存する場所を選択します。 創造する APIテストプロジェクトを作成する。

    新しいAPIテストにAPI_Facebookという名前を付け、保存場所を選択します。

ステップ2)テストフローにHTTPリクエストを追加する

HTTPリクエストを使用してFacebook APIにリクエストを送信します。

  1. 選択 ツールボックス > ネットワーク

    ネットワークグループは拡大し UFT ツールボックスペイン

  2. ドラッグ要素 HTTPリクエスト テストフローへ。

    HTTPリクエストアクティビティがドロップされました UFT APIテストフローキャンバス

ステップ3)HTTPリクエストにパラメータを設定して渡す

  1. 右クリックして HTTPリクエスト 編集するオブジェクト。

    テストフロー内のHTTPリクエストオブジェクトを右クリックしてメニューを開きます。

  2. プロパティの部分に、 URL

    HTTP リクエスト アクティビティのプロパティ ペイン URL フィールド

    https://graph.facebook.com/v2.3/me?access_token=CAACEdEose0cBANJsDnbZC92mNAghaM6xxZCZBZAvKlMXS98VYvKy%20OlrfAdsUWR8x5aw9Kqc0grscs9zb9IYED4VC3FwapIZBj%20dsuxy%20HdLcff38gYUBFNeRQlH%20fN7eXKoVZBNl0bR233ZAZCw8fLF1QLh98ry2ZBeYBhXLabtTDkFPZA1IqhaMG0mQp30zO1%20QxQ19nVCxZArJA6XRoB1o5FMepII5cn3DgbBmTgZD
  3. また、値を設定することで、APIにパラメータを渡すこともできます。 リクエストヘッダー グリッド。

    API呼び出しに追加のパラメータを渡すために使用されるリクエストヘッダーグリッド

    グラフ API エクスプローラー Facebookからaccess_tokenの値を取得します。

  4. をセットする HTTPメソッド 〜へ GET.

    HTTPリクエストアクティビティのHTTPメソッドリストがGETに設定されている

    リクエストのHTTPメソッドとしてGETが選択されました

  5. 構成 チェックポイント HTTPリクエストステータスコードを 200 チェックポイントの部分で、チェックポイントを使用すると、結果を手動で確認することなく、アクションが成功したかどうかを確認できます。テストの合否判定はチェックポイントによって決定されます。ステータスコードが200の場合は、テストケースが合格したことを意味します。

    チェックポイントペインで、期待されるステータスコードが200に設定されています。

ステップ 4) テストを実行する

クリック ラン ボタンを押すか、または F5テスト実行ダイアログボックスを開くには、クリックします。 ラン テストをコンパイルして実行する。

UFT 「実行」ボタンから「テストの実行」ダイアログが開きます。

ステップ5)結果を表示する

実行結果ビューアが開きます。このAPIテストでは、 UFT 例えば、テストケースが失敗した場合、次の図のように報告されます。

実行結果ビューアに、失敗したAPIテストケースが表示されています。

テストケースが合格した場合、結果は以下のように報告されます。

APIテストケースが合格したことを示す実行結果ビューア

最初のAPIテスト UFT 完了しました。

次にすることは?

これで、API テストでテストを作成する方法を学習しました。 UFTGUI のないアプリケーション用に独自のテストを作成できます。 チェックポイント 応答ごと、グループごとping に電話をかける 取引 次のステップは通常通りです。

よくあるご質問

GUIテストは画面上のコントロールを操作し、テストオブジェクトとして保存します。一方、APIテストはキャンバス上で一連のアクティビティを実行し、サービスに直接リクエストを送信するため、インターフェースからの操作は記録されません。

いいえ。APIテストにはテストオブジェクトの代わりにアクティビティ、入力および出力プロパティ、データソースがあります。 オブジェクトリポジトリ が関与します。GUIテストのみがオブジェクトを学習し、その説明を保存します。

サービスのWSDLをテストにインポートします。 UFT ドキュメントを読み込み、サービスが公開する各操作に対応するアクティビティを作成し、それらをツールボックスペインに追加して、他のアクティビティと同様にテストフローにドラッグできるようにします。

アクティビティの入力プロパティを、データソース(Excel シートや XML ファイルなど)にリンクします。ping リテラル値。各行は1回の反復処理を生成し、実行結果ビューアは反復処理ごとの結果を報告します。

AIを活用したツールは、実行結果を比較してスキーマのずれや新たに発生したエラーフィールドを特定し、繰り返し発生するエラーを原因として考えられるグループごとに分類できます。これによりトリアージの時間は短縮されますが、各チェックポイントにおける期待値の決定には依然として人間の判断が必要です。

Copilot は、テスト関連のコード(カスタム アクティビティ ロジック、レスポンスの解析、ヘルパー関数など)に役立ちます。ビジュアル テスト フローを構築したり、サービス コンテキストを読み取ったりすることはできません。tracそのため、提案されるすべてのリクエストとチェックポイントは検証が必要です。

SoapUI (NAIST) と Postman 軽くて、最初は無料です。 UFT 同一プロジェクトでユーザーインターフェースもカバーする必要がある場合、1つのライセンスと1つの結果セットで両方のレイヤーに対応できるため、その地位を確立できます。

APIテストでは、HTTPステータスコードだけでなく、レスポンスボディの内容、個々のヘッダー値、返されたデータを期待されるソースと比較してチェックできます。すべてのチェックポイントの結果は、実行結果ビューアでリクエストとともに表示されます。