Help us understand the problem. What is going on with this article?

期待のテスト自動化ソリューション「UiPath Test Suite」まとめて見た!

無題.png

はじめに

みなさん、こんにちわ!

RPAを使ってアプリケーションのテストも自動化できるのではと思う人も多いのではないでしょうか。
テスト自動化ツールから誕生したRPA製品もあり、そう考えるのは自然ですよね。
テスト自動化の歴史は20年以上もあると言われており、テスト自動化の歴史と現状を紐解きながら、奥深いところもお話したいとところですが、まずは、序章?UiPathユーザーがとっつき易いところで、Test Suiteで何ができるのか、その機能を簡単に紹介したいと思います。

Test Suiteとは

Test Suiteは、「アプリケーションテスト」 「RPAテスト」を目的にしたソリューションです。
簡単に説明すると、例えば、下記の様な用途です。

  • アプリケーションテストは、開発したアプリケーションの品質を確認するためにテストを自動化するもの
  • RPAテストは、開発したRPAの品質を確認するためにテストを自動化するもの

そのための、コンポーネントが用意されています。

Test Suiteのコンポーネント

Test Suiteのコンポーネントは下記の様なものがあり、複数のコンポーネントを統合して使用します。
更に、Test SuiteはUiPath製品以外の製品とも統合できる様にサポートされています。

コンポーネント 説明
Test Manager テストを管理するツール
Studio Pro テストするためのワークフローを開発するツール
Orchestrator Test Test Robotへ実行指示、結果を監視するツール
Test Robots テストを実行するロボット

※Test Manager以外はUiPath Community Editionでもお試しできます。
 製品トライアル版のEnterprise Serverでは、Test Managerも試使用可能になってます。

従来のテストに関わる登場人物を当てはめ、おおざっぱですが、イメージ的には、下記の様に表現できます。

コンポーネント 人の役割に当てはめ
Test Manager テスト管理者が行っているテストケースの管理や進捗の管理など
Studio Pro テストデータやテスト項目作成者が行っているテスト設計
Orchestrator Test テスト管理者が行っている実施したいテスト項目・テスターへの割り振り及びテスト実施の指示とテスト結果の監視
Test Robots テスターが行うテスト実施

Test Robotを増やすことにより、空いているロボットにテスト項目も、どんどん自動的に割り振って行くこともできるのでテスト期間の短縮になりますね。
ALMとTest Managerの統合やCI/CD統合としてJenkinsとOrchestrator Testを連携させたりして、テスト自動化の仕組みの拡張が可能ですが、まず、ベースの紹介が先なので、こちらは別の機会になります。

それでは、UiPath Studio Pro Community Edition 2020.6でも試せる範囲でTest Suiteで何ができるのか説明します。
ただし、機能的には、これから、まだまだ充実して行くと聞いてます。

UiPath Studio Proの機能

(1)データバリエーションをバインドして実行するワークフローが作成できる

テストするデータバリエーションが格納されたExcel(表形式)をバインドすると実行時、引数にデータが投入され、ワークフローが繰り返し実行されます。
バインドするには、下図のメニューにある「テストデータを追加」を選択することで行います。
ワークフローファイルのアイコンが他と異なりますが、これがテストケース用のワークフローと理解頂ければよとしいかと思います。
尚、メニューの「「パブリッシュ可能」として設定する」を選択するとアイコンがグレーから青に変わり、パブリッシュ対象となります。
作成途中のテストケースは、パブリッシュ対象外にできるのも、今までと少し違いますね。
尚、パブリッシュするNugetファイルにはバインドしたデータバリエーションも含まれており、バインド時にjsonファイルに変換されてます。
6.png

「データバリエーションを指定してファイルを実行」を選択し実行すると、テストするデータを選択して、繰り返し実行がきます。
Test Suiteならではの実行方法ですね。
ちなみに、ロボット実行時は、この選択はできないのでご注意を。

11.png

(2)検証アクティビティで判定結果をOrchestratorに通知できる

検証アクティビティは今のところ下記の3つとなります。
検証する機能ではないので、この辺りは今後の充実に期待したいところです。

※2020.6から、成功時にもスクリーンショットをOrchestratorにアップロード指定できる様になりました。
 でも、アップロードしすぎるとサーバー容量の圧迫が危惧されるのでご注意を。

13.png

アクティビティ 説明
コントロールの属性を検証 アクティビティの出力値との比較で検証します
式を検証 与えられた式の真理値を検証します
式を演算子で検証 演算子を使用して、指定された式に関連して検証します

(3)テストデータ用のアクティビティを利用できる

2020.6から、新たに追加されたアクティビティですね。
テストデータ作成の時間短縮のために用意された様です。
氏名など、今後、日本用に改良される可能性はありますね。

アクティビティ.png

アクティビティ 説明
Given Name ファーストネームを出力
Last Name ラストネームを出力
Random Date 指定した期間のランダムな日付を出力
Random Number ランダムな数値を出力
Random String ランダムな文字列を出力
Random Value csvファイルからランダムで行のデータを出力

(4)ワークフローのテスト(RPAテスト)ではアクティビティカバレッジを確認できる。

こちらは、アプリケーションテストではなく、RPAテスト特有の機能です。
実行時のアクティビティカバレッジを確認することができます。
すべてのパスを視覚化されているため、カバーされていないシーケンスを特定できます。

テストしたいワークフローファイルを選択し、テストケースを作成します。
RPA1.png
テストケースの雛型ワークフローが作成されます。ここから実行を開始することにより、カバレッジが機能します。
RPA2.png
実行すると、下図の様にカバレッジが表示されます。カバレッジされたアクティビティは視覚化され確認できます。
ワークフローを呼び出している場合は、ワークフロー単位のカバレッジが表示されます。
RPA3.png

データドリブンでのテストと併用することもできます。
カバレッジが視覚化されているので、テストの際、カバーできていないシーケンスを発見することも容易になりますね。

Orchestrator Testの機能

(1)パブリッシュされている複数のテストケースを自由に組み合わせてテストセットを作成できる。

再テストを実施する際、NGだったテストケースを選んでテストセットを作成することも出来ますね。
ただし、投入するテストバリエーションまでは、指定できないのでご注意を。

47.png

(2)テストセットで、手動もしくはスケジュール実行できる。

RPAの手動実行、スケジュール実行と同様に可能です。

51.png

(3)テストの実行結果は、テストバリエーション単位でも確認できる。

どのデータを投入した時に失敗したのかわかる様になってます。

44.png

(4)失敗したアサーションのスクリーンショットをOrchestratorで確認できる。

検証アクティビティで成功したアサーション、失敗したアサーションが確認できます。
検証アクティビティのプロパティでスクリーンショットが有効の場合は、下図の様にOrchestratorで確認可能で、更に検証アクティビティのプロパティで失敗した時に処理を続行を指定した場合は、1つのテストケースで複数件記録されて行きます。
下記の例ではアサーションが2件記録されてますね。

32.png

Test Suiteには、まだ機能があります

  • モバイルテスト自動化
    アプリケーションテストには、モバイルテストもあり、Android端末やiOSの端末をAppiumと組み合わせ、これを実現します。余談ですがモバイルの自動化も、この構成で可能となりますね。Androidの方は比較的簡単に構築できます。

  • APIテスト自動化
    APIへのテスト呼び出しを実行するためのソフトウェア開発ツールであるPostmanとの統合により、API Test Automationプロジェクトをサポートしています。

終わりに

この記事で省略したモバイルテスト、APIテスト自動化、Test Manager、ALMとの統合、CI/CD構成などもあり、Test Suiteは、非常に盛沢山のソリューションですね:grin:
そして、極めつけはテスト自動化の歴史と現状を紐解きながら、UiPathで、この領域での新たな最適解を導き出すことが出来るのか:laughing:
この件についても、いつか情報発信できればと思います!

Jun96427231
ユーザーコミュニティUiPath Friends東京の立ち上げを経て、今年は関西でも立ち上げ! 現在、UiPath Connect! リーダーボードで世界ランキング上位! 国内では「UiPath Japan MVP 2019」受賞
https://connect.uipath.com/ja/community/profile/jun-shiomi-d2f4a9
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした