(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024179210
(43)【公開日】2024-12-26
(54)【発明の名称】テストシナリオ作成支援システム、テストシナリオ作成支援方法、及びテストシナリオ作成支援プログラム
(51)【国際特許分類】
G06F 11/36 20060101AFI20241219BHJP
【FI】
G06F11/36 184
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023097871
(22)【出願日】2023-06-14
(71)【出願人】
【識別番号】398040527
【氏名又は名称】株式会社オービック
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】渡邉 絢子
(72)【発明者】
【氏名】馬場 健人
(72)【発明者】
【氏名】依岡 烈
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GB02
5B042HH17
5B042HH49
5B042MC37
(57)【要約】
【課題】アプリケーションを自動操作する自動操作手段がアプリケーションのテストを行うためのテストシナリオを効率的に作成すること。
【解決手段】テストシナリオ作成支援システムは、定義名と、コントロール名及びその型を含むコントロール情報とを関連付けて登録した定義管理テーブルと、シナリオ作成画面を提供し、前記定義管理テーブルに基づいて、当該シナリオ作成画面において、定義のリストの一覧を表示し、当該リストの一覧からシナリオ作成者により選択される定義名についての画面レイアウトを表示し、当該画面レイアウトで操作可能なコントロールの一覧を表示し、当該コントロールの一覧からシナリオ作成者により選択されたコントロールについての操作の選択候補を表示し、当該操作の選択候補でのシナリオ作成者の操作の選択に基づいて、定義名、コントロール、及びその操作内容を含むテストシナリオを作成するシナリオ作成手段を備えている。
【選択図】
図1
【特許請求の範囲】
【請求項1】
制御部を備え、アプリケーションの自動操作手段が実行するテストシナリオの作成を支援するテストシナリオ作成支援システムであって、
前記制御部は、
定義名と、コントロール名及びその型を含むコントロール情報とを関連付けて登録した定義管理テーブルにアクセス可能に構成されており、
シナリオ作成画面を提供し、前記定義管理テーブルに基づいて、当該シナリオ作成画面
において、定義のリストの一覧を表示し、当該リストの一覧からシナリオ作成者により選択される定義名についての画面レイアウトを表示し、当該画面レイアウトで操作可能なコントロールの一覧を表示し、当該コントロールの一覧からシナリオ作成者により選択されたコントロールについての操作の選択候補を表示し、当該操作の選択候補でのシナリオ作成者の操作の選択に基づいて、定義名、コントロール、及びその操作内容を含むテストシナリオを作成して、データベースに登録するシナリオ作成手段を備えたことを特徴とするテストシナリオ作成支援システム。
【請求項2】
前記コントロールの一覧は、共通の操作対象のコントロールを含むことを特徴とする請求項1に記載のテストシナリオ作成支援システム。
【請求項3】
前記定義管理テーブルには、前記定義名と前記コントロール情報に加えて、ロジックフロー毎のID、名前、及びアクション同士を繋ぐフロー要素群を含むロジックフロー情報と、アクション毎のID、名前、アクションタイプ、及び設定を含むアクション情報とが関連づけて登録されており、
前記シナリオ作成手段は、前記シナリオ作成画面において、前記定義管理テーブルに基づいて、直前に選択された操作から次の操作の候補を提示することを特徴とする請求項1に記載のテストシナリオ作成支援システム。
【請求項4】
前記自動操作手段は、RPAを含むことを特徴とする請求項1~3のいずれか1つに記載のテストシナリオ作成支援システム。
【請求項5】
前記テストシナリオ作成支援システムは、ローコード基盤又はノーコード基盤を含むことを特徴とする請求項1~3のいずれか1つに記載のテストシナリオ作成支援システム。
【請求項6】
前記アプリケーションは、業務アプリケーションを含むことを特徴とする請求項1に記載のテストシナリオ作成支援システム。
【請求項7】
制御部を備える情報処理システムが実行する、アプリケーションの自動操作手段が実行するテストシナリオの作成を支援するテストシナリオ作成支援方法であって、
前記制御部は、
定義名と、コントロール名及びその型を含むコントロール情報とを関連付けて登録した定義管理テーブルにアクセス可能に構成されており、
前記制御部において実行される、
シナリオ作成画面を提供し、前記定義管理テーブルに基づいて、当該シナリオ作成画面
において、定義のリストの一覧を表示し、当該リストの一覧からシナリオ作成者により選択される定義名についての画面レイアウトを表示し、当該画面レイアウトで操作可能なコントロールの一覧を表示し、当該コントロールの一覧からシナリオ作成者により選択されたコントロールについての操作の選択候補を表示し、当該操作の選択候補でのシナリオ作成者の操作の選択に基づいて、定義名、コントロール、及びその操作内容を含むテストシナリオを作成して、データベースに登録するシナリオ作成工程を含むことを特徴とするテストシナリオ作成支援方法。
【請求項8】
制御部を備える情報処理システムが実行するための、アプリケーションの自動操作手段が実行するテストシナリオの作成を支援するテストシナリオ作成支援プログラムであって、
前記制御部は、
定義名と、コントロール名及びその型を含むコントロール情報とを関連付けて登録した定義管理テーブルにアクセス可能に構成されており、
前記制御部において、
シナリオ作成画面を提供し、前記定義管理テーブルに基づいて、当該シナリオ作成画面
において、定義のリストの一覧を表示し、当該リストの一覧からシナリオ作成者により選択される定義名についての画面レイアウトを表示し、当該画面レイアウトで操作可能なコントロールの一覧を表示し、当該コントロールの一覧からシナリオ作成者により選択されたコントロールについての操作の選択候補を表示し、当該操作の選択候補でのシナリオ作成者の操作の選択に基づいて、定義名、コントロール、及びその操作内容を含むテストシナリオを作成して、データベースに登録するシナリオ作成工程を実行するためのテストシナリオ作成支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テストシナリオ作成支援システム、テストシナリオ作成支援方法、及びテストシナリオ作成支援プログラムに関する。
【背景技術】
【0002】
例えば、変化の激しいビジネス環境において、価値ある業務ソリューションを提供するためには、素早くリリースすることが必要であり、OSやブラウザ等の進化のスピードが加速している外部環境の変化に対応するため、業務アプリケーションの開発・回帰テストの効率化が求められている。従来、アプリケーションの操作シナリオを作成するシステムとして、例えば、特許文献1がある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1では、アプリケーションを自動操作する自動操作手段(例えば、RPA)がアプリケーションのテストを行うためのテストシナリオを効率的に作成することに関して、何等記載されていない。
【0005】
本発明は、上記に鑑みてなされたものであり、アプリケーションを自動操作する自動操作手段がアプリケーションのテストを行うためのテストシナリオを効率的に作成することが可能なテストシナリオ作成支援システム、テストシナリオ作成支援方法、及びテストシナリオ作成支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明は、制御部を備え、アプリケーションの自動操作手段が実行するテストシナリオの作成を支援するテストシナリオ作成支援システムであって、前記制御部は、定義名と、コントロール名及びその型を含むコントロール情報とを関連付けて登録した定義管理テーブルにアクセス可能に構成されており、
シナリオ作成画面を提供し、前記定義管理テーブルに基づいて、当該シナリオ作成画面
において、定義のリストの一覧を表示し、当該リストの一覧からシナリオ作成者により選択される定義名についての画面レイアウトを表示し、当該画面レイアウトで操作可能なコントロールの一覧を表示し、当該コントロールの一覧からシナリオ作成者により選択されたコントロールについての操作の選択候補を表示し、当該操作の選択候補でのシナリオ作成者の操作の選択に基づいて、定義名、コントロール、及びその操作内容を含むテストシナリオを作成して、データベースに登録するシナリオ作成手段を備えたことを特徴とする。
【0007】
また、本発明の一態様によれば、前記コントロールの一覧は、共通の操作対象のコントロールを含むことにしてもよい。
【0008】
また、本発明の一態様によれば、前記定義管理テーブルには、前記定義名と前記コントロール情報に加えて、ロジックフロー毎のID、名前、及びアクション同士を繋ぐフロー要素群を含むロジックフロー情報と、アクション毎のID、名前、アクションタイプ、及び設定を含むアクション情報とが関連づけて登録されており、前記シナリオ作成手段は、前記シナリオ作成画面において、前記定義管理テーブルに基づいて、直前に選択された操作から次の操作の候補を提示することにしてもよい。
【0009】
また、本発明の一態様によれば、前記自動操作手段は、RPAを含むことにしてもよい。
【0010】
また、本発明の一態様によれば、前記テストシナリオ作成支援システムは、ローコード基盤又はノーコード基盤を含むことにしてもよい。
【0011】
また、本発明の一態様によれば、前記アプリケーションは、業務アプリケーションを含むことにしてもよい。
【0012】
また、上述した課題を解決し、目的を達成するために、本発明は、制御部を備える情報処理システムが実行する、アプリケーションの自動操作手段が実行するテストシナリオの作成を支援するテストシナリオ作成支援方法であって、前記制御部は、定義名と、コントロール名及びその型を含むコントロール情報とを関連付けて登録した定義管理テーブルにアクセス可能に構成されており、前記制御部において実行される、シナリオ作成画面を提供し、前記定義管理テーブルに基づいて、当該シナリオ作成画面において、定義のリストの一覧を表示し、当該リストの一覧からシナリオ作成者により選択される定義名についての画面レイアウトを表示し、当該画面レイアウトで操作可能なコントロールの一覧を表示し、当該コントロールの一覧からシナリオ作成者により選択されたコントロールについての操作の選択候補を表示し、当該操作の選択候補でのシナリオ作成者の操作の選択に基づいて、定義名、コントロール、及びその操作内容を含むテストシナリオを作成して、データベースに登録するシナリオ作成工程を含むことを特徴とする。
【0013】
また、上述した課題を解決し、目的を達成するために、本発明は、制御部を備える情報処理システムが実行するための、アプリケーションの自動操作手段が実行するテストシナリオの作成を支援するテストシナリオ作成支援プログラムであって、前記制御部は、定義名と、コントロール名及びその型を含むコントロール情報とを関連付けて登録した定義管理テーブルにアクセス可能に構成されており、前記制御部において、シナリオ作成画面を提供し、前記定義管理テーブルに基づいて、当該シナリオ作成画面において、定義のリストの一覧を表示し、当該リストの一覧からシナリオ作成者により選択される定義名についての画面レイアウトを表示し、当該画面レイアウトで操作可能なコントロールの一覧を表示し、当該コントロールの一覧からシナリオ作成者により選択されたコントロールについての操作の選択候補を表示し、当該操作の選択候補でのシナリオ作成者の操作の選択に基づいて、定義名、コントロール、及びその操作内容を含むテストシナリオを作成して、データベースに登録するシナリオ作成工程を実行するためのテストシナリオ作成支援プログラムであることを特徴とする。
【発明の効果】
【0014】
本発明によれば、アプリケーションを自動操作する自動操作手段がアプリケーションのテストを行うためのテストシナリオを効率的に作成することが可能となるという効果を奏する。
【図面の簡単な説明】
【0015】
【
図1】
図1は、本実施の形態に係るテストシナリオ作成支援システムの構成の一例を示すブロック図である。
【
図2】
図2は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図3】
図3は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図4】
図4は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図5】
図5は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図6】
図6は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図7】
図7は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図8】
図8は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図9】
図9は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図10】
図10は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図11】
図11は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図12】
図12は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図13】
図13は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図14】
図14は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図15】
図15は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図16】
図16は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図17】
図17は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図18】
図18は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図19】
図19は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図20】
図20は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図21】
図21は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図22】
図22は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図23】
図23は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図24】
図24は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図25】
図25は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図26】
図26は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図27】
図27は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図28】
図28は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図29】
図29は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図30】
図30は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図31】
図31は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図32】
図32は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図33】
図33は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図34】
図34は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図35】
図35は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図36】
図36は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図37】
図37は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図38】
図38は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図39】
図39は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図40A】
図40Aは、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図40B】
図40Bは、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図40C】
図40Cは、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図41】
図41は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図42】
図42は、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図43A】
図43Aは、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【
図43B】
図43Bは、本実施の形態に係るテストシナリオ作成支援システムの処理の具体例を説明するための図である。
【発明を実施するための形態】
【0016】
以下に、本発明に係るテストシナリオ作成支援システム、テストシナリオ作成支援定方法、及びテストシナリオ作成支援プログラムの実施形態を、図面に基づいて詳細に説明する。なお、本実施形態により本発明が限定されるものではない。
【0017】
[1.概要]
本発明の概要を、(背景)、(課題)、(解決手段)の順に説明する。
【0018】
(背景)
近年、ローコード開発ツールがアプリケーションを簡単に開発できるツールとして注目されている。また、ローコード開発ツールの活用領域がミッションクリティカルな企業の基幹システムにまで入り込んできている。そういった中、ローコード開発ツールで作成されたアプリケーションの品質を維持する仕組みが必須となっている。その手段として、RPAを用いた回帰テストが注目を浴びている。
【0019】
(課題)
しかしながら、従来の手法では、業務アプリケーションのテストを行う場合、以下の(1)~(2)の課題がある。
【0020】
(1)テストパターンの作成に漏れが生じるという課題がある。具体的には、設計書からテストパターンを作り出した後テストを行うためパターン漏れが発生していた。そのため、設計書をベースにテストコードを生成し実行していたが、定型的な処理については自動生成できたが非定型な処理については人的に作成する必要があった。
【0021】
(2)テスト自体にコストがかかり、また、繰り返しテストを行うことが難しいという課題がある。具体的には、業務アプリのテストを網羅的にやる場合、人の手でやるべきテストを明確化し実際に実施するのはリスクもコストがかかる。既存の手法では定型的な仕様に関しては設計書を読み込みテストコードが作成でき自動テストが行えリスクとコストが下げられていた。しかしながら、非定型な仕様(設計書の構造解釈が困難な領域)のテストを行う場合には人的にテストシナリオを作成した後テストを実施するためテストのコストがかかり、繰り返しテストを行うことが難しい。
【0022】
(解決方法)
本実施の形態では、ローコード基盤では操作対象のコントロールのプロパティ情報やイベント内の処理ロジックをすべて保持しており、対象ジョブを実行しなくても画面デザインを見ることができ、コントロールや操作情報を設定できる点に着目した。
【0023】
本実施の形態では、自動操作手段(例えば、RPA)がアプリケーションのE2Eな回帰テストを実行するためのテストシナリオを作成する場合に、ローコード基盤上の情報を利用して効率的に作成できるようにした。
【0024】
具体的には、本実施の形態のテストシナリオ作成支援システムでは、操作可能なコントロールの選択機能、操作対象コントロールに対するオペレーション提示機能、直前操作から次の操作を提案する機能を搭載して、テストシナリオを効率的に作成できるようにした。
【0025】
[2.構成]
本実施形態に係るテストシナリオ作成支援システム100の構成の一例について、
図1を参照して説明する。テストシナリオ作成支援システム100は、例えば、ローコード基盤で構成することができる。なお、ノーコード基盤で構成することにしてもよい。
図1は、テストシナリオ作成支援システム100の構成の一例を示すブロック図である。テストシナリオ作成支援システム100は、シナリオ作成者が使用するテストシナリオ作成用のシステムである。テストシナリオ作成支援システム100は、後述する[3.処理の具体例]で説明する機能を搭載しており、これらで説明する処理を実行可能に構成されている。
【0026】
テストシナリオ作成支援システム100は、ワークステーション、デスクトップ型パーソナルコンピュータのような据置型情報処理システム、市販されているノート型パーソナルコンピュータなどの情報処理システムであってもよい。
【0027】
テストシナリオ作成支援システム100は、制御部102と通信インターフェース部104と記憶部106と入出力インターフェース部108と、を備えている。テストシナリオ作成支援システム100が備えている各部は、任意の通信路を介して通信可能に接続されている。
【0028】
通信インターフェース部104は、ルータ等の通信システムおよび専用線等の有線または無線の通信回線を介して、テストシナリオ作成支援システム100をネットワーク300に通信可能に接続する。通信インターフェース部104は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク300は、テストシナリオ作成支援システム100とシナリオ作成者やテスターが使用する不図示の端末、サーバ200等の他の装置とを相互に通信可能に接続する機能を有し、例えばインターネットやLAN(Local Area Network)等である。なお、後述する定義管理テーブル106a、開発用アプリケーションDB106b、自動操作部102a、アプリケーション102cは、他のシステムに搭載されてもよい。
【0029】
入出力インターフェース部108には、入力システム112および出力システム114が接続されている。出力システム114には、モニタ(家庭用テレビを含む)の他、スピーカやプリンタを用いることができる。入力システム112には、キーボード、マウス、及びマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力システム114をモニタ114とし、入力システム112をキーボード112またはマウス112として記載する場合がある。
【0030】
記憶部106には、各種のデータベース、テーブルおよびファイルなどが格納される。記憶部106には、OS(Operating System)と協働してCPU(Central Processing Unit)に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部106として、例えば、RAM(Random Access Memory)・ROM(Read Only Memory)等のメモリシステム、ハードディスクのような固定ディスクシステム、フレキシブルディスク、および光ディスク等を用いることができる。
【0031】
記憶部106は、定義管理テーブル106a、開発用アプリケーションDB106bを備えている。定義管理テーブル106aは、例えば、定義IDと、定義名と、コントロール情報と、プルダウン割当情報と、プルダウン情報と、ロジックフロー情報と、アクション情報と、イベント割当定義情報を関連付けて登録したテーブル等で構成することができる。
【0032】
コントロール情報は、ID、コントロール名、及びその型を含むことにしてもよい。ロジックフロー情報は、ロジックフロー毎のID、名前、及びアクション同士を繋ぐフロー要素群を含むことにしてもよい。アクション情報は、アクション毎のID、名前、アクションタイプ、及び設定を含むことにしてもよい。
【0033】
開発用アプリケーションDB106bは、テストシナリオ等のデータを格納するためのデータベースである。
【0034】
制御部102は、テストシナリオ作成支援システム100を統括的に制御するCPU等である。制御部102は、OS等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。
【0035】
制御部102は、機能概念的に、自動操作部102aと、シナリオ作成部102bと、
アプリケーション102cと、を備えている。
【0036】
自動操作部102aは、開発用アプリケーションDB106bに登録されるテストシナリオに従って、アプリケーション102cに対する自動操作を実行して回帰テストを行う。自動操作部は、例えば、RPA実行プログラム(RPAツール)である。RPAの代わりにRDA(Robotic Desktop Automation)等を使用してもよい。
【0037】
シナリオ作成部102bは、シナリオ作成者の端末からのリクエストに応じて、テストシナリオを作成するためのシナリオメニュー画面やシナリオ作成画面を提供し、シナリオ作成画面でのシナリオ作成者の操作に応じたテストシナリオを作成して、開発用アプリケーションDB106bに格納する。
【0038】
具体的には、シナリオ作成部102bは、定義管理テーブル106aに基づいて、シナリオ作成画面において、定義のリストの一覧を表示し、当該リストの一覧からシナリオ作成者により選択される定義名についての画面レイアウトを表示し、当該画面レイアウトで操作可能なコントロールの一覧を表示し、当該コントロールの一覧からシナリオ作成者により選択されたコントロールについての操作の選択候補を表示し、当該操作の選択候補でのシナリオ作成者の操作の選択に基づいて、定義名、コントロール、及びその操作内容を含むテストシナリオを作成して、開発用アプリケーションDB106bに登録する。
【0039】
コントロールの一覧は、共通の操作対象のコントロールを含むことにしてもよい。
【0040】
シナリオ作成部102bは、シナリオ作成画面において、定義管理テーブル106aに基づいて、直前に選択された操作から次の操作の候補を提示することにしてもよい。
【0041】
アプリケーション102cは、例えば、1又は複数の業務用アプリケーションである。アプリケーションは、記憶部106に格納されているが、制御部102が実行する、記憶部106に格納されているアプリケーションを、機能概念的に制御部102のアプリケーション102cと表現している。
【0042】
[3.具体例]
本実施の形態のテストシナリオ作成支援システム100(シナリオ作成部102b)の処理の具体例について、
図2~
図41を参照して説明する。
図2~
図41は、本実施の形態のテストシナリオ作成支援システム100の処理の具体例を説明するための図である。
【0043】
[3-1.シナリオ作成全体概要イメージ]
ここで、
図2~
図4を参照して、本実施の形態のテストシナリオ作成支援システム100のテストシナリオ作成の全体概要イメージを説明する。
図2は、テストシナリオ作成の概要を説明するための図であり、(A)は、シナリオ作成画面の表示例、(B)は、作成されるテストシナリオの例を示している。シナリオ作成者は、提供されるシナリオ作成画面でシナリオを作成する。
【0044】
シナリオ作成画面は、
図2(A)に示すように、シナリオCD、シナリオ名の設定欄と、シナリオ設定エリアとシナリオ実行エリアの表示を切り替えるための切替ボタンと、を備えている。「設定」を選択するとシナリオ設定エリアが表示され、「実行」を選択するとシナリオ実行エリアが表示される。同図に示す例では、「設定」が選択されてシナリオ設定エリアが表示されている。
【0045】
シナリオ作成者が、シナリオ作成画面で、シナリオCD、シナリオ名を指定し、そのシナリオ設定画面で操作対象(コントロール)を選択し、その操作の選択を行うと、操作内容に応じたテストシナリオが開発用アプリケーションDB106bに登録される。
【0046】
テストシナリオは、
図2(B)に示すように、シナリオCD、シナリオ名、RPA操作内容(アクション)を含んでいる。RPA操作内容は、画面の起動、ページ操作、スクリーンショット等を含んでいる。
【0047】
同図に示す例では、シナリオCD「S-01-001-0020」、シナリオ名「取引先マスタの取引先名に許可されない文字を入力した場合にエラーとなるか」、RPA操作内容は、画面を起動:取引先マスタメンテ(取引先マスタメンテ画面を起動する)、基本のページ操作:テキスト取引先名 テキストを入力、スクリーンショット:ファイル名S-01-001-00XX-1.png(スクリーンショットを撮影して、ファイル名をS-01-001-00XX-1.pngとする)となっている。
【0048】
図3は、テストシナリオの実行を説明するための図である。
図3(A)は、シナリオ作成画面のシナリオ実行エリアの表示例、
図3(B)は、自動操作されるアプリケーションの画面の例を示している。テストシナリオは、テスターやシナリオ作成者が、シナリオ作成画面のシナリオ実行エリアで実行指示ボタンを押下した場合や、バッチマネージャーが自動で実行指示を出した場合に、RPA実行プログラム(自動操作部102a)により実行される。
【0049】
例えば、テスターやシナリオ作成者が、
図3(A)のシナリオ画面で実行ボタンを押下して、実行指示ボタンを押下して実行を指示した場合や、バッチマネージャーが実行を指示した場合に、RPA実行プログラムが、開発用アプリケーションDBに登録されたシナリオ内容を解釈して、ローコード実行基盤上で実行されるアプリケーション(
図3(B)を自動操作する。
【0050】
図4は、シナリオ作成時の基本的な操作を説明するための図である。ここでは、取引先マスタの取引先名の修正登録が正しく行われるかをチェックするためのテストシナリオを作成する場合の操作を説明する。(A)に示すように、取引先マスタメンテ(一覧)の画面を表示し、修正対象として、例えば、取引先CD=C001の明細を選択し修正ボタンクリックする。(B)に示すように、選択したデータを表示して、(C)に示すように、取引先名を変更して、登録ボタンで変更内容を登録し、(D)に示すように、取引先名が反映されていることを確認する。
【0051】
[3-2.テストシナリオ作成]
図5~
図19を参照して、テストシナリオ作成を説明する。
図5は、シナリオメニュー画面とシナリオ作成画面の表示例を示す図であり、(A)は、シナリオメニュー画面、(B)は、シナリオ作成画面の表示例を示している。シナリオ作成者が新しくシナリオを作成する場合、シナリオメニュー画面から新しいシナリオを作成する。シナリオメニュー画面には、新しいシナリオを作成するボタン(「新しいシナリオボタン」)が配置されており、このボタンをクリックすることで、シナリオ作成画面が起動し、シナリオ作成ができるようになる。
【0052】
シナリオメニュー画面は、
図5(A)に示すように、開発用アプリケーションDB106bに登録されているテストシナリオのタイトル・最終更新者・更新日時が表示されるリナリオ一覧と、新しいシナリオを作成する「新しいシナリオボタン」と、が表示される。新しいシナリオを作成する場合は、「新しいシナリオボタン」を押下すると、
図5(B)に示すようなシナリオ作成画面が表示される。
【0053】
シナリオ作成画面は、
図5(B)に示すように、シナリオCD、シナリオ名の設定欄と、シナリオ設定エリアとシナリオ実行エリアの表示を切り換えるための切替ボタンと、備えており、「設定」を選択するとシナリオ設定エリアが表示され、「実行」を選択するとシナリオ実行エリアが表示される。同図に示す例では、「設定」が選択されてシナリオ設定エリアが表示されている。新規作成時は自動で画面を起動の操作がセットされている。同図の本来は破線の手順で画面を起動の操作を設定していく。
【0054】
シナリオ作成者は、RPAが実際に実行する順番に操作を設定していく。
【0055】
まず、
図6に示すように、シナリオCD、シナリオ名を入力する。同図に示す例では、シナリオCD「S-01-001-0020」、シナリオ名「取引先マスタの取引先名の修正登録は正しいか」が入力されている。
図7~
図9を参照して、RPA操作(画面を起動、画面の操作)の設定を説明する。
【0056】
(1)操作する定義を選択する。
図7は、操作する定義の選択を説明するための図である。
図7(A)は、シナリオ作成画面のシナリオ設定エリアの表示例を示す図である。
図7(B)は、定義管理テーブル106aに登録されている定義名の一例を示す図である(コントロール情報、アクション情報、ロジックフロー情報等のデータについては省略する)。
【0057】
図7(A)において、シナリオ設定エリアには、定義管理テーブル106aに存在する全ての定義名の一覧(例えば、取引先マスタメンテ(一覧)、取引先マスタメンテ、取引先検索、取引先マスタリスト、・・・)が選択肢としてリストに表示される。リストの中から操作を行う定義の定義名を選択する。この例では、取引先マスタメンテ(一覧)が選択されている。
【0058】
(2)選択した定義から(選択時に裏で定義IDを保持)定義管理テーブル106aのコントロール情報を元に画面レイアウトを作成して選択したリストの下に表示する。以下、「画面レイアウト」とは定義管理テーブル106aに保存されているコントロール情報から作成される画面デザインのことを指す。
【0059】
図8は、シナリオ作成画面のシナリオ設定エリアの表示例を示す図である。
図8に示すように、選択した定義名「取引先マスタメンテ(一覧)」の下に、選択した定義名に紐づく定義管理テーブル106aのコントロール情報を元に画面レイアウト「取引先マスタメンテ(一覧)の画面レイアウト」を作成して表示する。
【0060】
(3)操作する内容(RPA操作)を設定する。ここでは、選択した定義のコントロールを操作するのか、その他の固定の操作を行うのかを選択する。
図9は、設定可能なRPA操作一覧を示しており、代表的なRPA操作、操作内容、その説明を示している。
【0061】
例えば、RPA操作「画面を起動」は、操作内容が「画面操作」であり、ロボットが最初に起動する画面の設定を行うRPA操作である。RPA操作「画面を操作」は、操作内容が「画面操作」であり、起動している画面から別の画面を起動・遷移を行うRPA操作である。RPA操作「基本のページ操作」は、操作内容が「画面操作」であり、指定した定義内のコントロールを操作するRPA操作である。RPA操作「システム共通検索ダイアログを操作」は、操作内容が「画面操作」であり、システム共通の検索ダイアログを操作するRPA操作である。RPA操作「一時停止」は、操作内容が「その他」であり、ロボット実行を一時停止(スリープ)するRPA操作である。RPA操作「スクリーンショット」は、操作内容が「その他」であり、画面の内容を画像に保存するRPA操作である。
【0062】
ここから一覧画面の操作シナリオ作成を途中省略して、取引先マスタメンテ画面を操作するシナリオ作成から説明する。
【0063】
(操作内容選択例1:画面内のコントロールを操作する)
ここでは、RPA操作として基本のページ操作を説明する。
【0064】
1.「操作を追加するボタン」をクリックする。
図10を参照して、シナリオ設定エリアで「操作を追加する」ボタンをクリックした場合の処理を説明する。
【0065】
図10(A)は、シナリオ設定エリアの表示例を示す図である。シナリオ設定エリアでは、
図10(A)に示すように、左側に「操作を追加する」ボタンと、「画面を開始する」ボタンと、が表示され、右側に、選択した定義と、その画面レイアウトが表示されている。「操作を追加する」ボタンをクリックすると、
図10(B)に示すような操作選択画面が表示される。操作選択画面では、操作内容として、「画面操作」、「その他」の選択と、操作として、「基本のページ操作」、「画面を操作」、「ページID指定の画面を操作」の選択をすることができる。ここで、定義内のコントロールを操作することを「基本のページ操作」としている。また、ローコード基盤の他定義を操作開始することを「画面を操作」としている。
【0066】
2.定義内の操作するコントロールを選択する。詳細については、後述の「作成アシスト機能(1)」で説明する。
図11を参照して、定義内の操作するコントロールの選択を説明する。
図11は、
図10(B)の操作選択画面において、操作内容「画面操作」、操作「基本のページ操作」が選択された場合のシナリオ設定エリアの表示例を示す図である。
【0067】
図11に示すように、シナリオ設定エリアでは、左側には、「ページ操作を選択して下さい」が表示される。右側には、操作対象(コントロール)のリストの一覧として、選択した定義内にある操作可能なコントロールと、定義の設定によらないシステムの共通のコントロールが表示される。
【0068】
この例では、選択した定義「取引先マスタメンテ」内にある操作可能なコントロールとして、「テキスト取引先コードテキスト」、「テキスト改定日テキスト」、「テキスト取引先名テキスト」、「登録ボタン(修正)」が表示されている。また、定義の設定に因らないシステム共通で操作可能なコントロ-ルとして、「メッセージボックス はい」、「メッセージボックス いいえ」が表示されている。以下では、「テキスト取引先名テキスト」が選択された場合を一例として説明する。
【0069】
3.2.で選択したコントロールに因った動作の選択を説明する。詳細については、後述の「作成アシスト機能(2)」で説明する。
【0070】
(選択操作例1:文字入力を行う)
図12を参照して、選択操作例1(文字入力を行う)を説明する。
図12は、
図11のシナリオ設定エリアで、操作対象の選択で「テキスト取引先名テキスト」が選択された場合の表示例を示している。
図12に示すように、シナリオ設定エリアでは、右側では、操作対象の選択で選択したコントロールについて、操作の選択候補の表示が行われ、操作の選択が可能となっている。この例では、操作の選択として、「文字入力」が選択されている。また、左側には、操作対象の選択で選択されたコントロールの名称に操作の選択で選択された操作の名称を結合したタイトルを表示する。この例では、操作対象の選択「テキスト取引先名テキスト」と操作の選択「文字入力」が結合した「テキスト取引先名テキストを文字入力する」のタイトルが表示されている。
【0071】
(選択操作例2:コントロールをクリックする)
図13及び
図14を参照して、選択操作例2(コントロールをクリックする)を説明する。
図13は、シナリオ設定エリアで、ボタン等を選択し操作の選択でクリックを選択する場合の表示例を示す図である。
図13に示す例では、操作対象の選択で「登録ボタン(修正)」が選択され、操作の選択で「クリック」が選択され、タイトル「登録ボタン(修正)をクリックする」が表示された場合の例を示している。
【0072】
図14は、シナリオ設定エリアで、アシスト機能を使用し次の操作を設定する場合の表示例を示す図である。詳細については、後述の「作成アシスト機能(3)」で説明する。
図14に示す例では、
図13において、直前の操作で登録ボタン(修正)のクリックが選択され、次の操作候補として、「メッセージボックスはいをクリックする」を提示されてOKとした場合に、シナリオ設定エリアにその内容が反映された場合を示している。
【0073】
(操作内容選択例2:その他固定の操作を操作する)
ここでは、RPA操作として、スクリーンショット、一時停止などを説明する。
【0074】
1.シナリオ設定エリアで「操作を追加するボタン」をクリックする。
図15を参照して、シナリオ設定エリアで「操作を追加するボタン」をクリックした場合の処理を説明する。
【0075】
図15(A)は、シナリオ設定エリアの表示例を示す図である。
図15(A)において、「操作を追加するボタン」をクリックすると、
図15(B)に示すような操作選択画面が表示される。操作選択画面において、操作内容「その他」と、操作「スクリーンショット」を選択する。
【0076】
2.スクリーンショットの撮影設定を行う。
図16は、
図15(B)の操作選択画面において、操作内容「その他」と、操作「スクリーンショット」が選択された場合のシナリオ設定エリアの表示例を示す図である。
【0077】
図16に示すように、シナリオ設定エリアでは、右側では、スクリーンショット名と、確認内容を設定(入力)する。この例では、シナリオ作成者により、スクリーンショット名「S-01-001-0020-1」、確認内容「取引先名のみ変更登録されていることを確認」が設定(入力)される。この設定により、スクリーンショット名+「.png」をファイル名としたスクリーンショットの撮影が行われる。また、左側には、撮影アイコンと「ファイル名 スクリーンショット名+「.png」」のタイトルを表示する。
【0078】
完成したテストシナリオは開発用アプリケーションDB106bに保存される。
図17は、RPA操作の設定が完了したシナリオ作成画面の表示例を示している。シナリオ作成画面で登録ボタンをクリックすることで、シナリオ作成画面でのRPA操作の設定に応じたテストシナリオが作成されて、開発用アプリケーションDB106bに保存される。
【0079】
ここで、再生アイコンは、RPA操作の画面の起動・画面の操作を示している。画面アイコンは、RPA操作の基本のページ操作を示している。撮影アイコンは、PRA操作のスクリーンショットを示している。画面の起動・画面の操作の直下にある枠の最上位の枠内にある操作がその画面内で行うRPA操作であるということを表現している。
【0080】
図18は、登録されるテストシナリオのデータイメージの例を示す図である。テストシナリオは、シナリオCD、シナリオ名、開始RPA操作キー、RPA操作内容(各RPA操作)で構成されている。
図18に示す例では、シナリオCD「S-01-001-0020」、シナリオ名「取引先マスタの取引先名の修正登録は正しいか」、RPA操作開始キー「A1」、RPA操作内容「開始RPA操作キー:A1」、「操作タイプ:画面を起動」、「画面タイプ:ローコード基盤」、「対象:取引先マスタメンテ(一覧)(定義ID)」、「子RPA操作キー:A11、A12、A13、B1、A14」、・・・となっている。
【0081】
「子RPA操作キー」は、RPA操作キーで指定されている画面内で行う操作のRPA操作キーのリストであり、画面に描画するときに入れ子になるよう制御しており、処理の順番は左から順に行われる。
【0082】
シナリオ作成後に実行確認を行う。
図19は、シナリオ作成画面で「実行」を選択した場合の表示例を示す図である。
図19に示すように、シナリオ作成画面のシナリオ実行エリアには、「実行指示ボタン」と、「実行状況更新ボタン」と、RPA操作内容が表示される。実行指示ボタンを押下すると、RPA実行プログラムによりテストシナリオが実行される。また、「実行状況更新ボタン」を押下すると、実行状況を確認することができる。実行状況の確認では、実行成功や実行失敗(RPA操作でシステムエラーが発生)のアイコンが表示される。
【0083】
[3-3.テストシナリオの実行イメージ]
図20~
図23を参照して、テストシナリオの実行イメージを説明する。ここでは、シナリオ「基準日に文字を入力した場合にエラーとなるか」の例を用いて説明する。
図20は、テストシナリオの読み込みを説明するための図である。
図20において、シナリオ作成画面でシナリオCDを指定すると、シナリオCDをキーとして、開発用アプリケーションDB106bからテストシナリオのRPA操作内容をシナリオ実行エリアに表示する。そして、「実行指示ボタン」が押下されると、指定されるシナリオCDのテストシナリオの実行をRPA実行プログラムに指示し、RPA実行プログラムは、開発用アプリケーションDB106bから指定されるシナリオCDのテストシナリオを読み込み、テストシナリオの操作実行順に従い処理を行う。
【0084】
図21を参照して、画面の起動を説明する。
図21は、画面の起動を説明するための図である。
図21において、RPA実行プログラムは、開発用アプリケーションDB106bから指示されたシナリオCDのテストシナリオの開始RPA操作キーに指定されているRPA操作キー(同図に示す例では、「A1」)を取得し、取得したRPA操作キーに設定されているRPA操作内容(RPA操作キー:A1、操作タイプ:画面を起動、対象:取引先マスタメンテ(一覧)の定義ID)を読み込み、画面を起動するように、アプリケーション(同図に示す例では、取引先マスタメンテ(一覧))を操作する。
【0085】
図22を参照して、画面内の操作を説明する。
図22は、画面内の操作を説明するための図である。
図22において、RPA実行プログラムは、開発用アプリケーションDB106bから指示されたシナリオCDのテストシナリオのRPA操作内容(同図に示す例では、RPA操作キー:A11、操作タイプ:基本のページ操作、対象:テキスト基準日のコントロールID、操作内容:文字入力、値:a)を読み込み、アプリケーションを操作する。
【0086】
図23を参照して、スクリーンショットの撮影を説明する。
図23は、スクリーンショットの撮影を説明するための図である。
図23において、RPA実行プログラムは、開発用アプリケーションDB106bから指示されたシナリオCDのテストシナリオのRPA操作内容(同図に示す例では、RPA操作キー:A12、操作タイプ:スクリーンショット、ファイル名:S-01-001-0030-1、確認事項:日付エラーが表示されているか)を読み込み、画面のスクリーンショットを撮影して、S-01-001-0030-1.pngのファイルを作成する。
【0087】
[3-4.テストシナリオ作成のアシスト機能(1)]
図24~
図31を参照して、テストシナリオ作成のアシスト機能(1)を説明する。RPAが操作できる操作の対象は、定義管理テーブル106aのコントロール情報(ローコード基盤上の設定情報)を用いており、予め決まっているため操作可能なコントロールを提示する。
【0088】
図24において、(A)は、シナリオ作成画面のシナリオ設定エリアを示している。(B)は、画面レイアウトのイメージを示している。画面レイアウトは、マスタページ(ボタン群)と、プレースホルダで構成される。「マスタページ」とは、画面に共通した機能(データの表示、追加、修正、削除、削除等のボタン群)をまとめたページである。マスタページを継承することで、継承先での設定にかかるコストを下げることができる。継承先ではマスタページに配置されているコントロールの変更ができないため動作が統一される。
【0089】
「プレースホルダ」とは、継承先で継承先独自のコントロールを配置するためのコンテンツである。プレースホルダは、継承先画面側に引き継がれ、プレースホルダ上にコントロールを配置することで、プレースホルダの子要素プロパティに配置したコントロールが登録される。
【0090】
図25は、定義管理テーブル106aの一例を示す図である。
図25に示す定義管理テーブル106aの例では、定義ID、定義名、コントロール情報、アクション情報、ロジックフロー情報、マスタページ情報(定義に紐づくマスタページの定義ID)を備えている。定義管理テーブル106aから選択された定義のコントロール情報を取得して、シナリオ作成画面のシナリオ設定エリアの操作対象の選択のリストにセットする。マスタページのコントロール情報は、複数の定義で共通するコントロール情報を格納している。マスタページ情報の定義IDに該当する定義が存在すればそのコントロール情報も参照する。
【0091】
同図に示す例では、定義名「取引先マスタメンテ」に、マスタページ情報「マスタメンテ共通マスタページの定義ID」が紐付けられている。定義名「マスタメンテ共通マスタページ」のコントロール情報は、コントロール要素1(ID:XXXM1・・・、名称:登録ボタン(修正)、型:ボタン)、コントロール要素2(プレースホルダ)(ID:XXXP1・・・)、・・・となっている。定義名「取引先マスタメンテ」のコントロール情報は、コントロール要素1(ID:XXXP1・・・、子要素:XXXX1・・・、子要素:XXXX2・・・)、コントロール要素2(ID:XXXX1・・・、名称:テキスト取引先コード、型:文字列テキストボックス)、コントロール要素3(ID:XXXX2・・・、名称:テキスト改定日、型:日付テキストボックス)となっている。「マスタメンテ共通マスタページ」のコントロール要素2(プレースフォルダ)のID:XXXP1・・・は、「取引先マスタメンテ」のコントロール情報のコントロール要素1のID:XXXP1・・・と紐付けされている。
【0092】
図26~
図31を参照して、定義管理テーブル106aの設定情報を追加して、操作可能な対象を追加する場合を説明する。
【0093】
図26は、代表的な操作可能な対象の一覧を示しており、コントロールと操作可能な対象を示している。
図26に示すように、代表的に、コントロール「テキストボックス」の場合は、操作可能な対象は、「テキスト」となっている。
【0094】
図27及び
図28を参照して、コントロール「テキストボックス」に操作可能な対象「プルダウンボタン」を追加する場合を説明する。
【0095】
図27は、テキストボックスにプルダウン機能を設定した場合の定義管理テーブル106aの一例を示す図である。定義管理テーブル106aは、コントロール情報に加えて、プルダウン割当情報と、プルダウン情報を備えている。コントロール情報のコントロール要素であるIDとプルダウン割当情報のプルダウン割当要素であるコントロールIDが合致するものをプルダウン割当済みと判定する。
【0096】
同図に示す例では、定義名「取引先マスタメンテ」について、コントロール情報は、コントロール要素1(ID:XXX1、名称:テキスト取引先コード、型:文字列テキストボックス)、プルダウン割当情報は、プルダウン割当要素1(コントロールID:XXX1、プルダウンID:SSS1)、プルダウン情報は、プルダウン要素1(プルダウンID:SSS1、プルダウン名:取引先サジェスト)となっている。
【0097】
図28において、コントロール「テキストボックス」に、プルダウンボタンの機能を追加した場合は(
図28(A))、
図28(B)に示すように、シナリオ作成画面のシナリオ設定エリアにおいて、操作対象の選択リストに「プルダウンボタン」が表示される。プルダウンボタンとは、
図28(C)に示すような、選択形式のコントロールに付属するボタンである。このボタンを押すことで予め決まっている選択肢の一覧を表示することができる。
【0098】
図29及び
図30を参照して、コントロール「日付テキストボックス」に操作可能な対象として「カレンダー」を追加する場合を説明する。
【0099】
図29は、日付テキストボックスにカレンダー機能を設定した場合の定義管理テーブル106aの一例を示す図である。同図に示す例では、定義名「取引先マスタメンテ」について、コントロール情報は、コントロール要素1(ID:XXX2、名称:テキスト改定日、型:テキストボックス、カレンダー表示:TRUE)となっている。
【0100】
図30において、コントロール「テキストボックス」に、カレンダー機能を追加した場合は(
図30(A))、
図30(B)に示すように、シナリオ作成画面のシナリオ設定エリアにおいて、操作対象の選択リストに「カレンダー」が表示される。
【0101】
図31は、設定によりRPA操作可能対象が追加されるコントロール一覧の一例を示しており、コントロール、設定、操作可能な対象を示している。
図31において、例えば、上記に加えて、コントロール「単一セレクトボックス」に「テキスト」、コントロール「ファイルアップロード」に「ダウンロードボタン」を操作可能対象として追加することができる。
【0102】
[3-5.テストシナリオ作成のアシスト機能(2)]
図32~
図36を参照して、テストシナリオ作成のアシスト機能(2)を説明する。RPAが操作できる操作の対象は、定義管理テーブル106aのコントロール情報(ローコード基盤上の設定情報)を用いており、予め決まっているためコントロール毎に使用可能な操作を提示する。
図32は、シナリオ作成画面のシナリオ設定エリアの表示例を示している。
【0103】
図33は、コントロールに対して操作可能な操作の一覧の一例を示す図である。
図33に示すように、代表的に、コントロール「明細コントロールのラベルセル」の場合は、操作可能な操作は、「クリック」となっている。
【0104】
図34及び
図35を参照して、コントロール「明細コントロールのラベルセル」に操作可能な操作として「ドラッグアンドドロップ」を追加する場合を説明する。
【0105】
図34において、(B)は、デザイナ設定画面の例を示している。デザイナ設定画面は、別途開発者が使用するアプリケーション開発用の画面で明細コントロールに関する挙動について設定された内容が、コントロール情報のコントロール要素であるドラッグアンドドロップによる行の並び替えを許可する項目に保存されており、その内容を参照して、コントロール情報にドラッグアンドドロップの操作の選択肢を追加する。
【0106】
(C)は、明細コントロールのラベルセルにドラッグアンドドロッププル機能を設定した場合の定義管理テーブル106aの一例を示す図である。上述のデザイナ設定画面で設定された内容がコントロール情報に設定される。同図に示す例では、定義名「取引先マスタメンテ」について、コントロール情報は、コントロール要素1(ID:XXX3、名称:明細コントロール、型:明細コントロール、ドラッグアンドドロップによる行の並び替えを許可する:TRUE)、コントロール要素2(ID:XXX4、名称:ラベル取引先名、型:文字列ラベルセル、主キー:FALSE)となっている。
【0107】
(D)は、テストシナリオを実行した場合の画面でのドラッグアンドドロップの動作例を示している。
【0108】
図35は、シナリオ作成画面のシナリオ設定エリアの表示例を示している。
図35(A)において、コントロール「明細コントロールのラベルセル」に、ドラッグアンドドロップの機能を追加した場合は、操作の選択候補に、「ドラッグアンドドロップ」が表示される。なお、
図35(B)に示すように、ドラッグアンドドロップの動作は明細コントロールを操作するのではなく明細コントロールに配置されたコントロールを操作するため明細コントロール自体には使用できる選択肢に表示されない。
【0109】
図36は、設定によりRPA操作が追加されるコントロール一覧の一例を示しており、コントロール、設定、操作可能な対象を示している。
図36において、例えば、上記に加えて、コントロール「明細コントロールのテキストセル」に「ドラッグアンドドロップ」の操作を追加することができる。
【0110】
[3-6.テストシナリオ作成のアシスト機能(3)]
図37~
図41を参照して、テストシナリオ作成のアシスト機能(3)を説明する。テストシナリオ作成のアシスト機能(3)では、特定の操作後の次の操作の作成を支援する機能を説明する。
【0111】
図37は、RPA操作の一般的な設定を説明するための図である。
図37に示すシナリオ作成画面のシナリオ設定エリアにおいて、(A)に示すように、「操作を追加するボタン」を押下して、(B)に示す選択画面で操作内容と操作を選択して、RPA操作を設定する。
【0112】
アシスト機能(3)では、ローコード基盤上の設定情報を用いているため、直前の操作に割り付けられているロジックフロー情報を解析し、次の操作内容の候補を表示する。ここでは、登録ボタン押下時の処理を一例に挙げて説明する。
【0113】
図38は、登録ボタン押下時の処理を説明するための図である。
図38を参照して、登録ボタン押下時の処理を説明する。まず、登録前処理を実行し(ステップS1)、「はい」、「いいえ」を選択するための確認メッセージを表示する(ステップS2)。確認メッセージで「はい」のボタンが選択された場合は、登録処理を実行し(ステップS3)、「いいえ」のボタンが選択された場合は、フローを終了する。
【0114】
このうち、登録前処理(ステップS1)と登録処理(ステップS3)は、ページ内アクションであり、「はい」、「いいえ」を選択するための確認メッセージを表示する処理(ステップS2)は、マスタページ内アクションである。
【0115】
ここで、「アクション」とは、ローコード基盤で処理を行うために配置するもののことをいい、メッセージを表示するアクション、処理を行うアクションなどがある。「マスタページ内アクション」とは、画面に共通した機能をまとめたページに配置されたアクションのことをいう。継承することで、継承先ページでの設定にかかるコストを下げることができる。継承先ページでは変更ができないため、マスタページに配置されているアクションに関して処理が統一される。
【0116】
「ページ内アクション」とは、ページ(取引先マスタメンテなどの継承先ページ)で配置されたアクションのことをいう。マスタページを継承している場合、継承先で実装できるようにプレイスフォルダアクションというものが配置されており、継承先ではプレイスフォルダアクション内で独自の処理を行うアクションを設定する。例えば、取引先マスタメンテの例の場合、登録前処理(ステップS1)と登録処理(ステップS3)が該当する。
【0117】
図39は、次の操作内容の候補を表示する場合のシナリオ作成画面の表示例を示す図である。
図39(A)において、シナリオ作成画面のシナリオ設定エリアでは、操作対象として「登録ボタン(修正)」、操作の選択として、「クリック」が選択されており(直前の動作)、この状態で、「操作を追加するボタン」をクリックすると、直前の動作に紐づくロジックフロー情報を解析して、おすすめの操作内容を提示した
図39(B)に示すようなおすすめ操画面が表示される。この例では、おすすめの操作内容として、基本ページの操作「メッセージボックスのクリック」が提案されている。この提案に同意して確定ボタンを押すと、
図39(C)に示すように、シナリオ作成画面のシナリオ設定エリアの操作対象の選択と操作の選択に設定(反映)される。
【0118】
図40A~40Cは、次の操作内容の候補を表示する機能を設定した場合の定義管理テーブル106aの一例を示す図である。この例では、定義名「マスタメンテ画面用マスタページ」と「取引先マスタメンテ」の例を示している。ロジックフロー情報には、ロジックフローごとに設定された情報(ID、名前およびアクション同士を繋ぐフロー要素群等)がセットされる。前アクションIDは、先に処理されるアクションのIDであり、後アクションIDは、前アクションが実行された後に実行されるアクションのIDである。コールバックキーは、アクション実行時にユーザが何かを行うための選択をした場合に、その選択結果を判別するためのキーである。アクション情報には、アクションごとに設定された情報(ID、名前、アクションタイプおよび各設定等)がセットされる。
【0119】
図41は、直前の動作に紐づくロジックの解析フローの一例を示す図である。
図41において、直前の操作の種類を取得する(ステップS11)。取得した直前の操作が、基本ページであるか否かを判定し(ステップS12)、取得した直前の操作が、基本ページの操作である場合には(ステップS12の「Yes」)、設定されているコントロールの識別IDを取得する(ステップS13)。取得したコントロールの識別IDが定義管理テーブル106a内に存在するか否かを判定し(ステップS14)、取得したコントロールの識別IDが定義管理テーブル106a内に存在する場合には(ステップS14の「Yes」)、ロジックフロー情報が設定されているか否かを判定する(ステップS15)。
【0120】
ロジックフロー情報が設定されている場合には(ステップS15の「Yes)、RPAが操作できる処理が存在するか否かを判定する(ステップS16)。RPAが操作できる処理は、定義管理テーブル106aのロジックフロー情報に、メッセージ表示アクション、画面起動アクション、画面遷移アクション等のアクションが設定されているものが対象となる。RPAが操作できる処理が存在する場合は(ステップ16の「Yes」)、次の操作を提案する(ステップS17)。
【0121】
他方、基本ページの操作でない場合(ステップS12の「No」)、取得したコントロールの識別IDが定義管理テーブル106a内に存在しない場合には(ステップS14の「No」)、ロジックフロー情報が設定されていない場合には(ステップS15の「No」)、RPAが操作できる処理が存在しない場合は(ステップ16の「No」)、処理を終了する(ステップS7)。
【0122】
図42、
図43A、
図43B及び上記
図41のフローを参照して、登録ボタン押下時の具体的な処理イメージを説明する。予め登録ボタンには、登録処理を行うロジックフロー(
図40のロジックフロー1)が割り当てられている(
図41のS15)。登録ボタンをクリックした後、確認メッセージが出るのが共通仕様となっているため、定義管理テーブル106aには、メッセージ表示アクションが設定されている。RPAが操作する処理として、メッセージの「はい」、「いいえ」のクリックがあるため、次の操作候補として提案する操作が「メッセージボックスのクリック」となる。以下、登録ボタン押下時の具体的な処理イメージを説明する。
【0123】
図42は、取引先マスタメンテ画面の一例を示す図である。
図43A及び
図43Bは、定義管理テーブル106aの一例を示す図である。
図43A及び
図43Bに示す定義管理テーブル106aの例では、定義ID、定義名、コントロール情報、アクション情報、ロジックフロー情報、マスタページ情報(定義に紐づくマスタページの定義ID)、イベント割当定義情報を備えている。
【0124】
イベント割当定義情報は、コントロール情報とロジックフロー情報を紐付けるためのものであり、コントロールID、イベントの種類、ロジックフローIDを備えている。同図に示す例では、コントロールID「XXXM1・・・」、イベントの種類「クリック」、ロジックフローID「XXXX・・・」となっている。
【0125】
取引先マスタメンテ画面で登録ボタンがクリックされた場合には(
図42(A)参照)、クリック操作は、基本ページの操作であるので(
図41のステップS11,12)、マスタメンテ共通マスタページの登録ボタンのコントロールID「XXXM1・・・」を取得し、コントロールID「XXXM1・・・」にイベント割当定義情報で紐づくロジックフローID(「XXXX・・・」)を取得し、ロジックフローID(「XXXX・・・」)をキーとして、ロジックフロー情報からフロー要素を取得する(
図41のS13~S15)。取得したフロー要素がRPAで操作できる処理である場合に、操作候補を提案する(
図41のS16,S17)。フロー要素1のプレス-ホルダ1アクションのId_アクション要素3は、RPAが操作する処理でないので、操作候補とならない。フロー要素2のメッセージ表示アクションのId_アクション要素2は、メッセージ表示アクションであり、RPAが操作する処理なので、操作候補として提案する(
図42の(B)、(C)参照)。
【0126】
以上説明したように、本実施の形態によれば、定義名と、コントロール名及びその型を含むコントロール情報とを関連付けて登録した定義管理テーブル106aと、シナリオ作成画面を提供し、前記定義管理テーブルに基づいて、当該シナリオ作成画面において、定義のリストの一覧を表示し、当該リストの一覧からシナリオ作成者により選択される定義名についての画面レイアウトを表示し、当該画面レイアウトで操作可能なコントロールの一覧を表示し、当該コントロールの一覧からシナリオ作成者により選択されたコントロールについての操作の選択候補を表示し、当該操作の選択候補でのシナリオ作成者の操作の選択に基づいて、定義名、コントロール、及びその操作内容を含むテストシナリオを作成して、開発用アプリケーションDB106bに登録するシナリオ作成部102bを備えているので、アプリケーションを自動操作する自動操作手段がアプリケーションのテストを行うためのテストシナリオを効率的に作成することが可能となる。
【0127】
[4.国連が主導する持続可能な開発目標(SDGs)への貢献]
本実施形態により、業務効率化や企業の適切な経営判断を推進することに寄与することができるので、SDGsの目標8及び9に貢献することが可能となる。
【0128】
また、本実施形態により、廃棄ロス削減や、ペーパレス・電子化を推進することに寄与することができるので、SDGsの目標12、13及び15に貢献することが可能となる。
【0129】
また、本実施形態により、統制、ガバナンス強化に寄与することができるので、SDGsの目標16に貢献することが可能となる。
【0130】
[5.他の実施形態]
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【0131】
例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【0132】
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【0133】
また、テストシナリオ作成支援システム100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【0134】
例えば、テストシナリオ作成支援システム100が備える処理機能、特に制御部にて行われる各処理機能については、その全部または任意の一部を、CPUおよび当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理システムに実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じてテストシナリオ作成支援システム100に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部などには、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
【0135】
また、このコンピュータプログラムは、テストシナリオ作成支援システム100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【0136】
また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、フレキシブルディスク、光磁気ディスク、ROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable and Programmable Read Only Memory)、CD-ROM(Compact Disk Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)、および、Blu-ray(登録商標) Disc等の任意の「可搬用の物理媒体」を含むものとする。
【0137】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各システムにおいて記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【0138】
記憶部に格納される各種のデータベース等は、RAM、ROM等のメモリシステム、ハードディスク等の固定ディスクシステム、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【0139】
また、テストシナリオ作成支援システム100は、既知のパーソナルコンピュータまたはワークステーション等の情報処理システムとして構成してもよく、また、任意の周辺システムが接続された当該情報処理システムとして構成してもよい。また、テストシナリオ作成支援システム100は、当該システムに本実施形態で説明した処理を実現させるソフトウェア(プログラムまたはデータ等を含む)を実装することにより実現してもよい。
【0140】
更に、システムの分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【0141】
本発明は、全業種・全業界において利用可能である。
【符号の説明】
【0142】
100 テストシナリオ作成支援システム
102 制御部
102a 自動操作部
102b シナリオ作成部
102c アプリケーション
104 通信インターフェース部
106 記憶部
106a 定義管理テーブル
106b 開発用アプリケーションDB
108 入出力インターフェース部
112 入力システム
114 出力システム
200 サーバ
300 ネットワーク