以下に、本発明にかかる証拠出力プログラムおよび証拠出力装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1に係るシステムについて説明する。図1は、証拠出力装置を含んだシステムの全体の概略構成の一例を示す図である。図1に示すように、システム10は、Webサーバ11と、証拠出力装置12とを有する。Webサーバ11と証拠出力装置12は、各種の情報を交換することが可能とされている。例えば、Webサーバ11と証拠出力装置12は、ネットワーク13を介して通信可能に接続され、各種の情報を交換することが可能とされている。かかるネットワーク13の一態様としては、有線または無線を問わず、Local Area Network(LAN)やVirtual Private Network(VPN)などの任意の通信網が挙げられる。なお、図1の例では、システム10は、証拠出力装置12を1つ有する場合を例示したが、開示のシステムはこれに限定されず、証拠出力装置12を任意の数とすることができる。
Webサーバ11は、テスト対象のシステムが動作する装置である。Webサーバ11は、例えば、サーバコンピュータなどのコンピュータである。Webサーバ11は、1台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。なお、本実施例では、Webサーバ11を1台のコンピュータとした場合を例として説明する。Webサーバ11は、動作の確認を行うWebシステムのアプリケーションプログラムが記憶されている。Webサーバ11は、アクセスに応じてアプリケーションプログラムが動作して、各種の機能を提供する。例えば、Webサーバ11は、アクセスに応じて、所定の言語で記述されたWebページのデータを提供する。所定の言語としては、例えば、HTML(HyperText Markup Language)などのマークアップ言語、各種のスクリプト言語が挙げられる。
証拠出力装置12は、テスト対象のシステムをテストするユーザが用いるコンピュータである。証拠出力装置12は、例えば、デスクトップ型PC(パーソナル・コンピュータ)、タブレット型PC、ノート型PCなどの情報処理装置等である。なお、証拠出力装置12は、スマートフォン、PDA(Personal Digital Assistant)、携帯電話機等の携帯端末装置であってもよい。証拠出力装置12は、ユーザの操作に応じてWebサーバ11にアクセスし、テスト対象のシステムに対する各種のテストを行う。そして、証拠出力装置12は、テストの結果を示す証拠資料を出力する。例えば、証拠出力装置12は、Webサーバ11のアプリケーションプログラムにより提供される画面に関するテストが行われ、表示した画面に関する証拠資料を出力する。
次に、実施例1に係る証拠出力装置12について説明する。図2は、証拠出力装置の全体構成を示す図である。図2に示すように、証拠出力装置12は、通信I/F(インタフェース)部20と、表示部21と、入力部22と、記憶部23と、制御部24とを有する。
通信I/F部20は、他の装置との間で通信制御を行うインタフェースである。通信I/F部20は、ネットワーク13を介して各種情報を送受信する。例えば、通信I/F部20は、Webサーバ11からWebページのデータを受信する。かかる通信I/F部20の一態様としては、LANカードなどのネットワークインタフェースカードが挙げられる。
表示部21は、各種情報を表示する表示デバイスである。例えば、表示部21としては、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などの表示デバイスが挙げられる。表示部21は、各種情報を表示する。例えば、表示部21は、Webサーバ11から提供されるWebページの画面を表示する。
入力部22は、各種の情報を入力する入力デバイスである。例えば、入力部22としては、マウス、キーボード、タッチセンサなどの入力デバイスが挙げられる。入力部22は、ユーザからの操作入力を受け付け、受け付けた操作内容を示す操作情報を制御部24へ出力する。
記憶部23は、ハードディスク、SSD(Solid State Drive)、光ディスクなどの不揮発性の記憶装置である。なお、記憶部23は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリであってもよい。
記憶部23は、制御部24で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部23は、Webページを表示するためのブラウザのプログラムや、証拠資料の出力に用いるプログラムを記憶する。また、記憶部23は、制御部24で実行されるプログラムで用いられる各種データやプログラムにより生成された各種データを記憶する。例えば、記憶部23は、設定ファイル30と、エビデンスファイル31とを記憶する。
設定ファイル30は、証拠資料の出力に関する各種情報を記憶したデータである。例えば、設定ファイル30には、後述する出力制御画面に入力されたデータが格納される。また、設定ファイル30は、出力制御画面に初期表示するデータとして参照される。
エビデンスファイル31は、証拠資料として出力した画面のデータである。エビデンスファイル31には、後述するブラウザ41で操作が行われた順に、ブラウザ41の表示される画像の画像情報が記録される。例えば、エビデンスファイル31には、後述するブラウザ41の表示される領域の画像情報と、表示対象とならない部分も含まれた全体の画像情報とが、対応付けが視認可能なように並べて記録される。また、画面が複数のフレームで構成さている場合、エビデンスファイル31には、複数フレーム構成の画面の表示部分の画像情報と、各フレームの非表示部分を含む画像情報とが、対応付けが視認可能なように並べて記録される。
制御部24は、証拠出力装置12を制御するデバイスである。制御部24としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部24は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部24は、OS40が読み込まれて動作する。また、制御部24は、各種のプログラムが動作しており、各種の処理部として機能する。例えば、制御部24は、ブラウザ41が動作する。また、制御部24は、画面制御部42と、監視部43と、記録部44と、出力部45とを有する。
ブラウザ41は、Webページを閲覧するためのアプリケーションソフトである。例えば、ブラウザ41は、アクセス先とされたWebサーバ11にアクセスしてWebページのデータをダウンロードし、ダウンロードしたWebページのデータを解析して画像を表示させる。ブラウザ41の一例としては、マイクロソフト社のInternet Explorerが挙げられる。
画面制御部42は、表示部21に各種の画面を表示させる制御を行う。例えば、画面制御部42は、証拠資料の出力に関する各種の設定および指示を行う出力制御画面50を表示させ、出力制御画面50の制御を行う。
図3は、出力制御画面の一例を示す図である。出力制御画面50は、出力開始ボタン51と、出力終了ボタン52と、保存先入力領域53と、ファイル名表示領域54とを有する。また、出力制御画面50は、ラベル入力領域55と、チェックボックス56と、連番入力領域57と、桁数入力領域58と、担当者入力領域59と、コメント入力領域60とを有する。
出力開始ボタン51は、証拠資料の出力開始を指示するボタンである。出力開始ボタン51が選択されると、ブラウザ41が起動され、該ブラウザ41に表示される画面の記録が開始される。
出力終了ボタン52は、証拠資料の出力終了を指示するボタンである。出力終了ボタン52が選択されると、ブラウザ41に表示される画面の記録が終了される。
保存先入力領域53は、証拠資料として出力されるエビデンスファイル31の格納先を指定する領域である。保存先入力領域53には、エビデンスファイル31の格納先のフォルダのパスが入力される。
ファイル名表示領域54は、証拠資料として出力されるエビデンスファイル31のファイル名を表示する領域である。本実施例では、エビデンスファイル31のファイル名をラベル部分と連番部分とを組み合わせて構成することを可能としており、ラベル部分および連番部分を指定することが可能とされている。
ラベル入力領域55は、エビデンスファイル31のファイル名を構成するラベル部分を指定する領域である。ラベル入力領域55には、ラベル部分とする文字列が入力される。
チェックボックス56は、エビデンスファイル31のファイル名に連番部分を含めるか否かを指定する領域である。チェックボックス56は、指定された場合、エビデンスファイル31のファイル名がラベル部分に続けて連番部分が付加され、指定されない場合、エビデンスファイル31のファイル名がラベル部分により構成される。
連番入力領域57は、エビデンスファイル31のファイル名を構成する連番部分を指定する領域である。連番入力領域57には、連番部分とする番号の値が入力される。
桁数入力領域58は、エビデンスファイル31のファイル名を構成する連番部分の桁数を指定する領域である。連番入力領域57には、連番部分の値の桁数が入力される。連番入力領域57に入力された値の桁数が桁数入力領域58に入力された桁数未満の場合、連番部分は、桁数入力領域58に入力された桁数となるまで連番入力領域57に入力された値に前のゼロを付加して桁埋めされる。一方、連番入力領域57に入力された値の桁数が桁数入力領域58に入力された桁数以上の場合、連番部分は、入力領域57に入力された値となる。
図3の例では、連番入力領域57には、「5」が入力されている。また、桁数入力領域58には、「4」が入力されている。この場合、連番入力領域57に入力された「5」の桁数が4桁未満であるため、連番部分は、4桁となるまでゼロが付加されて「0005」となる。また、図3の例では、チェックボックス56は、ファイル名に連番部分を含める指定がされている。また、図3の例では、ラベル入力領域55は、ラベル部分として「AAA」が入力されている。このため、ファイル名表示領域54には、ラベル部分の「AAA」と連番部分の「0005」とが組み合わされて、エビデンスファイル31のファイル名として「AAA0005」が表示されている。
連番入力領域57に入力された値は、出力開始ボタン51が選択された後に出力終了ボタン52が選択されると、値が1加算される。すなわち、連番入力領域57に入力された値は、画面の記録が一旦終了すると、自動的に1カウントアップされる。
担当者入力領域59は、テスト担当者の識別情報を入力する領域である。連番入力領域57には、テストを担当するユーザの氏名やID(identification)などが識別情報として入力される。
コメント入力領域60は、コメントを入力する領域である。コメント入力領域60には、実施するテスト内容に関するコメントなど、証拠資料に記録するコメントが入力される。
図2に戻り、画面制御部42は、出力制御画面50の表示を終了する場合、出力制御画面50の設定された設定内容を設定ファイル30に記憶させる。例えば、画面制御部42は、保存先入力領域53、ラベル入力領域55、連番入力領域57、桁数入力領域58、担当者入力領域59およびコメント入力領域60に入力されたデータと、チェックボックス56の選択結果とを設定ファイル30に記憶させる。そして、画面制御部42は、出力制御画面50を表示する場合、設定ファイル30に記憶された前回の設定内容を出力制御画面50に表示させる。
監視部43は、ブラウザ41の変化によりOS40に発生する各種のイベントを監視して、ブラウザ41に表示される画面の変化するタイミングを検知する。例えば、監視部43は、ブラウザ41の画面表示が完了したときに発生するイベントを検知して、ブラウザ41に画面が表示されるタイミングを検出する。また、監視部43は、ブラウザ41が読込を開始する直前に発生するイベントを検知して、ブラウザ41の画面が遷移するタイミングを検出する。
記録部44は、ブラウザ41に表示される画面を記録する。例えば、記録部44は、監視部43により検知されたブラウザ41に画面が表示されるタイミングおよびブラウザ41の画面が遷移するタイミングで、ブラウザ41に表示される画面を記録する。すなわち、記録部44は、ブラウザ41に初期表示される画面および遷移前の画像を記録する。
ここで、ブラウザ41に表示される画面は、複数のフレームによってWebページの表示領域が分割される場合がある。また、ブラウザ41に表示される画面は、表示内容がブラウザ41の表示範囲内に収まらない場合、非表示部を表示させるためにスクロールバーが設けられる。例えば、画面は、複数のフレームによってWebページの表示領域が分割され、フレームの表示範囲内に収まらない表示内容を表示させるために各フレームにスクロールバーが設けられる場合がある。ブラウザ41に表示される画面は、複数のフレームで構成されている場合、各フレームの大きさが揃っているとは限らない。例えば、あるフレームは縦長、また別のフレームは横長というように、フレームの形状はバラバラである可能性がある。
図4は、ブラウザに表示される画面の一例を示す図である。ブラウザ41は、メニューバー71と、ツールバー72とが設けられている。ツールバー72には、前のページに戻ることを指示する戻るボタン73と、次のページへ進むことを指示する進むボタン74が設けられている。また、ブラウザ41は、Webページの表示領域が異なるサイズのフレームA〜Dに分割されている。
画面の検証では、ブラウザ41に画面を表示させた際に、表示される画面が仕様通りであるかの確認を行う。例えば、画面が複数のフレームにより構成される場合、仕様通りの位置に各フレームが表示されるかの確認を行う。このため、記録部44は、ブラウザ41に初期的に表示対象となる部分画面領域の画像情報を記録する。例えば、記録部44は、ブラウザ41のウィンドウのキャプチャを行って、ブラウザ41に初期的に表示対象となる部分画面領域の画像情報を記録する。
また、画面の検証では、各フレームに仕様通りに内容が表示されているかの確認を行う。しかし、ブラウザ41に表示される画面は、表示内容がフレームの表示範囲内に収まっていない場合がある。例えば、画面は、各フレームにスクロールバーが設けられ非表示部が含まれる場合がある。この場合、ブラウザ41のウィンドウのキャプチャを行っても非表示部の表示内容を画像に記録できない。そこで、記録部44は、ブラウザ41に表示される画面の表示データを取得する。例えば、記録部44は、ブラウザ41から表示される画面のWebページのデータを取得する。記録部44は、取得した表示データを解析して画面に含まれるフレームを求める。
ここで、ブラウザ41に表示される画面を複数のフレームによって構成する場合、Webページには、例えば、フレームセット(frameset)が定義される。フレームセットは、画面全体またはフレームを縦または横に複数のフレームに分割する定義が可能である。図5は、画面を複数のフレームに分割した一例を示す図である。図5の例では、画面90がフレームA〜Dに分割されている。図5の例の場合、画面90は、フレームセットにより縦方向に領域91、92、93のフレームに分割されている。また、領域92のフレームは、フレームセットにより横方向に領域94、95のフレームに分割されている。領域91のフレームがフレームAとなる。領域94のフレームがフレームBとなる。領域95のフレームがフレームCとなる。領域93のフレームがフレームDとなる。このため、Webページのデータに含まれるフレームセットの個数が2個以上の場合、画面の実際のフレーム数は、各フレームセットにより分割したフレーム数の合計よりも少なくなる。図5の例では、画面の実際のフレーム数は、各フレームセットにより分割したフレーム数の合計の「5」から「1」をマイナスした値となる。
記録部44は、表示部21に非表示の状態で、画面の各フレームを表示範囲とした画像をブラウザ41にそれぞれ生成させる。例えば、記録部44は、画像に表示されるフレームの表示サイズが70であり、該フレームの表示範囲のサイズが50である場合、バックグランドでフレームの表示範囲を70とした画像をブラウザ41に生成させる。記録部44は、生成された画像の非表示部が表示範囲となったフレーム部分の画像をブラウザ41から取得して、フレームについて初期的に表示対象とならない部分も含まれた全体の画像情報を記録する。
出力部45は、出力制御画面50で出力開始ボタン51が指定されると、保存先入力領域53で指定された格納先に、ファイル名表示領域54に表示されたファイル名でエビデンスファイル31を生成する。そして、出力部45は、エビデンスファイル31に、担当者入力領域59に入力されたユーザの識別情報およびコメント入力領域60に入力されたコメントを保存する。
また、出力部45は、記録部44により画像情報が記録される毎に、記録された画像情報をエビデンスファイル31に順に保存する。例えば、出力部45は、ブラウザ41に初期的に表示対象となる部分画面領域の画像情報と、複数のフレームの画像情報とを、該部分画面領域と該複数のフレームとの対応付けが視認可能な状態で、並べてエビデンスファイル31に保存する。例えば、出力部45は、対応付けが視認可能な状態として、部分画面領域に続けて、該部分画面領域が含まれる画面を構成する複数のフレームの画像情報を順に縦に並べた状態で保存する。例えば、出力部45は、ブラウザ41に表示される画面の上側から順に、複数のフレームの画像情報を縦に並べた状態で保存する。また、出力部45は、縦方向の同じ位置にフレームが複数ある場合、ブラウザ41に表示される画面の左側から順に縦方向の同じ位置にフレームの画像情報を縦に並べた状態で保存する。
図6は、エビデンスファイルに保存される画像の一例を示す図である。なお、図6は、図4に示したブラウザ41をキャプチャしてブラウザ41の画面の画像情報を保存させた状態を示している。図6の例では、ブラウザ41に初期的に表示された画面の画像80が記憶されている。また、ブラウザ41の画面に含まれるフレームA〜Dについて、初期的に表示対象とならない部分も含まれた全体の画像81A〜81Dが記憶されている。
このように、証拠出力装置12は、ブラウザ41に初期的に表示された画面の画像80と、初期的に表示された画面に含まれるフレームA〜Dの全体の画像81A〜81Dと、を対応付けが視認可能な状態で、並べてエビデンスファイル31に出力する。これにより、テスト結果を検証するユーザは、エビデンスファイル31に出力された画像80からブラウザ41に表示される画面が仕様通りであるか確認できる。また、ユーザは、エビデンスファイル31に出力された画像81A〜81DからフレームA〜Dに表示される表示内容が初期的に表示対象とならない部分も含めて仕様通りであるか確認できる。また、エビデンスファイル31は、ブラウザ41に表示された画面の画像80と、フレームA〜Dの全体の画像81A〜81Dの対応関係が視認できるため、画面が仕様通りであることを示す納入先への証拠資料とすることができる。このように、証拠出力装置12は、テストの検証用としても納品先への証拠用としても利用可能な証拠資料を出力できる。
次に、証拠出力装置12によりエビデンスファイル31に順に保存される画像の一例を用いて説明する。図7Aおよび図7Bは、テスト対象のシステムのWebページの画面の変化の一例を示す図である。図7Aおよび図7Bの例は、テスト対象のシステムとして、銀行のWebシステムにログインする操作を行った場合のブラウザ41に表示される画面の変化を示している。ブラウザ41は、メニューバー71と、ツールバー72と、アドレスバー75とが設けられている。ツールバー72には、前のページに戻ることを指示する戻るボタン73と、次のページへ進むことを指示する進むボタン74が設けられている。アドレスバー75には、表示されるWebページのURL(Uniform Resource Locator)が表示される。
銀行のWebシステムにアクセスすると、ブラウザ41には、図7Aの(A)に示すように、ログイン画面100が表示される。ログイン画面100は、3つのフレーム101A〜101Cにより構成されている。フレーム101Aには、ログインIDおよびパスワードを入力してログインの指示を行う画面が表示される。フレーム101Bには、銀行で利用可能な各種のサービスに関するお知らせが表示される。フレーム101Cには、その他の各種のお知らせが表示されている。フレーム101B、101Cは、表示内容が表示範囲に収まらないため、スクロールバー102が設けられている。
図7Aの(B)に示すように、ブラウザ41では、ログイン画面100のフレーム101AにログインIDおよびパスワードが入力されてログインの指示が行われると、ユーザの認証が行われる。そして、認証が得られると、ブラウザ41には、図7Aの(C)に示すお知らせ画面110が表示される。お知らせ画面110には、銀行からのお知らせが表示されている。また、お知らせ画面110は、取引メニューへの移行や、ヘルプの表示、ログアウトを指示することが可能とされている。
図7Bの(D)に示すように、ブラウザ41では、お知らせ画面110でログアウトの指示が行われると、ログアウト処理が行われる。そして、ログアウト処理が完了すると、ブラウザ41には、図7Bの(E)に示すメッセージ画面120が表示される。メッセージ画面120には、ユーザに対する感謝のメッセージが表示されている。また、メッセージ画面120は、ログイン画面100へ移行して再度ログインを行うことが可能とされている。
出力制御画面50の出力開始ボタン51が選択されて、図7Aおよび図7Bの(A)〜(E)に示す操作が行われた場合、エビデンスファイル31には、図8A〜図8Eに示す画像が順に記憶される。図8A〜図8Eは、エビデンスファイルに順に保存される画像の一例を示す図である。例えば、図8Aの上部に示すように、エビデンスファイル31には、テストを実施した日付、時刻、出力制御画面50の担当者入力領域59に入力されたテスト担当者の識別情報、コメント入力領域60に入力されたコメントが記録される。また、エビデンスファイル31には、図8Aに示すように、図7Aの(A)に示したブラウザ41の画像130と、ログイン画面100に含まれるフレーム101A〜101Cの画像131A〜131Cが記憶される。
また、図7Aの(B)に示す操作により、エビデンスファイル31には、図8Bに示すように、図7Aの(B)に示したブラウザ41の画像140と、ログイン画面100に含まれるフレーム101A〜101Cの画像141A〜141Cが記憶される。
また、図7Aの(C)に示す操作により、エビデンスファイル31には、図8Cに示すように、図7Aの(C)に示したブラウザ41の画像150と、お知らせ画面110の画像151が記憶される。
また、図7Bの(D)に示す操作により、エビデンスファイル31には、図8Dに示すように、図7Bの(D)に示したブラウザ41の画像160と、お知らせ画面110の画像161が記憶される。
そして、図7Bの(E)に示す操作により、エビデンスファイル31には、図8Eに示すように、図7Bの(E)に示したブラウザ41の画像170と、メッセージ画面120の画像171が記憶される。
次に、本実施例に係る証拠出力装置12がテストの結果を示す証拠資料をエビデンスファイル31へ出力する出力処理の流れを説明する。図9は、出力処理の手順を示すフローチャートである。この出力処理は、例えば、出力制御画面50の出力開始ボタン51が選択されたタイミングで実行される。
図9に示すように、出力部45は、保存先入力領域53で指定された格納先に、ファイル名表示領域54に表示されたファイル名のエビデンスファイル31を生成する(S10)。そして、出力部45は、テスト日付けとして現在の日付けと、テスト時刻として現在の時刻と、担当者入力領域59に入力されたテスト担当者の識別情報と、コメント入力領域60に入力されたコメントとをエビデンスファイル31に格納する(S11)。
画面制御部42は、ブラウザ41を起動する(S12)。そして、監視部43は、ブラウザ41の変化によりOS40に発生する各種のイベントを監視して、ブラウザ41の画面表示が完了したときに発生するイベントおよびブラウザ41が読込を開始する直前に発生するイベントを検出する(S13)。
イベントを検出していない場合(S13否定)、画面制御部42は、出力制御画面50の出力終了ボタン52が選択されたか否かを判定する(S14)。出力終了ボタン52が選択されていない場合(S14否定)、処理は、上述のS13へ移行する。一方、出力終了ボタン52が選択された場合(S14肯定)、画面制御部42は、出力処理を終了する。
一方、イベントを検出した場合(S13肯定)、エビデンス取得処理を行い(S15)、エビデンス取得処理終了後、上述のS13へ移行する。
次に、本実施例に係るエビデンス取得処理の流れを説明する。図10は、エビデンス取得処理の手順を示すフローチャートである。このエビデンス取得処理は、例えば、上述の出力処理のS15から実行される。
図10に示すように、記録部44は、ブラウザ41に表示される画面の表示データを取得する(S20)。記録部44は、表示データに含まれるフレームセットの個数をカウントする(S21)。また、記録部44は、ブラウザ41のウィンドウのキャプチャを行って、ブラウザ41に表示される部分画面領域の画像情報を記録する(S22)。出力部45は、部分画面領域の画像情報をエビデンスファイル31に出力して保存する(S23)。
記録部44は、フレームセットの個数が0であるか否かを判定する(S24)。フレームセットの個数が0である場合(S24肯定)、記録部44は、表示部21に非表示の状態で、画面のフレームを表示範囲とした画像をブラウザ41に生成させ、ブラウザ41からフレームの画像を取得してフレーム全体の画像情報を記録する(S25)。出力部45は、フレーム全体の画像情報をエビデンスファイル31に出力して保存し(S26)、処理を終了する。
一方、フレームセットの個数が0ではない場合(S24否定)、記録部44は、フレームセットの個数が1であるか否かを判定する(S27)。フレームセットの個数が1である場合(S27肯定)、記録部44は、フレームセットに定義されたフレーム数をカウントする(S28)。記録部44は、フレーム数をキャプチャ対象のデータ数とする(S29)。
一方、フレームセットの個数が1ではない場合(S27否定)、記録部44は、各フレームセットに定義されたフレーム数をカウントする(S30)。記録部44は、各フレームセットのフレーム数を合計した値から、フレームセットの個数−1の値を減算し、算出されたフレーム数をキャプチャ対象のデータ数とする(S31)。
記録部44は、キャプチャ対象のデータ数をNとする(S32)。また、記録部44は、変数nの値を1に初期化する(S33)。
記録部44は、表示部21に非表示の状態で、画面の変数n番目のフレームを表示範囲とした画像をブラウザ41に生成させ、ブラウザ41から変数n番目のフレームの画像を取得してフレーム全体の画像情報を記録する(S34)。出力部45は、フレーム全体の画像情報をエビデンスファイル31に出力して保存し(S35)、処理を終了する。
記録部44は、変数nの値を1カウントアップする(S36)。記録部44は、変数nの値がNよりも大きくなったか否かを判定する(S37)。変数nの値がNよりも大きくはない場合(S37否定)、処理は、上述のS34へ移行する。一方、変数nの値がNよりも大きい場合(S37肯定)、処理を終了する。
このように、証拠出力装置12は、Webサーバ11のアプリケーションプログラムによりブラウザ41に出力される複数のフレームから構成される1の画面について、該画面のうち、初期的に表示対象となる部分画面領域の画像情報を記録する。また、証拠出力装置12は、ブラウザ41に出力される1の画面について、該画面のうち、複数のフレームのそれぞれについて初期的に表示対象とならない部分も含まれた全体の画像情報を記録する。そして、証拠出力装置12は、部分画面領域の画像情報と、複数のフレームの画像情報とを、該部分画面領域と該複数のフレームとの対応付けが視認可能な状態で、並べてエビデンスファイル31に出力する。これにより、証拠出力装置12は、テストの検証用としても納品先への証拠用としても利用可能な証拠資料を出力できる。
また、証拠出力装置12は、部分画面領域の画像情報と、複数のフレームの画像情報との対応付けが視認可能な状態とを、部分画面領域に続けて、該部分画面領域が含まれる画面を構成する複数のフレームを順に縦に並べた状態で出力する。これにより、証拠出力装置12は、部分画面領域の画像と、該部分画面領域が含まれる画面を構成する複数のフレームの画像との対応関係を分かりやすく保存できる。
また、証拠出力装置12は、1の画面を表示するタイミングおよび該1の画面から他の画面へ遷移するタイミングでそれぞれ部分画面領域の画像情報と、複数のフレームのそれぞれについて全体の画像情報とを記録する。これにより、証拠出力装置12は、ブラウザ41に初期表示される画面および他の画面に遷移する場合の遷移直前の画像を記録できる。これにより、記録された画像から、どのような操作が行われて、どのような画面が表示されたかが把握しやすくなる。
また、証拠出力装置12は、表示部21に非表示の状態で、1の画面の各フレームを表示範囲とした画像をブラウザ41にそれぞれ生成させて、各フレームについて初期的に表示対象とならない部分も含まれた全体の画像情報を記録する。これにより、証拠出力装置12は、各フレームの表示内容をブラウザ41に表示させた場合の各フレームの全体の画像情報を記録できる。すなわち、証拠出力装置12は、各フレームの表示される画像をブラウザ41により生成するため、実際の表示状態に近い画像を記録できる。また、証拠出力装置12は、ブラウザ41に表示される画面の表示データを解析しなくても、各フレームの全体の画像情報を記録できる。