JP2023516846A - ロボティックプロセスオートメーション(rpa)のテスト自動化ワークフローを解析するシステムおよびコンピュータ実装方法 - Google Patents
ロボティックプロセスオートメーション(rpa)のテスト自動化ワークフローを解析するシステムおよびコンピュータ実装方法 Download PDFInfo
- Publication number
- JP2023516846A JP2023516846A JP2022532108A JP2022532108A JP2023516846A JP 2023516846 A JP2023516846 A JP 2023516846A JP 2022532108 A JP2022532108 A JP 2022532108A JP 2022532108 A JP2022532108 A JP 2022532108A JP 2023516846 A JP2023516846 A JP 2023516846A
- Authority
- JP
- Japan
- Prior art keywords
- workflow
- test automation
- test
- automation
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 231
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004801 process automation Methods 0.000 title claims abstract description 9
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 58
- 230000000694 effects Effects 0.000 claims abstract description 55
- 238000005067 remediation Methods 0.000 claims abstract description 18
- 230000007547 defect Effects 0.000 claims description 28
- 238000013461 design Methods 0.000 claims description 23
- 238000012549 training Methods 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 5
- 230000000246 remedial effect Effects 0.000 claims 3
- 239000004020 conductor Substances 0.000 description 23
- 230000008569 process Effects 0.000 description 20
- 239000003795 chemical substances by application Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 238000010801 machine learning Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000013480 data collection Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000010354 integration Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000010897 surface acoustic wave method Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3616—Software analysis for verifying properties of programs using software metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
ロボティックプロセスオートメーション(RPA)アプリケーションに関連するテスト自動化のワークフローを解析するためのシステムおよびコンピュータ実装方法が本明細書に開示される。コンピュータ実装方法は、RPAアプリケーションに関連するテスト自動化のワークフローを受信することと、ワークフローアナライザーモジュールに関連する人工知能(AI)モデルを介して、予め定義されたテスト自動化ルールのセットに基づいて、テスト自動化のワークフローを解析することと、を含む。コンピュータ実装方法はさらに、テスト自動化の解析されたワークフローに関連する1または複数の測定基準を決定することと、AIモデルを介して、決定された1または複数の測定基準に基づいて修正アクティビティデータを生成することと、をさらに含む。
Description
(関連出願への相互参照)
本出願は、2020年10月28日に出願された米国非仮出願第17/082,561号の利益を主張し、その一部継続であり、2019年12月20日に出願されたインド特許出願第201911053188号の優先権を主張する「SYSTEM AND COMPUTER-IMPLEMENTED METHOD FOR ANALYZING A ROBOTIC PROCESS AUTOMATION (RPA) WORKFLOW」と題する2020年7月17日に出願された米国非仮特許出願第16/931,917号の優先権を主張し、それらの全内容は、参照により本明細書に組み込まれる。
本出願は、2020年10月28日に出願された米国非仮出願第17/082,561号の利益を主張し、その一部継続であり、2019年12月20日に出願されたインド特許出願第201911053188号の優先権を主張する「SYSTEM AND COMPUTER-IMPLEMENTED METHOD FOR ANALYZING A ROBOTIC PROCESS AUTOMATION (RPA) WORKFLOW」と題する2020年7月17日に出願された米国非仮特許出願第16/931,917号の優先権を主張し、それらの全内容は、参照により本明細書に組み込まれる。
本発明は概して、ロボティックプロセスオートメーション(RPA)に関し、より具体的には、RPAのためのテスト自動化ワークフローの解析に関する。
一般にRPAは、コンピューティングシステムへのユーザーによる手動入力の単純かつ反復的な作業を自動化することができる。現在、手動によるユーザー入力は、RPAツールを使用したソフトウェアロボットによって実行されることが多くなっている。RPAは、企業内に大量に存在する比較的単純で反復可能な作業のその遂行であるため、ソフトウェア自動化の普及を促進する。現在、RPAツールは、ソフトウェア開発者が企業の単純作業および反復的な作業を設計、遂行、展開、およびテストするのに役立つものが利用されている。例えば、これらの作業は設計ツールを使って設計され、展開ツールを使って展開される。RPAアプリケーションの単純作業および反復的な作業のワークフローを設計するためのデザイナツール(ソフトウェアツールなど)はいくつかある。さらに、テスト自動化を利用して、このようなRPAアプリケーションをテストするためのソフトウェアツールもいくつかある。
しかし、これらのソフトウェアツールは、テスト自動化における潜在的な欠陥を特定し、除去するためのワークフローの解析に欠けている。例えば、開発者は、ソフトウェアツールでテスト自動化を開発する。開発されたテスト自動化は、特定するためにテストチームに転送される。テストチームは後日、欠陥を指摘されて差し戻される。このため、テスト自動化の手動テストが必要となり、時間と手順にコストがかかる。さらに、テスト自動化ワークフローの欠陥をリアルタイムでデバッグし、実行時に欠陥を回避することは、より困難である。
したがって、開発者がRPAアプリケーションのテスト自動化のワークフローを設計し、設計段階でテスト自動化のワークフローの欠陥をデバッグすることができるソフトウェアツールが必要とされている。
本発明の特定の実施形態は、現在のRPA技術によってまだ十分に特定されていない、評価されていない、または解決されていない本分野における問題およびニーズのソリューションを提供する。例えば、本発明のいくつかの実施形態は、潜在的な欠陥またはエラーを特定し除去するための、RPAアプリケーションのテスト自動化のワークフローの解析に関する。
実施形態では、ロボティックプロセスオートメーション(RPA)アプリケーションに関連するテスト自動化のワークフローを解析するためのシステムおよびコンピュータ実装方法が開示される。コンピュータ実装方法は、RPAアプリケーションに関連するテスト自動化のワークフローを受信することを含む。コンピュータ実装方法は、ワークフローアナライザーモジュールに関連するAIモデルを介して、予め定義されたテスト自動化ルールのセットに基づいて、テスト自動化のワークフローを解析することを含む。コンピュータ実装方法はまた、テスト自動化の解析されたワークフローに関連する1または複数の測定基準を決定することを含む。コンピュータ実装方法はさらに、AIモデルを介して、決定された1または複数の測定基準に基づいて、修正アクティビティデータを生成することを含む。
別の実施形態では、ロボティックプロセスオートメーション(RPA)アプリケーションに関連するテスト自動化のワークフローを解析するためのシステム、が開示される。システムは、少なくとも1つのプロセッサと、命令を格納するメモリとを含む。命令は、少なくとも1つのプロセッサに、RPAアプリケーションに関連するテスト自動化のワークフローを受信し、ワークフローアナライザーモジュールに関連するAIモデルを介して、予め定義されたテスト自動化ルールのセットに基づいてテスト自動化のワークフローを解析するように構成される。コンピュータプログラム命令はさらに、少なくとも1つのプロセッサに、テスト自動化の解析されたワークフローに関連する1または複数の測定基準を決定し、AIモデルを介して、決定された1または複数の測定基準に基づいて修正アクティビティデータを生成するように構成される。
さらに別の実施形態では、コンピュータプログラムは、非一時的なコンピュータ読み取り可能な媒体上に格納される。プログラムは、少なくとも1つ以上のプロセッサに、RPAアプリケーションに関連するテスト自動化のワークフローを受信し、ワークフローアナライザーモジュールに関連するAIモデルを介して、予め定義されたテスト自動化ルールのセットに基づいてテスト自動化のワークフローを解析するように構成される。プログラムはさらに、1または複数のプロセッサに、解析されたテスト自動化に関連する1または複数の測定基準を決定し、AIモデルを介して、決定された1または複数の測定基準に基づいて修正アクティビティデータを生成させるように構成される。
本発明の特定の実施形態の利点が容易に理解されるように、上記で簡単に説明した本発明のより特定の説明は、添付の図面に図示されている特定の実施形態を参照して描写される。これらの図面は、本発明の典型的な実施形態のみを描いており、したがって、その範囲を限定するものとは考えられないことが理解されるべきであるが、本発明は、以下の添付の図面を使用することにより、さらなる特定および詳細をもって描写され、説明されるであろう。
(実施形態の詳細な説明)
いくつかの実施形態は、RPAのテスト自動化ワークフロー(「テスト自動化のワークフロー」とも呼ばれる)における潜在的な欠陥を特定し除去するために、RPAアプリケーションに関連するテスト自動化のワークフローを解析するように構成されたシステム(以下「コンピューティングシステム」ともいう)に関する。いくつかの実施形態では、コンピューティングシステムは、設計モジュールからテスト自動化のワークフローを受信し、欠陥を特定し除去するために、受信したワークフローを解析する。例えば、コンピューティングシステムは、人工知能(AI)モデルを使用して、予め定義されたテスト自動化ルールのセットに基づいてワークフローを解析する。AIモデルは、テスト自動化の標準的なワークフロー、ワークフロー内のすべての可能なエラー、および標準的なロボティックエンタープライズフレームワーク文書で予め訓練される。いくつかの例示的な実施形態では、標準的なRPAワークフローまたは任意のRPAワークフローは、AIモデルを訓練するために、テストケースに変換されるか、またはテスト自動化プロジェクトからテストケースとしてインポートされる。テスト自動化の解析されたワークフローから、修正アクティビティデータを生成するために、1または複数の測定基準が決定される。
いくつかの実施形態は、RPAのテスト自動化ワークフロー(「テスト自動化のワークフロー」とも呼ばれる)における潜在的な欠陥を特定し除去するために、RPAアプリケーションに関連するテスト自動化のワークフローを解析するように構成されたシステム(以下「コンピューティングシステム」ともいう)に関する。いくつかの実施形態では、コンピューティングシステムは、設計モジュールからテスト自動化のワークフローを受信し、欠陥を特定し除去するために、受信したワークフローを解析する。例えば、コンピューティングシステムは、人工知能(AI)モデルを使用して、予め定義されたテスト自動化ルールのセットに基づいてワークフローを解析する。AIモデルは、テスト自動化の標準的なワークフロー、ワークフロー内のすべての可能なエラー、および標準的なロボティックエンタープライズフレームワーク文書で予め訓練される。いくつかの例示的な実施形態では、標準的なRPAワークフローまたは任意のRPAワークフローは、AIモデルを訓練するために、テストケースに変換されるか、またはテスト自動化プロジェクトからテストケースとしてインポートされる。テスト自動化の解析されたワークフローから、修正アクティビティデータを生成するために、1または複数の測定基準が決定される。
いくつかの実施形態では、AIモデルは、1または複数の決定された測定基準に基づいて、修正アクティビティデータを生成する。修正アクティビティデータは、解析されたテスト自動化のワークフローについての修正アクティビティを実行するために使用される。修正アクティビティデータは、解析されたワークフローのために修正アクティビティを実行する方法についてユーザー(例えば、開発者またはテスター)に指示する提案メッセージ(例えば、主張)または詳細を含む。修正されたテスト自動化ファイルは、テスト自動化の受信したワークフローと比較して、遂行時間およびストレージ要件が改善されるように構成される。さらに、遂行時間およびストレージ要件の改善は、コンピューティングシステム上の演算オーバーヘッドを減少させる。このようにして、本明細書に開示されるコンピューティングシステムおよびコンピュータ実装方法を用いて、展開前に欠陥をデバッグするために、テスト自動化のワークフローが解析される。
図1は、本発明の実施形態による、RPAシステム100を示すアーキテクチャ図である。RPAシステム100は、開発者またはユーザーがワークフローを設計および実装することを可能にするデザイナ110を含む。デザイナ110は、アプリケーション統合のためのソリューションを提供するとともに、サードパーティアプリケーション、管理情報技術(IT)タスク、およびビジネスITプロセスを自動化する。デザイナ110は、ビジネスプロセスのグラフィカルな表現である自動化プロジェクトの開発を容易にする。簡単に言えば、デザイナ110は、ワークフローおよびロボットの開発および展開を容易にする。
自動化プロジェクトは、本明細書で「アクティビティ」と定義されるワークフローで開発されたカスタムセットのステップ間の遂行順序および関係の制御を開発者に与えることにより、ルールベースのプロセスの自動化を可能にする。デザイナ110の実施形態の商業的な一例は、UiPath Studio(商標)である。各アクティビティは、ボタンをクリックする、ファイルを読む、ログパネルに書き込むなどのアクションを含む。いくつかの実施形態では、ワークフローは入れ子になっているか、または埋め込まれる。
ワークフローのいくつかのタイプには、シーケンス、フローチャート、有限状態機械(FSM)、および/またはグローバル例外ハンドラなどを含むが、これらに限定されない。シーケンスは、テスト自動化のワークフローを乱雑にすることなく、あるアクティビティから別のアクティビティへのフローを可能にする、線形プロセスに特に適する。フローチャートは、特により複雑なビジネスロジックに適し、複数の分岐ロジックオペレータを介して、より多様な方法で意思決定の統合およびアクティビティの接続を可能にする。FSMは、大規模なワークフローに特に適する。FSMは、条件(すなわち、遷移)またはアクティビティによりトリガされる有限の数の状態をそれらの遂行中に使用する。グローバル例外ハンドラは、遂行エラーに遭遇したときのワークフローの挙動を決定したり、プロセスをデバッグしたりするのに特に適する。
ワークフローがデザイナ110内で開発されると、ビジネスプロセスの遂行は、コンダクタ120により調整され、デザイナ110内で開発されたワークフローを遂行する1または複数のロボット130を調整する。コンダクタ120の実施形態の商業的な一例は、UiPath Orchestrator(商標)である。コンダクタ120は、環境におけるリソースの生成、監視、および展開の管理を容易にする。コンダクタ120は、サードパーティのソリューションおよびアプリケーションとの統合ポイントとして動作する。
コンダクタ120は、全てのロボット130を管理し、ロボット130を集中ポイントから接続して遂行する。管理されるロボット130のタイプには、アテンディッドロボット132、アンアテンディッドロボット134、開発ロボット(アンアテンディッドロボット134と同様であるが、開発およびテストの目的で使用される)、および非生産ロボット(アテンディッドロボット132と同様であるが、開発およびテストの目的で使用される)が含まれるが、これらに限定されない。アテンディッドロボット132は、ユーザーイベントによってトリガされ、同じコンピューティングシステム上で人と並んで動作する。アテンディッドロボット132は、集中プロセスデプロイメントおよびロギング媒体のためのコンダクタ120とともに使用される。アテンディッドロボット132は、人間のユーザーが様々なタスクを達成するのを支援し、ユーザーイベントによってトリガされる。いくつかの実施形態では、プロセスは、このタイプのロボット上でコンダクタ120から開始できず、および/またはそれらはロックされた画面の下で実行できない。特定の実施形態では、アテンディッドロボット132は、ロボットトレイからまたはコマンドプロンプトから開始される。アテンディッドロボット132は、いくつかの実施形態では、人の監督下で動作する。
アンアテンディッドロボット134は、仮想環境で無人で動作し、多くのプロセスを自動化する。アンアテンディッドロボット134は、リモート遂行、監視、スケジューリング、および作業キューのサポートの提供を担当する。全てのロボットタイプのためのデバッグは、いくつかの実施形態では、デザイナ110において実行する。アテンディッドロボット132およびアンアテンディッドロボット134の両方は、メインフレーム、ウェブアプリケーション、仮想マシン(VM)、エンタープライズアプリケーション(例えば、SAP(登録商標)、SalesForce(登録商標)、Oracle(登録商標)などにより生成されたもの)、およびコンピューティングシステムアプリケーション(例えば、デスクトップおよびラップトップアプリケーション、モバイルデバイスアプリケーション、ウェアラブルコンピュータアプリケーションなど)を含むが、これらに限定されない様々なシステムおよびアプリケーションを自動化する。
コンダクタ120は、プロビジョニング、展開、構成、キューイング、監視、ロギング、および/または相互接続性の提供を含むがこれらに限定されない様々な能力を有する。プロビジョニングは、ロボット130とコンダクタ120(例えば、ウェブアプリケーション)との間の接続を作成し、維持することを含む。展開は、遂行のために割り当てられたロボット130へのパッケージバージョンの正しい配信を保証することを含む。構成は、ロボット環境およびプロセス構成の維持および配信を含む。キューイングは、キューおよびキュー項目の管理を提供することを含む。監視は、ロボットの特定データを追跡し、ユーザーの権限を維持することを含む。ロギングは、データベース(例えば、SQLデータベース)および/または別のストレージメカニズム(例えば、大規模なデータセットを格納し、迅速にクエリを実行する能力を提供するElasticSearch(登録商標))へのログの保存およびインデックス作成を含む。コンダクタ120は、サードパーティのソリューションおよび/またはアプリケーションのための通信の集中点として動作することにより、相互接続性を提供する。
ロボット130は、デザイナ110で構築されたワークフローを実行する遂行エージェントを含む。ロボット(複数可)130のいくつかの実施形態の1つの商業的な例は、UiPath Robots(商標)である。いくつかの実施形態では、ロボット130は、デフォルトで、Microsoft Windows(登録商標)Service Control Manager(SCM)管理サービスをインストールする。その結果、ロボット130は、ローカルシステムアカウントの下でインタラクティブなWindows(登録商標)セッションを開き、Windows(登録商標)サービスの権利を有する。
いくつかの実施形態では、ロボット130は、ユーザーモードで設置される。このようなロボット130については、所定のロボット130が設置されているユーザーと同じ権利を有することを意味する。この特色はまた、各マシンを最大限に全活用することを保証する高密度(HD)ロボットにも利用可能である。いくつかの実施形態では、いずれかのタイプのロボット130は、HD環境で構成される。
いくつかの実施形態におけるロボット130は、複数のコンポーネントに分割され、それぞれが特定の自動化タスクに特化されている。いくつかの実施形態におけるロボットコンポーネントは、SCM管理ロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント、およびコマンドラインを含むが、これらに限定されない。SCM管理ロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ120と遂行ホスト(すなわち、ロボット130が遂行されるコンピューティングシステム)との間のプロキシとして動作する。これらのサービスは、ロボット130の資格情報を任されて管理する。コンソールアプリケーションは、ローカルシステム下のSCMにより起動される。
いくつかの実施形態におけるユーザーモードロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ120と遂行ホストとの間のプロキシとして動作する。ユーザーモードロボットサービスは、ロボット130の資格情報を任されて管理する。SCM管理ロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションが自動的に起動される。
エグゼキュータは、Windows(登録商標)セッションの下で与えられたジョブを遂行する(つまり、ワークフローをする)。エグゼキュータは、モニタ毎のドットパーインチ(DPI)設定を意識する。エージェントは、システムトレイウィンドウに利用可能なジョブを表示するWindows(登録商標) Presentation Foundation(WPF)アプリケーションを含む。エージェントは、サービスのクライアントを含む。エージェントは、ジョブの開始または停止、設定の変更の依頼を送信する。コマンドラインはサービスのクライアントである。コマンドラインは、ジョブの開始を要求し、その出力を待つコンソールアプリケーションである。
上で説明したように、ロボット130のコンポーネントが分割されていることは、開発者、サポートユーザー、およびコンピューティングシステムが、各コンポーネントが何を遂行しているかをより容易に実行し、特定し、および追跡するのに役立つ。この方法では、エグゼキュータとサービスに異なるファイアウォールルールを設定するなど、コンポーネントごとに特別な挙動が構成される。エグゼキュータは常に、いくつかの実施形態では、モニタごとのDPI設定を認識する。その結果、ワークフローは、ワークフローが作成されたコンピューティングシステムの構成に関係なく、いずれかのDPIで遂行される。また、いくつかの実施形態では、デザイナ110からのプロジェクトは、ブラウザのズームレベルに依存しないようにする。DPIを認識していないまたは意図的に認識していないとマークされているアプリケーションの場合、いくつかの実施形態ではDPIを無効にする。
図2は、本発明の実施形態による、展開したRPAシステム200を示すアーキテクチャ図である。いくつかの実施形態では、RPAシステム200は、図1のRPAシステム100であるか、またはその一部ではない。クライアント側、サーバー側、またはその両方が、本発明の範囲から逸脱することなく、いずれかの所望の数のコンピューティングシステムを含むことに留意すべきである。クライアント側では、ロボットアプリケーション210は、エグゼキュータ212、エージェント214、およびデザイナ216(例えば、デザイナ110)を含む。しかし、いくつかの実施形態では、デザイナ216は、ロボットアプリケーション210上で実行していない。エグゼキュータ212はプロセスを実行している。図2に示すように、複数のビジネスプロジェクト(すなわち、エグゼキュータ212)が同時に実行する。エージェント214(例えば、Windows(登録商標)サービス)は、本実施形態では、全てのエグゼキュータ212のための単一の接続ポイントである。この実施形態における全てのメッセージは、コンダクタ230に記録され、それは、データベースサーバー240、インデクササーバー250、またはその両方を介して、それらをさらに処理する。図1に関して上述したように、エグゼキュータ212は、ロボットコンポーネントである。
いくつかの実施形態では、ロボットは、マシン名とユーザー名との間の関連付けを表す。ロボットは、複数のエグゼキュータを同時に管理する。同時に実行される複数の対話型セッションをサポートするコンピューティングシステム(Windows(登録商標)Server 2012など)では、複数のロボットが同時に実行しており、それぞれが一意のユーザー名を使用して別々のWindows(登録商標)セッションで実行している。これは、上記のHDロボットと呼ばれる。
エージェント214はまた、ロボットの状態を送信し(例えば、ロボットがまだ機能していることを示す「ハートビート」メッセージを定期的に送信する)、遂行されるパッケージの要求されるバージョンをダウンロードすることにも責任を負う。エージェント214とコンダクタ230との間の通信は、いくつかの実施形態では、常にエージェント214によって開始される。通知シナリオでは、エージェント214は、後にコンダクタ230によってロボットにコマンド(例えば、開始、停止など)を送信するために使用されるWebSocketチャネルを開く。
サーバー側には、プレゼンテーション層(ウェブアプリケーション232、オープンデータプロトコル(OData)代表状態転送(REST)アプリケーションプログラミングインターフェース(API)エンドポイント234、通知および監視API236)、サービス層(API実装/ビジネスロジック238)、永続層(データベースサーバー240、インデクササーバー250)が含まれる。コンダクタ230は、ウェブアプリケーション232、OData REST APIエンドポイント234、通知および監視API236、ならびにAPI実装/ビジネスロジック238を含む。いくつかの実施形態では、ユーザーがコンダクタ220のインターフェース(例えば、ブラウザ220を介して)で実行するほとんどのアクションは、様々なAPIを呼び出すことによって実行される。このような動作は、本発明の範囲を逸脱することなく、ロボット上でのジョブの起動、キュー内のデータの追加/削除、無人で実行するジョブのスケジューリングなどを含むが、これらに限定されない。ウェブアプリケーション232は、サーバープラットフォームのビジュアル層である。この実施形態では、ウェブアプリケーション232は、ハイパーテキストマークアップ言語(HTML)およびジャバスクリプト(JS)を使用する。しかし、本発明の範囲を逸脱することなく、いずれかの所望のマークアップ言語、スクリプト言語、または他のいずれかのフォーマットが使用される。ユーザーは、コンダクタ230を制御するための様々な動作を実行するために、本実施形態ではブラウザ220を介してウェブアプリケーション232からのウェブページと対話する。例えば、ユーザーは、ロボットグループを作成し、ロボットへのパッケージの割り当てを行い、ロボット毎および/またはプロセス毎のログを解析し、ロボットを起動しおよび停止などをする。
ウェブアプリケーション232に加えて、コンダクタ230は、OData REST APIエンドポイント234を公開するサービス層も含む。しかし、本発明の範囲を逸脱することなく、他のエンドポイントが含まれる。REST APIは、ウェブアプリケーション232とエージェント214の両方により消費される。エージェント214は、本実施形態では、クライアントコンピュータ上の1または複数のロボットのスーパーバイザである。
本実施形態のREST APIは、構成、ロギング、監視、およびキューイング機能をカバーする。構成エンドポイントは、いくつかの実施形態では、アプリケーションのユーザー、権限、ロボット、アセット、リリース、および環境を定義し、構成するために使用される。ロギングRESTエンドポイントは、例えば、エラー、ロボットによって送信された明示的なメッセージ、およびその他の環境固有の情報など、様々な情報をログに記録するために使用される。デプロイメントRESTエンドポイントは、コンダクタ230においてジョブ開始コマンドが使用された場合に遂行されるべきパッケージのバージョンを問い合わせるためにロボットにより使用される。キューイングRESTエンドポイントは、キューへのデータの追加、キューからのトランザクションの取得、トランザクションのステータスの設定など、キューおよびキューアイテムの管理を担う。
RESTエンドポイントの監視は、ウェブアプリケーション232およびエージェント214を監視する。通知および監視API236は、エージェント214の登録、エージェント214への構成設定の配信、ならびにサーバーおよびエージェント214からの通知の送受信に使用されるRESTエンドポイントに関連する。通知および監視API236は、いくつかの実施形態では、WebSocket通信を使用する。
永続層は、本実施形態では、一対のサーバー-データベースサーバー240(例えば、SQLサーバー)およびインデクササーバー250を含む。本実施形態におけるデータベースサーバー240は、ロボット、ロボットグループ、関連するプロセス、ユーザー、役割、スケジュールなどの構成を格納する。この情報は、いくつかの実施形態では、ウェブアプリケーション232を介して管理される。データベースサーバー240は、キューおよびキューアイテムを管理する。いくつかの実施形態では、データベースサーバー240は、ロボットにより記録されたメッセージを(インデクササーバー250に加えて、またはインデクササーバー250に代えて)格納する。
いくつかの実施形態では任意であるが、インデクササーバー250は、ロボットにより記録された情報を保存し、インデックスを作成する。特定の実施形態では、インデクササーバー250は、構成設定を介して無効化される。いくつかの実施形態では、インデクササーバー250は、オープンソースプロジェクトの全文検索エンジンであるElasticSearch(登録商標)を使用する。ロボットにより記録されたメッセージ(例えば、ログメッセージまたはライン書き込みのようなアクティビティを使用して)は、ロギングRESTエンドポイント(複数可)を介してインデクササーバー250に送信されて、そこで将来の利用のためにそれらはインデックス化される。
図3は、本発明の実施形態による、デザイナ310、ユーザー定義アクティビティ320、ユーザーインターフェース(UI)自動化アクティビティ330、およびドライバ340間の関係300を示すアーキテクチャ図である。以上のように、開発者は、デザイナ310を用いて、ロボットによって遂行されるワークフローを開発する。いくつかの実施形態によれば、デザイナ310は、統合開発環境(IDE)の設計モジュールであり、ユーザーまたは開発者がワークフローに関連する1または複数の機能を実行することを可能にする。機能は、ワークフローについての編集、コーディング、デバッグ、ブラウジング、保存、修正などを含む。いくつかの例示的な実施形態では、デザイナ310は、ワークフローを解析することを容易にする。さらに、いくつかの実施形態では、デザイナ310は、マルチウィンドウユーザーインターフェイスなどにおいて、2つ以上のワークフローを比較するように構成される。ワークフローは、ユーザー定義のアクティビティ320およびUI自動化アクティビティ330を含む。いくつかの実施形態では、画像中の非テキストの視覚的コンポーネントを特定することができ、これは、本明細書ではコンピュータビジョン(CV)と呼ばれる。このようなコンポーネントに関連するいくつかのCVアクティビティは、クリック、タイプ、テキストを取得、ホバー、要素の有無を検出、スコープの更新、ハイライトなどを含むが、これらに限定されない。いくつかの実施形態では、クリックは、例えば、CV、光学的文字認識(OCR)、ファジーテキストマッチング、およびマルチアンカーを使用して要素を特定し、それをクリックする。タイプは、上記および要素内のタイプを用いて要素を特定する。テキストの取得は、特定のテキストの場所を特定し、OCRを使用してそれをスキャンする。ホバーは、要素を特定し、その上にホバーする。要素の有無の検出は、上述した技術を用いて、画面上に要素の有無を検出するかどうかを確認する。いくつかの実施形態では、デザイナ310に実装される数百または数千でさえのアクティビティが存在する。しかし、本発明の範囲を逸脱することなく、いずれかの数および/またはアクティビティのタイプを利用する。
UI自動化アクティビティ330は、低レベルのコード(例えば、CVアクティビティ)で記述され、画面との対話を促進する特別な低レベルのアクティビティのサブセットである。いくつかの実施形態では、UI自動化アクティビティ330は、ワークフローにおける欠陥のデバッグまたは欠陥の修正に関連する、アクティビティを含む。UI自動化アクティビティ330は、ロボットが所望のソフトウェアと対話することを可能にするドライバ340を介して、これらの対話を促進する。例えば、ドライバ340は、オペレーティングシステム(OS)ドライバ342、ブラウザドライバ344、VMドライバ346、エンタープライズアプリケーションドライバ348などを含む。
ドライバ340は、フックを探したり、キーを監視したりするなど、低レベルでOSドライバ342と対話する。それらは、Chrome(登録商標)、IE(登録商標)、Citrix(登録商標)、SAP(登録商標)などとの統合を促進してもよい。例えば、「クリック」アクティビティは、ドライバ340を介して、これらの異なるアプリケーションにおいて同じ役割を果たす。ドライバ340は、RPAシステムにおけるRPAアプリケーションの遂行を可能にする。
図4は、本発明の実施形態による、RPAシステム400を示すアーキテクチャ図である。いくつかの実施形態では、RPAシステム400は、図1および/または図2のRPAシステム100および/または200を含む。RPAシステム400は、複数のクライアントコンピューティングシステム410(例えば、ロボットを実行する)を含む。いくつかの実施形態では、複数のクライアントコンピューティングシステム410は、ワークフローを解析するように構成される。さらに、解析されたワークフローは、複数のクライアントコンピューティングシステム410に展開される。コンピューティングシステム410は、その上で実行されるウェブアプリケーションを介してコンダクタコンピューティングシステム420と通信する。コンダクタコンピューティングシステム420は、順に、データベースサーバー430(例えば、データベースサーバー240)および任意のインデクササーバー440(例えば、任意のインデクササーバー250)と通信する。
図1および図3に関して、これらの実施形態ではウェブアプリケーションが使用されているが、本発明の範囲から逸脱することなく、任意の適切なクライアント/サーバーソフトウェアを使用することに留意すべきである。例えば、コンダクタは、クライアントコンピューティングシステム上で、非ウェブベースのクライアントソフトウェアアプリケーションと通信するサーバーサイドアプリケーションを実行する。
図5は、本発明の実施形態による、RPAアプリケーションに関連するテスト自動化のワークフローを解析するように構成されたコンピューティングシステム500を示すアーキテクチャ図である。いくつかの実施形態では、コンピューティングシステム500は、本明細書に描かれたおよび/または記載された1または複数のコンピューティングシステムを含む。コンピューティングシステム500は、情報を通信するためのバス510または他の通信機構と、情報を処理するためのバス510に結合されたプロセッサ(複数可)520とを含む。プロセッサ(複数可)520は、中央処理ユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、それらの複数のインスタンス、および/またはそれらのいずれかの組み合わせを含む、いずれかのタイプの一般的または特定用途向けプロセッサを含む。プロセッサ(複数可)520また、複数の処理コアを有し、コアの少なくとも一部は、特定の機能を実行するように構成される。いくつかの実施形態では、複数並列処理が使用される。特定の実施形態では、少なくとも1つのプロセッサ(複数可)520は、生物学的ニューロンを模倣する処理要素を含むニューロモーフィック回路である。いくつかの実施形態では、ニューロモーフィック回路は、フォンノイマンコンピューティングアーキテクチャの典型的なコンポーネントを必要としない。
コンピューティングシステム500は、プロセッサ(複数可)520によって遂行される情報および命令を格納するためのメモリ530をさらに含む。メモリ530は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、キャッシュ、磁気ディスクもしくは光ディスクなどの静的記憶装置、または他のタイプの非一時的なコンピュータ読み取り可能な媒体、あるいはそれらのいずれかの組み合わせで構成される。非一時的なコンピュータ読み取り可能な媒体は、プロセッサ(複数可)520によってアクセス可能な任意の利用可能な媒体であり、揮発性媒体、不揮発性媒体、またはその両方を含む。また、媒体は、取り外し可能なもの、取り外し不可能なもの、または両方を含む。
さらに、コンピューティングシステム500は、無線および/または有線接続を介して通信ネットワークへのアクセスを提供するために、トランシーバなどの通信デバイス540を含む。いくつかの実施形態では、通信デバイス540は、周波数分割多元接続(FDMA)、シングルキャリアFDMA(SC-FDMA)、時分割多元接続(TDMA)、符号分割多元接続(CDMA)、直交周波数分割多重方式(OFDM)、直交周波数分割多元接続(OFDMA)、移動体用グローバルシステム(GSM:Global System for Mobile)通信、汎用パケット無線サービス(GPRS:General Packet Radio Service)、ユニバーサル移動体通信システム(UMTS:Universal Mobile Telecommunications System)、cdma2000、広帯域CDMA(W-CDMA:Wideband CDMA)、高速ダウンリンクパケットアクセス(HSDPA:High-Speed Downlink Packet Access)、高速アップリンクパケットアクセス(HSUPA:High-Speed Uplink Packet Access)、高速パケットアクセス(HSPA:High-Speed Packet Access)、ロングタームエボリューション(LTE:Long Term Evolution)、LTEアドバンスト(LTE-A:LTE Advanced)、802.11x、Wi-Fi、Zigbee、超広帯域無線(UWB:Ultra-WideBand)、802.16x、802.15、Home Node-B(HnB)、Bluetooth、無線IDタグ(RFID:Radio Frequency Identification)、IrDA(Infrared Data Association)、近距離無線通信(NFC:Near-Field Communications)、第5世代(5G)、New Radio(NR)、それらのいずれかの組み合わせ、および/または本発明の範囲から逸脱することなく、いずれかの他の現在存在するまたは将来実装される通信標準および/またはプロトコルを使用するように構成される。いくつかの実施形態では、通信デバイス540は、本発明の範囲から逸脱することなく、単数のアンテナ、アレイ状のアンテナ、フェーズドアンテナ、スイッチドアンテナ、ビームフォーミングアンテナ、ビームステアリングアンテナ、それらの組み合わせ、および/またはいずれかの他のアンテナ構成である1または複数のアンテナを含む。
プロセッサ(複数可)520は、バス510を介して、プラズマディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、電界放出ディスプレイ(FED)、有機発光ダイオード(OLED)ディスプレイ、フレキシブルOLEDディスプレイ、フレキシブル基板ディスプレイ、プロジェクションディスプレイ、4Kディスプレイ、高精細ディスプレイ、Retina(登録商標)ディスプレイ、IPS(In-Plane Switching)ディスプレイ、またはユーザーに情報を表示するためのいずれかの他の適切なディスプレイなどのディスプレイ550にさらに結合されている。ディスプレイ550は、抵抗方式、静電容量方式、表面弾性波(SAW)静電容量方式、赤外線方式、光学イメージング方式、分散信号方式、音響パルス認識方式、フラストレート全内部反射方式などを用いて、タッチ(ハプティック)ディスプレイ、3次元(3D)タッチディスプレイ、マルチ入力タッチディスプレイ、マルチタッチディスプレイなどとして構成される。本発明の範囲を逸脱することなく、いずれかの好適な表示デバイスおよびハプティックI/Oを使用する。
コンピュータマウス、タッチパッドなどのようなキーボード560およびカーソル制御デバイス570は、ユーザーがコンピューティングシステムとインターフェースすることを可能にするために、バス510にさらに結合されている。しかしながら、特定の実施形態では、物理的なキーボードおよびマウスが存在せず、ユーザーは、ディスプレイ550および/またはタッチパッド(図示せず)のみを介してデバイスと対話する。任意の入力デバイスの種類および組み合わせは、設計の選択の問題として使用される。特定の実施形態では、物理的な入力デバイスおよび/またはディスプレイは存在しない。例えば、ユーザーは、コンピューティングシステム500と通信している別のコンピューティングシステムを介してリモートでコンピューティングシステム500と対話し、コンピューティングシステム500は自律的に動作する。
メモリ530は、プロセッサ(複数可)520により遂行されたときに機能を提供するソフトウェアモジュールを格納する。モジュールは、コンピューティングシステム500のためのオペレーティングシステム532を含む。モジュールはさらに、本明細書に記載されたプロセスの全部もしくは一部またはその派生物を実行するように構成されたワークフローアナライザーモジュール534を含む。コンピューティングシステム500はまた、付加的な機能を含む1または複数の付加的な機能モジュール536を含む。いくつかの実施形態では、ワークフローアナライザーモジュール534は、ソフトウェアアプリケーションのために作成されたテスト自動化を解析するように構成される。ワークフローアナライザーモジュール534はまた、すべてのアクティビティの構成を検証し、データの欠落、不正確なデータ、および/または同様のものをチェックするように構成される。
当業者であれば、「システム」は、本発明の範囲から逸脱することなく、サーバー、組み込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、または他のいずれかの適切なコンピューティングデバイス、またはデバイスの組み合わせとして具現化され得ることを理解するであろう。上述した機能を「システム」により実行されるものとして提示することは、何ら本発明の範囲を限定することを意図するものではなく、本発明の多くの実施形態の一例を提供することを意図するものである。実際、本明細書に開示された方法、システム、および装置は、クラウドコンピューティングシステムを含むコンピューティング技術と整合性のあるローカライズされた形態および分配された形態で実装される。
本明細書で説明するシステム特色のいくつかは、実装の独立性をより強調するために、モジュールとして提示されていることに留意すべきである。例えば、モジュールは、カスタムの非常に大規模な集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタ、または他の個別部品のような既製の半導体を含むハードウェア回路として実装される。また、モジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックス処理ユニットなどのプログラマブルハードウェアデバイスに実装される。
モジュールはまた、様々なタイプのプロセッサにより遂行されるためのソフトウェアに少なくとも部分的に実装される。例えば、遂行可能コードの特定された単位は、例えば、オブジェクト、プロシージャ、または関数として編成されるコンピュータ命令の1または複数の物理的または論理的なブロックを含む。それにもかかわらず、遂行可能な特定されたモジュールは、物理的に一緒に配置されている必要はなく、論理的に結合されたときにモジュールを含み、モジュールのために述べられた目的を達成するために、異なる場所に格納された別々の命令を含む。さらに、モジュールは、例えば、ハードディスクドライブ、フラッシュデバイス、RAM、テープのようなコンピュータ読み取り可能な媒体、および/または本発明の範囲から逸脱することなくデータを格納するために使用される他のいずれかの非一時的なコンピュータ読み取り可能な媒体に格納される。
実際、遂行可能コードのモジュールは、単一の命令であってもよいし、多数の命令であってもよいし、さらには、複数の異なるコードセグメント、異なるプログラム間、および複数のメモリデバイス間に分散される。同様に、動作データは、モジュール内で特定され、ここで示され、いずれかの適切なタイプのデータ構造体内でいずれかの適切な形態で具現化され、組織化される。動作データは、単一のデータセットとして収集され、または異なる記憶デバイスにわたり異なる場所に分散され、少なくとも部分的には、単にシステムまたはネットワーク上の電子信号として存在する。
図6は、本発明の実施形態による、ワークフローアナライザーモジュール600を示すアーキテクチャ図である。いくつかの実施形態では、ワークフローアナライザーモジュール600は、図5に図示されたワークフローアナライザーモジュール534と同様であるか、または同じである。また、いくつかの実施形態では、ワークフローアナライザーモジュール600は、デザイナ110内に具現化される。ワークフローアナライザーモジュール600は、データ収集サブモジュール610、アナライザーサブモジュール620、および測定基準決定モジュール630を含み、これらはプロセッサ(複数可)520によって実行されて、RPAアプリケーションに関連するテスト自動化のワークフローを解析するためにそれらの特定の機能を実行する。
データ収集サブモジュール610は、デザイナ110からテスト自動化のワークフローをデータファイルとして受信する。データファイルは、ソリューション設計文書(SDD)、プロセス設計命令(PDI)、オブジェクト設計命令(ODI)、またはビジネスプロセス(BP)コードを含むが、これらに限定されない。例えば、ユーザーまたは開発者は、デザイナ110を使用して、テスト自動化のワークフローのデータファイルを開発する。いくつかの実施形態では、データ収集サブモジュール610は、テストケースのセットの組み合わせとして、テスト自動化のワークフローを受信する。テストケースは、特定のプログラムパスを行使する、または特定の要件への準拠を検証するなどの特定のソフトウェアテスト目的を達成するために遂行される単一のテストを定義する、入力、遂行条件、テスト手順、および期待される結果の仕様を含む。
特定の実施形態では、データ収集サブモジュール610は、ユーザーにイネーブルオプションを提供する。例えば、ユーザーがイネーブルオプションを有効にすると、データ収集サブモジュール610は、RPAアプリケーション(例えば、ユーザーからのライブデータなど)のテスト自動化ワークフローの1または複数のテストアクティビティ(すなわち、シーケンス)を取得する。さらに、データ収集サブモジュール610によって取得されたテスト自動化ワークフローまたはテスト自動化ワークフローのシーケンスは、アナライザーサブモジュール620によっても使用される。
いくつかの実施形態では、アナライザーサブモジュール620は、訓練サブモジュール622、人工知能(AI)モデル(以下「AIモデル」という)624、およびテスト自動化ルールサブモジュール626を含む。アナライザーサブモジュール620は、テスト自動化の解析されたワークフローを出力するために、テスト自動化のワークフローを解析する。いくつかの実施形態では、アナライザーサブモジュール620は、テスト自動化の受信したワークフローを解析するために、AIモデル624を使用する。
いくつかの実施形態では、AIモデル624は、テスト自動化の受信したワークフローを解析する、予め訓練されたAIモデルに対応する。いくつかの実施形態では、AIモデル624は、訓練データに基づいて予め訓練される。いくつかの例示的な実施形態では、訓練データは、訓練サブモジュール622に格納される。訓練データは、標準的なテスト自動化ワークフロー、テスト自動化ワークフローにおけるエラー、および標準的なフレームワーク文書のうちの少なくとも1つを含む。訓練データはまた、テスト自動化ワークフロー内のシーケンス、およびテスト自動化ワークフローに関連するすべての可能な欠陥(欠陥に取り組むためのソリューションも)を含む。いくつかの例示的な実施形態では、訓練データは、ウェブおよびモバイルアプリケーションの以前の機能テスト、ユーザーインターフェースの視覚テスト、ならびにUI要素の位置および自動修正要素セレクタに基づく。いくつかの実施形態では、欠陥は、テスト自動化についての誤ったデータ入力、またはテスト自動化におけるデータ入力の欠落などのヒューマンエラーを含む。別の例では、AIモデル624は、訓練データの知識を用いてテスト自動化ワークフローに関連する欠陥を予測し、テスト自動化の解析されたワークフロー(「解析されたテスト自動化ワークフロー」とも呼ばれる)を出力する。解析されたテスト自動化ワークフローは、テスト自動化のワークフローと、予測されたそれぞれの欠陥情報とを含む。
ある実施形態では、AIモデル624は、リカレントニューラルネットワークモデル(例えば、長短期記憶(LSTM)モデル)などのようなMLモデルを含む。また、特定の実施形態では、MLモデルは、自己訓練される。例えば、MLモデルは、テスト自動化のワークフローにおける1または複数のパターンを学習するように訓練される。1または複数のパターンは、テスト自動化の以前のワークフローにおいて繰り返されるテストに対応する。MLモデルは、RPAアプリケーションに関連するテスト自動化のワークフローの解析のために、1または複数のパターンをAIモデル624に提供する。いくつかの例示的な実施形態では、MLモデルは、メモリ530に格納された予め構築されたMLモデルである。いくつかの代替的な実施形態では、MLモデルは、ユーザーによってカスタマイズされるか、またはオープンプラットフォーム(例えば、オープンソースコミュニティ)、第三者機関などからアクセスされる。例えば、実行時にテスト自動化のワークフローに欠陥が発生した場合、MLモデルは、その欠陥を学習し、その欠陥に取り組む方法を学習する。
特定の実施形態では、AIモデル624は、受信したワークフローを解析するために、テスト自動化ルールサブモジュール626を使用する。いくつかの実施形態では、テスト自動化ルールサブモジュール626は、ワークフローを解析するための予め定義されたテスト自動化命令のセット(「予め定義されたテスト自動化ルールのセット」と呼ばれる)を含む。これらの予め定義されたテスト自動化ルールのセットは、予め定義された数のループ、予め定義された数の条件、構造化された設計、少なくとも1つの検証ポイント、1または複数の注釈、グローバル例外ハンドラ、および1または以上の条件を含む。グローバル例外ハンドラは、予期しない環境問題に関連する。予め定義されたテスト自動化ルールのセットの各々は、テスト自動化のワークフローのテストケースのセットの各々と関連付けられる。
いくつかの実施形態では、予めに定義された数のループおよび予め定義された数の条件は、テストケースのセットの各々のテスト結果が経時的に比較され得ることを検証するために利用される。ループの例としては、「whileループ」、「do while」、「For eachループ」などを含む。さらに、条件としては、「if条件」、「switch条件」などが対応する。いくつかの実施形態では、構造設計は、「Given」、「When and Then」セクションを有するビヘイビア駆動開発(BDD:Behavior Driven Development)テスト設計構造を含む。いくつかの実施形態では、テストケースのセットの各テストケースは、少なくとも1つの検証ポイントを含む。
いくつかの実施形態では、予め定義されたテスト自動化ルールのセットの1または複数の条件は、テストケースを通して数回にわたって同様のシーケンスの使用のチェックと関連する。そのようなシーケンスは、別の再利用可能なワークフローまたはライブラリに抽出される。そのために、アナライザーサブモジュール620は、この条件を利用して、テスト自動化のワークフローの解析のために、テストケースのセットの1または複数のうちの1または複数の冗長なシーケンスを、別の再利用可能なライブラリに抽出する。例えば、テスト自動化のワークフローのモジュールの機能をチェックするために冗長に使用されるテストケースの2つのシーケンスは、テスト自動化のワークフローの解析のための再利用可能なライブラリとして抽出される。この再利用性により、テスト自動化のワークフローを解析するためのテストケースの保守性が向上する。したがって、RPAアプリケーション(デスクトップアプリケーションなど)についてのテスト自動化のワークフローが、効率的かつ実現可能な方法で解析される。
理解されるべきであるが、テスト自動化ルールサブモジュール626は、テスト自動化のワークフローに対して、予め定義されたテスト自動化ルールのセットの各ルールを遂行し、テスト自動化の解析されたワークフローを出力する。前記ルールは、実施形態の範囲から逸脱することなく、それぞれ1または複数の追加ルールおよび1または複数の追加カテゴリをさらに含む。解析されたワークフローは、テスト自動化のワークフローと、前記ルールの妥当性を含むレポートとを含む。いくつかの実施形態では、テスト自動化ルールサブモジュール626は、予め定義されたテスト自動化ルールのセットから1または複数のルールを選択するための選択オプションをユーザーに提供する。さらに、テスト自動化ルールサブモジュール626は、テスト自動化のワークフローに対して選択された1または複数のルールを遂行し、テスト自動化の解析されたワークフローを出力する。
いくつかの実施形態では、テスト自動化の解析されたワークフローは、ワークフローアナライザーモジュール600の測定基準決定論的サブモジュール630に提供される。測定基準決定論的サブモジュール630は、修正アクティビティデータを生成するために、テスト自動化の解析されたワークフローに関連する1または複数の測定基準を決定する。いくつかの例示的な実施形態では、修正アクティビティデータは、修正モジュール(図6に示されていない)に格納される。修正アクティビティデータは、解析されたテスト自動化のワークフローの修正アクティビティを実行するために使用される。
いくつかの実施形態によれば、ワークフローアナライザーモジュール600はさらに、1または複数の追加モジュール、例えば、修正モジュール(図示せず)を含む。修正モジュールは、測定基準決定モジュール630によって決定された1または複数の測定基準を使用して、1または複数の修正アクティビティを実行する。いくつかの例示的な実施形態において、修正アクティビティは、テスト自動化のワークフローまたはアクティビティのより良い可能性に関するフィードバックをユーザーに提供すること、テスト自動化のワークフローに関連する1または複数の測定基準に関するレポートを生成すること、発行時間またはコンパイル時間にテスト自動化のワークフローに関連する警告メッセージまたはエラーメッセージを生成すること、あるいはテスト自動化のワークフロー内のエラーアクティビティに対応するアクティビティ番号およびアクティビティ名を出力すること、を含む。さらに、フィードバックはまた、ユーザーが例外を処理し、データを検証し、そしてAIモデル(例えば、AIモデル624)を再訓練のためにルーティングすることを可能にし、それはAIモデル624に継続的な改善を提供する。
いくつかの実施形態では、修正モジュールは、テスト自動化のワークフローのより良い可能性に関して、ユーザーにフィードバックを提供する。いくつかの例示的な実施形態によれば、フィードバックは、テスト自動化の修正されたワークフローまたはテスト自動化の解析されたワークフローを修正するための提案メッセージを含む。提案メッセージは、テスト自動化のワークフローを修正するための主張または任意の他の情報を含む。
いくつかの実施形態によれば、フィードバックは、AIモデル624によって提供される。例えば、AIモデルは、RPAアプリケーションのための高品質のテスト自動化ワークフローを構築するために、ベストプラクティス文書およびフレームワーク(例えば、Robotic Enterpriseフレームワーク)を使用して訓練される。いくつかの実施形態では、修正モジュールは、テスト自動化の解析されたワークフローに関連する測定基準に関するレポートを生成する。いくつかの実施形態では、生成された測定基準についてのレポートは、パーセントで示される。特定の実施形態では、修正モジュールは、テスト自動化の解析されたワークフローに関連する警告メッセージまたはエラーメッセージを生成する。警告メッセージまたはエラーメッセージは、テスト自動化の解析されたワークフローの欠陥に関連する詳細または情報を含む要約を含む。
いくつかの実施形態では、AIモデル624は、決定された1または複数の測定基準に基づいて、テスト自動化のワークフローにおける、1または複数の欠陥(例えば、誤った入力データ)を予測する。1または複数の測定基準は、解析されたワークフローに関連する拡張性値、解析されたワークフローに関連する保守性値、解析されたワークフローに関連する可読性値、解析されたワークフローに関連する明確性値、解析されたワークフローに関連する効率値、解析されたワークフローに関連する循環複雑性値、解析されたワークフローに関連する再利用性値、解析されたワークフローに関連する信頼性値、または解析されたワークフローに関連する精度値のうちの1または複数を含む。いくつかの実施形態では、1または複数の測定基準は、(ディスプレイ550を介して)パーセント形式で表示される。さらに、AIモデル624は、1または複数欠陥を除去するために、テスト自動化のワークフローを修正する。
このようにして、ワークフローアナライザーモジュール600は、プロセッサ(複数可)520によって遂行されるとき、RPAアプリケーションのためのテスト自動化の解析されたワークフローの展開の前にテスト自動化のワークフローをデバッグするために、前述した動作を実行する。いくつかの実施形態では、展開は、欠陥の除去の後に実行される。RPAアプリケーションは、欠陥の除去の後に展開される。この結果、設計段階で、RPAアプリケーションのための正確なテスト自動化のワークフローを設計または開発することになる。テスト自動化の正確なワークフローは、ユーザー定義プロセスを遂行するための限りなく少ない命令(すなわち、より少ないストレージ要件およびより少ない遂行時間のワークフロー)を含む。例えば、ワークフローアナライザーモジュール600は、RPAアプリケーションのテスト自動化の正確なワークフローを設計するために、ワークフローに関連する欠陥(ルール検証のセットに失敗するアクティビティも含む)を特定し、欠陥を除去するためにワークフローを修正する。
いくつかの実施形態では、ワークフローアナライザーモジュール600は、インターリーブ技術(例えば、インターリーブコード開発)の使用によって欠陥を除去する。さらに、正確なワークフローは、欠陥を有するワークフローと比較して、改善された測定基準を提供する(例えば、信頼性値、再利用性値、正確性値などの改善)。いくつかのさらなる実施形態では、ワークフローアナライザー600は、タイミング解析を提供するために、様々なCI/CD(継続的インテグレーションおよび継続的デリバリー)ツールならびに他のアプリケーションおよびサービスと統合する。
要約すると、ワークフローアナライザーモジュール600は、既存のワークフローの静的コードレビューのためのツールを表す。例えば、ワークフローアナライザーモジュール600は、テスト自動化ワークフローがどのように見えるべきかについてハードコードされた予め定義されたルールを使用し、ユーザーが予め定義されたルールに基づいて彼または彼女のルールを定義することを可能にする。これらの予め定義されたルールは、例えば、会社のポリシーを含んでもよい。さらに、ワークフローアナライザーモジュール600のAIモデル624(またはAIコンポーネント)は、例えば、大規模な顧客データのセットに基づくテスト自動化ワークフローについて予め訓練される。
一例では、ワークフローの設計時間中に、ワークフローアナライザーモジュール600は、ワークフローの構造を解析し、潜在的な問題、警告、および改善に関する通知を送信する。定義されたルールまたはポリシーに基づき、これらの通知は、ワークフローが定義されたルールまたはポリシーを満たさない場合、提案であってもよいし、またはユーザーがワークフローを公開することを防止してもよい。
例えば、本発明の実施形態によるデザイナパネルを示すGUI1000である図10を参照する。本実施形態では、ワークフローアナライザーモジュールがトリガされると、ワークフローアナライザーモジュールは、ワークフロー全体をスキャンし、ワークフローが準拠しているかどうかを解析する。予め定義されたルールまたはポリシーに基づいて、ワークフローアナライザーモジュールは、ルールまたはポリシーに対してワークフローを比較し、非適合であるルールまたはポリシーに対して通知(例えば、警告)を生成する。
予め定義されたルールまたはポリシーは、テスト自動化顧客プロジェクトにおける過去の経験の事例データに基づいて、1または複数のユーザー(例えば、テスト専門家)によって前もって定義されていることを理解されたい。いくつかの実施形態におけるテストケースは、テスト結果を経時的に確実に比較できることを確実にするために、少なくとも1つの主張と、限られた数のループおよび条件とを含む。また、いくつかの実施形態では、テストケースは、追加の前提条件なしにアトミックで遂行可能であり、複製されず、むしろオブジェクトブラウザに抽出されるセレクタを含み得る。
顧客はまた、テスト自動化ワークフローアナライザーモジュールのための顧客固有のルールを提供してもよいことに留意されたい。いくつかの実施形態では、顧客は、彼らの会社特有の標準およびガイドラインを強制するために、彼ら自身のコードルールを定義する。この実施形態では、それぞれのテストケースは、GitHub(商標)内の各ステップおよびバージョンのログエントリを有するべきである。
特定の実施形態は、テスト自動化ワークフローアナライザーについての潜在的なAIの予め訓練されたルールを含むことにさらに留意されたい。そのような実施形態では、AIアルゴリズムは、ルールの予め訓練されたセットを含み得る。これらの予め訓練されたルールのセットは、既存の顧客プロジェクトからの大規模なデータセットから収集される。例えば、図11は、本発明の実施形態による、予め訓練されたルールのセットを含むデータベースを連続的に更新するためのシステム1100を示すワークフロー図である。
図11に示すように、顧客1105は、UiPath Studio(商標)をホストする様々なコンピューティングシステム11101 ... 1110N上で複数のワークフローを実行することができる。いくつかの実施形態では、各コンピューティングシステム11101 ... 1110Nは、UiPathクラウド115にデータを連続的に送信してもよい。UiPathクラウド1115は、データコレクター1120および機械学習(ML)アルゴリズム1125を含み得る。データコレクター1120は、各コンピューティングシステム1101~1110Nから受信されているデータを収集してもよい。このデータは、そのテスト自動化ワークフローに関する情報を含み、ワークフローがどのように作成されたか、ワークフローがどのくらいの頻度で遂行されるか、などに関する情報を含む。例えば、MLアルゴリズム1125は、保存されたテスト自動化ワークフローが良好であり、ルールを導出するために使用され得るか否かを決定する。一例では、MLアルゴリズムは、以下のことをチェックする:任意の例外なく顧客の実行頻度でテストケースを実行したか、時間の経過とともにテストケースがどの程度安定していたかなど。この解析に基づいて、MLアルゴリズムは予め定義されたルールのセットを作成し、予め定義されたルールのセットをテスト自動化ワークフローアナライザーモジュールにフィードバックできるようにし、これはコンピューティングシステム11101…1110Nで遂行される。
図7は、本発明の実施形態による、予め定義されたテスト自動化ルールのセットを描写する表現700を示すブロック図である。例示的な実施形態では、予め定義されたテスト自動化ルールのセットは、テスト設計構造702などの構造化された設計、予め定義された数のループ704、予め定義された数の条件706、注釈708、1つの検証ポイント710、および予期しない環境問題に関連するグローバル例外ハンドラ712を含む。
図8は、本発明の実施形態による、テスト自動化のワークフロー802の解析のためのユーザーインターフェース800を示すGUIである。ワークフロー802は、例えばテストケース804のようなテストケースまたは1または複数のテストケースの組み合わせを含む。いくつかの実施形態では、ワークフロー802は、コンピューティングシステム500への入力(すなわち、ユーザーからのワークフロー)として提供される。コンピューティングシステム500は、ワークフローアナライザーモジュール534を遂行して、AIモデル624を使用してワークフロー700を解析する。いくつかの例示的な実施形態では、AIモデル624は、UI800においてドラッグアンドドロップ機能(図8には示されていない)を使用して展開される。
図9は、本発明の実施形態による、RPAアプリケーションに関連するテスト自動化のワークフローを解析するための方法900を示すフローチャートである。いくつかの実施形態では、方法900は、ステップ910で開始する。
ステップ910で、方法900は、RPAアプリケーションのテスト自動化のワークフローを受信することを含む。いくつかの実施形態では、テスト自動化についてのワークフローは、ワークフローファイルとして取得される。ワークフローファイルは、ソリューション設計文書(SDD)、プロセス設計命令(PDI)、オブジェクト設計命令(ODI)、またはビジネスプロセス(BP)コードを含むが、これらに限定されない。いくつかの他の実施形態では、ワークフローは、デスクトップレコーダーから1または複数のアクティビティとして取得される。
ステップ920で、方法900は、予め定義されたテスト自動化ルールのセット(例えば、テスト自動化ルールのセット700)に基づいて、ワークフローアナライザーモジュール600のAIモデル(例えば、AIモデル624)を用いてテスト自動化のワークフローを解析することを含む。いくつかの例示的な実施形態では、AIモデル624は、訓練データを含む予め訓練されたAIモデルに対応する。訓練データは、標準的なテスト自動化ワークフロー、テスト自動化ワークフローにおけるエラー、および標準的なフレームワーク文書のうちの少なくとも1つを含む。いくつかの実施形態では、予め定義されたテスト自動化ルールのセットは、予め訓練されたAIモデルに基づいて遂行される。
ステップ930で、方法900は、テスト自動化の解析されたワークフローに関連する1または複数の測定基準を決定することを含む。例えば、1または複数の測定基準は、解析されたワークフローに関連する拡張性値、解析されたワークフローに関連する保守性値、解析されたワークフローに関連する可読性値、解析されたワークフローに関連する効率値、解析されたワークフローに関連する循環複雑性値、または解析されたワークフローに関連する精度値のうちの1または複数を含む。
ステップ940で、方法900は、AIモデルを介して、決定された1または複数の測定基準に基づいて、修正アクティビティデータを生成することを含む。いくつかの実施形態では、修正アクティビティデータは、テスト自動化のワークフローについての修正アクティビティを実行するために使用される。修正アクティビティは、AIモデルを介して、決定された1または複数の測定基準に基づいて、テスト自動化のワークフローにおける1または複数の欠陥を予測することと、AIモデルを介して、1または複数の欠陥を除去するためにワークフローを修正することと、を含む。
図9で実行されるプロセスステップは、本発明の実施形態に従って、図9で説明したプロセス(複数可)の少なくとも一部を実行するようにプロセッサ(複数可)への命令をエンコードするコンピュータプログラムによって実行される。コンピュータプログラムは、非一時的なコンピュータ読み取り可能な媒体に格納される。コンピュータ読み取り可能な媒体は、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、および/またはデータを格納するために使用される他のそのような媒体または媒体の組み合わせであるが、これらに限定されるものではない。コンピュータプログラムは、図9に記載されたプロセスステップの全部または一部を実装するために、コンピューティングシステム(例えば、図5のコンピューティングシステム500のプロセッサ(複数可)520)のプロセッサ(複数可)を制御するためのコード化された命令を含み、これはまた、コンピュータ読み取り可能な媒体に格納される。
コンピュータプログラムは、ハードウェア、ソフトウェア、またはハイブリッド実装で実装され得る。コンピュータプログラムは、互いに動作可能な通信を行うモジュールで構成され得、情報または指示をディスプレイに送るように設計されている。コンピュータプログラムは、汎用コンピュータ、ASIC、またはいずれかの他の好適なデバイスで動作するように構成され得る。
本発明の様々な実施形態のコンポーネントは、本明細書に一般的に記載され、図示されているように、様々な異なる構成で配置され、設計されることが、容易に理解されるであろう。したがって、添付の図に表されるような本発明の実施形態の詳細な説明は、特許請求されるような本発明の範囲を限定することを意図するものではなく、本発明の選択された実施形態を代表するものにすぎない。
本明細書を通して記載された本発明の特色、構造、または特徴は、1または複数の実施形態では、いずれかの好適な方法で組み合わせられる。例えば、本明細書全体を通して「特定の実施形態」、「いくつかの実施形態」、または類似の言語を参照することは、実施形態に関連して記載された特定の特色、構造、または特徴が、本発明の少なくとも1つの実施形態に含まれていることを意味する。したがって、本明細書全体を通して「特定の実施形態では」、「いくつかの実施形態では」、「他の実施形態では」、または類似の言語の出現は、必ずしも全ての実施形態の同じグループを指すものではなく、記載された特色、構造、または特徴は、1または複数の実施形態ではいずれかの好適な方法で組み合わせられる。
本明細書全体を通して特色、利点、または類似の言語への参照は、本発明で実現される特色および利点の全てが、本発明のいずれかの単一の実施形態にあるべきであること、または本発明のいずれかの実施形態にあることを意味するものではないことに留意すべきである。むしろ、特色および利点に言及する言語は、実施形態に関連して記載された特定の特色、利点、または特徴が、本発明の少なくとも1つの実施形態に含まれることを意味すると理解される。したがって、本明細書全体での特色および利点の議論、ならびに類似の言語は、同じ実施形態を参照するが、必ずしもその必要性はない。
さらに、本発明の記載された特色、利点、および特徴は、1または複数の実施形態では、いずれかの好適な方法で組み合わせられる。関連する技術の当業者は、本発明が、1または複数の特定の実施形態の特定の特徴または利点なしに実施され得ることを認識するであろう。他の例では、追加の特徴および利点は、本発明の全ての実施形態には存在しない特定の実施形態では認識される。
本分野における通常の技術を有する者は、上述したような本発明を、異なる順序でのステップを用いて、および/または開示されているものとは異なる構成のハードウェア要素を用いて実施されることを容易に理解するであろう。したがって、本発明は、これらの好ましい実施形態に基づいて説明されてきたが、本発明の精神および範囲内にとどまりながら、特定の変更、変形、および代替的な構成が明らかになることは、当業者には明らかであろう。したがって、本発明の範囲を決定するためには、添付の特許請求の範囲を参照すべきである。
Claims (20)
- ロボティックプロセスオートメーション(RPA)アプリケーションに関連するテスト自動化のワークフローを解析するためのコンピュータ実装方法であって、前記方法は、
前記RPAアプリケーションに関連する前記テスト自動化の前記ワークフローを受信することと、
ワークフローアナライザーモジュールに関連する人工知能(AI)モデルを介して、予め定義されたテスト自動化ルールのセットに基づいて、前記テスト自動化の前記ワークフローを解析することと、
前記テスト自動化の解析された前記ワークフローに関連する1または複数の測定基準を決定することと、
前記AIモデルを介して、決定された前記1または複数の測定基準に基づいて、修正アクティビティデータを生成することと、を含む、方法。 - 予め定義されたテスト自動化ルールの前記セットが、予め定義されたループの数、予め定義された条件の数、予め定義された構造化された設計、または少なくとも1つの検証ポイントのうちの少なくとも1つを含む、請求項1に記載の方法。
- 前記修正アクティビティデータに基づいて、前記テスト自動化の前記解析されたワークフローのために、修正アクティビティを実行することをさらに含む、請求項1に記載の方法。
- 前記修正アクティビティを実行することはさらに、
前記AIモデルを介して、前記決定された1または複数の測定基準に基づいて、前記テスト自動化の前記ワークフローにおける1または複数の欠陥を予測することと、
前記AIモデルを介して、前記テスト自動化の前記ワークフローを修正して、前記1または複数の欠陥を除去することと、を含む、請求項3に記載の方法。 - 前記テスト自動化の前記ワークフローは、テストケースのセットの組み合わせを含む、請求項1に記載の方法。
- 前記テスト自動化の前記ワークフローの解析のために、前記テストケースの前記セットの少なくとも1つのテストケースの1または複数の冗長なシーケンスを、別の再利用可能なライブラリに抽出することをさらに含む、請求項5に記載の方法。
- 前記テストケースの前記セットのデータ処理中に、前記テストケースの前記セットの第1のテストケースと前記テストケースの前記セットの第2のテストケースとの間の差分に基づき、データ駆動型テスト自動化を作成することをさらに含む、請求項5に記載の方法。
- AIモデルは、訓練データを含む予め訓練されたAIモデルに対応する、請求項1に記載の方法。
- 前記テスト自動化の前記ワークフローを解析することはさらに、前記予め訓練されたAIモデルに基づいて、予め定義されたテスト自動化ルールの前記セットを遂行することを含む、請求項8に記載の方法。
- 前訓練データは、標準的なテスト自動化ワークフロー、テスト自動化ワークフローにおけるエラー、および標準的なフレームワーク文書のうちの少なくとも1つを含む、請求項8に記載の方法。
- ロボティックプロセスオートメーション(RPA)アプリケーションに関連するテスト自動化のワークフローを解析するためのシステムであって、前記システムは、
命令を格納するように構成されたメモリと、
少なくとも1つのプロセッサと、を含み、
前記命令は、前記少なくとも1つのプロセッサに以下を行わせるように構成される、システム。
前記RPAアプリケーションに関連する前記テスト自動化の前記ワークフローを受信すること、
ワークフローアナライザーモジュールに関連する人工知能(AI)モデルを介して、予め定義されたセットに基づいて、前記テスト自動化の前記ワークフローを解析すること、
前記テスト自動化の解析された前記ワークフローに関連する1または複数の測定基準を決定すること、および
前記AIモデルを介して、決定された前記1または複数の測定基準に基づいて、修正アクティビティデータを生成すること。 - 予め定義されたテスト自動化ルールのセットが、予め定義されたループの数、予め定義された条件の数、予め定義された構造化された設計、または少なくとも1つの検証ポイントのうちの少なくとも1つを含む、請求項11に記載のシステム。
- 前記少なくとも1つのプロセッサはさらに、
前記修正アクティビティデータに基づいて、前記テスト自動化の前記解析されたワークフローのために、修正アクティビティを実行する前記命令を遂行するように構成される、請求項11に記載のシステム。 - 前記修正アクティビティを実行するために、前記少なくとも1つのプロセッサはさらに、
前記AIモデルを介して、前記決定された1または複数の測定基準に基づいて、前記テスト自動化の前記ワークフローにおける1または複数の欠陥を予測し、
前記AIモデルを介して、前記テスト自動化の前記ワークフローを修正して、前記1または複数の欠陥を除去する前記命令を遂行するように構成される、請求項13に記載のシステム。 - 前記テスト自動化の前記ワークフローは、テストケースのセットの組み合わせを含む、請求項11に記載のシステム。
- 前記少なくとも1つのプロセッサはさらに、前記テスト自動化の前記ワークフローの解析のために、前記テストケースの前記セットの少なくとも1つのテストケースの1または複数の冗長なシーケンスを、別の再利用可能なライブラリに抽出する前記命令を遂行するように構成される、請求項15に記載のシステム。
- 前記少なくとも1つのプロセッサはさらに、前記テストケースの前記セットのデータ処理中に、前記テストケースの前記セットの第1のテストケースと前記テストケースの前記セットの第2のテストケースとの間の差分に基づき、データ駆動型テスト自動化を作成するように構成される、請求項15に記載のシステム。
- AIモデルは、訓練データを含む予め訓練されたAIモデルに対応し、前記訓練データは、標準的なテスト自動化ワークフロー、テスト自動化ワークフローにおけるエラー、および標準的なフレームワーク文書のうちの少なくとも1つを含む、請求項11に記載のシステム。
- 前記テスト自動化の前記ワークフローを解析するために、前記少なくとも1つのプロセッサはさらに、前記予め訓練されたAIモデルに基づいて、予め定義されたテスト自動化ルールのセットを遂行するように構成される、請求項18に記載のシステム。
- 非一時的なコンピュータ読み取り可能な媒体上に格納されたコンピュータプログラムであって、前記コンピュータプログラムは、少なくとも1つのプロセッサが、
RPAアプリケーションに関連するテスト自動化のワークフローを受信することと、
ワークフローアナライザーモジュールに関連するAIモデルを介して、予め定義されたテスト自動化ルールのセットに基づいて、前記テスト自動化の前記ワークフローを解析することと、
解析された前記テスト自動化に関連する1または複数の測定基準を決定することと、
前記AIモデルを介して、決定された前記1または複数の測定基準に基づいて、修正アクティビティデータを生成することと、を行うように構成される、コンピュータプログラム。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201911053188 | 2019-12-20 | ||
IN201911053188 | 2019-12-20 | ||
US16/931,917 US20210191367A1 (en) | 2019-12-20 | 2020-07-17 | System and computer-implemented method for analyzing a robotic process automation (rpa) workflow |
US16/931,917 | 2020-07-17 | ||
US17/082,561 | 2020-10-28 | ||
US17/082,561 US11494291B2 (en) | 2019-12-20 | 2020-10-28 | System and computer-implemented method for analyzing test automation workflow of robotic process automation (RPA) |
PCT/US2020/064838 WO2021126757A1 (en) | 2019-12-20 | 2020-12-14 | System and computer-implemented method for analyzing test automation workflow of robotic process automation (rpa) |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023516846A true JP2023516846A (ja) | 2023-04-21 |
Family
ID=76438139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022532108A Pending JP2023516846A (ja) | 2019-12-20 | 2020-12-14 | ロボティックプロセスオートメーション(rpa)のテスト自動化ワークフローを解析するシステムおよびコンピュータ実装方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11494291B2 (ja) |
EP (1) | EP4078488A1 (ja) |
JP (1) | JP2023516846A (ja) |
CN (1) | CN114830156A (ja) |
WO (1) | WO2021126757A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11829284B2 (en) * | 2021-06-07 | 2023-11-28 | International Business Machines Corporation | Autonomous testing of software robots |
US20230018965A1 (en) * | 2021-07-15 | 2023-01-19 | Bank Of America Corporation | Smart Change Evaluator for Robotics Automation |
US11650871B2 (en) | 2021-09-13 | 2023-05-16 | UiPath, Inc. | System and computer-implemented method for verification of execution of an activity |
US11940905B2 (en) | 2021-09-15 | 2024-03-26 | UiPath, Inc. | System and computer-implemented method for testing an application using an automation bot |
CN113741881B (zh) * | 2021-09-16 | 2024-01-30 | 杭州分叉智能科技有限公司 | 一种rpa可视化流程设计方法 |
US11762760B1 (en) * | 2021-09-29 | 2023-09-19 | Amazon Technologies, Inc. | Scalable test workflow service |
EP4290435A1 (en) * | 2022-06-06 | 2023-12-13 | Blue Prism Limited | Methods and systems for managing robotic process automation |
CN117421201A (zh) * | 2022-07-11 | 2024-01-19 | 戴尔产品有限公司 | 自动化测试加速器 |
CN115056234B (zh) * | 2022-08-08 | 2022-11-11 | 杭州实在智能科技有限公司 | 基于事件驱动和无限状态机的rpa控制器调度方法及系统 |
CN116261091B (zh) * | 2023-05-16 | 2023-08-04 | 深圳市百泰实业股份有限公司 | 一种可定制测试流程的蓝牙测试系统及方法 |
CN116383095B (zh) * | 2023-06-05 | 2023-11-24 | 南方电网数字电网研究院有限公司 | 基于rpa机器人的冒烟测试方法、系统和可读存储介质 |
CN116610806B (zh) * | 2023-07-20 | 2023-11-03 | 富璟科技(深圳)有限公司 | 基于ai的rpa数字化业务处理方法及计算机设备 |
CN117130869A (zh) * | 2023-09-11 | 2023-11-28 | 江苏流枢阁科技有限公司 | 一种基于事件驱动的人工智能在线实时分析方法及装置 |
CN117493220B (zh) * | 2024-01-03 | 2024-03-26 | 安徽思高智能科技有限公司 | 一种rpa流程操作异常检测方法、设备及存储设备 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7900193B1 (en) | 2005-05-25 | 2011-03-01 | Parasoft Corporation | System and method for detecting defects in a computer program using data and control flow analysis |
US7793154B2 (en) | 2006-11-30 | 2010-09-07 | International Business Machines Corporation | Method and implementation for automating processes using data driven pre-recorded transactions |
US8365147B2 (en) | 2008-02-27 | 2013-01-29 | Accenture Global Services Limited | Test script transformation architecture |
US8381184B2 (en) * | 2008-09-02 | 2013-02-19 | International Business Machines Corporation | Dynamic test coverage |
US8561021B2 (en) | 2010-02-08 | 2013-10-15 | Microsoft Corporation | Test code qualitative evaluation |
US20120116836A1 (en) | 2010-11-08 | 2012-05-10 | International Business Machines Corporation | Consolidating business process workflows through the use of semantic analysis |
US8930959B2 (en) | 2011-05-13 | 2015-01-06 | Orions Digital Systems, Inc. | Generating event definitions based on spatial and relational relationships |
WO2014145977A1 (en) | 2013-03-15 | 2014-09-18 | Bates Alexander B | System and methods for automated plant asset failure detection |
US9274782B2 (en) | 2013-12-20 | 2016-03-01 | International Business Machines Corporation | Automated computer application update analysis |
US10769122B2 (en) | 2014-03-13 | 2020-09-08 | Ab Initio Technology Llc | Specifying and applying logical validation rules to data |
US10417718B2 (en) | 2015-03-16 | 2019-09-17 | Accenture Global Services Limited | Digital manufacturing system |
US9753839B2 (en) | 2015-03-19 | 2017-09-05 | Accenture Global Services Limited | Test script evaluation system and method |
US20170330109A1 (en) | 2016-05-16 | 2017-11-16 | Purepredictive, Inc. | Predictive drift detection and correction |
US20180052666A1 (en) * | 2016-08-22 | 2018-02-22 | Microsoft Technology Licensing, Llc | Adaptive Recursive User Interface Testing Automation Framework |
US10339027B2 (en) | 2016-09-06 | 2019-07-02 | Accenture Global Solutions Limited | Automation identification diagnostic tool |
US10223240B2 (en) | 2017-01-31 | 2019-03-05 | Wipro Limited | Methods and systems for automating regression testing of a software application |
US10705948B2 (en) | 2017-10-30 | 2020-07-07 | Bank Of America Corporation | Robotic process automation simulation of environment access for application migration |
US10367650B2 (en) | 2017-11-06 | 2019-07-30 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for efficiently developing and testing home automation systems |
US10768893B2 (en) | 2017-11-20 | 2020-09-08 | Accenture Global Solutions Limited | Using similarity analysis and machine learning techniques to manage test case information |
US11989861B2 (en) | 2017-11-28 | 2024-05-21 | Intel Corporation | Deep learning-based real-time detection and correction of compromised sensors in autonomous machines |
US10699193B2 (en) | 2017-12-06 | 2020-06-30 | Seagate Technology Llc | Methods, devices, and systems for reducing device test time |
CN107957957B (zh) * | 2017-12-28 | 2020-09-11 | 网易(杭州)网络有限公司 | 测试用例的获取方法和装置 |
US20200034279A1 (en) | 2018-07-24 | 2020-01-30 | Sap Se | Deep machine learning in software test automation |
US10956310B2 (en) | 2018-08-30 | 2021-03-23 | International Business Machines Corporation | Automated test case generation for deep neural networks and other model-based artificial intelligence systems |
WO2020061587A1 (en) * | 2018-09-22 | 2020-03-26 | Manhattan Engineering Incorporated | Error recovery |
CN109472496A (zh) | 2018-11-14 | 2019-03-15 | 江苏中威科技软件系统有限公司 | 基于可视化引导及自动校验的工作流程构建方法及装置 |
US20210191367A1 (en) * | 2019-12-20 | 2021-06-24 | UiPath, Inc. | System and computer-implemented method for analyzing a robotic process automation (rpa) workflow |
-
2020
- 2020-10-28 US US17/082,561 patent/US11494291B2/en active Active
- 2020-12-14 WO PCT/US2020/064838 patent/WO2021126757A1/en unknown
- 2020-12-14 CN CN202080088351.6A patent/CN114830156A/zh active Pending
- 2020-12-14 JP JP2022532108A patent/JP2023516846A/ja active Pending
- 2020-12-14 EP EP20901161.8A patent/EP4078488A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP4078488A1 (en) | 2022-10-26 |
CN114830156A (zh) | 2022-07-29 |
WO2021126757A1 (en) | 2021-06-24 |
US20210191843A1 (en) | 2021-06-24 |
US11494291B2 (en) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11494291B2 (en) | System and computer-implemented method for analyzing test automation workflow of robotic process automation (RPA) | |
US11541548B2 (en) | Artificial intelligence-based process identification, extraction, and automation for robotic process automation | |
US20210191367A1 (en) | System and computer-implemented method for analyzing a robotic process automation (rpa) workflow | |
US11919165B2 (en) | Process evolution for robotic process automation and workflow micro-optimization | |
KR102412237B1 (ko) | 로봇 프로세스 자동화를 위한 테스트 자동화 | |
KR20220078587A (ko) | 인공 지능을 사용한 로봇 프로세스 자동화를 위한 모델 선택 및 체인화 | |
US11748479B2 (en) | Centralized platform for validation of machine learning models for robotic process automation before deployment | |
JP2023549632A (ja) | 人工知能/機械学習によるロボティックプロセスオートメーションのための異常検出および自己修復 | |
JP2022552130A (ja) | ロボティックプロセスオートメーションにおける強化学習 | |
JP2023070074A (ja) | ロボティックプロセスオートメーションのための長時間実行ワークフローを使用した人工知能フローの構築および管理 | |
JP2023545644A (ja) | 人工知能/機械学習モデルを使用したインタラクションのシーケンス決定、プロセス抽出、およびロボット生成 | |
JP2022552466A (ja) | ロボティック・プロセス・オートメーション・ワークフローのための再構成可能なワークベンチパイプライン | |
EP3901864A1 (en) | Test automation for robotic process automation | |
EP3901865A1 (en) | Test automation for robotic process automation | |
JP2023523374A (ja) | ロボティックプロセスオートメーションのための機械学習モデル再訓練パイプライン | |
US20230236855A1 (en) | Automation windows for robotic process automation using multiple desktops | |
EP4266172A1 (en) | System, apparatus, and method for deploying robotic process automations across multiple operating systems | |
CN118057367A (zh) | 在浏览器内的目标应用的自动增强 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231205 |