UiPath Test Managerをテスト実行結果（ログ）の管理に使ってみる。

# はじめに

UiPath Test ManagerはTest Suite系の製品の１つです。

「テスト＋RPA」という文脈だと、テスト実行の自動化（無人実行）がイメージされるようですが、
Test Managerはテストを自動化（無人実行）しないケースでも活用することができます。

**テスト自動化まではしないしないけれど、Test Managerを活用する** というユースケースについて、
画面のキャプチャを添えてまとめました。

当記事の内容を一言で表すと、**Studio上のテスト実行ログをTest Managerで管理する** 運用です。

### この運用で得られるメリットは？

- **無人実行** ライセンス（Testing、UR）を必要としません。
- UiPath Studioを利用するユーザーが対象になり得ます。

### Test Managerが無いとどうなる？

- UiPath Studioでテスト実行は可能ですが、テスト結果、ログは残りません。
    - UiPath Studioを閉じると、実行したログ（テスト結果、ログ）は消えます。


:::note
実際の実行ログ（証跡そのもの）を管理対象とすることができることがポイントです。

証跡を残しやすく、後フェーズ（未来）になってからの「過去のある時点の品質はどうだったのか？」といった確認も実際のログで確認できます。
:::

# １．Test Managerの設定
Test Managerサービスの有効化は管理者の権限が必要であり、細かい設定は割愛します。

## Test Managerの "プロジェクト" を作成する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/26dbcc96-24e2-cb49-f7e3-74ccb6e99325.png)
　　↓↓↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/f72c82c4-ea1b-d043-0e63-61c26000b5d5.png)

上図で作成した定義は、下図のような表示になります。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/10ebaed2-fb33-1493-6b4c-19bffe3db80a.png)

:::note
入力する「プレフィックス」は内部で利用するキー情報等に使われます。
被らなければ良いものですが、運用時も見える情報であるためルールを定めておきましょう。
:::

:::note
「プロジェクト」の定義は階層構造の表現はできません。
用途・目的によっては同じ対向システムのテストであっても、開発フェーズと維持管理フェーズでは別「プロジェクト」とした方が良いケースもありそうです。

こういった点も「プレフィックス」の運用決めのご参考情報としてください。
:::



# ２．UiPath Studioの操作（テストケースの作成、リンク、アップロード）

## ① テストケースを作成する。

用途にあわせたプロジェクトを作成します。
（当記事内はテストが目的であるケースを想定して「テストオートメーション」を選択しました）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/4cd13736-09e9-d527-66df-1e5c98e23bf9.png)

右クリック > 追加 > 「テストケース」を作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/b480fdec-3e78-d146-88de-6425bc9b6aeb.png)

テストケースに任意の名前をつけます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/aa47eb8e-2b17-83a3-559c-6295917aedff.png)

:::note warn
テストケースの名前は、Test Managerと接続する際のデフォルト名になります。
（あくまでデフォルト名で変更できますが、わざわざ変更しない運用がシンプルです）

ルールを定めてそれに則った名前をつけましょう。
テスト要件や、業務要件などを表す名前、管理用コードを付与した名前などが管理しやすいと考えられます。
:::

:::note
テストの実装の説明は省略します。
:::



## ② Test Managerにリンク（接続）する。

対象のテストケースを右クリック > 「Test Managerにリンク」を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/69e7732c-11e8-2d0c-6eca-8275182eba62.png)

下表を参考に、下図のダイアログに情報を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/2a8e1d85-5481-8dd2-3988-388a7efa7638.png)

| No | 対象 | 説明や注意点 |
| --- | --- | --- |
| ① | プロジェクト | （必須）Test Manager上の "プロジェクト" を検索して指定します。 |
| ② | テスト | （任意指定）先にTest Manager上で既存の "テストケース" 定義に紐付けることもできます。デフォルトのままだと新規に "テストケース" 定義を作成します。　|
| ③ | 名前 | （必須）デフォルトではxamlの名前が設定されます。変更できますが、Studio上とTest Managerのリンクの状態が分かりにくくなる点には注意が必要です。 |
| ④ | 要件 | （任意）Test Manager上で上流工程のエンティティである "要件" と紐付ける場合に指定します。 |

:::note
Test Managerの定義を検索しながら入力することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/cc271505-e00b-4778-3292-54810f16cde0.png)
（Test Managerプロジェクトのプレフィックスの命名ルールを作っておくと、ここでメリットがあります）
:::

:::note 
**"リンク"** の手順はTest Suiteのどの手法においても必要な手順です。

ただ当ログアップロード運用については、ログをアップロードする直前で下図のダイアログが表示されます。よって、事前のリンクは必須ではありません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/950be88c-d479-99ff-8b56-43a1624ba357.png)
:::
## ③ Test Managerに結果をアップロードする。

:::note
テストの実行の説明は省略します。
:::

Studio上の機能である「テストエクスプローラー」に、Studio上で実行したログが表示されています。
アップロードしたい実行結果を右クリック > 「結果をTest Managerにアップロード」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/899b5723-ebb1-7088-d97f-cbcc604d15a3.png)

:::note
実行ログが自動的にアップロードされない点がポイントです。
あくまでテスターや実装者（まだは実行者）の操作によって、結果をアップロードします。

これにより、テスターや実行者は気軽にTry＆Errorできる、管理者が見るべきログが分かりやすい … といったメリットがあると考えられます。
:::

# ３．Test Managerで実行ログを確認

**「テストケース」 > テストケースのキー** 　…でテストケースに紐付くログを確認できます。
**「テスト結果」** 　…から直近で実行されたログを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/a7d97e06-5aba-f752-54f8-702fcdbe1461.png)

## 活用例：　「ドキュメント添付」アクティビティを使うと、実行時のファイルやスクリーンショットを添付できます。

一例として、下図のように実装して実行し、実行結果をアップロードする操作をしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/b3e419ba-85d1-2c1d-5594-be88b83140d8.png)

Test Manager上の「添付ファイル」タブにアップロードされたファイルがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/5b1f43a5-75ff-e236-0d11-c18bf19fda42.png)

検証した画像とテキストのどちらも期待通りのファイルとなっていることが確認できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/f81514a7-d7b9-77a9-adb9-9100964a1b1e.png)

:::note
テストの "検証" アクティビティに下図のプロパティがありますが、「ドキュメント添付」をしたい場合はスクリーンショットを実装したほうが扱いやすそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3302589/ce30b426-0b0a-5602-2a20-8326dbf7c41e.png)

検証アクティビティのスクリーンショットの使い方については、以下Forumの質問もご参照ください。

https://forum.uipath.com/t/topic/568356

:::

# まとめ
まずはTest Managerでログを管理する、というユースケースを想定した内容をまとめてみました。
使ってみようかな、と思っていただけると幸いです。