IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コニカミノルタ株式会社の特許一覧

特許7467929装置のテスト自動化のための方法およびプログラムならびに装置
<>
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図1
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図2
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図3
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図4
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図5
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図6
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図7
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図8
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図9
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図10
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図11
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図12
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図13
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図14
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図15
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図16
  • 特許-装置のテスト自動化のための方法およびプログラムならびに装置 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】装置のテスト自動化のための方法およびプログラムならびに装置
(51)【国際特許分類】
   G06F 11/36 20060101AFI20240409BHJP
   G06F 3/0488 20220101ALI20240409BHJP
   G06F 11/34 20060101ALI20240409BHJP
【FI】
G06F11/36 184
G06F3/0488
G06F11/34 138
【請求項の数】 11
(21)【出願番号】P 2020007043
(22)【出願日】2020-01-20
(65)【公開番号】P2021114194
(43)【公開日】2021-08-05
【審査請求日】2022-11-17
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】田門 菜摘
(72)【発明者】
【氏名】原田 一樹
【審査官】渡辺 一帆
(56)【参考文献】
【文献】特開2000-112785(JP,A)
【文献】特開2014-203375(JP,A)
【文献】特開2014-119660(JP,A)
【文献】特開2012-068854(JP,A)
【文献】特開2019-101537(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G06F 3/0488
G06F 11/34
(57)【特許請求の範囲】
【請求項1】
装置のテストを自動化するための方法であって、
ユーザーの操作入力を受け付ける対象装置の操作画面に対するユーザーによる操作を検出するステップと、
前記操作におけるユーザーの複数の操作態様を判定するステップとを含み、
前記複数の操作態様は、
操作記録に登録される第1の操作態様と、
前記操作記録に登録されない第2の操作態様とを含み、
前記方法は、
前記第1の操作態様により実行される第1の操作を記録するステップと、
前記第2の操作態様により実行される画面遷移のための第2の操作を受け付けるステップと、
前記第2の操作による画面遷移後に、前記第1の操作態様により実行される第3の操作を記録したことに基づいて、操作の不整合を検出するステップとをさらに含
前記第1および第3の操作を記録するステップは、それぞれ、各操作の内容と、各操作が実行されたときの画面の識別情報とを各々関連付けて前記操作記録に保存するステップを含み、
前記操作の不整合を検出するステップは、
前記操作記録を参照し、前記第1の操作が実行された第1の画面と、前記第3の操作が実行されたときの第2の画面とを取得するステップと、
前記第1および第2の画面が互いに異なることに基づいて、前記操作の不整合を検出するステップとを含む、方法。
【請求項2】
前記操作の不整合を検出するステップは、
前記操作記録に含まれる前記第1の操作の記録と前記第3の操作の記録との間に、前記第1の操作態様による前記第2の画面への遷移操作の記録があるか否かを判定するステップと、
前記遷移操作の記録がないことに基づいて、前記操作の不整合を検出するステップとを含む、請求項に記載の方法。
【請求項3】
前記操作の不整合を検出したことに基づいて、前記第3の操作を前記操作記録から除外するステップをさらに含む、請求項1または2に記載の方法。
【請求項4】
前記操作の不整合を検出したことに基づいて、前記操作の不整合を解消する操作を補完するための操作リストをテスト自動化装置の画面に表示するステップをさらに含む、請求項1または2に記載の方法。
【請求項5】
前記方法は、前記第2の操作態様による操作を前記操作記録とは別に一時的に記録するステップをさらに含み、
前記操作リストを前記テスト自動化装置の画面に表示するステップは、前記第1の操作の実行から前記第3の操作の実行までの間に、前記第2の操作態様によって実行された全ての操作を前記テスト自動化装置の画面に表示するステップを含む、請求項に記載の方法。
【請求項6】
前記操作の不整合を検出したことに基づいて、前記操作の不整合が発生したことをスピーカーから通知するステップをさらに含む、請求項1~のいずれかに記載の方法。
【請求項7】
前記複数の操作態様を判定するステップは、操作画面に触れる指が、右手の指または左手の指のいずれかであるかに基づいて、各操作態様が、前記第1の操作態様または前記第2の操作態様のいずれであるかを判定するステップを含む、請求項1~のいずれかに記載の方法。
【請求項8】
前記複数の操作態様を判定するステップは、操作画面に触れるタッチペンの形状または色に基づいて、各操作態様が、前記第1の操作態様または前記第2の操作態様のいずれであるかを判定するステップを含む、請求項1~のいずれかに記載の方法。
【請求項9】
前記複数の操作態様を判定するステップは、操作画面に触れる対象の形状に基づいて、各操作態様が、前記第1の操作態様または前記第2の操作態様のいずれであるかを判定するステップを含む、請求項1~のいずれかに記載の方法。
【請求項10】
請求項1~のいずれかに記載の方法をコンピューターに実行させるプログラム。
【請求項11】
請求項10に記載のプログラムを格納したメモリーと、
前記プログラムを実行するプロセッサーとを備える、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、操作部を備える装置のテストに関し、より特定的には、装置の操作内容に基づく自動実行スクリプトの生成技術に関する。
【背景技術】
【0002】
近年、MFP(Multifunction Peripheral)などのユーザーから入力操作を受け付ける装置は、多機能化が進んでいる。そのため、これらの装置の動作テストの工数も増大し続けている。特に、ソフトウェア開発において、テスト工数の増大は、メーカーにとって大きな負担になっている。
【0003】
ソフトウェアの開発工程においては、動作テストを繰り返すことによりソフトウェアの品質を確保することが重要である。しかし、動作テストにかけられる工数は有限であり、また、開発速度の向上のために、動作テストの効率化が求められている。動作テストの効率化のために、操作内容を記録し、当該操作内容に基づいて同様の操作を実行する自動実行スクリプトを作成するテストツールが使用されることがある。
【0004】
記録された操作内容を自動実行するテストツールに関して、例えば、特開2017-117309号公報(特許文献1)は、「管理サーバーのアプリ管理は操作イベント処理コードを注入したアプリケーションをスマートフォン端末に送信し、インストールさせる。クライアント端末上でスマートフォン端末操作を実行すると、スマートフォン端末上で同などの操作が実行され、操作ログ情報がスクリプト生成手段により、スクリプトファイルに保存される。クライアント端末上でテスト実行を指示すると、端末管理は、操作イベント処理コード注入済みのアプリケーションを複数のスマートフォン端末に送信してインストールさせ、スクリプト実行手段が、スクリプトファイルからスクリプトを読み出し、端末操作情報に変換して、スマートフォン端末に送信し、スマートフォン端末では、受信した端末操作情報に基づいてアプリケーションが実行される」テスト自動化システムを開示している([要約]参照)。
【0005】
また、操作内容の操作履歴に対する技術などが、特開2015-121869号公報(特許文献2)および特開2015-153183号公報(特許文献3)に開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2017-117309号公報
【文献】特開2015-121869号公報
【文献】特開2015-153183号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1~3に開示された技術によると、テスターが、記録されない操作、例えば事前に入力し忘れていた操作など、を実行することができない。その結果、テスターは、一から全ての操作をやり直す必要があり、テスト工数が増大してしまう。そのため、記録されない操作の実行を可能にするための技術が必要とされている。
【0008】
本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、記録されない操作の実行を可能にするための技術を提供することにある。
【課題を解決するための手段】
【0009】
ある実施の形態に従うと、装置のテストを自動化するための方法が提供される。この方法は、ユーザーの操作入力を受け付ける対象装置の操作画面に対するユーザーによる操作を検出するステップと、操作におけるユーザーの複数の操作態様を判定するステップとを含む。複数の操作態様は、操作記録に登録される第1の操作態様と、操作記録に登録されない第2の操作態様とを含む。方法は、第1の操作態様により実行される第1の操作を記録するステップと、第2の操作態様により実行される画面遷移のための第2の操作を受け付けるステップと、第2の操作による画面遷移後に、第1の操作態様により実行される第3の操作を記録したことに基づいて、操作の不整合を検出するステップとをさらに含む。
【0010】
ある局面において、第1および第3の操作を記録するステップは、それぞれ、各操作の内容と、各操作が実行されたときの画面の識別情報とを各々関連付けて操作記録に保存するステップを含む。操作の不整合を検出するステップは、操作記録を参照し、第1の操作が実行された第1の画面と、第3の操作が実行されたときの第2の画面とを取得するステップと、第1および第2の画面が互いに異なることに基づいて、操作の不整合を検出するステップとを含む。
【0011】
ある局面において、操作の不整合を検出するステップは、操作記録に含まれる第1の操作の記録と第3の操作の記録との間に、第1の操作態様による第2の画面への遷移操作の記録があるか否かを判定するステップと、遷移操作の記録がないことに基づいて、操作の不整合を検出するステップとを含む。
【0012】
ある局面において、方法は、操作の不整合を検出したことに基づいて、第3の操作を操作記録から除外するステップをさらに含む。
【0013】
ある局面において、方法は、操作の不整合を検出したことに基づいて、操作の不整合を解消する操作を補完するための操作リストをテスト自動化装置の画面に表示するステップをさらに含む。
【0014】
ある局面において、方法は、第2の操作態様による操作を操作記録とは別に一時的に記録するステップをさらに含む。操作リストをテスト自動化装置の画面に表示するステップは、第1の操作の実行から第3の操作の実行までの間に、第2の操作態様によって実行された全ての操作をテスト自動化装置の画面に表示するステップを含む。
【0015】
ある局面において、方法は、操作の不整合を検出したことに基づいて、操作の不整合が発生したことをスピーカーから通知するステップをさらに含む。
【0016】
ある局面において、複数の操作態様を判定するステップは、操作画面に触れる指が、右手の指または左手の指のいずれかであるかに基づいて、各操作態様が、第1の操作態様または第2の操作態様のいずれであるかを判定するステップを含む。
【0017】
ある局面において、複数の操作態様を判定するステップは、操作画面に触れるタッチペンの形状または色に基づいて、各操作態様が、第1の操作態様または第2の操作態様のいずれであるかを判定するステップを含む。
【0018】
ある局面において、複数の操作態様を判定するステップは、操作画面に触れる対象の形状に基づいて、各操作態様が、第1の操作態様または第2の操作態様のいずれであるかを判定するステップを含む。
【0019】
他の実施の形態に従うと、上述のいずれかの方法をコンピューターに実行させるプログラムが提供される。
【0020】
他の実施の形態に従うと、操作対象の装置のテストを自動化するための装置が提供される。この装置は、上述のプログラムを格納したメモリーと、プログラムを実行するプロセッサーとを備える。
【発明の効果】
【0021】
ある実施の形態に従うと、テスターは、記録されない操作、例えば事前に入力し忘れていた操作など、を実行することが可能である。
【0022】
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0023】
図1】テストスクリプト自動生成システムにより、自動実行スクリプトを生成する画像形成装置の一例である。
図2】ある実施の形態に従うテストスクリプト自動生成システムの一例を示す図である。
図3】情報処理装置200のハードウェア構成の一例を示す図である。
図4】修正操作に基づく評価操作の修正処理の概要の一例を示す図である。
図5】ユーザーの操作手順の第1の例を示す図である。
図6】情報処理装置200における図5の操作を検出したときの内部動作の一例を示す図である。
図7】整合性を満たす操作の一例を示す図である。
図8】情報処理装置200における図7の操作を検出した場合の内部処理の一例について説明するための図である。
図9】整合性を満たさない操作の一例を示す図である。
図10】情報処理装置200における図9の操作を検出した場合の内部処理の一例について説明するための図である。
図11】操作の不整合が検出された場合に情報処理装置200が実行する処理の第1の例を示す図である。
図12図11における情報処理装置200の詳細な内部処理の一例を示す図である。
図13】操作の不整合が検出された場合に情報処理装置200が実行する処理の第2の例を示す図である。
図14】操作の不整合が検出された場合に情報処理装置200が実行する処理の第3の例を示す図である。
図15】操作の不整合が検出された場合に情報処理装置200が実行する処理の第4の例を示す図である。
図16】情報処理装置200の自動実行スクリプトの生成までの手順の一例を示す図である。
図17】操作情報記録処理の手順の一例を示す図である。
【発明を実施するための形態】
【0024】
以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0025】
[システム構成について]
まず、図1~3を用いて、本実施の形態に従うテストスクリプト自動生成システムの概要について説明する。以降の説明では、テスト対象として画像形成装置を例に、テストスクリプト自動生成システムの処理内容について説明するが、本実施の形態に従うテストスクリプト自動生成システムのテスト対象は画像形成装置に限られない。本実施の形態に従うテストスクリプト自動生成システムは、タッチパネルなどの入力手段を持つ任意の装置のテストに使用され得る。
【0026】
図1は、テストスクリプト自動生成システムにより、自動実行スクリプトを生成する画像形成装置の一例である。画像形成装置100は、制御部101と、原稿読取部102と、印刷出力部103と、FAX(ファクシミリ)部104と、記憶装置105と、無線インターフェイス106と、有線インターフェイス107と、ユーザー認証部108と、操作パネル109とを備える。制御部101は、CPU(Central Processing Unit)110と、RAM(Random Access Memory)111と、ROM(Read Only Memory)112とを含む。操作パネル109は、表示部113と、操作部114とを含む。
【0027】
制御部101は、画像形成装置100を制御し、各種プログラムを実行する。CPU110は、RAM111に読み込まれた各種プログラムおよびデータを実行または参照する。ある局面において、CPU110は、組み込みCPUであってもよいし、FPGA(Field-Programmable Gate Array)であってもよいし、またはこれらの組み合わせなどによって構成される。CPU110は、画像形成装置100の各種機能を実現するためのプログラムを実行し得る。
【0028】
RAM111は、制御部101によって実行されるプログラムと、制御部101によって参照されるデータとを格納する。ある局面において、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)が、RAM111として使用されてもよい。
【0029】
ROM112は、不揮発性メモリーであり、CPU110によって実行されるプログラムを格納してもよい。その場合、CPU110は、ROM112からRAM111に読み出されたプログラムを実行する。ある局面において、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)またはフラッシュメモリーが、ROM112として使用されてもよい。
【0030】
原稿読取部102は、原稿をスキャンして、当該原稿を画像データに変換し得る。CPU110は、原稿読取部102を介して、画像データを取得し得る。ある局面において、原稿読取部102は、取得した画像データを記憶装置105に保存し得る。他の局面において、原稿読取部102は、有線インターフェイス107を介して画像データを取得し、当該取得した画像データを記憶装置105に保存してもよい。
【0031】
印刷出力部103は、画像形成装置100が取り込んだ画像データの印刷処理を行う。ある局面において、イメージングユニットを含む印刷機能のための各種アクチュエーターを制御する回路が、印刷出力部103として使用されてもよい。
【0032】
FAX部104は、電話回線を用いたファクシミリにより、原稿または画像データの送受信を行う。ある局面において、ファクシミリの通信制御機能を持つ回路および電話回線の通信ポートがFAX部104として使用されてもよい。
【0033】
記憶装置105は、不揮発性メモリーであり、画像形成装置100の電源が切れた状態でもデータを保存しておくことができる。記憶装置105は、CPU110が実行または参照する任意のプログラムおよびデータを保存し得る。ある局面において、HDD(Hard Disk Drive)またはSSD(Solid State Drive)が、記憶装置105として使用されてもよい。CPU110は、必要に応じて各種プログラムを記憶装置105からRAM111に読み込み、当該読み込まれたプログラムを実行することができる。
【0034】
無線インターフェイス106は、有線ネットワーク機器と接続される。ある局面において、Wi-Fi(登録商標)モジュールなどが無線インターフェイス106として使用されてもよい。他の局面において、無線インターフェイス106は、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP(User Datagram Protocol)などの通信プロトコルを用いてデータを送受信してもよい。
【0035】
有線インターフェイス107は、有線ネットワーク機器と接続される。ある局面において、有線LAN(Local Area Network)ポートなどが有線インターフェイス107として使用されてもよい。他の局面において、有線インターフェイス107は、TCP/IP、UDPなどの通信プロトコルを用いてデータを送受信してもよい。
【0036】
ユーザー認証部108は、操作パネル109などから入力されたユーザーID(Identifier)およびパスワードに基づいて、ユーザーを認証し得る。ある局面において、ユーザー認証部108は、外部の認証サーバーと連携してもよいし、ユーザーIDおよびパスワードの代わりに、指紋などの生態認証情報の入力を受け付けてもよい。
【0037】
操作パネル109は、画像形成装置100への各種操作を受け付けると共に、操作メニューおよび各種情報を表示し得る。表示部113は、操作メニューおよび各種情報を表示する。表示部113は、一例として、液晶モニターまたは有機EL(Electro-Luminescence)モニターなどであってもよい。操作部114は、一例として、操作パネル109に組み込まれたタッチセンサーまたはボタンなどであり、ユーザーからの操作入力を受付け得る。
【0038】
図2は、本実施の形態に従うテストスクリプト自動生成システムの一例を示す図である。本実施の形態に従うテストスクリプト自動生成システムは、画像形成装置100におけるユーザーの操作を記録し、同じ操作入力を画像形成装置100に行なうための自動実行スクリプトを生成する。当該テストスクリプト自動生成システムは、画像形成装置100におけるユーザーの操作の記録中に、ユーザーが操作を誤った場合に、誤った操作の修正を受け付け得る。さらに、テストスクリプト自動生成システムは、ユーザーが入力し忘れた操作を後から実行したときに、操作記録の整合性をチェックする機能を備える。以下、テストスクリプト自動生成システムの構成と共に、ユーザーの操作の修正処理および整合性のチェック処理について説明する。
【0039】
テストスクリプト自動生成システムは、情報処理装置200と、カメラ250とを備える。カメラ250は、例えば、画像形成装置100の操作パネル109の画面およびユーザーの操作内容を録画または撮影する。情報処理装置200は、カメラ250から取得した操作記録210(映像または写真)に基づいて、画像形成装置100の自動実行スクリプトを生成し得る。
【0040】
情報処理装置200は、画面解析部201と、操作解析部202と、操作判定部203と、修正処理部204と、スクリプト生成部205と、コンテンツDB(データベース)206と、修正操作ストア207と、評価操作ストア208と、スクリプトDB209とを含む。
【0041】
画面解析部201は、カメラ250から取得した操作記録210と、コンテンツDB206とに基づいて、操作記録210に含まれる画面が何の画面であるかを解析する。一例として、画面解析部201は、操作記録210に含まれる画面が、印刷設定の画面またはスキャン設定の画面などであると判定し得る。
【0042】
コンテンツDB206は、画像形成装置100の操作画面の画面情報および各操作画面に含まれる操作部品(入力フィールド、プルダウンおよびボタンなど)の配置などに関する情報を含む。画面解析部201は、操作記録210に含まれる画面と、コンテンツDB206に含まれる操作画面とを比較し、ユーザーがどの画面で操作入力を行なっているかを検出し得る。
【0043】
操作解析部202は、カメラ250から取得した操作記録210と、コンテンツDB206とに基づいて、ユーザーが行なった操作を解析し得る。ここでの「操作」とは、ユーザーが画像形成装置100のタッチパネルなどを操作して、画像形成装置100に何らかの機能を実行させる行為を指す。
【0044】
画面解析部201は、一例として、操作記録210に含まれる画面を解析し、ユーザーの指が触れた位置を特定する。次に、画面解析部201は、コンテンツDB206を参照し、ユーザーの指が触れた位置に配置された操作部品を特定することで、ユーザーが何の操作入力を行なっているかを検出し得る。
【0045】
操作判定部203は、ユーザーの操作形態に基づいて、ユーザーの操作が「評価操作」または「修正操作」のいずれであるかを判定し得る。操作態様とは、ユーザーがどのように操作入力を行なったかである。一例として、操作態様は、右手での操作、左手での操作、指の本数、カメラ250から見た指の角度、タッチペンを使用したか否かおよび操作パネル109を操作する物体(指、タッチペンなど)の形状などを含み得る。一例として、操作判定部203は、操作パネル109に触れる指が、右手の指または左手の指のいずれかであるかに基づいて、ユーザーの操作が評価操作または修正操作のいずれであるかを判定し得る。他の例として、操作判定部203は、操作パネル109に触れるタッチペンの形状または色に基づいて、ユーザーの操作が評価操作または修正操作のいずれであるかを判定し得る。さらに他の例として、操作パネル109に触れる任意のものの形状に基づいて、ユーザーの操作が評価操作または修正操作のいずれであるかを判定し得る。
【0046】
ここでの評価操作とは、自動実行スクリプトに含まれることになる操作である。すなわち、評価操作は、画像形成装置100の動作テストのための操作である。修正操作とは、すでに入力された評価操作の中から、間違った操作を削除するための操作である。
【0047】
ある局面において、操作判定部203は、操作記録210に基づいて、ユーザーが右手で画像形成装置100を操作した場合に評価操作がされたと判定し、ユーザーが左手で画像形成装置100を操作した場合に修正操作がされたと判定し得る。他の局面において、操作判定部203は、操作記録210に基づいて、カメラ250から見た手の角度、どの指で画像形成装置100を操作したか、または、何本の指で画像形成装置100を操作したかなどの任意の方法に基づいて、ユーザーの操作が評価操作または修正操作のいずれであるかを判定し得る。さらに、操作判定部203は、ユーザーが入力し忘れた操作を後から実行したときに、操作記録の整合性をチェックする。整合性のチェック機能については、図9および図10を参照して後述する。
【0048】
以降の説明では、一例として、操作判定部203は、ユーザーがいずれの手で画像形成装置100を操作したかに基づいて、ユーザーの操作が評価操作または修正操作のいずれであるかを判定するものとして説明する。
【0049】
修正操作ストア207は、修正操作をまとめた修正操作テンポラリーデータを格納する。修正操作テンポラリーデータは、ある動作テストのための一連の操作内での修正操作を一時的にまとめたものである。操作判定部203は、操作記録210に基づいて、ユーザーが左手で画像形成装置100を操作したと判定した場合に、当該ユーザーの操作入力を修正操作として判別し得る。修正操作は、当該修正操作によって実際に操作された操作部品と対応付けて、修正操作テンポラリーデータに含められる。当該修正操作テンポラリーデータは、修正操作ストア207に格納される。
【0050】
評価操作ストア208は、評価操作をまとめた評価操作テンポラリーデータを格納する。評価操作テンポラリーデータは、ある動作テストのための一連の操作内での評価操作を一時的にまとめたものである。操作判定部203は、操作記録210に基づいて、ユーザーが右手で画像形成装置100を操作したと判定した場合に、当該ユーザーの操作入力を評価操作として評価操作ストア208に格納する。評価操作は、当該評価操作によって実際に操作された操作部品と対応付けて、評価操作テンポラリーデータに含められる。当該評価操作テンポラリーデータは、評価操作ストア208に格納される。
【0051】
修正処理部204は、修正操作テンポラリーデータに基づいて、評価操作テンポラリーデータを修正する。より具体的には、修正処理部204は、修正操作テンポラリーデータに含まれる修正操作に基づいて、評価操作テンポラリーデータに含まれる一部の操作を削除する。
【0052】
スクリプト生成部205は、修正後の評価操作テンポラリーデータを画像形成装置100に読み込ますことができる自動実行スクリプトに変換し、当該自動実行スクリプトをスクリプトDB209に保存する。ある局面において、スクリプト生成部205は、修正操作テンポラリーデータに基づいて、ユーザーが間違った操作のリストを出力してもよい。また、他の局面において、スクリプト生成部205は、修正操作ストア207に蓄えられた過去の修正操作テンポラリーデータに基づいて、ユーザーが間違った各操作と、各操作の間違い回数とに関する情報を出力してもよい。当該情報は、画像形成装置100のユーザーインターフェイスの改善に使用され得る。
【0053】
ある局面において、テストスクリプト自動生成システムは、ユーザーの操作内容を判別するために、カメラ250以外の構成を含んでいてもよい。一例として、テストスクリプト自動生成システムは、操作パネル109の右上と左上に測距センサーを備え、これらの各々の距離センサーから指の位置(操作パネル109上の操作位置)を特定してもよい。また、他の例として、操作パネル109にかぶせるタッチパネルシートを備え、当該タッチパネルシートにより、指の位置(操作パネル109上の操作位置)を検出してもよい。さらに、タッチパネルシートは、指紋検出機能を備えていてもよい。テストスクリプト自動生成システムは、当該指紋検出機能により、右手と左手の操作を区別し得る。テストスクリプト自動生成システムは、これらの各種センサーなどから取得した情報を操作記録210として解析してもよい。
【0054】
上記のように、本実施の形態に従うテストスクリプト自動生成システムは、ユーザーの操作態様に基づいて、ユーザーの操作が評価操作または修正操作のいずれであるかを判定し得る。さらに、テストスクリプト自動生成システムは、修正操作に基づいて、評価操作を修正し得る。さらに、テストスクリプト自動生成システムは、ユーザーが入力し忘れた操作を後から実行したときに、操作記録の整合性をチェックする。そのため、ユーザーが後から事前設定を実行する場合などにおいて、整合性を満たさない操作(本来実行できない操作)をしたときでも、テストスクリプト自動生成システムは、当該整合性を満たさない操作を検出し、最終的に整合性のとれた自動実行スクリプトを生成し得る。
【0055】
図2の情報処理装置200の各機能部は、図3で説明するハードウェアによって実行されるプログラムまたはデータとして実現されてもよい。図3は、情報処理装置200のハードウェア構成の一例を示す図である。
【0056】
情報処理装置200は、CPU301と、1次記憶装置302と、2次記憶装置303と、外部機器インターフェイス304と、入力インターフェイス305と、出力インターフェイス306と、通信インターフェイス307とを備える。
【0057】
CPU301は、1次記憶装置302に読み込まれた各種プログラムおよびデータを実行または参照する。ある局面において、CPU301は、組み込みCPUであってもよいし、FPGAであってもよいし、またはこれらの組み合わせなどによって構成される。CPU301は、図2の各種機能部を実現するためのプログラムを実行し得る。
【0058】
1次記憶装置302は、CPU301によって実行されるプログラムと、CPU301によって参照されるデータとを格納する。ある局面において、DRAMまたはSRAMが、1次記憶装置302として使用されてもよい。
【0059】
2次記憶装置303は、不揮発性メモリーであり、情報処理装置200の電源が切れた状態でもデータを保存しておくことができる。2次記憶装置303は、CPU301が実行または参照する任意のプログラムおよびデータを保存し得る。ある局面において、HDDまたはSSDが、2次記憶装置303として使用されてもよい。CPU301は、必要に応じて各種プログラムを2次記憶装置303から1次記憶装置302に読み込み、当該読み込まれたプログラムを実行することができる。
【0060】
外部機器インターフェイス304は、プリンター、スキャナーおよび外付けHDDなどの任意の外部機器に接続され得る。情報処理装置200は、外部機器インターフェイス304を介して、カメラ250と通信してもよい。ある局面において、USB(Universal Serial Bus)端子などが外部機器インターフェイス304として使用されてもよい。一例として、情報処理装置200は、外部機器インターフェイス304を介して、スピーカー308と接続されてもよい。その場合、情報処理装置200は、整合性のとれない操作を検出したことに基づいて、スピーカー308に操作間違いを通知させ得る。ある局面において、情報処理装置200は、スピーカーを内蔵していてもよい。
【0061】
入力インターフェイス305は、キーボード、マウスまたはゲームパッドなどの任意の入力装置に接続され得る。ある局面において、USB端子、PS/2端子およびBluetooth(登録商標)モジュールなどが入力インターフェイス305として使用されてもよい。
【0062】
出力インターフェイス306は、ブラウン管ディスプレイ、液晶ディスプレイまたは有機ELディスプレイなどの任意の出力装置に接続され得る。ある局面において、USB端子、D-sub端子、DVI端子およびHDMI(登録商標)端子などが出力インターフェイス306として使用されてもよい。
【0063】
通信インターフェイス307は、有線または無線のネットワーク機器と接続される。情報処理装置200は、通信インターフェイス307を介して、カメラ250と通信してもよい。ある局面において、有線LAN(Local Area Network)ポートおよびWi-Fiモジュールなどが通信インターフェイス307として使用されてもよい。他の局面において、通信インターフェイス307は、TCP/IP、UDPなどの通信プロトコルを用いてデータを送受信してもよい。
【0064】
[評価操作の修正処理について]
図4は、修正操作に基づく評価操作の修正処理の概要の一例を示す図である。図4を参照して、本実施の形態に従うテストスクリプト自動生成システムの、評価操作および修正操作の役割について説明する。
【0065】
画面401において、第1に、ユーザーが右手(評価操作)で、操作(A)および操作(B)を行なう。情報処理装置200は、カメラ250から取得した操作記録に基づき、評価操作テンポラリーデータに、操作(A),Bを含める。第2に、ユーザーが、操作(B)が間違った操作であることに気づき、左手(修正操作)で操作(B)を取り消す作業を行なう。情報処理装置200は、カメラ250から取得した操作記録に基づき、修正操作テンポラリーデータに、操作(B)の修正操作を含める。第3に、情報処理装置200は、修正操作テンポラリーデータに基づいて、評価操作テンポラリーデータから操作(B)を削除し、当該修正後の評価操作テンポラリーデータから自動実行スクリプトを生成する。上記のように、評価操作は、自動実行スクリプトに含めるべき操作を記録するために使用される。修正操作は、間違った評価操作を正しい評価操作に上書きするために使用され得る。ただし、修正操作自体は、何度実行されても操作記録には記録されない。
【0066】
次に、図5および図6を参照して、評価操作の修正処理によって修正可能な操作間違いの典型的な例について説明する。評価操作の修正処理で修正可能な操作は、典型的には直前の操作間違いである。
【0067】
図5は、ユーザーの操作手順の第1の例を示す図である。図5の例では、ユーザーは、全9ステップの操作を行なう中で、1度操作を誤り、その直後に修正操作を行なう。
【0068】
ホームメニュー画面501において、ユーザーは、右手で、評価操作(1)「コピー選択」を行なう。評価操作(1)により、画面はコピー設定画面502に遷移する。コピー設定画面502において、ユーザーは、右手で、評価操作(2)「部数を3に設定」と、評価操作(3)「カラー設定をカラーに設定」とを行なう。
【0069】
ユーザーは、評価操作(3)の直後に、本来は、カラー設定をモノクロに設定する予定であったことに気づく。そこで、ユーザーは、左手で、修正操作(A)「カラー設定をキャンセル」を行なう。次に、右手で、評価操作(3’)「カラー設定をモノクロに設定」を行なう。
【0070】
続けて、コピー設定画面502において、ユーザーは、右手で、評価操作(4)「印刷種類を両面に設定」と、評価操作(5)「余白設定ボタンの選択」とを行なう。評価操作(5)により、画面は余白設定画面503に遷移する。
【0071】
余白設定画面503において、ユーザーは、右手で、評価操作(6)「余白のたてを5mmに設定」と、評価操作(7)「余白のよこを5mmに設定」と、評価操作(8)「OK選択」とを行なう。評価操作(8)により、画面はコピー設定画面502に遷移する。コピー設定画面502において、ユーザーは、右手で、評価操作(9)「印刷実行」を行なう。
【0072】
図6は、情報処理装置200における図5の操作を検出したときの内部動作の一例を示す図である。操作記録601は、評価操作(1)~(9)および(3’)と、修正操作(A)とを含む。以下に、図5の操作に基づく情報処理装置200の内部処理について説明する。
【0073】
第1のステップにおいて、情報処理装置200は、カメラ250から取得した操作記録601に基づいて、評価操作テンポラリーデータ602および修正操作テンポラリーデータ603を生成する。評価操作テンポラリーデータ602は、「カラー設定」に対する操作(3)および操作(3’)をレコードとして含む。修正操作テンポラリーデータ603は、「カラー設定」を修正する操作(A)をレコードとして含む。
【0074】
第2のステップにおいて、情報処理装置200は、修正操作テンポラリーデータ603に基づいて、評価操作テンポラリーデータ602を修正する。より具体的には、まず、情報処理装置200は、「カラー設定」に対する修正操作(A)に基づいて、評価操作テンポラリーデータ602内の修正操作(A)の直前に行なわれた「カラー設定」に対する評価操作(3)を削除する。次に、情報処理装置200は、修正操作(A)の後に行なわれた「カラー設定」に対する評価操作(3’)に基づいて、評価操作テンポラリーデータ602内の評価操作(3)のあった位置に評価操作(3’)を挿入する。当該処理により、情報処理装置200は、最終的に、評価操作テンポラリーデータ602の評価操作(3)を評価操作(3’)に置き換える。
【0075】
第3のステップにおいて、情報処理装置200は、修正後の評価操作テンポラリーデータ602を、自動実行スクリプトに変換する。情報処理装置200は、生成した自動実行スクリプトを2次記憶装置303に保存し得る。ユーザーは、例えば、ネットワークを介して、自動実行スクリプトを画像形成装置100に入力することで、画像形成装置100に図5の操作に基づく動作を再現させることができる。
【0076】
上記のように、情報処理装置200は、ある操作部品(P)に対する評価操作(X)をした後に、操作部品(P)に対する修正操作(Y)を検出したことに基づいて、評価操作(X)を削除する。または、操作部品(P)が設定選択用の操作部品である場合、情報処理装置200は、操作部品(P)に対する修正操作(Y)を検出したことに基づいて、操作部品(P)の設定をデフォルトに戻す。
【0077】
さらに、情報処理装置200は、操作部品(P)に対する修正操作(Y)を検出した後に、再度操作部品(P)に対する評価操作(Z)を検出したことに基づいて、評価操作テンポラリーデータ内の評価操作(X)のあった位置に、評価操作(Z)を挿入する。すなわち、情報処理装置200は、評価操作テンポラリーデータ内の評価操作(X)を評価操作(Z)で上書きする。
【0078】
これらの処理により、ユーザーは、操作を途中で間違えた場合も、操作を1からやり直す必要はなく、修正操作および上書き操作を行なうだけで、目的の自動実行スクリプトを入手することができる。
【0079】
従来のテストスクリプト自動生成システムは、このような操作態様に基づいて評価操作を修正する機能を有していなかった。そのため、ユーザーは、評価操作を途中で修正することができず、ユーザーは、評価操作の入力を1度でも間違えると、最初からやり直す必要があった。
【0080】
例えば、ユーザーが従来のテストスクリプト自動生成システムを使用して全30ステップの操作を含む自動実行スクリプトを作成する場合、ユーザーが29ステップ目で操作を失敗したとき、ユーザーは、全30ステップをやり直す必要があった。
【0081】
これに対して、ユーザーが本実施の形態に従うテストスクリプト自動生成システムを使用して全30ステップの操作を含む自動実行スクリプトを作成する場合、ユーザーが29ステップ目で操作を失敗したとしても、修正操作を1度実行するだけでよく、ユーザーの自動実行スクリプトの作成負担は大幅に削減され得る。
【0082】
[操作の整合性のチェック機能について]
次に、図7図10を参照しての操作の整合性のチェック機能の例について説明する。情報処理装置200は、ユーザーが現在行なっている操作を中断して、実行し忘れていた事前設定などの操作を実行したときに、中断された操作と、後から実行される操作とに基づいて、整合性がとれているか否かを判定する。これ以降、説明のために、ユーザーが現在行なっている操作を中断して、実行し忘れていた事前設定などの操作を実行する場合における、中断された一連の操作を「中断操作」と呼ぶ。ユーザーが操作を中断した後に実行する事前設定などの一連の操作を「挿入操作」と呼ぶ。
【0083】
図7は、整合性を満たす操作の一例を示す図である。図7の例では、ユーザーは、「スキャン画像を登録先のEメールアドレスに送信する設定」の評価操作を行なう途中で、事前に「Eメールアドレスの登録」を行なうべきであったことに気づく。
【0084】
ホームメニュー画面701において、ユーザーは、右手で、評価操作(1)「スキャン選択」を行なう。評価操作(1)により、画面はスキャン設定画面702に遷移する。スキャン設定画面702において、ユーザーは、右手で、評価操作(2)「解像度設定を標準に設定」と、評価操作(3)「カラー設定をカラーに設定」とを行なう。
【0085】
ユーザーは、評価操作(3)の次に、評価操作「スキャンデータの送信先の選択」を行なうはずであったが、事前にスキャンデータの送信先を画像形成装置100に登録し忘れていたことに気づく。そこで、ユーザーは、以下の手順でスキャンデータの送信先の登録操作を実行する。
【0086】
まず、ユーザーは、左手で、修正操作(4)「キャンセルボタンの選択」を行ない、画面をホームメニュー画面701に遷移させる。次に、ホームメニュー画面701において、ユーザーは、左手で、修正操作(5)「設定選択」を行なう。続けて、初期設定画面703において、ユーザーは、左手で、修正操作(6)「Eメールアドレスの登録」を行い、Eメールアドレスを画像形成装置100に登録し、修正操作(7)「OKボタンの選択」を行なうことで、画面をホームメニュー画面701に遷移させる。次に、ホームメニュー画面701において、ユーザーは、左手で、修正操作(8)「スキャン選択」を行なう。
【0087】
最後に、スキャン設定画面702において、ユーザーは、右手で、評価操作(9)「スキャンデータの送信先の選択」と、評価操作(10)「OKボタンの選択」とを行なう。上記の例において、操作(1)~(3)、(9)および(10)は、「中断操作」である。また、これらの操作は、いずれも右手で実行されているため評価操作である。他方、操作(4)~(8)は、「挿入操作」である。また、これらの操作は、いずれも左手で実行されているため修正操作である。
【0088】
図8は、情報処理装置200における図7の操作を検出した場合の内部処理の一例について説明するための図である。情報処理装置200は、右手で実行された評価操作(1)~(3)、(9)、(10)を評価操作テンポラリーデータ801に格納する。また、情報処理装置200は、左手で実行された修正操作(4)~(8)を修正操作テンポラリーデータ802に格納する。情報処理装置200は、評価操作テンポラリーデータ801に含まれる各表操作に基づいて、次の手順により自動実行スクリプトを生成する。
【0089】
第1のステップにおいて、情報処理装置200は、評価操作テンポラリーデータ801に含まれる各評価操作(1)~(3)、(9)および(10)が整合性を満たすか否かを判定する。ここでの「整合性を満たす」とは、評価操作テンポラリーデータ801に含まれる一連の操作が現実に実行可能な手順で実行されていることをいう。
【0090】
一例として、整合性を満たす一連の操作は、同一画面で実行された一連の操作を含む。図8に示す例では、評価操作(1)~(3)、(9)および(10)は、いずれもスキャン設定画面702にて実行されている。よって、当該一連の動作は、ユーザーが現実に実行可能な一連の操作であり、整合性を満たす。
【0091】
他の例として、整合性を満たす一連の操作とは、適切な画面遷移の操作を有する一連の操作を含む。評価操作(A)がスキャン設定画面702において実行されており、評価操作(B)がホームメニュー画面701への遷移操作であり、評価操作(C)がホームメニュー画面701において実行されていたとする。評価操作(A)および(C)は異なる画面で実行されているが、その間に適切な画面遷移の操作(B)がある。よって、当該一連の動作は、ユーザーが現実に実行可能な一連の操作であり、整合性を満たす。ある局面において、情報処理装置200は、当該ステップにおいて、操作の不整合を検出した場合、即座にテスト操作を行なっているユーザーに操作の不整合の発生を通知してもよい。
【0092】
第2のステップにおいて、情報処理装置200は、修正操作テンポラリーデータ802に含まれる各修正操作に基づいて、評価操作テンポラリーデータ801に含まれる各評価操作を上書き更新する。図8に示す例において、評価操作テンポラリーデータ801に含まれる各評価操作は、いずれも修正操作テンポラリーデータ802に含まれる各修正操作により上書きされる対象ではないため、評価操作テンポラリーデータ801に含まれる各評価操作の内容は変化しない。
【0093】
例えば、評価操作(1)および修正操作(8)は、同じスキャンボタンに対する操作であるが、操作内容が同一である。そのため、情報処理装置200は、評価操作(1)を修正操作(8)により上書きする必要はない。また、評価操作(2)~(10)に対応する修正操作は存在しないため、情報処理装置200は、評価操作(2)~(10)を上書き更新する必要はない。
【0094】
第3のステップにおいて、情報処理装置200は、操作の整合性のチェックおよび上書き更新後の評価操作テンポラリーデータ801から自動実行スクリプトを生成する。上述のように、ユーザーは、入力し忘れていた操作などの記録されない操作を実行したい場合、全ての挿入操作を修正操作として実行することで、評価操作テンポラリーデータ801に含まれる評価操作の整合性を満たすことができる。
【0095】
図9は、整合性を満たさない操作の一例を示す図である。図9の例では、ユーザーは、「スキャン画像を登録先のEメールアドレスに送信する設定」の評価操作を行なう途中で、事前に「Eメールアドレスの登録」を行なうべきであったことに気づく。ユーザーは、図7と同様の手順で操作を行なうが、操作(6)および(8)の操作態様を間違えてしまう(右手と左手とを間違える)。
【0096】
挿入操作である操作(4)~(8)は、自動実行スクリプトに含めるべき操作ではない。そのため、ユーザーは、操作(4)~(8)を修正操作として実行すべきである。しかし、図9に示す例では、ユーザーは、間違って、右手を使用してしまい、修正操作(6)~(8)の代わりに評価操作(6)~(8)を実行している。
【0097】
図10は、情報処理装置200における図9の操作を検出した場合の内部処理の一例について説明するための図である。情報処理装置200は、右手で実行された評価操作(1)~(3)および(6)~(10)を評価操作テンポラリーデータ1001に格納する。また、情報処理装置200は、左手で実行された修正操作(4)および(5)を修正操作テンポラリーデータ1002に格納する。情報処理装置200は、評価操作テンポラリーデータ1001に含まれる各表操作に基づいて、次の手順により自動実行スクリプトを生成する。
【0098】
第1のステップにおいて、情報処理装置200は、評価操作テンポラリーデータ1001に含まれる各評価操作(1)~(3)および(6)~(10)が整合性を満たすか否かを判定する。ここで、評価操作(3)は、スキャン設定画面702おいて実行されているが、その直後に、評価操作(6)が初期設定画面703において実行されている。すなわち、画面遷移の操作が実行されていないにも係わらず、画面が遷移したことになる。よって、情報処理装置200は、評価操作テンポラリーデータ1001に含まれる一連の操作は、整合性を満たさないと判定する。ある局面において、情報処理装置200は、スピーカー308に、整合性を満たさない評価操作を検出したことを通知させてもよい。第2のステップおよび第3のステップについては、図7と同様である。第2のステップ以降の処理は、整合性を満たさない評価操作が修正された時点で実行され得る。
【0099】
上述のように、ユーザーが間違った挿入操作をした場合でも、情報処理装置200は、当該整合性を満たさない評価操作を検出し得る。当該処理により、情報処理装置200は、不適切な自動実行スクリプトを生成することを抑制できる。
【0100】
[操作の不整合を検出したときの処理について]
次に、図11図15を参照して、情報処理装置200が整合性を満たさない評価操作(操作の不整合)を検出した場合における処理について説明する。これ以降、ユーザーが図9に示す操作間違いをした場合を例に、情報処理装置200が操作の不整合を検出したときの各処理について説明する。ある局面において、情報処理装置200は、図11図15の各処理を個別に実行してもよいし、組み合わせて実行してもよい。
【0101】
図11は、操作の不整合が検出された場合に情報処理装置200が実行する処理の第1の例を示す図である。最初に、ユーザーは、評価操作(1)~(3)を実行する。情報処理装置200は、評価操作(1)~(3)を評価操作テンポラリーデータ1101に追加する。次に、ユーザーは、忘れていた「Eメールアドレスの登録」を行なうために、修正操作(4)~(6)を実行しようとする。しかし、初期設定画面703において、ユーザーは、間違えて、右手で、評価操作(6)「Eメールアドレスの登録」を実行してしまう。情報処理装置200は、評価操作(6)を評価操作テンポラリーデータ1101に追加する。
【0102】
情報処理装置200は、評価操作テンポラリーデータ801に新しい評価操作が追加されるごとに、追加された評価操作と、その直前の評価操作との整合性をチェックする。ユーザーが評価操作(6)を実行したとき、情報処理装置200は、評価操作(6)と、その直前の評価操作(3)との整合性をチェックする。
【0103】
より具体的には、第1のステップにおいて、情報処理装置200は、評価操作(3)および(6)が同じ画面で実行されているか否かを判定する。第2のステップにおいて、情報処理装置200は、評価操作(3)および(6)が異なる画面で実行されている場合、評価操作(3)は、評価操作(6)が実行された画面への画面遷移の操作であるか否かを判定する。
【0104】
情報処理装置200は、これらの第1および第2のステップにおいていずれの条件も満たされない場合、操作の不整合が発生したと判定する。情報処理装置200は、操作の不整合が発生したと判定したとき、スピーカー308に、操作の不整合が発生したことを通知させる。ユーザーは、当該通知により、自身の操作が間違っていたことに気づき得る。ある局面において、情報処理装置200は、操作の不整合が発生したと判定したとき、操作記録を1ステップ前の状態に戻してもよい。図11に示す例では、情報処理装置200は、操作記録を評価操作(6)が実行される直前に戻す。当該処理により、ユーザーは、即座に間違った操作を修正することができる。
【0105】
図12は、図11における情報処理装置200の詳細な内部処理の一例を示す図である。評価操作テンポラリーデータ1201は、評価操作テンポラリーデータ1101に含まれる評価操作の記録をより詳細に示す。各評価操作は、「操作が実行された画面」、「操作された部品」および「操作の種類」をプロパティとして含み得る。一例として、評価操作(1)のプロパティは、「操作が実行された画面=Home(ホームメニュー画面)」、「操作された部品=Scan-Button(スキャンボタン)」および「操作の種類=Click」である。画面遷移(A)は、評価操作(1)によって実行される画面遷移である。「Move:Scan」はスキャン設定画面への画面遷移を意味する。
【0106】
情報処理装置200は、図11の第1のステップにおいて、評価操作(6)と、その直前の評価操作(3)との整合性をチェックするとき、各操作のプロパティ「操作が実行された画面」が一致するか否かに基づいて、評価操作(3)および(6)が同じ画面で実行されているか否かを判定する。
【0107】
また、情報処理装置200は、図11の第2のステップにおいて、評価操作(3)および(6)が異なる画面で実行されている場合、評価操作(3)および(6)の間に適切な画面遷移「Move:Home」および「Move:Settings」があるか否かを判定することで、評価操作(3)は、評価操作(6)が実行された画面への画面遷移の操作であるか否かを判定する。
【0108】
ある局面において、情報処理装置200は2次記憶装置に、各画面同士の遷移関係のリストを格納していてもよい。その場合、情報処理装置200は、当該遷移関係のリストを参照することで、評価操作テンポラリーデータに含まれる評価操作間(例えば、評価操作(3)および(6)の間)に在るべき画面遷移を取得し得る。
【0109】
図13は、操作の不整合が検出された場合に情報処理装置200が実行する処理の第2の例を示す図である。図13に示す例では、情報処理装置200は、図11と同様の手順にて、操作の不整合を検出する。
【0110】
情報処理装置200は、操作の不整合が発生したと判定したとき、スピーカー308に、操作の不整合が発生したことを通知させると共に、情報処理装置200に接続されたディスプレイにスクリプトに追加する操作のリスト1303を表示する。ある局面において、リスト1303は、修正操作テンポラリーデータに基づいて作成されてもよい。他の局面において、リスト1303は、評価操作テンポラリーデータおよび修正操作テンポラリーデータに基づいて作成されてもよい。その場合、情報処理装置200は、チェックボックスを表示するなどして、どの操作が評価操作であるかを識別できるようにし得る。
【0111】
ユーザーは、リスト1303に表示された各操作の中から評価操作テンポラリーデータ1301に含めたい操作のみを選択することができる。当該処理により、ユーザーは、即座に間違った操作を修正することができ、かつ、自身で自動実行スクリプトに含めるべき操作を適宜選択することができる。
【0112】
図14は、操作の不整合が検出された場合に情報処理装置200が実行する処理の第3の例を示す図である。図14に示す例では、情報処理装置200は、図11と同様の手順にて、操作の不整合を検出する。
【0113】
情報処理装置200は、操作の不整合が発生したと判定したとき、スピーカー308に、操作の不整合が発生したことを通知させる。さらに、情報処理装置200は、評価操作テンポラリーデータ1401から操作の不整合の原因である評価操作(6)を削除し、修正操作テンポラリーデータ1402に修正操作(6)を追加する。当該処理により、情報処理装置200は、操作の不整合が発生した場合でも、自動的に評価操作テンポラリーデータ1401を修正し、適切な自動実行スクリプトを生成し得る。
【0114】
図15は、操作の不整合が検出された場合に情報処理装置200が実行する処理の第4の例を示す図である。図15に示す例では、情報処理装置200は、図11と同様の手順にて、操作の不整合を検出する。
【0115】
情報処理装置200は、操作の不整合が発生したと判定したとき、スピーカー308に、操作の不整合が発生したことを通知させ、かつ、情報処理装置200に接続されたディスプレイに修正処理を選択するためのボタン1504~1506を含む画面1503を表示させる。当該処理により、ユーザーは、情報処理装置200が操作の不整合を検出した場合の処理(例えば、図11図14に示す処理)を適切に選択し得る。
【0116】
図16は、情報処理装置200の自動実行スクリプトの生成までの手順の一例を示す図である。ある局面において、CPU301は、図16の処理を行うためのプログラムを2次記憶装置303から1次記憶装置302に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
【0117】
ステップS1610において、CPU301は、操作態様の設定がされたか否かを判定する。CPU301は、入力インターフェイス305などを介して、ユーザーからの操作態様の設定を受け付け得る。操作態様の設定は、評価操作の操作態様および修正操作の操作態様を含み得る。CPU301は、操作態様の設定がされたと判定した場合(ステップS1610にてYES)、制御をステップS1620に移す。そうでない場合(ステップS1610にてNO)、CPU301は、再度ステップS1610の処理を実行する。
【0118】
ステップS1620において、CPU301は、カメラ250を制御し、ユーザーの画像形成装置100の操作の記録を開始する。ステップS1630において、CPU301は、カメラ250から、操作記録を取得する。当該操作記録は、映像または画像であってもよい。CPU301は、操作記録に基づいて、評価操作テンポラリーデータまたは修正操作テンポラリーデータを更新する。ある局面において、操作記録は、評価操作または修正操作の少なくともいずれかを含み得る。
【0119】
ステップS1640において、CPU301は、操作情報記録処理を実行する。操作情報記録処理は、図4図15に示す評価操作および修正操作の取得、操作の不整合の検出およびその修正処理である。操作情報記録処理の詳細については、図17を参照して説明する。
【0120】
ステップS1650において、CPU301は、ユーザーの画像形成装置100の操作の記録を終了するか否かを判定する。一例として、CPU301は、入力インターフェイス305などを介して、ユーザーの画像形成装置100の操作の記録を終了する命令を受け付けてもよい。CPU301は、ユーザーの画像形成装置100の操作の記録を終了すると判定した場合(ステップS1650にてYES)、制御をステップS1660に移す。そうでない場合(ステップS1650にてNO)、CPU301は、制御をステップS1630に移す。ステップS1660において、CPU301は、評価操作テンポラリーデータに基づいて、自動実行スクリプトを生成する。
【0121】
図17は、操作情報記録処理の手順の一例を示す図である。ある局面において、CPU301は、図17の処理を行うためのプログラムを2次記憶装置303から1次記憶装置302に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。以降の説明では、一例として、情報処理装置200は、図15に示す処理を実行するものとして説明する。
【0122】
ステップS1705において、CPU301は、検出した操作が評価操作であるか否かを判定する。CPU301は、検出した操作が評価操作であると判定した場合(ステップS1705にてYES)、制御をステップS1710に移す。そうでない場合(ステップS1705にてNO)、CPU301は、制御をステップS1770に移す。
【0123】
ステップS1710において、CPU301は、操作の不整合の判定処理を行なう。本ステップの処理は、図8図10に示す判定方法に対応する。ステップS1715において、CPU301は、評価操作に不整合があるか否かを判定する。CPU301は、評価操作に不整合があると判定した場合(ステップS1715にてYES)、制御をステップS1720に移す。そうでない場合(ステップS1715にてNO)、CPU301は、制御をステップS1765に移す。
【0124】
ステップS1720において、CPU301は、通知処理を行なう。本ステップの処理は、図15に示すスピーカーによる通知と、ディスプレイによる修正処理の選択肢の表示とを含み得る。
【0125】
ステップS1725において、CPU301は、修正処理を選択する入力を受け付ける。本ステップの処理は、例えば、図15の画面1503において、ボタン1504~1506のいずれかに対する入力を受け付けることに対応する。
【0126】
ステップS1730において、CPU301は、ステップS1725にて修正処理の選択肢として操作の補完が選択されたか否かを判定する。操作の補完とは、図13に示す処理である。例えば、ボタン1504が押されることによって、操作の補完が選択され得る。CPU301は、修正処理の選択肢として操作の補完が選択されたと判定した場合(ステップS1730にてYES)、制御をステップS1735に移す。そうでない場合(ステップS1730にてNO)、CPU301は、制御をステップS1750に移す。
【0127】
ステップS1735において、CPU301は、操作の補完のためのリストを作成し、情報処理装置200に接続されたディスプレイに当該リストを表示する。当該リストは、一例として、リスト1303である。
【0128】
ステップS1740において、CPU301は、情報処理装置200に接続されたキーボードまたはディスプレイのタッチパネルなどから、操作の補完のためのリストに対する入力を受け付ける。
【0129】
ステップS1745において、CPU301は、ステップS1740にて受け付けた入力に基づいて、評価操作ストア208を更新する。一例として、CPU301は、評価操作ストア208内の評価操作テンポラリーデータをリスト1303にて選択された操作のみを含むように更新する。
【0130】
ステップS1750において、CPU301は、修正処理の選択肢として不整合操作の削除が選択されたか否かを判定する。不整合操作の削除とは、図14に示す処理である。例えば、ボタン1505が押されることによって、不整合操作の削除が選択され得る。CPU301は、ステップS1725にて修正処理の選択肢として不整合操作の削除が選択されたと判定した場合(ステップS1750にてYES)、制御をステップS1755に移す。そうでない場合(ステップS1750にてNO)、CPU301は、制御をステップS1760に移す。
【0131】
ステップS1755において、CPU301は、評価操作テンポラリーデータから削除する操作を修正操作テンポラリーデータに保存する。ステップS1760において、CPU301は、整合性を満たさない操作を削除する。本ステップは、例えば、ボタン1506が押された場合に実行される処理であり、図11および図12の処理に対応する。
【0132】
ステップS1765において、CPU301は、整合性を満たす評価操作を評価操作ストア208に保存する。ステップS1770において、CPU301は、修正操作を修正操作ストア207に保存する。
【0133】
以上説明したように、ユーザーは、修正操作を用いることで、テスト対象機器に入力し忘れていた設定などの記録されない操作を実行し得る。そのとき、情報処理装置200は、検出した操作の整合性をチェックし、操作の不整合が発生したことに基づいて、当該操作の不整合の発生を通知する。当該処理により、ユーザーは、操作間違いをしてもすぐに気づくことができる。
【0134】
さらに、情報処理装置200は、操作の不整合を検出した際に、操作の補完、不整合操作の削除または直前に戻る機能を提供し得る。これらの機能により、ユーザーは、操作を間違えた場合でも、一から操作をやり直すことなく操作間違いを修正することができる。
【0135】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合わせても、実施することが意図される。
【符号の説明】
【0136】
100 画像形成装置、101 制御部、102 原稿読取部、103 印刷出力部、104 FAX部、105 記憶装置、106 無線インターフェイス、107 有線インターフェイス、108 ユーザー認証部、109 操作パネル、110,301 CPU、111 RAM、112 ROM、113 表示部、114 操作部、200 情報処理装置、201 画面解析部、202 操作解析部、203 操作判定部、204 修正処理部、205 スクリプト生成部、206 コンテンツDB、207 修正操作ストア、208 評価操作ストア、209 スクリプトDB、210,601 操作記録、250 カメラ、302 1次記憶装置、303 2次記憶装置、304 外部機器インターフェイス、305 入力インターフェイス、306 出力インターフェイス、307 通信インターフェイス、308 スピーカー、401,1503 画面、501,701 ホームメニュー画面、502 コピー設定画面、503 余白設定画面、602,801,1001,1101,1201,1301,1401 評価操作テンポラリーデータ、603,802,1002,1402 修正操作テンポラリーデータ、702 スキャン設定画面、703 初期設定画面、1303 リスト、1504,1505,1506 ボタン。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17