JP7211228B2 - 解析装置、解析方法、及びプログラム - Google Patents

解析装置、解析方法、及びプログラム Download PDF

Info

Publication number
JP7211228B2
JP7211228B2 JP2019074376A JP2019074376A JP7211228B2 JP 7211228 B2 JP7211228 B2 JP 7211228B2 JP 2019074376 A JP2019074376 A JP 2019074376A JP 2019074376 A JP2019074376 A JP 2019074376A JP 7211228 B2 JP7211228 B2 JP 7211228B2
Authority
JP
Japan
Prior art keywords
screen
test
analysis
transition
web application
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.)
Active
Application number
JP2019074376A
Other languages
English (en)
Other versions
JP2020173570A (ja
Inventor
悠 安達
治門 丹野
弘之 切貫
優 吉村
利行 倉林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2019074376A priority Critical patent/JP7211228B2/ja
Priority to PCT/JP2020/015559 priority patent/WO2020209227A1/ja
Priority to US17/601,885 priority patent/US20220214963A1/en
Publication of JP2020173570A publication Critical patent/JP2020173570A/ja
Application granted granted Critical
Publication of JP7211228B2 publication Critical patent/JP7211228B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、解析装置、解析方法、及びプログラムに関する。
多様化する消費者ニーズに合ったサービスを迅速に提供するために、近年、ソフトウェア開発を短いサイクルで実施し、頻繁にサービスをリリースする開発スタイルが増加している。短いサイクルでサービスを提供することに伴い、ソフトウェアの動作の正常性を確認するためのソフトウェアテストの頻度も増加している。
ソフトウェアテストでは、テスト対象となるWebアプリケーションが、設計者の意図した通りに動作するかどうかを確認する機能テストが行われる。機能テストの中でも、画面遷移(Webページの遷移)に関わるテスト(以下、「画面遷移テスト」という。)に膨大な時間がかかることが問題となっている。ここでは、画面遷移テストを、「クライアントサイドからのインタラクションに対し、クライアントサイドに表示される画面から、Webアプリケーションが仕様通りに実装されているかどうかを確認するためのテスト」と定義する。
画面遷移テストが時間を要する理由は、クライアントサイドからのインタラクションとして、画面にあるリンクやボタンのクリック操作や、入力フォームに適切な値を入力するなどの人手を介する操作が求められるからである。これらの操作を全ての画面で繰り返し実施するため、膨大な時間を要しており、省力化が求められている。
画面遷移テストに要する時間を削減する方法として、テストケースをスクリプトで記述することで、画面遷移テストを自動実行する方法が知られている。しかし、テストスクリプトを作成する作業自体にも時間がかかるため、作成したテストスクリプトを使用した自動テストを3回以上実施しないと、作業時間の効果は表れないとも言われている。また、既存の機能に変更が加わることで、作成したテストスクリプトが使用できなくなるため、仕様変更が施されるたびにテストスクリプトを作り直す必要が出てくる。
このような課題を解決するために、テスト対象のWebアプリケーションのソースコードを解析することで仕様情報を復元し、復元された仕様情報からテストスクリプトを自動生成する、リバースベースのテストスクリプト自動生成技術(以下、「リバースベーステスト技術」という。)が考案されている(非特許文献1参照)。
倉林 利行, 伊山 宗吉, 切貫 弘之, 丹野 治門: "画面操作を伴うテストにおけるテストスクリプトの自動生成手法", ソフトウェアエンジニアリングシンポジウム2017論文集 pp. 260-264, 2017年9月
上述したとおり、リバースベーステスト技術は、テスト対象となるWebアプリケーションの画面を動的に解析しながら仕様をリバースし、網羅的なテストケースを生成することで、テストスクリプトを自動生成する方法である。この技術により、人手によるテストスクリプト作成の作業を必要とせずに画面遷移テストの自動化を実現することができる。
しかし、リバースベーステスト技術では、Webアプリケーションの画面に含まれる全ての画面要素(ボタン、リンクなど)を機械的に網羅的に自動操作しながら仕様をリバースしているため、網羅的な画面遷移テストが必ずしも必要ではない仕様情報についてまでも仕様を復元し、テストスクリプトとして生成してしまうという欠点が存在する。
その結果、仕様復元に要する時間が増大し、テストスクリプト自動生成のメリットを損なってしまったり、生成したテストスクリプトの中に不要なものが混じってしまったりするといった課題がある。
本発明は上記の点に鑑みてなされたものであり、リバースベーステスト技術において、網羅的な仕様復元を行うことで生じる仕様復元にかかる時間の増大を回避することを可能とする技術を提供することを目的とする。
開示の技術によれば、Webアプリケーションにより表示される画面を基準画面まで遷移させるスクリプトを実行するスクリプト実行手段と、
テストシナリオを生成するために、前記基準画面からの画面遷移のホップ数が予め定めた上限値以下となる範囲内で、前記Webアプリケーションに対する画面遷移を起こさせる画面の操作を実行する解析手段と
を備える解析装置が提供される。

開示の技術によれば、リバースベーステスト技術において、網羅的な仕様復元を行うことで生じる仕様復元にかかる時間の増大を回避することを可能とする技術が提供される。
テスト不要範囲を説明するための図である。 本発明の実施の形態の概要を説明するための図である。 本発明の実施の形態におけるシステム構成例を示す図である。 本発明の実施の形態におけるクライアント装置10のハードウェア構成例を示す図である。 本発明の実施の形態におけるクライアント装置10の機能構成例を示す図である。 クライアント装置10の全体動作例を説明するためのフローチャートである。 クライアント装置10の詳細動作例を説明するための擬似コードである。 ホップ数判定部17の処理を示すフローチャートである。
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
(実施の形態の概要)
本実施の形態では、非特許文献1に記載された既存のリバースベーステスト技術における動的解析の技術をベースとする。後述するクライアント装置10は、当該ベースとなる技術に基づき、基本的には、以下のステップの処理を実行する。
(1)テスト対象のWebアプリケーションを解析し、仕様としてテスト対象を構成する画面と画面間の繋がり、各画面に到達するための手段を抽出する。
(2)(1)で取得した仕様から機能テストにおける画面遷移テストに適した画面遷移図を生成する。
(3)(2)で生成した画面遷移図の各遷移に対応するテストスクリプトを、(1)で抽出した画面に到達するための手段の情報に基づいて、出力したいスクリプト形式に合わせて出力する。
前述したように、既存のリバースベーステスト技術では、Webアプリケーションの画面に含まれる全ての画面要素(ボタン、リンクなど)を機械的に網羅的に自動操作しながら仕様をリバースしているため、網羅的な画面遷移テストが必ずしも必要ではない仕様情報についてまでも仕様を復元し、テストスクリプトとして生成してしまうという課題がある。
網羅的な画面遷移テストが不要な場合の例を図1を参照して説明する。図1に示す例は、Webアプリケーションによりクライアントに表示される様々な画面のうち、ログイン以降のメイン画面を基準とし、メイン画面からの遷移に注目したテストを実施したい場合の例を示している(図1における"テストしたい範囲")。
それ以外の画面(図1における"テスト不要範囲")については、仕様復元を回避することが時間削減のために重要である。これを実現するためには、例えば、メイン画面において"ログアウト"ボタンがある場合も考慮し、ボタン押下によってログイン画面まで遷移してしまい、テスト不要な範囲まで際限なく解析することを回避する必要がある。
図2は、テスト不要範囲についての仕様復元を回避することを実現するための技術のポイントを示している。図2に示すように、本実施の形態では、ポイント1として、基準となるメイン画面までの遷移をクライアントで実行するスクリプトで実現し、基準画面から解析を開始することとしている。また、ポイント2として、画面遷移のホップ数に上限を設定することで解析範囲を制限することとしている。以下、本実施の形態に係る技術をより詳細に説明する。
(システム構成)
図3は、本発明の実施の形態におけるシステム構成例を示す図である。図3において、サーバ装置20及びクライアント装置10は、例えば、LAN(Local Area Network)又はインターネット等のネットワークを介して接続される。
サーバ装置20は、Webアプリケーションを含むテスト対象のシステムを含む1以上のコンピュータである。
クライアント装置10は、サーバ装置20が有するWebアプリケーションを解析し、テストスクリプトを生成する装置である。クライアント装置10を「解析装置」と称してもよい。また、テスト対象のWebアプリケーションがサーバ装置20に存在せずに、クライアント装置10に存在してもよい。
図4は、本発明の実施の形態におけるクライアント装置10のハードウェア構成例を示す図である。図4に示すように、クライアント装置10は、コンピュータとして実現できる。
図4のクライアント装置10(コンピュータ)は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
クライアント装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってクライアント装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
図5は、本発明の実施の形態におけるクライアント装置10の機能構成例を示す図である。図5において、クライアント装置10は、画面遷移情報抽出部11、テストスクリプト実行部12、テストシナリオ&入力値生成部13、画面自動操作部14、画面評価部15、テスト資材生成部16、ホップ数判定部17を有する。これら各部は、クライアント装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
画面遷移情報抽出部11は、テスト対象のWebアプリケーションのコントローラのソースコードに基づいて、静的解析技術を用いてコントローラを解析し、各リクエストに対する遷移先の数を示す情報を画面遷移情報として取得する。
テストスクリプト実行部12は、テスト対象のWebアプリケーションに対し、基準画面に到達するまでのシナリオが記述されたテストスクリプトを実行し、到達画面を初期URLとする。
テストシナリオ&入力値生成部13は、テストにおいて表示された各画面に対するテストシナリオとテスト入力値とを生成する。或る画面の各フォームに対するテスト入力値は、当該画面に係るHTMLのDOMツリーにおける当該フォームの周辺情報を用いて生成される。
画面自動操作部14は、生成されたテストシナリオとテスト入力値とをテストケースとして、画面操作を、ホップ数が上限値以下という範囲内で、自動的に実行することで、動的解析を実現する。ホップ数が上限値以下かどうかの判定はホップ数判定部17により行われる。
画面評価部15は、画面操作の実行により遷移した画面が既に遷移したことのある画面か否かをURLやHTML等の情報を用いて判定する。画面評価部14は、画面操作の実行により遷移した画面のHTMLデータと、既に遷移したことのある画面のHTMLデータとについて、それぞれを抽象化するための編集処理を行って、編集後のHTMLデータを比較する。
テスト資材生成部16は、静的解析及び動的解析により得られた情報に基づいて、画面遷移図を生成する。テスト資材生成部16は、また、テストシナリオ&入力値生成部13によって生成されたテストシナリオとテスト入力値をテストスクリプトの形式で出力する。
(クライアント装置10の全体動作例)
以下、クライアント装置10が実行する処理手順の例について説明する。図6は、クライアント装置10が実行する処理手順の一例を説明するためのフローチャートである。なお、図6では、主に、図5の機能構成におけるテストスクリプト出力までの全体動作を説明する。
以下で説明する動作の前に、クライアント装置10には、テスト対象のWebアプリケーションのソースコード、Webアプリケーションの初期URLの画面(例:図2のログイン画面)から基準画面(例:図2のメイン画面)に到達するまでのシナリオを記述したテストスクリプト、基準画面からのホップ数の上限値等が入力される。
ステップS101において、テストシナリオ&入力値生成部13は、テスト入力値の生成に利用される辞書を生成する。辞書は、単語ごとに、当該単語の上位語がタグとして付与された構成を有するデータである。本実施の形態では、例えば、予め用意された辞書と、サーバ装置20においてWebアプリケーションがアクセスするDBデータから生成される辞書の2種類とが利用される。ステップS101では後者の辞書が生成される。DBに登録された値をテスト入力値とすることで、検索表示画面等の、DBに登録されたテスト入力値でないと遷移することの出来ない画面への遷移を可能とすることができる。ユーザは、DBデータを入力として与えなくてもテスト入力値を生成することは可能だが、DBデータを入力として与えない場合、DBに登録されたデータが画面遷移の条件に影響を与える場合に、適切な入力値を生成できない可能性がある。
続いて、画面遷移情報抽出部11は、静的解析技術を用いてコントローラのソースコードを解析し、画面の遷移先を決定するコントローラの情報から、各リクエストに対する遷移先の数を取得する(S102)。1つのリクエストに対する遷移先の数を示す情報を「画面遷移情報」といい、画面遷移情報のリストを「画面遷移情報リスト」という。
続いて、S103において、テストスクリプト実行部12が、テスト対象のWebアプリケーションによりクライアント装置10に表示される画面が、初期URLの画面から基準画面に到達するまでのシナリオを記述したテストスクリプトを実行する。ここで到達した基準画面のURLを、以降の「初期URL」とする。
続いて、画面自動操作部14は、初期URL(上記の基準画面)にアクセスして、初期URLに対応するHTMLデータ等を取得する(S104)。その結果、当該HTMLデータ等に基づく画面が表示装置106に表示される。
続くステップS105~S110では、初期URLに対応するHTMLデータ、及び当該HTMLデータに係る画面を起点として遷移するHTMLデータに関して、動的解析等が実行される。ただし、遷移は、基準画面(初期URL)からのホップ数が上限値以内の範囲で行われ、ホップ数が上限値を超える場合には、遷移を行わない。
具体的には、静的解析で取得された各リクエストに対する遷移先を全て網羅するように、動的解析として、初期URLに対応する画面を起点として実際にテスト対象の画面操作(アクションの操作)が画面自動操作部14により自動的に実施される。動的解析では、例えば、各画面上の全てのリンクに対してクリックを実施し、入力フォームとそれに対応するサブミットボタンが有る場合には、サブミットボタンを押したときのリクエストに対して、静的解析で取得したそのリクエストの遷移先の数を満たすまで、テスト入力値が生成され、画面操作が繰り返される。リクエストの遷移先の数を満たしたか否かについては、遷移先の画面について、既に遷移した画面との比較を行い、新規に遷移した画面かどうかの判断を行って、到達画面数をカウントする。以上の動的解析によって、クライアント装置10は、遷移先画面の情報(HTML、URL等)と画面間の繋がり、画面に到達するための手段を取得する。また、コントローラを通らない画面遷移が動的解析で発見された場合、その画面遷移の情報も追加される。コントローラを通らない画面遷移とは、例えば、aタグでのリンクがクリックされた場合に発生する画面遷移である。
以下、ステップS105~S110の間で処理対象とされているHTMLデータを、「対象HTML」という。
ステップS106において、テストシナリオ&入力値生成部13は、対象HTMLに係る画面(以下、「対象画面」という。)に対するテストシナリオを生成する。すなわち、対象画面において画面の遷移を発生させる画面要素(リンクやサブミットボタン等)ごとに、操作及びロケータの組からなるテストシナリオが生成される。操作は、クリック等の操作である。ロケータは、操作の対象とされる画面要素の識別情報である。
続くステップS107~S109は、ステップS106において生成されたテストシナリオごとに実行される。S107~S109において処理対象とされているテストシナリオを、以下「対象テストシナリオ」という。
ステップS108において、テストシナリオ&入力値生成部13が、対象テストシナリオに基づいてテストケース(これを"アクション"と呼んでもよい)を生成し、画面自動操作部14が、当該テストケースを対象画面に対して実行する。その結果、画面遷移が発生する。なお、対象テストシナリオが、入力値を必要とする場合、ステップS108において、テスト入力値の生成が行われる。
上限値の範囲内の遷移先の全ての画面(HTML)に対してステップS105~S110が実行されると、テスト資材生成部16は、画面遷移図を生成する(S111)。具体的には、テスト資材生成部16は、生成された画面遷移情報リストと、ステップS105~S110において実際に発生した画面遷移とを比較して、テストにおいて発生しなかった画面遷移が有れば当該画面遷移を抽出(検出)し、遷移することのできた画面遷移と遷移することのできなかった画面遷移の情報を合わせた画面遷移図を生成する。遷移することができなかった画面遷移に対しては、テストスクリプトも生成できていないため、人手で作成する等のサポートが行われてもよい。
続いて、テスト資材生成部16は、各画面遷移が発生したときのテストシナリオとテスト入力値とをテストスクリプトの形式で出力する(S112)。
(クライアント装置10の詳細動作例)
次に、クライアント装置10において、最初に基準画面まで遷移し、ホップ数の上限値の範囲内で画面遷移を行うという動作に着目した詳細動作例を説明する。
前述したように、クライアント装置10は、図4に示すようなコンピュータであり、当該コンピュータにおいてプログラムが実行されることで、本実施の形態に係る動作が実現される。以下、クライアント装置10のコンピュータとしての動作例を、図7に示す疑似コード(当該コンピュータ上で動作するプログラムに相当)に基づいて説明する。図7の疑似コードに示す処理は、図6におけるS103~S110に概ね対応する。また、図7には、図2に示したポイント1、2に対応する部分が示されている。
前述したように、クライアント装置10には、テスト対象のWebアプリケーションにおいて、初期画面から基準画面まで遷移するテストスクリプト、及び、画面遷移数(ホップ数)の上限値等が入力される。
第1行において、クライアント装置10は、テスト対象のWebアプリケーションに対し、初期画面から基準画面まで到達するテストスクリプトを実行する。クライアント装置10は、到達した基準画面を対象画面とし、当該対象画面までのホップ数を0とする(第2行、第3行)。なお、以下では、「画面」は、クライアント装置10において画面を表示するためのデータ(HTMLデータ等)を意味するものとする。
第4行において、クライアント装置10は、対象画面を画面スタックに格納する。画面スタックとは、解析対象となる遷移先の画面を格納するスタックであり、先入れ先出しのスタックである。
第5行~第15行は、画面スタックが空でない限り実行される。第6行において、クライアント装置10は、画面スタックから1つポップさせた画面を以降の対象画面とする。
第7行において、クライアント装置10は、対象画面の要素から、画面の遷移を発生させるアクション群を取得する。アクションとは、対象画面の要素(入力フォーム、ボタン、リンク等)における、入力フォーム等の要素と画面遷移が起こる要素(ボタン、リンク等)の組み合わせである。画面遷移を起こす要素(ボタン、リンク等)が複数あればアクションが複数取得される。複数のアクションをアクション群と呼んでいる。
第8行~第14行は、対象画面において遷移を起こさせるアクション群の中のそれぞれのアクションに対して実行される。第9行において、クライアント装置10は、対象画面まで遷移する事前手順を実行後、対象画面において当該アクションを実行して、遷移先の新たな画面を取得し、これを次画面とする。
第10行において、クライアント装置10は、次画面までのホップ数を、「対象画面までのホップ数+1」とする。
第11行において、クライアント装置10は、当該次画面までのホップ数が、ホップ数の上限値以下であるかどうかを判定し、上限値以下であれば、第12行において、画面スタックに次画面をプッシュする。もしも、ホップ数が上限値よりも大きければ、画面スタックに次画面をプッシュしない。
現在の対象画面に対して、第8行~第14行の処理が、アクション群の全てに対して実行された後、第5行に戻り、画面スタックが空でない限り、上述した処理が再び実行される。
上記の処理に中で、クライアント装置10は、各アクション、アクションで遷移した画面の情報等、解析において得られる情報をメモリ等に記録する。記録された情報が、最終的に出力するテストスクリプト等の生成に利用される。
図8は、ホップ数判定に関わる処理のフローチャートである。S201において、クライアント装置10は、基準画面から遷移先画面(上述した次画面)までのホップ数が上限値以下であるかどうかを判定する。上限値以下であれば、S202において、画面スタックに遷移先画面を追加する。
なお、図7を参照して説明したような解析手法は、テストスクリプトの自動生成以外の目的に使用することとしてもよい。
(実施の形態の効果)
以上、説明した実施の形態に係る技術により、既存のリバースベーステスト技術で発生する、網羅的な画面遷移が不要な箇所についても仕様復元を実施してしまうという課題に対して、基準画面に到達するためのテストスクリプトの利用及び画面遷移数に上限を設けることで、必要な画面のみに仕様復元の範囲を限定することができる。
不要な仕様復元処理を削減することで、仕様復元に要する時間を大幅に削減することができる、という効果が生じる。
(実施の形態のまとめ)
本実施の形態において、少なくとも、下記の各項に記載された解析装置、解析方法、及びプログラムが提供される。
(第1項)
Webアプリケーションにより表示される画面を基準画面まで遷移させるスクリプトを実行するスクリプト実行手段と、
前記基準画面からの画面遷移のホップ数が予め定めた上限値以下となる範囲内で、前記Webアプリケーションに対する画面遷移の解析を実行する解析手段と
を備える解析装置。
(第2項)
前記解析手段は、前記基準画面からの画面遷移のホップ数が前記上限値以下となる範囲内で、画面遷移を起こさせる操作を繰り返し実行する
第1項に記載の解析装置。
(第3項)
前記解析手段は、ある対象画面の要素の中から、画面遷移を起こさせる要素をアクションとして取得し、当該対象画面において前記アクションの操作を実行することにより次画面を取得する処理を、最初の対象画面である前記基準画面からの画面遷移のホップ数が前記上限値以下となる範囲内で、次画面を新たな対象画面とすることにより繰り返し実行する
第1項又は第2項に記載の解析装置。
(第4項)
解析装置が実行する解析方法であって、
Webアプリケーションにより表示される画面を基準画面まで遷移させるスクリプトを実行するスクリプト実行ステップと、
前記基準画面からの画面遷移のホップ数が予め定めた上限値以下となる範囲内で、前記Webアプリケーションに対する画面遷移の解析を実行する解析ステップと
を備える解析方法。
(第5項)
コンピュータを、第1項ないし第3項のうちいずれか1項に記載の解析装置における各手段として機能させるためのプログラム。
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 クライアント装置
11 画面遷移情報抽出部
12 テストスクリプト実行部
13 テストシナリオ&入力値生成部
14 画面自動操作部
15 画面評価部
16 テスト資材生成部
17 ホップ数判定部
20 サーバ装置
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
B バス

Claims (4)

  1. Webアプリケーションにより表示される画面を基準画面まで遷移させるスクリプトを実行するスクリプト実行手段と、
    テストシナリオを生成するために、前記基準画面からの画面遷移のホップ数が予め定めた上限値以下となる範囲内で、前記Webアプリケーションに対する画面遷移を起こさせる画面の操作を実行する解析手段と
    を備える解析装置。
  2. 前記解析手段は、ある対象画面の要素の中から、画面遷移を起こさせる要素をアクションとして取得し、当該対象画面において前記アクションの操作を実行することにより次画面を取得する処理を、最初の対象画面である前記基準画面からの画面遷移のホップ数が前記上限値以下となる範囲内で、次画面を新たな対象画面とすることにより繰り返し実行する
    請求項1に記載の解析装置。
  3. 解析装置が実行する解析方法であって、
    Webアプリケーションにより表示される画面を基準画面まで遷移させるスクリプトを実行するスクリプト実行ステップと、
    テストシナリオを生成するために、前記基準画面からの画面遷移のホップ数が予め定めた上限値以下となる範囲内で、前記Webアプリケーションに対する画面遷移を起こさせる画面の操作を実行する解析ステップと
    を備える解析方法。
  4. コンピュータを、請求項1又は2に記載の解析装置における各手段として機能させるためのプログラム。
JP2019074376A 2019-04-09 2019-04-09 解析装置、解析方法、及びプログラム Active JP7211228B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019074376A JP7211228B2 (ja) 2019-04-09 2019-04-09 解析装置、解析方法、及びプログラム
PCT/JP2020/015559 WO2020209227A1 (ja) 2019-04-09 2020-04-06 解析装置、解析方法、及びプログラム
US17/601,885 US20220214963A1 (en) 2019-04-09 2020-04-06 Analysis apparatus, analysis method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019074376A JP7211228B2 (ja) 2019-04-09 2019-04-09 解析装置、解析方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020173570A JP2020173570A (ja) 2020-10-22
JP7211228B2 true JP7211228B2 (ja) 2023-01-24

Family

ID=72751582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019074376A Active JP7211228B2 (ja) 2019-04-09 2019-04-09 解析装置、解析方法、及びプログラム

Country Status (3)

Country Link
US (1) US20220214963A1 (ja)
JP (1) JP7211228B2 (ja)
WO (1) WO2020209227A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240012981A1 (en) * 2020-11-04 2024-01-11 Nippon Telegraph And Telephone Corporation Display control system, display control method, and display control program
JPWO2022230188A1 (ja) * 2021-04-30 2022-11-03

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323573A (ja) 2006-06-05 2007-12-13 Internatl Business Mach Corp <Ibm> 機能テスト・スクリプト生成装置
JP2012133721A (ja) 2010-12-24 2012-07-12 Internatl Business Mach Corp <Ibm> テストの網羅性を評価する装置及び方法
JP2017010088A (ja) 2015-06-16 2017-01-12 Kddi株式会社 Guiの画面遷移を自動化するプログラム、装置及び方法
JP2017102807A (ja) 2015-12-04 2017-06-08 株式会社日立製作所 テスト支援装置、テスト支援方法、及びプログラム
JP2017194892A (ja) 2016-04-22 2017-10-26 日本電信電話株式会社 テストケース生成プログラム及びテストケース生成方法
JP2018116496A (ja) 2017-01-18 2018-07-26 日本電信電話株式会社 差異検出装置及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239835B2 (en) * 2007-05-07 2012-08-07 Infosys Limited Automated software testing framework using independent test scripts
US8949795B2 (en) * 2012-08-23 2015-02-03 International Business Machines Corporation Generating test cases for covering enterprise rules and predicates
US10783061B2 (en) * 2018-06-22 2020-09-22 Microsoft Technology Licensing, Llc Reducing likelihood of cycles in user interface testing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323573A (ja) 2006-06-05 2007-12-13 Internatl Business Mach Corp <Ibm> 機能テスト・スクリプト生成装置
JP2012133721A (ja) 2010-12-24 2012-07-12 Internatl Business Mach Corp <Ibm> テストの網羅性を評価する装置及び方法
JP2017010088A (ja) 2015-06-16 2017-01-12 Kddi株式会社 Guiの画面遷移を自動化するプログラム、装置及び方法
JP2017102807A (ja) 2015-12-04 2017-06-08 株式会社日立製作所 テスト支援装置、テスト支援方法、及びプログラム
JP2017194892A (ja) 2016-04-22 2017-10-26 日本電信電話株式会社 テストケース生成プログラム及びテストケース生成方法
JP2018116496A (ja) 2017-01-18 2018-07-26 日本電信電話株式会社 差異検出装置及びプログラム

Also Published As

Publication number Publication date
WO2020209227A1 (ja) 2020-10-15
US20220214963A1 (en) 2022-07-07
JP2020173570A (ja) 2020-10-22

Similar Documents

Publication Publication Date Title
US10354225B2 (en) Method and system for process automation in computing
US7617486B2 (en) Method and system to automate software testing using sniffer side and browser side recording and a toolbar interface
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
JP5991695B2 (ja) 文書オブジェクトモデルツリーとカスケーディング・スタイル・シートとが取り出されることが可能なアプリケーションのソースコードを変更することによって生じる影響を検知するための方法、並びに、当該影響を検知するためのコンピュータ及びそのコンピュータ・プログラム
US20180322035A1 (en) Automation testing platform for facilitating automatic testing of an information technology (it) enabled application
US8875103B2 (en) Method of testing multiple language versions of a software system using one test script
US11074162B2 (en) System and a method for automated script generation for application testing
EP2705441B1 (en) Automatic classification adjustment of recorded actions for automation script
NL2010546A (en) Method and apparatus for automatically generating a test script for a graphical user interface.
CN108923997B (zh) 一种基于python的云服务节点自动测试方法及装置
JP7211228B2 (ja) 解析装置、解析方法、及びプログラム
JP7259949B2 (ja) テストスクリプト生成装置、テストスクリプト生成方法及びプログラム
CN112231197A (zh) 一种页面测试的方法、装置和存储介质
US10289613B2 (en) Element identifier generation
JP7268759B2 (ja) テストデータ生成装置、テストデータ生成方法、及びプログラム
WO2021205589A1 (ja) テストスクリプト生成装置、テストスクリプト生成方法及びプログラム
US20210349808A1 (en) Source quality check service
CN114936152A (zh) 应用测试方法及设备
US9477492B2 (en) Deploying multi-channel or device agnostic applications
WO2020209139A1 (ja) 類似遷移特定装置、類似遷移特定方法及びプログラム
WO2020085129A1 (ja) テストデータ生成装置、テストデータ生成方法及びプログラム
WO2020230241A1 (ja) テスト装置、テスト方法及びプログラム
JP7327471B2 (ja) テスト装置、テスト方法及びプログラム
WO2023105696A1 (ja) 情報付与装置、情報付与方法及び情報付与プログラム
US20220405196A1 (en) Operation pattern generation apparatus, operation pattern generation method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220912

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: 20221213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221226

R150 Certificate of patent or registration of utility model

Ref document number: 7211228

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150