(57)【要約】【課題】画面を直接接触操作するアプリケーションテストに於いて、作成したテストシナリオの再利用性、保守性を高めることができる回帰テスト自動実行システムを提供する。【解決手段】回帰テスト自動実行ツール４０３を備えた回帰テスト自動実行装置４０１と、アプリケーション４０６からの画像データ表示を行なうと共に、画面への接触操作をアプリケーション４０６へ伝える画面表示装置４０７を備えたアプリケーション表示装置４０２とが通信自在に接続される回帰テスト自動実行システムであって、回帰テスト自動実行装置４０１は、テストシナリオＤＢ４０４に格納されたテストシナリオから読み込んだテスト単位にリソースＩＤが入っていた場合、そのリソースＩＤに紐付けされているリソース配置情報ＤＢ４０８の右下座標および左上座標を取得するために、リソース配置情報ＤＢ４０８からリソース配置情報を読み込む手段等を備える。【選択図】図１
2010165267.tif 000002
【特許請求の範囲】
【請求項１】
回帰テスト自動実行ツールを備えた回帰テスト自動実行装置と、
アプリケーションからの画像データ表示を行なうと共に、画面への接触操作を前記アプリケーションへ伝える画面表示装置を備えたアプリケーション表示装置とが通信自在に接続される回帰テスト自動実行システムであって、
前記回帰テスト自動実行装置は、リソース配置情報を保持せず、リソースＩＤを保持するテストシナリオを格納するテストシナリオＤＢと、
画面内容を格納する画面内容ＤＢと、
リソースＩＤに紐付けられたリソース配置情報を格納するリソース配置情報ＤＢと、
前記テストシナリオＤＢに格納されたテストシナリオのテスト単位を順次読み込む手段と、
読み込んだテスト単位にリソースＩＤが入っていた場合、そのリソースＩＤに紐付けされているリソース配置情報ＤＢの右下座標および左上座標を取得するために、リソース配置情報ＤＢからリソース配置情報を読み込む手段と、
読み込んだリソース配置情報のリソースＩＤが一致していれば、前記リソース配置情報ＤＢの右下座標および左上座標を取得し、右下座標の横軸と左下座標の横軸を足した値を２で割り、また右下座標の縦軸から左下座標の縦軸を足した値を２で割り、その値を中心座標とする手段と、
前記テストシナリオＤＢの操作内容、および前記中心座標をテスト項目とし、前記アプリケーション表示装置にテスト項目を要求する手段とを備えたことを特徴とする回帰テスト自動実行システム。
【請求項２】
前記回帰テスト自動実行装置は、前記アプリケーション表示装置にテスト項目を要求し、前記アプリケーション表示装置でテストシナリオの操作が再現されると、再現された画面の内容を前記画面内容ＤＢに記録する手段と、
前記画面内容ＤＢに予め記録された画面の内容と再現された画面の内容とを比較し、再現結果の成否を判定する手段と、
判定の結果、画面の内容に差異がない場合、テストシナリオ終了の判定を行い、次のテスト項目があれば次のテスト項目を再現し、次のテスト項目がなければ再現機能を終了する手段と、
判定の結果、画面の内容に差異がある場合、差異範囲と前記リソース配置情報ＤＢの右下座標および左上座標の範囲が一致しているか確認する手段と、
差異範囲が一致していない場合は次の差異範囲の有無を確認し、次の差異範囲がなければ次のテスト項目に移り、次の差異範囲があれば先の差異範囲と次のリソース配置情報ＤＢの右下座標および左上座標の範囲が一致しているか確認する手段と、
差異範囲が一致している場合は、前記リソース配置情報ＤＢの右下座標および左上座標が変更された可能性があると判断し、前記リソース配置情報ＤＢの「変更有無」を「有」に変更する手段と、
前記リソース配置情報ＤＢの「変更有無」が「有」の情報を変更対象のリソースとして列挙する手段とを備えたことを特徴とする請求項１記載の回帰テスト自動実行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面を直接接触操作するアプリケーションテストに回帰テスト自動実行ツールを利用し、テストの画面操作テストを自動化した回帰テスト自動化システムに関し、特に、作成したテストシナリオの再利用性、保守性を高めることができる回帰テスト自動実行システムに関する。
【背景技術】
【０００２】
近年、携帯電話やカーナビゲーションシステムの発達に伴い、指やペンで画面を直接接触操作するアプリケーションが増加してきている。
そして、画面を直接接触操作するアプリケーションテストに回帰テスト自動実行ツールを利用し、テストの画面操作テストを一部自動化していることが多い。
回帰テスト自動実行ツールを利用する場合、予めテストシナリオを準備しておき、回帰テスト自動実行ツールはそのテストシナリオに従ってテストを行っていく。テストシナリオはテスト項目が連続したものとして構成されている。テスト項目とは、画面への操作内容である要求情報とその要求に対するアプリケーションからの応答情報で構成されるテスト単位である。尚、回帰テスト自動実行ツールの機能の１つとしてテストシナリオ作成機能も用意されている。
例えば、日立ソフトウエアエンジニアリング株式会社「ａｎｙＷａｒｐ Ｃａｐｔｕｒｅ／Ｒｅｐｌａｙ」は、前記した回帰テスト自動実行ツールの代表例であり、以下の機能を持つ。
（１）記録機能。アプリケーション上で操作した事象と、その際の画面の内容を記録する。アプリケーション上で操作した事象はテストシナリオとして記録する。
（２）再現機能。記録機能で記録したテストシナリオをアプリケーション上で再現する。再現された画面の内容を記録する。
（３）比較機能。記録機能で記録された画面の内容と再現機能で再現された画面の内容を比較し、再現結果の成否を判定する。
（４）編集機能。記録機能で記録されたテストシナリオの内容を編集する。
【０００３】
図７は従来例の回帰テスト自動実行システムの概略構成を示すシステム構成図である。
この実施例の回帰テスト自動実行システムは、パーソナルコンピュータなどの回帰テスト自動実行装置１０１とカーナビゲーションシステムなどのアプリケーション表示装置１０２を有し、回帰テスト自動実行装置１０１とアプリケーション表示装置１０２はＵＳＢケーブルなどを介して情報をやり取りしている。
【０００４】
回帰テスト自動実行装置１０１はオペレーティングシステム上で実行されるアプリケーションプログラムとして実現される回帰テスト自動実行ツール１０３を備えるとともに、作成されたテストシナリオＤＢ（データベース）１０４、および画面内容ＤＢ１０５が記録できる記憶装置などを持つ。アプリケーション表示装置１０２はオペレーティングシステム上で実行されるアプリケーション１０６を備えるとともに、アプリケーション１０６からの画像データ表示、および画面への接触操作をアプリケーション１０６へ伝える画面表示装置１０７などを持つ。
【０００５】
このような構成で回帰テスト自動実行ツール１０３はテストシナリオＤＢ１０４のテスト項目に従って、テスト対象となるアプリケーション表示装置１０２にテスト項目を要求し、テスト項目を再現する。
【０００６】
図８は前記テストシナリオＤＢ１０４の内部構成を示すデータ構造図である。テストシナリオＤＢ１０４にはテスト項目毎に画面表示装置１０７で操作した操作内容２０２と接触した座標２０３が保存されている。
【０００７】
このような情報を保存することにより、回帰テスト自動実行ツール１０３を介し、アプリケーション表示装置１０２で操作内容を再現できる。
【０００８】
図９は前記画面内容ＤＢ１０５の内部構成を示すデータ構造図である。画像内容ＤＢ１０５には一意である画像名３０２と回帰テスト自動実行装置１０１のファイル格納場所を示す画像キャプチャデータ３０３が保存されている。
【０００９】
このような情報を保持することにより、記録機能で記録された画面の内容と再現機能で再現された画面の内容を比較し、再現結果の成否を判定することができる。
【００１０】
尚、本発明に関連する公知技術文献としては例えば特許文献１があげられる。特許文献１には、テスト項目にキー情報を付加し、キー情報が付加された複数のテスト項目をテスト項目情報データベースとして保存しておき、保存されているテスト項目のキー情報をテストシナリオから参照できるように構成したＷｅｂアプリケーションテスト支援技術が記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００７−３３４８３７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、画面を直接接触操作するアプリケーションテストに於いては、従来、テストシナリオ内に、操作した事象と接触した画面上の座標とを記録しており、アプリケーションの画面変更に伴い、ボタン位置が変更された場合、座標が異なるため、テストシナリオをそのまま使用できず、再利用性が悪いという問題があった。また、変更すべきテストシナリオの抽出、および変更したボタン操作を行っている全シナリオの修正にも時間が掛かり、保守性も悪かった。
【００１３】
以上の現状に鑑み、本発明は、画面を直接接触操作するアプリケーションテストに於いて、作成したテストシナリオの再利用性、保守性を高めることができる回帰テスト自動実行システムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の課題を解決すべく、本発明は以下の構成を提供する。
請求項１に係る発明は、回帰テスト自動実行ツールを備えた回帰テスト自動実行装置と、
アプリケーションからの画像データ表示を行なうと共に、画面への接触操作を前記アプリケーションへ伝える画面表示装置を備えたアプリケーション表示装置とが通信自在に接続される回帰テスト自動実行システムであって、
前記回帰テスト自動実行装置は、リソース配置情報を保持せず、リソースＩＤを保持するテストシナリオを格納するテストシナリオＤＢと、
画面内容を格納する画面内容ＤＢと、
リソースＩＤに紐付けられたリソース配置情報を格納するリソース配置情報ＤＢと、
前記テストシナリオＤＢに格納されたテストシナリオのテスト単位を順次読み込む手段と、
読み込んだテスト単位にリソースＩＤが入っていた場合、そのリソースＩＤに紐付けされているリソース配置情報ＤＢの右下座標および左上座標を取得するために、リソース配置情報ＤＢからリソース配置情報を読み込む手段と、
読み込んだリソース配置情報のリソースＩＤが一致していれば、前記リソース配置情報ＤＢの右下座標および左上座標を取得し、右下座標の横軸と左下座標の横軸を足した値を２で割り、また右下座標の縦軸から左下座標の縦軸を足した値を２で割り、その値を中心座標とする手段と、
前記テストシナリオＤＢの操作内容、および前記中心座標をテスト項目とし、前記アプリケーション表示装置にテスト項目を要求する手段とを備えたことを特徴とする回帰テスト自動実行システムを提供するものである。
【００１５】
請求項２に係る発明は、前記回帰テスト自動実行装置は、前記アプリケーション表示装置にテスト項目を要求し、前記アプリケーション表示装置でテストシナリオの操作が再現されると、再現された画面の内容を前記画面内容ＤＢに記録する手段と、
前記画面内容ＤＢに予め記録された画面の内容と再現された画面の内容とを比較し、再現結果の成否を判定する手段と、
判定の結果、画面の内容に差異がない場合、テストシナリオ終了の判定を行い、次のテスト項目があれば次のテスト項目を再現し、次のテスト項目がなければ再現機能を終了する手段と、
判定の結果、画面の内容に差異がある場合、差異範囲と前記リソース配置情報ＤＢの右下座標および左上座標の範囲が一致しているか確認する手段と、
差異範囲が一致していない場合は次の差異範囲の有無を確認し、次の差異範囲がなければ次のテスト項目に移り、次の差異範囲があれば先の差異範囲と次のリソース配置情報ＤＢの右下座標および左上座標の範囲が一致しているか確認する手段と、
差異範囲が一致している場合は、前記リソース配置情報ＤＢの右下座標および左上座標が変更された可能性があると判断し、前記リソース配置情報ＤＢの「変更有無」を「有」に変更する手段と、
前記リソース配置情報ＤＢの「変更有無」が「有」の情報を変更対象のリソースとして列挙する手段とを備えたことを特徴とする請求項１記載の回帰テスト自動実行システムを提供するものである。
【発明の効果】
【００１６】
本発明によれば、画面を直接接触操作するアプリケーションテストに於いて、作成したテストシナリオの再利用性、保守性を高めることができる回帰テスト自動実行システムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施例１に係る回帰テスト自動実行システムの概略構成を示すシステム構成図である。
【図２】本発明の実施例１に係るテストシナリオＤＢの内部構成を示すデータ構造図である。
【図３】本発明の実施例１に係るリソース配置情報ＤＢの内部構成を示すデータ構造図である。
【図４】本発明の実施例１に係るリソース配置情報からテストシナリオの配置情報を取得する動作フローを示すフロー図である。
【図５】本発明の実施例１に係るテスト項目の再現時の画像差異から変更対象リソースを列挙する動作フローを示すフロー図である。
【図６】本発明の実施例１に係るテスト項目の再現時の画像差異から変更対象のリソース配置情報を求める例を示す説明図である。
【図７】従来例の回帰テスト自動実行システムの概略構成を示すシステム構成図である。
【図８】従来例のテストシナリオＤＢの内部構成を示すデータ構造図である。
【図９】従来例の画面の内容ＤＢの内部構成を示すデータ構造図である。
【発明を実施するための形態】
【００１８】
以下、実施例を示した図面を参照しつつ本発明の実施の形態を説明する。
尚、上記各手段は、コンピュータのＣＰＵが必要なコンピュータプログラムを読み込んで実行することにより実現される手段であり、そのフローチャート図が図４および図５である。
【実施例１】
【００１９】
図１は本発明の一実施形態として本発明が実施された回帰テスト自動実行システムの概略構成を示すシステム構成図である。この実施例の回帰テスト自動実行システムは、パーソナルコンピュータなどの回帰テスト自動実行装置４０１とカーナビゲーションシステムなどのアプリケーション表示装置４０２を有し、回帰テスト自動実行装置４０１とアプリケーション表示装置４０２はＵＳＢケーブルなどを介して情報をやり取りしている。
【００２０】
回帰テスト自動実行装置４０１はオペレーティングシステム上で実行されるアプリケーションプログラムとして実現される回帰テスト自動実行ツール４０３を備えるとともに、作成されたテストシナリオＤＢ４０４、画面内容ＤＢ４０５、およびリソース配置情報ＤＢ４０８が記録できる記憶装置などを持つ。回帰テスト自動実行ツール４０３にはテストシナリオＤＢ４０４のリソースＩＤとリソース配置情報ＤＢ４０８のリソースＩＤを紐付けして、リソース配置情報を求める配置情報変換処理部４０９を持つ。
アプリケーション表示装置４０２はオペレーティングシステム上で実行されるアプリケーション４０６を備えるとともに、アプリケーション４０６からの画像データ表示、および画面への接触操作をアプリケーション４０６へ伝える画面表示装置４０７などから構成されている。
【００２１】
このような構成で回帰テスト自動実行ツール４０３はテストシナリオＤＢ４０４のテスト項目、およびリソース配置情報ＤＢ４０８の配置情報に従って、テスト対象となるアプリケーション表示装置４０２にテスト項目を要求し、テスト項目を再現する。
【００２２】
図２は本発明の一実施形態として本発明が実施されたテストシナリオＤＢ４０４の内部構成を示すデータ構造図である。テストシナリオＤＢ４０４にはテスト項目毎にアプリケーション表示装置４０２で操作した操作内容５０２とリソース配置情報ＤＢ４０８のリソースを識別するためのリソースＩＤ５０３が保存されている。
【００２３】
このような情報を保存することにより、画面のボタン位置変更時、リソース配置情報を間接的に参照でき、変更対象のリソースを使用している全テストシナリオを修正せず、再利用性を高めることができる。
【００２４】
図３は本発明の一実施形態として本発明が実施されたリソース配置情報ＤＢ４０８の内部構成を示すデータ構造図である。リソース配置情報ＤＢ４０８にはリソースを識別するためのリソースＩＤ６０２、リソース名６０３、画像名６０４、リソース配置情報である右下座標６０５、左上座標６０６、および配置情報変更を管理する「変更有無」６０７が保存されている。
【００２５】
このような情報を保持することにより、各リソース毎の画面上の配置場所を局所的に管理できる。
尚、前記画面内容ＤＢ４０５には、上記画面内容ＤＢ（図９に於いて１０５）と同様に、画像名とファイル格納場所を示す画像キャプチャデータが保存されている。
【００２６】
図４は本発明の一実施形態としてリソース配置情報ＤＢ４０８からテストシナリオの座標を取得する動作フローを示すフロー図である。回帰テスト自動実行ツール４０３の再現機能の開始により、テストシナリオＤＢ４０４のテスト単位１つを読み込む（ステップ７１）。次にテストシナリオＤＢ４０４のリソースＩＤ５０３にリソースＩＤが入っていた場合、そのリソースＩＤに紐付けされているリソース配置情報ＤＢ４０８の右下座標６０５および左上座標６０６を取得するために、リソース配置情報ＤＢ４０８から１つのリソース配置情報を読み込み(ステップ７２)、テストシナリオＤＢ４０４のリソースＩＤ５０３とリソース配置情報ＤＢ４０８のリソースＩＤ６０２が一致しているか確認（判断）する（ステップ７３）。
【００２７】
リソース配置情報ＤＢ４０８のリソースＩＤ６０２が不一致であれば、次のリソース配置情報があるか確認（判断）し（ステップ７４）、次のリソースＩＤ６０２があれば次のリソースＩＤ６０２と一致確認を行い、次のリソースＩＤ６０２がなければ、テストシナリオＤＢ４０４の次のテスト単位があるか確認（判断）し（ステップ７９）、次のテスト単位があれば、ステップ７１以降を繰り返し、次のテスト単位がなければ、回帰テスト自動実行ツール４０３の再現機能を終了する。
【００２８】
リソース配置情報ＤＢ４０８のリソースＩＤ６０２が一致していれば、リソース配置情報ＤＢ４０８の右下座標６０５および左上座標６０６を取得し（ステップ７５）、右下座標６０５の横軸と左下座標６０６の横軸を足した値を２で割り、また右下座標６０５の縦軸から左下座標６０６の縦軸を足した値を２で割り、その値を中心座標とし（ステップ７６）、テストシナリオＤＢ４０４の操作内容５０２、および中心座標をテスト項目とし（ステップ７７）、回帰テスト自動実行ツール４０３にテスト項目を要求することにより（ステップ７８）、アプリケーション表示装置４０２でテストシナリオの操作が再現される。
【００２９】
このようにテストシナリオＤＢ４０４の操作内容５０２とリソース配置情報ＤＢ４０８の右下座標６０５および左上座標６０６から計算し、求めた中心座標を回帰テスト自動実行ツール４０３に要求することにより、従来のテストシナリオＤＢ（図７に於いて１０４）と同じテスト項目内容になり、アプリケーション表示装置４０２でテストシナリオの操作が再現される。また、テストシナリオの再利用性を高めることができる。
【００３０】
図５は本発明の一実施形態としてテスト項目再現時の画像差異から変更対象リソースを列挙する動作フローを示すフロー図である。回帰テスト自動実行ツール４０３の再現機能の開始により、テストシナリオＤＢ４０４のテスト単位１つを読み込む（ステップ８１）。このテストシナリオ読込（ステップ８１）では、図４に示すテストシナリオの配置情報を取得する処理を行う。次にテストシナリオ読込で求めたテスト項目を回帰テスト自動実行ツール４０３に要求することにより、アプリケーション表示装置４０２でテストシナリオの操作が再現される（ステップ８２）。この時、回帰テスト自動実行ツール４０３の再現機能により、再現された画面の内容を記録する。
【００３１】
次に回帰テスト自動実行ツール４０３の比較機能により、記録機能で記録された画面の内容と再現機能で再現された画面の内容を比較し、再現結果の成否を判定する（ステップ８３、ステップ８４）。画面の内容に差異がない場合、テストシナリオ終了の判定を行い（ステップ８５）、次のテスト項目があれば次のテスト項目を再現し（ステップ８２）、次のテスト項目がなければ回帰テスト自動実行ツール４０３の再現機能を終了する。再現結果の成否を判定し、画面の内容に差異がある場合（ステップ８４）、差異範囲とリソース配置情報ＤＢ４０８の右下座標６０５および左上座標６０６の範囲が一致しているか確認（判断）する（ステップ８６）。差異範囲が一致していない場合は次の差異範囲の有無を確認（判断）し（ステップ８７）、差異範囲がなければ次のテスト項目に移り、差異範囲があれば先の差異範囲と次のリソース配置情報ＤＢ４０８の右下座標６０５および左上座標６０６の範囲が一致しているか確認（判断）する（ステップ８６）。差異範囲が一致している場合は、リソース配置情報ＤＢ４０８の右下座標６０５および左上座標６０６が変更された可能性があると判断し、リソース配置情報ＤＢ４０８の「変更有無」６０７を「有」に変更する（ステップ８８）。
さらに、リソース配置情報ＤＢ４０８の「変更有無」６０７が「有」の情報を列挙（抽出）し（ステップ８９）、その右下座標６０５および左上座標６０６を見直し、必要であればリソース配置情報ＤＢ４０８の「変更有無」６０７が「有」の情報を右下座標６０５および左上座標６０６を変更後の座標に変更する（ステップ９０）。
【００３２】
このように、テスト項目の再現時の画像差異から位置変更されたリソース配置情報を列挙することにより、テストシナリオの保守性を高めることができる。
【００３３】
図６は本発明の一実施形態としてテスト項目の再現時の画像差異から変更対象のリソース配置情報を求める例を示す図である。説明図は記録機能で記録された画面の内容９０１、再現機能で再現された画面の内容９０２、および比較機能で比較された差異画像の内容９０３で構成されており、回帰テスト自動実行ツール４０３の比較機能より、記録機能で記録された画面の内容９０１と再現機能で再現された画面の内容９０２を比較し、比較した結果が比較機能で比較された差異画像の内容９０３である。
【００３４】
記録機能で記録された画面の内容９０１はボタン９０６、ボタン９０６の右下座標９０４、および左上座標９０５で構成されている。
再現機能で記録された画面の内容９０２はボタン９０９、ボタン９０９の右下座標９０７、および左上座標９０８で構成されている。
比較機能で比較された差異画像の内容９０３は画像差異部分である記録機能で記録された画面の内容９０１のボタン９０６、および再現機能で記録された画面の内容９０２のボタン９０９で構成されている。
【００３５】
このような状態に於いて、差異範囲はボタン９０６の右下座標９０４、および左上座標９０５と、ボタン９０９の右下座標９０７、および左上座標９０８であることから、この差異範囲と一致するリソース配置情報ＤＢ４０８の右下座標６０５、左上座標６０６と一致した座標範囲を変更対象のリソースとして列挙（抽出）する。
【符号の説明】
【００３６】
４０１  回帰テスト自動実行装置
４０２  アプリケーション表示装置
４０３  回帰テスト自動実行ツール
４０４  テストシナリオＤＢ
４０５  画面内容ＤＢ
４０６  アプリケーション
４０７  画面表示装置
４０８  リソース配置情報ＤＢ
５０２  操作内容
５０３，６０２  リソースＩＤ
６０５，９０４，９０７  右下座標
６０６，９０５，９０８  左上座標
６０７  「変更有無」
９０１，９０２  画面の内容
【図１】
2010165267.tif 000003
【図２】
2010165267.tif 000004
【図３】
2010165267.tif 000005
【図４】
2010165267.tif 000006
【図５】
2010165267.tif 000007
【図６】
2010165267.tif 000008
【図７】
2010165267.tif 000009
【図８】
2010165267.tif 000010
【図９】
2010165267.tif 000011