JP2010113380A - テスト基盤装置、テスト基盤プログラム、テスト基盤方法 - Google Patents
テスト基盤装置、テスト基盤プログラム、テスト基盤方法 Download PDFInfo
- Publication number
- JP2010113380A JP2010113380A JP2008282699A JP2008282699A JP2010113380A JP 2010113380 A JP2010113380 A JP 2010113380A JP 2008282699 A JP2008282699 A JP 2008282699A JP 2008282699 A JP2008282699 A JP 2008282699A JP 2010113380 A JP2010113380 A JP 2010113380A
- Authority
- JP
- Japan
- Prior art keywords
- parameter
- name
- value
- replacement
- test
- 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.)
- Withdrawn
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】 アクセスの都度受け付けるパラメータの名前が変化するWebアプリケーションに対するテストを自動化するテスト基盤装置、テスト基盤プログラム、テスト基盤方法を提供する。
【解決手段】 テストの対象であるアプリケーションとテストツールの仲介をするテスト基盤装置であって、アプリケーションからのレスポンスとテストツールからのクエストを受信する受信部と、受信部により受信されたレスポンスとリクエストに含まれるパラメータの名前と値を抽出する抽出部と、抽出部により抽出されたパラメータが置換の対象か否かを判断する判断部と、レスポンスに含まれ置換の対象であるパラメータの名前と値を任意の名前と値に置換する置換部と、置換部によって置換されたパラメータをテストツールへ送信する第1送信部と、リクエストに含まれ置換の対象であるパラメータの名前と値を復元する復元部と、復元部によって復元されたパラメータをアプリケーションへ送信する第2送信部とを備える。
【選択図】 図1
【解決手段】 テストの対象であるアプリケーションとテストツールの仲介をするテスト基盤装置であって、アプリケーションからのレスポンスとテストツールからのクエストを受信する受信部と、受信部により受信されたレスポンスとリクエストに含まれるパラメータの名前と値を抽出する抽出部と、抽出部により抽出されたパラメータが置換の対象か否かを判断する判断部と、レスポンスに含まれ置換の対象であるパラメータの名前と値を任意の名前と値に置換する置換部と、置換部によって置換されたパラメータをテストツールへ送信する第1送信部と、リクエストに含まれ置換の対象であるパラメータの名前と値を復元する復元部と、復元部によって復元されたパラメータをアプリケーションへ送信する第2送信部とを備える。
【選択図】 図1
Description
本発明は、Webアプリケーションのテスト環境に関するものである。
近年、インターネットの普及によってWebアプリケーションが広く用いられるようになり、Webアプリケーションを介したサーバへの攻撃も増大してきている。
そこで、Webアプリケーションの開発においては、インターネット上での使用を前提としたWebアプリケーションの場合、「クロスサイトスクリプティング」脆弱性のテストを行うことは一般的となってきている。
図14に「クロスサイトスクリプティング」の攻撃の例を示す。この例におけるWebアプリケーションは、入力された氏名を元にウェルカムメッセージのページを表示するものである。攻撃を受けずWebアプリケーションが実行された正常なケースの場合、下線で示したように、リクエストで入力した値がそのままレスポンスに出力される。しかし、問題のあるケースに示す四角で囲まれた箇所のように、出力HTMLに特殊記号の「<」や「/>」が埋め込まれることによる改ざんなどの攻撃を受けることがある。
このようなWebアプリケーションの外部からの入力を許可している箇所に対し、脆弱性をテストする技術がある。このテスト技術において、テストはテストツールによる自動化が可能である。また、テストツールは、Webアプリケーションの構造上の特徴により、テスト対象とする画面へ直接遷移することが困難である点を回避するため次に示す3つのフェーズから構成される。
この3つのフェーズとは、テストの事前段階として、テスト対象とする画面までの経路を学習する経路学習フェーズ、実際のテスト段階として、学習した経路を再現する経路再現フェーズ、最後に実際のテストフェーズである。
まず、テストツールは、経路学習フェーズ(図15参照)で、利用者の手動操作による画面遷移を画面遷移経路として記憶する。さらに、テストツールは、手動による操作を、ブラウザが送信するパラメータの名前とその値として記憶する。
次に、テストツールは、経路再現フェーズ(図16参照)で、記憶済みのパラメータの名前と値を順次送信し、テスト対象の画面までの画面遷移経路を再現する。
次に、テストツールは、テストフェーズ(図16参照)で、テスト対象画面のパラメータに対し、テストケースの名前と値の組み合わせを送信し、Webアプリケーションの反応を診断する。
開発規模も増大し、攻撃の危険も増大するWebアプリケーションの開発において、上述したテストツールによる自動化された脆弱性のテストは不可欠となってきている。
なお、従来技術としては、テスト対象となるWebアプリケーションサーバ装置に対し、シナリオに従ってリクエストメッセージの送信とレスポンスメッセージの受信とを順に行う複数の仮想Webクライアントを生成する技術が開示されている。
特開2007−264810号公報
しかしながら、図17に示すように、一部のWeb開発フレームワークやWebアプリケーションでは、アクセスのたびにパラメータの名前や値を変更するものが存在する。この場合、テストツールが経路学習時に学習したパラメータの名前を用いてパラメータの送信を行うため、経路再現が適切に行えずWebアプリケーションにて実行エラーとなった。
よって、アクセスの都度受け付けるパラメータの名前が変化するWebアプリケーションにおいて、テストツールによる自動テストの適用が困難であった。また、このようなWebアプリケーションのテストには、自動テストと同様の手作業を行わねばならず、結果としてコスト増大を招く。
そこで、開示する技術は上述した問題点を解決するために、アクセスの都度受け付けるパラメータの名前が変化するWebアプリケーションに対するテストを自動化することを目的とする。
上述した課題を解決するため、テスト基盤装置は、テストの対象であるアプリケーションとテストツールとの仲介をし、アプリケーションからのレスポンスを受信する第1受信部と、前記第1受信部により受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出部と、前記第1抽出部により抽出されたパラメータが置換の対象か否かを判断する第1判断部と、前記第1判断部によって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換部と、前記第1判断部によって置換の対象でないと判断されたパラメータの名前とその値と、前記置換部によって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信部と、前期テストツールからのリクエストを受信する第2受信部と、前記第2受信部により受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出部と、前記第2抽出部により抽出されたパラメータが置換の対象か否かを判断する第2判断部と、前記第2判断部によって置換の対象と判断されたパラメータに対し、前記置換部が保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元部と、前記第2判断部によって置換の対象でないと判断されたパラメータの名前とその値と、前記復元部によって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信部とを備える。
また、テスト基盤プログラムは、テストの対象であるアプリケーションとテストツールとの仲介をし、アプリケーションからのレスポンスを受信する第1受信ステップと、前記第1受信ステップにより受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出ステップと、前記第1抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第1判断ステップと、前記第1判断ステップによって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換ステップと、前記第1判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記置換ステップによって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信ステップと、前期テストツールからのリクエストを受信する第2受信ステップと、前記第2受信ステップにより受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出ステップと、前記第2抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第2判断ステップと、前記第2判断ステップによって置換の対象と判断されたパラメータに対し、前記置換ステップが保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元ステップと、前記第2判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記復元ステップによって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信ステップとをコンピュータに実行させる。
さらに、テスト基盤方法は、テストの対象であるアプリケーションとテストツールとの仲介をし、アプリケーションからのレスポンスを受信する第1受信ステップと、前記第1受信ステップにより受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出ステップと、前記第1抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第1判断ステップと、前記第1判断ステップによって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換ステップと、前記第1判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記置換ステップによって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信ステップと、前期テストツールからのリクエストを受信する第2受信ステップと、前記第2受信ステップにより受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出ステップと、前記第2抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第2判断ステップと、前記第2判断ステップによって置換の対象と判断されたパラメータに対し、前記置換ステップが保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元ステップと、前記第2判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記復元ステップによって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信ステップとを実行するものである。
アクセスの都度受け付けるパラメータの名前が変化するWebアプリケーションに対するテストを自動化することができるという効果を奏する。
以下、本発明の実施の形態について図面を参照しつつ説明する。
まず、図1に本実施の形態に係るテスト基盤装置の概要につい示す。
図1に示すように、本実施の形態に係るテスト基盤装置10は、テストツール20とWebアプリケーション30(アプリケーション)の間の通信の中継、通信内容の解析、パラメータの置換と復元を行う。なお、本実施の形態において、パラメータの置換とは、Webアプリケーション30からの下り通信(レスポンス)に含まれ、アクセスの都度変化するパラメータの名前を変化しない「別名(所定の名前)」に置換することを示す。また、パラメータの復元とは、テストツール20からの上り通信(リクエスト)に含まれ、「別名」に置換されているパラメータの名前をオリジナルのパラメータの名前へ復元することを示す。
次に、図2に経路学習時のテストツール20とWebアプリケーション30の間の通信データに関するパラメータとその値について示す。
図2に示すように、テスト基盤装置10は、テスト対象であるWebアプリケーション30のAA.jspからのレスポンスに対し、パラメータの名前を「別名」に、パラメータの値を任意の固定値である仮想値(所定の値)に置換し、テストツール20に送信する。図中では、「Pref_001=“001”」を「AA_00=“SOMETHING”」、「Time_002=“10:25”」を「AA_01=“SOMETHING”」に置換している。
また、これらのパラメータに対応するテストツール20からのリクエストに対し、置換されているパラメータの名前とその値をオリジナルのパラメータの名前とその値に復元し、Webアプリケーション30へ送信する。図中では、「AA_00=“SOMETHING”」を「Pref_001=“001”」、「AA_01=“SOMETHING”」を「Time_002=“10:25”」に復元している。
同様に、テスト基盤装置10は、Webアプリケーション30であるBB.jspからのレスポンスに対し、パラメータの置換を行い、テストツール20へ送信し、これに対するテストツール20からのリクエストに対し、パラメータの名前とその値を復元し、Webアプリケーション30であるBB.jspへ送信する。
なお、図中においてオリジナルのパラメータの名前とその値である「Pref_003=“001”」、「Time_004=“10:30”」に対し、置換後のパラメータの名前とその値は、「BB_00=“SOEMTHING”」、「BB_01=“SOMETHING”」である。
さらに、テスト基盤装置10は、パラメータの置換に係わる情報として、「別名」に置換したパラメータに関するオリジナルのパラメータの名前とその値、及び置換後のパラメータの名前である別名と仮想値に関する情報を保持する。
次に、図2で示した学習経路に基づく経路再現時(経路再現フェーズ)およびテスト実行時(テストフェーズ)のテストツール20とWebアプリケーション30の間の通信データに関するパラメータとその値について図3に示す。
Webアプリケーション30であるAA.jspおよびBB.jspは、経路学習時のパラメータの名前を「Pre_001」は「Pre_005」、「Time_002」は「Time_006」、「Pref_003」は「Pref_007」「Time_004」は「Time_008」と変化させ、さらに、「Time_006」、「Time_008」の値を経路再現時の時間に合わせた値に変えてレスポンスを送信する。
このように経路再現時およびテスト実行時に、パラメータの名前とその値が経路学習時と異なる名前と値で送信されたとき、テスト基盤装置10は、経路学習時に保持したパラメータの置換に係わる情報を基に、パラメータの名前とその値を、経路学習時と同一のパラメータの名前とその値へ置換し、テストツール20へ送信する。
図中では、「Pref_005=“001”」を「AA_00=”SOMETHING”」、「Time_006=“11:30”」を「AA_01=”SOMETHING”」、「Pref_007=“001”」を「BB_00=“SOMETHING”」、「Time_008=“11:35"」を「BB_01=”SOMETHING“」に置換している。
さらに、テスト基盤装置10は、オリジナルの名前とその値が変化したパラメータに対し、保持しているパラメータの置換に係わる情報の更新を行う。
次に、これに対応するテストツール20からのリクエストに対し、テスト基盤装置10は、パラメータの置換に係わる情報を基に、置換されているパラメータの名前とその値をオリジナルのパラメータの名前とその値に復元し、Webアプリケーション30へ送信する。
図3に示すように、テスト基盤装置10は、経路再現時、「AA_00=“SOMETHING”」を「Pref_005=“001”」、「AA_01=“SOMETHING”」を「Time_006=“11:30”」に復元している
なお、テスト実行時、テストツール20は、パラメータの値をテストのための値に変更して送付する。図中、テストツール20は、BB_001の値を“<script>”としている。テスト基盤装置10は、このようなパラメータの値が置換後の仮想値と異なるパラメータを受信したとき、該当するパラメータがテスト実行中であると判断し、パラメータの値は復元をせず、Webアプリケーション30へ送付する。
図中で、テスト実行時、「BB_00=“SOMETHING”」を「Pref_007=“001”」、「BB_01=“<script>”」を「Time_008=“<script>”」に復元している。
次に、図4に本発明の実施の形態に係るテスト基盤装置の構成の一例を示す。
本実施の形態に係るテスト基盤装置10は、テストにおいて、テストツール20とWebアプリケーション30の間に設置されるものである。
また、テスト基盤装置10は、データ受信部101(第1受信部、第2受信部)、データ解析部102(第1抽出部、第2抽出部、第1判断部、第2判断部)、置換・復元部103(置換部、復元部)、データ送信部104(第1送信部、第2送信部)の機能を備える。また、テスト基盤装置10は、対象パラメータ定義ルール111、対応情報112(置換前と置換後のパラメータの名前とその値)の情報を保持する。
次に、テスト基盤装置10が保持する各情報について説明する。
まず、対象パラメータ定義ルール111を図5に示す。対象パラメータ定義ルール111は、テストツール20とWebアプリケーション30間で通信されるパラメータがそれぞれ置換の対象であるか否かを定義した情報である。また、対象パラメータ定義ルール111は、ページURL用ルール、パラメータ名用ルール、置換の対象か非対象かを示す処理内容で構成される。
次に、対応情報112について説明する。対応情報112は、置換対象であるパラメータに対する置換前と置換後のパラメータの名前とその値の管理情報である。対応情報112は、ページURL、パラメータ出現位置、置換後のパラメータの名前とその値、置換前のオリジナルのパラメータの名前とその値で構成される。なお、パラメータ出現位置とはページ内の全パラメータに付与した連番である。
まず、図6に、経路学習時の対応情報112を示す。対応情報112は、経路学習時、新規に登録される。図7は経路再現時(テスト実行時)の対応情報112を示す。対応情報112は、経路再現時、Webアプリケーション30が経路学習時と異なるパラメータの名前や値でレスポンスを送信した場合、置換前のパラメータの名前とその値とが更新されるものである。
次に、テスト基盤装置10の各機能について説明する。
データ受信部101は、テストツール10からのリクエストとWebアプリケーションからのレスポンスを受信し、データ解析部102へ引き渡す機能を有する。
また、データ解析部102は、レスポンスやリクエストに含まれるパラメータ部分からパラメータの名前とその値を抽出する機能を有する。さらに、通信がレスポンスの場合、送信元URLとパラメータの出現位置を特定する機能を有する。
また、置換・復元部103は、通信がレスポンスの場合、対象パラメータ定義ルール111にて置換の対象と定義されているパラメータに対し、「別名」を生成し、パラメータの名前とその値を「別名」と仮想値に置換する機能を有する。さらに、置換・復元部103は、置換前と置換後のパラメータの名前とその値を対応情報112へ登録する機能を有する。さらに、置換・復元部103は、通信がリクエストの場合、対応情報112を参照し、パラメータの名前が置換されて「別名」となっているパラメータとその値をオリジナルのパラメータの名前とその値へ復元する機能を有する。なお、置換・復元部103は、パラメータの名前が「別名」に置換されていてその値が仮想値とことなるパラメータに対し、その値を復元しない。この処理によってテスト基盤装置10は、テストツール20がテストの対象としてパラメータの値をテスト用の値にしてリクエストを送信することを妨げない。
データ送信部104は、通信がレスポンスの場合、置換・復元部103にて置換されたパラメータとその値をテストツール20へ送信する機能を有する。また、通信がリクエストの場合、データ送信部104は、置換・復元部103にて復元されたパラメータとその値をWebアプリケーション30へ送信する機能を有する。
なお、これら各機能は、テスト基盤装置10に備えられた図示しないCPU、メモリ、ハードディスク等のハードウェア資源とソフトウェアとが協働することで実現される。
次に、Webアプリケーション30からのレスポンスを受信した場合のテスト基盤装置10の動作の概要を説明する。
まず、テスト基盤装置10は、Webアプリケーション30からのレスポンスをデータ受信部101が受信することで処理を開始する。データ受信部101は、受信した通信データをデータ解析部102へ引き継ぐ。次に、データ解析部102は、送信元URLとパラメータの出現位置を特定し、パラメータの名前とその値の抽出を行う。ここで、データ解析部102は、抽出したパラメータが置換処理の対象か非対象かを判断し、置換処理の対象のパラメータを置換・復元部103へ引き継ぐ。次に、置換・復元部103は、パラメータの名前に対応する別名を生成し対応情報112へ登録する。さらに、置換・復元部103は、パラメータの名前とその値を「別名」と仮想値に置換し、データ送信部104へ引き継ぐ。次に、データ送信部104は、置換の非対象であるパラメータは受信時のオリジナルの名前と値、置換・復元部103で置換されたパラメータは置換後の名前とその値をテストツール10へ送信する。
次に、通信がレスポンスの場合のテスト基盤装置10の処理の一例を図8にフローチャートで示す。
まず、テスト基盤装置10のデータ受信部101がWebアプリケーション30からデータを受信することで処理を開始する。データ受信部101は、Webアプリケーション30から受信した通信内容を解析し、データがレスポンスであることを確認し、データ解析部102へ処理を引き継ぐ(S10、第1受信ステップ)。次に、データ解析部102は、データを解析し、置換の対象であるパラメータを置換・復元部103へ処理を引き継ぐ(S11、第1抽出ステップ、第1判断ステップ)。次に、置換・復元部103は、データを置換し、データ送信部104へ処理を引き継ぐ(S12、置換ステップ)。最後に、データ送信部104は、置換の対象、非対象を問わず全てのパラメータとその値をテストツール20へ転送する(S13、第1送信ステップ)。
次に、通信がレスポンスの場合のデータ解析部102の処理の一例を図9にフローチャートで示す。
データ解析部102は、データ受信部101によって起動される。起動時、データ解析部102は、データ受信部102から、Webアプリケーション30からのレスポンス情報を引き継がれ、処理を開始する。まず、データ解析部102は、HTTPヘッダから送信元URLを特定し(S111、第1抽出ステップ)、Formタグの位置を特定する(S112、第1抽出ステップ)。次に、パラメータ部分の解析をし、パラメータの名前とその値を抽出する(S113、第1抽出ステップ)。次に、対象パラメータ定義ルール111を参照し、抽出したパラメータが置換処理の対象であるか非対象であるかの判断を行う(S114、第1判断ステップ)。
次に、通信がレスポンスの場合の置換・復元部103の処理の一例を図10にフローチャートで示す。
置換・復元部103は、データ解析部102によって起動され、同時にデータ解析部102によって抽出された置換対象であるパラメータとその値を引き継がれ、処理を開始する。
置換・復元部103は、次の処理を引き継がれた全てのパラメータに対し行う(S121からS128)。まず、置換・復元部103は、パラメータに対し、「別名」生成する(S122、置換ステップ)。なお、「別名」の生成規則については、後述する。次に、置換・復元部103は、パラメータの名前を「別名」に置換し(S123、置換ステップ)、パラメータの値を仮想値に置換する(S124、置換ステップ)。
次に、置換・復元部103は、生成した「別名」が、対応情報112に登録済みか否かの判断を行い(S125、置換ステップ)、登録済みの場合(S125、YES、置換ステップ)、対応情報112の該当レコードのオリジナルのパラメータの名前とその値を更新し(S127、置換ステップ)、登録されていない場合(S125、NO、置換ステップ)、対応情報112へ、送信元URL、パラメータの出現位置、置換後のパラメータの「別名」と仮想値、オリジナルのパラメータの名前とその値を新規登録する(S126、置換ステップ)。
最後に、全てのパラメータに関する「別名」と置換した仮想値をデータ送信部104へ引き継ぐ。
次に、テスト基盤装置10の置換・復元部103にて生成されるパラメータの「別名」について説明する。
パラメータの「別名」は、パラメータの送信元ページのURLの識別値とパラメータの出現位置を要素として生成される。
送信元ページのURLの識別値とは、URLのハッシュ値や連番などにより送信元ページが特定可能となる値である。また、パラメータの出現位置とは、同一ページ内でのパラメータの識別値である。例えば、同一ページ内のパラメータ付与した連番を識別値とする。
本実施の形態では、「別名」の生成の例として、送信元のページのURLの識別値が「XX」、パラメータの出現位置が「NN」のパラメータの場合、別名を「XX_NN」とする。
生成されたパラメータの「別名」は、対応情報112にて管理される。パラメータの「別名」は、「送信元ページURLの識別値とパラメータの出現位置」の組み合わせと互いに一意となり、また、「別名」に対する「オリジナルなパラメータの名前とその値と置換後の任意な固定値」の組み合わせが一意となる。
このように「別名」を生成し、管理することにより、同一ページの同一パラメータは、パラメータの名前が変わっても同一視でき、同一ページ内の同名パラメータであっても異なるパラメータは区別することが可能となる。また、異なるページに存在する同名のパラメータも区別することが可能となる。
次に、テストツール20からのリクエストを受信した場合のテスト基盤装置10の動作の概要を説明する。
テスト基盤装置10は、テストツール10からのリクエストをデータ受信部101が受信することで処理を開始する。まず、データ受信部101は、受信した通信データをデータ解析部102へ引き継ぐ。次に、データ解析部102は、パラメータの名前とその値の抽出し、置換・復元部103へ引き継ぐ。次に置換・復元部103は、パラメータを対応情報112と照会し、オリジナルのパラメータへ復元する。さらに、置換・復元部103は、オリジナルのパラメータとその値とともに、データ送信部104へ処理を引き継ぐ。次に、データ送信部104は、復元されたパラメータとその値をWebアプリケーション30へ送信する。
次に、通信がリクエストの場合のテスト基盤装置10の処理の一例を図11にフローチャートで示す。
まず、テスト基盤装置10のデータ受信部101がテストツール20からデータを受信することで処理を開始する。データ受信部101は、テストツール20から受信した通信内容を解析し、データがリクエストであることを確認し、データ解析部102へ処理を引き継ぐ(S20、第2受信ステップ)。次に、データ解析部102は、データを解析し、パラメータの部分の名前とその値を抽出し、置換・復元部103へ処理を引き継ぐ(S21、復元ステップ)。次に、置換・復元部103は、データを復元し、データ送信部104へ処理を引き継ぐ(S22、復元ステップ)。最後に、データ送信部104は、通信内容をWebアプリケーション30へ転送する(S23、第2送信ステップ)。
次に、通信がリクエストの場合の置換・復元部103の処理の一例を図6にフローチャートで示す。
置換・復元部103は、データ解析部102によって起動され、同時にデータ解析部102によって抽出されたパラメータの名前とその値を引き継がれ、処理を開始する。
置換・復元部103は、次の処理を全てのパラメータに対し行う(S221からS228)。まず、置換・復元部103は、受信したパラメータの名前をキーに対応情報112における置換後のパラメータの名前(「別名」)を検索する(S222、復元ステップ)。置換・復元部103は、対応情報112に該当するデータが存在するか否かの判定を行い(S223、第2判断ステップ)、存在しない場合(S223、NO、第2判断ステップ)次のパラメータへ処理を移行し(S228、第2判断ステップ)、存在する場合(S223、YES、第2判断ステップ)対応情報112においてキーと対応する置換後のパラメータの値(置換時、仮想値としたもの)と受信したパラメータの値とを比較する(S224、第2判断ステップ)。
置換・復元部103は、置換後のパラメータの値と受信したパラメータの値が同一であるか否かの判断を行い(S225)、同一である場合(S225、YES)、パラメータの値をオリジナルのパラメータの値に復元し(S226、復元ステップ)、同一でない場合(S225、NO、復元ステップ)、処理S227へ処理を移行する。次に、置換・復元部103は、パラメータの名前をオリジナルのパラメータの名前に復元する(S227、復元ステップ)。
最後に、置換・復元部103は、全てのパラメータの名前とその値をデータ送信部104へ引き継ぐ。
上述したように、本実施の形態によれば、これまでテストツールによるテストの自動化が困難であった一部のWebアプリケーションに対し、Webアプリケーションやテストツールの改造はせず、テストの自動化可能にし、これまで自動テストが適用できずテスト担当者によって手動でテストを実行していたケースにおいて、作業時間およびコストの軽減することが可能となる。
本実施形態は、その要旨または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
なお、本実施形態は以下に示すようなコンピュータシステムにおいて適用可能である。図13は、本実施形態が適用されるコンピュータシステムの一例を示す図である。図13に示すコンピュータシステム900は、CPUやディスクドライブ等を内蔵した本体部901、本体部901からの指示により画像を表示するディスプレイ902、コンピュータシステム900に種々の情報を入力するためのキーボード903、ディスプレイ902の表示画面902a上の任意の位置を指定するマウス904及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置905を有する。通信装置905は、ネットワーク通信カード、モデムなどが考えられる。
上述したような、テスト基盤装置を構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、テスト基盤プログラムとして提供することができる。このプログラムは、コンピュータシステムにより読取り可能な記録媒体に記憶させることによって、テスト基盤装置を構成するコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク910等の可搬型記録媒体に格納されるか、通信装置905により他のコンピュータシステムの記録媒体906からダウンロードされる。また、コンピュータシステム900に少なくとも解析機能を持たせるテスト基盤プログラム(テスト基盤ソフトウェア)は、コンピュータシステム900に入力されてコンパイルされる。このプログラムは、コンピュータシステム900を解析機能を有するテスト基盤システムとして動作させる。また、このプログラムは、例えばディスク910等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム900により読取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、ディスク110やフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置105のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
(付記1)
テストの対象であるアプリケーションとテストツールの仲介をするテスト基盤装置であって、
アプリケーションからのレスポンスを受信する第1受信部と、
前記第1受信部により受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出部と、
前記第1抽出部により抽出されたパラメータが置換の対象か否かを判断する第1判断部と、
前記第1判断部によって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換部と、
前記第1判断部によって置換の対象でないと判断されたパラメータの名前とその値と、前記置換部によって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信部と、
前期テストツールからのリクエストを受信する第2受信部と、
前記第2受信部により受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出部と、
前記第2抽出部により抽出されたパラメータが置換の対象か否かを判断する第2判断部と、
前記第2判断部によって置換の対象と判断されたパラメータに対し、前記置換部が保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元部と、
前記第2判断部によって置換の対象でないと判断されたパラメータの名前とその値と、前記復元部によって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信部と
を備えるテスト基盤装置。
(付記2)
付記1に記載のテスト基盤装置において、
前記置換部は、前記アプリケーションがレスポンスの送信の都度変化させる前記パラメータの名前に対し、当該パラメータが属すアプリケーションを特定する識別値と当該アプリケーション内で当該パラメータが出現する位置を特定する識別値とから前記所定の名前を生成することで、一意の前記所定の名前を付与することを特徴とするテスト基盤装置。
(付記3)
付記1に記載のテスト基盤装置において、
前記復元部は、パラメータの値が所定の固定値でないパラメータの場合、該パラメータはテスト実行中であると判断し、該パラメータの値の復元をしないことを特徴とするテスト基盤装置。
(付記4)
付記1に記載のテスト基盤装置において、
前記テストツールは、テストの対象とするパラメータが出現する画面までの画面遷移を学習する経路学習フェーズと学習した経路を再現する経路再現フェーズとテストフェーズで構成されることを特徴とするテスト基盤装置。
(付記5)
付記4に記載のテスト基盤装置において
前記置換部は、経路学習フェーズと同一パラメータであって経路再現フェーズにおいて経路学習フェーズとは異なる名前や値でレスポンスが送信されたパラメータの経路再現フェーズの名前や値を保持し、前記復元部は、パラメータの名前とその値を前記置換部によって保持された前記経路再現フェーズの名前や値に復元することを特徴とするテスト基盤装置。
(付記6)
付記1に記載のテスト基盤装置において、
前記アプリケーションは、Webアプリケーションであることを特徴とするテスト基盤装置。
(付記7)
テストの対象であるアプリケーションとテストツールの仲介をするテスト基盤プログラムであって、
アプリケーションからのレスポンスを受信する第1受信ステップと、
前記第1受信ステップにより受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出ステップと、
前記第1抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第1判断ステップと、
前記第1判断ステップによって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換ステップと、
前記第1判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記置換ステップによって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信ステップと、
前期テストツールからのリクエストを受信する第2受信ステップと、
前記第2受信ステップにより受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出ステップと、
前記第2抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第2判断ステップと、
前記第2判断ステップによって置換の対象と判断されたパラメータに対し、前記置換ステップが保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元ステップと、
前記第2判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記復元ステップによって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信ステップと
をコンピュータに実行させるテスト基盤プログラム。
(付記8)
付記7に記載のテスト基盤プログラムにおいて、
前記置換ステップは、前記アプリケーションがレスポンスの送信の都度変化させる前記パラメータの名前に対し、当該パラメータが属すアプリケーションを特定する識別値と当該アプリケーション内で当該パラメータが出現する位置を特定する識別値とから前記所定の名前を生成することで、一意の前記所定の名前を付与することを特徴とするテスト基盤プログラム。
(付記9)
付記7に記載のテスト基盤プログラムにおいて、
前記復元ステップは、パラメータの値が所定の固定値でないパラメータの場合、該パラメータはテスト実行中であると判断し、該パラメータの値の復元をしないことを特徴とするテスト基盤プログラム。
(付記10)
付記7に記載のテスト基盤プログラムにおいて、
前記テストツールは、テストの対象とするパラメータが出現する画面までの画面遷移を学習する経路学習フェーズと学習した経路を再現する経路再現フェーズとテストフェーズで構成されることを特徴とするテスト基盤プログラム。
(付記11)
付記10に記載のテスト基盤プログラムにおいて
前記置換ステップは、経路学習フェーズと同一パラメータであって経路再現フェーズにおいて経路学習フェーズとは異なる名前や値でレスポンスが送信されたパラメータの経路再現フェーズの名前や値を保持し、前記復元ステップは、パラメータの名前とその値を前記置換ステップによって保持された前記経路再現フェーズの名前や値に復元することを特徴とするテスト基盤プログラム。
(付記12)
付記7に記載のテスト基盤プログラムにおいて、
前記アプリケーションは、Webアプリケーションであることを特徴とするテスト基盤プログラム。
(付記13)
テストの対象であるアプリケーションとテストツールの仲介をするテスト基盤方法であって、
アプリケーションからのレスポンスを受信する第1受信ステップと、
前記第1受信ステップにより受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出ステップと、
前記第1抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第1判断ステップと、
前記第1判断ステップによって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換ステップと、
前記第1判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記置換ステップによって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信ステップと、
前期テストツールからのリクエストを受信する第2受信ステップと、
前記第2受信ステップにより受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出ステップと、
前記第2抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第2判断ステップと、
前記第2判断ステップによって置換の対象と判断されたパラメータに対し、前記置換ステップが保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元ステップと、
前記第2判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記復元ステップによって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信ステップと
を備えるテスト基盤方法。
(付記14)
付記13に記載のテスト基盤方法において、
前記置換ステップは、前記アプリケーションがレスポンスの送信の都度変化させる前記パラメータの名前に対し、当該パラメータが属すアプリケーションを特定する識別値と当該アプリケーション内で当該パラメータが出現する位置を特定する識別値とから前記所定の名前を生成することで、一意の前記所定の名前を付与することを特徴とするテスト基盤方法。
(付記15)
付記13に記載のテスト基盤方法において、
前記復元ステップは、パラメータの値が所定の固定値でないパラメータの場合、該パラメータはテスト実行中であると判断し、該パラメータの値の復元をしないことを特徴とするテスト基盤方法。
(付記16)
付記13に記載のテスト基盤方法において、
前記テストツールは、テストの対象とするパラメータが出現する画面までの画面遷移を学習する経路学習フェーズと学習した経路を再現する経路再現フェーズとテストフェーズで構成されることを特徴とするテスト基盤方法。
(付記17)
付記16に記載のテスト基盤方法において
前記置換ステップは、経路学習フェーズと同一パラメータであって経路再現フェーズにおいて経路学習フェーズとは異なる名前や値でレスポンスが送信されたパラメータの経路再現フェーズの名前や値を保持し、前記復元ステップは、パラメータの名前とその値を前記置換ステップによって保持された前記経路再現フェーズの名前や値に復元することを特徴とするテスト基盤方法。
(付記18)
付記13に記載のテスト基盤方法において、
前記アプリケーションは、Webアプリケーションであることを特徴とするテスト基盤方法。
(付記1)
テストの対象であるアプリケーションとテストツールの仲介をするテスト基盤装置であって、
アプリケーションからのレスポンスを受信する第1受信部と、
前記第1受信部により受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出部と、
前記第1抽出部により抽出されたパラメータが置換の対象か否かを判断する第1判断部と、
前記第1判断部によって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換部と、
前記第1判断部によって置換の対象でないと判断されたパラメータの名前とその値と、前記置換部によって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信部と、
前期テストツールからのリクエストを受信する第2受信部と、
前記第2受信部により受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出部と、
前記第2抽出部により抽出されたパラメータが置換の対象か否かを判断する第2判断部と、
前記第2判断部によって置換の対象と判断されたパラメータに対し、前記置換部が保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元部と、
前記第2判断部によって置換の対象でないと判断されたパラメータの名前とその値と、前記復元部によって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信部と
を備えるテスト基盤装置。
(付記2)
付記1に記載のテスト基盤装置において、
前記置換部は、前記アプリケーションがレスポンスの送信の都度変化させる前記パラメータの名前に対し、当該パラメータが属すアプリケーションを特定する識別値と当該アプリケーション内で当該パラメータが出現する位置を特定する識別値とから前記所定の名前を生成することで、一意の前記所定の名前を付与することを特徴とするテスト基盤装置。
(付記3)
付記1に記載のテスト基盤装置において、
前記復元部は、パラメータの値が所定の固定値でないパラメータの場合、該パラメータはテスト実行中であると判断し、該パラメータの値の復元をしないことを特徴とするテスト基盤装置。
(付記4)
付記1に記載のテスト基盤装置において、
前記テストツールは、テストの対象とするパラメータが出現する画面までの画面遷移を学習する経路学習フェーズと学習した経路を再現する経路再現フェーズとテストフェーズで構成されることを特徴とするテスト基盤装置。
(付記5)
付記4に記載のテスト基盤装置において
前記置換部は、経路学習フェーズと同一パラメータであって経路再現フェーズにおいて経路学習フェーズとは異なる名前や値でレスポンスが送信されたパラメータの経路再現フェーズの名前や値を保持し、前記復元部は、パラメータの名前とその値を前記置換部によって保持された前記経路再現フェーズの名前や値に復元することを特徴とするテスト基盤装置。
(付記6)
付記1に記載のテスト基盤装置において、
前記アプリケーションは、Webアプリケーションであることを特徴とするテスト基盤装置。
(付記7)
テストの対象であるアプリケーションとテストツールの仲介をするテスト基盤プログラムであって、
アプリケーションからのレスポンスを受信する第1受信ステップと、
前記第1受信ステップにより受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出ステップと、
前記第1抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第1判断ステップと、
前記第1判断ステップによって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換ステップと、
前記第1判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記置換ステップによって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信ステップと、
前期テストツールからのリクエストを受信する第2受信ステップと、
前記第2受信ステップにより受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出ステップと、
前記第2抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第2判断ステップと、
前記第2判断ステップによって置換の対象と判断されたパラメータに対し、前記置換ステップが保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元ステップと、
前記第2判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記復元ステップによって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信ステップと
をコンピュータに実行させるテスト基盤プログラム。
(付記8)
付記7に記載のテスト基盤プログラムにおいて、
前記置換ステップは、前記アプリケーションがレスポンスの送信の都度変化させる前記パラメータの名前に対し、当該パラメータが属すアプリケーションを特定する識別値と当該アプリケーション内で当該パラメータが出現する位置を特定する識別値とから前記所定の名前を生成することで、一意の前記所定の名前を付与することを特徴とするテスト基盤プログラム。
(付記9)
付記7に記載のテスト基盤プログラムにおいて、
前記復元ステップは、パラメータの値が所定の固定値でないパラメータの場合、該パラメータはテスト実行中であると判断し、該パラメータの値の復元をしないことを特徴とするテスト基盤プログラム。
(付記10)
付記7に記載のテスト基盤プログラムにおいて、
前記テストツールは、テストの対象とするパラメータが出現する画面までの画面遷移を学習する経路学習フェーズと学習した経路を再現する経路再現フェーズとテストフェーズで構成されることを特徴とするテスト基盤プログラム。
(付記11)
付記10に記載のテスト基盤プログラムにおいて
前記置換ステップは、経路学習フェーズと同一パラメータであって経路再現フェーズにおいて経路学習フェーズとは異なる名前や値でレスポンスが送信されたパラメータの経路再現フェーズの名前や値を保持し、前記復元ステップは、パラメータの名前とその値を前記置換ステップによって保持された前記経路再現フェーズの名前や値に復元することを特徴とするテスト基盤プログラム。
(付記12)
付記7に記載のテスト基盤プログラムにおいて、
前記アプリケーションは、Webアプリケーションであることを特徴とするテスト基盤プログラム。
(付記13)
テストの対象であるアプリケーションとテストツールの仲介をするテスト基盤方法であって、
アプリケーションからのレスポンスを受信する第1受信ステップと、
前記第1受信ステップにより受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出ステップと、
前記第1抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第1判断ステップと、
前記第1判断ステップによって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換ステップと、
前記第1判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記置換ステップによって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信ステップと、
前期テストツールからのリクエストを受信する第2受信ステップと、
前記第2受信ステップにより受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出ステップと、
前記第2抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第2判断ステップと、
前記第2判断ステップによって置換の対象と判断されたパラメータに対し、前記置換ステップが保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元ステップと、
前記第2判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記復元ステップによって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信ステップと
を備えるテスト基盤方法。
(付記14)
付記13に記載のテスト基盤方法において、
前記置換ステップは、前記アプリケーションがレスポンスの送信の都度変化させる前記パラメータの名前に対し、当該パラメータが属すアプリケーションを特定する識別値と当該アプリケーション内で当該パラメータが出現する位置を特定する識別値とから前記所定の名前を生成することで、一意の前記所定の名前を付与することを特徴とするテスト基盤方法。
(付記15)
付記13に記載のテスト基盤方法において、
前記復元ステップは、パラメータの値が所定の固定値でないパラメータの場合、該パラメータはテスト実行中であると判断し、該パラメータの値の復元をしないことを特徴とするテスト基盤方法。
(付記16)
付記13に記載のテスト基盤方法において、
前記テストツールは、テストの対象とするパラメータが出現する画面までの画面遷移を学習する経路学習フェーズと学習した経路を再現する経路再現フェーズとテストフェーズで構成されることを特徴とするテスト基盤方法。
(付記17)
付記16に記載のテスト基盤方法において
前記置換ステップは、経路学習フェーズと同一パラメータであって経路再現フェーズにおいて経路学習フェーズとは異なる名前や値でレスポンスが送信されたパラメータの経路再現フェーズの名前や値を保持し、前記復元ステップは、パラメータの名前とその値を前記置換ステップによって保持された前記経路再現フェーズの名前や値に復元することを特徴とするテスト基盤方法。
(付記18)
付記13に記載のテスト基盤方法において、
前記アプリケーションは、Webアプリケーションであることを特徴とするテスト基盤方法。
10 テスト基盤装置、20 テストツール、30 Webアプリケーション、101 データ受信部、102 データ解析部、103 置換・復元部、104 データ送信部、111 対象パラメータ定義ルール、112 対応情報。
Claims (7)
- テストの対象であるアプリケーションとテストツールの仲介をするテスト基盤装置であって、
アプリケーションからのレスポンスを受信する第1受信部と、
前記第1受信部により受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出部と、
前記第1抽出部により抽出されたパラメータが置換の対象か否かを判断する第1判断部と、
前記第1判断部によって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換部と、
前記第1判断部によって置換の対象でないと判断されたパラメータの名前とその値と、前記置換部によって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信部と、
前期テストツールからのリクエストを受信する第2受信部と、
前記第2受信部により受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出部と、
前記第2抽出部により抽出されたパラメータが置換の対象か否かを判断する第2判断部と、
前記第2判断部によって置換の対象と判断されたパラメータに対し、前記置換部が保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元部と、
前記第2判断部によって置換の対象でないと判断されたパラメータの名前とその値と、前記復元部によって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信部と
を備えるテスト基盤装置。 - 請求項1に記載のテスト基盤装置において、
前記置換部は、前記アプリケーションがレスポンスの送信の都度変化させる前記パラメータの名前に対し、当該パラメータが属すアプリケーションを特定する識別値と当該アプリケーション内で当該パラメータが出現する位置を特定する識別値とから前記所定の名前を生成することで、一意の前記所定の名前を付与することを特徴とするテスト基盤装置。 - 請求項1または請求項2に記載のテスト基盤装置において、
前記復元部は、パラメータの値が所定の固定値でないパラメータの場合、該パラメータはテスト実行中であると判断し、該パラメータの値の復元をしないことを特徴とするテスト基盤装置。 - 請求項1乃至請求項3のいずれかに記載のテスト基盤装置において、
前記テストツールは、テストの対象とするパラメータが出現する画面までの画面遷移を学習する経路学習フェーズと学習した経路を再現する経路再現フェーズとテストフェーズで構成されることを特徴とするテスト基盤装置。 - 請求項4に記載のテスト基盤装置において
前記置換部は、経路学習フェーズと同一パラメータであって経路再現フェーズにおいて経路学習フェーズとは異なる名前や値でレスポンスが送信されたパラメータの経路再現フェーズの名前や値を保持し、前記復元部は、パラメータの名前とその値を前記置換部によって保持された前記経路再現フェーズの名前や値に復元することを特徴とするテスト基盤装置。 - テストの対象であるアプリケーションとテストツールの仲介をするテスト基盤プログラムであって、
アプリケーションからのレスポンスを受信する第1受信ステップと、
前記第1受信ステップにより受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出ステップと、
前記第1抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第1判断ステップと、
前記第1判断ステップによって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換ステップと、
前記第1判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記置換ステップによって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信ステップと、
前期テストツールからのリクエストを受信する第2受信ステップと、
前記第2受信ステップにより受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出ステップと、
前記第2抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第2判断ステップと、
前記第2判断ステップによって置換の対象と判断されたパラメータに対し、前記置換ステップが保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元ステップと、
前記第2判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記復元ステップによって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信ステップと
をコンピュータに実行させるテスト基盤プログラム。 - テストの対象であるアプリケーションとテストツールの仲介をするテスト基盤方法であって、
アプリケーションからのレスポンスを受信する第1受信ステップと、
前記第1受信ステップにより受信された前記レスポンスに含まれるパラメータの名前とその値を抽出する第1抽出ステップと、
前記第1抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第1判断ステップと、
前記第1判断ステップによって置換の対象と判断されたパラメータに対し、名前とその値を所定の名前と所定の固定値に置換し、置換前と置換後のパラメータの名前とその値を保持する置換ステップと、
前記第1判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記置換ステップによって置換されたパラメータの置換後の所定の名前と所定の固定値をテストツールへ送信する第1データ送信ステップと、
前期テストツールからのリクエストを受信する第2受信ステップと、
前記第2受信ステップにより受信された前記リクエストに含まれるパラメータの名前とその値を抽出する第2抽出ステップと、
前記第2抽出ステップにより抽出されたパラメータが置換の対象か否かを判断する第2判断ステップと、
前記第2判断ステップによって置換の対象と判断されたパラメータに対し、前記置換ステップが保持したパラメータの置換前と置換後の名前とその値に基づき、その値が所定の値に置換されていた場合、パラメータの名前とその値を置換前の名前とその値に復元し、所定の値に置換されていなかった場合、パラメータの名前を置換前の名前に復元する復元ステップと、
前記第2判断ステップによって置換の対象でないと判断されたパラメータの名前とその値と、前記復元ステップによって復元されたパラメータの名前とその値をアプリケーションへ送信する第2送信ステップと
を備えるテスト基盤方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008282699A JP2010113380A (ja) | 2008-11-04 | 2008-11-04 | テスト基盤装置、テスト基盤プログラム、テスト基盤方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008282699A JP2010113380A (ja) | 2008-11-04 | 2008-11-04 | テスト基盤装置、テスト基盤プログラム、テスト基盤方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010113380A true JP2010113380A (ja) | 2010-05-20 |
Family
ID=42301920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008282699A Withdrawn JP2010113380A (ja) | 2008-11-04 | 2008-11-04 | テスト基盤装置、テスト基盤プログラム、テスト基盤方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010113380A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012074001A (ja) * | 2010-08-30 | 2012-04-12 | Fujitsu Ltd | リクエスト処理プログラム、リクエスト処理装置及びリクエスト処理方法 |
JP2014044613A (ja) * | 2012-08-28 | 2014-03-13 | Nippon Telegr & Teleph Corp <Ntt> | グラフィカルユーザインタフェースの状態取得方法及び装置 |
JP2014123268A (ja) * | 2012-12-21 | 2014-07-03 | Hitachi Systems Ltd | Web画面操作シュミレーションシステム |
US20140297767A1 (en) * | 2013-03-28 | 2014-10-02 | Fujitsu Limited | Information processing apparatus and verification control method |
WO2018143096A1 (ja) * | 2017-01-31 | 2018-08-09 | 日本電信電話株式会社 | リクエスト制御装置、リクエスト制御方法、および、リクエスト制御プログラム |
KR20190106217A (ko) * | 2018-03-08 | 2019-09-18 | 어니컴 주식회사 | 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치 |
-
2008
- 2008-11-04 JP JP2008282699A patent/JP2010113380A/ja not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012074001A (ja) * | 2010-08-30 | 2012-04-12 | Fujitsu Ltd | リクエスト処理プログラム、リクエスト処理装置及びリクエスト処理方法 |
JP2014044613A (ja) * | 2012-08-28 | 2014-03-13 | Nippon Telegr & Teleph Corp <Ntt> | グラフィカルユーザインタフェースの状態取得方法及び装置 |
JP2014123268A (ja) * | 2012-12-21 | 2014-07-03 | Hitachi Systems Ltd | Web画面操作シュミレーションシステム |
US20140297767A1 (en) * | 2013-03-28 | 2014-10-02 | Fujitsu Limited | Information processing apparatus and verification control method |
US9438607B2 (en) | 2013-03-28 | 2016-09-06 | Fujitsu Limited | Information processing apparatus and verification control method |
WO2018143096A1 (ja) * | 2017-01-31 | 2018-08-09 | 日本電信電話株式会社 | リクエスト制御装置、リクエスト制御方法、および、リクエスト制御プログラム |
JPWO2018143096A1 (ja) * | 2017-01-31 | 2019-06-27 | 日本電信電話株式会社 | リクエスト制御装置、リクエスト制御方法、および、リクエスト制御プログラム |
US11657143B2 (en) | 2017-01-31 | 2023-05-23 | Nippon Telegraph And Telephone Corporation | Request control device, request control method, and request control program |
KR20190106217A (ko) * | 2018-03-08 | 2019-09-18 | 어니컴 주식회사 | 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치 |
KR102108205B1 (ko) * | 2018-03-08 | 2020-05-08 | 어니컴 주식회사 | 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101745758B1 (ko) | 애플리케이션 보안 검사 | |
CN103150513B (zh) | 拦截应用程序中的植入信息的方法及装置 | |
EP1576487B1 (en) | Web server hit multiplier and redirector | |
US8214903B2 (en) | Analysis of scripts | |
EP2089813B1 (en) | Diagnostics and error reporting for common tagging issues | |
JP5725529B2 (ja) | Web脆弱性補修システム、Web脆弱性補修方法、及びプログラム | |
US10725751B2 (en) | Generating a predictive data structure | |
US11726800B2 (en) | Remote component loader | |
US8380812B2 (en) | Source identification for multipart content validation | |
JP2009053740A (ja) | 操作ログを記録するためのシステム、方法およびコンピュータ・プログラム | |
JP2010113380A (ja) | テスト基盤装置、テスト基盤プログラム、テスト基盤方法 | |
CN104536890A (zh) | 测试系统、方法和装置 | |
US20130198333A1 (en) | Method and device for recording and reproducing web operation | |
CN110011875B (zh) | 拨测方法、装置、设备及计算机可读存储介质 | |
CN104834588A (zh) | 检测常驻式跨站脚本漏洞的方法和装置 | |
CN108696566B (zh) | web服务器 | |
KR20060094851A (ko) | 타겟팅된 변수 입력을 사용하여 데이터 포맷을 테스트하기위한 시스템 및 방법 | |
Vimala et al. | Vape-bridge: Bridging openvas results for automating metasploit framework | |
KR101104166B1 (ko) | 컴퓨팅 장치 및 미디어 재생 장치를 이용한 사용자 애플리케이션 테스트 시스템 및 테스트 방법 | |
CN111610990B (zh) | 一种应用程序升级的方法、装置和相关系统 | |
US9438607B2 (en) | Information processing apparatus and verification control method | |
CN114244581B (zh) | 缓存中毒漏洞检测方法、装置、电子设备及存储介质 | |
KR101104165B1 (ko) | 사용자 애플리케이션의 테스트가 가능한 미디어 재생 장치 및 이를 이용한 사용자 애플리케이션의 테스트 방법 | |
JP2014102612A (ja) | 改竄検知装置及び改竄検知方法 | |
KR101305755B1 (ko) | 주소에 기반하여 스크립트 실행을 필터링하는 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120110 |