JP2020173615A - 類似遷移特定装置、類似遷移特定方法及びプログラム - Google Patents
類似遷移特定装置、類似遷移特定方法及びプログラム Download PDFInfo
- Publication number
- JP2020173615A JP2020173615A JP2019075121A JP2019075121A JP2020173615A JP 2020173615 A JP2020173615 A JP 2020173615A JP 2019075121 A JP2019075121 A JP 2019075121A JP 2019075121 A JP2019075121 A JP 2019075121A JP 2020173615 A JP2020173615 A JP 2020173615A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- transition
- similar
- transitions
- screens
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/134—Hyperlinking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】仕様復元に要する時間を削減すること。【解決手段】類似遷移特定装置は、Webアプリケーションに関する画面の構造情報と、前記画面の構成要素を示す要素情報とを取得する取得手段と、前記取得手段により取得された前記構造情報と前記要素情報とに基づいて、前記画面から遷移可能な1以上の他の画面への画面遷移のうち、互いに類似するコンテンツが表示される他の画面への画面遷移を表す類似遷移を特定する特定手段と、前記特定手段により特定された前記類似遷移の中から選択した1以上の画面遷移を行って、前記Webアプリケーションの画面間の遷移に関する仕様情報を作成する作成手段と、を有することを特徴とする。【選択図】図7
Description
本発明は、類似遷移特定装置、類似遷移特定方法及びプログラムに関する。
多様化する消費者ニーズに合ったサービスを迅速に提供するために、近年、Webアプリケーション等のソフトウェア開発を短いサイクルで実施し、頻繁にサービスをリリースする開発スタイルが増加している。これに伴い、ソフトウェアの動作の正常性を確認するソフトウェアテストの頻度も増加している。
ソフトウェアテストでは、テスト対象となるWebアプリケーションが、設計者の意図した通りに動作するかどうかを確認する機能テストが行われる。一般的に、機能テストの中には、画面遷移に関するテスト(以降、「画面遷移テスト」と表す。)も含まれる。画面遷移テストとは、「クライアントサイドからのインタラクションに対し、クライアントサイドに表示される画面から、仕様通りに実装されているかどうかを確認することができる機能に対するテスト」と定義される。
画面遷移テストでは、クライアントサイドからのインタラクションとして、画面にあるリンクやボタンをクリックしたり、入力フォームに適切な値を入力したりする等の人間の操作が求められる。また、これらの操作を全ての画面で繰り返し実施する必要がある。このため、機能テストの中でも画面遷移テストに膨大な時間を要しており、その削減が求められている。
画面遷移テストに要する時間を削減する方法として、テストケースを記述したスクリプト(テストスクリプト)を実行することで画面遷移テストを自動化する方法が知られている。しかし、テストスクリプトを作成するためにはWebアプリケーションの仕様を把握している必要があり、テストスクリプト作成の作業自体にも多くの時間を要する。一般的に、テストスクリプトによりテストを自動化する場合、3回以上のテストを実施しないとテスト時間の削減効果は表れないと言われている。
また、Webアプリケーションの既存機能に変更が発生した場合、作成したテストスクリプトが使用できなくなることがあり、仕様変更が発生するたびにテストスクリプトを作り直す必要がある。これに対して、テスト対象のWebアプリケーションを解析することで仕様情報を復元し、復元した仕様情報からテストスクリプトを自動生成する技術(リバースベースのテストスクリプト自動生成技術)が知られている(特許文献1、非特許文献1)。この技術を以降では、「リバースベーステスト技術」と表す。
リバースベーステスト技術とは、テスト対象となるWebアプリケーションのソースコードと実際の画面とを解析しながら仕様をリバースし、網羅的なテストケースを生成することで、テストスクリプト自動で生成する技術である。リバースベーステスト技術により、人手によるテストスクリプト作成作業を必要とせずに、画面遷移テストの自動化を実現することができる。
倉林 利行, 伊山 宗吉, 切貫 弘之, 丹野 治門, "画面操作を伴うテストにおけるテストスクリプトの自動生成手法", ソフトウェアエンジニアリングシンポジウム2017論文集 pp. 260-264, 2017年9月.
ここで、リバースベーステスト技術では、Webアプリケーションの画面に含まれる全ての画面要素(例えば、リンクやボタン等の操作可能な対象)を機械的かつ網羅的に自動操作しながら仕様を復元していくため、画面遷移テストが必ずしも必要ではない画面遷移までも仕様として復元してしまい、解析に時間を要する場合がある。
網羅的な画面遷移テストが不要な場合とは、例えば、類似コンテンツへの画面遷移をテストする場合等である。類似コンテンツへの画面遷移とは、例えば、会員一覧画面から会員詳細画面に遷移する場合、商品一覧画面から商品詳細画面に遷移する場合、ニュース一覧画面からニュース記事画面に遷移する場合等が挙げられる。類似コンテンツへの画面遷移では、一般的に、図1に示すように、各コンテンツの詳細ページへ遷移するためのリンクやボタンをメインページに配置する場合が多い。
このような類似コンテンツへの画面遷移を持つWebアプリケーションでは網羅的な画面遷移テストは不要とされることがある。例えば、図1に示す例の場合、メインページから詳細ページ1への画面遷移、メインページから詳細ページ2への画面遷移、・・・、メインページから詳細ページNへの画面遷移の全てを網羅するテストは不要であり、いずれか1つの画面遷移のテストのみで十分とされることがある。これは、例えば、メインページから各コンテンツの詳細ページへ遷移する部分の実装については同じソースコードをインポートして再利用している場合が多く、1つのコンテンツの詳細ページへの画面遷移をテストするだけで、他のコンテンツの詳細ページへの画面遷移についても機能性を同時に担保できるためである。
このため、特許文献1及び非特許文献1では、遷移先の画面が類似する画面であるかどうかを画面構造から判定し、仕様を復元している。特許文献1及び非特許文献1に記載されている技術によれば、例えば、図1に示す例の場合、メインページ、詳細ページ1、詳細ページ2、・・・、詳細ページNの全ての画面の画面構造を比較し、詳細ページ1から詳細ページNまでの1つの仕様として復元することができる。このため、特許文献1及び非特許文献1に記載されている技術を用いることで、リバースベーステスト技術の「画面遷移テストが必ずしも必要ではない画面遷移までも仕様として復元してしまう」との課題を解決することができる。
しかしながら、特許文献1及び非特許文献1に記載されている技術では、実際に画面を遷移させてDOM(Document Object Model)構造を取得し、取得したDOM構造を用いて画面構造を比較している。このため、リバースベーステスト技術の「解析に時間を要する」との課題は解決できておらず、依然として仕様復元に多くの時間を要する場合がある。
本発明は、上記の点に鑑みてなされたもので、仕様復元に要する時間を削減することを目的とする。
上記目的を達成するため、本発明の実施の形態は、Webアプリケーションに関する画面の構造情報と、前記画面の構成要素を示す要素情報とを取得する取得手段と、前記取得手段により取得された前記構造情報と前記要素情報とに基づいて、前記画面から遷移可能な1以上の他の画面への画面遷移のうち、互いに類似するコンテンツが表示される他の画面への画面遷移を表す類似遷移を特定する特定手段と、前記特定手段により特定された前記類似遷移の中から選択した1以上の画面遷移を行って、前記Webアプリケーションの画面間の遷移に関する仕様情報を作成する作成手段と、を有することを特徴とする。
仕様復元に要する時間を削減することができる。
以下、本発明の実施の形態について説明する。上述したように、網羅的な画面遷移テストが不要な場合とは、一般的に、コンテンツ一覧画面からコンテンツ詳細画面に画面遷移する等の「類似コンテンツへの画面遷移」が存在する場合である。本発明の実施の形態では、画面遷移させずに類似コンテンツへの画面遷移であるか否かを特定することで、仕様復元に要する時間を削減する。そのために、本発明の実施の形態では、テスト対象のWebアプリケーションの各画面に対して、以下の手順1〜手順4を行う。
(手順1)仕様復元の対象となる画面のHTML(HyperText Markup Language)のDOM構造を取得する。
(手順2)リンクやボタン等の画面遷移の契機となる画面要素の情報(例えば、遷移先URL(Uniform Resource Locator)やラベル等の属性情報)を取得する。なお、遷移先URLとは、遷移先画面のURLのことである。
(手順3)リンクやボタン等の画面要素に対する操作を契機とする遷移先画面が類似コンテンツの画面であるか否かを特定する。
(手順4)特定結果に基づいて、必要な仕様復元を実施する(つまり、例えば、1又は数個の類似コンテンツへの画面遷移から仕様復元を実施する。)。
上記の手順3では、実際の画面遷移はせずに、手順1及び手順2で取得した情報に基づいて、遷移先画面が類似コンテンツの画面であるか否かを特定する。この手順3(類似コンテンツへの画面遷移の特定)の詳細について以降で説明する。なお、以降では、類似コンテンツへの画面遷移を「類似遷移」とも表す。
<類似遷移の特定の詳細>
ここで、遷移先画面が類似コンテンツの画面であるか否かを特定する場合には、一般的に、以下の課題1及び課題2の2つの課題を解決する必要がある。
ここで、遷移先画面が類似コンテンツの画面であるか否かを特定する場合には、一般的に、以下の課題1及び課題2の2つの課題を解決する必要がある。
(課題1)遷移先画面が類似コンテンツの画面であるか否かを特定するためには、リンクやボタン等を実際に操作して画面を遷移させ、遷移先画面を確認する必要がある。
(課題2)画面を実際に遷移させたとしても、遷移先画面が他の遷移先画面と類似するコンテンツ(同一のコンテンツも含む)を持つ画面であるか否かを機械的に判定することは困難である。
本発明の実施の形態では、仕様復元に要する時間の削減を目的としているため、実際に画面遷移させることで得られる情報は用いずに、Webアプリケーションで必ず利用されるURLとHTMLが持つ特徴を利用することで、上記の課題1及び課題2を解決する。これにより、仕様復元に時間を掛けずに、必要な仕様(例えば、必要最小限の仕様)を復元することができるようになる。
URLではプロトコル、ホスト名、ドメイン名等がスラッシュ(/)区切りで階層的に構成されており、最下層にはファイル名等のコンテンツを特定する名称が指定されている。したがって、類似コンテンツへ遷移する場合には、類似するURLへの遷移が指定されていると言える。例えば、類似コンテンツの一例としてニュース記事を考えた場合、図2に示すように、各ニュース記事の詳細ページのURLは、「http://…/…/0001.html」、「http://…/…/0002.html」、・・・、「http://…/…/000N.html」等のように、各URLの最下層のファイル名には記事番号(0001や0002等)が含まれている。このように、類似コンテンツの画面へ遷移するURL(遷移先URL)同士は互いに類似する場合が多いと考えられる。
また、HTMLはWebページを構成するためのマークアップ言語であり、タグ(又はHTMLタグ)と呼ばれる構成要素を組み合わせることで画面を生成している。タグの中には、tableタグやulタグ、olタグ、dlタグのように、画面要素を整形して表示させるためのタグが存在する。類似コンテンツへの画面遷移を持つ画面は、一般的に、表示を見易くするために、これらのタグを使って画面を構成する場合が多い。例えば、図3では、コンテンツ1〜コンテンツNへそれぞれ画面遷移するための各リンクが、<ul>タグで整形されている。このように、類似コンテンツへ遷移するためのリンクやボタン等の画面要素は、tableタグやulタグ、olタグ、dlタグ等のタグ(以降、「整形タグ」とも表す。)で整形して表示される場合が多いと考えられる。
以上で説明したURLの特徴とHTMLの特徴とを利用して、本発明の実施の形態では、以下の詳細手順3−1〜詳細手順3−5により、上記の課題1及び課題2を解決する。
(詳細手順3−1)仕様復元の対象となる画面のDOM構造に整形タグが存在するか否かを判定する。
(詳細手順3−2)当該DOM構造に整形タグが存在する場合、整形タグ毎に、画面遷移の契機となる画面要素(リンクやボタン等)がタグ内に存在するか否かを判定する。
(詳細手順3−3)整形タグ内に画面遷移の契機となる画面要素が存在する場合、これらの画面要素(リンクやボタン等)に設定されている遷移先URLを取得する。
(詳細手順3−4)遷移先URL同士の類似度を算出する。すなわち、複数の遷移先URLの各々から最下層の文字列を抽出した上で、抽出した文字列同士の類似度を算出する。類似度の算出には、例えば、レーベンシュタイン距離等の文字列同士の距離算出手法を用いる。
(詳細手順3−5)類似度が閾値以下である遷移先URLに対応する画面要素(リンクやボタン等)同士をグループ化し、同一グループに属する画面要素から遷移する遷移先画面を類似コンテンツの画面とする。一方で、類似度が閾値より大きい遷移先URLに対応する画面要素から遷移する遷移先画面は、類似するコンテンツが存在しない、独立したコンテンツの画面とする。なお、URLの文字列長や類似の具合はWebアプリケーション毎に千差万別であるため、上記の閾値は固定とせずに、テスト対象のWebアプリケーションに応じた任意の値が適宜設定される。
<全体構成>
次に、上記の手順1〜手順4を実行して仕様復元が可能なシステムについて、図4を参照しながら説明する。図4は、本発明の実施の形態におけるシステムの全体構成の一例を示す図である。
次に、上記の手順1〜手順4を実行して仕様復元が可能なシステムについて、図4を参照しながら説明する。図4は、本発明の実施の形態におけるシステムの全体構成の一例を示す図である。
図4に示すように、本発明の実施の形態におけるシステムには、クライアント装置10と、サーバ装置20とが含まれる。クライアント装置10とサーバ装置20とは、例えば、LAN(Local Area Network)やインターネット等の任意のネットワークNを介して通信可能に接続される。
サーバ装置20は、Webアプリケーションを提供するコンピュータ又はコンピュータシステムである。サーバ装置20によって提供されるWebアプリケーションが、テスト対象となるソフトウェア(アプリケーション)である。
クライアント装置10は、サーバ装置20によって提供されるWebアプリケーションのテストを支援する装置である。なお、クライアント装置10としてはPC(パーソナルコンピュータ)等が用いられるが、これに限られず、例えば、スマートフォンやタブレット端末等が用いられてもよい。
なお、図4に示すシステムの全体構成は一例であって、他の構成であってもよい。例えば、本発明の実施の形態におけるシステムには、複数台のクライアント装置10や複数台のサーバ装置20が含まれていてもよい。
<ハードウェア構成>
次に、本発明の実施の形態におけるクライアント装置10のハードウェア構成について、図5を参照しながら説明する。図5は、本発明の実施の形態におけるクライアント装置10のハードウェア構成の一例を示す図である。
次に、本発明の実施の形態におけるクライアント装置10のハードウェア構成について、図5を参照しながら説明する。図5は、本発明の実施の形態におけるクライアント装置10のハードウェア構成の一例を示す図である。
図5に示すように、本発明の実施の形態におけるクライアント装置10は、ハードウェアとして、入力装置11と、表示装置12と、メモリ装置13と、プロセッサ14と、外部I/F15と、通信I/F16と、補助記憶装置17とを有する。これら各ハードウェアは、それぞれがバス18を介して通信可能に接続されている。
入力装置11は、例えばキーボードやマウス、タッチパネル等である。表示装置12は、例えばディスプレイ等である。
メモリ装置13は、例えばRAM(Random Access Memory)やROM(Read Only Memory)等である。プロセッサ14は、例えばCPU(Central Processing Unit)等である。
外部I/F15は、外部装置とのインタフェースである。外部装置には、記録媒体15a等がある。記録媒体15aとしては、例えば、CD(Compact Disc)やDVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
通信I/F16は、クライアント装置10をネットワークNに接続するためのインタフェースである。クライアント装置10は、通信I/F16を介して、サーバ装置20との間でデータ通信を行うことができる。
補助記憶装置17は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等である。
本発明の実施の形態におけるクライアント装置10は、図5に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図5では、本発明の実施の形態におけるクライアント装置10が1台のコンピュータで実現されている場合を示したが、これに限られず、複数台のコンピュータで実現されていてもよい。また、1台のコンピュータには、複数のプロセッサ14や複数のメモリ装置13、複数の補助記憶装置17等が含まれていてもよい。
<機能構成>
次に、本発明の実施の形態におけるクライアント装置10の機能構成について、図6を参照しながら説明する。図6は、本発明の実施の形態におけるクライアント装置10の機能構成の一例を示す図である。
次に、本発明の実施の形態におけるクライアント装置10の機能構成について、図6を参照しながら説明する。図6は、本発明の実施の形態におけるクライアント装置10の機能構成の一例を示す図である。
図6に示すように、本発明の実施の形態におけるクライアント装置10は、機能部として、類似遷移特定部101と、画面自動操作部102と、仕様復元部103とを有する。これらの各機能部は、例えば、クライアント装置10にインストールされた1以上のプログラムがプロセッサ14に実行させる処理により実現される。
類似遷移特定部101は、仕様復元の対象となる画面のDOM構造と、画面遷移の契機となる画面要素の情報とを取得する。そして、類似遷移特定部101は、取得した情報に基づいて、当該画面の遷移先画面の中から類似コンテンツの画面を特定する。すなわち、類似遷移特定部101は、複数の画面遷移の中から類似遷移を特定する。
画面自動操作部102は、テスト対象のWebアプリケーションで仕様復元の対象となる画面(例えばトップページ等)のURLを示す初期URLにアクセスする。
また、画面自動操作部102は、類似遷移特定部101によって特定された類似コンテンツの画面への遷移先URLの中から1つ(又は数個)のURLを選択する。そして、画面自動操作部102は、選択したURLに対応する画面要素(リンクやボタン等)を操作する。これにより、類似コンテンツの画面へ画面遷移される。
仕様復元部103は、画面遷移結果から仕様を復元し、仕様情報を作成する。例えば、仕様復元部103は、画面自動操作部102によって操作された画面要素と、この操作によって遷移する遷移先画面のURLとを対応付けた情報を仕様情報として作成する。
<処理手順>
以降では、本発明の実施の形態におけるクライアント装置10が実行する処理の手順について、図7を参照しながら説明する。図7は、本発明の実施の形態におけるクライアント装置10が実行する処理手順の一例を説明するためのフローチャートである。
以降では、本発明の実施の形態におけるクライアント装置10が実行する処理の手順について、図7を参照しながら説明する。図7は、本発明の実施の形態におけるクライアント装置10が実行する処理手順の一例を説明するためのフローチャートである。
ステップS101において、画面自動操作部102は、初期URLにアクセスする。これにより、初期URLに対応する画面(HTML)が取得され、例えば表示装置12上に当該画面が表示される。なお、初期URLは、例えば、ユーザによって入力されてもよいし、補助記憶装置17等に予め記憶されていてもよい。
続くステップS102〜ステップS109は、初期URLに対応する画面と、この画面を起点として実際に画面遷移した全ての画面とに対して繰り返し実行される。これらのステップS102〜ステップS109では、上記の手順1〜手順4が実施される。以降では、ステップS102〜ステップS109の間で処理対象(つまり、仕様復元の対象)とされている画面を「対象画面」と表す。
ステップS103において、類似遷移特定部101は、対象画面のHTMLのDOM構造を取得する。
ステップS104において、類似遷移特定部101は、対象画面で画面遷移の契機となる画面要素の情報(例えば、遷移先URLやラベル等の属性情報)を取得する。なお、以降では、本ステップで取得された情報を「画面要素情報」と表す。
ステップS105において、類似遷移特定部101は、上記のステップS103で取得したDOM構造内に整形タグが存在するか否かを判定する。
DOM構造内に整形タグが存在しない場合(ステップS105でNO)は、ステップS109に進む。この場合、対象画面から実際に遷移した画面があれば、実際に遷移した画面(又は、実際に遷移した画面のうちの1つの画面)を対象画面としてステップS102〜ステップS109が実行される。一方で、DOM構造内に整形タグが存在する場合(ステップS105でYES)、ステップS106に進む。
ステップS106において、類似遷移特定部101は、整形タグ内に画面遷移の契機となる画面要素(例えば、リンクやボタン等)が存在するか否かを判定する。
整形タグ内に画面遷移の契機となる画面要素が存在しない場合(ステップS106でNO)、ステップS109に進む。この場合、上記と同様に、対象画面から実際に遷移した画面があれば、実際に遷移した画面(又は、実際に遷移した画面のうちの1つの画面)を対象画面としてステップS102〜ステップS109が実行される。一方で、整形タグ内に画面遷移の契機となる画面要素が存在する場合(ステップS106でYES)、ステップS107に進む。なお、以降では、画面遷移の契機となる画面要素を「遷移契機要素」とも表す。
ステップS107では、類似遷移の特定手順が実行される。類似遷移の特定手順では、遷移先URLの操作(又は、当該遷移先URLに対応するリンクやボタン等の画面要素の操作)によって遷移するコンテンツへの画面遷移の中から類似遷移が特定される。類似遷移の特定手順の詳細については後述する。
ステップS108では、画面遷移及び仕様復元手順が実行される。画面遷移及び仕様復元手順では、実際に画面遷移を行って、仕様復元が行われる。画面遷移及び仕様復元手順の詳細については後述する。
続いて、上記のステップS107における類似遷移の特定手順について、図8を参照しながら説明する。図8は、類似遷移の特定手順の一例を説明するためのフローチャートである。
ステップS201において、類似遷移特定部101は、整形タグ内の遷移契機要素(例えば、リンクやボタン等)の遷移先URLを画面要素情報から取得する。
ステップS202において、類似遷移特定部101は、遷移先URL同士の距離を算出する。すなわち、類似遷移特定部101は、遷移先URLの最下層の文字列を用いて、これらの文字列同士の距離を算出する。上述したように、距離としては、例えば、レーベンシュタイン距離等を用いることができる。
ここで、レーベンシュタイン距離を用いて距離を算出した一例を図9に示す。図9では、4つのコンテンツへの遷移先URLの最下層の文字列がそれぞれ「001」、「002」、「003A」、「aiueo」である場合の距離を示している。例えば、文字列「001」と「001」とのレーベンシュタイン距離の算出結果は「0」である。同様に、文字列「001」と「002」とのレーベンシュタイン距離の算出結果は「0.333」である。同様に、文字列「001」と「003A」とのレーベンシュタイン距離の算出結果は「0.5」である。その他についても同様である。
ステップS203において、類似遷移特定部101は、距離が所定の閾値以下の遷移先URL同士をグループ化し、同一グループに属する遷移先URLに基づく画面遷移を類似遷移とする。すなわち、同一グループに属する遷移先URLの操作(又は、当該遷移先URLに対応するリンクやボタン等の画面要素の操作)によって遷移するコンテンツへの画面遷移を類似遷移とする。なお、遷移先URLと遷移契機要素とは1対1に対応しているため、遷移先URLがグループ化されることで、遷移契機要素(つまり、リンクやボタン等の画面要素)も同様にグループ化される。
例えば、閾値が「0.4」である場合、図9に示す例では、コンテンツ1への遷移先URLと、コンテンツ2への遷移先URLとが同一のグループに属することになる。したがって、この場合、後述する仕様復元で画面遷移のために実際に操作対象となるURLは、「コンテンツ1への遷移先URL又はコンテンツ2への遷移先URL」、「コンテンツ3への遷移先URL」、「コンテンツ4への遷移先URL」の3つとなる。なお、この場合、各遷移先URLが3つのグループに分類されたことになる。
又は、例えば、閾値が「0.6」である場合、図9に示す例では、コンテンツ1への遷移先URLと、コンテンツ2への遷移先URLと、コンテンツ3への遷移先URLとが同一のグループに属することになる。したがって、この場合、後述する仕様復元で画面遷移のために実際に操作対象となるURLは、「コンテンツ1への遷移先URL、コンテンツ2への遷移先URL、又はコンテンツ3への遷移先URLのいずれか1つ」、「コンテンツ4への遷移先URL」の2つとなる。なお、この場合、各遷移先URLが2つのグループに分類されたことになる。
なお、本発明の実施の形態では閾値を1つ用いたが、これに限られず、複数の閾値を用いられてもよい。例えば、閾値「0.4」及び閾値「0.6」の2つの閾値を用いて、距離が「0.4」以下の第1のグループと、距離が「0.4」より大で、かつ、「0.6」以下の第2のグループと、距離が「0.6」より大の第3のグループとに遷移先URLをグループ化してもよい。
続いて、上記のステップS108における画面遷移及び仕様復元手順について、図10を参照しながら説明する。図10は、画面遷移及び仕様復元手順の一例を説明するためのフローチャートである。
ステップS301〜ステップS304は、上記のステップS203で各遷移先URLが分類された各グループに対して繰り返し実行される。以降では、ステップS301〜ステップS304の間で処理対象とされているグループを「対象グループ」と表す。
ステップS302において、画面自動操作部102は、対象グループに属する遷移先URLを1つ(又は数個)選択し、選択した遷移先URLにアクセスする。これにより、遷移先URLに対応する画面へと画面遷移される。
なお、画面自動操作部102は、例えば、対象グループに属する遷移先URLを数個選択した場合、選択した遷移先URLのそれぞれにアクセスする。
ステップS303において、仕様復元部103は、画面遷移結果から仕様を復元し、仕様情報を作成する。上述したように、仕様復元部103は、例えば、上記のステップS302でアクセスされた遷移先URLと、この遷移先URLに対応する画面要素とを対応付けた情報を仕様情報(つまり、仕様情報の1つである画面遷移情報)として作成する。
<まとめ>
以上のように、本発明の実施の形態におけるクライアント装置10は、類似コンテンツへの画面遷移をグループ化した上で、このグループに属する1つ(又は数個)の画面遷移の仕様を復元する。また、このとき、本発明の実施の形態におけるクライアント装置10は、実際の画面遷移を行わずに、HTMLの特徴やURLの特徴を用いて、類似コンテンツへの画面遷移をグループ化する。
以上のように、本発明の実施の形態におけるクライアント装置10は、類似コンテンツへの画面遷移をグループ化した上で、このグループに属する1つ(又は数個)の画面遷移の仕様を復元する。また、このとき、本発明の実施の形態におけるクライアント装置10は、実際の画面遷移を行わずに、HTMLの特徴やURLの特徴を用いて、類似コンテンツへの画面遷移をグループ化する。
このため、本発明の実施の形態におけるクライアント装置10は、必要最小限の画面遷移で仕様を復元することができ(言い換えれば、不要な仕様復元を削減することができ)、例えば、特許文献1及び非特許文献1に記載されている技術と比較して、仕様復元に要する時間を削減することができる。また、類似コンテンツへの画面遷移の中から1つ(又は数個)の画面遷移のみを仕様復元に用いるため、類似コンテンツへの不要な画面遷移が削減され、Webアプリケーションの実際の設計に沿った仕様を復元することが可能となる。
なお、本発明の実施の形態は、例えば、特許文献1や非特許文献1に記載されたリバースベーステスト技術に対して適用可能である。ただし、本発明の実施の形態の適用範囲はリバースベーステスト技術に限られず、Webアプリケーションの仕様復元が必要な技術であれば任意の技術に対して適用可能である。
本発明は、具体的に開示された上記の実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
10 クライアント装置
20 サーバ装置
101 類似遷移特定部
102 画面自動操作部
103 仕様復元部
20 サーバ装置
101 類似遷移特定部
102 画面自動操作部
103 仕様復元部
Claims (6)
- Webアプリケーションに関する画面の構造情報と、前記画面の構成要素を示す要素情報とを取得する取得手段と、
前記取得手段により取得された前記構造情報と前記要素情報とに基づいて、前記画面から遷移可能な1以上の他の画面への画面遷移のうち、互いに類似するコンテンツが表示される他の画面への画面遷移を表す類似遷移を特定する特定手段と、
前記特定手段により特定された前記類似遷移の中から選択した1以上の画面遷移を行って、前記Webアプリケーションの画面間の遷移に関する仕様情報を作成する作成手段と、
を有することを特徴とする類似遷移特定装置。 - 前記画面はHTMLで構成されており、
前記特定手段は、
前記画面のDOM構造を表す前記構造情報に所定のHTMLタグが含まれるか否かを判定し、
前記構造情報に所定のHTMLタグが含まれると判定された場合、前記画面の構成要素のうち、前記他の画面への画面遷移の契機となる構成要素に関する前記要素情報が前記HTMLタグに含まれるか否かを判定し、
前記他の画面への画面遷移の契機となる構成要素に関する前記要素情報が前記HTMLタグに含まれると判定された場合、前記類似遷移を特定する、ことを特徴とする請求項1に記載の類似遷移特定装置。 - 前記特定手段は、
前記画面から1以上の前記他の画面へ画面遷移するためのアドレス同士の類似度を算出し、
算出した類似度が所定の閾値以下の画面遷移を、互いに類似するコンテンツが表示される他の画面への画面遷移として同一グループに分類することで、前記類似遷移を特定する、ことを特徴とする請求項1又は2に記載の類似遷移特定装置。 - 前記アドレスはURLであり、
前記特定手段は、
前記アドレスの最下層に指定された文字列同士の所定の距離を算出することで、前記アドレス同士の類似度を算出する、ことを特徴とする請求項3に記載の類似遷移特定装置。 - Webアプリケーションに関する画面の構造情報と、前記画面の構成要素を示す要素情報とを取得する取得手順と、
前記取得手順で取得された前記構造情報と前記要素情報とに基づいて、前記画面から遷移可能な1以上の他の画面への画面遷移のうち、互いに類似するコンテンツが表示される他の画面への画面遷移を表す類似遷移を特定する特定手順と、
前記特定手順で特定された前記類似遷移の中から選択した1以上の画面遷移を行って、前記Webアプリケーションの画面間の遷移に関する仕様情報を作成する作成手順と、
をコンピュータが実行することを特徴とする類似遷移特定方法。 - コンピュータを、請求項1乃至4の何れか一項に記載の類似遷移特定装置における各手段として機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019075121A JP7127601B2 (ja) | 2019-04-10 | 2019-04-10 | 類似遷移特定装置、類似遷移特定方法及びプログラム |
US17/602,280 US11783116B2 (en) | 2019-04-10 | 2020-03-31 | Resembling transition identifying apparatus, resembling transition identifying method and program |
PCT/JP2020/014779 WO2020209139A1 (ja) | 2019-04-10 | 2020-03-31 | 類似遷移特定装置、類似遷移特定方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019075121A JP7127601B2 (ja) | 2019-04-10 | 2019-04-10 | 類似遷移特定装置、類似遷移特定方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020173615A true JP2020173615A (ja) | 2020-10-22 |
JP7127601B2 JP7127601B2 (ja) | 2022-08-30 |
Family
ID=72750662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019075121A Active JP7127601B2 (ja) | 2019-04-10 | 2019-04-10 | 類似遷移特定装置、類似遷移特定方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11783116B2 (ja) |
JP (1) | JP7127601B2 (ja) |
WO (1) | WO2020209139A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7543496B1 (ja) | 2023-07-14 | 2024-09-02 | 楽天グループ株式会社 | 支援装置、支援方法、ならびに、プログラム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008084082A (ja) * | 2006-09-28 | 2008-04-10 | Nec Biglobe Ltd | Webサービステスト装置、Webサービステスト方法、及びプログラム |
CN103853784A (zh) * | 2012-12-06 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 一种移动终端的网页匹配方法、装置和系统 |
JP2018092361A (ja) * | 2016-12-02 | 2018-06-14 | 日本電信電話株式会社 | テストスクリプト修正装置及びテストスクリプト修正プログラム |
JP2018092362A (ja) * | 2016-12-02 | 2018-06-14 | 日本電信電話株式会社 | テストスクリプト修正装置及びテストスクリプト修正プログラム |
JP2018116497A (ja) * | 2017-01-18 | 2018-07-26 | 日本電信電話株式会社 | 画面判定装置及びプログラム |
JP2018116496A (ja) * | 2017-01-18 | 2018-07-26 | 日本電信電話株式会社 | 差異検出装置及びプログラム |
JP2019159405A (ja) * | 2018-03-07 | 2019-09-19 | 株式会社東芝 | Guiテスト装置、guiテスト方法及びプログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5224868B2 (ja) * | 2008-03-28 | 2013-07-03 | 株式会社東芝 | 情報推薦装置および情報推薦方法 |
JP5587058B2 (ja) * | 2010-06-29 | 2014-09-10 | キヤノン株式会社 | 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム |
US9053177B1 (en) * | 2012-06-11 | 2015-06-09 | Google Inc. | Sitelinks based on visual location |
WO2015167511A2 (en) * | 2014-04-30 | 2015-11-05 | Empire Technology Development Llc | Adjusting tap position on touch screen |
US10523736B2 (en) * | 2014-06-30 | 2019-12-31 | Microsoft Technology Licensing, Llc | Determining an entity's hierarchical relationship via a social graph |
US10261669B2 (en) * | 2015-07-14 | 2019-04-16 | Adobe Inc. | Publishing electronic documents utilizing navigation information |
US11138286B2 (en) * | 2018-07-31 | 2021-10-05 | Google Llc | Browser-based navigation suggestions for task completion |
-
2019
- 2019-04-10 JP JP2019075121A patent/JP7127601B2/ja active Active
-
2020
- 2020-03-31 US US17/602,280 patent/US11783116B2/en active Active
- 2020-03-31 WO PCT/JP2020/014779 patent/WO2020209139A1/ja active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008084082A (ja) * | 2006-09-28 | 2008-04-10 | Nec Biglobe Ltd | Webサービステスト装置、Webサービステスト方法、及びプログラム |
CN103853784A (zh) * | 2012-12-06 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 一种移动终端的网页匹配方法、装置和系统 |
JP2018092361A (ja) * | 2016-12-02 | 2018-06-14 | 日本電信電話株式会社 | テストスクリプト修正装置及びテストスクリプト修正プログラム |
JP2018092362A (ja) * | 2016-12-02 | 2018-06-14 | 日本電信電話株式会社 | テストスクリプト修正装置及びテストスクリプト修正プログラム |
JP2018116497A (ja) * | 2017-01-18 | 2018-07-26 | 日本電信電話株式会社 | 画面判定装置及びプログラム |
JP2018116496A (ja) * | 2017-01-18 | 2018-07-26 | 日本電信電話株式会社 | 差異検出装置及びプログラム |
JP2019159405A (ja) * | 2018-03-07 | 2019-09-19 | 株式会社東芝 | Guiテスト装置、guiテスト方法及びプログラム |
Non-Patent Citations (1)
Title |
---|
倉林 利行 ほか: "テストスクリプト自動生成における適切な粒度の画面遷移テストの試み Attempt of Screen Transition Test", 電子情報通信学会技術研究報告 VOL.118 NO.471 [ONLINE] IEICE TECHNICAL REPORT, vol. 第118巻, JPN6022029701, 25 February 2019 (2019-02-25), JP, pages 139 - 144, ISSN: 0004827384 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7543496B1 (ja) | 2023-07-14 | 2024-09-02 | 楽天グループ株式会社 | 支援装置、支援方法、ならびに、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP7127601B2 (ja) | 2022-08-30 |
US11783116B2 (en) | 2023-10-10 |
US20220164523A1 (en) | 2022-05-26 |
WO2020209139A1 (ja) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10353810B2 (en) | Software testing with minimized test suite | |
US10387292B2 (en) | Determining application test results using screenshot metadata | |
WO2019196274A1 (zh) | 网页页面测试方法、装置、电子设备和介质 | |
TWI552075B (zh) | 將桌面應用程式轉換成網路應用程式 | |
US11714625B2 (en) | Generating applications for versatile platform deployment | |
JP2020098596A (ja) | ウェブページから情報を抽出する方法、装置及び記憶媒体 | |
AU2022228142A1 (en) | Intelligent change summarization for designers | |
US20160034378A1 (en) | Method and system for testing page link addresses | |
JP6505849B2 (ja) | 要素識別子の生成 | |
WO2020209139A1 (ja) | 類似遷移特定装置、類似遷移特定方法及びプログラム | |
WO2020209227A1 (ja) | 解析装置、解析方法、及びプログラム | |
CN112231197A (zh) | 一种页面测试的方法、装置和存储介质 | |
CN111832254B (zh) | 图纸标注显示处理方法及装置 | |
JP2020067859A (ja) | テストデータ生成装置、テストデータ生成方法及びプログラム | |
US12001324B2 (en) | Operation pattern generation apparatus, operation pattern generation method and program | |
CN110347577B (zh) | 一种页面测试方法、装置及其设备 | |
AU2018313995B2 (en) | Systems and methods for providing globalization features in a service management application interface | |
CN105183886A (zh) | 网页内容提取方法及装置 | |
US10229095B2 (en) | Expanded icon navigation | |
WO2023105696A1 (ja) | 情報付与装置、情報付与方法及び情報付与プログラム | |
WO2022149265A1 (ja) | 抽出装置、抽出方法、および、抽出プログラム | |
JP7417068B2 (ja) | 表示方法及び表示プログラム、並びに情報処理装置 | |
US20150095751A1 (en) | Employing page links to merge pages of articles | |
CN116069424A (zh) | 页面显示的方法、装置、电子设备及存储介质 | |
CN113157546A (zh) | 基于视频流的虚拟仿真测试方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210726 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220719 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220801 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7127601 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |