(57)【要約】【課題】  計算機の応答時間に変動を考慮した、操作手順の記録を可能にした上で、作業者が意識して入力作業中に設けた待ち時間を再現出来る再生方法を作成する。【解決手段】  計算機上で、計算機への入力データ当該入力データの入力が開始してから当該入力データに対応して出力される出力データの出力が開始されるまでとして計算機内の記憶装置に格納し、格納された入力データから入力されたデータと待ち時間に分離し、入力データのみを対応する出力データに対応させて蓄積する。【選択図】  図３
2006119683.tif 000002
【特許請求の範囲】
【請求項１】
計算機の出力に応じて入力処理を繰り返す操作手順の記録再生プログラム作成プログラムにおいて、
計算機への入力データ当該入力データの入力が開始してから当該入力データに対応して出力される出力データの出力が開始されるまでとして計算機内の記憶装置に格納するステップと、
格納された入力データから入力されたデータと待ち時間に分離するステップと、
入力データのみを対応する出力データに対応させて蓄積するステップを有することを特徴とする操作手順の記録再生プログラム作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータやサーバなどの計算機、特に、対話式コマンドラインプログラムにおいての操作手順の記録再現方法に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータやサーバなどの計算機を操作する場合、同計算機上で動作する端末エミュレータプログラム、または同計算機に接続する端末装置上で動作する端末エミュレータプログラムを使用することがある。この端末エミュレータプログラムとはコンピュータを操作するための端末機の機能をそのまま実現する通信ソフトウェアで、パーソナルコンピュータの多くのオペレーティングシステムに標準で装備されている。
【０００３】
このような端末エミュレータプログラムにおいては、マクロ機能が備えられている場合がある。このマクロ機能とは、特定の操作手順をプログラム（マクロプログラム）として記述して自動で再生出来るように保存する機能であり、マクロ機能を使用し操作手順を記録しておけば、必要なときに誰でも簡単に記録した操作手順を実行できるようになる。
【０００４】
マクロ機能を使用し特定の操作手順を記録するためには、作業者が端末エミュレータプログラムに対し、操作手順のマクロプログラムの記録開始を指示し、実際に人手による操作を実施したあと、マクロプログラムの記録終了を指示する方法が一般的である。
【０００５】
従来のマクロ機能においては、操作手順と一緒に、操作を実行した時間が記録されており、記録された時間に基づいて再生する。例えば、「前手順終了後、３秒後に『ａ』という文字を入力する」、「前手順終了後、６秒後に『ｂ』という文字を入力する」という手順が順次記録されている。
【０００６】
しかし、このような記録方法は、計算機の他プログラムの負荷などによって計算機の応答時間に変動があった場合には、マクロプログラムが計算機の動作と同期しなくなり、期待する操作手順が実行できない事態が起こり得る。例えば、あるオペレーティングシステムを搭載する計算機を起動した場合、ログイン操作では「ＬＯＧＩＮ：」とユーザネームを促す出力があり、作業者はそれを確認した後、ユーザネームを入力しなければならない。ところが、オペレーティングシステムがログイン操作までにかかる起動時間は毎回変動するので、マクロプログラムが時間でユーザネームを入力することを記録していても、ログイン操作のユーザネームを入力する状態までに到達していない事態が起こり得る。
【０００７】
このような課題を解決するために、特開平６−８３５１３号公報では、記録した操作手順の速度を作業者が変更することの出来る入力記録再生装置を提供することで解決している。また、特開平１１−８５６９２号公報では画面の書き換えを生じさせるデータが計算機から送られてくるまで、操作手順の再生を停止することで解決している。
【０００８】
【特許文献１】特開平６−８３５１３号公報
【特許文献２】特開平１１−８５６９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしならが、特開平６−８３５１３号公報では適切な速度を操作手順再生実行時毎に判断し、人手に変更しなければならないので、自動で操作手順を記録再生するという目的が完全には達成できない。また、特開平１１−８５６９２号公報では画面の書き換えが生じない場合に、特定の時間作業を停止したいといった操作手順が記録できないという問題点がある。
【課題を解決するための手段】
【００１０】
計算機上で、計算機への入力データ当該入力データの入力が開始してから当該入力データに対応して出力される出力データの出力が開始されるまでとして計算機内の記憶装置に格納し、格納された入力データから入力されたデータと待ち時間に分離し、入力データのみを対応する出力データに対応させて蓄積する。
【発明の効果】
【００１１】
計算機の応答時間に変動を考慮した、操作手順の記録を可能にした上で、作業者が意識して入力作業中に設けた待ち時間を再現出来る再生方法を作成出来る。
【発明を実施するための最良の形態】
【００１２】
以下に本発明の実施の形態を説明する。
【実施例１】
【００１３】
以下、本発明の実施例を図において説明する。
【００１４】
上記、従来の技術において説明したとおり、端末エミュレータプログラムは被テストプログラムが存在する計算機と同じ計算機上で動作する場合と、同計算機に接続された計算機上で動作する場合が考えられるが、図は前者である同計算機上で動作する端末エミュレータプログラムを想定して記述する。
【００１５】
図１は本発明実施形態における概念図である。作業者１０は計算機２０を操作する不特定の人間である。計算機２０はパーソナルコンピュータやサーバなどのコンピュータである。マウス２１０は計算機２０上のプログラムへの操作の入力を指示するポインティングデバイスシステムである。キーボード２１１は計算機２０上のプログラムへ文字入力を指示するデバイスシステムである。ディスプレイ２１２は計算機２０上のプログラムから出力を指示されたテキストやグラフィックを表示するデバイスシステムである。入出力制御部２２０はマウス２１０やキーボード２１１による入力の指示を計算機２０上のプログラムへ受け渡し、また、計算機２０上のプログラムによる出力の指示をディスプレイ２１２へ受け渡すものである。
【００１６】
端末エミュレータプログラム２３０は計算機２０上の通信プログラムである。被試験プログラム２４０は計算機２４０上のプログラムで、インターフェースとして端末エミュレータプログラム２３０が使用可能なものである。これらのプログラムは、記憶部270から計算機２０が有する主記憶メモリに格納され、実行される。入出力監視部２６０は入出力制御部２２０と端末エミュレータプログラム２３０間のデータの受け渡しを監視し、入力データ３０と出力データ４０を採取するものである。記録処理部２５０は入力データ３０と出力データ４０を入力データ３０’と出力データ４０’へ変換し、計算機２０上の記憶部２７０へ記録するものである。マクロ作成部２８０は記憶部２７０上に記録されている入力データ３０と出力データ４０を使用し、マクロプログラム２９０を作成し、計算機２０上の記憶部２７０へ記録するものである。入力データ３０と出力データ４０についての定義は後の図２の説明で定義する。
【００１７】
作業者１０は計算機２０において、マウス２１０やキーボード２１１などの計算機に接続された入力機器を使用し、被試験プログラム２４０を操作する。被試験プログラム２４０のインターフェースは端末エミュレータプログラム２３０によって与えられ、作業者１０の操作は入出力制御部２２０によって端末エミュレータプログラム２３０へ受け渡され被試験プログラム２４０で実施される。被試験プログラム２４０の応答は入出力制御部２２０によって端末エミュレータプログラム２３０へ受け渡され、これらの入出力は端末エミュレータプログラム２３０の命令により入出力制御部２２０が計算機に接続されたディスプレイ２１２へ表示する。
【００１８】
入出力監視部２６０は、入出力制御部２２０と端末エミュレータプログラム２３０とのデータのやり取りを監視することで、作業者の操作を監視するものであり、同入出力のデータを得ることが出来るものである。入出力監視部２６０によって得られた入出力のデータ（入力データ３０と出力データ４０）は記録処理部２５０で適切な形態へ変換され、計算機２０上の記憶部２７０へ入力データ３０’と出力データ４０’として保存される。
【００１９】
マクロ作成部２８０は記憶部２７０へ保存されたデータを入力データ３０’と出力データ４０’を使用し、端末エミュレータプログラム２３０において実行可能なマクロプログラム２９０を作成する。作成されたマクロプログラム２９０は作業者１０の操作により、端末エミュレータプログラム上で実行され、必要なときにも誰でも簡単に記録した操作手順を実行できるようになる。
【００２０】
図２は入出力監視部２６０が監視する入出力制御部２２０と端末エミュレータプログラム２３０間で受け渡しが行われる入出力データ５０の概念図である。入出力データ５０内の斜線部は入力データ３０を示し、それ以外は出力データ４０を示す。
【００２１】
入出力データ５０は、図１における入出力監視部２６０が監視する入出力制御部２２０と端末エミュレータプログラム２３０間で受け渡しが行われる入力データ３０と出力データ４０が交互に連続するデータである。
【００２２】
入力データ３０は作業者１０が入力を開始し、入出力制御部２２０が端末エミュレータプログラムへ入力データを受け渡しはじめてから、端末エミュレータプログラム２３０が入出力制御部２２０へ何らかの出力データを受け渡すまでの間の端末エミュレータプログラム２３０が入力されたデータとする。
【００２３】
出力データ４０は端末エミュレータプログラム２３０が入出力制御部２２０へ出力データを受け渡しはじめてから、作業者１０が入力を開始し、入出力制御部２２０が端末エミュレータプログラムへ何らかの入力データを受け渡すまでの間の端末エミュレータプログラム２３０が出力したデータとする。
【００２４】
入力データ３０、または、出力データ４０は入出力データ５０の先頭から、作業者１０が操作手順の記録開始を指示してから、操作手順の記録終了を指示するまで、入出力監視部２６０に採取される。データは、採取された時点で記録処理部２５０に入力データ３０と出力データ４０として、受け渡される。すなわち、作業者による同計算機への入出力データを記録する際において、入力データの区切りを、入力が開始してから次の出力が開始されるまでとして記録する。出力データの区切りを、出力が開始されてから次の入力が開始されるまでとして記録する。若しくは、計算機上で、被試験プログラムからの出力データを記録する際において、出力データすべてではなく、出力データ末尾で特有である文字列を記録し、出力終了後の時間を記録する。
【００２５】
図３は、図１の記録処理部２５０における、入力データの処理における概念図であり、図４はその処理におけるフローチャートである。
【００２６】
例えば、入力データ３０は、次のような構造で記録されている。入力データ３０は入力データと共に、記録を開始してから各入力が実施されるまでの時間も一緒に記録する。つまり入力が開始されてから、途中何も入力がない時間（例えば、入力待ち時間３１、３３、３９）も入力データの一部として記録する。
【００２７】
以上のような入力データ３０を先頭から、図４に示されるフローチャートに従って、入力データ３０’として保存する。以下にフローチャートについて説明する。
【００２８】
フローチャートの四角の図形は処理を表し、ひし形の図形は分岐を表す。
【００２９】
はじめに、入力データ３０の先頭から入力データまたは待ち時間を取り出す（６０２）。次に、取り出したデータが入力データの場合は入力データ３０’の入力データとして保存する（６０３，６０４）。取り出した入力データが待ち時間の場合は（６０３）、その待ち時間が規定時間以上であればそのまま（６０５，６０６）、規定時間以下であれば、時間を０に修正し、入力データ３０’の待ち時間として保存する（６０７，６０６）。ここで規定時間とは、作業者１０が意図して入力を待ったのかを判断する閾値として使用するものである。
【００３０】
例えば、作業者１０がキーボード２１１による入力で連続して文字を入力した場合、文字入力と文字入力の間には必ず待ち時間が発生するが、作業者１０は待ち時間を意識していない。このような待ち時間を削除することで、以後作成するマクロプログラム２９０の簡略化や効率化を図る。なお、この待ち時間は、作業者１０の操作の速度や被試験プログラム２４０に対して実施したい操作の内容にもよるので、規定時間は可変とする。
【００３１】
すべての入力データの処理終了後、入力データ３０’に保存した各待ち時間を確認し、待ち時間が０であるものについては削除して、前後の入力データを結合する（６０９）。なお、最後の待ち時間に関してこの処理は実施しない。
【００３２】
図５は図１の記録処理部２５０における、出力データの処理における概念図であり、図６はその処理におけるフローチャートである。
【００３３】
例えば、出力データ４０は、次のような構造で記録されている。出力データ４０は出力データと共に、記録を開始してから各出力が実施されるまでの時間も一緒に記録する。つまり出力が開始されてから、途中何も出力がない時間（例えば、出力待ち時間４１、４３、４９）も出力データの一部として記録する。
【００３４】
以上のような出力データ４０を先頭から、図６に示されるフローチャートに従って、出力データ４０’として保存する。以下にフローチャートについて説明する。
【００３５】
はじめに、出力データ４０に記録されている待ち時間について、最後の待ち時間を除き全て出力データ４０から削除し、出力データを一つに結合する（７０３）。次に、最後の待ち時間を除いた、出力データ４０の末尾からｉ文字（ｉは１以上の整数、初期値は１（７０２））取り出し、文字列として保存する（７０４）。次に、保存した文字列が出力データ４０の内の末尾以外にあるかどうかを、出力データ４０の先頭から検索し（７０５）、あった場合は、末尾から取り出す文字数を１字増やし、同作業を繰り返す（７０６）。ない場合、もしくは同作業を繰り返し、なくなった場合には、その文字列を整理済み出力データ４１’として保存し、最後の出力待ち時間を出力データ４２’として保存する（７０７）。
【００３６】
図７は図１の記録処理部２５０における、入力データ３０’と出力データ４０’を記録部２７０へ保存する処理における概念図である。
【００３７】
入力データ３０’と出力データ４０’は一対ずつ記録される。一対となるデータは出力データ４０’とそれに続く入力データ３０’で、先頭の入力データや末尾の出力データにおいて、対になる組み合わせが出来ない場合には、対になる対象を空にして単独で保存する。
【００３８】
記録された入力データ３０’と出力データ４０’を端末エミュレータプログラムのマクロ機能として実行できるプログラム形式へ変換する。プログラムは以下の処理をするものである。
【００３９】
再生開始においては一般に、作業者１０が端末エミュレータプログラム２３０に対して指示を与えることで開始される。記録処理部２５０の説明で図７に示した記録から、一対となった出力データ４０’が出力されるのを待ち、出力された後、対となる入力データ３０’を再生する。この出力を待つ作業と再生をする作業を、データのある限り繰り返す。
【００４０】
再生開始において、対になる組み合わせがなく、対になる対象を空にして単独で保存してある場合、出力を待たず再生を開始する。
【００４１】
再生終了において、対になる組み合わせがなく、対になる対象を空にして単独で保存してある場合、出力終了次第、再生を終了する。
【００４２】
以上の方法で記録したデータを使用し、マクロプログラムを作成することにより、計算機の応答時間の変動に左右されず、かつ、作業者が意識して入力作業中に設けた待ち時間の再現を可能にする。また、入力するデータだけではなく、入力データ間の時間を記録し、可変の規定時間を閾値として使用することによって、作成するマクロプログラムを簡略化・効率化する。
【図面の簡単な説明】
【００４３】
【図１】本発明実施形態における概念図である。
【図２】図１の記録処理部２５０における、入出力データの処理の概念図である。
【図３】図１の記録処理部２５０における、入力データの処理における概念図である。
【図４】図１の記録処理部２５０における、入力データの処理におけるフローチャートである。
【図５】図１の記録処理部２５０における、出力データの処理における概念図である。
【図６】図１の記録処理部２５０における、出力データの処理におけるフローチャートである。
【図７】図１の記録処理部２５０における、入力データ３０’と出力データ４０’を記録部２７０へ保存する処理における概念図である。
【符号の説明】
【００４４】
30・・・入力データ、40・・・出力データ、50・・・入出力データ
【図１】
2006119683.tif 000003
【図２】
2006119683.tif 000004
【図３】
2006119683.tif 000005
【図４】
2006119683.tif 000006
【図５】
2006119683.tif 000007
【図６】
2006119683.tif 000008
【図７】
2006119683.tif 000009