はじめに
この記事では、テスト自動化ツール「Tricentis Tosca」を初めて触る方に向けて、テスト作成から実行までの一連の流れを4つのステップに分けて解説します。実際にはもっと多くの機能がありますが、今回は「はじめてのTosca」という題名にもある通り、基本的な機能に絞って説明をします。
- プロジェクト作成:作業場所となるプロジェクト(ワークスペース)を作成
- モジュール作成:テスト対象のアプリ画面やボタンなどを部品化
- テストケース作成と仮実行:モジュールを組み合わせて自動テストケースを作成・仮実行
- テスト実行:本番のテストを実行し、結果を確認する
前提は以下の通りです。
- Toscaにはオンプレ版(端末にインストールして使用)とクラウド版の2種類がありますが、今回はオンプレ版について説明します
- Tosca Commander(オンプレ版のアプリ)は既にインストール済みで、ライセンス有効化も完了しているものとします
- 本記事で紹介するTosca Commanderのバージョンは2024.2です
1. 作業場所を作ろう ~プロジェクト作成~
初めに、これから作成するモジュールやテストケースなどを作成・保存しておくための「プロジェクト」(ワークスペース)を作成します。
1. Tosca Commander を開く
スタート画面で Create New を選択します。
2. プロジェクト情報を設定する
表示されたダイアログで、以下の通り設定して OK をクリックします。
-
Select type of Repository:
None (creates single user workspace)を選択します。 - Create new workspace in: プロジェクトファイルを保存したい場所(フォルダ)を自由に選択します。
- Select name for new workspace: プロジェクトの任意の名前を入力します。
- Use workspace template: ☑チェックを入れます。
複数ユーザで同時作業をするには
MS SQLなどで事前にDBを用意しておくことで、複数ユーザで同じRepositoryにアクセスし作業を進めることができます。その場合は、 Select type of Repository で該当のデータベースを選択して下さい。
もしインフラ制約などでデータベース構築が困難な場合、sqliteをRepositoryとして使用することができます。sqliteはデータをファイル形式で保存するため、既存の共有ファイルサーバなどに配置することで利用できます。ただし、大規模データを扱う本番環境向きではない点に注意して下さい。
subsetと標準モジュールの役割
Toscaでは作成したモジュールやテストケースなどをsubsetと呼ばれる形式( .tsu ファイル)でインポート・エクスポートすることができます。これにより、異なるユーザ間でも互いに作成したオブジェクトを気軽に利用することができます。
また、ワークスペース作成時にテンプレートとして標準モジュール standard.tsu を読み込むと、Toscaが標準で用意している便利なモジュール群(ブラウザを開く、など)があらかじめインポートされ、スムーズにテスト作成を始めることができます。この標準モジュールもsubset形式で提供されています。
3. ワークスペースが作成される
ワークスペース作成が正常に完了すると、ワークスペース内に移動します。

Toscaの自動テスト作成ステップ
Toscaでは3つの工程で自動テストを作ります。
- 画面をスキャンしてモジュールを作成
- モジュールを組み合わせてテストケースを作成
- テストケースを実行リストに登録してテストを実行
新規にワークスペースを作成すると沢山のタブが表示されているかと思いますが、中心になるタブは3つです。
2. テスト対象アプリを部品化しよう ~モジュール作成~
プロジェクトができたので、まずはモジュールを作成します。これは、テスト対象の画面やボタンなどを、再利用可能な部品としてToscaに認識させるためのものです。
-
Modules タブで、管理用のフォルダを新規作成します。今回は「Tricentis Tosca Test」というフォルダ名称にしました。

-
スキャン対象のアプリケーションを開きます。今回の記事では、弊社の自動車保険見積もりアプリを模したデモサイトをブラウザで開きます。

-
XScanウィンドウで、操作したい項目(テキストボックスやボタンなど)をクリックして選択します。今回の例では、
Select on screen機能を使用しブラウザ上で対象リンクを直接選択しモジュール化しています。

-
スキャンが完了したら、
Finish on Screenを選択し、その後CloseでXScanウィンドウを閉じます。
スキャンエンジンの種類あれこれ
今回の記事ではWebアプリをスキャン対象にしているのでHTMLエンジンを使用していますが、それ以外にデスクトップアプリケーションなどもスキャンすることができます。代表的なGUIアプリケーション向けのスキャンエンジンは以下の通りです。
- 画像認識(Vision AI):画像ベースでスキャンを行います
- WinX:C++/MFC、Visual Basic 6.0、Power builder 2017以前などで構築されWindows UI APIを使用しているアプリケーションのスキャンに向いています
- UIA:Microsfot UI Automation frameworkに基づいたスキャンエンジンです。他のスキャンエンジンではスキャンが上手くいかなかった場合の最後の手段として使用することが推奨されています
- SAP:SAP GUIをスキャンするための専用エンジンです(※FioriはHTMLベースなので対象外)
- Salesforce:Salesforce製品をスキャンするための専用エンジンです
また、アプリケーション以外にもファイルやデータベース、APIなどのスキャンも可能です。
- ファイル(PDF、JSON、XMLなど)
- データベース(ODBC接続)
- API
- モバイルアプリ
- ターミナル
コントロールが一意にならない?
コントロールとは、Toscaがテスト実行時に操作する対象のことです。具体的にはアプリのボタンやリンク、入力フォーム、テーブルなどが該当します。
スキャンの際、Toscaは画面上で該当のコントロールを一意に定めようとします。この時、通常はプロパティベースでコントロールの特定を試みます。Toscaは自動でコントロールが一意になるようにプロパティを指定しようとしますが、場合によってはコントロールが一意に定まらないことがあります。
一意に定まっていないコントロールはオレンジにハイライトされます。

上記のケースが発生すると、ユーザは自身でコントロールが一意になるようなプロパティ設定をする必要が出てきます。しかしアプリによっては、プロパティベースではコントロールを識別することができないケースが発生し得ます。
Toscaでは、プロパティベース以外にコントロールを特定するための方法を3つ用意しています。プロパティベースでコントロールを特定できない場合は、以下の方法も試してみて下さい。上から順番に試すことを推奨します。
- アンカーによる特定:スキャンしたいコントロールからの相対位置が固定されているコントロールをアンカーとして、このアンカーを基準にしてコントロールを特定する
- インデックスによる特定:コントロールに番号(インデックス)を振り、この番号でコントロールを特定する
- イメージによる特定:画像からコントロールを特定する
3. 部品を組み合わせて自動テストを作ろう ~テストケース作成~
モジュールが作成できたので、続いてこれを組み合わせて、テストケースを作成していきます。作成途中で正しく動くかを確認するための仮実行もこのセクションで行います。
Step 1. テストケースの準備
-
TestCases タブに移動し、ルートフォルダを選択した状態で
Create Folderアイコンを選択します。名前は「Tricentis Tosca Test」とします。

-
Tricentis Tosca Testフォルダを右クリックし、Create TestCaseアイコンを選択します。

-
テスト実行ブラウザを設定します。テストケースを右クリックし、
Create Test Configuration Parameterを選択します。その後、Browserパラメータに使用するブラウザ(今回はChrome)を設定します。


Step 2. テストステップの追加
-
作業しやすいように、
ModulesタブとTestCasesタブを画面の左右に並べて表示します。TestCasesタブを右クリックし、New Vertical Tab Groupを選択すると、左右に画面が並んで表示されます。

-
Modulesタブから先ほど作成したTricentis Vehicle Insuranceモジュールを、TestCasesタブのNavigate to Automobileテストケースへドラッグ&ドロップします。

-
テストケース内にテストステップが作成されるので、
Value列に行いたい操作を定義します。今回はAutomobileのリンク先に遷移したいので、ドロップダウンから{Click}を選択しています。

Step 3. ScratchBookで仮実行してみる
テストステップが正しく動作するか、その場で確認してみましょう。ScratchBook は、恒久ログを残さずにテストを気軽に試せるデバッグ機能です。
-
ブラウザでテスト対象アプリを開いておきます。
-
作成したテストケースを右クリックし、コンテキストメニューから
Run in ScratchBookを選択します(またはF6キーを押します)。

-
端末で自動テストが実行されます。注意点として、自動テスト実行中は端末を操作しないで下さい。自動テストが妨害されてしまいます。
4. テストを実行し結果を保存する ~実行リストを用いたテスト実行~
テストケースが完成したら、いよいよ本番のテスト実行です。ここでは、テストを実行し、その結果をTosca Commander上で確認するまでの流れを解説します。
Step 1. テストケースを完了ステータスに変更
完成したテストケースの WorkState を COMPLETED(完了)に変更します。これは、チームにテスト実行の準備ができたことを知らせる合図になります。

Step 2. 実行リスト (ExecutionList) の作成
-
Execution タブに移動し、
ExecutionListsフォルダを選択した状態でCreate Folderを押下してフォルダを新規作成します。名前は「Tricentis Tosca Demo」としました。

-
自動で ExecutionList が作成されるので、管理しやすい名前に変更します。今回は「Automobile Test」としました。

Step 3. テストの実行と結果確認
-
Execution タブで、先ほど作成した ExecutionList を右クリックし、Run を選択します。(または
F6キーを押します)

-
テストが自動で実行され、すべてのステップが成功すると緑色のチェックマークが表示されます。失敗した場合は赤色のバツ印が表示されます。

-
実行結果の詳細(ログ)は、
Loginfo列で確認できます。原因を探りたい場合は、実行リスト上の任意の箇所を選択した状態で右クリックを押し、Jump to <TestCase Object>を押下することで紐づくテストケースの箇所に遷移することができます(もしくはctrl + J)。ジャンプは実行リストからテストケースまでにとどまらず、テストケースからモジュールまで遡ることができます。


スクリーンショットや録画などの証跡について
Toscaは自動テスト実行時の証跡を保存する機能を備えています。ここでは代表的なものを2つ紹介します。いずれも Project -> Settings から設定を更新します。


-
Dokusnapper機能:テストステップ別のスクリーンショットと操作内容をワードなどのファイルに出力します。
Project -> Settings -> Dokusnapperを開き、Enable SnapperをYesに、Screen FlowをTrueに設定することで機能を利用できるようになります。作成された証跡ファイルは、通常C:\Users\<Your user>\AppData\Roaming\TRICENTIS\TOSCA TestSuite\7.0.0\dokusnapperのようなパスに保存されます。 -
レコーディング機能:テスト実行時の画面を録画し、ファイルに出力します。
Project -> Settings -> TBox -> Execution recorderに遷移し、Enable Execution RecorderをEnabledorEnabled only on failureに設定します。ただし動画ファイルは容量が大きいため、機能を有効化する場合は端末のストレージ状況に注意して使用して下さい。
まとめ
今回は、Tricentis Toscaを使ったテスト自動化の基本的なプロセスを体験しました。
- プロジェクトで作業場を作り、
- モジュールで画面を部品化し、
- テストケースでシナリオを組み立て、ScratchBookで動作確認し、
- 実行リストで本番のテスト実行を行い結果を確認する
この一連の流れが、Toscaによるテスト自動化の基本です。
ご導入に興味のある方がいらっしゃれば、弊社サイトよりお気軽にお問合せ下さい!
https://www.tricentis.com/ja/contact














