(57)【要約】      （修正有）【課題】エビデンス取得に伴い画面遷移を効率的かつ的確に検出し、試験効率の向上を図る技術を提供する。【解決手段】情報処理装置１０は、業務実行部１１２と、テスト実行部１１３と、画素監視部１１４と、画面遷移検知部１１５と、証跡取得部１１６および証跡情報記憶部１３２を備える。テスト実行部は所定のシナリオに基づいて、入力を疑似的に発生させて業務実行部に与えることにより、業務サービスのテストを行う。画素監視部は、表示装置上に表示される複数の画素を監視する。画面遷移検知部は、複数の画素の少なくとも一部が変化したことにより、表示装置に表示された画面が遷移したことを検知する。証跡取得部は、画面が遷移したことに応じてスクリーンショットを取得し、画像データとして証跡情報記憶部に記憶する。【選択図】図４
2018036687.tif 000002
【特許請求の範囲】
【請求項１】
表示装置上に表示される複数の画素を監視する画素監視部と、
前記複数の画素の少なくとも一部が変化したことにより、前記表示装置に表示された画面が遷移したことを検知する画面遷移検知部と、
前記画面が遷移したことに応じて所定処理を行う処理部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記処理部は、
前記画面が遷移したことに応じて行われる処理として、前記表示装置上に表示された前記画面の全部または一部を写した画像であるスクリーンショットを取得する処理を実行するものである、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記画素監視部は、
前記画面上の一部の領域である監視領域を所定の大きさに分割した監視枠のそれぞれについて、前記監視枠内の少なくとも１つの前記画素が変化したか否かを判定するものである、
ことを特徴とする情報処理装置。
【請求項４】
閾値を記憶する設定情報記憶部をさらに備え、
前記画面遷移検知部は、前記複数の画素のうち変化したものの数が前記閾値以上である場合に、前記画面が遷移したことを検知するものである、
ことを特徴とする情報処理装置。
【請求項５】
業務サービスを提供するサーバ装置と通信可能に接続され、
前記サーバ装置に対してリクエストを送信し、前記リクエストに応じて前記サーバ装置から応答される画面情報に応じて前記画面を前記表示装置に表示する業務実行部と、
前記業務実行部に対して入力データを与えて前記業務サービスのテストを行うテスト実行部と、
をさらに備えることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
情報処理装置が、
表示装置上に表示される複数の画素を監視する画素監視処理と、
前記複数の画素の少なくとも一部が変化したことにより、前記表示装置に表示された画面が遷移したことを検知する画面遷移検知処理と、
前記画面が遷移したことに応じた所定処理と、
を実行することを特徴とする情報処理方法。
【請求項７】
前記情報処理装置が、
前記所定処理に際し、前記表示装置上に表示された前記画面の全部または一部を写した画像であるスクリーンショットを取得する、
ことを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記情報処理装置が、
前記画素監視処理に際し、前記画面上の一部の領域である監視領域を所定の大きさに分割した監視枠のそれぞれについて、前記監視枠内の少なくとも１つの前記画素が変化したか否かを判定する、
ことを特徴とする請求項６に記載の情報処理方法。
【請求項９】
前記情報処理装置が、
閾値を記憶する設定情報記憶部をさらに備え、
前記画面遷移検知処理に際し、前記複数の画素のうち変化したものの数が前記閾値以上である場合に、前記画面が遷移したことを検知する、
ことを特徴とする請求項６に記載の情報処理方法。
【請求項１０】
前記情報処理装置が、
業務サービスを提供するサーバ装置と通信可能に接続され、
前記サーバ装置に対してリクエストを送信し、前記リクエストに応じて前記サーバ装置から応答される画面情報に応じて前記画面を前記表示装置に表示する業務実行処理と、
前記業務実行部に対して入力データを与えて前記業務サービスのテストを行うテスト実行処理と、
を更に実行することを特徴とする請求項６に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法に関するものであり、具体的には、エビデンス取得に伴い画面遷移を効率的かつ的確に検出し、試験効率の向上を図る技術に関する。
【背景技術】
【０００２】
プログラムのリリース前にはテストが行われることが一般的である。しかしながら、ユーザが手動で逐一テストを実行するには手間がかかるため、自動化を図る技術が提案されてきた。
【０００３】
そうした従来技術として、例えば、入力された業務イベントの処理を複数の工程を経て完了するシステムをテストする装置であって、前記工程毎のテストシナリオを保持するシナリオ保持部と、前記工程毎のテストシナリオにしたがって前記複数の工程に亘り業務イベントを処理させていくことにより、前記システムのテストを自動実行するテスト実行部と、前記テストにおいてエラーを検出した場合に、そのエラーが発生した工程のテストシナリオを示す情報を記録するエラー記録部と、を備えることを特徴とするテスト実行装置（特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−７１３９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の従来技術においては、画面毎に画面操作情報を保持して自動的に入力を行うようにしているものの、画面はＵＲＬなどの識別情報で識別可能なことを前提としている。そのため、例えば一定時間を置いて同じ操作を繰り返し行う試験等に際しては、ＵＲＬ自体に変化が無いため、自動的なエビデンス取得はできない。勿論、こうした構成であれば、エビデンス取得漏れが生じやすくなり、試験精度も低下することとなる。
【０００６】
そこで本発明の目的は、エビデンス取得に伴い画面遷移を効率的かつ的確に検出し、試験効率の向上を図る技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決する本発明の情報処理装置は、表示装置上に表示される複数の画素を監視する画素監視部と、前記複数の画素の少なくとも一部が変化したことにより、前記表示装置に表示された画面が遷移したことを検知する画面遷移検知部と、前記画面が遷移したことに応じて所定処理を行う処理部と、を備えることを特徴とする。
【０００８】
また本発明の情報処理方法は、情報処理装置が、表示装置上に表示される複数の画素を監視する画素監視処理と、前記複数の画素の少なくとも一部が変化したことにより、前記表示装置に表示された画面が遷移したことを検知する画面遷移検知処理と、前記画面が遷移したことに応じた所定処理と、を実行することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、エビデンス取得に伴い画面遷移を効率的かつ的確に検出し、試験効率の向上を図ることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る情報処理システムの構成例を示す図である。
【図２】業務プログラムの実行による画面遷移の例を示す図である。
【図３】本実施形態の情報処理装置のハードウェア構成例である。
【図４】本実施形態における情報処理装置のソフトウェア構成例を示す図である。
【図５】本実施形態の設定情報記憶部が記憶する設定情報の構成例を示す図である。
【図６】本実施形態の設定情報の入力を受け付ける入力画面の一例を示す図である。
【図７】本実施形態の情報処理装置による処理の流れを示す図である。
【図８】本実施形態の画面遷移前に表示されている画面の一例を示す図である。
【図９】本実施形態の画面における監視対象画素の色を並べた色リストの一例を示す図である。
【図１０】本実施形態における遷移後の画面の一例を示す図である。
【図１１】本実施形態の画面における監視対象画素の色を並べた色リストの一例を示す図である。
【図１２】本実施形態の変形例に係る設定情報の入力画面の一例を示す図である。
【発明を実施するための形態】
【００１１】
−−−装置構成−−−
【００１２】
以下、本発明の一実施形態に係る情報処理装置１０を含んで構成される情報処理システムについて説明する。図１は、本実施形態に係る情報処理システムの構成例を示す図である。  本実施形態の情報処理システムは、情報処理装置１０およびＷｅｂサーバ２０を含んで構成され、情報処理装置１０とＷｅｂサーバ２０とは、通信ネットワーク３０を介して通信可能に接続される。
【００１３】
通信ネットワーク３０は、例えばインターネットやＬＡＮ（Local Area Network）である。また、当該通信ネットワーク３０は、例えばイーサネット（登録商標）、携帯電話回線網、無線通信網、専用電話回線網などにより構築される。また、通信ネットワーク３０を介した情報処理装置１０とＷｅｂサーバ２０との間の通信は、主にＨＴＴＰ（HyperText Transfer Protocol）により行われる。
【００１４】
Ｗｅｂサーバ２０は、Ｗｅｂアプリケーションとして業務サービスを提供するコンピュータである。このＷｅｂサーバ２０は、例えば１台または複数台のコンピュータにより構成される。また、Ｗｅｂサーバ２０は、ＨＴＴＰのリクエストに応じて業務サービスに係る処理を行い、その結果を例えばＨＴＭＬ（HyperText Markup Language）により記述し
た画面情報を応答する。
【００１５】
一方、本実施形態の情報処理装置１０は、業務サービスを利用するユーザが使用するコンピュータである。こうした業務サービスのユーザは、情報処理装置１０を操作してＷｅｂサーバ２０にアクセスし、業務に係る各種の処理を実行させる。この処理の結果としてＷｅｂサーバ２０から応答される画面情報は、情報処理装置１０に表示され、ユーザはこれを確認することができる。
【００１６】
本実施形態では、Ｗｅｂサーバ２０により提供される業務サービスを情報処理装置１０からテストする。なお、業務サービスは、ユーザにとって何らかのサービスを提供するものであればよく、例えば物品の販売サービスであってもよいし、決済サービスであってもよい。
【００１７】
情報処理装置１０は、業務サービスにアクセスするためのプログラム（以下、業務プロ
グラムとする）を実行しており、業務プログラムは、例えばＷｅｂサーバ２０にアクセスするためのＷｅｂブラウザである。
【００１８】
また、情報処理装置１０は、自動的にキーボードやマウスなどの入力装置からの入力情報を業務プログラムに与え、その応答が正しいかどうかを情報処理装置１０のユーザが視認して判定する。
【００１９】
本実施形態では、Ｗｅｂサーバ２０から応答されるＨＴＭＬにより記述された画面情報をユーザが確認した証跡として、情報処理装置１０が当該画面情報に基づいて描画された画面のスクリーンショット（表示装置上に表示されたものの全体または一部を写した画像をいう）を自動的に記録する。
【００２０】
業務サービスは、複数の画面から構成され、業務プログラムへの入力に応じて画面が遷移する。本実施形態の情報処理装置１０は、画面の遷移を検出し、画面が遷移した場合にのみスクリーンショットを記録する。
【００２１】
本実施形態の情報処理装置１０は、上述の業務プログラムが描画する画面を構成する画素を監視し、画素の変化に応じて画面が遷移したか否かを判定する。なお、情報処理装置１０は、画面を構成する全ての画素を監視するのではなく、その一部のみを監視する。具体的には、情報処理装置１０は、画面上の監視対象となる領域（以下、監視領域とする）のみを監視する。さらに情報処理装置１０は、監視領域を複数の領域（以下、監視枠とする）に分割し、各監視枠内の一部の画素（本実施形態では１画素のみとする。）のみの変化を監視する。
【００２２】
図２は、業務プログラムの実行による画面遷移の例を示す図である。図２の例では、業務プログラムの実行によりログイン画面４０からメニュー画面４１に画面が遷移することが想定されているものとする。ここでユーザがログインボタン４０１の表示される領域を監視領域として情報処理装置１０に設定した場合、情報処理装置１０は、ログインボタン４０１の表示されている領域で画素が変化したか否かを監視する。
【００２３】
画面遷移後のメニュー画面４１では、ログインボタン４０１が表示されていた領域４１１には何も表示されておらず、ログインボタン４０１の背景色と画面の背景色とは一般的に異なる色である。したがって、情報処理装置１０は、ログインボタン４０１が表示されるログイン画面４０とは異なる画面が表示されていることを検出することができる。これにより、業務プログラムの実行に係る画面遷移の証跡を自動的に収集することができる。−−−ハードウェア構成−−−
【００２４】
図３は、本実施形態における情報処理装置１０のハードウェア構成例である。図３に示すように、情報処理装置１０は、ＣＰＵ１０１、メモリ１０２、記憶装置１０３、通信インタフェース１０４、入力装置１０５、および表示装置１０６を備える。
【００２５】
このうち記憶装置１０３は、各種のデータやプログラムを記憶する装置である。記憶装置１０３は、例えばハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどである。
【００２６】
この記憶装置１０３には、業務プログラム１１、テストプログラム１２、および、ログプログラム１３が記憶されている。このうち業務プログラム１１は、上述したテストの対象となるプログラムであり、本実施形態では、Ｗｅｂブラウザのプログラムを想定している。また、テストプログラム１２は、業務サービスのテストを行う機能を実現するためのプログラムである。また、ログプログラム１３は、画面遷移を検知する機能と、画面遷移
に応じて所定の処理を行う機能とを実現するためのプログラムである。
【００２７】
また、入力装置１０５は、ユーザらがデータを入力する、例えばキーボードやマウス、タッチパネル、ボタン、マイクロフォンなどである。
【００２８】
また、表示装置１０６は、処理データを表示する装置であり、例えばディスプレイである。
−−−機能構成−−−
【００２９】
図４は、情報処理装置１０のソフトウェア構成例を示す図である。図４に示すように、情報処理装置１０は、設定登録部１１１、業務実行部１１２、テスト実行部１１３、画素監視部１１４、画面遷移検知部１１５、証跡取得部１１６、設定情報記憶部１３１および証跡情報記憶部１３２を備える。
【００３０】
情報処理装置１０の備えるＣＰＵ１０１が記憶装置１０３に記憶されている業務プログラム１１をメモリ１０２に読み出して実行することにより業務実行部１１２が実現される。
【００３１】
また同様に、情報処理装置１０の備えるＣＰＵ１０１が記憶装置１０３に記憶されているテストプログラム１２をメモリ１０２に読み出して実行することによりテスト実行部１１３が実現される。
【００３２】
また同様に、情報処理装置１０の備えるＣＰＵ１０１が記憶装置１０３に記憶されているログプログラム１３をメモリ１０２に読み出して実行することにより画素監視部１１４、画面遷移検知部１１５、および証跡取得部１１６が実現される。
【００３３】
また、設定情報記憶部１３１および証跡情報記憶部１３２は、情報処理装置１０の備えるメモリ１０２および記憶装置１０３が提供する記憶領域の一部として実現される。
【００３４】
上述の設定情報記憶部１３１は、画面の監視に係る設定情報を記憶する。この設定情報記憶部１３１が記憶する設定情報の構成例を図５に示す。設定情報には、監視領域情報、精度、誤差、遷移後処理およびパラメータが含まれる。
【００３５】
また、監視領域情報は、画面上の監視対象となる領域（監視領域）を指定する情報である。本実施形態では、説明を簡単にするため、監視領域情報は、画面上における矩形領域を定義する情報であるものとする。監視領域情報は、監視領域の左上隅のＸ座標およびＹ座標と、監視領域の幅（Ｗ）および高さ（Ｈ）とを含む。
【００３６】
精度は、監視領域を分割するための情報であり、本実施形態では、正方形の一辺の長さを示すピクセル数であるものとする。
【００３７】
誤差は、画面が遷移したことを判定するための閾値である。後述するように、画面遷移検知部１１５は、画素監視部１１４が監視した画素のうち色の変化したものの数が「誤差」の示す値以上となった場合に画面が遷移したと判定する。
【００３８】
遷移後処理は、画面遷移後に実行する処理である。本実施形態では、遷移後処理は後述する証跡取得部１１６により行われるプリントスクリーンを想定している。
【００３９】
設定登録部１１１は、画面の監視に係る設定情報の入力を受け付ける。図５に、設定登録部１１１が設定情報の入力を受け付ける入力画面５０の一例を示す。
【００４０】
この入力画面５０は、監視領域情報の入力欄５０１、精度の入力欄５０２、誤差の入力欄５０３、遷移後処理を選択するドロップダウンリスト５０４、および遷移後処理に与えるパラメータの入力欄５０５を備える。
【００４１】
本実施形態では、ドロップダウンリスト５０４ではプリントスクリーン（「プリント」）のみが指定可能であるものとする。なお、ドロップダウンリスト５０４は、プリントスクリーン以外の任意の処理を選択可能としてもよい。
【００４２】
また、業務実行部１１２は、業務プログラムを実行する。上述したように本実施形態では、業務プログラムはＷｅｂブラウザを想定しており、ＷｅｂブラウザからＷｅｂサーバ２０にアクセスすることにより、情報処理装置１０がＷｅｂサーバ２０から業務サービスを受けるものとする。業務プログラムであるＷｅｂブラウザを操作することにより、Ｗｅｂサーバ２０により提供される業務サービスを情報処理装置１０側でテストすることができる。
【００４３】
また、テスト実行部１１３は、業務サービスのテストを行う。本実施形態では、テスト実行部１１３は所定のシナリオに基づいて、キーボードやマウス等の入力装置１０５からの入力を擬似的に発生させて業務実行部１１２に与えることにより、業務サービスのテストを行う。なお、テスト実行部１１３によるテスト処理については一般的な手法を採用するものとし、ここでは詳細な説明を省略する。
【００４４】
また、画素監視部１１４は、画面上の複数の画素を監視する。画素監視部１１４は、設定情報の精度の示すピクセル数で監視領域の幅（Ｗ）および高さ（Ｈ）のそれぞれを分割した監視枠を設定する。なお、監視領域の幅または高さが上記ピクセル数で割り切れない場合には、画素監視部１１４は、監視枠の形状を正方形ではなく長方形に設定すればよい。  画素監視部１１４は、監視枠のそれぞれについて１つずつランダムに、監視対象とする画素（以下、監視対象画素とする）を選択する。画素監視部１１４は、選択した各監視対象画素についてＲＧＢ値により表される色情報を取得し、そのＲＧＢ値の変化を監視する。
【００４５】
また、画面遷移検知部１１５は、監視対象画素の変化により画面が遷移したことを検知する。本実施形態では、画面遷移検知部１１５は、色情報が変化した監視対象画素の数が設定情報の「誤差」以上である場合に、画面が遷移したと判定する。
【００４６】
また、証跡取得部１１６は、画面遷移が検出された場合に、スクリーンショットを作成する。画素監視部１１４および画面遷移検知部１１５による画面遷移の検出処理については後述する。
【００４７】
また、証跡取得部１１６は、一般的な方法によりスクリーンショットを作成するものとする。例えば、オペレーティングシステムによりスクリーンショットの機能が提供されている場合には、証跡取得部１１６はシステムコールによりスクリーンショットを取得することができる。また、証跡取得部１１６は、ビデオメモリにアクセスしてスクリーンショットを取得してもよい。証跡取得部１１６は、取得したスクリーンショットを画像データとして証跡情報記憶部１３２に記録する。証跡取得部１１６は、指定された画像フォーマットのファイルとしてスクリーンショットの画像データを保存することができる。
【００４８】
また、証跡情報記憶部１３２は、スクリーンショットの画像データを記憶する。証跡情報記憶部１３２は、例えばファイルシステムのディレクトリとして実現することができる。画像データは、証跡情報記憶部１３２にファイルとして記録することができる。
−−−フロー例−−−
【００４９】
以下、情報処理装置１０の実行する処理について説明する。図７は、情報処理装置１０による処理の流れを示す図である。
【００５０】
まず、画素監視部１１４は、設定情報記憶部１３１から設定情報を読み出し（Ｓ６１１）、設定情報に含まれてる監視領域情報により特定される監視領域を、設定情報に含まれている精度の示す長さを１辺とする正方形に分割して監視枠を決定する（Ｓ６１２）。
【００５１】
図８は、監視開始時（画面遷移前）に表示されている画面４０の一例を示す図である。画面４０について図６の例における設定情報の監視領域情報により特定される監視領域は、Ｘ座標が左端から２００ピクセルであり、Ｙ座標が上端から２００ピクセルである点を基準として、幅が８０ピクセル、高さが３０ピクセルの領域である。
【００５２】
図８の例では、監視領域にはログインボタン４０１が含まれる。また、監視枠４０１１は、設定情報の精度が示す長さ（１０ピクセル）を１辺の長さとする正方形で監視領域を分割したものである。
【００５３】
次に、画素監視部１１４は、決定した監視枠のそれぞれについて、当該監視枠内の座標の画素のいずれか１つをランダムに監視対象画素として決定する（Ｓ６１３）。図８の例では、監視枠４０１１内における画素４０１２が監視対象画素として決定されたことを示している。
【００５４】
続いて、画素監視部１１４は、空の色リスト１を作成し（Ｓ６１４）、空の色リスト２を作成する（Ｓ６１５）。また、画素監視部１１４は、上記監視枠のそれぞれについて監視対象画素の色情報を取得し（Ｓ６１６）、取得した色情報を色リスト２に追加する（Ｓ６１７）。
【００５５】
図９は、図８に示す画面４０における監視対象画素４０１２の色を並べた色リスト２の一例を示す図である。図８の例において、ログインボタン４０１は「ログイン」の文字列が白色で背景色が黒である。監視領域中の上から２つめ左から４つめの監視枠４０１１中の監視対象画素４０１２のみが文字列を構成する画素であり、それ以外の監視対象画素４０１２はログインボタン４０１の背景を構成する画素である。この場合、図９に示すように、色リスト２には、白色を示す色情報（＃ｆｆｆ）が１個、黒（＃０００）を示す色情報が２３個含まれることになる。
【００５６】
ここで図７の説明に戻る。続いて画素監視部１１４は、色リスト１が空であるか否かを判断し（Ｓ６１８）、色リスト１が空である場合には（Ｓ６１８：ＹＥＳ）、色リスト２を色リスト１として（Ｓ６１９）、ステップＳ６１５からの処理を繰り返す。
【００５７】
色リスト１が空でなければ（Ｓ６１８：ＮＯ）、画面遷移検知部１１５は、色リスト１と色リスト２とを比較して、色リスト１と色リスト２とで異なる色情報の数が、設定情報の誤差以上であるか否かにより画面遷移が発生したか否かを判定する（Ｓ６２０）。
【００５８】
上述の判定の結果、異なる色情報の数が誤差以上である（画面遷移が発生した）場合（Ｓ６２０：ＹＥＳ）、画面遷移検知部１１５は、設定情報のパラメータを与えて、設定情報の遷移後処理（本実施形態ではプリントスクリーンを取得する処理）を実行する（Ｓ６２１）。
【００５９】
図１０は、図８の画面４０からの遷移後の画面４１の一例を示す図である。画面４１お
ける監視領域は、図８の画面４０に係る監視領域と同様に、Ｘ座標が左端から２００ピクセルでありＹ座標が上端から２００ピクセルである点を基準として、幅が８０ピクセル、高さが３０ピクセルの領域である。図１０の例では、画面４１上の監視領域には何も表示されておらず、画面４１の背景色（ここでは白を想定している。）で埋め尽くされている。  図１１は、画面４１における監視対象画素４０１２の色を並べた色リスト２の一例を示す図である。画面４１が表示されると、画面４１上ではいずれの監視枠４０１１についても監視対象画素４０１２の色情報は白となり、図１１に示すように色リスト２には白を示す色情報（＃ｆｆｆ）が２４個含まれることになる。
【００６０】
色リスト１に図９の色リストが設定され、色リスト２に図１１の色リストが設定されている場合には、色リスト１と色リスト２とで異なる色情報の数は２３個である。したがって、異なる色情報の数は、図６に示す設定情報の誤差の３以上となり、証跡取得部１１６は、画面が遷移したと判定し、プリントスクリーンの処理が実行されることになる。
【００６１】
以上のようにして、本実施形態の情報処理装置１０によれば、画面遷移を自動的に検知し、画面遷移に応じて自動的にプリントスクリーンの処理を実行し、画面遷移の証跡を蓄積していくことができる。
【００６２】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００６３】
例えば、本実施形態では、遷移後処理は、プリントスクリーンであるものとしたが、これに限らず、画面遷移を検知したことを契機として任意の処理を実行するようにしてもよい。例えば、遷移後処理として、遷移後の画面をプリンターに印刷する処理、遷移後の画面に対して所定のキーまたはマウスクリックなどの入力を与える処理などを遷移後処理とすることができる。
【００６４】
また、本実施形態では、業務サービスの提供は、情報処理装置１０とは異なるＷｅｂサーバ２０により行われるものとしたが、これに限らず、情報処理装置１０において業務プログラム１１を実行することにより実現される業務実行部１１２が業務サービスを提供するようにしてもよい。このように、情報処理装置１０で実行するプログラムをテストする場合においても、業務プログラム１１やテストプログラム１２を改修することなく、ログプログラム１３を独立して実行することで、画面遷移を自動的に検出して証跡となる画面データを記録していくことができる。
【００６５】
また、本実施形態では、監視領域は矩形であるものとしたが、これに限らず、任意の形状としてもよい。例えば監視領域を楕円形としてもよい。この場合、監視領域情報は中心点の座標と長径および短径とを含むようにすればよい。また、監視領域を多角形としてもよい。この場合、監視領域情報は複数の点の座標を含むようにすればよい。また、複数の領域の組み合わせにより監視領域を指定するようにしてもよい。
【００６６】
また、本実施形態では、監視領域を分割する正方形の１辺の長さを精度としたが、これに限らず、監視領域内において監視する画素数の数を定義するための情報であればよい。例えば、監視領域を分割する監視枠の一辺の長さは一定とし、あるいは、監視領域の大きさに応じて所定のアルゴリズムにより決定される長さとし、各監視枠内で選択する画素の数を精度としてもよい。
【００６７】
また、監視領域を分割せずに監視領域内における監視対象となる画素の数を精度とし、情報処理装置１０は、監視領域内の画素をランダムに精度の示す数だけ選択し、選択した
画素を監視対象としてもよい。
【００６８】
また、本実施形態では、情報処理装置１０は、監視領域内の画素の色が異なる色に変化した場合には無条件に画面が遷移したこと判断するものとしたが、一つまたは複数の色を予め設定しておき、変化した画素の色が設定された色である場合には画面が遷移していないと判断するようにしてもよい。例えば、Ｗｅｂアプリケーションにおいてマウスのカーソルがボタン上に置かれた場合に、ボタンの色が変化するような設定がなされることがある。このような場合に、ボタン上にカーソルがある場合の背景色と、ボタン上にカーソルがない場合の背景色とを予めしていしておくことにより、ボタンの強調表示などを画面遷移と誤検出することを防止し、確実に画面遷移を検出することができる。
【００６９】
逆に、遷移後の画面上の監視領域に表示されうる一つまたは複数の色を予め設定しておき、画面遷移検知部１１５は、監視対象画素の色が変化した場合に、変化後の色が設定された色である場合にのみ画面が遷移したと判定するようにしてもよい。これにより、例えば、図２のように、メニュー画面４１の領域４１１上には例えば白色などの背景色のみが設定されることが想定されている場合には、遷移前の画面において監視領域にアニメーション画像や動画像などが表示されていたとしても、確実に画面遷移を検出することができる。
【００７０】
また、本実施形態では、監視領域内の一部画素のみを監視対象としたが、監視領域内の全画素を監視対象とし、情報処理装置１０は、監視領域の大きさ全部をキャプチャした画像を色リストとすることができる。また、情報処理装置１０は、監視領域を設定せずに画面全体をキャプチャして色リストとしてもよい。
【００７１】
また、本実施形態では、監視する領域を設定するものとしたが、監視しない領域を設定するようにしてもよい。例えば、情報処理装置１０は、設定情報の監視領域情報に代えて、画面上で監視しない領域を示す情報を管理し、画面上において当該監視しない領域を除く部分の画素の色情報を取得して色リストとすることができる。この場合、例えば画面上に広告画像などの業務サービスの処理と連携せずに表示が変わる画像や文字列等が表示されるような場合にも画面遷移の誤検出を防ぎつつ、その他の部分を全て比較することにより精度良く画面遷移を検知することができる。
【００７２】
また、本実施形態では、設定登録部１１１、画素監視部１１４、画面遷移検知部１１５および証跡取得部１１６は、テスト実行部１１３とは異なる機能部であるものとしたが、これに限らず、テスト実行部１１３が設定登録部１１１、画素監視部１１４、画面遷移検知部１１５および証跡取得部１１６の少なくとも一部の機能を備えるようにしてもよい。すなわち、テスト実行部１１３が、業務サービスのテストを行いながら画面の遷移を検知するようにしてもよい。この場合に、情報処理装置１０は、テスト実行部１１３を２つのプロセスで実行し、一方のプロセスでテストを行い、他方のプロセスで画面遷移を監視するようにしてもよい。
【００７３】
図１２は、テスト実行部１１３が設定登録部１１１、画素監視部１１４、画面遷移検知部１１５および証跡取得部１１６の機能を備えた変形例に係る設定情報の入力画面５１の一例を示す図である。入力画面５１は、テストのシナリオを設定するための入力画面であり、実行ボタン５１１、行追加ボタン５１２、行削除ボタン５１３、保存ボタン５１４、入力行５１５および座標表示欄５１６を備える。
【００７４】
実行ボタン５１１が押下されると、テスト実行部１１３は入力されたシナリオにしたがってテストを行う。
【００７５】
行追加ボタン５１２が押下されると、テスト実行部１１３は、画面５１に表示する入力行５１５を１つ追加する。行削除ボタン５１３が押下されると、テスト実行部１１３は、画面５１に表示されている入力行５１５を削除する。削除対象となる入力行５１５は、最後に追加されたものであってもよいし、ユーザが画面５１上で削除する入力行５１５をクリックすることなどにより、削除する入力行５１５の指定をさせるようにしてもよい。
【００７６】
保存ボタン５１４が押下されると、テスト実行部１１３は、入力されたシナリオをファイルとして記憶装置１０３に保存する。また、テスト実行部１１３は、画面５１においてシナリオの保存されたファイルの指定を受け付けて、指定されたファイルを読み出して、読み出した設定値を設定した入力行５１５を画面５１に表示するようにしてもよい。
【００７７】
入力行５１５は、シナリオに係るテスト実行部１１３が実行する処理を設定するためのものであり、表示欄５１５１、ドロップリスト５１５２および入力欄５１５３を備える。
【００７８】
表示欄５１５１は、入力行５１５を特定する識別番号（行番号）の表示欄であり、テスト実行部１１３は、例えば画面５１の下方に表示されている入力行５１５ほど大きくなるように行番号を設定することができる。
【００７９】
ドロップダウンリスト５１５２は、実行する処理を選択するための入力欄である。画面５１の例では、画面遷移を監視する処理を示す「画面監視」、所定の時間を待機する処理（ウェイト処理）を示す「待機」、所定の入力行５１５が示す処理を実行させる「ジャンプ」、プリントスクリーンを行う「プリント」がドロップダウンリスト５１５２に表示されている。なお、ここで画面遷移を監視する処理は、図７に示す処理のうち、ステップＳ６１１〜Ｓ６１９までの処理を想定しており、図７のステップＳ６２０において色リスト１と色リスト２とで異なる色情報の数が設定情報の誤差以上であった場合に処理は成功し、それ以外の場合には処理が失敗することを想定している。
【００８０】
入力欄５１５３は、ドロップダウンリスト５１５２で選択した処理に対して与えるパラメータを入力する欄である。入力欄５１５３には、複数の入力欄を設けてもよいし、パラメータが不要な処理については入力欄５１５３を省略してもよい。例えば、画面５１の例では、「画面監視」の処理については、図５に示す画面５０と同様の監視領域情報の入力欄５０１、精度の入力欄５０２および誤差の入力欄５０３と、「画面監視」の処理が成功した後に処理を遷移させる行番号の入力欄５１５４とが入力欄５１５３に含まれている。
【００８１】
テスト実行部１１３は、画面監視の処理が成功した場合（図７のＳ６２０：ＹＥＳ）、入力欄５１５４に指定されている行番号が示す入力行５１５に指定された処理を実行する。図１２の例では、行番号「４」の示す行に遷移し、テスト実行部１１３は、「プリント」が示すプリントスクリーンの処理を実行する。行番号「４」の入力行５１５のパラメータ入力欄５１５３には、画像を写す範囲を示す領域情報（Ｘ座標値、Ｙ座標値、幅Ｗおよび高さＨ）と、取得した画像を格納するファイルのファイル名とが設定可能となっている。テスト実行部１１３は、これらの領域情報およびファイル名をパラメータとしてプリントスクリーン処理を実行し、テスト実行部１１３は、当該領域情報が示す領域の画像を、当該ファイル名のファイルとして記録する。また、テスト実行部１１３は、入力欄５１５３において、「待機」の処理については、パラメータとして待機する時間を設定可能とし、「ジャンプ」の処理については、処理を遷移させる先の行番号を設定可能としている。
【００８２】
座標表示欄５１６は、現在のマウスのカーソルが位置する画面上の座標を表示する欄である。テスト実行部１１３は、マウスカーソルの現在位置を監視し、現在位置の座標を座標表示欄５１６に表示する。ユーザは、座標表示欄５１６を参考にして、例えば画面監視の処理に係る監視領域の基準座標、幅および高さ、あるいはプリントスクリーンの処理に
係る領域の基準座標、幅および高さなどの入力を行うことができる。
【００８３】
テスト実行部１１３は、ジャンプの処理を除き、行番号５１５１の順番に入力行５１５に設定される処理を実行していく。すなわち、画面５１の例では、監視領域を監視して画面遷移を検知し（行番号「１」）、画面遷移の検知に成功した場合には、プリントスクリーンの処理（行番号「４」）を実行し、再度画面遷移の監視処理に戻る（行番号「５」）。また、テスト実行部１１３は、画面遷移の検知に失敗した場合には、次の「待機」処理を行い（行番号「２」）、再度画面遷移の監視処理に戻る（行番号「３」）。以上のようにして、図１２の例では、テスト実行部１１３は、画面遷移を監視することができる。
【００８４】
なお、ドロップダウンリスト５１５２で選択可能な処理はこれらに限らず、例えば業務実行部１１２に対して与えるキーボードやマウスからの入力イベントを擬似的に発生する処理など任意の処理を選択できるものとする。すなわち、テスト実行部１１３は、画面５１において、画面遷移の監視処理に限らず、Ｗｅｂサーバ２０が提供する業務サービスのテストに係る各種の処理を実行するシナリオの指定を受け付けることができる。これによりテスト実行部１１３は、業務サービスのテストを自動的に行うとともに、画面遷移を自動的に検知してスクリーンショットを自動的に保存していくことができる。
【００８５】
上記本実施形態の情報処理装置１０は、表示装置上に表示される複数の画素を監視する画素監視部１１４と、複数の画素の少なくとも一部が変化したことにより、表示装置に表示された画面が遷移したことを検知する画面遷移検知部１１５と、画面が遷移したことに応じて処理を行う証跡処理部１１６とを備える。
【００８６】
本実施形態の情報処理装置１０によれば、画面表示を行うプログラムを改修することなく、画面上の表示のみに基づいて画面遷移を検出することができる。したがって、テスト対象となる業務サービスが情報処理装置１０とは異なるＷｅｂサーバ２０から提供されている場合においても、Ｗｅｂサーバ２０を改修することなく画面遷移を検知することができる。また、情報処理装置１０においてテストプログラム１２を実行してテストを行う場合に、テストプログラム１２を改修することなく、情報処理装置１０はテストプログラム１２とともにログプログラム１３を起動することで、自動的に画面遷移を検知することができる。
【００８７】
また、本実施形態の情報処理装置１０によれば、画面遷移を自動的に検知し、画面が遷移したことを契機として処理を行うことができる。したがって、表示された画面に応じた処理を画面の表示されたタイミングで確実に所定の処理を実行することができる。
【００８８】
また、本実施形態の情報処理装置１０において、画面が遷移したことに応じて行われる処理は、表示装置１０６上に表示された画面の全部または一部を写した画像であるスクリーンショットを取得する処理であってよい。
【００８９】
この場合、情報処理装置１０は、画面を生成する処理が情報処理装置１０とは異なるＷｅｂサーバ２０で実行されている場合においても、情報処理装置１０側で独立して自動的にスクリーンショットを取得することができる。
【００９０】
また、本実施形態の情報処理装置１０において、画素監視部１１４は、画面上の一部の領域である監視領域を所定の大きさに分割した監視枠４０１１のそれぞれについて、監視枠４０１１内の少なくとも１つの監視対象画素４０１２が変化したか否かを判定するようにしてもよい。
【００９１】
この場合、画素監視部１１４は、監視領域を分割した監視枠４０１１のそれぞれについ
て監視を行うことができるので、監視領域の全域を監視することができる。また、画素監視部１１４は、監視枠４０１１内の一部の監視対象画素４０１２のみを監視対象とした場合には、監視領域を万遍なく監視するとともに、監視に係る画素記憶のメモリ使用量を抑制し、変化を比較する画素を減らして比較処理の負荷を低減することができる。これにより、効率的に画面遷移を検出することができる。
【００９２】
また、本実施形態の情報処理装置１０において、閾値である誤差を記憶する設定情報記憶部１３１をさらに備え、画面遷移検知部１１５は、複数の監視対象画素４０１２のうち変化したものの数が設定情報の誤差以上である場合に、画面が遷移したことを検知するようにしてもよい。
【００９３】
この場合、画面遷移検知部１１５は、変化した画素数が誤差内であれば画面が遷移したと判断せずに、監視領域内の表示の一部が変化したに過ぎないと判断することができる。したがって、監視対象領域の一部に、例えばアニメーション画像などの画素が変化する要素が表示されていた場合にも、画面遷移の誤検出を抑制し、画面遷移検知部１１５は画面遷移を精度良く検知することができる。
【００９４】
また、本実施形態の情報処理装置１０は、業務サービスを提供するＷｅｂサーバ２０と通信可能に接続され、Ｗｅｂサーバ２０に対してリクエストを送信し、リクエストに応じてＷｅｂサーバ２０から応答される画面情報に応じて画面を表示装置１０６に表示する業務実行部１１２と、業務実行部１１２に対して入力データを与えて業務サービスのテストを行うテスト実行部１１３と、をさらに備えるようにしてもよい。
【００９５】
この場合、Ｗｅｂサーバ２０側で実行されるプログラムのテストを、Ｗｅｂサーバ２０に接続された情報処理装置１０側から自動的に実行することを可能にするとともに、情報処理装置１０では、テストの実行に係る画面遷移を自動的に検知して所定の処理を実行させることができる。
【符号の説明】
【００９６】
１０  情報処理装置
２０  Ｗｅｂサーバ
３０  通信ネットワーク
５０  入力画面
５１  入力画面
１０１  ＣＰＵ
１０２  メモリ
１０３  記憶装置
１０４  通信インタフェース
１０５  入力装置
１０６  表示装置
１１１  設定登録部
１１２  業務実行部
１１３  テスト実行部
１１４  画素監視部
１１５  画面遷移検知部
１１６  証跡取得部
１３１  設定情報記憶部
１３２  証跡情報記憶部
【図１】
2018036687.tif 000003
【図２】
2018036687.tif 000004
【図３】
2018036687.tif 000005
【図４】
2018036687.tif 000006
【図５】
2018036687.tif 000007
【図６】
2018036687.tif 000008
【図７】
2018036687.tif 000009
【図８】
2018036687.tif 000010
【図９】
2018036687.tif 000011
【図１０】
2018036687.tif 000012
【図１１】
2018036687.tif 000013
【図１２】
2018036687.tif 000014