ATFのテスト実行ユーザについて

d-aizawa
Kilo Sage

コミュニティの皆様、いつもお世話になっております。

 

私のプロジェクトでは、Utahのバージョンアップ作業工数削減に向けて、ATFの作成を検討しております。

まず最初に、テスト実行ユーザとして代理操作するために、
ImpersonateというTest Stepを作成しようと思いましたが、以下のような警告文が表示されています。

Impersonating an existing user may cause unexpected behavior for this test. Avoid potential issues by adding a 'Create a User' step instead. 

■警告文のリンク先の公式ドキュメント

https://docs.servicenow.com/bundle/sandiego-application-development/page/administer/auto-test-framew...

→警告文のリンク先の公式ドキュメントを参照してみると、
既存アカウントのなりすまし(Impersonate)は、予期しない結果を引き起こすという記載があります。
以下についてあまり理解できていないので、ご経験がある方がおりましたらご教示頂きたいです。
①Test Step[Create User]について
ATF設計時には、Impersonateではなく、Create Userを使用するという記載がありますが、

ATFを実行する度に、Userが作られてしまう or 既に同じNameのユーザが存在するため実行時エラーが発生することを懸念しています。

"Create User"を使用する場合は、ATFの最後に"Delete Reocd"というTest Stepを追加するのでしょうか。

 

②予期しない結果って例えばどのような影響を引き起こすか、
ご存知もしくは、ご経験がありましたらご教示頂きたいです。

③ドキュメントに記載されているシステムテーブルorアプリケーションテーブルを拡張するテーブルとは、
インスタンスでどうやって確認するのでしょうか。

 

よろしくお願いいたします。

1 REPLY 1

iwai
Giga Sage
  1. "Create User"を使用する場合は、ATFの最後に"Delete Reocd"というTest Stepを追加するのでしょうか。
    1. ATFはひとつのテストが終わるとロールバックが行われて、テスト前の状態に戻ります。
      Automated Test Framework (ATF) (servicenow.com)
  2. 予期しない結果って例えばどのような影響を引き起こすか
    1. 例えばATFで既存のUser "TestUser" を使って承認するとき、同じ時間で別の人が"TestUser"を使って承認をすると、テストのなかで"TestUser"の承認処理に影響を与えます。逆に別の人の操作の中でも、テストの承認結果が画面に表示されたりします。
      ATF以外に影響を与えたり、影響を受けたりすることで、テストが予想外の結果となる場合があります。
  3. ドキュメントに記載されているシステムテーブルorアプリケーションテーブルを拡張するテーブルとは
    1. メニューの Tables で Tableの一覧を確認できます。Name が "sys_"から始まるテーブルや、Extends table "Application File" になっているものがそれになります。