生成AIも組み合わせて、UiPathでテスト自動化を実施してみる
ここからはテスト自動化の実践に話題を移そう。厳密には、テストにはいろんな段階があるものの、ここではシンプルにテストケースの設計と作成、そしてテストケースの実行について見ていく。
例として、Windowsの電卓をテストする。早速テストケースを作成してみよう。今回は話題のChatGPTにテストケースを作ってもらうことにする。ChatGPTを開きプロンプトに「Windowsの電卓をテストするためのテストケースを作ってください。手順は不要なので、入力データの組み合わせだけを標識で整理してください」と入力すると、表形式のテストケース(入力データと出力の期待値の組み合わせ)が出力される。
今ではこうしてAIにテストケースを書いてもらうことが現実的になってきている。ただし津田氏は「テストケースの設計・作成を完全に自動化するのはまだ難しいと思う。テストケースに十分な網羅性があるか、確認してから使う必要がある」と話す。なお現状UiPathではChatGPTとの連携に向けて投資しており、そのうち何らかの成果が期待できそうだ。
ここからはすでにUiPathで利用可能な機能を見ていく。ここでは電卓向けのテストケースはあらかじめExcelで用意しておいた(なおテストデータを自動生成するというメニューもあるが、まだ実験的な機能なのでここでは使わない)。
このテストケースを自動実行するには、まずワークフローにインポートする。ファイルを選択してExcelファイルを開き、インポートするデータの範囲を選択してインポートすると、テストデータがテストエクスプローラーに表示されるようになる。このテストデータはワークフローに引数として渡され、テストの自動化がなされる。
またテストケースは膨大かつ煩雑になりがちだが、Orchestratorで管理できる。数百台のRobotで同時にチェックすることも可能だ。「そんなに大量のパソコンないよ」と思うかもしれないが、ここも津田氏が「大丈夫!」と言う。UiPathにはAutomation Cloud Robotsというのがあり、クラウドからオンデマンドでセットアップ済みのRobot PCをレンタルすることが可能だ。
実際にテスト結果を電卓に入力して、確認してみよう。これまでと同様に電卓を起動するアクティビティを配置し、操作対象のウィンドウを指定。入力アクティビティを配置し、引数で受け取ったデータを電卓に入力していく。電卓の回答結果を読み取り、変数に格納して、最後にテスト結果を検証するアクティビティを配置し、テストケースにある期待する結果と同じであれば「成功」と判断する。という具合でテストケースの実装が完了する。
今回はテスト自動化のためのTest Suiteから、Studioをメインに解説した。これまで主に自動化ワークフローの作成に使われてきたが、自動テストの作成においても十分な機能を備えている。Test Suiteには先述した通りStudioのほかにOrchestratorやRobotsがあり、またテストを管理するTest Managerもある。このTest Suiteは進化を続けており、生成AI系モデルをビルトインして、例えば自然言語でテストコードを作るなど、さらなる進化が期待できる。