(57)【要約】      （修正有）【課題】テスト精度の高いテスト用スクリプトを作成すると共に、テスト用スクリプト作成時に要する作業負荷を軽減することで、テスト及び評価工程における開発コストを軽減する。【解決手段】ＧＵＩ操作前画面画像生成部３０８及びＧＵＩ操作後画面画像生成部３１０によって、ユーザインタフェース操作（以下、操作）を検知した所定時間前から操作を検知した時間迄の画像ファイル（ＧＵＩ操作前画面画像３１４）、及び操作を検知した時間から所定時間後の画像ファイル（ＧＵＩ操作後画面画像３１６）を生成した後、検知画像解析部３２０によって、ＧＵＩ操作前画面画像３１４及びＧＵＩ操作後画面画像３１６の画素の値の比較から、操作が行われた周辺画像ファイルを特定し、周辺画像ファイルがテスト対象アプリケーション２００の画面に該当する位置座標と操作に関する操作情報とをテスト用スクリプト３１８として生成する。【選択図】図３
2012103786.tif 000002
【特許請求の範囲】
【請求項１】
画面に対する操作を検知する操作検知部と、
連続して録画され得られた前記画面の画像データに基づいて、前記操作検知部によって操作を検知したタイミング前の前記画像データの画素の値と前記検知したタイミング後の前記画像データの画素の値とが異なる領域を検知画像として取得する検知画像解析部と、
前記操作検知部によって検知した操作に関する操作情報と前記検知画像解析部によって取得した検知画像を特定するための特定情報とを用いてテスト用スクリプトを生成するスクリプト生成部と、
前記スクリプト生成部によって生成したテスト用スクリプトに基づいて、テスト対象となる画面に対して前記特定情報によって特定される画像データが該当する位置座標を定め、前記位置座標を用いて前記操作情報に関する操作を行うスクリプト実行部と、
を備えたことを特徴とするテスト支援装置。
【請求項２】
前記検知画像解析部は、前記異なる領域が複数存在する場合は、前記タイミング後の検知画像の濃淡の濃い検知画像を検知画像として取得することを特徴とする請求項１に記載のテスト支援装置。
【請求項３】
前記検知画像解析部は、前記異なる複数の領域が隣接して存在する場合は、前記検知画像の取得を行わないことを特徴とする請求項１または２に記載のテスト支援装置。
【請求項４】
画面に対する操作を検知する操作検知工程と、
連続して録画され得られた前記画面の画像データに基づいて、前記操作検知工程によって操作を検知したタイミング前の前記画像データの画素の値と前記検知したタイミング後の前記画像データの画素の値とが異なる領域を検知画像として取得する検知画像解析工程と、
前記操作検知工程によって検知した操作に関する操作情報と前記検知画像解析工程によって取得した検知画像を特定するための特定情報とを用いてテスト用スクリプトを生成するスクリプト生成工程と、
前記スクリプト生成工程によって生成したテスト用スクリプトに基づいて、テスト対象となる画面に対して前記特定情報によって特定される画像データが該当する位置座標を定め、前記位置座標を用いて前記操作情報に関する操作を行うスクリプト実行工程と、
を実行することを特徴とするテスト支援装置の制御方法。
【請求項５】
テスト支援装置において実行されるプログラムであって、
前記テスト支援装置を、
画面に対する操作を検知する操作検知手段と、
連続して録画され得られた前記画面の画像データに基づいて、前記操作検知手段によって操作を検知したタイミング前の前記画像データの画素の値と前記検知したタイミング後の前記画像データの画素の値とが異なる領域を検知画像として取得する検知画像解析手段と、
前記操作検知手段によって検知した操作に関する操作情報と前記検知画像解析手段によって取得した検知画像を特定するための特定情報とを用いてテスト用スクリプトを生成するスクリプト生成手段と、
前記スクリプト生成手段によって生成したテスト用スクリプトに基づいて、テスト対象となる画面に対して前記特定情報によって特定される画像データが該当する位置座標を定め、前記位置座標を用いて前記操作情報に関する操作を行うスクリプト実行手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア・アプリケーション、またはソフトウェア・システムのテスト自動化技術に関し、特に画面に対するユーザインタフェース操作に関するテスト自動化技術に関する。
【背景技術】
【０００２】
ソフトウェアの開発工程において、テスト及び評価の工程は、時間及び費用等のコスト面で大きなウェイトを占める。また、大規模なソフトウェア開発になるに従って、テスト及び評価の工程に投入が必要とされる作業工数及び人員は、比例的に増加し、開発コスト増及び納期延期等につながる。
【０００３】
開発を行ったソフトウェアのテスト及び評価が十分に行われずに、ソフトウェアを製品として出荷した後、ソフトウェアの導入先のシステムにおける運用時に障害が発生した場合、それに伴う、ソフトウェアの対応あるいは修正によって、更に、作業工数及び人員増となり、開発コスト増となってしまう。また、生活のインフラに直結するようなシステムともなれば、その影響は計り知れないものになる。
【０００４】
そこで、ソフトウェアのテスト及び評価の工程の効率化を図ることで、開発コスト増を抑止するために利用されるのが、テスト自動化ソフトウェアである。
【０００５】
既存のテスト自動化ソフトウェアの仕組みは、テスト対象アプリケーションでの画面に対するユーザインタフェース操作をスクリプト形式のプログラムに保存し、作成保存したスクリプトを実行することで、保存したユーザインタフェース操作を再現し、テスト及び評価の実施を効率化し、またテスト及び評価を資源化することができる。
【０００６】
また、自動テストを行う上で生成したスクリプトを部品化することでさらなる効率化を実現技術が開示されている（例えば、特許文献１参照）
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−１４８４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
自動テストを実施するには、あらかじめテスト用のスクリプトを作成する必要があるが、該スクリプトを作成するには、ユーザインタフェース操作が施された位置を、画面に対する座標値から定め、該座標値を元に作成を行っている。
【０００９】
ユーザインタフェース操作が施された位置を示す座標を定めるには、「ユーザインタフェース操作が施された位置の座標を直に定める」方法と、「ユーザインタフェース操作が施された位置の周辺画像を画面から検索し、座標を導き出す」方法の２通りある。
【００１０】
「ユーザインタフェース操作が施された位置の座標を直に定める」方法では、テスト用のスクリプトを実行する環境によって座標が変わる可能性があり、たとえば、テスト対象アプリケーションの表示位置がテスト用のスクリプト作成時とテスト実行時で異なる場合、座標がずれてしまい、期待通りの操作が行われず、現実的ではない。
【００１１】
「ユーザインタフェース操作が施された位置の周辺画像を画面から検索し、座標を導き出す」方法では、上記のような問題は発生せず、この方法で座標を導き出すのが現実的であるが、この点については、特許文献１に記載や示唆はない。
【００１２】
また、実際にテスト用のスクリプトを作成する場合、ユーザは、ユーザインタフェースを用いて対象の周辺画像(例えば、ボタンの画像)を特定した後、周辺画像をスキャンして作成しなければならない。
【００１３】
具体的な例をあげると、画面を全体、もしくは対象のウィンドウをデータとして保存し、該データを画像編集用のアプリケーションソフトに貼り付けて、そこから対象とすべく周辺画像を切り取るといった手順になる。
【００１４】
そして、テスト実行時には、切り取った周辺画像とテスト対象となる画面との照合を行い、切り取った周辺画像に対応する画像を用いて座標を定めて、ユーザインタフェース操作を再現する。
【００１５】
従って、自動テストを行う準備段階に於いて、ユーザにとって非常に作業負荷がかかり、更に大規模なソフトウェア開発を実施する際には、操作手順の量が増えることは必至であり、テスト用のスクリプト作成の作業量も増え、開発コスト軽減を目的とするためのテスト自動化ソフトウェアが、開発コスト増といった結末を招く可能性が十分にあり得る。
【００１６】
本発明では、上記課題を解決するために、よりテスト精度の高いテスト用のスクリプトを作成すると共に、テスト用のスクリプト作成時に要する作業負荷を軽減することによって、テスト及び評価工程における開発コストを軽減することが可能なテスト支援装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するための第一の発明は、画面に対する操作を検知する操作検知部と、連続して録画され得られた前記画面の画像データに基づいて、前記操作検知部によって操作を検知したタイミング前の前記画像データの画素の値と前記検知したタイミング後の前記画像データの画素の値とが異なる領域を検知画像として取得する検知画像解析部と、前記操作検知部によって検知した操作に関する操作情報と前記検知画像解析部によって取得した検知画像を特定するための特定情報とを用いてテスト用スクリプトを生成するスクリプト生成部と、前記スクリプト生成部によって生成したテスト用スクリプトに基づいて、テスト対象となる画面に対して前記特定情報によって特定される画像データが該当する位置座標を定め、前記位置座標を用いて前記操作情報に関する操作を行うスクリプト実行部と、を備えたことを特徴とする。
【００１８】
上記目的を達成するための第二の発明は、画面に対する操作を検知する操作検知工程と、連続して録画され得られた前記画面の画像データに基づいて、前記操作検知工程によって操作を検知したタイミング前の前記画像データの画素の値と前記検知したタイミング後の前記画像データの画素の値とが異なる領域を検知画像として取得する検知画像解析工程と、前記操作検知工程によって検知した操作に関する操作情報と前記検知画像解析工程によって取得した検知画像を特定するための特定情報とを用いてテスト用スクリプトを生成するスクリプト生成工程と、前記スクリプト生成工程によって生成したテスト用スクリプトに基づいて、テスト対象となる画面に対して前記特定情報によって特定される画像データが該当する位置座標を定め、前記位置座標を用いて前記操作情報に関する操作を行うスクリプト実行工程と、を実行することを特徴とする。
【００１９】
上記目的を達成するための第三の発明は、テスト支援装置において実行されるプログラムであって、前記テスト支援装置を、画面に対する操作を検知する操作検知手段と、連続して録画され得られた前記画面の画像データに基づいて、前記操作検知手段によって操作を検知したタイミング前の前記画像データの画素の値と前記検知したタイミング後の前記画像データの画素の値とが異なる領域を検知画像として取得する検知画像解析手段と、前記操作検知手段によって検知した操作に関する操作情報と前記検知画像解析手段によって取得した検知画像を特定するための特定情報とを用いてテスト用スクリプトを生成するスクリプト生成手段と、前記スクリプト生成手段によって生成したテスト用スクリプトに基づいて、テスト対象となる画面に対して前記特定情報によって特定される画像データが該当する位置座標を定め、前記位置座標を用いて前記操作情報に関する操作を行うスクリプト実行手段と、して機能させるためのプログラム。
【発明の効果】
【００２０】
本発明によれば、ユーザインタフェース操作が施された位置の周辺画像からテスト用のスクリプトにて用いる当該位置の座標値を求めてテスト用のスクリプトを自動生成することで、ソフトウェア開発におけるテスト及び評価工程における開発コストを軽減することができる、という効果を奏する。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係るテスト支援装置のハードウェアの概略構成を示す構成図である。
【図２】本発明の実施形態に係るテスト支援装置におけるモジュールの機能構成を示す構成図である。
【図３】本発明の実施形態に係るテスト支援装置におけるモジュールの詳細な機能の構成を示す構成図である。
【図４】本発明の実施形態に係るテスト支援装置におけるテスト用スクリプトを作成する処理を示すフローチャートである。
【図５】本発明の実施形態におけるテスト用スクリプトの生成に当たり、ユーザインタフェース操作が施された位置の周辺画像を特定する処理を示すフローチャートである。
【図６】本発明の実施形態におけるテスト用スクリプトの生成に当たり、ユーザインタフェース操作が施された位置の周辺画像の候補を選定する処理を示すフローチャートである。
【図７】本発明の実施形態におけるテスト用スクリプトの生成に当たり、ユーザインタフェース操作を示すスクリプトの生成に関する処理を示すフローチャートである。
【図８】本発明の実施形態におけるテスト用スクリプトを実行する処理を示すフローチャートである。
【図９】本発明の実施形態において、押下されたボタンを検知したことを説明するための説明図である。
【図１０】本発明の実施形態において、選択されたチェックボタンを検知したことを説明するための説明図である。
【図１１】本発明の実施形態において、選択されたラジオボタンを検知したことを説明するための説明図である。
【図１２】本発明の実施形態において、リストからレコードが選択されたことを検知したことを説明するための説明図である。
【図１３】本発明の実施形態において、コンボボックス(スクロールなしの場合)からレコードが選択されたことを検知したことを説明するための説明図である。
【図１４】本発明の実施形態において、コンボボックス(スクロールありの場合)からレコードが選択されたことを検知したことを説明するための説明図である。
【図１５】本発明の実施形態において、メニューからレコードが選択されたことを検知したことを説明するための説明図である。
【図１６】本発明の実施形態におけるテスト用スクリプトの一例であるソースコードである。
【発明を実施するための形態】
【００２２】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００２３】
図１は、本発明の実施形態に係るテスト支援装置のハードウェアの構成を示す構成図である。
【００２４】
図１において、１００は、作成したソフトウェアのテストを実行するコンピュータであるテスト支援装置であり、ＲＯＭ１０２あるいは外部メモリ１０４には、ＣＰＵ１０６の制御プログラムであるＢＩＯＳ(Basic Input / Output System)やＯＳ、または、テスト支援装置１００の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２５】
ＲＡＭ１０８は、ＣＰＵ１０６の主メモリ、ワークエリア等として機能する。ＣＰＵ１０６は、処理の実行に際して必要なプログラム等をＲＡＭ１０８にロードして、プログラムを実行することで各種動作を実現するものである。
【００２６】
また、キーボードコントローラ（KBC）１１０は、キーボード１１２をポイントデバイスコントローラ(PDC)１１４はマウス１１６やその他のポインティングデバイスからの入力を制御する。ビデオコントローラ（VC）１１８は、ディスプレイ１２０等の表示機への表示を制御する。
【００２７】
メモリコントローラ（ＭＣ）１２２は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（HDD）やフロッピーディスク（登録商標  ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ１０４へのアクセスを制御する。
【００２８】
ＲＯＭ１０２、ＣＰＵ１０６、ＲＡＭ１０８、キーボードコントローラ（KBC）１１０、イントデバイスコントローラ(PDC)１１４、ビデオコントローラ（VC）１１８、及びメモリコントローラ（ＭＣ）１２２は、システムバス１２４を介して接続されており、相互に制御信号の送受信を行っている。
【００２９】
図２は、本発明の実施形態に係るテスト支援装置１００におけるモジュールの機能構成を示す構成図である。
【００３０】
テスト支援装置１００は、作成したソフトウェアのテストを実行するための環境が整備されており、テスト支援装置１００には、作成したソフトウェアを示すテスト対象アプリケーション２００、作成したソフトウェアに対して自動テストを行う際に利用するテスト用スクリプトを自動生成するスクリプト生成モジュール２０２、及び生成したテスト用スクリプトを用いてテスト対象アプリケーションの自動テストを実行するスクリプト実行モジュール２０４から構成されている。
【００３１】
図３は、本発明の実施形態に係るテスト支援装置１００におけるモジュールの詳細な機能構成を示す構成図である。
【００３２】
スクリプト生成モジュール２０２は、画面録画部３００を備えており、画面録画部３００は、図１に示すディスプレイ１２０に連続して表示される画面の動画ファイルを画面動画３０２としてＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。
【００３３】
この場合、録画の開始を指示入力するための不図示の画面を準備し、当該画面に備えられた録画開始ボタン等がキーボード１１２やマウス１１６等のポインティングデバイスによって押下されたタイミングで録画を開始し、録画を中止する場合は、録画中止ボタン等が当該ポインティングデバイスによって押下されたタイミングで録画を中止する。
【００３４】
ＧＵＩ操作入力部３０４は、図１に示すキーボード１１２やマウス１１６等のポインティングデバイスを示しており、ユーザは、ＧＵＩ操作入力部３０４を用いてテスト用スクリプトの生成や生成したテスト用スクリプトを実行することで、テスト対象アプリケーション２００の自動テストを行う。
【００３５】
また、スクリプト生成モジュール２０２は、ＧＵＩ操作検知部３０６、ＧＵＩ操作前画面画像生成部３０８、ＧＵＩ操作後画面画像生成部３１０、及びスクリプト生成部３１２を備えており、ＧＵＩ操作検知部３０６は、ＧＵＩ操作入力部３０４、ＧＵＩ操作前画面画像生成部３０８、ＧＵＩ操作後画面画像生成部３１０、及びスクリプト生成部３１２に接続されている。
【００３６】
ＧＵＩ操作検知部３０６は、ＧＵＩ操作入力部３０４によって入力されたキーボード１１２の打鍵、マウス１１６によるカーソルの操作等の操作情報（例えば、キーボード１１２であれば、リターンキーや「↓」あるいは「↑」キーの押下等のイベント情報や、マウス１１６を用いた場合、カーソル移動、右クリック、及び左クリック等のイベント情報）を検知した時に、ＧＵＩ操作前画面画像生成部３０８及びＧＵＩ操作後画面画像生成部３１０に検知したことを示す操作検知情報を送信すると共に、スクリプト生成部３１２に操作情報を送信する。
【００３７】
ＧＵＩ操作前画面画像生成部３０８は、操作検知情報を受信すると、受信したタイミングより所定時間前から受信したタイミング迄に画面録画部３００によって記録された画面動画３０２を用いて、例えばビットマップ形式の画像ファイルを生成する（つまり、受信したタイミング直前の画面動画３０２の１フレームを取得して画像ファイルを生成する。）。生成された画像ファイルは、ＧＵＩ操作前画面画像３１４としてＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。
【００３８】
また、ＧＵＩ操作後画面画像生成部３１０は、操作検知情報を受信すると、受信したタイミングから所定時間後迄に画面録画部３００によって記録された画面動画３０２を用いて、例えばビットマップ形式の画像ファイルを生成する（つまり、受信したタイミング直後の画面動画３０２の１フレームを取得して画像ファイルを生成する。）。生成された画像ファイルは、ＧＵＩ操作後画面画像３１６としてＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。
【００３９】
尚、ＧＵＩ操作前画面画像３１４及びＧＵＩ操作後画面画像３１６が、ＧＵＩ操作入力部３０４によって入力された操作に関連している画像ファイルであることを示すために、ＧＵＩ操作前画面画像３１４を00001_before.bmpとして保存し、ＧＵＩ操作後画面画像３１６を00001_after.bmpとして保存して、ファイル名に関連性があることを示す識別番号（本例では、00001を示す）を設定して保存を行う。
【００４０】
スクリプト生成部３１２は、ＧＵＩ操作検知部３０６によって送信された操作情報を受信し、受信した操作情報及び検知画像（詳細後述）を特定する特定情報に基づいて、テスト用スクリプト３１８を生成する。
【００４１】
また、スクリプト生成モジュール２０２は、検知画像解析部３２０を備えており、検知画像解析部３２０は、スクリプト生成部３１２と接続されており、ＧＵＩ操作前画面画像３１４及びＧＵＩ操作後画面画像３１６を取得して解析を行い、ユーザがＧＵＩ操作入力部３０４を用いて入力を行った位置の周辺画像ファイルを、取得して解析を行ったＧＵＩ操作前画面画像３１４から切出して生成し、生成された周辺画像ファイルは、検知画像３２２としてＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。
【００４２】
尚、検知画像３２２を記録した記録媒体の所定領域（記録先のパス等）を特定情報としており、特定情報は、スクリプト生成部３１２へ送信される。
【００４３】
スクリプト実行モジュール２０４は、スクリプト実行部３２４を含んで構成されており、スクリプト実行部３２４は、スクリプト生成部３１２によって生成されたテスト用スクリプト３１８の操作情報及び特定情報、検知画像解析部３２０によって生成され記録された検知画像３２２に基づいて、テスト対象アプリケーション２００に対して自動テストを実行する。
【００４４】
テスト用スクリプト３１８を実行させるには、実行を指示入力するための不図示の画面を準備し、当該画面に備えられたテスト開始ボタン等がキーボード１１２やマウス１１６等のポインティングデバイスによって押下されたタイミングでテスト用スクリプトを実行する。
【００４５】
次に図４を用いて本発明の実施形態に係るテスト支援装置１００におけるテスト用スクリプトを生成する処理を示すフローチャートである。尚、本フローチャートにおける各処理ステップは、ＣＰＵ１０６の制御の下、実行される。
【００４６】
ステップＳ１００では、ＧＵＩ操作入力部３０４によって、テスト対象アプリケーション２００の起動指示がされたことを検知して、テスト対象アプリケーション２００を起動し、次のステップＳ１０２では、画面録画部３００によって、録画開始の指示入力がなされたことを検知して、ディスプレイ１２０に表示される画面の動画ファイルを画面動画３０２としてＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。
【００４７】
ステップＳ１０４では、画面録画部３００によって、録画中止の指示入力がなされたか否かを検知したか否かを判定し、検知した場合は、ステップＳ１１６へ処理を進め、検知しない場合は、ステップＳ１０６へ処理を進める。
【００４８】
ステップＳ１０６では、ＧＵＩ操作検知部３０６によって、ＧＵＩ操作入力部３０４によって操作が行われたことを検知したか否かを判定し、検知した場合は、ＧＵＩ操作前画面画像生成部３０８及びＧＵＩ操作後画面画像生成部３１０へ操作を検知した旨を示す操作検知情報を送信すると共に、当該操作に関する操作情報（例えば、キーボード１１２であれば、リターンキーや「↓」あるいは「↑」キーの押下等のイベント情報や、マウス１１６を用いた場合、カーソル移動、右クリック、及び左クリック等のイベント情報）をスクリプト生成部３１２へ送信した後、ステップＳ１０８へ処理を進め、検知しない場合は、ステップＳ１１４の後続の処理へ進める。
【００４９】
ステップＳ１０８では、ＧＵＩ操作前画面画像生成部３０８によって、ステップＳ１０６において送信された操作検知情報を受信し、受信したタイミングより所定時間前から受信したタイミング迄に画面録画部３００によって記録された画面動画３０２を用いて、例えば、ビットマップ形式の画像ファイルを生成し（つまり、受信したタイミング直前の画面動画３０２の１フレームを取得して画像ファイルを生成し）、生成された画像ファイルを、ＧＵＩ操作前画面画像３１４としてＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。
【００５０】
ステップＳ１１０では、ＧＵＩ操作後画面画像生成部３１０によって、ステップＳ１０６において送信された操作検知情報を受信し、受信したタイミングから所定時間後迄に画面録画部３００によって記録された画面動画３０２を用いて、例えばビットマップ形式の画像ファイルを生成し（つまり、受信したタイミング直後の画面動画３０２の１フレームを取得して画像ファイルを生成し）、生成された画像ファイルを、ＧＵＩ操作後画面画像３１６としてＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。尚、ＧＵＩ操作前画面画像３１４及びＧＵＩ操作後画面画像３１６が関係していることを示すため、ファイル名には、関連が明示されるように識別番号を振ることで対応している。
【００５１】
次にステップＳ１１２では、検知画像解析部３２０によって、ステップＳ１０８において記録媒体へ記録したＧＵＩ操作前画面画像３１４及びステップＳ１１０において記録媒体へ記録したＧＵＩ操作後画面画像３１６を取得して解析を行った後、ユーザがＧＵＩ操作入力部３０４を用いて入力を行った位置の周辺画像ファイルを、取得して解析を行ったＧＵＩ操作前画面画像３１４から切出して生成し、生成された周辺画像ファイルを、検知画像３２２としてＲＯＭ１０２や外部メモリ１０４等の記録媒体の所定領域に記録する。  
【００５２】
尚、検知画像３２２を記録した記録媒体の所定領域（記録先のパス等）を特定情報として、スクリプト生成部３１２へ送信する。尚、本ステップにおける処理の詳細は、図５を用いて後述する。
【００５３】
次にステップＳ１１４では、スクリプト生成部３１２によって、ステップＳ１０６において送信された操作情報及びステップＳ１１２において記録媒体へ記録した検知画像３２２を用いてテスト用スクリプトを生成する。
【００５４】
ステップＳ１１６では、画面録画部３００によって、ディスプレイ１２０に表示される画面の動画の記録を中止し、次のステップＳ１１８では、テスト対象アプリケーション２００を停止する。
【００５５】
次に、検知画像解析処理における処理の詳細について、図５に示すフローチャートを用いて説明する。尚、本フローチャートにおける各処理ステップは、ＣＰＵ１０６の制御の下、検知画像解析部３２０によって実行される。
【００５６】
ステップＳ２００では、ステップＳ１０８において記録媒体へ記録したＧＵＩ操作前画面画像３１４及びステップＳ１１０において記録媒体へ記録したＧＵＩ操作後画面画像３１６を取得して解析を行った後、ユーザがＧＵＩ操作入力部３０４を用いて入力を行った位置の周辺画像ファイルを、取得して解析を行ったＧＵＩ操作前画面画像３１４から切出して生成し、生成された周辺画像ファイルのなかから、検知画像３２２となり得る候補を特定し、ＧＵＩ操作前画面画像３１４から特定されたものをＧＵＩ操作前範囲画像、ＧＵＩ操作後画面画像３１６から特定されたものをＧＵＩ操作後範囲画像として、ＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。尚、本ステップにおける処理の詳細は、図６を用いて後述する。
【００５７】
次にステップＳ２０２では、ステップＳ２００において記録媒体へ記録されたＧＵＩ操作後範囲画像がリスト状態であるか否かを判定する。リスト状態とは、例えば、図１４に示すＧＵＩ操作前に示される初期状態に対して、リストが選択されると、ＧＵＩ操作後１に示すようにリストに複数のレコードが隣接して表示される。
【００５８】
その後、複数のレコードに対して、ＧＵＩ操作後１に示すように「↓」キー等が押下されたことを検知することによって１レコード選択された場合、選択されたレコード（図面（＊.ｖｓｄ））がハイライト表示され、ＧＵＩ操作前の画像ファイルとＧＵＩ操作後１の画像ファイルとを比較すると、差分が検知されるため検知画像３２２しても良いが、スクロール等の操作が行われると、リストに表示されたレコードは変化するため、ＧＵＩ操作後１の画像ファイルとＧＵＩ操作後２の画像ファイルとを比較すると、差分が検知されるため、レコードを選択していないにも関わらず、複数の検知画像３２２が生じてしまう。
【００５９】
そのため、複数の検知画像３２２が生じた場合は、ユーザによって、表示されたレコードのうち選択がなされていないものとして、検知画像３２２の生成を行わないため本ステップを実行している。
【００６０】
ステップＳ２０４では、ステップＳ２００において記録媒体に記録されたＧＵＩ操作前範囲画像を検知画像候補としてＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。
【００６１】
ステップＳ２０６では、ステップＳ２０４において記録媒体へ記録した検知候補画像が複数存在するか否かを判定し、複数存在する場合は、ステップＳ２０８へ処理を進め、複数存在しない場合は、処理を終了する。本ステップにおいて検知候補画像が複数存在する場合については、図１１〜図１３を用いて、後述する。
【００６２】
ステップＳ２０８では、ステップＳ２０４において記録媒体へ記録した検知画像候補に対応するＧＵＩ操作後範囲画像の濃淡が濃い画像を検知画像３２２としてＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。尚、濃淡の比較については、図９〜図１５を用いて詳細を説明する。
【００６３】
また、本ステップでは、検知画像３２２を記録した記録媒体の所定領域を特定情報としてRAM１０８へ記憶され、スクリプト生成部３１２において、テスト用スクリプト３１８を生成する際に、RAM１０８へ記憶された特定情報が用いられる。
【００６４】
次に、検知範囲画像取得処理における処理の詳細について、図６に示すフローチャートを用いて説明する。尚、本フローチャートにおける各処理ステップは、ＣＰＵ１０６の制御の下、検知画像解析部３２０によって実行される。
【００６５】
ステップＳ３００では、ステップＳ１１０において記録媒体へ記録したＧＵＩ操作前画面画像３１４の画像ファイル及びＧＵＩ操作後画面画像３１６の画像ファイルの各画素の値を比較する。
【００６６】
この場合、ファイル名に設定された識別番号に対して同一の識別番号を有するものを比較し、ステップＳ３０２では、ステップＳ３００において、画素の値が異なるとされた画素を線で繋ぐ。
【００６７】
次のステップＳ３０４では、線で繋がれた枠が四辺形であるか否かを判定し、四辺形であると判定した場合は、ステップＳ３０６へ処理を進め、四辺形でないと判定した場合は、ステップＳ３０８へ処理を進める。
【００６８】
ステップＳ３０６では、線で繋がれた四辺形を矩形（あるいは正方形）に整形する。尚、矩形（あるいは正方形）への整形の方法については、図１４に示すようにＧＵＩ操作前画面９００の画像ファイルとＧＵＩ操作後画面９０４の画像ファイルとの比較から画素の値が異なるとされた画素を線で結んだ枠９０２と枠９０６とが示されており、これらの枠は、矩形（あるいは正方形）ではないため、枠として判定された箇所を含むようにして枠９０８のように矩形（あるいは正方形）に整形する。
【００６９】
次にステップＳ３０８では、ＧＵＩ操作前画面画像３１４に対して、ステップＳ３０６において矩形に整形された枠をＧＵＩ操作前範囲画像（周辺画像ファイル）としてＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。
【００７０】
次にステップＳ３１０では、ＧＵＩ操作後画面画像３１６に対して、ステップＳ３０６において矩形に整形された枠をＧＵＩ操作後範囲画像（周辺画像ファイル）としてＲＯＭ１０２や外部メモリ１０４等の記録媒体に記録する。
【００７１】
次に、スクリプト生成処理における処理の詳細について、図７に示すフローチャートを用いて説明する。尚、本フローチャートにおける各処理ステップは、ＣＰＵ１０６の制御の下、スクリプト生成部３１２によって実行される。
【００７２】
ステップＳ４００では、ステップＳ１０６においてＧＵＩ操作検知部３０６から送信された操作情報を受信し、受信した操作情報をＲＡＭ１０８に記憶し、次のステップＳ４０２では、ステップＳ４００においてＲＡＭ１０８に記憶した操作情報に基づいて、画像検索処理が必要であるか否かを判定する。
【００７３】
尚、画像検索処理は、ユーザがＧＵＩ操作入力部３０４を用いて入力を行った位置の周辺画像ファイルから検知画像３２２を特定して、座標を求める方法を示しており、操作情報として、キーボード１１２であれば、リターンキーや「↓」あるいは「↑」キーの押下等のイベント情報や、マウス１１６を用いた場合、右クリック、及び左クリック等のイベント情報等の画面に配置されたボタンやリストを選択する際に用いる操作が行われた場合、当該画像検索処理が必要である。
【００７４】
ステップＳ４０４では、ステップＳ１１２において検知画像３２２が記録された記録媒体の所定領域を示すパス、つまりRAM１０８に記憶された特定情報を含めて画像検索処理をテスト用スクリプト３１８に追加する。
【００７５】
ステップＳ４０６では、ステップＳ４００においてＲＡＭ１０８に記憶した操作情報に関する処理をテスト用スクリプト３１８に追加する。
尚、生成されたテスト用スクリプトの１例を図１６に示す。
【００７６】
２行目に示される関数Chkimg（“C：\image.bmp”）のChkimg（  ）が、ステップＳ４０２に記載された画像検索処理を示しており、C：\image.bmpについては、画像検索処理に必要な検知画像３２２が記憶された記録媒体の所定領域を示すパス、つまり特定情報を表わしており、当関数を使って、パスによって指定された所定領域に記録された検知画像３２２を取得することで、検索処理を行っている。
【００７７】
また、３行目に示される関数BTN（LEFT、CLICK、598、261、10）のBTN（  ）がステップＳ４０２に記載された操作情報を示しており、BTN（  ）は、マウス１１６を用いた際の操作を示しており、BTN（右あるいは左の何れかを示す情報、クリック等のイベントを示す情報、テスト対象アプリケーション２００における画面に対するX座標、テスト対象アプリケーション２００における画面に対するY座標、・・・）というように定義される。
【００７８】
X座標、Y座標については、Chkimgで取得した検知画像３２２から、テスト対象アプリケーション２００における画面に対して該当する位置を特定し、特定された位置の該画面に対する座標を設定する。
【００７９】
つまり、本例によると、２行目、３行目に記載されたスクリプトでは、C：\image.bmpに記憶された検知画像３２２を取得し、取得した検知画像３２２から、テスト対象アプリケーション２００における画面に対して該当する位置を特定し、特定された位置の該画面に対するX座標が、５９８、Y座標が、２６１として設定され、LEFT、つまり左のボタンが、CLICK、つまりクリックされることを示している。
【００８０】
次に、テスト用スクリプトを用いてテスト対象アプリケーションに対して自動テストを実行する処理について、図８に示すフローチャートを用いて説明する。尚、本フローチャートにおける各処理ステップは、ＣＰＵ１０６の制御の下、スクリプト実行部３２４によって実行される。
【００８１】
まず、ステップＳ５００では、ＧＵＩ操作入力部３０４によって、テスト対象アプリケーション２００の起動指示がされたことを検知して、テスト対象アプリケーション２００を起動し、更に不図示の画面に備えられたテスト開始ボタンがＧＵＩ操作入力部３０４によって入力されたことを検知すると、テスト用スクリプト３１８が実行される。
【００８２】
次にステップＳ５０２では、テスト用スクリプト３１８に画像検索処理が存在するか否かを判定し、存在すると判定した場合は、ステップＳ５０４へ処理を進め、存在しないと判定し、かつテスト用スクリプト３１８が全て実行されていない場合は、ステップＳ５０２へ処理を進める。
【００８３】
ステップＳ５０４では、画像検索処理において必要とする検知画像３２２をステップＳ１１２において記録された記録媒体の所定領域から取得し、取得した検知画像３２２とテスト対象アプリケーション２００における画面に対して該当する位置を特定し、ステップＳ５０６では、ステップＳ５０３において特定された位置の該画面に対する座標を取得する。
【００８４】
ステップＳ５０８では、ステップＳ５０６において取得した座標に対して、テスト用スクリプト３１８の操作情報に基づいて、ユーザインタフェースの操作を自動で実行を行う。尚、テスト用スクリプト３１８の全処理を行うまで、ステップＳ５０２からステップＳ５０８までの処理を繰り返す。
【００８５】
ステップＳ５１０では、テスト対象アプリケーション２００を停止し、本フローチャートにおける処理を終了する。
【００８６】
次に図５に示す検知画像解析処理の第１例（ボタンが押下された場合）について図９を用いて説明する。
【００８７】
テスト対象アプリケーション２００における画面に対してなされたユーザインタフェース操作が検知された際に、ＧＵＩ操作前範囲画像をＧＵＩ操作前画面４００とし、ＧＵＩ操作後範囲画像をＧＵＩ操作後画面４０２としており、ＧＵＩ操作前画面４００の画像ファイルとＧＵＩ操作後画面４０２の画像ファイルとの画素の値との比較から枠４０４と枠４０６が特定される。従って、枠４０４の周辺画像ファイルを検知画像４０８（検知画像３２２とする。）とする。
【００８８】
次に図５に示す検知画像解析処理の第２例（チェックボタンが押下された場合）について図１０を用いて説明する。
【００８９】
テスト対象アプリケーション２００における画面に対してなされたユーザインタフェース操作が検知された際に、ＧＵＩ操作前範囲画像をＧＵＩ操作前画面５００とし、ＧＵＩ操作後範囲画像をＧＵＩ操作後画面５０２としており、ＧＵＩ操作前画面５００の画像ファイルとＧＵＩ操作後画面５０２の画像ファイルとの各画素の値との比較から枠５０４と枠６０６が特定される。従って、枠５０４の周辺画像ファイルを検知画像５０８（検知画像３２２とする。）とする。
【００９０】
次に図５に示す検知画像解析処理の第３例（ラジオボタンが押下された場合）について図１１を用いて説明する。
【００９１】
テスト対象アプリケーション２００における画面に対してなされたユーザインタフェース操作が検知された際に、ＧＵＩ操作前範囲画像をＧＵＩ操作前画面６００とし、ＧＵＩ操作後範囲画像をＧＵＩ操作後画面６０２としており、ＧＵＩ操作前画面６００の画像ファイルとＧＵＩ操作後画面６０２の画像ファイルとの各画素の値との比較から枠６０４と枠６０８、及び枠６０６と枠６１０との２つの組合せにて、画素の値が異なることを検知し、複数の検知候補画像が特定される。
【００９２】
枠６０４の検知候補画像を検知候補画像６１２とし、枠６０６の検知候補画像を検知候補画像６１４とすると、ユーザインタフェース操作が検知された後の画像の濃淡が濃い枠６１４を検知画像６１６（検知画像３２２とする。）とする。
【００９３】
次に図５に示す検知画像解析処理の第４例（リストに表示されたレコードを選択する場合）について図１２を用いて説明する。
【００９４】
テスト対象アプリケーション２００における画面に対してなされたユーザインタフェース操作が検知された際に、ＧＵＩ操作前範囲画像をＧＵＩ操作前画面７００とし、ＧＵＩ操作後範囲画像をＧＵＩ操作後画面７０２としており、ＧＵＩ操作前画面７００の画像ファイとＧＵＩ操作後画面７０２の画像ファイルとの各画素の値との比較から枠７０４と枠７０８と、及び枠７０６と枠７１０との２つの組合せにて、画素の値が異なることを検知し、複数の検知候補画像が特定される。
【００９５】
枠７０４の検知候補画像を検知候補画像７１２とし、枠７０６の検知候補画像を検知候補画像７１４とすると、ユーザインタフェース操作が検知された後の画像の濃淡が濃い枠７１４を検知画像７１６（検知画像３２２とする。）とする。
【００９６】
次に図５に示す検知画像解析処理の第５例（コンボボックス（スクロールなしの場合）に表示されたレコードを選択する場合）について図１３を用いて説明する。
【００９７】
テスト対象アプリケーション２００における画面に対してなされたユーザインタフェース操作が検知された際に、ＧＵＩ操作前範囲画像をＧＵＩ操作前画面８００とし、ＧＵＩ操作後範囲画像をＧＵＩ操作後画面８０２としており、ＧＵＩ操作前画面８００の画像ファイルとＧＵＩ操作後画面８０２との画像ファイルの各画素の値との比較から枠８０８と枠８１０との各画素の値が異なることを検知する。従って、枠８０８の周辺画像ファイルを検知画像８１２（検知画像３２２とする。）とする。
【００９８】
そして、次のユーザインタフェース操作が検知された際に、ＧＵＩ操作前範囲画像をＧＵＩ操作後画面８０２とし、ＧＵＩ操作後範囲画像をＧＵＩ操作後画面８０４としており、ＧＵＩ操作後画面８０２の画像ファイルとＧＵＩ操作後画面８０４の画像ファイルとの各画素の値との比較から枠８１４と枠８１８と、及び枠８１６と枠８２０との２つの組合せにて、画素の値が異なることを検知し、複数の検知候補画像が特定される。
【００９９】
枠８１４の検知候補画像を検知候補画像８２２とし、枠８１６の検知候補画像を検知候補画像８２４とすると、ユーザインタフェース操作が検知された後の画像の濃淡が濃い枠８２４を検知画像８２６（検知画像３２２とする。）とする。
【０１００】
ＧＵＩ操作画面８０６については、ユーザインタフェース操作が検知されずに、枠８２０に表示されている内容を表示しているのみである。
【０１０１】
次に図５に示す検知画像解析処理の第６例（コンボボックス（スクロールありの場合）に表示されたレコードを選択する場合）について図１４を用いて説明する。
【０１０２】
テスト対象アプリケーション２００における画面に対してなされたユーザインタフェース操作が検知された際に、ＧＵＩ操作前範囲画像をＧＵＩ操作前画面９００とし、ＧＵＩ操作後範囲画像をＧＵＩ操作後画面９０４としており、ＧＵＩ操作前画面９００の画像ファイルとＧＵＩ操作後画面９０４の画像ファイルとの各画素の値との比較から枠９０２と枠９０６との各画素の値が異なることを検知する。
【０１０３】
但し、検知された枠は、矩形（あるいは正方形）の形状をしていないため、枠９０８に示すように全ての枠を含むような形状で矩形（あるいは正方形）に整形する。前述の通り、テスト対象アプリケーション２００における画面に対して検知画像の該当する位置を特定した後、当該位置を１組のX座標及びY座標といった座標値として求めているため、このように矩形（あるいは正方形）に整形を行っている。つまり、画像検索処理で利用する関数に応じて、整形を行っている。
【０１０４】
次のユーザインタフェース操作が検知された際に、ＧＵＩ操作前範囲画像をＧＵＩ操作後画面９０４とし、ＧＵＩ操作後範囲画像をＧＵＩ操作後画面９１２としており、ＧＵＩ操作後画面９０４の画像ファイルとＧＵＩ操作後画面９１０の画像ファイルの各画素の値との比較から、ＧＵＩ操作後画面９０４のリストに表示されている各レコードの画素の値とＧＵＩ操作後画面９１０のリストに表示されている各レコードの画素の値とが異なることを検知し、複数の検知候補画像が特定される。
【０１０５】
この場合、複数の検知候補画像が縦方向に連なっている状態、つまり、画面に対する検知候補画像の左端のX座標が同一であり、縦方向に隙間なく連なった状態、つまり１つの検知候補画像の下端のY座標と当該検知候補画像の１つ下に表示される検知候補画像の上端のY座標が同一であり、この状態を本発明の実施形態では、リスト状態としている。リスト状態であるか否かは、このように検知候補画像の左端のX座標、及び検知候補画像の上端と下端とのY座標により判定を行っている。
【０１０６】
このようなリスト状態においては、点線の枠９１２のように検知画像は存在しない（選択されたレコードは存在しない）と見做される。何故ならば、リストに表示されたレコードが選択されるということは、レコードが選択されたタイミングで、ユーザインタフェース操作が検知されるため、検知されたタイミングの前後の時間内では、必ず、ＧＵＩ操作後画面９０４のリストに表示されたレコードとＧＵＩ操作後画面９１０のリストに表示されたレコードとが一致するためである。
【０１０７】
次のユーザインタフェース操作が検知された際に、ＧＵＩ操作前範囲画像をＧＵＩ操作後画面９１０とし、ＧＵＩ操作後範囲画像をＧＵＩ操作後画面９１６としており、ＧＵＩ操作後画面９１０の画像ファイルとＧＵＩ操作後画面９１６の画像ファイルの各画素の値との比較から枠９１４と枠９１８との各画素の値が異なることを検知する。従って、枠９１４の周辺画像ファイルを検知画像９２０（検知画像３２２とする。）とする。
【０１０８】
ＧＵＩ操作画面９２４については、ユーザインタフェース操作が検知されずに、枠９１８に表示されている内容を表示しているのみである。
【０１０９】
尚、テスト用スクリプト３１８を作成するにあたり、コンボボックス(スクロールありの場合)の場合は、リスト状態でのユーザインタフェース操作（操作情報）は、「↓」キーダウン、あるいは「↑」キーダウンを実行し、検知画像９２０を検索するテスト用スクリプト３１８を生成するようにする。
【０１１０】
次に図５に示す検知画像解析処理の第７例（メニューに表示された項目を選択する場合）について図１５を用いて説明する。
【０１１１】
テスト対象アプリケーション２００における画面に対してなされたユーザインタフェース操作が検知された際に、ＧＵＩ操作前範囲画像をＧＵＩ操作前画面１０００とし、ＧＵＩ操作後範囲画像をＧＵＩ操作後画面１００２としており、ＧＵＩ操作前画面１０００の画像ファイルとＧＵＩ操作後画面１００２の画像ファイルの各画素の値との比較から枠１００６と枠１００８との各画素の値が異なることを検知する。従って、枠１００６の周辺画像ファイルを検知画像１０１０とする。
【０１１２】
そして、次のユーザインタフェース操作が検知された際に、ＧＵＩ操作前範囲画像をＧＵＩ操作後画面１００２とし、ＧＵＩ操作後範囲画像をＧＵＩ操作後画面１００４としており、ＧＵＩ操作後画面１００２の画像ファイルとＧＵＩ操作後画面１００４の画像ファイルの各画素の値との比較から枠１０１２と枠１０１４との各画素の値が異なることを検知する。従って、枠１０１２の周辺画像ファイルを検知画像１０１６（検知画像３２２とする。）とする。
【０１１３】
以上、本発明によれば、ユーザインタフェース操作が施された位置の周辺画像からテスト用のスクリプトにて用いる当該位置の座標値を求めてテスト用のスクリプトを自動生成することで、ソフトウェア開発におけるテスト及び評価工程における開発コストを軽減することができる。
【０１１４】
以上、実施形態例を詳述したが、本発明は、例えば、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。また、本発明におけるプログラムは、各処理方法をコンピュータが実行可能（読み取り可能）なプログラムであり、本発明の記憶媒体は、各処理方法をコンピュータが実行可能
なプログラムが記憶されている。
【０１１５】
なお、本発明におけるプログラムは、各装置の処理方法ごとのプログラムであってもよい。
【０１１６】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読取り実行することによっても、本発
明の目的が達成されることは言うまでもない。
【０１１７】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１１８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１１９】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータで稼働しているＯＳ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２１】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１２２】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステム、あるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１２３】
１００    テスト支援装置
１０２    ＲＯＭ
１０４    外部メモリ
１０６    ＣＰＵ
１０８    ＲＡＭ
１１０    ＫＢＣ
１１２    キーボード
１１４    ＰＤＣ
１１６    マウス
１１８    ＶＣ
１２０    ディスプレイ
１２２    ＭＣ
１２４    バス
【図１】
2012103786.tif 000003
【図２】
2012103786.tif 000004
【図３】
2012103786.tif 000005
【図４】
2012103786.tif 000006
【図５】
2012103786.tif 000007
【図６】
2012103786.tif 000008
【図７】
2012103786.tif 000009
【図８】
2012103786.tif 000010
【図９】
2012103786.tif 000011
【図１０】
2012103786.tif 000012
【図１１】
2012103786.tif 000013
【図１２】
2012103786.tif 000014
【図１３】
2012103786.tif 000015
【図１４】
2012103786.tif 000016
【図１５】
2012103786.tif 000017
【図１６】
2012103786.tif 000018