【ServiceNow】初心者向けAutomated Test Framework(ATF)の使い方

ServiceNow
なち

こんにちは。ServiceNow担当のコムラサキと申します。
ServiceNowをバージョンアップまたはパッチ適用したあとの動作確認は手動だと大変ですよね・・・
そんな時はAutomated Test Framework(ATF)を導入してみませんか。
本記事では、ATFの基本的な概要から具体的な設定方法、代表的なテストステップの使い方まで、初心者の方にもわかりやすく解説します。

Automated Test Framework(ATF)とは

ServiceNow上の操作をステップ化して再現可能なテストを作り、実行・ログ・スクリーンショットでエビデンスを残す仕組みです。
ATFを使用して、パッチ適用やシステム改修などの変更を行った後に、インスタンスが動作することを確認するための自動テストを作成して実行できます。
※データの破損や機能停止を避けるため、ATFは本番環境では実行しないでください。

 

 

導入効果

ATFの導入効果としては以下の点が挙げられます。

  • 手動テストを自動テストに置き換えることで、アップグレードと開発時間を短縮
  • 人的ミス削減とテスト工数の削減(繰り返し作業の自動化)
  • パッチ適用やシステム改修などの変更による影響の早期検知(不具合を事前に捉えやすい)
  • テストの実行をスケジュールできる
  • 実行ログ・スクリーンショットが残るため、検証のトレーサビリティが向上

これらの効果により、開発サイクルの短縮と品質の安定化が期待できます。

 

 

設定方法(画像はYokohamaバージョン)

先に、この章で使用する用語を説明しておきます。

  • Test(テスト):テストステップをまとめた1つのテストケース
  • Test Step(テストステップ):テスト内の単一の動作のこと
  • Test Suite(テストスイート):複数のテストをグループ化したもの

 

ここから、初めてATFを設定するという想定で操作を見ていきます。

1.ATF画面へ移動

「Automated Test Framework」→「Tests」
こちらに移動すると既存のテストが並んでいます。
これはクイックスタートテストと呼ばれ、アプリケーションのデモデータと共にインストールされるテストやテストスイートです。

 

2-1.新しいテストを作成する場合

右上の「New」を押下することで作成できます。

※初めて使用する際には、上の画像のように「テストとテストスイートの実行は無効です」と表示されますので、リンクからATFのプロパティに移動してテストの実行を有効にしましょう。

2-2.既存のクイックスタートテストを編集する場合

自分が作成したいテストに近いものがあれば、既存のテストをカスタマイズすることでより早く目的のテストを作成できます。
[Package]でお目当てのテスト範囲(変更管理、インシデントなど)を絞り込んだり、[Description]、[Test Steps]の内容を見ることで、目的に合ったテストを効率的に見つけることができます。

  1. カスタマイズしたいテストの[Application Scope]を設定します。
    アプリケーションが異なる場合、以下の画像のように 「編集するにはアプリケーションを変えてください」と表示されます。
  2. カスタマイズしたいテストを選択し、右上の「Copy Test」を押下します。
    ※既存のテストはあくまでテンプレートなため、使用する際はコピーが必要です。

 

コピーしたテストは名前の最後に「copy」が付くので、好きな名前に変えましょう。
[Test Steps]タブから既存のテストステップをカスタマイズしたり、新たなテストステップを追加したりできます。

 

3.テストステップの追加と代表的なテストステップの紹介

「Add Test Step」を押下することで、新たにテストステップを追加することが可能です。
左端がカテゴリで、[Form]でステップを選択すると、右に詳細な説明が表示されます。
[Insert after]で、どこに挿入するか選ぶことができます。

 

続いて、代表的なテストステップについて紹介し、設定画面を見ていきましょう。

 

  • Create a User

クイックスタートテストはImpersonateから始まることが多いですが、 データの依存関係を避けるため、新しくユーザーを作ることが推奨されています。
RolesやGroupを指定できるうえ、ユーザーレコードはテスト完了後にロールバックされるため、とても便利です。
念のため、ATFで使用したユーザーとわかるような名前を設定しましょう。

「Impersonate this user」をチェックすることによって、次ステップ以降の動作をこのユーザーで実施することができます。
テストの結果が正しくなるよう、複数ユーザーを作成した際は操作させたいユーザーにチェックが入っているのか確認しましょう。

 

  • Record Insert

指定したフィールド値を持つレコードをテーブルに挿入します。
[Table]を設定すると、[Field values]にそのテーブルの項目が出てきますので、好きな値に設定できます。

設定した値は自動的に[Description]に表示されるため、便利です。

 

  • Open an Existing Record

[Record Insert]などで前のステップで作成した既存のレコードを開きます。(ServiceNow上にあるレコードも指定可能です)
前のテストステップを指定する際には「Record」右のデータピルを押下することで、任意のステップのレコードを選択可能です。

 

  • Set Field Values

クライアント処理でレコードを開いたときに、このステップでフォームのフィールドを指定された値に設定できます。

 

  • Click a UI Action

フォーム上のUIアクションをクリックするというテストステップです。
<Set Field Values>でフォームに値を入力した後、このステップで「Save」を押して、レコードを保存するときなどによく使用されます。
同じ名前のUIアクションもあるので、選択する際には参照で出てくるUIアクションのテーブルやコメントを確認し、正しいものを選ぶようにしましょう。

4.複数テストがまとまったスイートを作成

複数のテストを作成したあと、テストスイートを作成することで、テストをまとめて実行することが可能です。
「Automated Test Framework」→「Suites」
こちらに移動すると、テストスイートの一覧を確認できます。
テストスイートのフォーム画面は以下のようになり、[Test Suite Tests]タブに任意のテストを追加可能です。
フィルターを設定することで、条件に合うテストを入れることも可能です。

 

実際の使用イメージ

➀テスト実行

実行したいテストの右上の「Run Test」ボタンを押下します。

 

クライアント処理が含まれる場合、test runnerCloud Runnerか選択することが可能です。
test runnerはブラウザを開きっぱなしにする必要がありますが、
Cloud Runnerを使用するとバックグラウンドでもテストが可能です。
今回はテストの経過を見たいので、test runnerを選択します。

別タブでテストランナーが起動し、テストがリアルタイムで進んでいきます。
右上に操作しているユーザーが表示されているので、テストを作成する際には

  • 想定通りのユーザーでフォーム操作をしていること
  • 想定通りの操作でテストが進んでいること

を画面を見ながら確認します。

 

 

元の画面に戻ると、以下のようにテストの進み具合を確認できます。

 

②結果の見方

「Go to Result」を押下すると、以下のような画面になります。

 

今回は[Status]がSuccessとなっており、テストが上手くいきました。
上の方にはテスト内で撮影されたスクリーンショットが添付されています。
撮影タイミングやフルスクリーンで撮影するなど、プロパティで設定が可能です。

[Step Result]を確認すると、各ステップで成功かエラーか確認できます。
エラーが起きた場合にはそのステップでテストが終了し、それ以降はスキップとなります。
[Summary]を確認し、エラーの原因を解消していきましょう。

 

終わりに

本記事では、ServiceNowのAutomated Test Framework(ATF)の基本的な概要から具体的な設定方法、テスト作成の手順までを解説しました。

ATFを活用することで、手動テストの工数削減や品質の向上、パッチ適用やシステム改修などの変更影響の早期検知が可能となり、開発や運用の効率化に大きく貢献します。
初めは操作に慣れるまで時間がかかるかもしれませんが、既存のクイックスタートテストを活用し、徐々にカスタマイズしていくことでスムーズに導入が進みます。
また、複数のテストをまとめて実行できるスイート機能やCloud Runnerを使ったバックグラウンド実行など、使い込むほどに便利な機能が多くあります。

今回の記事が皆さんの少しでも役に立てば幸いです。

お問い合わせはこちら

記事を書いた人

なち

名古屋事業本部デジタルイノベーション事業部所属。お菓子作りとお菓子配りが好きです。(一部代筆あり)

関連記事

TOP