JP3987076B2 - テスト支援プログラム - Google Patents

テスト支援プログラム Download PDF

Info

Publication number
JP3987076B2
JP3987076B2 JP2005225215A JP2005225215A JP3987076B2 JP 3987076 B2 JP3987076 B2 JP 3987076B2 JP 2005225215 A JP2005225215 A JP 2005225215A JP 2005225215 A JP2005225215 A JP 2005225215A JP 3987076 B2 JP3987076 B2 JP 3987076B2
Authority
JP
Japan
Prior art keywords
screen
test
button
input
file
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.)
Expired - Fee Related
Application number
JP2005225215A
Other languages
English (en)
Other versions
JP2006031722A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005225215A priority Critical patent/JP3987076B2/ja
Publication of JP2006031722A publication Critical patent/JP2006031722A/ja
Application granted granted Critical
Publication of JP3987076B2 publication Critical patent/JP3987076B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明はサーバアプリケーションのテスト支援プログラムに関し、特にクライアント側からの操作入力を支援するテスト支援プログラムに関する。
現在、社内ネットワークや広域ネットワークの普及により、ネットワークを介して様々なサービスを提供することができる。また、最近のほとんどのクライアントコンピュータには、WWW(World Wide Web)用のWEBブラウザが実装されている。そのため、WEBページ提供用のプログラムが実装されたサーバコンピュータ(以下、WEBサーバという)を使用してサービスを提供すれば、クライアント側に特別なプログラムを組み込まずにすみ、システムの導入が容易となる。そこで、WEBサーバで実行させる業務用のアプリケーションプログラム(以下、単にアプリケーションという)の開発が盛んに行われている。たとえば、javaサーブレット、ASP(Active Server Pages)、JavaScriptを使用したシステムでは、クライアントの画面プログラムとしてWEBブラウザが使用される。
WEBサーバ用の業務アプリケーションを開発した場合、運用開始前に、そのアプリケーションが正常に動作することを確認する必要がある。WEBサーバでは、通常HTML(HyperText Markup Language)を用いて、GUI(Graphical User Interface)による入出力環境が提供される。一般的に、GUIによる入出力を伴うアプリケーションの場合、テスト用ドライバを作成するのが困難である。そのため、人手によって動作確認が行われていた。
しかし、人手によって動作確認を行った場合、仕様書に基づいたデータ入力を行うときに入力ミスをする可能性がある。しかも、人手によるテストでは、入力したデータが残らないため、テスト実行後の検証ができなかった。そのため、テスト結果の信頼性の確保が困難である。
また、画面表示用のプログラムは入力項目が多岐にわたることが多い。そのため、テストパターンが非常に大きくなる。これらの全てのパターンを人間の手作業で入力するには膨大な時間を要し、実質的に困難である。
さらに、動作確認の作業では同じテストを繰り返すことがあるが、人手によって同じ作業を繰り返すのは非効率的である。しかも、前回のテスト実行時と何処の結果が異なるのか又は同じなのかを目視で確認するため、常に確認漏れの可能性がある。
また、画面のレスポンスの測定では、担当者がストップウォッチなどで計測することが多く、また複数回測定して集計するために担当者に作業負荷がかかっていた。画面表示用のプログラムを修正して処理時間を表示することも可能だが、測定終了後に修正した個所をもとに戻す必要がある。テスト終了後にプログラムソースを変更することは、修正ミスなどによりテスト完了後の品質に不安を残すことになる。
このように、WEBサーバ用のアプリケーションは、基本的にクライアントに対してHTML形式の文書を返すため、WEBサーバのアプリケーションの動作を確認するためのテストドライバが作りにくいという問題があり、テスト作業の自動化が困難であった。
なお、テスト時の操作を記録し、再実行する機能を持った製品固有のWEBブラウザは存在するが、これは広く一般に使用されているWEBブラウザとは異なる独自のものである。そのため、テスト時の動作と実際の運用時の動作が異なる可能性がある。
本発明はこのような点に鑑みてなされたものであり、サーバアプリケーションの動作確認作業における操作入力の手間を軽減し、信頼性の高いテスト結果を得ることできるテスト支援プログラムを提供することを目的とする。
本発明では上記課題を解決するために、文書閲覧手段で閲覧可能な構造化文書を用いてサービスを提供するサーバコンピュータの動作テストを、前記文書閲覧手段を有するコンピュータによって支援するテスト支援プログラムにおいて、前記コンピュータに、前記サーバコンピュータに対して処理を要求するための操作入力が、前記文書閲覧手段に対して行われると、当該操作入力の内容を判断し、判断された前記操作入力の内容を記録したログファイルを生成し、生成した前記ログファイルをログファイル記憶手段に格納し、前記ログファイル記憶手段に格納された前記ログファイルを指定した自動実行を指示する入力に応答して、前記ログファイルに記録されている内容に従って、前記文書閲覧手段に対する前記操作入力を再現するとともに、次に再現する前記操作入力がボタンまたはリンク情報の押下か否かを判断し、ボタンまたはリンク情報の押下の場合、前記文書閲覧手段上で操作対象となるオブジェクトを所定の時間だけ強調表示させる、処理を実行させることを特徴とするテスト支援プログラムが提供される。
このようなテスト支援プログラムをコンピュータで実行させると、サーバコンピュータに対して処理を要求するための操作入力が行われたとき、その操作入力の内容がログファイルに記録される。そして、ログファイルに記録された内容に従って、操作入力が再現される。さらに、ボタンまたはリンク情報の押下の場合、文書閲覧手段上で操作対象となるオブジェクトが所定の時間だけ強調表示される。

本発明では、操作入力の内容をログファイルとして記録し、そのログファイルの記録内容に従って操作入力を再現するようにしたため、過去のテストにおける操作内容を間違いなく再現して、同じテストを実行することができ、テスト結果の信頼性を向上させることができる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の関連技術を示す図である。このテスト支援プログラムは、文書閲覧装置3で閲覧可能な構造化文書を用いてサービスを提供するサーバコンピュータ1の動作テストを支援するためのものである。サーバコンピュータ1は、たとえば、サーバアプリケーションプログラム(サーバアプリケーション)を実行することによって、他の装置に構造化文書を提供するコンピュータである。また、文書閲覧装置3は、たとえば、構造化文書閲覧用プログラム(ブラウザ)を実行することによって、構造化文書を閲覧するコンピュータである。構造化文書とは、たとえば、HTML形式の文書である。
テスト支援プログラムは、コンピュータに、以下の処理を実行させることができる。本発明に係るテスト支援プログラムを実行するコンピュータは、テスト支援装置2として機能する。
テスト支援装置2は、まず、サーバコンピュータ1より構造化文書1aを受け取ると、構造化文書1aのデータ入力域1bの属性情報を取得する(ステップS1)。次に、テスト支援装置2は、データ入力域1bの属性情報に基づいて、データ入力域1bに入力するデータの候補データを生成する(ステップS2)。さらに、テスト支援装置2は、候補データの表示処理と、操作入力で選択された候補データをデータ入力域に入力させる入力処理とを、文書閲覧装置3に実行させるための処理記述を構造化文書1aに挿入する(ステップS3)。そして、テスト支援装置は、処理記述が挿入された構造化文書3aを文書閲覧装置3に引き渡す(ステップS4)。
これにより、サーバコンピュータ1から構造化文書1aが出力されると、データ入力域の1bの属性情報が取得され、その属性情報に応じた候補データが生成される。そして、生成された候補データの表示処理と、操作入力で選択された候補データをデータ入力域に入力させる入力処理とを文書閲覧装置3に実行させるための処理記述が、構造化文書1aに挿入される。処理記述が挿入された構造化文書3aは、文書閲覧装置3に渡される。すると、文書閲覧装置3において、構造化文書3aが表示される際に、候補データ3cが表示される。そして、操作入力により任意の候補データが選択されると、選択された候補データがデータ入力域3bに設定される。
このように、本発明によれば、サーバコンピュータ1の動作テストを行う際に、構造化文書1aのデータ入力域1bへ入力するデータを、候補データから選択することができる。その結果、データ入力域に入力すべきデータの入力ミスを減らすことができ、サーバコンピュータ1の動作テストの際の手入力作業による作業負荷が軽減されると共に、テスト結果の信頼性を向上させることができる。これは、サーバコンピュータ1がサーバアプリケーションによって動作している場合には、サーバアプリケーションの動作テストにおけるテスト結果の信頼性が向上することを意味する。
しかも、この技術では、構造化文書に対して処理記述を挿入することでデータ入力の支援を行っているため、文書閲覧装置3側の機能を変更する必要がない。たとえば、文書閲覧装置3が、汎用的なWEBブラウザによって機能が実現されている場合であっても、本発明を適用することができる。すなわち、独自のWEBブラウザを使用せずに、運用時と同じWEBブラウザを使用できる。そのため、テストの確認時と運用時で画面の表示や動作に相違が無いため、確実な品質保証が可能になる。
なお、図1には、関連技術として、テストデータの入力支援機能について説明したが、それ以外にも様々なテスト支援を行うことができる。たとえば、テスト操作の記録と再実行、レスポンス測定支援などである。以下、これらの機能を実装したテスト支援装置を用いて、WEBサーバで動作するサーバアプリケーションの動作確認を行う場合を例に採り、本発明の実施の形態を具体的に説明する。なお、以下の実施の形態では、テスト支援装置の処理内容を記載したプログラム(テスト支援プログラム)をクライアント側の装置(端末装置)に実装することで、端末装置をテスト支援装置として機能させる。
図2は、本実施の形態のシステム構成を示す図である。本実施の形態では、WEBサーバ30と端末装置100とがネットワーク10を介して接続されている。ネットワーク10は、LAN(Local Area Network)やインターネットである。WEBサーバ30は、開発中のサーバアプリケーションを実装したWEBサーバである。端末装置100は、WEBブラウザと、テスト支援部とが実装されている。テスト支援部とは、端末装置100がテスト支援プログラムを実行することで、端末装置100上で実現される処理機能である。端末装置100は、たとえば、パーソナルコンピュータや携帯情報端末装置(PDA:Personal Digital Assistants)である。
図3は、本実施の形態に用いる端末装置のハードウェア構成例を示すブロック図である。端末装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。ネットワーク10は、たとえばインターネットのような広域ネットワークである。通信インタフェース106は、ネットワーク10を介して、WEBサーバ30との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、端末装置100のハードウェア構成について示したが、WEBサーバ30のハードウェア構成も同様である。
図4は、本実施の形態に係るシステムの機能ブロック図である。WEBサーバ30は、サーバアプリケーション31と通信制御部32とを有している。
サーバアプリケーション31は、インターネットなどのネットワーク10を介してサービスを提供する。サーバアプリケーション31のサービスの提供は、HTML文書を利用して行われる。サーバアプリケーション31は、サーバアプリケーションプログラムをWEBサーバ30が実行することで実現される機能である。このサーバアプリケーションプログラムが、動作確認の対象となるプログラムである。サーバアプリケーション31は、たとえば、javaサーブレット、ASP、JavaScriptでプログラミングされている。
通信制御部32は、HTTP(HyperText Transfer Protocol)などの通信プロトコルにより、端末装置100との間でネットワーク10を介したデータ通信を行う。
端末装置100には、表示装置11aと入力装置12aが接続されている。表示装置11aは、端末装置100から出力される画像を表示する。表示装置11aは、具体的には、図3に示すモニタ11である。入力装置12aは、テスト作業者からの操作入力を受け付け、操作内容に応じた情報を端末装置100に入力する。入力装置12aは、具体的には、図3に示すキーボード12やマウス13が有する機能である。
端末装置100は、通信制御部110、WEBブラウザ120およびテスト支援部130を有している。通信制御部110は、HTTPなどの通信プロトコルにより、WEBサーバ30との間でネットワーク10を介したデータ通信を行う。
WEBブラウザ120は、HTML文書の閲覧機能を有している。すなわち、WEBブラウザ120は、HTML文書の内容を解釈し、そのHTML文書に従った画像を生成する。WEBブラウザ120が生成した画像は、表示装置11aの画面に表示される。また、WEBブラウザ120は、入力装置12aからの入力情報を、テスト支援部130を介して受け取る。そして、入力情報に基づいた処理の実行要求を、通信制御部110を介してサーバアプリケーション31に送信する。実行要求の結果は、HTML文書により、テスト支援部130を介して受け取る。
なお、WEBブラウザ120は、サーバアプリケーション31の動作確認のために特別に作成されてものではない。すなわち、WEBブラウザ120は、インターネット上の様々なWEBサーバ上の多種多様なWEBページを閲覧するための一般的なブラウザである。
テスト支援部130は、外部属性情報記憶部131、画面ファイル記憶部132、ログファイル記憶部133、ユーザインタフェース134、データ入力支援部135、テスト操作記録部136、テスト再実行部137、テスト結果比較部138、およびレスポンス測定部139を有している。
外部属性情報記憶部131は、サーバアプリケーション31から送信されるHTML文書に対応づけて、そのHTML文書内の入力フィールドの属性情報を記憶している。入力フィールドの属性情報は、サーバアプリケーション31の動作確認を行う前に、サーバアプリケーション31の開発者によって外部属性情報記憶部131に格納される。
画面ファイル記憶部132は、サーバアプリケーション31から送られたHTML形式の画面ファイルを記憶する。この画面ファイルは、テスト操作記録部136によって、画面ファイル記憶部132に格納される。
ログファイル記憶部133は、テスト作業者の操作入力により指定されたテストパターンをログファイルとして記憶する。ログファイルは、テスト操作記録部136で生成され、ログファイル記憶部133に格納される。
ユーザインタフェース134は、テスト支援画面の画像情報を表示装置11aに対して出力し、表示装置11aにテスト支援画面を表示させる。また、ユーザインタフェース134は、キーボード12などの入力装置12aから入力される入力情報に応じた処理要求を判断する。そして、ユーザインタフェース134は、各処理要求を、その処理を実行すべき相手に対して出力する。
さらに、ユーザインタフェース134は、WEBブラウザ120が表示装置11aに表示させた画面への操作入力が入力装置12aに対して行われると、WEBブラウザ120に対する入力情報を取得する(横取りする)。そして、ユーザインタフェース134は、取得した入力情報をテスト操作記録部136に渡す。
データ入力支援部135は、WEBブラウザ120が表示している画面ファイルを取得する。データ入力支援部135は、取得した画面ファイル内の属性情報または、外部属性情報記憶部131内の属性情報を参照し、画面ファイル内のデータ入力域の属性を判断する。そして、データ入力支援部135は、そのデータ入力域の入力候補データの入力画面を、画面ファイル内に挿入する。データ入力支援部135は、入力候補データの入力画面を挿入した画面ファイルをWEBブラウザ120に渡す。
テスト操作記録部136は、ユーザインタフェース134から渡された入力情報によりログファイルを作成する。そして、テスト操作記録部136は、入力情報をWEBブラウザ120に渡すと共に、作成したログファイルをログファイル記憶部133に格納する。また、テスト操作記録部136は、WEBブラウザ120からサーバアプリケーション31に対して出された実行要求の実行結果である画面ファイルを取得し、画面ファイル記憶部132に格納する。
テスト再実行部137は、ユーザインタフェース134からのテスト再実行の処理要求に応じて、ログファイル記憶部133に格納されているログファイルを参照し、WEBブラウザ120に対する入力情報を再現する。そして、テスト再実行部137は、再現した入力情報をWEBブラウザ120に渡す。
テスト結果比較部138は、ユーザインタフェース134からの処理要求に応答して、WEBブラウザ120からサーバアプリケーション31に対して出された実行要求の実行結果を取得する。次に、テスト結果比較部138は、同様の実行要求に対する過去の実行結果を画面ファイル記憶部132から取得する。さらに、テスト結果比較部138は、サーバアプリケーション31から送られた実行結果と画面ファイル記憶部132から取得した過去の実行結果とを比較し、相違点を検出する。そして、テスト結果比較部138は、サーバアプリケーション31から送られた実行結果に対して、相違点を強調表示させる変更を行い、変更後の実行結果をWEBブラウザ120に渡す。
レスポンス測定部139は、ユーザインタフェース134からの処理要求に応答して、サーバアプリケーション31のレスポンス測定を行う。具体的には、レスポンス測定部139は、WEBブラウザ120に対する入力内容が決定されたことを検知すると共に、サーバアプリケーション31からWEBブラウザ120に対して実行結果が返されたことを検知する。そして、レスポンス測定部139は、入力内容の決定から実行結果の受信までの時間を計測し、計測結果を、ログファイル記憶部133内の対応するログファイルに追加格納する。
このような構成のシステムによって、テスト作業者は、WEBブラウザ120を用いたサーバアプリケーション31の動作確認を、テスト支援部130による支援を受けながら行うことができる。
なお、テスト支援部130への入力は、ユーザインタフェース134が提供するテスト支援画面を介して行うことができる。
図5は、テスト支援画面の一例を示す図である。テスト支援画面40には、レスポンス測定チェックボックス40a、入力支援ボタン40b、自動実行ボタン40c、ステップ実行ボタン40d、ファイル所在入力域40e、GOボタン40f、戻るボタン40g、進むボタン40h、中止ボタン40i、再読込ボタン40j、半透明化ボタン40k、およびログ表示画面40lが設けられている。
レスポンス測定チェックボックス40aは、レスポンス測定処理を実行させるか否かを指定するためのチェックボックスである。レスポンス測定チェックボックス40aをマウスなどにより指定することで、チェックボックスの選択(チェックマークが表示された状態)、非選択を切り替えることができる。レスポンス測定チェックボックス40aが選択されていれば、WEBブラウザ120への入力内容が決定され、WEBブラウザ120からサーバアプリケーション31に対して実行要求が出力される毎に、レスポンス測定部139においてレスポンス測定処理が行われる。
入力支援ボタン40bは、入力支援処理を実行させるためのボタンである。入力支援ボタン40bが押されると、ユーザインタフェース134からデータ入力支援部135に対して、入力支援の処理要求が出される。そして、データ入力支援部135によって入力支援処理が実行される。
自動実行ボタン40cは、テストの再実行を自動で行わせるためのボタンである。自動による再実行とは、ログファイルに記録されている一連の処理を、テスト作業者に対する操作入力を要求せずに続けて実行することである。自動実行ボタン40cが押されると、ユーザインタフェース134からテスト再実行部137に対して自動実行の処理要求が出される。すると、テスト再実行部137において、自動によりテストの再実行が行われる。
ステップ実行ボタン40dは、テストの再実行を、ステップ毎に行わせるためのボタンである。ステップ毎の実行とは、ステップ実行ボタン40dが押される毎に、ログファイルに記録されている1行分の処理記述に従った処理を実行することである。ステップ実行ボタン40dが押されると、ユーザインタフェース134からテスト再実行部137に対してステップ実行の処理要求が出される。すると、テスト再実行部137において、ステップ毎のテストの再実行が行われる。
ファイル所在入力域40eは、サーバアプリケーション31が提供するHTML形式の画面ファイルの所在を入力するためのテキストボックスである。
GOボタン40fは、ファイル所在入力域40eに入力された場所の画面ファイルの閲覧要求を出力するためのボタンである。GOボタン40fが押されると、ファイル所在入力域40eに入力された場所の画面ファイルのページ読込の処理要求が、ユーザインタフェース134からWEBブラウザ120に出される。すると、通信制御部110を介して、WEBブラウザ120からサーバアプリケーション31に対して画面ファイルのページ読込要求が送信され、サーバアプリケーション31からWEBブラウザ120に対して画面ファイルが送られる。
戻るボタン40gは、直前に読み込んだ画面ファイルを表示させるためのボタンである。戻るボタン40gが押されると、現在WEBブラウザ120で表示されている画面ファイルの前に、WEBブラウザ120で表示されていた画面ファイルのページ読込要求が、ユーザインタフェース134からWEBブラウザ120に出される。すると、通信制御部110を介して、WEBブラウザ120からサーバアプリケーション31に対し、前に表示された画面ファイルのページ読込要求が送信され、サーバアプリケーション31からWEBブラウザ120に対して画面ファイルが送られる。
進むボタン40hは、戻るボタン40gにより前の画面ファイルを表示させた場合に、その画面ファイルの次に表示された画面ファイルを表示させるためのボタンである。進むボタン40hが押されると、現在WEBブラウザ120で表示されている画面ファイルの次に、WEBブラウザ120で表示された画面ファイルのページ読込の処理要求が、ユーザインタフェース134からWEBブラウザ120に対して出される。すると、通信制御部110を介して、WEBブラウザ120からサーバアプリケーション31に対し、次に表示された画面ファイルのページ読込要求が送信され、サーバアプリケーション31からWEBブラウザ120に対して画面ファイルが送られる。
中止ボタン40iは、画面ファイルの読み込みを中止させるためのボタンである。画面ファイルの読み込み中に中止ボタン40iが押されると、ユーザインタフェース134からWEBブラウザ120に対して、画面ファイル読込中止の処理要求が出される。すると、WEBブラウザ120により、画面ファイルの読み込みが中止される。
再読込ボタン40jは、WEBブラウザ120に表示されている画面ファイルを再度読み込ませるためのボタンである。再読込ボタン40jが押されると、ユーザインタフェース134からWEBブラウザ120に対して、画面ファイルの再読込処理の処理要求が出される。すると、通信制御部110を介して、WEBブラウザ120からサーバアプリケーション31に対し、表示中の画面ファイルのページ読込要求が送信され、サーバアプリケーション31からWEBブラウザ120に対して画面ファイルが送られる。
半透明化ボタン40kは、テスト支援画面40を半透明化させるためのボタンである。半透明化ボタン40kが押されると、ユーザインタフェース134によって、テスト支援画面40が半透明化される。半透明化とは、テスト支援画面40の画像とテスト支援画面40の裏に隠れていた画像とを合成して表示する処理である。
ログ表示画面40lは、WEBブラウザ120の画面に対する操作入力内容を表示するための表示部である。WEBブラウザ120に対する操作入力が行われると、ユーザインタフェース134からテスト操作記録部136に入力情報が渡される。すると、テスト操作記録部136によってログファイルが作成、更新される。このログファイルがテスト操作記録部136からユーザインタフェース134に渡され、ログファイルの内容がログ表示画面40lに表示される。
このようなテスト支援画面40に対してテスト作業者が操作入力を行うことで、サーバアプリケーション31の動作テストを容易に行うことができる。
以下、テスト支援部130によるテスト支援処理を、処理機能毎に説明する。
[データ入力支援]
まず、データ入力支援処理について説明する。データ入力支援処理では、外部属性情報記憶部131や表示されたHTML形式の画面ファイルに埋め込まれた属性情報から、データ入力域の属性(最大値/最小値など)を判断する。そして、データ入力域に対する入力候補データの一覧を生成/表示し、入力候補データから選択してデータ入力域にデータ入力できるように、画面ファイルを変更する。
図6は、データ入力支援処理の概念図である。図6には、サーバアプリケーション31から送られた画面ファイルに基づく画面50と、データ入力支援部135によって内容が変更された後の画面ファイルに基づく画面50aとが示されている。
図6の例では、サーバアプリケーション31から送られた画面50の例として、拡販支援システムのログイン画面が示されている。画面50には、2つのデータ入力域51,52、ログインボタン53および取消ボタン54が表示されている。データ入力域51は、ユーザIDを入力するためのテキストボックスである。データ入力域52は、パスワードを入力するためのテキストボックスである。ログインボタン53は、データ入力域51,52に入力されたデータによるユーザ認証処理の実行要求をサーバアプリケーション31に対して送信するためのボタンである。取消ボタン54は、データ入力域51,52に入力されたデータを消去するためのボタンである。
画面50がWEBブラウザ120によって表示されている時に、テスト支援画面40の入力支援ボタン40bが押されると、画面50のデータ入力域51,52の属性情報が判断される。属性情報の判断モードには、外部定義情報参照モードと画面ページ内参照モードとがある。
外部定義情報参照モードの場合、データ入力支援部135は、外部属性情報記憶部131を参照し、画面50の生成元となった画面ファイルに対応する属性情報を取得する。
画面ページ内参照モードの場合、データ入力支援部135は、画面50の生成元となった画面ファイルの内の属性情報を取得する。たとえば、入力文字の最大長や、入力可能な文字の属性(数式、文字、全角(2バイトコード)、半角(1バイトコード)など)が、属性情報として取得される。
データ入力支援部135は、取得した属性情報に基づいて、入力候補データを生成する。たとえば、最大長が8文字であれば、7文字の入力候補データ(属性情報に適合するデータ)、8文字の入力候補データ(属性情報に適合するデータ)、9文字の入力候補データ(属性情報に適合しないデータ)などが生成される。そして、入力候補データの選択画面を表示させるための処理記述が画面ファイルに追加され、WEBブラウザ120に渡される。WEBブラウザ120では、内容変更後の画面50aが表示される。
画面50aには、入力候補選択用のプルダウンメニュー51aが表示されている。テスト作業者がプルダウンメニュー51aから入力候補データの1つを選択すると、選択された入力候補データがデータ入力域51に設定される。図6の例では、「AAAAAAA」という文字列の入力候補データが選択され、データ入力域51に設定されている。
以下、画面ファイルの具体例について説明する。
図7は、画面ファイルの一例を示す図である。図7の画面ファイル55は、図6の画面50の元となるHTML形式のファイルである。画面ファイル55内には、データ入力域51,52の属性情報55a,55bと、データ入力域51,52の定義情報55c,55dが含まれている。
HEAD内(<HEAD>と</HEAD>とに囲まれた領域)に、データ入力域51に対する属性情報55aが定義されている。「NAME=tx_01」は、データ入力域51の名称を示している。「TYPE=TEXT」は、テキストを入力できることを示している。「MAXLENGTH=8」は、最大8文字であることを示している。「KIND=ALPHANUMERIC」は英数字を入力できることを示している。「MINVALUE=0」は数値を入力する場合の最小値を示している。この例では、テキストが入力されるため無効な属性である。「MAXVALUE=0」は数値を入力する場合の最大値を示している。この例では、テキストを入力するため無効な属性である。
同様に、HEADタグ内にはデータ入力域52に対する属性情報55bが定義されている。属性情報55bは、データ入力域52の名称を示す「NAME=tx_02」以外は、属性情報55aと同じである。
データ入力域51の定義情報55cは、INPUTタグによって定義されている。「TYPE="text"」は、テキストが入力されることを示している。「NAME="tx_01"」は、データ入力域51の名称を示している。「size="19"」は、テキストボックスの横幅を示している。
同様に、データ入力域52の定義情報55dは、INPUTタグによって定義されている。定義情報55dは、データ入力域52の名称を示す「NAME=tx_02」以外は、定義情報55cと同じである。
このような画面ファイル55がWEBブラウザ120に読み込まれ、テスト支援画面40において入力支援ボタン40bが押されると、データ入力域51,52に対応する入力候補データが生成され、入力候補データの選択画面を表示させるための処理記述が定義情報55c、55dの次の行に挿入される。
図8は、入力候補データの選択画面を表示させるための処理記述の一例を示す図である。処理記述56は、SELECTタグによって定義されている。SELECTタグでは、状態変更イベント(onChange)によって、所定の変数の値に、選択されたテキストデータが設定される。また、OPTIONタグによって、入力候補データが定義されている。
このような処理記述56を画面ファイル55の定義情報55c、55dの次に挿入することにより、画面50aを表示させるためのHTML形式の画面ファイルが生成される。
以下に、入力支援処理の処理手順について説明する。
図9は、入力支援処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。なお、この処理は、WEBブラウザ120からサーバアプリケーション31へページ読込要求が出された際に実行される。
[ステップS11]データ入力支援部135は、WEBブラウザ120による画面ファイルの読込が完了したか否かを判断する。読込が完了した場合には、処理がステップS12に進められる。読込が完了していなければステップS11の処理が繰り返される。
[ステップS12]データ入力支援部135は、入力支援機能を使用するか否かを判断する。入力支援機能を使用するか否かは、テスト支援画面40の入力支援ボタン40bが押されたか否かで判断される。入力支援機能を使用する場合には、処理がステップS13に進められる。入力支援機能を使用しない場合には、処理が終了する。
[ステップS13]データ入力支援部135は、属性情報モードを判別する。属性情報モードは、たとえば、読み込んだ画面ファイルに対応する属性情報定義が外部属性情報記憶部131に格納されている場合には外部定義モードとし、格納されていない場合には内部定義モードとすることができる。また、読み込んだ画面ファイル内に属性定義情報が含まれている場合には内部定義モードとし、属性定義情報が含まれない場合には外部定義モードとしてもよい。
外部定義モードの場合には、処理がステップS14に進められる。内部定義モードの場合には、処理がステップS15に進められる。
[ステップS14]データ入力支援部135は、外部属性情報記憶部131を参照し、WEBブラウザ120が読み込んだ画面ファイルに対応する属性定義情報を取得する。その後、処理がステップS16に進められる。
[ステップS15]データ入力支援部135は、WEBブラウザ120が読み込んだ画面ファイル内を検索し、属性定義情報を取得する。
[ステップS16]データ入力支援部135は、全てのデータ入力域に対してステップS17〜S19の処理が行われたか否かを判断する。全てのデータ入力域に対して処理が終了していれば、データ入力支援処理が終了する。未処理のデータ入力域があれば、処理がステップS17に進められる。
[ステップS17]データ入力支援部135は、処理対象のデータ入力域の属性に基づいて、入力候補データを生成する。
[ステップS18]データ入力支援部135は、生成した入力候補データの表示と、選択された入力候補データのデータ入力域への設定とのための処理記述を生成する。
[ステップS19]データ入力支援部135は、生成した処理記述に従った入力候補データが、処理対象のデータ入力域の近くに表示されるように、画面ファイル内に処理記述を埋め込む。その後、処理がステップS16に進められる。
このようにして、サーバアプリケーション31の動作テストの際のデータ入力域の入力候補データを表示させ、選択された入力候補データをデータ入力域に設定することができる。たとえば、各入力項目の属性(桁数,文字種など)をテストする際に、属性に適合した入力候補データと不適合の入力候補データとを含む、テストに最適なデータが生成され、そのリストが表示される。そのため、テスト作業者は、テキスト文などの文字入力を行う必要がなくなり、入力ミスの発生を防止することができる。しかも、テスト担当者ごとにテストデータが異なることを避けられるため、テスト品質の均質化が期待できる。また、入力作業自体の負荷も軽減される。
また、属性情報に適合する入力候補データばかりでなく、適合しない入力候補データも生成するため、意図的に間違ったデータを入力させて、エラーが発生することを確認するような動作確認も容易に行うことができる。
[テスト操作の記録]
次に、テスト操作の記録処理について説明する。テスト操作の記録処理では、サーバアプリケーション31に対して処理を要求するための操作入力が、文書閲覧装置3に対して行われると、操作入力の内容を判断し、判断された操作入力の内容を記録したログファイルを生成する。操作入力の判断とは、データの入力場所の判断や、押下されたボタンの判断である。また、テスト操作の記録では、操作入力内容の記憶に加え、テストのために取得した画面ファイルを記録する。
図10は、操作記録処理の概念図である。操作記録処理では、WEBブラウザ120に画面60が表示されると、画面60の元となる画面ファイルが、テスト操作記録部136によって、画面ファイル記憶部132に格納される。また、画面60に対して行われた操作入力が、テスト操作記録部136によって取得され、ログファイル記憶部133に格納される。
図10の例では、顧客から問い合わせ情報を検索するための画面60が示されている。画面60には、データ入力域61〜66、データ選択欄67,68および決定ボタン69が設けられている。
データ入力域61は、問い合わせ管理番号を入力するためのテキストボックスである。データ入力域62は、同じ問い合わせ管理番号の複数の問い合わせに対して設定された整理番号を入力するためのテキストボックスである。データ入力域63は、受付日時による検索における検索対象期間の開始日を入力するためのテキストボックスである。データ入力域64は、受付日時による検索における検索対象期間の終了日を入力するためのテキストボックスである。データ入力域65は、完了日時による検索における検索対象期間の開始日を入力するためのテキストボックスである。データ入力域66は、完了日時による検索における検索対象期間の終了日を入力するためのテキストボックスである。データ選択欄67は、受付区分を指定するための選択欄である。データ選択欄68は、問い合わせ対象の製品名を選択するための選択欄である。決定ボタン69は、検索実行の処理要求をサーバアプリケーション31に出力するためのボタンである。
図11は、操作内容が記録されたログファイルの一例を示す図である。このログファイル70は、ログインから図10に示す画面60に対する操作入力までの操作内容を記録したものである。
ログファイル70では、画面ファイルを取得するための操作入力が行われた場合には、「OPEN」で始まる操作記述が登録される。画面ファイルの取得が完了した場合には、「DocumentComplete」で始まる関連づけ記述(WEBサーバ30や画面ファイル記憶部132内の関連する画面ファイルの所在やファイル名の記述)が登録される。データ入力域にデータが入力された場合には、「FORM」で始まる操作記述が登録される。ボタンやリンクが押された場合には、「EVENT」で始まる操作記述が登録される。
たとえば、データ入力域63への入力操作が、操作記述71として記録されている。データ入力域64への入力操作が、操作記述72として記録されている。データ選択欄67での選択操作が、操作記述73として記録されている。データ選択欄68での選択操作が、操作記述74として記録されている。決定ボタン69の押下操作が、操作記述75として記録されている。
また、画面60に基づいて出力された検索要求に応じてサーバアプリケーション31から検索結果画面の画面ファイルが返されると、その画面ファイルの所在とファイル名を示すURL(http://hogehoge.aaa.co.jp/sim_servlets//ttd01)と、画面ファイル記憶部132に格納した画面ファイルのフレーム名(main)とファイル名(P9.html)とが、関連づけ記述76として記録されている。
画面60において検索条件が入力され、決定ボタン69が押下されると、WEBブラウザ120からサーバアプリケーション31へ検索処理の実行要求が出され、サーバアプリケーション31において検索処理が行われる。そして、検索処理の実行結果を表すHTML文書がサーバアプリケーション31からWEBブラウザ120に返される。これにより、検索条件入力用の画面60は、検索結果の表示画面に切り替えられる。
以下に、テスト操作記録処理の処理手順について説明する。
図12は、テスト操作記録処理の手順を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップS21]テスト操作記録部136は、WEBブラウザ120による画面ファイルの読み込みが完了したか否かを判断する。画面ファイルの読み込みが完了していれば、処理がステップS22に進められる。読込が完了していないか、読み込んだ画面ファイルが既に記憶されていれば処理がステップS24に進められる。
[ステップS22]テスト操作記録部136は、読み込んだ画面ファイルを画面ファイル記憶部132に書き出す。
[ステップS23]テスト操作記録部136は、ログファイルに、保存した画面ファイルのファイル名を記録する。
[ステップS24]テスト操作記録部136は、画面ファイル上でボタンやリンク(他の画面ファイルにリンクされた文字や画像)が押下されたか否かを判断する。ボタンやリンクが押下された場合には、処理がステップS25に進められる。ボタンやリンクが押下されていない場合には、処理がステップS27に進められる。
[ステップS25]テスト操作記録部136は、フォーム内(テキストボックスなどのデータ入力域に入力されたデータや、データ選択欄で選択されたデータ)に入力された情報を判断し、その情報を示す操作記述をログファイルに書き出す。
[ステップS26]テスト操作記録部136は、押下されたオブジェクト(ボタンまたはリンク)を判断し、WEBブラウザ120に対するボタンやリンクの押下処理を実行する。すなわち、入力装置12aからWEBブラウザ120に対して入力されるべき操作入力を、テスト操作記録部136が横取りしているため、ログファイルの更新後、テスト操作記録部136が押下処理を実行する。これにより、操作入力の内容がWEBブラウザ120に伝えられる。
[ステップS27]テスト操作記録部136は、処理が終了か否かを判断する。処理が終了で有ればテスト操作記録処理を終了し、そうでなければ処理がステップS21に進められる。
このようにして、テストの操作内容を記録しておくことができる。従来は画面のテストデータの記録ができず、テスト後の第三者による検証ができなかったが、上記のようなテスト操作記録処理を行うことで、動作確認の際に行った操作入力の内容を、後で確認することができる。
[テストの再実行処理]
次に、テストの再実行処理について説明する。再実行処理では、ログファイルとして記録された情報に基づいて入力データを順次自動的に画面ファイルに入力して、自動的にテストを実行する。
また、テストの再実行処理では、操作されるボタンやリンクを視覚的に明示する処理を行うことができる。また、再実行時の実行結果と、過去の実行結果とを比較し、相違点を抽出することもできる。
なお、テストの再実行処理には、自動実行とステップ実行とがある。自動実行ボタン40cが押された場合には、テスト再実行部137において自動実行による再実行が行われる。自動実行処理では、ログファイルの記述に沿って連続的にテストの再実行が行われる。ステップ実行ボタン40dが押された場合には、テスト再実行部137においてステップ実行によるテストの再実行処理が行われる。ステップ実行では、ステップ実行ボタン40dが押される毎に、ログの1つのイベント単位(ボタン/リンクの押下など)に処理が実行される。
図13は、テスト再実行処理の概念図である。テスト再実行部137は、テスト操作記録処理で記録されたログファイル70をログファイル記憶部133から読み取り、記録内容を再現する。「FORM」で始まる行であれば、データの設定を行う。「EVENT」で始まる行であれば、ボタンやリンクの押下処理を行う。
たとえば、テスト再実行部137は、まず、ログファイル70を読み込む。そして、自動実行ボタン40cまたはステップ実行ボタン40dが押下されると、ログファイル70の記述に基づいて、WEBブラウザ120に対して画面60の元となる画面ファイルをサーバアプリケーション31から読み込ませ、画面60を表示させる。そして、テスト再実行部137は、操作記述71に従ってデータ入力域63にデータを入力し、操作記述72に従ってデータ入力域64にデータを入力し、操作記述73に従ってデータ選択欄67からデータを選択し、操作記述74に従ってデータ選択欄68からデータを選択する。最後に、テスト再実行部137は、操作記述75に従って、決定ボタン69の押下操作を行う。
テスト再実行のボタンやリンクの押下処理においては、処理対象の視覚的な明示が行うことができる。すなわち、テスト再実行部137は、ログファイルに基づいて再実行を行う際に、ボタンやリンクを押下する前に、操作対象のボタンやリンクのオブジェクトを視覚的に強調表示する。これにより、利用者は、操作対象のオブジェクトを確認することができる。
図14は、操作対象の視覚的明示処理を施した画面の一例を示す図である。図14の例では、決定ボタン69が押下される際に、テスト再実行部137により、決定ボタン69を指し示す矢印アイコン81が表示される。矢印アイコン81は一定時間表示される。矢印アイコン81が表示されている間は、決定ボタン69の押下処理の進行は停止状態にあり、矢印アイコン81が消えると、再実行処理が進行し、決定ボタン69が押下される。
これにより、決定ボタン69が押される前に、矢印アイコン81によって、テスト作業者に対して、操作対象が決定ボタン69であるということが、視覚的に強調表示される。
なお、対象のボタンやリンクがWEBブラウザ120の画面60からはみ出しており、画面60をスクロールさせる必要があるときは、テスト再実行部137がWEBブラウザ120に対して画面60のスクロールを指示する。
また、矢印アイコン81の表示に変えて、対象のボタンやリンクを適当な間、点滅(ブリンク)表示させてもよい。
さらに、操作対象の視覚的明示を行うかどうかは、モード設定によってテスト作業者が任意に設定することができる。画面を見て操作対象を確認しながらテストの再実行を行う場合には、操作対象の視覚的明示を行うことで、操作内容を逐次確認することができる。また、操作内容は把握しているためテストの再実行結果のみを取得したい場合には、操作対象の視覚的明示を行わないことで、途中で停止させずに迅速にテストを再実行させることができる。
次に、図15〜図17を用いて、比較処理について説明する。比較処理では、前回の実行結果記録から再実行する場合に、前回の結果と比較して異なる場合は、異なる部分を指摘して、利用者に警告表示する。
図15は、操作入力によるテスト時の実行結果の一例を示す図である。図15の例は、2000年1月から2000年4月までの売上状況照会処理の実行要求をサーバアプリケーション31に対して送信した場合に、サーバアプリケーション31から返された実行結果である。サーバアプリケーション31からは、売上状況表示のHTML形式の画面ファイル91がWEBブラウザ120に送られる。WEBブラウザ120は、画面ファイル91に基づいて、売上状況を示す画面92を表示装置11aに表示させる。
画面92が表示されると、表示ファイル91と同じ内容のHTML形式の画面ファイル91bが、テスト操作記録部136によって、画面ファイル記憶部132に格納される。画面ファイル記憶部132に格納される際には、画面ファイル91bに対して新たなファイル名「P9.html」が付与される。
画面92の表示が終了すると、テスト操作記録部136によって、ログファイル93がログファイル記憶部133に格納される。また、このとき、ログファイル93内には、関連づけ記述93aとして、画面ファイル91のURLと、保存された画面ファイル91bのフレーム名「main」とファイル名「P9.html」とが登録される。
この実行結果では、たとえば、画面ファイル91には、製品名「PrintTool」の2000年2月の値91aとして「140」が設定されている。従って、画面92においても、製品名「PrintTool」の2000年2月の欄92aには、「140」が表示されている。
図16は、テスト再実行時の実行結果の一例を示す図である。図16の例は、図15に示した実行結果を受信した際に生成されたログファイル93に基づいて再実行が行われときに、サーバアプリケーション31から返された実行結果を示している。サーバアプリケーション31からは、売上状況表示のHTML形式の画面ファイル94がWEBブラウザ120に送られる。WEBブラウザ120は、画面ファイル94に基づいて、売上状況を示す画面95を表示装置11aに表示させる。
この実行結果では、たとえば、画面ファイル94には、製品名「PrintTool」の2000年2月の値94aとして「150」が設定されている。従って、画面95においても、製品名「PrintTool」の2000年2月の欄95aには、「150」が表示されている。
このとき、テスト結果比較部138によって、画面ファイル記憶部132に格納されていた画面ファイル91bの内容と図16に示した画面ファイル94の内容とが比較される。なお、画面ファイル91の所在は、ログファイル93に記録されている関連づけ記述93aによって判断することができる。すなわち、WEBブラウザ120で画面が切り替わって表示され、かつログファイル93の関連づけ記述93aとして記録されたURLおよびフレーム名と、表示されている画面のURLおよびフレーム名が一致すれば、保存されている画面ファイル91bと表示されている画面ファイル94とが比較される。
画面ファイル91bと画面ファイル94との比較の結果、製品名「PrintTool」の2000年2月の値が「140」から「150」に変わっていると判断される。すると、テスト結果比較部138は、相異する内容を画面表示する。たとえば、テスト結果比較部138は、画面ファイル94の内容を変更し、変更箇所を強調表示させると共に、マウスカーソルを当てた際に前回のデータが表示(ツールチップ表示)させるようにする。
図17は、テスト結果の比較処理の概念図である。画面ファイル91bと画面ファイル94とが、テスト結果比較部138によって比較されると、画面ファイル94を元にして、相異点を強調した画面ファイル96が生成される。そして、画面ファイル96がWEBブラウザ120に渡され、画面97が表示装置11aに表示される。
図17の例では、画面ファイル94の<TD>150</TD>という記載が、<TD align="right"><B STYLE="background:red" TITLE="前回値=140">150</B></TD>という記載96aに変更されている。これにより、画面97の前回と内容が異なる欄97aの背景が赤で表示される。他の欄の背景が白であれば、欄97aが強調表示されることになる。また、欄97aにマウスカーソル98当てると、ツールチップ表示部97bが現れ、ツールチップ表示部97b内に前回の値が表示される。
以下に、テストの再実行処理の手順について説明する。
図18は、テスト再実行処理の手順を示すフローチャートの前半である。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS31]テスト再実行部137は、ログファイル記憶部133よりログファイルを読み込む。
[ステップS32]テスト再実行部137は、読み込んだログファイルの最初に記述されている画面ファイルを、WEBブラウザ120に開かせる。WEBブラウザ120は、サーバアプリケーション31から該当する画面ファイルを取得し、画面ファイルに従った画面を表示する。
[ステップS33]テスト再実行部137は、画面ファイルの読み込みが完了したか否かを判断する。画面ファイルの読み込みが完了した場合には、処理がステップS34に進められる。画面ファイルの読み込みが完了していない場合には、ステップS33の処理が繰り返される。
[ステップS34]テスト再実行部137は、ログファイル中の表示する画面ファイルに関する記述以降の記述を順次、1行ずつ読み込む。
[ステップS35]テスト結果比較部138は、ログファイル中の関連づけ記述に基づいて、前にテストを実行した際に保存した画面ファイルを取得し、表示された画面ファイルと、保存されていた画面ファイルとの内容を比較する。
[ステップS36]テスト結果比較部138は、比較された2つの画面ファイルの内容に相異箇所があったか否かを判断する。相異箇所があった場合には、処理がステップS37に進められる。相異箇所が無かった場合には、処理が図19に示すステップS38に進められる。
[ステップS37]テスト結果比較部138は、画面ファイルの相異箇所を示す記述を、WEBブラウザ120に読み込んだ画面ファイルに挿入する。
図19は、テスト再実行処理の手順を示すフローチャートの後半である。以下、図19に示す処理をステップ番号に沿って説明する。
[ステップS38]テスト再実行部137は、ログファイル内の読み込んだ行の記述が、フォーム内要素の情報か否かが判断される。フォーム内要素の情報であれば処理がステップS39に進められる。フォーム内要素の情報でなければ、処理がステップS40に進められる。
[ステップS39]テスト再実行部137は、画面ファイル上のデータ入力域に、ログファイルより読み込んだ記述で示されている情報を設定する。
[ステップS40]テスト再実行部137は、ログファイル内の読み込んだ行の記述が、ボタンやリンクの押下情報か否かを判断する。押下情報であれば処理がステップS41に進められる。押下情報でなければ処理がステップS45に進められる。
[ステップS41]テスト再実行部137は、ボタンやリンクの押下処理の視覚的表示を行うか否かを判断する。視覚的表示をするか否かは、テスト作業者によって、予め設定されている。視覚的表示を行う場合には、処理がステップS42に進められる。視覚的表示を行わない場合には、処理がステップS44に進められる。
[ステップS42]テスト再実行部137は、ボタンやリンクの押下処理の視覚的表示を行う。視覚的表示とは、操作対象のオブジェクトを指し示す矢印アイコンを表示したり、操作対象のオブジェクトを点滅表示させたりする処理である。
[ステップS43]テスト再実行部137は、所定の時間だけ待機する。所定の時間が経過したら、処理がステップS44に進められる。
[ステップS44]テスト再実行部137は、表示されている画面上のボタンやリンクの押下処理を、WEBブラウザ120に指示する。
[ステップS45]テスト再実行部137は、ログファイルの読み込みが完了したか否かを判断する。ログファイル内に、まだ読み込んでいない記述がある場合には、処理が図18のステップS33に進められる。ログファイル内の全ての記述が読み込まれた場合には、テスト再実行処理が終了する。
このように、ログファイルに従ってテスト操作を再実行することにより、一度行ったテストは対象システムのバージョンアップや仕様変更などによる再テストが自動的に行える。そのため、テスト作業が効率化できる。しかも、再実行時に出力画面の検証を機械的に比較するため、確認ミスを防ぐことができる。
[レスポンス測定支援]
次に、レスポンス測定支援処理について説明する。レスポンス測定支援処理では、他の画面へ移行させるための決定操作(ボタンやリンクの押下など)が行われてから(サーバアプリケーション31に対して処理の実行要求が出されてからでもよい)、実行結果が返されるまでの時間(画面上でのボタンの押下イベントから実行結果の画面ファイルより込み完了イベントまでの時間)が計測され、表示される。計測された時間は、ログファイルに記録される。
図20は、レスポンス測定支援処理の概念図である。図20では、キーワード検索を行ったときのレスポンスが測定されている。テスト支援画面40において、レスポンス測定チェックボックス40aがチェックされていれば、サーバアプリケーション31に対して、処理の実行要求が出される毎に、レスポンス測定部139によりレスポンス測定が行われる。
たとえば、検索画面210の検索キー入力用のデータ入力域211に「Tおじさん」と入力され、検索ボタン212が押されると、WEBブラウザ120からサーバアプリケーション31に対して、検索要求が出される。レスポンス測定部139は、検索ボタン212の操作入力処理を検出して、時間の計時を開始する。その後、サーバアプリケーション31において検索が行われ、検索結果がWEBブラウザ120に返される。レスポンス測定部139は、WEBブラウザ120による検索結果の読み込み完了を検出し、時間の計時を終了する。
レスポンス測定部139は、計測したレスポンス時間41を、テスト支援画面40に表示させると共に、ログファイル230に、レスポンス時間を示す時間情報231を登録する。
以下に、レスポンス測定処理の手順について説明する。
図21は、レスポンス測定処理の手順を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。なお、レスポンス測定処理は、テスト支援画面40においてレスポンス測定チェックボックス40aがチェックされている間実行される処理である。
[ステップS51]レスポンス測定部139は、画面ファイルが更新されるか否かを判断する。画面ファイルが更新される場合とは、ボタンやリンクの押下により別の画面ファイルの取得を伴う要求がWEBブラウザ120からサーバアプリケーション31に送信される場合である。画面ファイルが更新される場合には、処理がステップS52に進められる。画面ファイルが更新されない場合には、ステップS51の処理が繰り返される。
[ステップS52]レスポンス測定部139は、現在時刻を取得する。
[ステップS53]レスポンス測定部139は、WEBブラウザ120によるサーバアプリケーション31からの応答である画面ファイル読み込みが完了したか否かを判断する。画面ファイルの読み込みが完了した場合には処理がステップS54に進められる。画面ファイルの読み込みが完了していない場合には、ステップS53の処理が繰り返される。
[ステップS54]レスポンス測定部139は、ステップS52で取得した時間から画面ファイルの読み込み完了までのレスポンス時間を計算する。そして、得られたレスポンス時間を、テスト支援画面40に表示させると共に、レスポンス時間の時間情報をログファイルに設定する。
[ステップS55]レスポンス測定部139は、レスポンス測定支援モード終了か否かが判断される。レスポンス測定支援モードは、レスポンス測定チェックボックス40aのチェックが外されることにより終了する。レスポンス測定支援モードが終了していなければ処理がステップS51に進められる。レスポンス測定支援モードが終了していれば、レスポンス測定処理が終了する。
このようにして、レスポンス時間を自動的に計測し、記録することができる。従来レスポンスの測定は担当者がストップウォッチを使用して計測していたが、レスポンス測定支援機能により自動化されるために負荷が軽減される。しかも、機械的に計測できるため、正確な計測が可能となる。
[テスト支援画面の半透明化処理」
次に、テスト支援画面の半透明化処理について説明する。テストの再実行時などにテスト支援画面とWEBブラウザ画面とが重なると、WEBブラウザ画面が見にくくなる。これを避けるため、本実施の形態では、テスト支援画面を半透明化することにより、ブラウザ画面の表示内容の確認を容易にし、かつテスト支援部に対する操作を行えるようにする。
図22は、テスト支援画面の半透明化前の画面の例を示す図である。図22の例では、WEBブラウザ画面241の上に重ねてテスト支援画面40が表示されている。表示装置11aのスクリーンの広さの制約で、WEBブラウザ画面241とテスト支援画面40とを並べて表示できない場合、テスト作業者は、半透明化ボタン40kを押下する。すると、テスト支援画面40が半透明になる。
図23は、テスト支援画面の半透明化後の画面の例を示す図である。半透明化されたテスト支援画面42には、半透明化ボタン40kに代えて、実体化ボタン42a、透明度減少ボタン42b、および透明度増加ボタン42cが設けられている。
実体化ボタン42aは、テスト支援画面42を実体化(不透明化)するためのボタンである。実体化ボタン42aが押されると、半透明化されたテスト支援画面42は、透明化前のテスト支援画面40に切り替えられる。
透明度減少ボタン42bは、テスト支援画面42の透明度を減少させるためのボタンである。透明度減少ボタン42bが押されると、テスト支援画面42の透明度が減少する。透明度が減少するとは、テスト支援画面42を表す画像の輝度が高くなり、逆に、テスト支援画面42によって隠されている画像の輝度が低くなることである。
透明度増加ボタン42cは、テスト支援画面42の透明度を増加させるためのボタンである。透明度増加ボタン42cが押されると、テスト支援画面42の透明度が増加する。透明度が増加するとは、テスト支援画面42を表す画像の輝度が低くなり、逆に、テスト支援画面42によって隠されている画像の輝度が高くなることである。
図24は、テスト支援画面半透明化処理による画面遷移の一例を示す図である。図24(A)は、半透明化前の画像を示しており、図24(B)は半透明化後の画像を示している。
半透明化前の画像250は、WEBブラウザ画面251の上にテスト支援画面40が重ねて表示されており、WEBブラウザ画面251の左下を視認することができない。
一方、半透明化後の画像250aは、WEBブラウザ画面251の上に、半透明化されたテスト支援画面42が重ねて表示されている。テスト支援画面42が半透明であることにより、WEBブラウザ画面251の左下も視認することができる。
次に、テスト支援画面の半透明化処理の手順について説明する。
図25は、テスト支援画面の半透明化処理の手順を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。なお、以下の処理は、半透明化ボタン40k、実体化ボタン42a、透明度減少ボタン42b、および透明度増加ボタン42cのいずれかが押されることで実行される処理である。
[ステップS61]ユーザインタフェース134は、テスト支援画面を既に半透明化しているか否かを判断する。既に半透明化していれば、処理がステップS65に進められる。半透明化していなければ処理がステップS62に進められる。
[ステップS62]ユーザインタフェース134は、半透明化ボタン40kの名前を「半透明化」から「実体化」に変更し、半透明化ボタン40kであったボタンを実体化ボタン42aとする。
[ステップS63]ユーザインタフェース134は、透明度調整ボタン(透明度減少ボタン42b、透明度増加ボタン42c)を、テスト支援画面内に表示する。
[ステップS64]ユーザインタフェース134は、テスト支援画面のウィンドウ透過率を50%に設定する。これにより、テスト支援画面が半透明化される。その後、半透明化の処理が終了する。
[ステップS65]ユーザインタフェース134は、既に半透明化されている場合には、押されたボタンが何で有るのかを判断する。実体化ボタン42aが押された場合には、処理がステップS66に進められる。透過率減少ボタン42bが押された場合には、処理がステップS68に進められる。透過率増加ボタン42cが押された場合には、処理がステップS69に進められる。
[ステップS66]ユーザインタフェース134は、実体化ボタン42aの名前を「実体化」から「半透明化」に変更し、実体化ボタン42aであったボタンを半透明化ボタン40kとする。
[ステップS67]ユーザインタフェース134は、テスト支援画面のウィンドウ透過率を0%に設定する。これにより、テスト支援画面が不透明となる。その後、処理が終了する。
[ステップS68]ユーザインタフェース134は、テスト支援画面のウィンドウ透過率を減らす。これにより、テスト支援画面の透明度が減少する。
[ステップS69]ユーザインタフェース134は、テスト支援画面のウィンドウ透過率を増やす。これにより、テスト支援画面の透明度が増加する。
以上のようにして、テスト支援画面の透明度を任意に変化させることができる。これにより、テスト対象の画面がモニタの画面全てを使って表示されるような場合でも、半透明化機能によりテスト支援画面を透かして対象画面を見ることができ、テスト作業を効率的に行うことができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、テスト支援部が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) 文書閲覧装置で閲覧可能な構造化文書を用いてサービスを提供するサーバコンピュータの動作テストを支援するテスト支援プログラムにおいて、
コンピュータに、
前記サーバコンピュータに対して処理を要求するための操作入力が、前記文書閲覧装置に対して行われると、当該操作入力の内容を判断し、
判断された前記操作入力の内容を記録したログファイルを生成し、
前記ログファイルに記録されている内容に従って、前記文書閲覧装置に対する操作入力を再現する、
処理を実行させることを特徴とするテスト支援プログラム。
(付記2) 前記操作入力の再現の際には、操作対象となるオブジェクトを所定の時間だけ強調表示させることを特徴とする付記1記載のテスト支援プログラム。
(付記3) 前記操作入力の再現において、前記操作対象となるオブジェクトを強調表示させる際には、当該オブジェクトの強調表示が終了するまで、前記操作入力の再現を停止させることを特徴とする付記2記載のテスト支援プログラム。
(付記4) さらに、前記コンピュータに、前記操作入力が再現されたことで前記サーバコンピュータから処理結果が返されたときに、当該処理結果と、前記操作入力により前記サーバコンピュータから返された過去の処理結果とを比較し、異なる部分を表示させることを特徴とする付記1記載のテスト支援プログラム。
(付記5) さらに、前記コンピュータに、前記操作入力における前記サーバコンピュータに対する処理要求の決定操作から、前記サーバコンピュータから処理結果が返されるまでの時間を測定し、測定結果を表示させることを特徴とする付記1記載のテスト支援プログラム。
(付記6) さらに、前記コンピュータに、前記操作入力を行うための操作画面を、半透明化して表示させることを特徴とする付記1記載のテスト支援プログラム。
(付記7) 文書閲覧装置で閲覧可能な構造化文書を用いてサービスを提供するサーバコンピュータの動作テストを支援するためのテスト支援装置におけるテスト支援方法において、
前記サーバコンピュータに対して処理を要求するための操作入力が、前記文書閲覧装置に対して行われると、当該操作入力の内容を判断し、
判断された前記操作入力の内容を記録したログファイルを生成し、
前記ログファイルに記録されている内容に従って、前記文書閲覧装置に対する操作入力を再現する、
ことを特徴とするテスト支援方法。
(付記8) 文書閲覧装置で閲覧可能な構造化文書を用いてサービスを提供するサーバコンピュータの動作テストを支援するためのテスト支援装置において、
前記サーバコンピュータに対して処理を要求するための操作入力が、前記文書閲覧装置に対して行われると、当該操作入力の内容を判断する判断手段と、
判断された前記操作入力の内容を記録したログファイルを生成する生成手段と、
前記ログファイルに記録されている内容に従って、前記文書閲覧装置に対する操作入力を再現する再現手段と、
を有することを特徴とするテスト支援装置。
(付記9) 文書閲覧装置で閲覧可能な構造化文書を用いてサービスを提供するサーバコンピュータの動作テストを支援するテスト支援プログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
前記サーバコンピュータに対して処理を要求するための操作入力が、前記文書閲覧装置に対して行われると、当該操作入力の内容を判断し、
判断された前記操作入力の内容を記録したログファイルを生成し、
前記ログファイルに記録されている内容に従って、前記文書閲覧装置に対する操作入力を再現する、
処理を実行させることを特徴とするテスト支援プログラムを記録したコンピュータ読み取り可能な記録媒体。
本発明の関連技術を示す図である。 本実施の形態のシステム構成を示す図である。 本実施の形態に用いる端末装置のハードウェア構成例を示すブロック図である。 本実施の形態に係るシステムの機能ブロック図である。 テスト支援画面の一例を示す図である。 データ入力支援処理の概念図である。 画面ファイルの一例を示す図である。 入力候補データの選択画面を表示させるための処理記述の一例を示す図である。 入力支援処理の手順を示すフローチャートである。 操作記録処理の概念図である。 操作内容が記録されたログファイルの一例を示す図である。 テスト操作記録処理の手順を示すフローチャートである。 テスト再実行処理の概念図である。 操作対象の視覚的明示処理を施した画面の一例を示す図である。 操作入力によるテスト時の実行結果の一例を示す図である。 テスト再実行時の実行結果の一例を示す図である。 テスト結果の比較処理の概念図である。 テスト再実行処理の手順を示すフローチャートの前半である。 テスト再実行処理の手順を示すフローチャートの後半である。 レスポンス測定支援処理の概念図である。 レスポンス測定処理の手順を示すフローチャートである。 テスト支援画面の半透明化前の画面の例を示す図である。 テスト支援画面の半透明化後の画面の例を示す図である。 テスト支援画面半透明化処理による画面遷移の一例を示す図である。図24(A)は、半透明化前の画像を示しており、図24(B)は半透明化後の画像を示している。 テスト支援画面の半透明化処理の手順を示すフローチャートである。
符号の説明
1 サーバコンピュータ
1a 構造化文書
1b データ入力域
2 テスト支援装置
3 文書閲覧装置
3a 構造化文書
3b データ入力域
3c 候補データ
10 ネットワーク
11 モニタ
12 キーボード
13 マウス
30 WEBサーバ
31 サーバアプリケーション
100 端末装置
101 CPU
102 RAM
103 ハードディスクドライブ
104 グラフィック処理装置
105 入力インタフェース
106 通信インタフェース
120 WEBブラウザ
130 テスト支援部

Claims (5)

  1. 文書閲覧手段で閲覧可能な構造化文書を用いてサービスを提供するサーバコンピュータの動作テストを、前記文書閲覧手段を有するコンピュータによって支援するテスト支援プログラムにおいて、
    前記コンピュータに、
    前記サーバコンピュータに対して処理を要求するための操作入力が、前記文書閲覧手段に対して行われると、当該操作入力の内容を判断し、
    判断された前記操作入力の内容を記録したログファイルを生成し、生成した前記ログファイルをログファイル記憶手段に格納し、
    前記ログファイル記憶手段に格納された前記ログファイルを指定した自動実行を指示する入力に応答して、前記ログファイルに記録されている内容に従って、前記文書閲覧手段に対する前記操作入力を再現するとともに、次に再現する前記操作入力がボタンまたはリンク情報の押下か否かを判断し、ボタンまたはリンク情報の押下の場合、前記文書閲覧手段上で操作対象となるボタンまたはリンク情報を所定の時間だけ強調表示させ、当該ボタンまたはリンク情報の強調表示が終了するまで前記操作入力の再現を停止し、強調表示終了後に当該ボタンまたはリンク情報の押下操作を再現する
    処理を実行させることを特徴とするテスト支援プログラム。
  2. さらに、前記サーバコンピュータに対して出された実行要求の実行結果である画面ファイルを画面ファイル記憶手段に格納し、
    前記操作入力に応答して生成された前記ログファイルに対して前記画面ファイルの所在とファイル名を含む関連づけ記述を記録し、
    前記文書閲覧手段に、前記操作入力が再現されたことで前記サーバコンピュータから処理結果が返されたときに、前記ログファイル内の前記関連づけ記述に基づいて前記操作入力により前記サーバコンピュータから返された過去の処理結果を前記画面ファイル記憶手段から取得し、取得した当該過去の処理結果と前記操作入力の再現により返された処理結果とを比較し、異なる部分を前記文書閲覧手段の表示画面で強調表示させることを特徴とする請求項1記載のテスト支援プログラム。
  3. 前記過去の処理結果と前記操作入力の再現により返された処理結果との異なる部分にマウスカーソルが移動すると、前記過去の処理結果における異なる部分のデータを表示することを特徴とする請求項2記載のテスト支援プログラム。
  4. さらに、前記コンピュータに、前記操作入力における前記サーバコンピュータに対する処理要求の操作入力から、前記サーバコンピュータから処理結果が返されるまでの時間を測定し、測定結果をテスト支援画面に表示させるとともに、再現された前記操作入力に関するログファイルに前記測定結果を含め、前記ログファイル記憶手段に格納することを特徴とする請求項1記載のテスト支援プログラム。
  5. さらに、前記コンピュータに、前記自動実行を指示するための自動実行ボタンおよび半透明化を指示するための半透明化ボタンが設けられたテスト支援画面において前記半透明化ボタンが押下されると、前記テスト支援画面を、半透明化して表示させることを特徴とする請求項1記載のテスト支援プログラム。
JP2005225215A 2005-08-03 2005-08-03 テスト支援プログラム Expired - Fee Related JP3987076B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005225215A JP3987076B2 (ja) 2005-08-03 2005-08-03 テスト支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005225215A JP3987076B2 (ja) 2005-08-03 2005-08-03 テスト支援プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001235318A Division JP2003044318A (ja) 2001-08-02 2001-08-02 テスト支援プログラムおよびテスト支援方法

Publications (2)

Publication Number Publication Date
JP2006031722A JP2006031722A (ja) 2006-02-02
JP3987076B2 true JP3987076B2 (ja) 2007-10-03

Family

ID=35897911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005225215A Expired - Fee Related JP3987076B2 (ja) 2005-08-03 2005-08-03 テスト支援プログラム

Country Status (1)

Country Link
JP (1) JP3987076B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4849929B2 (ja) * 2006-03-28 2012-01-11 富士通株式会社 シナリオ作成プログラム
JP4832143B2 (ja) * 2006-03-31 2011-12-07 富士通株式会社 記録プログラム
JP4216881B2 (ja) * 2007-02-02 2009-01-28 Sky株式会社 端末監視装置と端末監視装置のためのプログラム
JP4957279B2 (ja) * 2007-02-14 2012-06-20 富士ゼロックス株式会社 情報処理装置及びプログラム
JP5138617B2 (ja) * 2009-01-29 2013-02-06 株式会社プロフィールド 情報処理装置、情報処理方法、及びプログラム
JP5463717B2 (ja) * 2009-04-16 2014-04-09 富士通株式会社 アプリケーションテスト生成プログラム、アプリケーションテスト生成方法及びアプリケーションテスト装置
JP5569070B2 (ja) * 2010-03-18 2014-08-13 富士ゼロックス株式会社 情報処理装置、情報処理システムおよびプログラム

Also Published As

Publication number Publication date
JP2006031722A (ja) 2006-02-02

Similar Documents

Publication Publication Date Title
JP2003044318A (ja) テスト支援プログラムおよびテスト支援方法
US8306998B2 (en) Method for sending an electronic message utilizing connection information and recipient information
JP3987076B2 (ja) テスト支援プログラム
US20020059343A1 (en) Client apparatus and recording medium that records a program thereof
US20020188890A1 (en) System and method for testing an application
JP4940791B2 (ja) テスト支援プログラム、テスト支援装置、およびテスト支援方法
KR20010105161A (ko) 앨리어스 생성 방법, 장치 및 프로그램 제품
CN100422966C (zh) 内容创建系统和方法
EP1526448B1 (en) Method and computer system for document authoring
JP2003050964A (ja) 表計算ウェブサーバシステムおよび表計算ウェブシステム
US20090313539A1 (en) Information processor, information processing method, and recording medium
CN106960058B (zh) 一种网页结构变更检测方法及系统
JP5962277B2 (ja) 文書関連付け装置及びプログラム
JP3628528B2 (ja) 検索支援装置及び方法並びにその装置での処理をコンピュータにて行なわせるためのプログラムを格納した記録媒体
CN113177168A (zh) 一种基于Web元素属性特征的定位方法
JP2005266954A (ja) 操作情報記録・再生装置
JPH11167584A (ja) ページ遷移方法及びその実施装置並びにその処理プログラムとデータを記録した媒体
JP6830701B1 (ja) テスト支援装置、テスト支援プログラムおよび、テスト支援方法
JP4496919B2 (ja) Web閲覧操作の記録・再生装置及びプログラム及びコンピュータ読み取り可能な記憶媒体
US7287036B2 (en) Method and apparatus for automatically searching hypertext structure
US20220342955A1 (en) Information processing apparatus, information processing method, and program
KR20030003818A (ko) 웹문서내에서의 특정 위치를 북마크지정하기 위한 시스템및 방법
JP3516843B2 (ja) データベースアクセス方法
JP2009157797A (ja) データ入力支援システム、データ入力支援方法及びプログラム
JP2002334112A (ja) データベース管理システム及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070412

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: 20070710

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070711

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100720

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100720

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110720

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110720

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120720

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120720

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130720

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees