Automated Test Framework (ATF) では、変更を行った後にインスタンスが動作することを確認するための自動テストを作成して実行することができます。たとえば、アップグレード後、アプリケーション開発中、または更新セットを使用してインスタンス構成を展開する場合です。失敗したテストの結果を確認して、失敗の原因となった変更と、レビューする必要がある変更を特定します。

注: デフォルトでは、自動テストを実行するためのシステムプロパティは無効になっており、本番システムで誤って実行されないようになっています。データの破損や機能停止を避けるため、テストは、開発、テスト、およびその他の非本番インスタンスでのみ実行してください。詳細については、ATF の概要に関するこちらの動画をご覧ください。

開発者トレーニングについては、ServiceNow 開発者サイト の「 の使用Automated Test Framework」を参照してください。

利点

Automated Test Framework は、変更マネージャーおよび開発者にこれらのメリットを提供します。
  • 手動テストを自動テストに置き換えることで、アップグレードと開発時間を短縮します。
  • テストを一度設計し、さまざまなコンテキストおよびさまざまなテストデータセットでそれらを再利用します。
  • テストデータと各テスト実行後に行われた変更をロールバックすることで、テストインスタンスをクリーンに保ちます。
  • テストスイートを作成して、テストをひとまとまりの数量に整理し、実行します。
  • テストスイートの実行をスケジュールします。
  • 技術者以外のテストデザイナーが標準 Now Platform 機能のテストを作成できるようにします。
  • クイックスタートテストとテストスイートをコピーして、テスト設計時間を短縮します。
  • テスト範囲を拡大するためのカスタムテストステップを作成します。

Automated Test Framework レコードとコンポーネント

Automated Test Framework は、これらのレコードとコンポーネントで構成されています。

テスト

テストは、機能の何らかの機能性を検証する自動化された関連テストステップの論理的なグループです。各テストはテスト [sys_atf_test] テーブルのレコードです。テストデザイナーは通常、1 つの機能または関連機能のグループを検証するためのテストを作成します。たとえば、CSM:製品ケースの作成テストは、製品ケースレコードの作成を検証します。各テストには、テストステップとテスト結果の関連リストがあります。

テストスイート

テストスイートは、特定の順序で実行されるテストの集まりです。テストデザイナーは通常、アプリケーションまたは関連機能のグループをテストするためのテストスイートを作成します。たとえば、CSM:ケースマネジメントテストスイートは、Customer Service Management アプリケーションの機能を検証します。テスト設計者は、テストスイートの実行および必要なクライアントテストランナーの起動をスケジュールできます。

クイックスタートテスト

クイックスタートテストとは、アプリケーションのデモデータと共にインストールされるテストやテストスイートのことです。クイックスタートテストをテンプレートとして使用して、独自のテストとテストスイートを構築します。詳細については、クイックスタートテストの概要に関するこちらの動画を参照してください。

テストステップ

テストステップは、ステップを実行するために必要な実行時テストデータとステップ構成を組み合わせます。テストステップは常に、テストで実行される順序を指定します。テストステップには、ステップ結果の独自の関連リストがあります。各テストステップは、テストアクション、ステップ構成、および実行順序を指定するテストステップ [sys_atf_step] テーブル内のレコードです。テスト設計者は、機能を検証するテストにテストステップを追加します。たとえば、CSM:製品ケースの作成テストの最初のテストステップは、ケースマネジメントの権限が与えられているデモユーザー John Jason に偽装することです。

ステップ構成

ステップ構成は、Automated Test Framework が実行できる特定のテストアクションです。ステップ構成にはランタイムテストデータは含まれず、テスト設計者がそれらをテストステップの一部として追加するときにのみ実行できます。各ステップ構成は、ステップ構成の実行に使用される入力変数と他のステップ構成で使用可能な出力変数を指定するテストステップ設定 [sys_atf_step_config] テーブル内のレコードです。たとえば、偽装ステップ構成では、テストは別のユーザーに偽装できます。

Automated Test Framework は、ほとんどのユースケースについてのステップ構成のデフォルトリストを提供し、テスト設計者が独自のカスタムステップ構成を作成できるようにします。

ステップ変数

ステップ変数は、ステップ固有の入力と出力の値を保存します。たとえば、新しいフォームを開くステップ構成には、テーブルおよびフォームのビュー名を指定するための変数があります。ステップ変数を使用して、特定のテストステップターゲットを指定したり、他のテストステップに情報を渡したりします。

テスト結果

テスト結果は、テストまたはテストスイートの実行の出力を保存します。各テスト結果は、テスト実行の期間、テストのステータス、および利用可能な場合はスクリーンショットを指定するテスト結果 [sys_atf_test_result] テーブル内のレコードです。テスト結果を使用して不合格のテストまたは実行されていないテストを識別し、テストログを使用してテスト結果に関する詳細を確認します。デフォルトでは、テスト結果を無期限に保持するオプションを有効にしない限り、システムは作成後 30 日でテストおよびテストスイートの結果を削除します。

ステップ結果

ステップ結果は、テストステップの実行の出力を保存します。各ステップ結果は、テストステップのステータス、出力の要約、および、テストステップによって生成された出力の完全なログを指定する、ステップ結果 [sys_atf_test_result_step] テーブル内のレコードです。ステップ結果を使用して、レビューが必要な障害と機能を識別します。

アサーションタイプ

[アサーションタイプ] フィールドは、テストに合格するために満たす必要がある条件を指定します。テスト設計者はアサーションを使用して、操作の結果が期待されるものか期待しないものかを指定できます。たとえば、レコードを更新できないことをテストしたいとします。この場合は、レコード挿入テストステップを追加し、[アサーションタイプ] フィールドを [レコードが挿入されませんでした] に設定します。レコードの挿入が失敗したときにテストに合格します。

[アサーションタイプ] フィールドがあるステップを含むいくつかのテストステップカテゴリには以下が含まれます。

  • サーバーカテゴリ:どの CRUD 操作によってテストに合格または不合格になるかをアサートします。
  • カスタム UI カテゴリ:どのコンポーネント状態によってテストに合格または不合格になるか、および可視テキストによってテストに合格または不合格になるかどうかをアサートします。
  • Service Portal のフォームカテゴリ:検証エラーのためにブラウザーでフォームがキャンセルされたのか、それともフォームがサーバーに正常に送信されたためテストに合格したのかをアサートします。

クライアントテストランナー

クライアントテストランナーは、Now Platform ユーザーインターフェース内のクライアント側のテストステップを実行するブラウザータブです。クライアントテストランナーが機能するにはブラウザータブが必要です。テストを実行するときにクライアントテストランナーが利用できない場合、システムはユーザーがクライアントテストランナーを 1 つ開くように求めます。テスターは、手動でクライアントテストランナーを起動するか、または既存のクライアントテストランナーを選択することができます。テスト設計者は、テストスイートの実行をスケジュールするときにクライアントテストランナーの開始をスケジュールできます。

ユーザーロール

Automated Test Framework 権限を定義するロールを割り当てます。

ロールタイトル [名前] ロールの説明
atf_test_admin

Automated Test Framework プロパティを作成または編集します。次の権限があります:

  • テストページの表示
  • テストの作成/編集/削除
  • テスト ステップの作成/編集/削除
  • ステップ設定ページの表示
  • テスト ランナーページの表示
  • テストスイートの結果、テスト結果、結果アイテムのページの表示
  • ユーザーテストの実行
  • テストスイートの表示、作成、編集、削除、実行
  • ステップ設定レコードの作成/編集
  • Automated Test Framework プロパティの作成/編集
atf_test_designer

自動テストフレームワークのプロパティを表示するだけです (プロパティの作成および編集はできません)。次の権限があります:

  • テストページの表示
  • テストの作成/編集/削除
  • テスト ステップの作成/編集/削除
  • ステップ設定ページの表示
  • テスト ランナーページの表示
  • テストスイートの結果、テスト結果、結果アイテムのページの表示
  • ユーザーテストの実行
  • テストスイートの表示、作成、編集、削除、実行
  • Automated Test Framework のプロパティの表示
atf_ws_designer

認証を必要とする REST エンドポイントに必要な基本認証プロファイルを表示または設定します。詳細については、「REST カテゴリ」を参照してください。

ATF は Next Experience の次の要素をサポートしていませんが、将来のリリースでこれらの機能のサポートが予定されています。
  • UI Builder で構築されたページ (リストとフォームコンポーネントを含むページを含む)。
  • 構成可能なワークスペース
  • ランディングページ
注: ATF は、クラシック環境 (クラシックリストやフォームなど) を含む コア UI を引き続きサポートします。