このページを共有

# 手動テストとGherkinテストを使用してテストスイートを作成する

このフローは、REST APIを使用して、手動テストとGherkinテストを含むテストスイートを作成する方法を示しています。

1. 手動テストとその手順を作成する

2. Gherkinテストとそのスクリプトを作成する

3. これら2つのテストで構成されるテストスイートを作成します

エリア: 手動テスト、Gherkinテスト、テストスイート

このトピックの内容:

## エンティティ関連図

このフローでは、次のエンティティにアクセスし、これらのエンティティ間の関係を理解する必要があります。

エンティティ | このフローの関係 | 関係の説明 | 参照 /関係フィールド
--- | --- | --- | ---
テスト | 手動テスト、Gherkinテスト、およびテストスイート | この集約リソースコレクションは、手動テスト、Gherkinテスト、自動テスト、テストスイートなどのテストの種類を表します。 | subtype
手動テスト | テスト | 手動テストは、tests集約リソースコレクションのサブタイプです。 手動テストには、manual_testsリソースコレクションからもアクセスできます。 集約リソースコレクションtestsに関連するフィールドはありません。 |
手順 | 手動のテスト手順は、ALM Octane内部リポジトリに保存されています。ステップは、testsリソースコレクションの対応するテストの下でscriptリソースとしてアクセスされます。 | `tests\<test_ID>\script`
Gherkinテスト | テスト | Gherkinテストは、tests集約リソースコレクションのサブタイプです。 Gherkinテストには、gherkin_testsリソースコレクションからもアクセスできます。 集約リソースコレクションtestsに関連するフィールドはありません。 |
スクリプト | Gherkinテストスクリプトは、ALM Octane内部リポジトリに保存されています。スクリプトは、testsリソースコレクションの対応するテストの下で、scriptリソースとしてアクセスされます。 | `tests\<test_ID>\script`
スイートでのテスト | テストスイート | test_suite_link_to_testsリソースコレクションは、テストスイートと、そのすべての手動テストおよびGherkinテストとの間の関連付けを管理します。その唯一の目的は、エンティティをリンクすることです。 | test_suite
Gherkinテスト | test
手動テスト | test

トップに戻る

## フロー

テストスイートを段階的に作成するためのREST API呼び出しを作成しましょう。

手動テストの作成

1. 通常、フェーズをNewに設定して手動テストを作成します。したがって、最初にフェーズエンティティをチェックして、手動テストのNewフェーズに対応するIDを確認しましょう。

   `GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/phases?query="logical_name EQ 'phase.test_manual.new'"`

   このGET操作は、フェーズIDとして1009を返します。

       {
         "total_count": 1,
         "data": [
           {
             "type": "phase",
             "creation_time": "2017-04-02T19:06:49Z",
             "is_system": true,
             "logical_name": "phase.test_manual.new",
             "version_stamp": 1,
             "is_start_phase": true,
             "description": null,
             "name": "New",
             "id": "1009",
             "metaphase": {
               "type": "metaphase",
               "id": "1005"
             },
             "last_modified": "2017-04-02T19:06:49Z",
             "entity": "test_manual"
           }
         ],
         "exceeds_total_count": false
       }

2. NewフェーズでMyManualTestという名前の手動テストをPOSTします。

   `POST .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/manual_tests`

   ペイロード

            {"data":[

              {

                "phase":{

                           "id": 1009,

                           "type":"phase"

                        },

                "name":"MyManualTest"

              }    ]

            }

   それに応じて、手動テストはID1079で作成されます。

       {
         "total_count": 1,
         "data": [
           {
             "type": "test_manual",
             "id": "1079"
           }
         ],
         "exceeds_total_count": false
       }

3. ここで、PUT操作を使用してテストステップを追加することにより、新しく作成されたMyManualTest(ID 1079) を更新します。

   手動テストには、3つのステップと1つの検証ステップがあります。

   スクリプトは、manual_testsリソースコレクションではなく、testsリソースコレクションを使用して追加されます。

   テストスクリプトはバージョン管理をサポートします。したがって、テストをそのステップで更新するときに、このバージョンのテストステップのコメントとリビジョンタイプを指定できます。リビジョンタイプは、メジャーまたはマイナーです。

   このフローでは、バージョンに空白のコメントがあり、そのリビジョンタイプはマイナーと見なされます。リビジョンタイプは、メジャーまたはマイナーです。

   `PUT /api/shared_spaces/<space_id>/workspaces/<workspace_id>/tests/1079/script`

   ペイロード

       {  "script":"- Enter user name. \n- Enter password. \n- Press <ENTER>.\n- ? Was login successful? ",

           "comment":"Testing login procedure.",

           "revision_type":"Minor"

       }

   手順は手動テストに追加されます。

トップに戻る

Gherkinテストの作成

1. 通常、必須フェーズをNewに設定してGherkinテストを作成します。したがって、最初にフェーズエンティティをチェックして、GherkinテストのNewフェーズに対応するIDを確認しましょう。

   `GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/phases?query="logical_name EQ 'phase.gherkin_test.new'"`

   このGET操作は、フェーズIDとして1014を返します。

       {
         "total_count": 1,
         "data": [
           {
             "type": "phase",
             "creation_time": "2017-04-02T19:06:49Z",
             "is_system": true,
             "logical_name": "phase.gherkin_test.new",
             "version_stamp": 1,
             "is_start_phase": true,
             "description": null,
             "name": "New",
             "id": "1014",
             "metaphase": {
               "type": "metaphase",
               "id": "1005"
             },
             "last_modified": "2017-04-02T19:06:49Z",
             "entity": "gherkin_test"
           }
         ],
         "exceeds_total_count": false
       }

2. MyGherkinTestという名前のGherkinテストをPOSTします。

   `POST .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/gherkin_tests`

   ペイロード

            {"data":[

              {

                "phase":{

                           "id": 1014,

                           "type":"phase"

                        },

                "name":"MyGherkinTest"

              }    ]

            }

   それに応じて、GherkinテストはID1074で作成されます。

       {
         "total_count": 1,
         "data": [
           {
             "type": "gherkin_test",
             "id": "1074"
           }
         ],
         "exceeds_total_count": false
       }

3. ここで、PUT操作を使用してスクリプトを追加することにより、新しく作成されたMyGherkinTest(ID1074) を更新します。

   スクリプトは、gherkin_testsリソースコレクションではなく、testsリソースコレクションを使用して追加されます。

   私たちのGherkinテストには、1つのフィーチャーと1つのシナリオがあります。

   テストスクリプトはバージョン管理をサポートします。したがって、テストをそのステップで更新するときに、このバージョンのテストステップのコメントとリビジョンタイプを指定できます。このフローでは、バージョンに空白のコメントがあり、そのリビジョンタイプはマイナーと見なされます。リビジョンタイプは、メジャーまたはマイナーです。

   `PUT .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/tests/1074/script`

   ペイロード

       {
                   "script": "Feature: Buying items in shopping cart, single user\n \n\tBackground: \n\t\tGiven payment security system is up\n \n\tScenario: Julio buys items in his cart\n\t\tGiven a customer named \"Julio Brown\" \n\t\tGiven I am logged in as Julio \n\t\tGiven I have at least one item in cart\n\t\tWhen I try to buy items in my cart\n\t\tThen I should be asked for my payment method",

                   "comment": "Testing shopping cart functionality.",
                   "revision_type": "Minor"
       }

   スクリプトがGherkinテストに追加されます。

   トップに戻る

テストスイートの作成

ここで、POST操作でtest_suitesリソースコレクションを使用して、MyTestSuiteという空のテストスイートを作成します。

`POST /api/shared_spaces/<space_id>/workspaces/<workspace_id>/test_suites`

ペイロード

    {"data":[

     { "name":"MyTestSuite" }

     ]

    }

テストスイートは、ID1082で作成されます。

    {
      "total_count": 1,
      "data": [
        {
          "type": "test_suite",
          "id": "1082"
        }
      ],
      "exceeds_total_count": false
    }

トップに戻る

テストスイートへのテストの追加

次に、test_suite_link_to_testsというリソースコレクションにアクセスして、2つのPOST操作を使用して既存の手動テスト (1079) とGherkinテスト (1074) をリンクします。

- 手動テストのリンク

  `POST /api/shared_spaces/<space_id>/workspaces/<workspace_id>/test_suite_link_to_tests`

  ペイロード

      {
       "data":[
         {
            "test_suite":{"type":"test","id":"1082"},
            "test":{"type":"test","id":"1079"}
         }
       ]
      }

- Gherkinテストのリンク

  `POST /api/shared_spaces/<space_id>/workspaces/<workspace_id>/test_suite_link_to_tests`

  ペイロード

      {
       "data":[
         {
            "test_suite":{"type":"test","id":"1082"},
            "test":{"type":"test","id":"1074"}
         }
       ]
      }

トップに戻る

特定のテストスイートにリンクされているテストのリストを取得する

このREST API呼び出しを段階的に作成して、参照フィールドを使用してクエリを実行する方法を説明しましょう。

1. 基本的なGETから始めて、ワークスペース内のテストスイートとそのテスト間のすべてのリンクを一覧表示しましょう。

   `GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/test_suite_link_to_tests`

2. query_clauseを作成しましょう。特定のテストスイートに関連付けられている手動テストとGherkinテストにのみ関心があります。

   参照フィールドtest_suiteを使用して、IDでテストスイートをフィルタリングします。これは、IDが1082であるテストスイートにリンクされている手動テストまたはGherkinテストを一覧表示します。

   `GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/test_suite_link_to_tests?query="test_suite EQ {id EQ 1082}"`

   参照フィールドの構文に注意してください。

   標準のリクエスト構文 | 参照フィールドの構文
   --- | ---
   等号 (=) | EQ演算子
   引用符 (") | キャロット (^)

応答は、テストスイートに追加した2つのテストを示しています。

    {
      "total_count": 2,
      "data": [
        {
          "type": "test_suite_link_to_test",
          "creation_time": "2017-04-20T06:59:17Z",
          "test_suite": {
            "type": "test_suite",
            "id": "1082"
          },
          "test": {
            "type": "test_manual",
            "id": "1079"
          },
          "version_stamp": 1,
          "author": {
            "type": "workspace_user",
            "id": "1024"
          },
          "id": "1014",
          "last_modified": "2017-04-20T06:59:17Z"
        },
        {
          "type": "test_suite_link_to_test",
          "creation_time": "2017-04-20T07:04:31Z",
          "test_suite": {
            "type": "test_suite",
            "id": "1082"
          },
          "test": {
            "type": "gherkin_test",
            "id": "1074"
          },
          "version_stamp": 1,
          "author": {
            "type": "workspace_user",
            "id": "1024"
          },
          "id": "1015",
          "last_modified": "2017-04-20T07:04:31Z"
        }
      ],
      "exceeds_total_count": false
    }

トップに戻る

参照情報:

- REST APIの操作方法
- 一般的なフローとERダイアグラム
- 手動テストの操作
- テストスイート実行の計画

https://admhelp.microfocus.com ALM Octane 8942
検索結果を改善するためのヒント... ALM Octaneヘルプセンター ALM Octaneヘルプ 15.1.90 すべて ローカルヘルプセンターを表示 オンラインヘルプセンターを表示 戻る ブラウザーの履歴内を戻る 進む ブラウザーの履歴内を進む 検索のハイライトを削除する 次のトピック 次のトピックに進む 前のトピック 前のトピックに戻る 現在のトピックを印刷 バージョン: