JP4846031B2 - 動作検証システム - Google Patents

動作検証システム Download PDF

Info

Publication number
JP4846031B2
JP4846031B2 JP2010024651A JP2010024651A JP4846031B2 JP 4846031 B2 JP4846031 B2 JP 4846031B2 JP 2010024651 A JP2010024651 A JP 2010024651A JP 2010024651 A JP2010024651 A JP 2010024651A JP 4846031 B2 JP4846031 B2 JP 4846031B2
Authority
JP
Japan
Prior art keywords
test
program
file
execution
unit
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.)
Active
Application number
JP2010024651A
Other languages
English (en)
Other versions
JP2011164787A (ja
Inventor
勇人 高畠
英二 並河
琢磨 石橋
拓治 溝口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to JP2010024651A priority Critical patent/JP4846031B2/ja
Priority to PCT/JP2010/000722 priority patent/WO2010116586A1/ja
Priority to CN201080003435.1A priority patent/CN102227716B/zh
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to US13/067,009 priority patent/US9495280B2/en
Publication of JP2011164787A publication Critical patent/JP2011164787A/ja
Application granted granted Critical
Publication of JP4846031B2 publication Critical patent/JP4846031B2/ja
Priority to US15/167,113 priority patent/US10346288B2/en
Priority to US16/410,185 priority patent/US10860463B2/en
Priority to US17/088,875 priority patent/US11580011B2/en
Priority to US18/096,420 priority patent/US20230153230A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

この発明は、製品の動作を検証するための技術に関する。
製品品質を保証する上で、製品出荷前の動作テストは不可欠である。一般的には、テスト担当のエンジニアが製品を手動操作し、その操作結果を確認することにより動作テストを実行することが多い。しかし、操作バリエーションが豊富な多機能製品の場合、手動による動作テストには限界がある。
そこで、テスト・プログラムで動作テストを自動実行することにより、動作試験の省力化を図ることも多い。例えば、HP(Hewlett-Packard)社が提供する動作試験ツール「QTP(Quick Test Professional)」は、ユーザが自作したテスト・プログラムを実行することにより、動作テストを自動化する。
特開2004−227396号公報
上述したように動作試験ツールの導入目的は動作テストの効率的な実行にあるが、動作テストの自動化に必要な工程を単一の装置で行わせた場合、その装置の制約のために、動作テストの効率的な実行が阻害されることがあると本発明者は認識した。
本発明は、本発明者の上記課題認識に基づいて完成された発明であり、その主たる目的は、動作テストを効率的に実行するための技術を提供することにある。
上記課題を解決するために、本発明のある態様の動作検証システムは、所定機器の動作確認のためのテスト・プログラムを実行する試験実行装置と、テスト・プログラムの実行を管理する試験管理装置とを備える。試験管理装置は、所定機器に対するデータ入力操作を検出して、データ入力操作に対応する関数であって、所定機器への入力データを取得するためのインタフェースを備える関数を、操作内容ファイルに記録する操作記録部と、操作内容ファイルとは異なるファイルであって、所定機器への入力データが記録された入力データファイルと、操作内容ファイルとを試験実行装置へ送信するファイル送信部とを有する。試験実行装置は、操作内容ファイルに記録された関数に応じてプログラムコードを設定することにより、所定機器に対して実行された一連の操作を再現するためのテスト・プログラムを生成するプログラム生成部と、入力データファイルから入力データを取得してテスト・プログラムの関数に渡すことにより、テスト・プログラムを実行するプログラム実行部と、テスト・プログラムの実行状況を試験管理装置へ通知するテスト状況通知部とを有する。試験管理装置は、テスト・プログラムの実行状況の確認要求が外部から受け付けられた際、試験実行装置から通知されたテスト・プログラムの実行状況を出力するテスト状況提供部をさらに有する。
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、動作テストを効率的に実行できる。
ポータルサイト第1画面の画面図である。 ポータルサイト第2画面の画面図である。 辞書テストを実行したときのログを示す図である。 辞書テストを実行するためのプログラムを示す図である。 動作検証装置の機能ブロック図である。 ログを取得して動作テストを実行するまでの概要図である。 ログ画面の画面図である。 関数設定画面の画面図である。 プログラム画面の画面図である。 入力設定画面の画面図である。 ケース設定画面の画面図である。 参考技術1の動作検証装置と参考技術2の動作検証装置とのそれぞれにおける構成の概要を示す図である。 参考技術1の動作検証装置と参考技術2の動作検証装置とのそれぞれにおける動作の概要を示す図である。 参考技術2の動作検証装置の機能構成を示すブロック図である。 参考技術2において、ユーザのデータ入力操作を検出して動作テストを実行するまでの概要図である。 参考技術2における関数設定画面の画面図である。 参考技術2における関数設定画面の画面図である。 参考技術2における入力設定画面の画面図である。 参考技術2におけるケース設定画面の画面図である。 第1実施形態の動作検証システムの構成を示す図である。 図19の試験管理装置の機能構成を示すブロック図である。 図19の試験実行装置の機能構成を示すブロック図である。 第1実施形態の動作検証システムの動作を示すフローチャートである。 第2実施形態の動作検証システムの構成を示す図である。 第2実施形態の動作検証システムの動作を示すフローチャートである。
本実施の形態の動作検証システムについて説明する前に、その前提となる動作検証装置に係る参考技術1および2について説明する。
(参考技術1)
図1(a)は、ポータルサイト第1画面300の画面図である。
参考技術1においては、ポータル・サイト「XYZ!」を対象とした動作テストについて説明する。ポータルサイト第1画面300は、エディットボックス302と検索リンク304を含む。検索リンク304は、「ウェブ」、「ブログ」、「画像」、「辞書」という4つのリンクを含む。ユーザがエディットボックス302に文字列を入力し、検索リンク304のうちのいずれかをマウス・クリックすると、入力文字列の検索が開始される。たとえば、エディットボックス302に文字列「液晶」と入力し、リンク「ウェブ」をマウス・クリックした場合、文字列「液晶」を含むウェブサイトが検索対象となる。エディットボックス302に文字列「液晶」と入力し、リンク「ブログ」をマウス・クリックした場合には、このポータル・サイトに開設されているブログ(Weblog)のうち、文字列「液晶」を含むブログページが検索対象となる。
ここでは、エディットボックス302に文字列「テスト」が入力され、リンク「辞書」がマウス・クリックされたとする。
図1(b)は、ポータルサイト第2画面310の画面図である。
ポータルサイト第1画面300にて、「テスト」を入力し、「辞書」をマウス・クリックすると、図1(b)に示すポータルサイト第2画面310が表示される。検索結果欄306には、このポータル・サイトが提供している「辞書」サービスにより、文字列「テスト」に関連する項目が羅列される。
ここで、検索結果欄306の1番上にあるリンク「テスト(test)」がマウス・クリックされたとする。
上記過程においては、以下に示す3つの操作がなされている。
A1.ポータルサイト第1画面300のエディットボックス302に文字列「テスト」を入力する操作。
A2.ポータルサイト第1画面300の検索リンク304のうち、リンク「辞書」をマウス・クリックする操作。
A3.ポータルサイト第2画面310の検索結果欄306のうち、リンク「テスト(test)」をマウス・クリックする操作。
以下においては、上記A1〜A3の操作により実現される動作過程のことを、「辞書テスト」とよぶ。
図2は、辞書テストを実行したときのログ320を示す図である。
HP社のQTPが導入されているクライアント端末を操作して、上記ポータル・サイトにアクセスし、A1〜A3の操作を実行した場合、QTPは図2に示すログ320を生成する。ログ320には、操作A1〜A3が所定フォーマットの符合文として記録される。
たとえば、操作A1は、
Browser("XYZ!").Page("XYZ!").WebEdit("p").Set"テスト"
という符号文にて表現される。これは、"XYZ!"というウェブ・サイト、"XYZ!"という名前のウェブページ、pという名前のエディットボックス(図1(a)、図1(b)に示すエディットボックス302に相当する)に対して、文字列「テスト」が入力されたことを意味している。
同様にして、操作A2は、
Browser("XYZ!").Page("XYZ!").Link("辞書").Click
操作A3は、
Browser("XYZ!").Page("XYZ!-すべての辞書-テスト").Link("テスト(test)").Click
という符号文にて表示される。参考技術1においては、QTPの文法に基づいて説明するが、符合文のフォーマットはこれに限られるものではない。
QTPは、ログ320の符合文を解釈しながら、符合文により表現される操作を再現実行できる。このため、いったんログ320を生成すれば、同一内容の辞書テストを何度でも繰り返し実行できる。また、ログ320の一部を書き換えれば、手動操作時とは異なる内容にて辞書テストを実行できる。たとえば、
Browser("XYZ!").Page("XYZ!").WebEdit("p").Set"テスト"
に含まれる文字列「テスト」を別の文字列「テイスト」に変更し、
Browser("XYZ!").Page("XYZ!").WebEdit("p").Set"テイスト"
と書き換えてQTPに入力すれば、エディットボックス302への入力文字列だけ変更した同内容の辞書テストを自動実行できる。
しかし、ログ320を書き換えながら動作テストを実行するには、ログ320の文法に関してある程度の知識が必要である。また、ログ320の書き換えに際し、人為的なミスが発生する可能性がある。
図3は、辞書テストを実行するためのプログラム330を示す図である。
ログ320により動作テストを実行する代わりに、ログ320と同等の内容をVB(Visual Basic)スクリプト等で記述することにより、テスト・プログラムを作成してもよい。図3に示すプログラム330は、図2のログ320を参照しつつ作成されたテスト・プログラムである。
たとえば、操作A1は、
WebEditSet(Browser("XYZ!").Page("XYZ!").WebEdit("p"),DataTable("p1,dtGlobalSheet")
というVB関数により表現される。WebEditSet関数の具体的なロジックは、同図中段に記述されている通りである。
プログラム330、文字列「テスト」のような入力データをプログラム330中に含まない点においてログ320と異なる。代わりに、WebEditSet関数は、dtGlobalSheetとして表現されるファイル(以下、「入力データファイル」とよぶ)から入力データを受け取る。すなわち、ロジックと入力データが分離されることになる。入力データファイルの書き換えや取り替えにより、さまざまな入力データに基づいて同一ロジックの辞書テストを実行できる。手動による動作テストやログ320による動作テストに比べて、プログラム330による動作テストは、入力データのバリエーションを増やしやすいというメリットがある。
ただし、プログラム330による動作テストには、以下の問題点がある。
d1.プログラムを作成する手間が新たに発生する。
d2.プログラム作成者によって、プログラムの内容が変化する。たとえば、プログラマP1が操作A1に対応して作成するWebEditSet関数と、プログラマP2が操作A1に対応して作成するWebEditSet関数は、関数名は同じでもロジックが同一になるとは限らない。また、プログラム自体にバグが混入する可能性がある。このため、プログラム330自体の信頼性を担保するための取り組みが必要となる。また、プログラム330には、例外処理等、動作テストとは直接関係しないロジックも必要であるが、全てのプログラマが例外処理まで考慮したロジックを実装するとは限らない。たとえば、図3に示すWebEditSet関数の場合、入力データが空文字の場合にも対応できるようにロジックが組まれているが、別のプログラマがWebEditSet関数を実装する場合には、こういった配慮が欠如するかもしれない。
結果として、プログラマのスキルが動作テストの内容・結果に影響を及ぼしやすくなってしまう。
図4は、動作検証装置100の機能ブロック図である。
本明細書のブロック図が示す各機能ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組み合わせによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、各機能ブロックは、コンピュータプログラムとして記録媒体に格納され、情報処理装置のハードディスクにインストールされ、適宜メインメモリに読み出されてプロセッサにより実行されてもよい。
動作検証装置100は、専用ハードウェアとして形成されてもよいし、ウェブブラウザなどのユーザインタフェースと連携するソフトウェア・モジュールとして形成されてもよい。
参考技術1の動作検証装置100とは、QTPのアドオンとして形成されるソフトウェア・モジュールであるとして説明する。
動作検証装置100は、IF(インタフェース)部110、データ処理部130およびデータ保持部140を含む。
IF部110は、ユーザやQTPとのインタフェースを担当する。データ処理部130は、IF部110やデータ保持部140から取得されたデータを元にして各種のデータ処理を実行する。データ処理部130は、IF部110とデータ保持部140との間のインタフェースの役割も果たす。データ保持部140は、各種データを保持するための記憶領域である。
IF部110:
IF部110は、入力部112と出力部118を含む。入力部112はユーザやQTPからの入力処理を担当し、出力部118はユーザやQTPに対する出力処理を担当する。入力部112は、ログ取得部114と入力データ取得部116を含む。ログ取得部114は、QTPからログを取得する。入力データ取得部116は、入力データファイルを取得し、入力データファイルからプログラムに提供する入力データを取得する。入力データファイルの詳細については、図5や図9に関連して詳述する。
出力部118は、関数設定画面表示部120、入力設定画面表示部122、プログラム画面表示部124およびケース設定画面表示部126を含む。関数設定画面表示部120は、図7に示す関数設定画面210を表示させる。入力設定画面表示部122は、図9に示す入力設定画面230を表示させる。プログラム画面表示部124は、図8に示すプログラム画面220を表示させる。ケース設定画面表示部126は、図10に示すケース設定画面240を表示させる。
データ処理部130:
データ処理部130は、プログラム生成部132、プログラム実行部134およびテストケース登録部136を含む。プログラム生成部132は、動作テスト用のプログラムを自動的に生成する。プログラム実行部134は、生成されたプログラムを実行させる。参考技術1においては、QTPにプログラムを実行させる。テストケース登録部136は、実行セットをケースファイルに登録する。実行セットおよびケースファイルについては図10に関連して詳述する。
データ保持部140:
データ保持部140は、ログ保持部142、プログラム保持部144、入力データファイル保持部146、ケースファイル保持部148、関数保持部150および結果保持部152を含む。ログ保持部142は、ログを保持する。プログラム保持部144は、プログラムを保持する。入力データファイル保持部146は、入力データファイルを保持する。ケースファイル保持部148は、ケースファイルを保持する。関数保持部150は、動作テスト用のプログラムに登録される関数について、関数ライブラリを保持する。結果保持部152は、動作テストの結果を保持する。
図5は、参考技術1において、ログを取得して動作テストを実行するまでの概要図である。
まず、動作テストの対象となる機器を手動操作する。参考技術1においては、クライアント端末のウェブブラウザを操作して、ポータル・サイト「XYZ!」にアクセスする。QTPはログを生成し、ログ取得部114はQTPからログを取得する。各種符合文にはあらかじめ関数が対応づけられている。関数設定画面表示部120は、関数保持部150の関数ライブラリを読み出し、ログに含まれる各符号文に対応する関数を一覧表示させる(S1)。関数設定画面表示部120において、ユーザは、適宜、関数を追加・変更・削除できる。こうして、プログラムに含まれるべき関数が特定される。S1については、図7に関連して後に詳述する。
次に、このプログラムに供給すべき入力データを設定する(S2)。設定内容は、入力データファイルとして登録される。S2については、図9に関連して後に詳述する。S1で設定された関数群からプログラムを自動生成する(S3)。S3については、図8に関連して後に詳述する。
次に、複数種類のプログラムおよび複数種類の入力データファイルから、プログラムと入力データファイルの組合せを「実行セット」として登録する。実行セットは複数個登録することもできる(S4)。設定内容は、ケースファイルとして登録される。たとえば、プログラムP1を入力データファイルF2に基づいて実行したあと、プログラムP2を入力データファイルF6に基づいて実行させたい場合、
実行セット1:プログラムP1+入力データファイルF2
実行セット2:プログラムP2+入力データファイルF6
としてケースファイルに登録される。S4については、図10に関連して詳述する。
最後に、ケースファイルにしたがって、プログラムを実行する(S5)。上記例の場合には、プログラム実行部134は、実行セット1と実行セット2を連続実行させる。プログラム実行部134は、プログラムの実行結果、いいかえれば、テスト結果を結果保持部152に登録する。
図6は、ログ画面200の画面図である。
ログ取得部114がログを取得すると、出力部118はログ画面200におけるログ表示領域202にログを画面表示させる。ユーザは、QTPのログをログ表示領域202にコピー&ペーストしてもよい。あるいは、出力部118は、ログ画面200の表示時において、QTPが生成したログ(ファイル)を取得し、ログ表示領域202に画面表示させてもよい。ユーザが実行ボタン204をマウス・クリックすると、次の図7に示す関数設定画面210が表示される。
図7は、関数設定画面210の画面図である。
プログラム生成部132は、ログに含まれる符号文について関数を特定し、関数設定画面210の関数欄214に特定した関数を一覧表示させる。番号欄212は実行順序、説明欄216は関数の概要説明、オブジェクト欄218は操作対象オブジェクト、パラメータ欄219はパラメータ名、入力値欄217は入力データを示す。
先述の操作A1を示す符合文、
Browser("XYZ!").Page("XYZ!").WebEdit("p").Set"テスト"
には、あらかじめ、WebEditSet関数が関数ライブラリにおいて対応づけられている。プログラム生成部132はログ320の1番目の符合文を読み出すと、関数保持部150の関数ライブラリを参照し、WebEditSet関数を特定する。操作A1が操作対象とするオブジェクトは、「Browser("XYZ!").Page("XYZ!")」のページであるため、オブジェクト欄218には、「Browser("XYZ!").Page("XYZ!")」が設定される。WebEditSet関数は、エディットボックスp(エディットボックス302)に設定される入力データを引数とする関数である。入力値欄217において、エディットボックスpに設定すべき入力データを設定することもできるが、関数設定画面210では入力データを登録しないものとして説明する。エディットボックスpに設定すべき入力データは、図9に関連して詳述する入力設定画面230にて設定される。
ログ320には操作A1〜A3に対応して3つの符合文が含まれているため、プログラム生成部132は3つの関数を特定する。ユーザは、関数設定画面210にて、関数を追加・削除・変更してもよい。図7における4番目のTextCheck関数と5番目のWebScreenCapture関数は、ユーザが追加選択した関数である。
TextCheck関数は、表示中のウェブページにおいて、変数qに代入される文字列が含まれているかを判定する関数である。WebScreenCapture関数は、表示中のウェブページを画面キャプチャする関数である。動作テストの結果を証跡管理する上で、WebScreenCapture関数は便利な関数である。このように、関数ライブラリには、WebEditSet関数のようにユーザの操作に対応した関数だけでなく、TestCheck関数のように動作テストを補助・支援するための関数も用意されている。ユーザは、関数ライブラリから所望の関数を選択するだけで、動作テストに含めたいロジックを設定できる。
テストケース設定ボタン215がクリックされると、図10のケース設定画面240が表示される。入力データファイル作成ボタン213がクリックされると、図9の入力設定画面230が表示される。プログラム作成ボタン211がクリックされると、図8のプログラム画面220が表示される。
参考技術1の動作検証装置100には、以下のメリットがある。
m1.GUI(Graphical User Interface)ベースで関数を選択するだけで、プログラムに含めたいロジックを選択できる。プログラムを作成するための手間がほとんどかからない。
m2.プログラムに含まれる関数は、関数ライブラリとして登録済みの関数であるため、作成者によってプログラムの品質がばらつきにくい。例外処理等の必要なロジックも、あらかじめ各関数に組み込まれている。
図8は、プログラム画面220の画面図である。
関数設定画面210において、プログラム作成ボタン211がマウス・クリックされると、プログラム生成部132がプログラムを生成し、プログラム画面表示部124はプログラム画面220におけるプログラム表示領域222にそのソースコードを表示させる。プログラムは、プログラム保持部144に保持される。
図9は、入力設定画面230の画面図である。
関数設定画面210において、入力データファイル作成ボタン213がマウス・クリックされると、入力設定画面表示部122は入力設定画面230を表示させる。関数設定画面210においては、パラメータpとqが定義されている。番号欄232は入力順序、変数欄234はパラメータpへの入力データ、変数欄236はパラメータqへの入力データを示す。入力設定画面230では、このパラメータpとqに代入する入力データを設定する。各入力データは、入力データファイルとして入力データファイル保持部146に保持される。
たとえば、プログラム330に、図9に示す形式の入力データファイルを与えると、
1.文字列「テスト」をエディットボックス302に入力して辞書を検索し、実行結果を示す画面に文字列「試験」が含まれているかを判定するテスト
2.文字列「test」をエディットボックス302に入力して辞書を検索し、実行結果を示す画面に文字列「試験」が含まれているかを判定するテスト
3.文字列「テストケース」をエディットボックス302に入力して辞書を検索し、実行結果を示す画面に文字列「試験」が含まれているかを判定するテスト
・・・のように、異なる入力データに基づく複数の辞書テストを連続実行できる。
図10は、ケース設定画面240の画面図である。
関数設定画面210において、テストケース設定ボタン215がマウス・クリックされると、ケース設定画面表示部126はケース設定画面240を表示させる。番号欄244は実行順序、実行セット欄245は実行セットの概要、プログラム欄246は実行対象となるプログラム、入力データファイル欄247は入力データの抽出対象となる入力データファイルを示す。
ここでは、インターネット証券のウェブ・サイトを動作テストの対象として説明する。
同図においては、1.ログイン、2.ニュースチェック、3.株売り、4.債券売り、5.住所変更、6.ログアウトという6つの実行セットが登録されている。まず、QTPは、プログラム「login.vbs」から「login」プロジェクトを生成する。ここでいう「プロジェクト」とは、QTPの実行形式ファイル群を含むディレクトリである。QTPは「login」プロジェクトを入力として、login.vbsとlogin.xlsに定義された処理を実行する。ユーザが実行ボタン248をマウス・クリックすると、最初に、実行セット「ログイン」の「login」プロジェクトが実行される。1番目の実行セット「ログイン」が完了すると、実行セット「ニュースチェック」として、「ncheck」プロジェクトが実行される。
このように、実行ボタン248がマウス・クリックされると、1.ログイン、2.ニュースチェック、3.株売り、4.債券売り、5.住所変更、6.ログアウトという6つの実行セットが連続実行される。これにより、「ログインして、ニュースをチェックした後、手持ち株と手持ち債券の売りを指示し、住所変更をした上で、ログアウトする」というテスト・シナリオに基づく動作テストを自動化できる。
ユーザは、ケース設定画面240において自由にテスト・シナリオを作ることができる。たとえば、実行セット「株売り」の代わりに実行セット「株買い」を登録してもよいし、実行セット「株売り」の入力データファイルとして「stock1.xls」ではなく別の入力データファイルを登録してもよい。ケース設定画面240において登録されたテスト・シナリオはケースファイルとして記録され、ケースファイル保持部148に保持される。
テスト・シナリオの構成や入力データファイル等を少しずつ変化させることにより、動作テストのバリエーションを広げやすくなる。
以上、参考技術1の動作検証装置100を説明した。
動作検証装置100によれば、プログラムと入力データ、すなわち、処理とパラメータを分離できる。そして、そのためのプログラムをGUIベースの設定に基づき自動生成できる。これにより、プログラムに含めるロジックの多様性を確保しつつも、安定した品質のプログラムを簡易に生成できる。また、入力データファイルの内容を変更するだけで、動作テストの内容を変更できるため、動作テストのバリエーションを広げやすくなる。
更に、実行セットをケースファイルに登録してテスト・シナリオを作ることにより、既存のプログラムを組合せながら、さまざまな状況における動作テストを実現できる。また、WebEditSet関数のようなテスト対象機器を操作するための関数だけでなく、WebScreenCapture関数のような動作テストを支援するための関数を用意しておくことにより、動作テストの効率や信頼性をいっそう向上させやすくなる。
(参考技術2)
参考技術2では、上記の参考技術1を改良した動作検証装置100を提案する。
まず、参考技術1における動作検証装置100と、参考技術2の動作検証装置100とを比較しつつ、参考技術2の動作検証装置100についてその概要を説明する。
図11は、参考技術1の動作検証装置100と参考技術2の動作検証装置100とのそれぞれにおける構成の概要を示す。図11(a)が示すように、参考技術1の動作検証装置100は、動作テストの実行エンジンであるQTPモジュール102と、QTPモジュール102を使用したウェブサーバ400の動作テストを効率化するためのラッパーモジュール104とを備えた。このラッパーモジュール104には、図4で示した各機能ブロックが含まれる。
図11(a)において、ユーザは、QTPモジュール102を介して、動作確認の対象装置であるウェブサーバ400を操作する(S100)。ラッパーモジュール104は、その操作内容が記録されたログをQTPモジュール102から取得して、関数設定画面210をユーザに提供した(S102)。ユーザは、動作テスト実行の際、QTPモジュールが読み込み可能な動作テスト用プログラムをラッパーモジュール104において生成させ、QTPモジュール102にそのプログラムを実行させた(S104)。
これに対して、図11(b)が示すように、参考技術2の動作検証装置100は、動作テストの実行エンジンの機能とラッパーモジュール104の機能とが統合された統合検証モジュール106を備える。ユーザが統合検証モジュール106を介してウェブサーバ400を操作すると(S200)、統合検証モジュール106はその操作内容を逐次検出して関数設定画面210のデータを設定し、関数設定画面210をユーザに提供する(S202)。ユーザは、動作テスト実行の際、統合検証モジュール106において動作テスト用プログラムを生成させて実行させる(S204)。
図12は、参考技術1の動作検証装置100と参考技術2の動作検証装置100とのそれぞれにおける動作の概要を示す。図12(a)は、参考技術1の動作検証装置100における動作の概要を示している。ユーザはウェブサーバ400に対するデータ入力操作を実行し(S110)、QTPモジュール102はその操作内容が記録されたログを出力する(S112)。ユーザはそのログのデータをQTPモジュール102の所定の入力エリアにコピーする(S114)。ラッパーモジュール104は所定の入力エリアに設定されたログのデータに基づいて関数設定画面を設定して表示させ(S116)、ユーザはその関数設定画面を介して追加・変更すべき関数・入力データを設定する(S118)。
ラッパーモジュール104は、関数設定画面のデータに基づいて、動作テストのためのQTP用プログラムを生成する(S120)。ユーザは、QTP用プログラムをQTPモジュール102の所定の入力エリアにコピーする(S122)。ユーザは、ケース設定画面において、QTP用プログラムと入力データファイルとをセットとして指定した動作テストのシナリオを設定する(S124)。ラッパーモジュール104は、そのシナリオに基づいて、QTP用プログラムと入力データファイルのセットをQTPモジュール102に渡して、セット毎に動作テストを実行させる(S126)。
図12(b)は、参考技術2の動作検証装置100における動作の概要を示している。ユーザは、ウェブサーバ400に対するデータ入力操作を実行する(S210)。統合検証モジュール106は、そのデータ入力操作を逐次検出して、データ入力操作に対応する関数を操作内容ファイルに記録し、その操作内容ファイルの記録データを関数設定画面において表示する(S212)。ユーザは、その関数設定画面を介して追加・変更すべき関数・入力データを操作内容ファイルに設定する(S214)。そしてユーザは、ケース設定画面において、操作内容ファイルと入力データファイルとをセットとして指定した動作テストのシナリオを設定する(S216)。統合検証モジュール106は、そのシナリオに基づいて、シナリオ内の1以上のセットを集約した動作テスト用プログラムを生成して実行する(S218)。
このように、参考技術1の動作検証装置100では、QTPモジュール102とラッパーモジュール104とが分離していた。したがって、両モジュールを連係させるために、ユーザ自身が仲介作業を実行する必要があった。また、ラッパーモジュール104はシナリオ内のセット毎にQTPモジュール102をコールして、テスト用プログラムをセット毎に実行させる必要があった。
これに対して、参考技術2の動作検証装置100では、動作テストの実行エンジンと、その効率的な利用を実現するラッパーとが分離されることなく、シームレスに統合されている。したがって、参考技術1の動作検証装置100と比較すると、分離したモジュールを連係させるために必要であったユーザの作業が不要になり、動作テストのためのユーザの作業量が低減する。また、シナリオ内の複数のセットが集約された動作テスト用プログラムが生成され、そのプログラムの実行により一連のシナリオが実行されるため、迅速な動作テストが実現される。
図13は、参考技術2の動作検証装置100の機能構成を示すブロック図である。同図の機能ブロックは、図11(b)で示した統合検証モジュール106に含まれる。参考技術2の機能ブロックのうち、参考技術1の機能ブロックに対応する機能ブロックには、同じ符号を付している。参考技術1の機能ブロックと同じ符号を付した機能ブロックについてはその機能が参考技術1に既述した内容と異なる場合に記載しており、同様の機能についてはその記載を省略する。
データ保持部140は、操作内容ファイル保持部143と、プログラム保持部144と、入力データファイル保持部146と、ケースファイル保持部148と、関数保持部150とを有する。操作内容ファイル保持部143は、動作テスト用プログラムに設定すべき関数が記録される操作内容ファイルを記憶する。プログラム保持部144は、操作内容ファイルにしたがって生成された動作テスト用プログラムを記憶する。
IF部110の入力部112は、操作検出部115とユーザ設定受付部117とを有する。操作検出部115は、ウェブサーバ400に対するユーザのデータ入力操作を逐次検出する。ユーザ設定受付部117は、関数設定画面210、入力設定画面230、ケース設定画面240に対するユーザによる設定情報を検出する。
IF部110の出力部118は、関数設定画面表示部120と入力設定画面表示部122とケース設定画面表示部126とを有する。関数設定画面表示部120は、操作内容ファイル保持部143に記録された操作内容ファイルの内容を表示する関数設定画面210を所定の表示装置に表示させる。
データ処理部130は、プログラム生成部132と、プログラム実行部134と、テストケース登録部136と、操作記録部137と、入力データ記録部138とを有する。操作記録部137は、関数保持部150を参照して、操作検出部115において検出されたデータ入力操作に対応する関数を特定し、その関数を操作内容ファイルに記録する。また操作記録部137は、関数設定画面210に対するユーザの設定情報を操作内容ファイルに記録する。入力データ記録部138は、入力設定画面230を介してユーザが入力した入力データを入力データファイルに記録する。プログラム生成部132は、操作内容ファイルに記録された関数に応じて動作テスト用プログラムを生成する。プログラム実行部134は、動作テストの実行エンジンとして、動作テスト用プログラムを実行し、その結果を結果保持部152に記録する。
図14は、参考技術2において、ユーザのデータ入力操作を検出して動作テストを実行するまでの概要図である。まず、ユーザはクライアント端末のウェブブラウザを操作してウェブサーバ400にアクセスし、ウェブサーバ400に対する各種操作、典型的にはウェブサーバ400が提供するウェブページに対するデータ入力操作を実行する。操作検出部115はユーザによるデータ入力操作を逐次検出し、操作記録部137は関数保持部150の関数ライブラリを読み出し、そのデータ入力操作に対応する関数を操作内容ファイルに逐次記録する(S220)。
次に、関数設定画面表示部120は、操作内容ファイル保持部143の操作内容ファイルを読み出し、ユーザによる操作に対応する関数を一覧表示する関数設定画面を表示させる。関数設定画面において、ユーザは、適宜、関数を追加・変更・削除でき、また、動作テスト用プログラムに静的に設定すべき入力データを設定できる。こうして、動作テスト用プログラムに含まれるべき関数が特定される。関数設定画面については、図15および図16に関連して後述する。
次に、入力設定画面表示部122は、入力設定画面230を表示させる。ユーザは、入力設定画面230を介して、動作テストの実行時に動作テスト用プログラムに対して動的に供給されるべき入力データを設定する。ユーザにより設定された入力データは、入力データファイルに記録される(S222)。入力設定画面230については、図17に関連して後述する。
次に、ケース設定画面表示部126は、ケース設定画面240を表示させる。ユーザは、複数種類の操作内容ファイルおよび複数種類の入力データファイルから、操作内容ファイルと入力データファイルとの組み合わせを実行セットとして登録する。テストケース登録部136は、1以上の実行セットをケースファイルに記録する(S224)。例えば、テストケース1において、操作内容ファイルF01の設定内容を入力データファイルF12に基づいて実行させた後、操作内容ファイルF02の設定内容を入力データファイルF16に基づいて実行させる場合、
テストケース1:
実行セット1:操作内容ファイルF01+入力データファイルF12
実行セット2:操作内容ファイルF02+入力データファイルF16
としてケースファイルに登録される。ケース設定画面240については、図18に関連して後述する。
次に、プログラム生成部132は、ケースファイルおよび操作内容ファイルに基づいて動作テスト用プログラムを生成する(S226)。具体的には、実行セットに設定された操作内容ファイルに順次記録された関数を、動作テスト用プログラムのプログラムコードに順次設定してもよい。また、プログラム生成部132は、1つのテストケースに複数の実行セットが設定されている場合、各実行セットの操作内容ファイルに記録された関数を1つの動作テスト用プログラムに集約して設定する。
また、プログラム生成部132は、操作内容ファイルの関数に対して入力データそのものが設定されていた場合には、その入力データを動作テスト用プログラムに静的に設定する。例えば、動作テスト用プログラムの生成の際に、そのプログラムコードにおける関数の引数として入力データをあらかじめ設定する。また、操作内容ファイルの関数に対して入力データファイルが指定されていた場合には、その入力データファイルのデータをプログラム実行時に読み込むように設定する。
最後に、プログラム実行部134は、動作テスト用プログラムを実行して、ウェブサーバ400に対してユーザにより実行された一連の操作を再現する(S228)。入力データファイルのデータを必要とする関数に対しては、動作テスト用プログラムの実行の際に読み込んだ入力データファイルのデータを引数として渡す。すなわち、入力データファイルから動的に取得した入力データに基づいて関数を実行する。
図15は、関数設定画面210の画面図である。同図は、図18で後述する「検索記入.xls」を表示する関数設定画面210を示している。データファイルカラム名欄250は、パラメータに設定する入力データを記録した入力データファイルのカラム名が指定される領域である。ユーザは、入力値欄217に入力データそのものを記述してもよく、その代わりに、データファイルカラム名欄250に入力データファイルのカラム名を指定してもよい。データファイルカラム名欄250に入力データファイルのカラム名が指定された場合、動作テスト用プログラムの実行時に、その入力データファイルのカラムに設定された1以上の入力データが読み込まれて関数に渡される。
図16は、参考技術2における関数設定画面210の画面図である。同図の「検索部署名」パラメータの入力値欄217においては、入力データの候補がドロップダウンリスト252で一覧表示されている。ドロップダウンリスト252において表示される入力データの候補は、ウェブページに対するユーザによるデータ入力の際に、そのウェブページのドロップダウンリストにおいて表示された入力データの候補である。ユーザはドロップダウンリスト252から入力データを選択することができ、入力データの設定におけるユーザの負担が軽減される。
ドロップダウンリスト252を設定するために、操作検出部115は、ウェブページに対するユーザによるデータ入力操作の際に、そのウェブページのドロップダウンリストにおいて表示された入力データの候補を取得する。例えば、ウェブサーバ400から取得されたウェブページのデータ、例えばHTMLデータからドロップダウンリストにおける入力データの候補を取得する。操作記録部137は、その入力データの候補を操作内容ファイルの入力値欄217に記録する。関数設定画面表示部120は、入力値欄217が入力される際に、操作内容ファイルに記録された入力データの候補をドロップダウンリストの形式で一覧表示させる。
図17は、参考技術2における入力設定画面230の画面図である。図17(a)は、図15および図16の関数設定画面210においてカラム名が指定された入力データファイル「検索記入データ.xls」を表示する入力設定画面230を示している。なお、図15および図16では、図17(a)の「氏名漢字」カラムと「氏名カナ」カラムとが指定されている。図17(b)は、別の入力データファイル「ログインデータ2.xls」を表示する入力設定画面230を示している。同図の入力データファイルについては、図18に関連して後述する。
図18は、参考技術2におけるケース設定画面240の画面図である。実行番号欄253には各実行セットの基本的な実行順序、テストケースID欄254にはテストケースの識別情報が設定される。グループID欄256には実行セットの繰り返し処理のグループを示す識別情報、行番号欄258には動作テストにおける入力データファイルの参照範囲が設定される。操作内容ファイル欄260は各実行セットにおける操作内容ファイル、入力データファイル欄262は各実行セットの入力データファイルが設定される。ケース設定画面240における設定内容は、ケースファイル保持部148においてケースファイルとして記憶される。
ケース設定画面240においてテスト実行ボタン264が押下されると、プログラム生成部132は、ケースファイルおよび操作内容ファイルにしたがって動作テスト用プログラムを生成する。具体的には、ケースファイルにおいて同一のテストケースIDが設定された1以上の操作内容ファイルに基づいて、各操作内容ファイルに記録された関数がプログラムコードに設定された1つの動作テスト用プログラムを生成する。例えば、プログラム生成部132は、図18のケース設定画面240の内容が記録されたケースファイルにしたがって、登録ケースを実行するための1つの動作テスト用プログラムと、検索ケースを実行するための1つの動作テスト用プログラムとを生成する。なお、「1つの動作テスト用プログラム」は、1つの実行単位として実行されるプログラム、言い換えれば1つの実行契機で実行されるプログラムを意味し、物理的なプログラム数は問わない。
プログラム実行部134は、各操作内容ファイルに記録された1つの関数を実行する際、その操作内容ファイルと対応づけられた入力データファイルのデータのうち、操作内容ファイルにおいてその関数と対応づけられたカラムのデータをその関数に渡す。
また、プログラム実行部134は、同一のテストケースにおいて同一のグループIDが付与された複数の実行セットを、同一の繰り返し処理を実行すべき同一のグループとして取り扱う。具体的には、同一のグループIDが付与された複数の実行セットそれぞれの実行を繰り返し、繰り返しのたびに、各実行セットの操作内容ファイルに記録された関数に対して、入力データファイルに記録された所定数のレコードを渡す。参考技術2では、繰り返しのたびに入力データファイルに記録された1レコードを関数に渡すこととする。なお、上述の処理を実行するための繰り返し命令がプログラムコードに設定された動作テスト用プログラムを、プログラム生成部132おいて生成してもよい。
また、プログラム実行部134は、行番号が指定された実行セットについては、その操作内容ファイルに記録された関数に対して、入力データファイルにおいてその行番号で特定される入力データを渡す。したがって、グループIDによる繰り返し処理が指定され、さらに行番号が指定された場合には、行番号の指定数だけその繰り返しを実行することになる。例えば、図18の登録ケースでは、実行セットをまたがったグループの設定はなく、各実行セットでは入力データ1個分の処理が実行される。これに対し、図18の検索ケースでは、各実行セットにおける入力データ1個分の処理が3回繰り返される。
具体的には、1回目の繰り返しでは、ログイン2.xlsに記録された関数に対してログインデータ2.xlsの35行目のデータ「t_yamada」が渡される。そして、検索記入.xlsに記録された関数、具体的には図15のNo1の関数に対しては検索記入データ.xlsの1行目・氏名漢字のデータ「山田太郎」が渡される。また、図15のNo2の関数に対しては検索記入データ.xlsの1行目・氏名カナのデータ「ヤマダタロウ」が渡される。
2回目の繰り返しでは、ログイン2.xlsに記録された関数に対してログインデータ2.xlsの36行目のデータ「h_yamada」が渡される。そして、検索記入.xlsに記録された図15のNo1の関数に対して検索記入データ.xlsの2行目・氏名漢字のデータ「山田花子」が渡される。また、図15のNo2の関数に対して検索記入データ.xlsの2行目・氏名カナのデータ「ヤマダハナコ」が渡される。
3回目の繰り返しにおいても同様に、インクリメントされた行番号における入力データが各関数に渡されることになる。
参考技術2の動作検証装置100においても、参考技術1で既述した効果を奏する。具体的には、処理とパラメータの分離、および、GUIベースの設定が実現されるため、動作テスト用プログラムに含めるロジックの多様性を確保しつつも、安定した品質のプログラムを簡易に生成できる。また、入力データファイルの設定によって、動作テストのバリエーションを広げやすくなる。さらに、ケースファイルの設定によって、様々なシナリオにおける動作テストを実現できる。
参考技術2の動作検証装置100においては、さらに、動作テスト用プログラムを実行する実行エンジン機能と、実行エンジンの効率的な利用を実現するラッパー機能とがシームレスに、ユーザによる仲介を要することなく連係する。これにより、動作テストを実行するためのユーザの負担を軽減できる。また、参考技術1の動作検証装置100の場合と異なり、ユーザは、QTPのプロジェクト等、プログラム実行のための環境を意識する必要がない。すなわち、ユーザにとって理解・操作が容易な形式の操作内容ファイルと入力データファイルとを設定すればよい。これにより、ユーザは動作テストを容易に実施できるようになる。
参考技術2の動作検証装置100においては、さらにまた、同一テストケースの複数の実行セットが集約された1つの動作テスト用プログラムが生成され、その1つの動作テスト用プログラムが実行される。参考技術1の動作検証装置100における実行セット毎、すなわち実行セットに基づき生成されたQTPのプロジェクト毎の実行と比較して、1つのテストケースにおける一連の動作テストを実行する際のオーバーヘッドが低減され、迅速な動作テストを実現できる。
参考技術2の動作検証装置100においては、さらにまた、複数の実行セットに亘る繰り返しのグループを設定できる。これにより、実行セットを柔軟に分割でき、また、動作テストのシナリオを柔軟に設定できる。さらにまた、入力データファイルの参照範囲を設定できる。これにより、入力データファイルが同一であっても、シナリオに応じて柔軟に参照範囲を変更でき、様々なバリエーションの動作テストを容易に実現できる。
上述した参考技術2においては、関数設定画面210における値設定を支援する例としてドロップダウンリスト252を示した。変形例においては、ウェブページにおけるラジオボタン、チェックボックス、リストボックス等で選択可能に表示された入力データの候補が、ドロップダウンリスト252またはその他の形式で関数設定画面210において選択可能に表示されてもよい。すなわち、動作確認対象の機器に対するデータ入力操作の際にユーザに対して様々な形式で選択可能に表示された入力データの候補が、関数設定画面210における値設定の際に選択可能に表示されてもよい。
上述した参考技術1においては、ウェブサーバ400に対するユーザの操作をQTPが受け付け、ログを生成したことを条件として、動作検証装置100が動作テスト用プログラムを作成している。また、上述した参考技術2においては、ウェブサーバ400に対するユーザの操作を動作検証装置100が検出して、動作テスト用プログラムを作成している。変形例として、動作検証装置100においてウェブサーバ400からHTMLファイルを取得した時点で、動作テスト用プログラムを生成してもよい。この場合、動作検証装置100は、HTMLファイルに含まれるフォームタグを検索し、HTMLファイルにどのような入力インタフェースが含まれているかを特定する。そして、各入力インタフェースにデータを入力するための関数を選択し、これらの関数をさまざまな順序で並べれば、ユーザによる明示的なウェブ操作がなくても、動作テスト用のプログラムを生成できる。
(実施の形態の概要)
以下、本発明の実施の形態を説明するが、まずその概要を説明する。
上記参考技術1および2では、単一の動作検証装置100が、ウェブページの自動試験に必要な全工程、すなわち操作内容ファイルの設定〜動作テスト用プログラムの実行を行った。この場合、動作検証装置100における動作環境等の制約により、効率のよい動作テストの実行が阻害される場合がある。本発明者は、効率のよい動作テストの実行が阻害される要因として、以下に示す3つの課題を認識した。
1.動作テストの実行状況の確認が困難:
動作テストの自動実行中には動作検証装置100を操作することが困難であるため、動作テストの実行中にはその実行状況をユーザが確認できない。したがって、動作テストが一旦完了するまでは、実行時に発生したエラー等に対応するための作業を行うことができない。なお、本実施の形態における動作テストの実行状況とは、動作テストで規定された複数の操作それぞれの実行結果を示す情報であり、例えば、各操作におけるエラーの発生有無を示す情報であってもよい。また、ある操作に対して異常なレスポンスや、想定外のレスポンスが返されたことを示す情報であってもよい。
2.複数環境での動作テストは煩雑:
異なるOS(Operating System)や異なるウェブブラウザを搭載する複数の情報処理装置のそれぞれに対して、動作テスト用プログラムを実行させるための設定を施すことは煩雑である。また、ウェブページの画面スナップ等、動作テスト用プログラムの実行結果を証明するためのデータ(以下、「証左物」とも呼ぶ)を個々の装置から収集することも煩雑であり、ユーザの負担を増大させてしまう。
3.動作テストの実行環境が制約される:
操作内容ファイル、入力データファイル、ケースファイル(以下、総称して「テスト制御用ファイル」とも呼ぶ)が特定のアプリケーションプログラムに依存する形式である場合、動作検証装置100の動作環境が制約されてしまう。例えば、テスト制御用ファイルの記録データにアクセスするために特定の表計算ソフトが前提環境となる場合、その表計算ソフトをインストールできない装置は動作検証装置100として機能しえなくなってしまう。その結果、動作検証装置100は、特定種類のOSやウェブブラウザが前提環境となり、様々なOS・ウェブブラウザ環境を網羅した試験が困難になってしまう。
そこで実施の形態では、動作検証装置100が備える各機能を複数の情報処理装置に分散した動作検証システムを提案する。この動作検証システムによれば、上記課題を解決して効率のよい動作テストを実現する。以下では、動作テストを実行する装置と動作テストを管理する装置との二層で構成される動作検証システムを第1の実施の形態(以下、「第1実施形態」とも呼ぶ)として説明する。さらに動作テストの実行を指示するユーザ端末を加えた三層で構成される動作検証システムを第2の実施の形態(以下、「第2実施形態」とも呼ぶ)として説明する。
(第1の実施の形態)
図19は、第1実施形態の動作検証システムの構成を示す。動作検証システム1000は、試験対象装置402と、試験実行装置500で総称される第1の試験実行装置500a、第2の試験実行装置500b、第3の試験実行装置500cと、試験管理装置600とを備える。これらの装置は、LAN/WAN/インターネット等、公知の通信網を介して接続される。
試験対象装置402は、動作テストの対象となるソフトウェアやハードウェアを搭載した情報処理装置である。本実施の形態では、動作テストの対象となるウェブページを提供するウェブサーバであることとする。
試験実行装置500は、ウェブブラウザがインストールされた情報処理装置であり、試験対象装置402が提供するウェブページの動作テストを実行する。第1の試験実行装置500a〜第3の試験実行装置500cは、動作テスト用プログラムの実行環境、すなわちハードウェア環境やソフトウェア環境が互いに異なる。例えば、搭載されたOSの種類やウェブブラウザの種類が互いに異なる。試験実行装置500の詳細な構成は図21に関連して後述する。
試験管理装置600は、第1の試験実行装置500a〜第3の試験実行装置500cのそれぞれで実行される動作テストを一括して管理する情報処理装置である。試験管理装置600の詳細な構成は図20に関連して後述する。なお試験管理装置600には、テスト制御用ファイルの記録データを参照、編集するための表計算ソフトがインストールされている。その一方で、試験実行装置500にはその表計算ソフトが未インストールである。
図20は、図19の試験管理装置600の機能構成を示すブロック図である。同図の機能ブロックのうち、参考技術1および2で示した動作検証装置100の機能ブロックに対応する機能ブロックには、同じ符号を付している。同じ符号を付した機能ブロックについては、その機能が参考技術1および2に既述した内容と異なる場合に記載しており、同様の機能については既述であるため適宜その記載を省略する。後述する図21についても同様である。
データ保持部140は、操作内容ファイル保持部143と、入力データファイル保持部146と、ケースファイル保持部148と、関数保持部150と、実行エンジン保持部630と、証左物集約保持部632とを有する。
実行エンジン保持部630は、ウェブページの動作テストを実行するためのプログラム、例えばプログラム生成部132やプログラム実行部134の機能を実現するプログラムモジュール(以下、「テスト実行エンジン」とも呼ぶ)を保持する記憶領域である。証左物集約保持部632は、第1の試験実行装置500a〜第3の試験実行装置500cのそれぞれで取得された動作テストの証左物を一括して保持する記憶領域である。
IF部110の入力部112は、操作検出部115と、ユーザ設定受付部117と、試験情報取得部602とを有する。試験情報取得部602は、動作テストの実行状況の確認要求がユーザから受け付けられた際、その実行状況の通知要求を試験実行装置500へ送信する。そして、動作テストの実行状況を示すデータ(以下、単に「テスト実行状況」とも呼ぶ)を試験実行装置500から受信して、後述するテスト情報提供部614へ送出する。また、動作テストの証左物のデータを試験実行装置500から受信して、証左物集約保持部632へ格納する。
IF部110の出力部118は、関数設定画面表示部120と、入力設定画面表示部122と、ケース設定画面表示部126と、実行エンジン送信部610と、ファイル送信部612と、テスト情報提供部614とを有する。実行エンジン送信部610は、テスト実行エンジンのダウンロード要求が試験実行装置500から受け付けられた際、実行エンジン保持部630に保持されたテスト実行エンジンのデータを試験実行装置500へ送信する。
ファイル送信部612は、動作テストの開始指示がユーザから受け付けられた際、XML文書に変換後の操作内容ファイル・入力データファイル・ケースファイルを、第1の試験実行装置500a〜第3の試験実行装置500cのそれぞれに対して送信する。テスト情報提供部614は、テスト実行状況の確認要求がユーザから受け付けられた際、試験情報取得部602により取得された第1の試験実行装置500a〜第3の試験実行装置500cそれぞれにおけるテスト実行状況を、一括して所定の表示装置へ送出する。また、動作テストの証左物の確認要求がユーザから受け付けられた際、証左物集約保持部632に保持された証左物、言い換えれば第1の試験実行装置500a〜第3の試験実行装置500cのそれぞれにおいて取得された証左物を、一括して所定の表示装置へ送出する。
なお本実施の形態では、IF部110はウェブサーバの機能を有する。したがって、入力部112は外部(ウェブブラウザ等)からの要求をHTTP通信により受け付け、出力部118は各種データをHTTP通信より外部(ウェブブラウザ等)へ送信する。例えばテスト情報提供部614は、図示しないウェブブラウザに対してテスト実行状況を送信し、テスト実行状況の表示処理をそのウェブブラウザで実行させてもよい。
データ処理部130は、テストケース登録部136と、操作記録部137と、入力データ記録部138と、ファイル変換部620とを有する。ファイル変換部620は、動作テストの開始指示がユーザから受け付けられた際、データ保持部140に保持されたテスト制御用ファイル(操作内容ファイル・入力データファイル・ケースファイル)の記録データを、特定のアプリケーションプログラムに依存しない形式のデータへ変換する。
本実施の形態でのファイル変換部620は、オリジナルのテスト制御用ファイルを、試験実行装置500と試験管理装置600との間で構造が予め定められた構造化文書、具体的にはXML文書へ変換する。例えばファイル変換部620は、特定の表計算ソフトのライブラリをコールしてテスト制御用ファイルの記録データにアクセスし、スプレッドシート上の各カラムを所定のタグや属性に対応づけて記録データを転記することにより、XML文書を生成してもよい。
なお、テスト制御ファイルの形式をXML文書に変換する目的は、特定の表計算ソフトが未インストールの試験実行装置500においてもテスト制御用ファイルの記録データにアクセス可能とすることである。したがって、変形例として、ファイル変換部620は、テスト制御用ファイルをプレーンテキストファイルへ変換してもよい。また、各種データ項目のデータ長が予め定められたバイナリデータファイルへ変換してもよい。
図21は、図19の試験実行装置500の機能構成を示すブロック図である。データ保持部140は、操作内容ファイル保持部530と、プログラム保持部144と、入力データファイル保持部534と、ケースファイル保持部536と、テスト状況保持部538と、証左物保持部540とを有する。
操作内容ファイル保持部530と、入力データファイル保持部534と、ケースファイル保持部536とのそれぞれは、試験管理装置600から受け付けられた制御用ファイルを保持する記憶領域である。具体的には、試験管理装置600においてXML文書化された操作内容ファイル、入力データファイル、ケースファイルのそれぞれを保持する。テスト状況保持部538は、動作テストの実行状況を保持する記憶領域である。証左物保持部540は、動作テストの証左物を保持する記憶領域である。
IF部110の入力部112は、実行エンジン取得部502と、ファイル取得部504と、ページ取得部506とを有する。実行エンジン取得部502は、テスト実行エンジンを試験管理装置600から取得して、試験実行装置500内にインストールする。具体的には、プログラム生成部132およびプログラム実行部134をメインメモリに展開して、動作可能な状態としてもよい。なお、実行エンジン取得部502は、JavaWebStart(「Java」は登録商標)の仕組みを実装し、テスト実行エンジンが更新される都度、最新のテスト実行エンジンを試験管理装置600から自動ダウンロードし、自動インストールしてもよい。
ファイル取得部504は、XML文書化されたテスト制御用ファイルを試験実行装置500から取得して、操作内容ファイル保持部530、入力データファイル保持部534、ケースファイル保持部536のそれぞれに格納する。ページ取得部506は、HTTPリクエストに対するHTTPレスポンス、具体的にはウェブページのデータを試験対象装置402から取得して後述するページ表示制御部510へ送出する。
IF部110の出力部118は、ページ表示制御部510と、要求送信部512と、テスト情報通知部514とを有する。ページ表示制御部510は、試験対象装置402から取得されたウェブページのデータをディスプレイへ送出することにより、ディスプレイにウェブページを表示させる。要求送信部512は、試験対象装置402に対してHTTPリクエストを送信する。
テスト情報通知部514は、テスト実行状況の通知要求が試験管理装置600から受け付けられた際、テスト状況保持部538に保持されたテスト実行状況のデータを試験管理装置600へ送信する。また、後述する証左物設定部522において証左物のデータが設定される都度、そのデータを証左物保持部540から取得して試験管理装置600へ逐次送信する。
データ処理部130は、プログラム生成部132と、プログラム実行部134と、ブラウザ処理部520と、証左物設定部522とを備える。プログラム生成部132は、操作内容ファイル保持部530およびケースファイル保持部536を参照して、XML文書化された操作内容ファイルおよびケースファイルの記録データにしたがって動作テスト用プログラムを生成する。例えば、操作内容ファイルに記録された関数に対応する関数、具体的にはOSやウェブブラウザが公開するAPIを呼び出す命令を動作テスト用プログラムのプログラムコードに設定してもよい。プログラム生成部132は、設定した動作テスト用プログラムをプログラム保持部144へ格納する。
プログラム実行部134は、入力データファイル保持部534に格納されたXML文書化された入力データファイルから入力データを適宜取得して、プログラム保持部144に格納された動作テスト用プログラムを実行する。その実行に際し、ウェブブラウザの操作が必要な場合は、後述するブラウザ処理部520に対して操作要求を送出する。また、証左物の取得が必要な場合は、後述する証左物設定部522に対して取得要求を送出する。
ブラウザ処理部520は、プログラム実行部134からの要求に応じてウェブブラウザを操作する。具体的には、ウェブブラウザの起動・停止、ウェブページのGET・POST要求、ウェブページ内の入力フィールドへのデータ設定等を実行する。なお、ブラウザ処理部520、ページ取得部506、ページ表示制御部510の機能は、試験実行装置500にインストールされたウェブブラウザにより提供されてもよい。
証左物設定部522は、プログラム実行部134からの要求に応じて動作テストの証左物を設定し、その証左物を証左物保持部540へ格納する。具体的には、ウェブページの画面スナップを取得し、また、試験対象装置402とのHTTP通信で送受されるデータを取得する。なお、画面スナップの取得機能はOSにより提供されてもよく、HTTP通信データの取得機能は、試験実行装置500にインストールされたパケットキャプチャソフトにより提供されてもよい。
以上の構成による動作を以下説明する。
図22は、第1実施形態の動作検証システム1000の動作を示すフローチャートである。同図では、1つの試験実行装置500を示しているが、第1の試験実行装置500a〜第3の試験実行装置500cは並行して同様の動作を行う。
試験管理装置600は、OSの起動時等、装置の初期起動時にウェブサーバを立ち上げる(S10)。試験実行装置500の実行エンジン取得部502は、装置の初期起動時にテスト実行エンジンのデータを試験管理装置600からダウンロードし、インストールする(S12)。試験管理装置600の操作検出部115がユーザからの動作テスト実行指示を受け付けると(S14)、ファイル変換部620はテスト制御用ファイルをXML文書化し(S16)、ファイル送信部612はそのXML文書を試験実行装置500へ送信する(S18)。試験管理装置600のファイル取得部504はXML文書化されたテスト制御用ファイルを取得し、プログラム生成部132はそのテスト制御用ファイルから動作テスト用プログラムを生成する。
プログラム実行部134は、動作テスト用プログラムを実行することにより、ブラウザ処理部520を介して、試験対象装置402が提供するウェブページの動作テストを実行する(S20)。試験実行装置500の証左物設定部522はプログラム生成部132からの要求に応じて動作テストの証左物を取得し(S22)、テスト情報通知部514はその証左物を試験管理装置600へ逐次送信する(S24)。試験管理装置600の試験情報取得部602は、複数の試験実行装置500のそれぞれから送信された証左物を一括して取得し、証左物集約保持部632へ格納する(S26)。
試験管理装置600の操作検出部115がテスト状況の確認要求をユーザから受け付けると、試験情報取得部602は、テスト状況の通知要求を試験実行装置500のそれぞれへ送信する(S28)。試験実行装置500のテスト情報通知部514は、テスト状況を試験管理装置600へ送信する(S30)。試験管理装置600のテスト情報提供部614は、試験実行装置500のそれぞれから通知されたテスト状況を一括してディスプレイに表示させる(S32)。なお図22には不図示であるが、テスト情報提供部614は、証左物の確認要求がユーザから受け付けられた際、証左物集約保持部632に格納された証左物、すなわち試験実行装置500のそれぞれから送信された証左物を一括してディスプレイに表示させる。
第1実施形態の動作検証システム1000では、動作検証装置100の機能が試験実行装置500と試験管理装置600とに分散配置された。したがって、動作検証システム1000の構成は、参考技術1および参考技術2に記載の効果をそのまま奏するとともに、さらに以下の効果を奏するものである。
動作検証システム1000によれば、試験実行装置500における動作テストの実行状況を、ユーザが所望する任意のタイミングで確認可能になる。すなわち、ウェブページの動作テストが試験実行装置500のフォアグラウンドプロセスで実行される場合でも、ユーザは、試験実行装置500を直接操作することなく、試験管理装置600を介して、動作テストの実行状況を確認できる。
また動作検証システム1000によれば、複数の試験実行装置500に対して試験管理装置600からテスト制御用ファイルが一括配信される。また、複数の試験実行装置500のそれぞれにおけるテスト状況および証左物が、試験管理装置600により一括して収集されてユーザに提示される。これにより、複数の試験実行装置500においてウェブページの動作確認が必要な場合でも、その効率を向上できる。
さらに動作検証システム1000によれば、試験管理装置600においてテスト制御用ファイルが特定のアプリケーションプログラムに非依存の形式に変換される。これにより、試験実行装置500において前提となる動作環境(ハードウェア環境やソフトウェア環境)の制約が低減される。言い換えれば、様々な種類のOS環境やウェブブラウザ環境でのウェブページの動作テストを自動化でき、動作テストの網羅性を効率的に高めることができる。
(第2の実施の形態)
図23は、第2実施形態の動作検証システムの構成を示す。第2実施形態の動作検証システム1000は、第1実施形態の動作検証システム1000に複数のユーザ端末700を加えた構成である。複数のユーザ端末700のそれぞれ(以下総称して、単に「ユーザ端末700」とも呼ぶ。)は、公知の通信網を介して試験管理装置600と接続される。
ユーザ端末700は、ユーザにより操作される情報処理装置であり、試験管理装置600に対してウェブページの動作テストの開始を指示し、その実行状況を試験管理装置600から取得して所定のディスプレイに表示する。ユーザ端末700は、ウェブブラウザがインストールされており、そのウェブブラウザを介したHTTP通信により試験管理装置600とのデータ交換を実行する。
試験管理装置600の機能構成は、第1実施形態の試験管理装置600と同様である。以下異なる部分を説明する。試験管理装置600のIF部110は、ユーザ端末700とのHTTP通信を実行する通信処理部をさらに有する。この通信処理部は、テスト制御用ファイルのアップロードをユーザ端末700から受け付けて、データ保持部140へ格納する。また、ウェブページの動作テストの開始指示をユーザ端末700から受け付ける。また、動作テストの実行状況の確認要求をユーザ端末700から受け付け、その実行状況をユーザ端末700へ送信する。また、動作テストの証左物のダウンロード要求をユーザ端末700から受け付け、その証左物をユーザ端末700へ送信する。
試験管理装置600のデータ保持部140は、第1の試験実行装置500a〜第3の試験実行装置500cそれぞれにおける動作テストの実行状況を一括して保持する記憶領域であるテスト状況集約保持部をさらに有する。本実施の形態では、テスト状況集約保持部および証左物集約保持部632は、データベース管理システム(DBMS)のテーブルとして実装される。試験管理装置600のテスト情報提供部614は、テスト実行状況や証左物の参照に関するDBクエリをユーザ端末700から受け付け、そのDBクエリにしたがってテスト実行状況や証左物を選択的に提供してもよい。また、DBクエリにしたがってテスト実行状況や証左物の提示態様を編集・調整してもよい。
以上の構成による動作を以下説明する。
図24は、第2実施形態の動作検証システム1000の動作を示すフローチャートである。S40〜S42は、図22のS10〜S12と同じである。ユーザ端末700は、ユーザにより編集されたテスト制御用ファイルを試験管理装置600へアップロードする(S44)。そしてユーザ端末700は、ユーザからの動作テスト実行指示を試験管理装置600へ送信する(S46)。以降のS48〜S60は、図22のS14〜S26と同じである。ユーザ端末700は、テスト状況の確認要求を試験管理装置600へ送信し(S62)、試験管理装置600の試験情報取得部602は、テスト状況の通知要求を試験実行装置500のそれぞれへ送信する(S64)。試験実行装置500のテスト情報通知部514は、テスト状況を試験管理装置600へ送信する(S66)。
続いて試験管理装置600のテスト情報提供部614は、試験実行装置500のそれぞれから通知されたテスト状況を一括してテスト状況集約保持部へ格納するとともにユーザ端末700へ転送する(S68)。ユーザ端末700は、試験管理装置600から送信されたテスト状況を受信してディスプレイに表示させる(S70)。またユーザ端末700は、動作テストの証左物のダウンロード要求を試験管理装置600へ送信する(S72)。試験管理装置600のテスト情報提供部614は、証左物集約保持部632に格納された証左物、すなわち試験実行装置500のそれぞれから送信された証左物を一括してユーザ端末700へ送信する(S74)。ユーザ端末700は、試験管理装置600から取得された証左物の内容をディスプレイに表示させる(S76)。なお試験管理装置600は、複数のユーザ端末700のそれぞれから受け付けた要求に対する各種処理を並行して実行してもよいことはもちろんである。
第2実施形態の動作検証システム1000は、第1実施形態の動作検証システム1000に対し、動作テストの開始指示および結果確認を行うユーザ端末が加わり3層構成となったものである。したがって、第2実施形態の動作検証システム1000の構成は、参考技術1、参考技術2、および第1実施形態に記載の効果をそのまま奏するとともに、さらに以下の効果を奏する。
動作検証システム1000によれば、試験管理装置600および試験実行装置500によるウェブページの動作テストを、複数のユーザ端末700のそれぞれに対して統一されたインタフェースでのサービスとして提供できる。言い換えれば、ウェブページの動作テストがSaaS(Software as a Service)として実現される。すなわち、ユーザは自身の端末から動作テストの開始を指示すれば、その結果を後から確認するだけでよく、ユーザの負担が軽減されて利便性が向上する。また、各ユーザ端末700は、動作テスト実行のための各種プログラムをインストールする必要がなく、汎用的な機能構成であることが許容される。
また動作検証システム1000によれば、動作テストの実行状況および証左物がDBMS上で管理されるため、DBクエリ等による情報の検索や加工を容易に行うことができる。また、動作テストの結果に関する時系列での履歴管理も容易になる。
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
上記実施の形態では言及していないが、試験管理装置600は、第1の試験実行装置500a〜第3の試験実行装置500cのそれぞれから取得された証左物を検証する検証部をさらに備えてもよい。この検証部は、第1の試験実行装置500a〜第3の試験実行装置500cのそれぞれから取得された証左物を照合して、それらの同一性や整合性を特定する。第1の試験実行装置500a〜第3の試験実行装置500cのそれぞれから取得された証左物に同一性や整合性が認められれば、検出部は、外部のユーザやユーザ端末700に対して照合成功の検証結果を通知する。一方で、それらの証左物に同一性や整合性が認められなければ、照合失敗の検証結果を通知する。この変形例によれば、複数の試験実行装置500のそれぞれで得られた証左物を試験実行装置500が一括して照合することにより、ユーザによる証左物の取得作業および照合作業が不要になり、ユーザの負担を低減できる。
上記実施の形態では、テスト状況集約保持部および証左物集約保持部632がDBMSのテーブルとして実装されることについて、第2実施形態でのみ言及した。変形例では、第1実施形態の試験管理装置600もテスト状況集約保持部をさらに備えてもよく、テスト状況集約保持部および証左物集約保持部632がDBMSのテーブルとして実装されてもよい。
上記第2の実施の形態では言及していないが、試験管理装置600のテスト情報提供部614は、複数のユーザ端末700のうちの1つから受け付けた動作テスト実行指示に基づく動作テストの結果を、他のユーザ端末700に対して提供してもよい。例えば、試験管理装置600は、あるユーザ端末700から受け付けた動作テスト実行指示に基づく動作テストの結果を示すウェブページを、複数のユーザ端末700のそれぞれに送信して表示させてもよい。これにより、複数のユーザ間で動作テスト状況を共有させることができ、複数ユーザの協同による動作テストの遂行を支援できる。
上述した参考技術、実施の形態、変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる参考技術、実施の形態、変形例それぞれの効果をあわせもつ。
請求項に記載の各構成要件が果たすべき機能は、参考技術、実施の形態、変形例において示された各構成要素の単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
132 プログラム生成部、 134 プログラム実行部、 137 操作記録部、 402 試験対象装置、 500 試験実行装置、 514 テスト情報通知部、 600 試験管理装置、 602 試験情報取得部、 612 ファイル送信部、 614 テスト情報提供部、 620 ファイル変換部、 700 ユーザ端末、 1000 動作検証システム。

Claims (4)

  1. ウェブページを表示するウェブブラウザに対する操作に応じたウェブサーバの動作を確認するためのテスト・プログラムを実行する試験実行装置と、
    前記テスト・プログラムの実行を管理する試験管理装置と、を備え、
    前記試験管理装置は、
    前記ウェブページに含まれるオブジェクトの識別情報と、前記オブジェクトをマウス・クリックする操作または前記オブジェクトに対するデータ入力操作で入力されたデータとの組み合わせが記録されたログを取得し、前記マウス・クリックする操作または前記データ入力操作を自動的に実行する処理がそれぞれ記述されたロジックが組み込まれた関数が記録される操作内容ファイルに対して、前記ログに記録された前記データ入力操作については前記ウェブページに含まれるオブジェクトの識別情報と前記オブジェクトに入力されたデータを記述した入力データファイル内の入力データを指定する識別子とを引数とする入力関数を記録し、前記ログに記録されたマウス・クリックする操作については各操作の操作対象であるオブジェクトの識別情報を引数とする関数を記録する操作記録部と、
    前記操作内容ファイルとは異なるファイルであって、前記ウェブページへの入力データが記録された入力データファイルと、前記操作内容ファイルとを前記試験実行装置へ送信するファイル送信部と、を有し、
    前記試験実行装置は、
    前記操作内容ファイルに記録された関数を呼び出すコールステップを組み合わせたプログラムコードを設定することにより、前記ウェブページに対して実行された一連の操作を再現するためのテスト・プログラムを生成するプログラム生成部と、
    前記入力データファイルから前記識別子で指定される入力データを取得して前記入力関数に渡すことにより、前記テスト・プログラムを実行させるプログラム実行部と、
    前記テスト・プログラムの実行による前記ウェブサーバの動作結果を示す情報を前記試験管理装置へ通知するテスト状況通知部と、を有し、
    前記試験管理装置は、前記ウェブサーバの動作結果の確認要求が受け付けられた際、前記試験実行装置から通知された前記ウェブサーバの動作結果を示す情報を出力するテスト状況提供部をさらに有することを特徴とする動作検証システム。
  2. 前記試験管理装置は、特定のアプリケーションプログラムに依存する形式の操作内容ファイルを、前記特定のアプリケーションプログラムに非依存の形式のファイルへ変換するファイル変換部をさらに有し、
    前記試験管理装置のファイル送信部は、前記特定のアプリケーションプログラムを未搭載の試験実行装置へ、前記非依存の形式のファイルを前記操作内容ファイルとして送信し、
    前記試験実行装置のプログラム生成部は、前記非依存の形式のファイルに記録されたデータにしたがってテスト・プログラムを生成することを特徴とする請求項1に記載の動作検証システム。
  3. 前記試験管理装置のファイル送信部は、前記ウェブサーバの動作確認の開始指示がユーザ端末から受け付けられた際、前記入力データファイルと前記操作内容ファイルとを前記試験実行装置へ送信し、
    前記試験管理装置のテスト状況提供部は、前記ウェブサーバの動作結果の確認要求が前記ユーザ端末から受け付けられた際、前記試験実行装置から通知された前記ウェブサーバの動作結果を示す情報を前記ユーザ端末へ提供することを特徴とする請求項1または2に記載の動作検証システム。
  4. 前記テスト・プログラムの実行環境が互いに異なる複数の試験実行装置を備え、
    前記試験管理装置のファイル送信部は、前記複数の試験実行装置のそれぞれに対して、前記入力データファイルと前記操作内容ファイルとを送信し、
    前記試験管理装置のテスト状況提供部は、前記複数の試験実行装置のそれぞれから通知された前記ウェブサーバの動作結果を示す情報を一括して出力することを特徴とする請求項1から3のいずれかに記載の動作検証システム。
JP2010024651A 2009-03-30 2010-02-05 動作検証システム Active JP4846031B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2010024651A JP4846031B2 (ja) 2010-02-05 2010-02-05 動作検証システム
PCT/JP2010/000722 WO2010116586A1 (ja) 2009-03-30 2010-02-05 動作検証装置、動作検証方法、および動作検証システム
CN201080003435.1A CN102227716B (zh) 2009-03-30 2010-02-05 动作验证装置、动作验证方法、以及动作验证系统
US13/067,009 US9495280B2 (en) 2009-03-30 2011-05-02 Operation verifying apparatus, operation verifying method and operation verifying system
US15/167,113 US10346288B2 (en) 2009-03-30 2016-05-27 Operation verifying apparatus, operation verifying method and operation verifying system
US16/410,185 US10860463B2 (en) 2009-03-30 2019-05-13 Operation verifying apparatus, operation verifying method and operation verifying system
US17/088,875 US11580011B2 (en) 2009-03-30 2020-11-04 Operation verifying apparatus, operation verifying method and operation verifying system
US18/096,420 US20230153230A1 (en) 2009-03-30 2023-01-12 Operation verifying apparatus, operation verifying method and operation verifying system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010024651A JP4846031B2 (ja) 2010-02-05 2010-02-05 動作検証システム

Publications (2)

Publication Number Publication Date
JP2011164787A JP2011164787A (ja) 2011-08-25
JP4846031B2 true JP4846031B2 (ja) 2011-12-28

Family

ID=44595418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010024651A Active JP4846031B2 (ja) 2009-03-30 2010-02-05 動作検証システム

Country Status (1)

Country Link
JP (1) JP4846031B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6079265B2 (ja) * 2013-01-25 2017-02-15 富士通株式会社 制御プログラム、制御方法および制御装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005690A (ja) * 1999-06-21 2001-01-12 Nec Ic Microcomput Syst Ltd プログラムテストシステム
JP2002236598A (ja) * 2001-02-08 2002-08-23 Hitachi Information Systems Ltd 画面操作内容の表示方法及び該方法を実現するためのプログラム
JP2007102654A (ja) * 2005-10-07 2007-04-19 Hitachi Software Eng Co Ltd テストスクリプト処理プログラム
JP2008117093A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd ユーザ操作記録・再現方法及び装置

Also Published As

Publication number Publication date
JP2011164787A (ja) 2011-08-25

Similar Documents

Publication Publication Date Title
US11860821B2 (en) Generating target application packages for groups of computing devices
CN108628661B (zh) 云制造服务的自动建置方法、云制造系统
WO2010116586A1 (ja) 動作検証装置、動作検証方法、および動作検証システム
US9910651B2 (en) System for developing, testing, deploying, and managing applications in real-time
US9608931B2 (en) Migration assessment for cloud computing platforms
US6832220B1 (en) Method and apparatus for file searching, accessing file identifiers from reference page
US10572546B2 (en) Information processing apparatus, document display method, document display system, and medium
US10915378B1 (en) Open discovery service
JP4282312B2 (ja) Webサーバ、Javaサーブレットの機能を有するWebサーバ、およびコンピュータプログラム
US20060218164A1 (en) Document management device and document management program
JP4795446B2 (ja) 動作検証装置および動作検証プログラム
JP4681673B1 (ja) 動作検証装置、動作検証方法および動作検証プログラム
JP4846029B2 (ja) 動作検証装置、動作検証方法および動作検証プログラム
JP4846030B2 (ja) 動作検証装置、動作検証方法および動作検証プログラム
JP4846031B2 (ja) 動作検証システム
JP5379911B2 (ja) 動作検証装置、動作検証方法および動作検証プログラム
JP2013037580A (ja) 情報処理装置
JP2010039901A (ja) 動作検証装置および動作検証プログラム
JP4903279B2 (ja) 動作検証装置、動作検証方法、および動作検証プログラム
JP4903278B2 (ja) 動作検証装置、動作検証方法および動作検証プログラム
JP5379910B2 (ja) 動作検証装置、動作検証方法および動作検証プログラム
US8387040B2 (en) Dynamic creation of client-side environment for problem analysis
Mossige Developing data catalogue extensions for metadata harvesting in GIS
JP2005148861A (ja) 情報取得プログラム、情報取得方法および情報取得装置
Pot’vin et al. Metric Extensions and Management Plug-ins: by Alex Gorbachev

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110314

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110314

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110810

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111004

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111011

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4846031

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250