説明

操作手順の記録再生プログラム

【課題】 計算機の応答時間に変動を考慮した、操作手順の記録を可能にした上で、作業者が意識して入力作業中に設けた待ち時間を再現出来る再生方法を作成する。
【解決手段】 計算機上で、計算機への入力データ当該入力データの入力が開始してから当該入力データに対応して出力される出力データの出力が開始されるまでとして計算機内の記憶装置に格納し、格納された入力データから入力されたデータと待ち時間に分離し、入力データのみを対応する出力データに対応させて蓄積する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パーソナルコンピュータやサーバなどの計算機、特に、対話式コマンドラインプログラムにおいての操作手順の記録再現方法に関するものである。
【背景技術】
【0002】
パーソナルコンピュータやサーバなどの計算機を操作する場合、同計算機上で動作する端末エミュレータプログラム、または同計算機に接続する端末装置上で動作する端末エミュレータプログラムを使用することがある。この端末エミュレータプログラムとはコンピュータを操作するための端末機の機能をそのまま実現する通信ソフトウェアで、パーソナルコンピュータの多くのオペレーティングシステムに標準で装備されている。
【0003】
このような端末エミュレータプログラムにおいては、マクロ機能が備えられている場合がある。このマクロ機能とは、特定の操作手順をプログラム(マクロプログラム)として記述して自動で再生出来るように保存する機能であり、マクロ機能を使用し操作手順を記録しておけば、必要なときに誰でも簡単に記録した操作手順を実行できるようになる。
【0004】
マクロ機能を使用し特定の操作手順を記録するためには、作業者が端末エミュレータプログラムに対し、操作手順のマクロプログラムの記録開始を指示し、実際に人手による操作を実施したあと、マクロプログラムの記録終了を指示する方法が一般的である。
【0005】
従来のマクロ機能においては、操作手順と一緒に、操作を実行した時間が記録されており、記録された時間に基づいて再生する。例えば、「前手順終了後、3秒後に『a』という文字を入力する」、「前手順終了後、6秒後に『b』という文字を入力する」という手順が順次記録されている。
【0006】
しかし、このような記録方法は、計算機の他プログラムの負荷などによって計算機の応答時間に変動があった場合には、マクロプログラムが計算機の動作と同期しなくなり、期待する操作手順が実行できない事態が起こり得る。例えば、あるオペレーティングシステムを搭載する計算機を起動した場合、ログイン操作では「LOGIN:」とユーザネームを促す出力があり、作業者はそれを確認した後、ユーザネームを入力しなければならない。ところが、オペレーティングシステムがログイン操作までにかかる起動時間は毎回変動するので、マクロプログラムが時間でユーザネームを入力することを記録していても、ログイン操作のユーザネームを入力する状態までに到達していない事態が起こり得る。
【0007】
このような課題を解決するために、特開平6−83513号公報では、記録した操作手順の速度を作業者が変更することの出来る入力記録再生装置を提供することで解決している。また、特開平11−85692号公報では画面の書き換えを生じさせるデータが計算機から送られてくるまで、操作手順の再生を停止することで解決している。
【0008】
【特許文献1】特開平6−83513号公報
【特許文献2】特開平11−85692号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしならが、特開平6−83513号公報では適切な速度を操作手順再生実行時毎に判断し、人手に変更しなければならないので、自動で操作手順を記録再生するという目的が完全には達成できない。また、特開平11−85692号公報では画面の書き換えが生じない場合に、特定の時間作業を停止したいといった操作手順が記録できないという問題点がある。
【課題を解決するための手段】
【0010】
計算機上で、計算機への入力データ当該入力データの入力が開始してから当該入力データに対応して出力される出力データの出力が開始されるまでとして計算機内の記憶装置に格納し、格納された入力データから入力されたデータと待ち時間に分離し、入力データのみを対応する出力データに対応させて蓄積する。
【発明の効果】
【0011】
計算機の応答時間に変動を考慮した、操作手順の記録を可能にした上で、作業者が意識して入力作業中に設けた待ち時間を再現出来る再生方法を作成出来る。
【発明を実施するための最良の形態】
【0012】
以下に本発明の実施の形態を説明する。
【実施例1】
【0013】
以下、本発明の実施例を図において説明する。
【0014】
上記、従来の技術において説明したとおり、端末エミュレータプログラムは被テストプログラムが存在する計算機と同じ計算機上で動作する場合と、同計算機に接続された計算機上で動作する場合が考えられるが、図は前者である同計算機上で動作する端末エミュレータプログラムを想定して記述する。
【0015】
図1は本発明実施形態における概念図である。作業者10は計算機20を操作する不特定の人間である。計算機20はパーソナルコンピュータやサーバなどのコンピュータである。マウス210は計算機20上のプログラムへの操作の入力を指示するポインティングデバイスシステムである。キーボード211は計算機20上のプログラムへ文字入力を指示するデバイスシステムである。ディスプレイ212は計算機20上のプログラムから出力を指示されたテキストやグラフィックを表示するデバイスシステムである。入出力制御部220はマウス210やキーボード211による入力の指示を計算機20上のプログラムへ受け渡し、また、計算機20上のプログラムによる出力の指示をディスプレイ212へ受け渡すものである。
【0016】
端末エミュレータプログラム230は計算機20上の通信プログラムである。被試験プログラム240は計算機240上のプログラムで、インターフェースとして端末エミュレータプログラム230が使用可能なものである。これらのプログラムは、記憶部270から計算機20が有する主記憶メモリに格納され、実行される。入出力監視部260は入出力制御部220と端末エミュレータプログラム230間のデータの受け渡しを監視し、入力データ30と出力データ40を採取するものである。記録処理部250は入力データ30と出力データ40を入力データ30’と出力データ40’へ変換し、計算機20上の記憶部270へ記録するものである。マクロ作成部280は記憶部270上に記録されている入力データ30と出力データ40を使用し、マクロプログラム290を作成し、計算機20上の記憶部270へ記録するものである。入力データ30と出力データ40についての定義は後の図2の説明で定義する。
【0017】
作業者10は計算機20において、マウス210やキーボード211などの計算機に接続された入力機器を使用し、被試験プログラム240を操作する。被試験プログラム240のインターフェースは端末エミュレータプログラム230によって与えられ、作業者10の操作は入出力制御部220によって端末エミュレータプログラム230へ受け渡され被試験プログラム240で実施される。被試験プログラム240の応答は入出力制御部220によって端末エミュレータプログラム230へ受け渡され、これらの入出力は端末エミュレータプログラム230の命令により入出力制御部220が計算機に接続されたディスプレイ212へ表示する。
【0018】
入出力監視部260は、入出力制御部220と端末エミュレータプログラム230とのデータのやり取りを監視することで、作業者の操作を監視するものであり、同入出力のデータを得ることが出来るものである。入出力監視部260によって得られた入出力のデータ(入力データ30と出力データ40)は記録処理部250で適切な形態へ変換され、計算機20上の記憶部270へ入力データ30’と出力データ40’として保存される。
【0019】
マクロ作成部280は記憶部270へ保存されたデータを入力データ30’と出力データ40’を使用し、端末エミュレータプログラム230において実行可能なマクロプログラム290を作成する。作成されたマクロプログラム290は作業者10の操作により、端末エミュレータプログラム上で実行され、必要なときにも誰でも簡単に記録した操作手順を実行できるようになる。
【0020】
図2は入出力監視部260が監視する入出力制御部220と端末エミュレータプログラム230間で受け渡しが行われる入出力データ50の概念図である。入出力データ50内の斜線部は入力データ30を示し、それ以外は出力データ40を示す。
【0021】
入出力データ50は、図1における入出力監視部260が監視する入出力制御部220と端末エミュレータプログラム230間で受け渡しが行われる入力データ30と出力データ40が交互に連続するデータである。
【0022】
入力データ30は作業者10が入力を開始し、入出力制御部220が端末エミュレータプログラムへ入力データを受け渡しはじめてから、端末エミュレータプログラム230が入出力制御部220へ何らかの出力データを受け渡すまでの間の端末エミュレータプログラム230が入力されたデータとする。
【0023】
出力データ40は端末エミュレータプログラム230が入出力制御部220へ出力データを受け渡しはじめてから、作業者10が入力を開始し、入出力制御部220が端末エミュレータプログラムへ何らかの入力データを受け渡すまでの間の端末エミュレータプログラム230が出力したデータとする。
【0024】
入力データ30、または、出力データ40は入出力データ50の先頭から、作業者10が操作手順の記録開始を指示してから、操作手順の記録終了を指示するまで、入出力監視部260に採取される。データは、採取された時点で記録処理部250に入力データ30と出力データ40として、受け渡される。すなわち、作業者による同計算機への入出力データを記録する際において、入力データの区切りを、入力が開始してから次の出力が開始されるまでとして記録する。出力データの区切りを、出力が開始されてから次の入力が開始されるまでとして記録する。若しくは、計算機上で、被試験プログラムからの出力データを記録する際において、出力データすべてではなく、出力データ末尾で特有である文字列を記録し、出力終了後の時間を記録する。
【0025】
図3は、図1の記録処理部250における、入力データの処理における概念図であり、図4はその処理におけるフローチャートである。
【0026】
例えば、入力データ30は、次のような構造で記録されている。入力データ30は入力データと共に、記録を開始してから各入力が実施されるまでの時間も一緒に記録する。つまり入力が開始されてから、途中何も入力がない時間(例えば、入力待ち時間31、33、39)も入力データの一部として記録する。
【0027】
以上のような入力データ30を先頭から、図4に示されるフローチャートに従って、入力データ30’として保存する。以下にフローチャートについて説明する。
【0028】
フローチャートの四角の図形は処理を表し、ひし形の図形は分岐を表す。
【0029】
はじめに、入力データ30の先頭から入力データまたは待ち時間を取り出す(602)。次に、取り出したデータが入力データの場合は入力データ30’の入力データとして保存する(603,604)。取り出した入力データが待ち時間の場合は(603)、その待ち時間が規定時間以上であればそのまま(605,606)、規定時間以下であれば、時間を0に修正し、入力データ30’の待ち時間として保存する(607,606)。ここで規定時間とは、作業者10が意図して入力を待ったのかを判断する閾値として使用するものである。
【0030】
例えば、作業者10がキーボード211による入力で連続して文字を入力した場合、文字入力と文字入力の間には必ず待ち時間が発生するが、作業者10は待ち時間を意識していない。このような待ち時間を削除することで、以後作成するマクロプログラム290の簡略化や効率化を図る。なお、この待ち時間は、作業者10の操作の速度や被試験プログラム240に対して実施したい操作の内容にもよるので、規定時間は可変とする。
【0031】
すべての入力データの処理終了後、入力データ30’に保存した各待ち時間を確認し、待ち時間が0であるものについては削除して、前後の入力データを結合する(609)。なお、最後の待ち時間に関してこの処理は実施しない。
【0032】
図5は図1の記録処理部250における、出力データの処理における概念図であり、図6はその処理におけるフローチャートである。
【0033】
例えば、出力データ40は、次のような構造で記録されている。出力データ40は出力データと共に、記録を開始してから各出力が実施されるまでの時間も一緒に記録する。つまり出力が開始されてから、途中何も出力がない時間(例えば、出力待ち時間41、43、49)も出力データの一部として記録する。
【0034】
以上のような出力データ40を先頭から、図6に示されるフローチャートに従って、出力データ40’として保存する。以下にフローチャートについて説明する。
【0035】
はじめに、出力データ40に記録されている待ち時間について、最後の待ち時間を除き全て出力データ40から削除し、出力データを一つに結合する(703)。次に、最後の待ち時間を除いた、出力データ40の末尾からi文字(iは1以上の整数、初期値は1(702))取り出し、文字列として保存する(704)。次に、保存した文字列が出力データ40の内の末尾以外にあるかどうかを、出力データ40の先頭から検索し(705)、あった場合は、末尾から取り出す文字数を1字増やし、同作業を繰り返す(706)。ない場合、もしくは同作業を繰り返し、なくなった場合には、その文字列を整理済み出力データ41’として保存し、最後の出力待ち時間を出力データ42’として保存する(707)。
【0036】
図7は図1の記録処理部250における、入力データ30’と出力データ40’を記録部270へ保存する処理における概念図である。
【0037】
入力データ30’と出力データ40’は一対ずつ記録される。一対となるデータは出力データ40’とそれに続く入力データ30’で、先頭の入力データや末尾の出力データにおいて、対になる組み合わせが出来ない場合には、対になる対象を空にして単独で保存する。
【0038】
記録された入力データ30’と出力データ40’を端末エミュレータプログラムのマクロ機能として実行できるプログラム形式へ変換する。プログラムは以下の処理をするものである。
【0039】
再生開始においては一般に、作業者10が端末エミュレータプログラム230に対して指示を与えることで開始される。記録処理部250の説明で図7に示した記録から、一対となった出力データ40’が出力されるのを待ち、出力された後、対となる入力データ30’を再生する。この出力を待つ作業と再生をする作業を、データのある限り繰り返す。
【0040】
再生開始において、対になる組み合わせがなく、対になる対象を空にして単独で保存してある場合、出力を待たず再生を開始する。
【0041】
再生終了において、対になる組み合わせがなく、対になる対象を空にして単独で保存してある場合、出力終了次第、再生を終了する。
【0042】
以上の方法で記録したデータを使用し、マクロプログラムを作成することにより、計算機の応答時間の変動に左右されず、かつ、作業者が意識して入力作業中に設けた待ち時間の再現を可能にする。また、入力するデータだけではなく、入力データ間の時間を記録し、可変の規定時間を閾値として使用することによって、作成するマクロプログラムを簡略化・効率化する。
【図面の簡単な説明】
【0043】
【図1】本発明実施形態における概念図である。
【図2】図1の記録処理部250における、入出力データの処理の概念図である。
【図3】図1の記録処理部250における、入力データの処理における概念図である。
【図4】図1の記録処理部250における、入力データの処理におけるフローチャートである。
【図5】図1の記録処理部250における、出力データの処理における概念図である。
【図6】図1の記録処理部250における、出力データの処理におけるフローチャートである。
【図7】図1の記録処理部250における、入力データ30’と出力データ40’を記録部270へ保存する処理における概念図である。
【符号の説明】
【0044】
30・・・入力データ、40・・・出力データ、50・・・入出力データ

【特許請求の範囲】
【請求項1】
計算機の出力に応じて入力処理を繰り返す操作手順の記録再生プログラム作成プログラムにおいて、
計算機への入力データ当該入力データの入力が開始してから当該入力データに対応して出力される出力データの出力が開始されるまでとして計算機内の記憶装置に格納するステップと、
格納された入力データから入力されたデータと待ち時間に分離するステップと、
入力データのみを対応する出力データに対応させて蓄積するステップを有することを特徴とする操作手順の記録再生プログラム作成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2006−119683(P2006−119683A)
【公開日】平成18年5月11日(2006.5.11)
【国際特許分類】
【出願番号】特願2004−303646(P2004−303646)
【出願日】平成16年10月19日(2004.10.19)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】