JP4903278B2 - 動作検証装置、動作検証方法および動作検証プログラム - Google Patents
動作検証装置、動作検証方法および動作検証プログラム Download PDFInfo
- Publication number
- JP4903278B2 JP4903278B2 JP2010024648A JP2010024648A JP4903278B2 JP 4903278 B2 JP4903278 B2 JP 4903278B2 JP 2010024648 A JP2010024648 A JP 2010024648A JP 2010024648 A JP2010024648 A JP 2010024648A JP 4903278 B2 JP4903278 B2 JP 4903278B2
- Authority
- JP
- Japan
- Prior art keywords
- web page
- web browser
- program
- test
- function
- 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
Links
- 238000000034 method Methods 0.000 title claims description 111
- 238000012795 verification Methods 0.000 title claims description 81
- 238000012360 testing method Methods 0.000 claims description 225
- 230000006870 function Effects 0.000 claims description 215
- 238000012545 processing Methods 0.000 claims description 58
- 230000008569 process Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 6
- 238000012905 input function Methods 0.000 claims 11
- 238000010586 diagram Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 240000000220 Panda oleosa Species 0.000 description 3
- 235000016496 Panda oleosa Nutrition 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 241000258937 Hemiptera Species 0.000 description 1
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 229910052711 selenium Inorganic materials 0.000 description 1
- 239000011669 selenium Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
図1(a)は、ポータルサイト第1画面300の画面図である。
参考技術1においては、ポータル・サイト「XYZ!」を対象とした動作テストについて説明する。ポータルサイト第1画面300は、エディットボックス302と検索リンク304を含む。検索リンク304は、「ウェブ」、「ブログ」、「画像」、「辞書」という4つのリンクを含む。ユーザがエディットボックス302に文字列を入力し、検索リンク304のうちのいずれかをマウス・クリックすると、入力文字列の検索が開始される。たとえば、エディットボックス302に文字列「液晶」と入力し、リンク「ウェブ」をマウス・クリックした場合、文字列「液晶」を含むウェブサイトが検索対象となる。エディットボックス302に文字列「液晶」と入力し、リンク「ブログ」をマウス・クリックした場合には、このポータル・サイトに開設されているブログ(Weblog)のうち、文字列「液晶」を含むブログページが検索対象となる。
ここでは、エディットボックス302に文字列「テスト」が入力され、リンク「辞書」がマウス・クリックされたとする。
ポータルサイト第1画面300にて、「テスト」を入力し、「辞書」をマウス・クリックすると、図1(b)に示すポータルサイト第2画面310が表示される。検索結果欄306には、このポータル・サイトが提供している「辞書」サービスにより、文字列「テスト」に関連する項目が羅列される。
ここで、検索結果欄306の1番上にあるリンク「テスト(test)」がマウス・クリックされたとする。
A1.ポータルサイト第1画面300のエディットボックス302に文字列「テスト」を入力する操作。
A2.ポータルサイト第1画面300の検索リンク304のうち、リンク「辞書」をマウス・クリックする操作。
A3.ポータルサイト第2画面310の検索結果欄306のうち、リンク「テスト(test)」をマウス・クリックする操作。
以下においては、上記A1〜A3の操作により実現される動作過程のことを、「辞書テスト」とよぶ。
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の文法に基づいて説明するが、符合文のフォーマットはこれに限られるものではない。
Browser("XYZ!").Page("XYZ!").WebEdit("p").Set"テスト"
に含まれる文字列「テスト」を別の文字列「テイスト」に変更し、
Browser("XYZ!").Page("XYZ!").WebEdit("p").Set"テイスト"
と書き換えてQTPに入力すれば、エディットボックス302への入力文字列だけ変更した同内容の辞書テストを自動実行できる。
しかし、ログ320を書き換えながら動作テストを実行するには、ログ320の文法に関してある程度の知識が必要である。また、ログ320の書き換えに際し、人為的なミスが発生する可能性がある。
ログ320により動作テストを実行する代わりに、ログ320と同等の内容をVB(Visual Basic)スクリプト等で記述することにより、テスト・プログラムを作成してもよい。図3に示すプログラム330は、図2のログ320を参照しつつ作成されたテスト・プログラムである。
たとえば、操作A1は、
WebEditSet(Browser("XYZ!").Page("XYZ!").WebEdit("p"),DataTable("p1,dtGlobalSheet")
というVB関数により表現される。WebEditSet関数の具体的なロジックは、同図中段に記述されている通りである。
d1.プログラムを作成する手間が新たに発生する。
d2.プログラム作成者によって、プログラムの内容が変化する。たとえば、プログラマP1が操作A1に対応して作成するWebEditSet関数と、プログラマP2が操作A1に対応して作成するWebEditSet関数は、関数名は同じでもロジックが同一になるとは限らない。また、プログラム自体にバグが混入する可能性がある。このため、プログラム330自体の信頼性を担保するための取り組みが必要となる。また、プログラム330には、例外処理等、動作テストとは直接関係しないロジックも必要であるが、全てのプログラマが例外処理まで考慮したロジックを実装するとは限らない。たとえば、図3に示すWebEditSet関数の場合、入力データが空文字の場合にも対応できるようにロジックが組まれているが、別のプログラマがWebEditSet関数を実装する場合には、こういった配慮が欠如するかもしれない。
結果として、プログラマのスキルが動作テストの内容・結果に影響を及ぼしやすくなってしまう。
本明細書のブロック図が示す各機能ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組み合わせによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、各機能ブロックは、コンピュータプログラムとして記録媒体に格納され、情報処理装置のハードディスクにインストールされ、適宜メインメモリに読み出されてプロセッサにより実行されてもよい。
動作検証装置100は、専用ハードウェアとして形成されてもよいし、ウェブブラウザなどのユーザインタフェースと連携するソフトウェア・モジュールとして形成されてもよい。
参考技術1の動作検証装置100とは、QTPのアドオンとして形成されるソフトウェア・モジュールであるとして説明する。
IF部110は、ユーザやQTPとのインタフェースを担当する。データ処理部130は、IF部110やデータ保持部140から取得されたデータを元にして各種のデータ処理を実行する。データ処理部130は、IF部110とデータ保持部140との間のインタフェースの役割も果たす。データ保持部140は、各種データを保持するための記憶領域である。
IF部110は、入力部112と出力部118を含む。入力部112はユーザやQTPからの入力処理を担当し、出力部118はユーザやQTPに対する出力処理を担当する。入力部112は、ログ取得部114と入力データ取得部116を含む。ログ取得部114は、QTPからログを取得する。入力データ取得部116は、入力データファイルを取得し、入力データファイルからプログラムに提供する入力データを取得する。入力データファイルの詳細については、図5や図9に関連して詳述する。
データ処理部130は、プログラム生成部132、プログラム実行部134およびテストケース登録部136を含む。プログラム生成部132は、動作テスト用のプログラムを自動的に生成する。プログラム実行部134は、生成されたプログラムを実行させる。参考技術1においては、QTPにプログラムを実行させる。テストケース登録部136は、実行セットをケースファイルに登録する。実行セットおよびケースファイルについては図10に関連して詳述する。
データ保持部140は、ログ保持部142、プログラム保持部144、入力データファイル保持部146、ケースファイル保持部148、関数保持部150および結果保持部152を含む。ログ保持部142は、ログを保持する。プログラム保持部144は、プログラムを保持する。入力データファイル保持部146は、入力データファイルを保持する。ケースファイル保持部148は、ケースファイルを保持する。関数保持部150は、動作テスト用のプログラムに登録される関数について、関数ライブラリを保持する。結果保持部152は、動作テストの結果を保持する。
まず、動作テストの対象となる機器を手動操作する。参考技術1においては、クライアント端末のウェブブラウザを操作して、ポータル・サイト「XYZ!」にアクセスする。QTPはログを生成し、ログ取得部114はQTPからログを取得する。各種符合文にはあらかじめ関数が対応づけられている。関数設定画面表示部120は、関数保持部150の関数ライブラリを読み出し、ログに含まれる各符号文に対応する関数を一覧表示させる(S1)。関数設定画面表示部120において、ユーザは、適宜、関数を追加・変更・削除できる。こうして、プログラムに含まれるべき関数が特定される。S1については、図7に関連して後に詳述する。
実行セット1:プログラムP1+入力データファイルF2
実行セット2:プログラムP2+入力データファイルF6
としてケースファイルに登録される。S4については、図10に関連して詳述する。
最後に、ケースファイルにしたがって、プログラムを実行する(S5)。上記例の場合には、プログラム実行部134は、実行セット1と実行セット2を連続実行させる。プログラム実行部134は、プログラムの実行結果、いいかえれば、テスト結果を結果保持部152に登録する。
ログ取得部114がログを取得すると、出力部118はログ画面200におけるログ表示領域202にログを画面表示させる。ユーザは、QTPのログをログ表示領域202にコピー&ペーストしてもよい。あるいは、出力部118は、ログ画面200の表示時において、QTPが生成したログ(ファイル)を取得し、ログ表示領域202に画面表示させてもよい。ユーザが実行ボタン204をマウス・クリックすると、次の図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にて設定される。
m1.GUI(Graphical User Interface)ベースで関数を選択するだけで、プログラムに含めたいロジックを選択できる。プログラムを作成するための手間がほとんどかからない。
m2.プログラムに含まれる関数は、関数ライブラリとして登録済みの関数であるため、作成者によってプログラムの品質がばらつきにくい。例外処理等の必要なロジックも、あらかじめ各関数に組み込まれている。
関数設定画面210において、プログラム作成ボタン211がマウス・クリックされると、プログラム生成部132がプログラムを生成し、プログラム画面表示部124はプログラム画面220におけるプログラム表示領域222にそのソースコードを表示させる。プログラムは、プログラム保持部144に保持される。
関数設定画面210において、入力データファイル作成ボタン213がマウス・クリックされると、入力設定画面表示部122は入力設定画面230を表示させる。関数設定画面210においては、パラメータpとqが定義されている。番号欄232は入力順序、変数欄234はパラメータpへの入力データ、変数欄236はパラメータqへの入力データを示す。入力設定画面230では、このパラメータpとqに代入する入力データを設定する。各入力データは、入力データファイルとして入力データファイル保持部146に保持される。
1.文字列「テスト」をエディットボックス302に入力して辞書を検索し、実行結果を示す画面に文字列「試験」が含まれているかを判定するテスト
2.文字列「test」をエディットボックス302に入力して辞書を検索し、実行結果を示す画面に文字列「試験」が含まれているかを判定するテスト
3.文字列「テストケース」をエディットボックス302に入力して辞書を検索し、実行結果を示す画面に文字列「試験」が含まれているかを判定するテスト
・・・のように、異なる入力データに基づく複数の辞書テストを連続実行できる。
関数設定画面210において、テストケース設定ボタン215がマウス・クリックされると、ケース設定画面表示部126はケース設定画面240を表示させる。番号欄244は実行順序、実行セット欄245は実行セットの概要、プログラム欄246は実行対象となるプログラム、入力データファイル欄247は入力データの抽出対象となる入力データファイルを示す。
ここでは、インターネット証券のウェブ・サイトを動作テストの対象として説明する。
テスト・シナリオの構成や入力データファイル等を少しずつ変化させることにより、動作テストのバリエーションを広げやすくなる。
動作検証装置100によれば、プログラムと入力データ、すなわち、処理とパラメータを分離できる。そして、そのためのプログラムをGUIベースの設定に基づき自動生成できる。これにより、プログラムに含めるロジックの多様性を確保しつつも、安定した品質のプログラムを簡易に生成できる。また、入力データファイルの内容を変更するだけで、動作テストの内容を変更できるため、動作テストのバリエーションを広げやすくなる。
参考技術2では、上記の参考技術1を改良した動作検証装置100を提案する。
まず、参考技術1における動作検証装置100と、参考技術2の動作検証装置100とを比較しつつ、参考技術2の動作検証装置100についてその概要を説明する。
テストケース1:
実行セット1:操作内容ファイルF01+入力データファイルF12
実行セット2:操作内容ファイルF02+入力データファイルF16
としてケースファイルに登録される。ケース設定画面240については、図18に関連して後述する。
2回目の繰り返しでは、ログイン2.xlsに記録された関数に対してログインデータ2.xlsの36行目のデータ「h_yamada」が渡される。そして、検索記入.xlsに記録された図15のNo1の関数に対して検索記入データ.xlsの2行目・氏名漢字のデータ「山田花子」が渡される。また、図15のNo2の関数に対して検索記入データ.xlsの2行目・氏名カナのデータ「ヤマダハナコ」が渡される。
3回目の繰り返しにおいても同様に、インクリメントされた行番号における入力データが各関数に渡されることになる。
以下、本発明の実施の形態を説明するが、まずその概要を説明する。
現在、数多くのウェブブラウザが公開されており、ユーザのPCにおいても様々な種類のウェブブラウザが使用されている。したがって動作検証装置としては、複数種のウェブブラウザによるウェブページの動作テストをサポートできることが望ましい。この場合、動作検証装置は、ウェブブラウザの仕様に応じてウェブブラウザを操作する必要があり、そのアーキテクチャは以下の2つに大別される。なお、動作テストの対象となるウェブページを、以下では「テスト対象ページ」とも称する。
ウェブブラウザが外部に公開するAPI、すなわちウェブブラウザに表示中のテスト対象ページへの入力操作を受け付けるインタフェース(以下、「操作IF」とも呼ぶ)を呼び出すことにより、ウェブブラウザを外部から操作する。本実施の形態の操作IFは、具体的には、テスト対象ページに対してデータを入力し、またテスト対象ページのフォームを実行させ、またウェブサーバに対するGETリクエストやPOSTリクエストを送信させるための関数である。
テスト対象ページへの入力操作を受け付けて、その入力操作をウェブブラウザに実行させるスクリプト文書(以下、「制御コード」とも呼ぶ)を、テスト対象ページのプログラムコード(すなわちHTML文書)に対して追記する。そして、その制御コードを呼び出すことにより、ウェブブラウザを内部から操作する。言い換えれば、ウェブブラウザに表示されたウェブページに予め埋め込まれたスクリプト文書によってそのウェブブラウザを操作する。
図23は、動作検証装置100の動作を示すフローチャートである。同図は、動作検証装置100において動作テスト用プログラムが実行される際の動作を示すものである。例えば、図12におけるS218の詳細を示すものであり、図14におけるS228の詳細を示すものでもある。
Claims (5)
- ウェブページを表示するウェブブラウザに対する操作に応じたウェブサーバの動作を確認するためのテスト・プログラムを実行させる装置であって、
前記ウェブページに含まれるオブジェクトの識別情報と、前記オブジェクトをマウス・クリックする操作または前記オブジェクトに対するデータ入力操作で入力されたデータとの組み合わせが記録されたログを取得し、前記マウス・クリックする操作または前記データ入力操作を自動的に実行する処理がそれぞれ記述されたロジックが組み込まれた関数が記録される操作内容ファイルに対して、前記ログに記録された前記データ入力操作については前記ウェブページに含まれるオブジェクトの識別情報と前記オブジェクトに入力されたデータを記述した入力データファイル内の入力データを指定する識別子とを引数とする入力関数を記録し、前記ログに記録されたマウス・クリックする操作については各操作の操作対象であるオブジェクトの識別情報を引数とする関数を記録する操作記録部と、
前記操作内容ファイルに記録された関数を呼び出すコールステップを組み合わせたプログラムコードを設定することにより、前記ウェブページに対して実行された一連の操作を再現するためのテスト・プログラムを生成するプログラム生成部と、
を備え、
前記ウェブブラウザが備えるインタフェースであって、前記ウェブブラウザに表示中のウェブページに対する操作を前記ウェブブラウザに指示するための操作インタフェースを、そのウェブページのプログラムコードを介して呼び出すべきか否かに関わらず、前記テスト・プログラムに設定された前記操作内容ファイルに記録された関数は、共通のインタフェースを呼び出すものであり、
前記ウェブページへの入力データが記録された入力データファイルから前記識別子で指定される入力データを取得して前記入力関数に渡すことにより、前記テスト・プログラムを前記ウェブブラウザの外部で実行させ、前記テスト・プログラムの実行において、前記共通のインタフェースを前記テスト・プログラムから呼び出させるプログラム実行部と、
前記共通のインタフェースが呼び出された場合、前記ウェブブラウザに表示中のウェブページのプログラムコードを介することなく前記ウェブブラウザが備える操作インタフェースを呼び出すことにより、前記ウェブブラウザに表示中のウェブページに含まれるオブジェクトに対する操作を前記ウェブブラウザに実行させる第1のテスト実行部と、
前記ウェブページのプログラムコードを取得し、前記ウェブブラウザが備える操作インタフェースを呼び出す新たなコードをそのプログラムコードに追加後、前記ウェブブラウザに前記ウェブページを表示させるプロキシ処理部と、
前記共通のインタフェースが呼び出された場合、前記ウェブブラウザに表示中のウェブページにおける前記新たなコードを呼び出し、前記新たなコードを介して前記ウェブブラウザが備える操作インタフェースを呼び出すことにより、前記ウェブブラウザに表示中のウェブページに含まれるオブジェクトに対する操作を前記ウェブブラウザに実行させる第2のテスト実行部と、
予め所定の記憶領域に保持された前記ウェブブラウザに関する情報が、前記ウェブブラウザが備える操作インタフェースを、前記ウェブブラウザの外部から呼び出し可能であることを示す場合は、前記第1のテスト実行部を動作させる一方、当該操作インタフェースを前記ウェブページのプログラムコードを介して呼び出す必要があることを示す場合は、前記プロキシ処理部および前記第2のテスト実行部を動作させるテスト主体選択部と、
をさらに備えることを特徴とする動作検証装置。 - ウェブページを表示するウェブブラウザに対する操作に応じたウェブサーバの動作を確認するためのテスト・プログラムを実行させる装置であって、
前記ウェブページに含まれるオブジェクトの識別情報と、前記オブジェクトをマウス・クリックする操作または前記オブジェクトに対するデータ入力操作で入力されたデータとの組み合わせが記録されたログを取得し、前記マウス・クリックする操作または前記データ入力操作を自動的に実行する処理がそれぞれ記述されたロジックが組み込まれた関数が記録される操作内容ファイルに対して、前記ログに記録された前記データ入力操作については前記ウェブページに含まれるオブジェクトの識別情報と前記オブジェクトに入力されたデータを記述した入力データファイル内の入力データを指定する識別子とを引数とする入力関数を記録し、前記ログに記録されたマウス・クリックする操作については各操作の操作対象であるオブジェクトの識別情報を引数とする関数を記録する操作記録部と、
前記操作内容ファイルに記録された関数を呼び出すコールステップを組み合わせたプログラムコードを設定することにより、前記ウェブページに対して実行された一連の操作を再現するためのテスト・プログラムを生成するプログラム生成部と、
を備え、
前記テスト・プログラムに設定された前記操作内容ファイルに記録された関数は、前記ウェブブラウザが備えるインタフェースであって、前記ウェブブラウザに表示中のウェブページに対する操作を前記ウェブブラウザに指示するための操作インタフェースを呼び出すものであり、
前記ウェブページへの入力データが記録された入力データファイルから前記識別子で指定される入力データを取得して前記入力関数に渡すことにより、前記テスト・プログラムを実行させるプログラム実行部と、
前記テスト・プログラムの実行において前記ウェブブラウザに表示中のウェブページに含まれるオブジェクトに対する操作を行うべき場合、前記ウェブブラウザが備える操作インタフェースを呼び出すことにより、当該オブジェクトに対する操作を前記ウェブブラウザに実行させるテスト実行部と、
をさらに備えることを特徴とする動作検証装置。 - ウェブページを表示するウェブブラウザに対する操作に応じたウェブサーバの動作を確認するためのテスト・プログラムを実行させる装置であって、
前記ウェブページに含まれるオブジェクトの識別情報と、前記オブジェクトをマウス・クリックする操作または前記オブジェクトに対するデータ入力操作で入力されたデータとの組み合わせが記録されたログを取得し、前記マウス・クリックする操作または前記データ入力操作を自動的に実行する処理がそれぞれ記述されたロジックが組み込まれた関数が記録される操作内容ファイルに対して、前記ログに記録された前記データ入力操作については前記ウェブページに含まれるオブジェクトの識別情報と前記オブジェクトに入力されたデータを記述した入力データファイル内の入力データを指定する識別子とを引数とする入力関数を記録し、前記ログに記録されたマウス・クリックする操作については各操作の操作対象であるオブジェクトの識別情報を引数とする関数を記録する操作記録部と、
前記操作内容ファイルに記録された関数を呼び出すコールステップを組み合わせたプログラムコードを設定することにより、前記ウェブページに対して実行された一連の操作を再現するためのテスト・プログラムを生成するプログラム生成部と、
前記ウェブページのプログラムコードを取得し、前記ウェブブラウザが備えるインタフェースであって、前記ウェブブラウザに表示中のウェブページに対する操作を前記ウェブブラウザに指示するための操作インタフェースを呼び出す新たなコードをそのプログラムコードに追加後、前記ウェブブラウザに前記ウェブページを表示させるプロキシ処理部と、
を備え、
前記テスト・プログラムに設定された前記操作内容ファイルに記録された関数は、前記ウェブブラウザに表示中のウェブページにおける前記新たなコードを呼び出すものであり、
前記ウェブページへの入力データが記録された入力データファイルから前記識別子で指定される入力データを取得して前記入力関数に渡すことにより、前記テスト・プログラムを実行させるプログラム実行部と、
前記テスト・プログラムの実行において前記ウェブブラウザに表示中のウェブページに含まれるオブジェクトに対する操作を行うべき場合、前記ウェブブラウザに表示中のウェブページにおける前記新たなコードを呼び出し、前記新たなコードを介して前記ウェブブラウザが備える操作インタフェースを呼び出すことにより、前記ウェブブラウザに表示中のウェブページに含まれるオブジェクトに対する操作を前記ウェブブラウザに実行させるテスト実行部と、
をさらに備えることを特徴とする動作検証装置。 - ウェブページを表示するウェブブラウザに対する操作に応じたウェブサーバの動作を確認するためのテスト・プログラムを実行させる装置に、
前記ウェブページに含まれるオブジェクトの識別情報と、前記オブジェクトをマウス・クリックする操作または前記オブジェクトに対するデータ入力操作で入力されたデータとの組み合わせが記録されたログを取得し、前記マウス・クリックする操作または前記データ入力操作を自動的に実行する処理がそれぞれ記述されたロジックが組み込まれた関数が記録される操作内容ファイルに対して、前記ログに記録された前記データ入力操作については前記ウェブページに含まれるオブジェクトの識別情報と前記オブジェクトに入力されたデータを記述した入力データファイル内の入力データを指定する識別子とを引数とする入力関数を記録し、前記ログに記録されたマウス・クリックする操作については各操作の操作対象であるオブジェクトの識別情報を引数とする関数を記録する操作記録機能と、
前記操作内容ファイルに記録された関数を呼び出すコールステップを組み合わせたプログラムコードを設定することにより、前記ウェブページに対して実行された一連の操作を再現するためのテスト・プログラムを生成するプログラム生成機能と、
を実現させ、
前記ウェブブラウザが備えるインタフェースであって、前記ウェブブラウザに表示中のウェブページに対する操作を前記ウェブブラウザに指示するための操作インタフェースを、そのウェブページのプログラムコードを介して呼び出すべきか否かに関わらず、前記テスト・プログラムに設定された前記操作内容ファイルに記録された関数は、共通のインタフェースを呼び出すものであり、
前記ウェブページへの入力データが記録された入力データファイルから前記識別子で指定される入力データを取得して前記入力関数に渡すことにより、前記テスト・プログラムを前記ウェブブラウザの外部で実行させ、前記テスト・プログラムの実行において、前記共通のインタフェースを前記テスト・プログラムから呼び出させるプログラム実行機能と、
前記共通のインタフェースが呼び出された場合、前記ウェブブラウザに表示中のウェブページのプログラムコードを介することなく前記ウェブブラウザが備える操作インタフェースを呼び出すことにより、前記ウェブブラウザに表示中のウェブページに含まれるオブジェクトに対する操作を前記ウェブブラウザに実行させる第1のテスト実行機能と、
前記ウェブページのプログラムコードを取得し、前記ウェブブラウザが備える操作インタフェースを呼び出す新たなコードをそのプログラムコードに追加後、前記ウェブブラウザに前記ウェブページを表示させるプロキシ処理機能と、
前記共通のインタフェースが呼び出された場合、前記ウェブブラウザに表示中のウェブページにおける前記新たなコードを呼び出し、前記新たなコードを介して前記ウェブブラウザが備える操作インタフェースを呼び出すことにより、前記ウェブブラウザに表示中のウェブページに含まれるオブジェクトに対する操作を前記ウェブブラウザに実行させる第2のテスト実行機能と、
予め所定の記憶領域に保持された前記ウェブブラウザに関する情報が、前記ウェブブラウザが備える操作インタフェースを、前記ウェブブラウザの外部から呼び出し可能であることを示す場合は、前記第1のテスト実行機能を動作させる一方、当該操作インタフェースを前記ウェブページのプログラムコードを介して呼び出す必要があることを示す場合は、前記プロキシ処理機能および前記第2のテスト実行機能を動作させるテスト主体選択機能と、
をさらに実現させるための動作検証プログラム。 - ウェブページを表示するウェブブラウザに対する操作に応じたウェブサーバの動作を確認するためのテスト・プログラムを実行させる装置により実行される方法であって、
前記ウェブページに含まれるオブジェクトの識別情報と、前記オブジェクトをマウス・クリックする操作または前記オブジェクトに対するデータ入力操作で入力されたデータとの組み合わせが記録されたログを取得し、前記マウス・クリックする操作または前記データ入力操作を自動的に実行する処理がそれぞれ記述されたロジックが組み込まれた関数が記録される操作内容ファイルに対して、前記ログに記録された前記データ入力操作については前記ウェブページに含まれるオブジェクトの識別情報と前記オブジェクトに入力されたデータを記述した入力データファイル内の入力データを指定する識別子とを引数とする入力関数を記録し、前記ログに記録されたマウス・クリックする操作については各操作の操作対象であるオブジェクトの識別情報を引数とする関数を記録するステップと、
前記操作内容ファイルに記録された関数を呼び出すコールステップを組み合わせたプログラムコードを設定することにより、前記ウェブページに対して実行された一連の操作を再現するためのテスト・プログラムを生成するステップと、
を備え、
前記ウェブブラウザが備えるインタフェースであって、前記ウェブブラウザに表示中のウェブページに対する操作を前記ウェブブラウザに指示するための操作インタフェースを、そのウェブページのプログラムコードを介して呼び出すべきか否かに関わらず、前記テスト・プログラムに設定された前記操作内容ファイルに記録された関数は、共通のインタフェースを呼び出すものであり、
予め所定の記憶領域に保持された前記ウェブブラウザに関する情報が、前記ウェブブラウザが備える操作インタフェースを、前記ウェブブラウザの外部から呼び出し可能であることを示す場合は第1のテスト実行処理を実行する一方、当該操作インタフェースを前記ウェブページのプログラムコードを介して呼び出す必要があることを示す場合は第2のテスト実行処理を実行するステップと、
をさらに備え、
前記第1のテスト実行処理は、
前記ウェブページへの入力データが記録された入力データファイルから前記識別子で指定される入力データを取得して前記入力関数に渡すことにより、前記テスト・プログラムを前記ウェブブラウザの外部で実行させ、前記テスト・プログラムの実行において、前記共通のインタフェースを前記テスト・プログラムから呼び出させるステップと、
前記共通のインタフェースが呼び出された場合、前記ウェブブラウザに表示中のウェブページのプログラムコードを介することなく前記ウェブブラウザが備える操作インタフェースを呼び出すことにより、前記ウェブブラウザに表示中のウェブページに含まれるオブジェクトに対する操作を前記ウェブブラウザに実行させるステップと、を含み、
前記第2のテスト実行処理は、
前記ウェブページのプログラムコードを取得し、前記ウェブブラウザが備える操作インタフェースを呼び出す新たなコードをそのプログラムコードに追加後、前記ウェブブラウザに前記ウェブページを表示させるステップと、
前記ウェブページへの入力データが記録された入力データファイルから前記識別子で指定される入力データを取得して前記入力関数に渡すことにより、前記テスト・プログラムを前記ウェブブラウザの外部で実行させ、前記テスト・プログラムの実行において、前記共通のインタフェースを前記テスト・プログラムから呼び出させるステップと、
前記共通のインタフェースが呼び出された場合、前記ウェブブラウザに表示中のウェブページにおける前記新たなコードを呼び出し、前記新たなコードを介して前記ウェブブラウザが備える操作インタフェースを呼び出すことにより、前記ウェブブラウザに表示中のウェブページに含まれるオブジェクトに対する操作を前記ウェブブラウザに実行させるステップと、を含むことを特徴とする動作検証方法。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201080003435.1A CN102227716B (zh) | 2009-03-30 | 2010-02-05 | 动作验证装置、动作验证方法、以及动作验证系统 |
PCT/JP2010/000722 WO2010116586A1 (ja) | 2009-03-30 | 2010-02-05 | 動作検証装置、動作検証方法、および動作検証システム |
JP2010024648A JP4903278B2 (ja) | 2010-02-05 | 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 |
---|---|---|---|
JP2010024648A JP4903278B2 (ja) | 2010-02-05 | 2010-02-05 | 動作検証装置、動作検証方法および動作検証プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011164784A JP2011164784A (ja) | 2011-08-25 |
JP4903278B2 true JP4903278B2 (ja) | 2012-03-28 |
Family
ID=44595416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010024648A Active JP4903278B2 (ja) | 2009-03-30 | 2010-02-05 | 動作検証装置、動作検証方法および動作検証プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4903278B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727591A (zh) * | 2019-10-11 | 2020-01-24 | 集奥聚合(北京)人工智能科技有限公司 | 一种基于建模页面自动化测试方法 |
Family Cites Families (4)
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 | ユーザ操作記録・再現方法及び装置 |
-
2010
- 2010-02-05 JP JP2010024648A patent/JP4903278B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011164784A (ja) | 2011-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10860463B2 (en) | Operation verifying apparatus, operation verifying method and operation verifying system | |
EP2808790B1 (en) | Migration assessment for cloud computing platforms | |
EP1873701A1 (en) | Systems and methods for providing a mockup data generator | |
US20080126931A1 (en) | System and method for recording and reproducing user operation | |
CN111290951B (zh) | 测试方法、终端、服务器、系统及存储介质 | |
JP4795446B2 (ja) | 動作検証装置および動作検証プログラム | |
JP2004362000A (ja) | ウェブアプリケーション開発支援装置、コンポーネント呼び出し監視装置、データ処理方法及びプログラム | |
JP4282312B2 (ja) | Webサーバ、Javaサーブレットの機能を有するWebサーバ、およびコンピュータプログラム | |
US20100162113A1 (en) | Operation support system, operation support method, and operation support program | |
JP4681673B1 (ja) | 動作検証装置、動作検証方法および動作検証プログラム | |
JP4846029B2 (ja) | 動作検証装置、動作検証方法および動作検証プログラム | |
JP4846030B2 (ja) | 動作検証装置、動作検証方法および動作検証プログラム | |
JP4795404B2 (ja) | 動作検証装置および動作検証プログラム | |
JP5379911B2 (ja) | 動作検証装置、動作検証方法および動作検証プログラム | |
JP4903278B2 (ja) | 動作検証装置、動作検証方法および動作検証プログラム | |
JP2013037580A (ja) | 情報処理装置 | |
JP4903279B2 (ja) | 動作検証装置、動作検証方法、および動作検証プログラム | |
WO2012042561A1 (ja) | 画像取得装置、画像取得方法およびコンピュータプログラム | |
JP4846031B2 (ja) | 動作検証システム | |
JPWO2012042560A1 (ja) | 画像取得装置、画像取得方法およびコンピュータプログラム | |
JP5379910B2 (ja) | 動作検証装置、動作検証方法および動作検証プログラム | |
US20080313603A1 (en) | User interface archive | |
Salama | “Down With Regression!”–Generating Test Suites for the Web | |
Kalyanam et al. | A web service-enabled distributed workflow system for scientific data processing | |
JP2005148861A (ja) | 情報取得プログラム、情報取得方法および情報取得装置 |
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 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111128 |
|
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: 20111213 |
|
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: 20120104 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4903278 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150113 Year of fee payment: 3 |
|
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 |