(57)【要約】【課題】仕様復元に要する時間を削減すること。【解決手段】類似遷移特定装置は、Ｗｅｂアプリケーションに関する画面の構造情報と、前記画面の構成要素を示す要素情報とを取得する取得手段と、前記取得手段により取得された前記構造情報と前記要素情報とに基づいて、前記画面から遷移可能な１以上の他の画面への画面遷移のうち、互いに類似するコンテンツが表示される他の画面への画面遷移を表す類似遷移を特定する特定手段と、前記特定手段により特定された前記類似遷移の中から選択した１以上の画面遷移を行って、前記Ｗｅｂアプリケーションの画面間の遷移に関する仕様情報を作成する作成手段と、を有することを特徴とする。【選択図】図７
2020173615.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂアプリケーションに関する画面の構造情報と、前記画面の構成要素を示す要素情報とを取得する取得手段と、
前記取得手段により取得された前記構造情報と前記要素情報とに基づいて、前記画面から遷移可能な１以上の他の画面への画面遷移のうち、互いに類似するコンテンツが表示される他の画面への画面遷移を表す類似遷移を特定する特定手段と、
前記特定手段により特定された前記類似遷移の中から選択した１以上の画面遷移を行って、前記Ｗｅｂアプリケーションの画面間の遷移に関する仕様情報を作成する作成手段と、
を有することを特徴とする類似遷移特定装置。
【請求項２】
前記画面はＨＴＭＬで構成されており、
前記特定手段は、
前記画面のＤＯＭ構造を表す前記構造情報に所定のＨＴＭＬタグが含まれるか否かを判定し、
前記構造情報に所定のＨＴＭＬタグが含まれると判定された場合、前記画面の構成要素のうち、前記他の画面への画面遷移の契機となる構成要素に関する前記要素情報が前記ＨＴＭＬタグに含まれるか否かを判定し、
前記他の画面への画面遷移の契機となる構成要素に関する前記要素情報が前記ＨＴＭＬタグに含まれると判定された場合、前記類似遷移を特定する、ことを特徴とする請求項１に記載の類似遷移特定装置。
【請求項３】
前記特定手段は、
前記画面から１以上の前記他の画面へ画面遷移するためのアドレス同士の類似度を算出し、
算出した類似度が所定の閾値以下の画面遷移を、互いに類似するコンテンツが表示される他の画面への画面遷移として同一グループに分類することで、前記類似遷移を特定する、ことを特徴とする請求項１又は２に記載の類似遷移特定装置。
【請求項４】
前記アドレスはＵＲＬであり、
前記特定手段は、
前記アドレスの最下層に指定された文字列同士の所定の距離を算出することで、前記アドレス同士の類似度を算出する、ことを特徴とする請求項３に記載の類似遷移特定装置。
【請求項５】
Ｗｅｂアプリケーションに関する画面の構造情報と、前記画面の構成要素を示す要素情報とを取得する取得手順と、
前記取得手順で取得された前記構造情報と前記要素情報とに基づいて、前記画面から遷移可能な１以上の他の画面への画面遷移のうち、互いに類似するコンテンツが表示される他の画面への画面遷移を表す類似遷移を特定する特定手順と、
前記特定手順で特定された前記類似遷移の中から選択した１以上の画面遷移を行って、前記Ｗｅｂアプリケーションの画面間の遷移に関する仕様情報を作成する作成手順と、
をコンピュータが実行することを特徴とする類似遷移特定方法。
【請求項６】
コンピュータを、請求項１乃至４の何れか一項に記載の類似遷移特定装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、類似遷移特定装置、類似遷移特定方法及びプログラムに関する。
【背景技術】
【０００２】
多様化する消費者ニーズに合ったサービスを迅速に提供するために、近年、Ｗｅｂアプリケーション等のソフトウェア開発を短いサイクルで実施し、頻繁にサービスをリリースする開発スタイルが増加している。これに伴い、ソフトウェアの動作の正常性を確認するソフトウェアテストの頻度も増加している。
【０００３】
ソフトウェアテストでは、テスト対象となるＷｅｂアプリケーションが、設計者の意図した通りに動作するかどうかを確認する機能テストが行われる。一般的に、機能テストの中には、画面遷移に関するテスト（以降、「画面遷移テスト」と表す。）も含まれる。画面遷移テストとは、「クライアントサイドからのインタラクションに対し、クライアントサイドに表示される画面から、仕様通りに実装されているかどうかを確認することができる機能に対するテスト」と定義される。
【０００４】
画面遷移テストでは、クライアントサイドからのインタラクションとして、画面にあるリンクやボタンをクリックしたり、入力フォームに適切な値を入力したりする等の人間の操作が求められる。また、これらの操作を全ての画面で繰り返し実施する必要がある。このため、機能テストの中でも画面遷移テストに膨大な時間を要しており、その削減が求められている。
【０００５】
画面遷移テストに要する時間を削減する方法として、テストケースを記述したスクリプト（テストスクリプト）を実行することで画面遷移テストを自動化する方法が知られている。しかし、テストスクリプトを作成するためにはＷｅｂアプリケーションの仕様を把握している必要があり、テストスクリプト作成の作業自体にも多くの時間を要する。一般的に、テストスクリプトによりテストを自動化する場合、３回以上のテストを実施しないとテスト時間の削減効果は表れないと言われている。
【０００６】
また、Ｗｅｂアプリケーションの既存機能に変更が発生した場合、作成したテストスクリプトが使用できなくなることがあり、仕様変更が発生するたびにテストスクリプトを作り直す必要がある。これに対して、テスト対象のＷｅｂアプリケーションを解析することで仕様情報を復元し、復元した仕様情報からテストスクリプトを自動生成する技術（リバースベースのテストスクリプト自動生成技術）が知られている（特許文献１、非特許文献１）。この技術を以降では、「リバースベーステスト技術」と表す。
【０００７】
リバースベーステスト技術とは、テスト対象となるＷｅｂアプリケーションのソースコードと実際の画面とを解析しながら仕様をリバースし、網羅的なテストケースを生成することで、テストスクリプト自動で生成する技術である。リバースベーステスト技術により、人手によるテストスクリプト作成作業を必要とせずに、画面遷移テストの自動化を実現することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１８−１１６４９７号公報
【非特許文献】
【０００９】
【非特許文献１】倉林 利行, 伊山 宗吉, 切貫 弘之, 丹野 治門, "画面操作を伴うテストにおけるテストスクリプトの自動生成手法", ソフトウェアエンジニアリングシンポジウム2017論文集 pp. 260-264, 2017年9月.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ここで、リバースベーステスト技術では、Ｗｅｂアプリケーションの画面に含まれる全ての画面要素（例えば、リンクやボタン等の操作可能な対象）を機械的かつ網羅的に自動操作しながら仕様を復元していくため、画面遷移テストが必ずしも必要ではない画面遷移までも仕様として復元してしまい、解析に時間を要する場合がある。
【００１１】
網羅的な画面遷移テストが不要な場合とは、例えば、類似コンテンツへの画面遷移をテストする場合等である。類似コンテンツへの画面遷移とは、例えば、会員一覧画面から会員詳細画面に遷移する場合、商品一覧画面から商品詳細画面に遷移する場合、ニュース一覧画面からニュース記事画面に遷移する場合等が挙げられる。類似コンテンツへの画面遷移では、一般的に、図１に示すように、各コンテンツの詳細ページへ遷移するためのリンクやボタンをメインページに配置する場合が多い。
【００１２】
このような類似コンテンツへの画面遷移を持つＷｅｂアプリケーションでは網羅的な画面遷移テストは不要とされることがある。例えば、図１に示す例の場合、メインページから詳細ページ１への画面遷移、メインページから詳細ページ２への画面遷移、・・・、メインページから詳細ページＮへの画面遷移の全てを網羅するテストは不要であり、いずれか１つの画面遷移のテストのみで十分とされることがある。これは、例えば、メインページから各コンテンツの詳細ページへ遷移する部分の実装については同じソースコードをインポートして再利用している場合が多く、１つのコンテンツの詳細ページへの画面遷移をテストするだけで、他のコンテンツの詳細ページへの画面遷移についても機能性を同時に担保できるためである。
【００１３】
このため、特許文献１及び非特許文献１では、遷移先の画面が類似する画面であるかどうかを画面構造から判定し、仕様を復元している。特許文献１及び非特許文献１に記載されている技術によれば、例えば、図１に示す例の場合、メインページ、詳細ページ１、詳細ページ２、・・・、詳細ページＮの全ての画面の画面構造を比較し、詳細ページ１から詳細ページＮまでの１つの仕様として復元することができる。このため、特許文献１及び非特許文献１に記載されている技術を用いることで、リバースベーステスト技術の「画面遷移テストが必ずしも必要ではない画面遷移までも仕様として復元してしまう」との課題を解決することができる。
【００１４】
しかしながら、特許文献１及び非特許文献１に記載されている技術では、実際に画面を遷移させてＤＯＭ（Document Object Model）構造を取得し、取得したＤＯＭ構造を用いて画面構造を比較している。このため、リバースベーステスト技術の「解析に時間を要する」との課題は解決できておらず、依然として仕様復元に多くの時間を要する場合がある。
【００１５】
本発明は、上記の点に鑑みてなされたもので、仕様復元に要する時間を削減することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明の実施の形態は、Ｗｅｂアプリケーションに関する画面の構造情報と、前記画面の構成要素を示す要素情報とを取得する取得手段と、前記取得手段により取得された前記構造情報と前記要素情報とに基づいて、前記画面から遷移可能な１以上の他の画面への画面遷移のうち、互いに類似するコンテンツが表示される他の画面への画面遷移を表す類似遷移を特定する特定手段と、前記特定手段により特定された前記類似遷移の中から選択した１以上の画面遷移を行って、前記Ｗｅｂアプリケーションの画面間の遷移に関する仕様情報を作成する作成手段と、を有することを特徴とする。
【発明の効果】
【００１７】
仕様復元に要する時間を削減することができる。
【図面の簡単な説明】
【００１８】
【図１】類似コンテンツへの画面遷移の一例を説明するための図である。
【図２】類似コンテンツのＵＲＬの一例を説明するための図である。
【図３】類似コンテンツへの画面遷移を実現するＨＴＭＬの一例を説明するための図である。
【図４】本発明の実施の形態におけるシステムの全体構成の一例を示す図である。
【図５】本発明の実施の形態におけるクライアント装置のハードウェア構成の一例を示す図である。
【図６】本発明の実施の形態におけるクライアント装置の機能構成の一例を示す図である。
【図７】本発明の実施の形態におけるクライアント装置が実行する処理手順の一例を説明するためのフローチャートである。
【図８】類似遷移の特定手順の一例を説明するためのフローチャートである。
【図９】距離の算出結果の一例を説明するための図である。
【図１０】画面遷移及び仕様復元手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について説明する。上述したように、網羅的な画面遷移テストが不要な場合とは、一般的に、コンテンツ一覧画面からコンテンツ詳細画面に画面遷移する等の「類似コンテンツへの画面遷移」が存在する場合である。本発明の実施の形態では、画面遷移させずに類似コンテンツへの画面遷移であるか否かを特定することで、仕様復元に要する時間を削減する。そのために、本発明の実施の形態では、テスト対象のＷｅｂアプリケーションの各画面に対して、以下の手順１〜手順４を行う。
【００２０】
（手順１）仕様復元の対象となる画面のＨＴＭＬ（HyperText Markup Language）のＤＯＭ構造を取得する。
【００２１】
（手順２）リンクやボタン等の画面遷移の契機となる画面要素の情報（例えば、遷移先ＵＲＬ（Uniform Resource Locator）やラベル等の属性情報）を取得する。なお、遷移先ＵＲＬとは、遷移先画面のＵＲＬのことである。
【００２２】
（手順３）リンクやボタン等の画面要素に対する操作を契機とする遷移先画面が類似コンテンツの画面であるか否かを特定する。
【００２３】
（手順４）特定結果に基づいて、必要な仕様復元を実施する（つまり、例えば、１又は数個の類似コンテンツへの画面遷移から仕様復元を実施する。）。
【００２４】
上記の手順３では、実際の画面遷移はせずに、手順１及び手順２で取得した情報に基づいて、遷移先画面が類似コンテンツの画面であるか否かを特定する。この手順３（類似コンテンツへの画面遷移の特定）の詳細について以降で説明する。なお、以降では、類似コンテンツへの画面遷移を「類似遷移」とも表す。
【００２５】
＜類似遷移の特定の詳細＞
ここで、遷移先画面が類似コンテンツの画面であるか否かを特定する場合には、一般的に、以下の課題１及び課題２の２つの課題を解決する必要がある。
【００２６】
（課題１）遷移先画面が類似コンテンツの画面であるか否かを特定するためには、リンクやボタン等を実際に操作して画面を遷移させ、遷移先画面を確認する必要がある。
【００２７】
（課題２）画面を実際に遷移させたとしても、遷移先画面が他の遷移先画面と類似するコンテンツ（同一のコンテンツも含む）を持つ画面であるか否かを機械的に判定することは困難である。
【００２８】
本発明の実施の形態では、仕様復元に要する時間の削減を目的としているため、実際に画面遷移させることで得られる情報は用いずに、Ｗｅｂアプリケーションで必ず利用されるＵＲＬとＨＴＭＬが持つ特徴を利用することで、上記の課題１及び課題２を解決する。これにより、仕様復元に時間を掛けずに、必要な仕様（例えば、必要最小限の仕様）を復元することができるようになる。
【００２９】
ＵＲＬではプロトコル、ホスト名、ドメイン名等がスラッシュ（／）区切りで階層的に構成されており、最下層にはファイル名等のコンテンツを特定する名称が指定されている。したがって、類似コンテンツへ遷移する場合には、類似するＵＲＬへの遷移が指定されていると言える。例えば、類似コンテンツの一例としてニュース記事を考えた場合、図２に示すように、各ニュース記事の詳細ページのＵＲＬは、「http://…/…/0001.html」、「http://…/…/0002.html」、・・・、「http://…/…/000N.html」等のように、各ＵＲＬの最下層のファイル名には記事番号（0001や0002等）が含まれている。このように、類似コンテンツの画面へ遷移するＵＲＬ（遷移先ＵＲＬ）同士は互いに類似する場合が多いと考えられる。
【００３０】
また、ＨＴＭＬはＷｅｂページを構成するためのマークアップ言語であり、タグ（又はＨＴＭＬタグ）と呼ばれる構成要素を組み合わせることで画面を生成している。タグの中には、ｔａｂｌｅタグやｕｌタグ、ｏｌタグ、ｄｌタグのように、画面要素を整形して表示させるためのタグが存在する。類似コンテンツへの画面遷移を持つ画面は、一般的に、表示を見易くするために、これらのタグを使って画面を構成する場合が多い。例えば、図３では、コンテンツ１〜コンテンツＮへそれぞれ画面遷移するための各リンクが、＜ｕｌ＞タグで整形されている。このように、類似コンテンツへ遷移するためのリンクやボタン等の画面要素は、ｔａｂｌｅタグやｕｌタグ、ｏｌタグ、ｄｌタグ等のタグ（以降、「整形タグ」とも表す。）で整形して表示される場合が多いと考えられる。
【００３１】
以上で説明したＵＲＬの特徴とＨＴＭＬの特徴とを利用して、本発明の実施の形態では、以下の詳細手順３−１〜詳細手順３−５により、上記の課題１及び課題２を解決する。
【００３２】
（詳細手順３−１）仕様復元の対象となる画面のＤＯＭ構造に整形タグが存在するか否かを判定する。
【００３３】
（詳細手順３−２）当該ＤＯＭ構造に整形タグが存在する場合、整形タグ毎に、画面遷移の契機となる画面要素（リンクやボタン等）がタグ内に存在するか否かを判定する。
【００３４】
（詳細手順３−３）整形タグ内に画面遷移の契機となる画面要素が存在する場合、これらの画面要素（リンクやボタン等）に設定されている遷移先ＵＲＬを取得する。
【００３５】
（詳細手順３−４）遷移先ＵＲＬ同士の類似度を算出する。すなわち、複数の遷移先ＵＲＬの各々から最下層の文字列を抽出した上で、抽出した文字列同士の類似度を算出する。類似度の算出には、例えば、レーベンシュタイン距離等の文字列同士の距離算出手法を用いる。
【００３６】
（詳細手順３−５）類似度が閾値以下である遷移先ＵＲＬに対応する画面要素（リンクやボタン等）同士をグループ化し、同一グループに属する画面要素から遷移する遷移先画面を類似コンテンツの画面とする。一方で、類似度が閾値より大きい遷移先ＵＲＬに対応する画面要素から遷移する遷移先画面は、類似するコンテンツが存在しない、独立したコンテンツの画面とする。なお、ＵＲＬの文字列長や類似の具合はＷｅｂアプリケーション毎に千差万別であるため、上記の閾値は固定とせずに、テスト対象のＷｅｂアプリケーションに応じた任意の値が適宜設定される。
【００３７】
＜全体構成＞
次に、上記の手順１〜手順４を実行して仕様復元が可能なシステムについて、図４を参照しながら説明する。図４は、本発明の実施の形態におけるシステムの全体構成の一例を示す図である。
【００３８】
図４に示すように、本発明の実施の形態におけるシステムには、クライアント装置１０と、サーバ装置２０とが含まれる。クライアント装置１０とサーバ装置２０とは、例えば、ＬＡＮ（Local Area Network）やインターネット等の任意のネットワークＮを介して通信可能に接続される。
【００３９】
サーバ装置２０は、Ｗｅｂアプリケーションを提供するコンピュータ又はコンピュータシステムである。サーバ装置２０によって提供されるＷｅｂアプリケーションが、テスト対象となるソフトウェア（アプリケーション）である。
【００４０】
クライアント装置１０は、サーバ装置２０によって提供されるＷｅｂアプリケーションのテストを支援する装置である。なお、クライアント装置１０としてはＰＣ（パーソナルコンピュータ）等が用いられるが、これに限られず、例えば、スマートフォンやタブレット端末等が用いられてもよい。
【００４１】
なお、図４に示すシステムの全体構成は一例であって、他の構成であってもよい。例えば、本発明の実施の形態におけるシステムには、複数台のクライアント装置１０や複数台のサーバ装置２０が含まれていてもよい。
【００４２】
＜ハードウェア構成＞
次に、本発明の実施の形態におけるクライアント装置１０のハードウェア構成について、図５を参照しながら説明する。図５は、本発明の実施の形態におけるクライアント装置１０のハードウェア構成の一例を示す図である。
【００４３】
図５に示すように、本発明の実施の形態におけるクライアント装置１０は、ハードウェアとして、入力装置１１と、表示装置１２と、メモリ装置１３と、プロセッサ１４と、外部Ｉ／Ｆ１５と、通信Ｉ／Ｆ１６と、補助記憶装置１７とを有する。これら各ハードウェアは、それぞれがバス１８を介して通信可能に接続されている。
【００４４】
入力装置１１は、例えばキーボードやマウス、タッチパネル等である。表示装置１２は、例えばディスプレイ等である。
【００４５】
メモリ装置１３は、例えばＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等である。プロセッサ１４は、例えばＣＰＵ（Central Processing Unit）等である。
【００４６】
外部Ｉ／Ｆ１５は、外部装置とのインタフェースである。外部装置には、記録媒体１５ａ等がある。記録媒体１５ａとしては、例えば、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００４７】
通信Ｉ／Ｆ１６は、クライアント装置１０をネットワークＮに接続するためのインタフェースである。クライアント装置１０は、通信Ｉ／Ｆ１６を介して、サーバ装置２０との間でデータ通信を行うことができる。
【００４８】
補助記憶装置１７は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等である。
【００４９】
本発明の実施の形態におけるクライアント装置１０は、図５に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図５では、本発明の実施の形態におけるクライアント装置１０が１台のコンピュータで実現されている場合を示したが、これに限られず、複数台のコンピュータで実現されていてもよい。また、１台のコンピュータには、複数のプロセッサ１４や複数のメモリ装置１３、複数の補助記憶装置１７等が含まれていてもよい。
【００５０】
＜機能構成＞
次に、本発明の実施の形態におけるクライアント装置１０の機能構成について、図６を参照しながら説明する。図６は、本発明の実施の形態におけるクライアント装置１０の機能構成の一例を示す図である。
【００５１】
図６に示すように、本発明の実施の形態におけるクライアント装置１０は、機能部として、類似遷移特定部１０１と、画面自動操作部１０２と、仕様復元部１０３とを有する。これらの各機能部は、例えば、クライアント装置１０にインストールされた１以上のプログラムがプロセッサ１４に実行させる処理により実現される。
【００５２】
類似遷移特定部１０１は、仕様復元の対象となる画面のＤＯＭ構造と、画面遷移の契機となる画面要素の情報とを取得する。そして、類似遷移特定部１０１は、取得した情報に基づいて、当該画面の遷移先画面の中から類似コンテンツの画面を特定する。すなわち、類似遷移特定部１０１は、複数の画面遷移の中から類似遷移を特定する。
【００５３】
画面自動操作部１０２は、テスト対象のＷｅｂアプリケーションで仕様復元の対象となる画面（例えばトップページ等）のＵＲＬを示す初期ＵＲＬにアクセスする。
【００５４】
また、画面自動操作部１０２は、類似遷移特定部１０１によって特定された類似コンテンツの画面への遷移先ＵＲＬの中から１つ（又は数個）のＵＲＬを選択する。そして、画面自動操作部１０２は、選択したＵＲＬに対応する画面要素（リンクやボタン等）を操作する。これにより、類似コンテンツの画面へ画面遷移される。
【００５５】
仕様復元部１０３は、画面遷移結果から仕様を復元し、仕様情報を作成する。例えば、仕様復元部１０３は、画面自動操作部１０２によって操作された画面要素と、この操作によって遷移する遷移先画面のＵＲＬとを対応付けた情報を仕様情報として作成する。
【００５６】
＜処理手順＞
以降では、本発明の実施の形態におけるクライアント装置１０が実行する処理の手順について、図７を参照しながら説明する。図７は、本発明の実施の形態におけるクライアント装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【００５７】
ステップＳ１０１において、画面自動操作部１０２は、初期ＵＲＬにアクセスする。これにより、初期ＵＲＬに対応する画面（ＨＴＭＬ）が取得され、例えば表示装置１２上に当該画面が表示される。なお、初期ＵＲＬは、例えば、ユーザによって入力されてもよいし、補助記憶装置１７等に予め記憶されていてもよい。
【００５８】
続くステップＳ１０２〜ステップＳ１０９は、初期ＵＲＬに対応する画面と、この画面を起点として実際に画面遷移した全ての画面とに対して繰り返し実行される。これらのステップＳ１０２〜ステップＳ１０９では、上記の手順１〜手順４が実施される。以降では、ステップＳ１０２〜ステップＳ１０９の間で処理対象（つまり、仕様復元の対象）とされている画面を「対象画面」と表す。
【００５９】
ステップＳ１０３において、類似遷移特定部１０１は、対象画面のＨＴＭＬのＤＯＭ構造を取得する。
【００６０】
ステップＳ１０４において、類似遷移特定部１０１は、対象画面で画面遷移の契機となる画面要素の情報（例えば、遷移先ＵＲＬやラベル等の属性情報）を取得する。なお、以降では、本ステップで取得された情報を「画面要素情報」と表す。
【００６１】
ステップＳ１０５において、類似遷移特定部１０１は、上記のステップＳ１０３で取得したＤＯＭ構造内に整形タグが存在するか否かを判定する。
【００６２】
ＤＯＭ構造内に整形タグが存在しない場合（ステップＳ１０５でＮＯ）は、ステップＳ１０９に進む。この場合、対象画面から実際に遷移した画面があれば、実際に遷移した画面（又は、実際に遷移した画面のうちの１つの画面）を対象画面としてステップＳ１０２〜ステップＳ１０９が実行される。一方で、ＤＯＭ構造内に整形タグが存在する場合（ステップＳ１０５でＹＥＳ）、ステップＳ１０６に進む。
【００６３】
ステップＳ１０６において、類似遷移特定部１０１は、整形タグ内に画面遷移の契機となる画面要素（例えば、リンクやボタン等）が存在するか否かを判定する。
【００６４】
整形タグ内に画面遷移の契機となる画面要素が存在しない場合（ステップＳ１０６でＮＯ）、ステップＳ１０９に進む。この場合、上記と同様に、対象画面から実際に遷移した画面があれば、実際に遷移した画面（又は、実際に遷移した画面のうちの１つの画面）を対象画面としてステップＳ１０２〜ステップＳ１０９が実行される。一方で、整形タグ内に画面遷移の契機となる画面要素が存在する場合（ステップＳ１０６でＹＥＳ）、ステップＳ１０７に進む。なお、以降では、画面遷移の契機となる画面要素を「遷移契機要素」とも表す。
【００６５】
ステップＳ１０７では、類似遷移の特定手順が実行される。類似遷移の特定手順では、遷移先ＵＲＬの操作（又は、当該遷移先ＵＲＬに対応するリンクやボタン等の画面要素の操作）によって遷移するコンテンツへの画面遷移の中から類似遷移が特定される。類似遷移の特定手順の詳細については後述する。
【００６６】
ステップＳ１０８では、画面遷移及び仕様復元手順が実行される。画面遷移及び仕様復元手順では、実際に画面遷移を行って、仕様復元が行われる。画面遷移及び仕様復元手順の詳細については後述する。
【００６７】
続いて、上記のステップＳ１０７における類似遷移の特定手順について、図８を参照しながら説明する。図８は、類似遷移の特定手順の一例を説明するためのフローチャートである。
【００６８】
ステップＳ２０１において、類似遷移特定部１０１は、整形タグ内の遷移契機要素（例えば、リンクやボタン等）の遷移先ＵＲＬを画面要素情報から取得する。
【００６９】
ステップＳ２０２において、類似遷移特定部１０１は、遷移先ＵＲＬ同士の距離を算出する。すなわち、類似遷移特定部１０１は、遷移先ＵＲＬの最下層の文字列を用いて、これらの文字列同士の距離を算出する。上述したように、距離としては、例えば、レーベンシュタイン距離等を用いることができる。
【００７０】
ここで、レーベンシュタイン距離を用いて距離を算出した一例を図９に示す。図９では、４つのコンテンツへの遷移先ＵＲＬの最下層の文字列がそれぞれ「001」、「002」、「003A」、「aiueo」である場合の距離を示している。例えば、文字列「001」と「001」とのレーベンシュタイン距離の算出結果は「0」である。同様に、文字列「001」と「002」とのレーベンシュタイン距離の算出結果は「0.333」である。同様に、文字列「001」と「003A」とのレーベンシュタイン距離の算出結果は「0.5」である。その他についても同様である。
【００７１】
ステップＳ２０３において、類似遷移特定部１０１は、距離が所定の閾値以下の遷移先ＵＲＬ同士をグループ化し、同一グループに属する遷移先ＵＲＬに基づく画面遷移を類似遷移とする。すなわち、同一グループに属する遷移先ＵＲＬの操作（又は、当該遷移先ＵＲＬに対応するリンクやボタン等の画面要素の操作）によって遷移するコンテンツへの画面遷移を類似遷移とする。なお、遷移先ＵＲＬと遷移契機要素とは１対１に対応しているため、遷移先ＵＲＬがグループ化されることで、遷移契機要素（つまり、リンクやボタン等の画面要素）も同様にグループ化される。
【００７２】
例えば、閾値が「０．４」である場合、図９に示す例では、コンテンツ１への遷移先ＵＲＬと、コンテンツ２への遷移先ＵＲＬとが同一のグループに属することになる。したがって、この場合、後述する仕様復元で画面遷移のために実際に操作対象となるＵＲＬは、「コンテンツ１への遷移先ＵＲＬ又はコンテンツ２への遷移先ＵＲＬ」、「コンテンツ３への遷移先ＵＲＬ」、「コンテンツ４への遷移先ＵＲＬ」の３つとなる。なお、この場合、各遷移先ＵＲＬが３つのグループに分類されたことになる。
【００７３】
又は、例えば、閾値が「０．６」である場合、図９に示す例では、コンテンツ１への遷移先ＵＲＬと、コンテンツ２への遷移先ＵＲＬと、コンテンツ３への遷移先ＵＲＬとが同一のグループに属することになる。したがって、この場合、後述する仕様復元で画面遷移のために実際に操作対象となるＵＲＬは、「コンテンツ１への遷移先ＵＲＬ、コンテンツ２への遷移先ＵＲＬ、又はコンテンツ３への遷移先ＵＲＬのいずれか１つ」、「コンテンツ４への遷移先ＵＲＬ」の２つとなる。なお、この場合、各遷移先ＵＲＬが２つのグループに分類されたことになる。
【００７４】
なお、本発明の実施の形態では閾値を１つ用いたが、これに限られず、複数の閾値を用いられてもよい。例えば、閾値「０．４」及び閾値「０．６」の２つの閾値を用いて、距離が「０．４」以下の第１のグループと、距離が「０．４」より大で、かつ、「０．６」以下の第２のグループと、距離が「０．６」より大の第３のグループとに遷移先ＵＲＬをグループ化してもよい。
【００７５】
続いて、上記のステップＳ１０８における画面遷移及び仕様復元手順について、図１０を参照しながら説明する。図１０は、画面遷移及び仕様復元手順の一例を説明するためのフローチャートである。
【００７６】
ステップＳ３０１〜ステップＳ３０４は、上記のステップＳ２０３で各遷移先ＵＲＬが分類された各グループに対して繰り返し実行される。以降では、ステップＳ３０１〜ステップＳ３０４の間で処理対象とされているグループを「対象グループ」と表す。
【００７７】
ステップＳ３０２において、画面自動操作部１０２は、対象グループに属する遷移先ＵＲＬを１つ（又は数個）選択し、選択した遷移先ＵＲＬにアクセスする。これにより、遷移先ＵＲＬに対応する画面へと画面遷移される。
【００７８】
なお、画面自動操作部１０２は、例えば、対象グループに属する遷移先ＵＲＬを数個選択した場合、選択した遷移先ＵＲＬのそれぞれにアクセスする。
【００７９】
ステップＳ３０３において、仕様復元部１０３は、画面遷移結果から仕様を復元し、仕様情報を作成する。上述したように、仕様復元部１０３は、例えば、上記のステップＳ３０２でアクセスされた遷移先ＵＲＬと、この遷移先ＵＲＬに対応する画面要素とを対応付けた情報を仕様情報（つまり、仕様情報の１つである画面遷移情報）として作成する。
【００８０】
＜まとめ＞
以上のように、本発明の実施の形態におけるクライアント装置１０は、類似コンテンツへの画面遷移をグループ化した上で、このグループに属する１つ（又は数個）の画面遷移の仕様を復元する。また、このとき、本発明の実施の形態におけるクライアント装置１０は、実際の画面遷移を行わずに、ＨＴＭＬの特徴やＵＲＬの特徴を用いて、類似コンテンツへの画面遷移をグループ化する。
【００８１】
このため、本発明の実施の形態におけるクライアント装置１０は、必要最小限の画面遷移で仕様を復元することができ（言い換えれば、不要な仕様復元を削減することができ）、例えば、特許文献１及び非特許文献１に記載されている技術と比較して、仕様復元に要する時間を削減することができる。また、類似コンテンツへの画面遷移の中から１つ（又は数個）の画面遷移のみを仕様復元に用いるため、類似コンテンツへの不要な画面遷移が削減され、Ｗｅｂアプリケーションの実際の設計に沿った仕様を復元することが可能となる。
【００８２】
なお、本発明の実施の形態は、例えば、特許文献１や非特許文献１に記載されたリバースベーステスト技術に対して適用可能である。ただし、本発明の実施の形態の適用範囲はリバースベーステスト技術に限られず、Ｗｅｂアプリケーションの仕様復元が必要な技術であれば任意の技術に対して適用可能である。
【００８３】
本発明は、具体的に開示された上記の実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００８４】
１０        クライアント装置
２０        サーバ装置
１０１      類似遷移特定部
１０２      画面自動操作部
１０３      仕様復元部
【図１】
2020173615.tif 000003
【図２】
2020173615.tif 000004
【図３】
2020173615.tif 000005
【図４】
2020173615.tif 000006
【図５】
2020173615.tif 000007
【図６】
2020173615.tif 000008
【図７】
2020173615.tif 000009
【図８】
2020173615.tif 000010
【図９】
2020173615.tif 000011
【図１０】
2020173615.tif 000012