(57)【要約】【課題】画面が含む各入力領域に対して予め用意される各入力値の設定作業を効果的に補助すること。【解決手段】入力値設定補助装置は、複数の入力領域を含む第１の画面を表示させ、当該第１の画面の画像と、当該第１の画面が含む各入力領域に関する座標値とを取得する取得部と、前記第１の画面について前記取得部によって取得された画像と、当該第１の画面の入力領域ごとに値を設定させるための設定領域とを含む第２の画面を表示させ、いずれかの前記設定領域が選択されると、当該設定領域に係る前記入力領域について前記取得部によって取得された前記座標値に基づいて、所定の目印を表示する補助部と、を有する。【選択図】図５
2020173592.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力領域を含む第１の画面を表示させ、当該第１の画面の画像と、当該第１の画面が含む各入力領域に関する座標値とを取得する取得部と、
前記第１の画面について前記取得部によって取得された画像と、当該第１の画面の入力領域ごとに値を設定させるための設定領域とを含む第２の画面を表示させ、いずれかの前記設定領域が選択されると、当該設定領域に係る前記入力領域について前記取得部によって取得された前記座標値に基づいて、所定の目印を表示する補助部と、
を有することを特徴とする入力値設定補助装置。
【請求項２】
前記補助部は、前記第２の画面に表示されている前記画像に前記所定の目印を重畳させて表示する、
ことを特徴とする請求項１記載の入力値設定補助装置。
【請求項３】
前記補助部は、前記第２の画面に表示されている前記画像において前記座標値が示す位置に前記所定の目印を表示する、
ことを特徴とする請求項１又は２記載の入力値設定補助装置。
【請求項４】
複数の入力領域を含む第１の画面を表示させ、当該第１の画面の画像と、当該第１の画面が含む各入力領域に関する座標値とを取得する取得手順と、
前記第１の画面について前記取得手順において取得された画像と、当該第１の画面の入力領域ごとに値を設定させるための設定領域とを含む第２の画面を表示させ、いずれかの前記設定領域が選択されると、当該設定領域に係る前記入力領域について前記取得手順において取得された前記座標値に基づいて、所定の目印を表示する補助手順と、
をコンピュータが実行することを特徴とする入力値設定補助方法。
【請求項５】
複数の入力領域を含む第１の画面を表示させ、当該第１の画面の画像と、当該第１の画面が含む各入力領域に関する座標値とを取得する取得手順と、
前記第１の画面について前記取得手順において取得された画像と、当該第１の画面の入力領域ごとに値を設定させるための設定領域とを含む第２の画面を表示させ、いずれかの前記設定領域が選択されると、当該設定領域に係る前記入力領域について前記取得手順において取得された前記座標値に基づいて、所定の目印を表示する補助手順と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力値設定補助装置、入力値設定補助方法及びプログラムに関する。
【背景技術】
【０００２】
多様化する消費者ニーズに合ったサービスを迅速に提供するために、近年、ソフトウェア開発を短いサイクルで実施し、頻繁にサービスをリリースする開発スタイルが増加している。短いサイクルでサービスを提供することに伴い、ソフトウェアの動作の正常性を確認するためのソフトウェアテストの頻度も増加している。
【０００３】
ソフトウェアテストでは、テスト対象となるＷｅｂアプリケーション（以下、単に「Ｗｅｂアプリ」という。）が、設計者の意図した通りに動作するかどうかを確認する機能テストが行われる。機能テストの中でも、画面遷移（Ｗｅｂページの遷移）に関わるテスト（以下、「画面遷移テスト」という。）に膨大な時間がかかることが問題となっている。ここでは、画面遷移テストを、「クライアントサイドからのインタラクションに対し、クライアントサイドに表示される画面から、Ｗｅｂアプリが仕様通りに実装されているかどうかを確認するためのテスト」と定義する。
【０００４】
画面遷移テストが時間を要する理由は、クライアントサイドからのインタラクションとして、画面にあるリンクやボタンのクリック操作や、入力フォームに適切な値を入力するなどの人手を介する操作が求められるからである。これらの操作を全ての画面で繰り返し実施するため、膨大な時間を要しており、省力化が求められている。
【０００５】
画面遷移テストに要する時間を削減する方法として、テストケースをスクリプトで記述することで、画面遷移テストを自動実行する方法が知られている。しかし、テストスクリプトを作成する作業自体にも時間がかかるため、作成したテストスクリプトを使用した自動テストを３回以上実施しないと、作業時間の効果は表れないとも言われている。また、既存の機能に変更が加わることで、作成したテストスクリプトが使用できなくなるため、仕様変更が施されるたびにテストスクリプトを作り直す必要が出てくる。
【０００６】
このような課題を解決するために、テスト対象のＷｅｂアプリケーションを解析することで仕様情報を復元し、復元された仕様情報からテストスクリプトを自動生成する、リバースベースのテストスクリプト自動生成技術（以下、「リバースベーステスト技術」という。）が考案されている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】倉林 利行, 伊山 宗吉, 切貫 弘之, 丹野 治門: "画面操作を伴うテストにおけるテストスクリプトの自動生成手法", ソフトウェアエンジニアリングシンポジウム2017論文集 pp. 260-264, 2017年9月
【非特許文献２】倉林 利行 , 切貫 弘之 , 丹野 治門: "テストスクリプトの自動生成におけるテスト入力値作成支援技術の提案",情報処理学会 研究報告ソフトウェア工学 , vol. 2018-SE-199, no. 13, pp.1-7, 2018年7月
【発明の概要】
【発明が解決しようとする課題】
【０００８】
リバースベーステスト技術では、ハイパーリンクやボタンのみで構成されたテスト対象に対しては工数をかけずに画面遷移を網羅可能なテストスクリプトを自動生成することができる。しかし、ログイン画面のように特定の入力値を必要とする場合はクローリング（遷移先の画面の取得）が困難である。そのため、特定の入力値を必要とする場合は、人手で入力値を用意して事前にクローラに与えなくてはならない。人手で入力値を用意して事前にクローラに与えることを画面入力値補助と呼ぶ。画面入力値補助を実現するためには、テスターが入力フォームをすべて探し出した上で、各入力フォームに対応する入力値を設定する必要が有る。
【０００９】
非特許文献２には、各入力フォームに対応する入力値を予め設定可能とする技術が開示されている。具体的には、例えば、図１のような画面遷移を行うＷｅｂアプリが有るとする。図１には、画面ｇ１〜画面ｇ１６が遷移先として示されている。なお、各画面は、例えば、ＨＴＭＬ（HyperText Markup Language）によって表現されている。図２には、画面ｇ７のＨＴＭＬの記述例が示されている。当該ＨＴＭＬから明らかなように、各画面のＨＴＭＬには、各画面の入力フォームのＩＤ等（ｉｎｐｕｔ要素のｉｄ属性）が含まれている。非特許文献２に開示された技術によれば、クローリングの後に、各遷移先の画面について図３（ａ）のような画面入力値記入様式としてのテキストデータが出力される。図３（ａ）は、図２の画面ｇ７に対する画面入力値記入様式を示す。当該画面入力値記入様式は、画面ｇ７のタイトル及びＵＲＬに加え、画面ｇ７の各入力フォームのＩＤごとに、値をユーザに入力させるための行（「−Ｖａｌｕｅ：」の行。以下、「入力行」という。）を含む。したがって、ユーザが、画面入力値記入様式の各入力行に対して入力値を追記することで、画面入力値記入様式は、図３（ｂ）のように更新される。
【００１０】
この既存手法には、画面入力値記入様式において、各入力行が、実際の画面のどの入力フォームに対応しているかがユーザにとって分かりづらいという問題点がある。図３の例のように、「ｉｄ：ｄｅｐａｒｔｍｅｎｔ」といったＩＤの文字列を参照することで、ユーザは、或る程度、入力行に対応する入力フォームを推測できる場合もあるが、あくまでも推測であるため、正確性に欠ける。
【００１１】
また、Ｗｅｂアプリの実装によっては、各入力フォームのＩＤが意味のある文字列ではない場合もある。その場合、ユーザは、画面入力値記入様式の各入力行がどの画面上のどの入力フォームに対応しているのかを正確に知るために、実際にＷｅｂアプリを動作させ、手動で対象の画面まで遷移させ、当該画面で入力値補助の対象となる入力フォームの画面ＩＤをＷｅｂブラウザに付属のツールで確認する必要があるが、これには労力がかかる。
【００１２】
また、入力フォームに対応する情報（例えば、図２のＨＴＭＬ上の「部署名」といったテキスト）を、ＨＴＭＬのＤＯＭツリーにおける入力フォーム近辺の要素やテキストなどから推定するといったことも考えられるが、これはあくまで推定になってしまうため、正確性に欠ける。
【００１３】
本発明は、上記の点に鑑みてなされたものであって、画面が含む各入力領域に対して予め用意される各入力値の設定作業を効果的に補助することを目的とする。
【課題を解決するための手段】
【００１４】
そこで上記課題を解決するため、入力値設定補助装置は、複数の入力領域を含む第１の画面を表示させ、当該第１の画面の画像と、当該第１の画面が含む各入力領域に関する座標値とを取得する取得部と、前記第１の画面について前記取得部によって取得された画像と、当該第１の画面の入力領域ごとに値を設定させるための設定領域とを含む第２の画面を表示させ、いずれかの前記設定領域が選択されると、当該設定領域に係る前記入力領域について前記取得部によって取得された前記座標値に基づいて、所定の目印を表示する補助部と、を有する。
【発明の効果】
【００１５】
画面が含む各入力領域に対して予め用意される各入力値の設定作業を効果的に補助することができる。
【図面の簡単な説明】
【００１６】
【図１】画面遷移の一例を示す図である。
【図２】ＨＴＭＬによる記述例を示す図である。
【図３】画面入力値記入様式を説明するための図である。
【図４】本発明の実施の形態における入力値設定補助装置１０のハードウェア構成例を示す図である。
【図５】本発明の実施の形態における入力値設定補助装置１０の機能構成例を示す図である。
【図６】拡張画面入力値記入様式の生成処理の処理手順の一例を説明するためのフローチャートである。
【図７】画面の入力フォームに対応する値の設定の補助処理の処理手順の一例を説明するためのフローチャートである。
【図８】設定補助画面の表示例を示す図である。
【図９】目印の表示例を示す図である。
【図１０】設定補助画面の第２の表示例を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面に基づいて本発明の実施の形態を説明する。図４は、本発明の実施の形態における入力値設定補助装置１０のハードウェア構成例を示す図である。図４の入力値設定補助装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００１８】
入力値設定補助装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１９】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って入力値設定補助装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
【００２０】
図５は、本発明の実施の形態における入力値設定補助装置１０の機能構成例を示す図である。図５において、入力値設定補助装置１０は、クローリング部１１及び設定補助部１２等を有する。これら各部は、入力値設定補助装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。
【００２１】
クローリング部１１は、テスト対象のＷｅｂアプリについてクローリングを行い、当該Ｗｅｂアプリに関する遷移先の複数の画面（Ｗｅｂページ）のそれぞれごとに、当該画面の入力フォーム（入力領域）に対する値の設定を補助するためのデータ（以下、「拡張画面入力値記入様式」という。）を生成する。
【００２２】
設定補助部１２は、テスト対象のＷｅｂアプリに関する複数の画面のそれぞれについて、クローリング部１１によって生成された拡張画面入力値記入様式に基づく画面（以下、「設定補助画面」という。）を表示装置１０６に表示し、各入力フォームに対する入力値の設定を受け付け、設定された入力値を拡張画面入力値記入様式に反映（上書き）する。
【００２３】
以下、入力値設定補助装置１０が実行する処理手順について説明する。図６は、拡張画面入力値記入様式の生成処理の処理手順の一例を説明するためのフローチャートである。
【００２４】
ステップＳ１０１において、クローリング部１１は、テスト対象のＷｅｂアプリ（以下、「対象アプリ」という。）の初期ＵＲＬ（Uniform Resource Locator）を取得する。初期ＵＲＬとは、対象アプリの画面遷移において起点となる画面に対するＵＲＬをいう。なお、初期ＵＲＬは、ステップＳ１０１のタイミングにおいてユーザによって入力されてもよいし、予め補助記憶装置１０２等に記憶されていてもよい。
【００２５】
続いて、クローリング部１１は、処理対象のＵＲＬ（以下、「対象ＵＲＬ」という。）に対応する対象画面（Ｗｅｂページ）の表示データ（ＨＴＭＬデータ等）を、対象ＵＲＬへアクセスすることにより取得し、Ｗｅｂブラウザを利用して当該表示データに基づく対象画面を表示装置１０６へ表示する（Ｓ１０２）。なお、ステップＳ１０２が初めて実行される場合、初期ＵＲＬが対象ＵＲＬである。
【００２６】
続いて、クローリング部１１は、対象画面のタイトル及び対象画面の各入力フォームのＩＤを取得する（Ｓ１０３）。当該タイトルや当該ＩＤの取得は、公知技術を用いて行うことが可能である。
【００２７】
続いて、クローリング部１１は、対象画面の画面キャプチャを実行し、対象画面の画像データ（以下、「対象画面画像」という。）を取得する（Ｓ１０４）。続いて、クローリング部１１は、対象画面の各入力フォームの所定の位置の座標値（例えば、左上頂点の座標値）を取得する（Ｓ１０５）。当該座標値は、例えば、対象画面画像の左上頂点を原点とする座標系における座標値である。なお、当該座標値は、例えば、ＤＯＭ（Document Object Model ）ツリーにおいて各入力フォームに対応する要素を特定し、当該要素に対応する座標値をＷｅｂブラウザに関連するツールに問い合わせることで取得されてもよい。
【００２８】
続いて、クローリング部１１は、対象画面のタイトル、対象画面のＵＲＬ、対象画面の各入力フォームのＩＤを含む画面入力値記入様式を生成すると共に、当該画面入力値記入様式を対象画面画像に関連付けて、例えば、補助記憶装置１０２に保存する（Ｓ１０６）。なお、当該画面入力値記入様式は、図３（ａ）に示した形式のテキストデータでもよい。ここで、画面入力値記入様式と対象画面画像とのペアが、拡張画面入力値記入様式である。
【００２９】
ステップＳ１０２以降は、対象アプリについて遷移先の全ての画面が対象画面とされて実行される（Ｓ１０７）。したがって、遷移先の画面ごとに拡張画面入力値記入様式が生成される。例えば、図１に示したＷｅｂアプリが対象アプリであれば、画面ｇ１〜画面ｇ１６の１６個の画面のそれぞれについて、拡張画面入力値記入様式が生成及び保存される。
【００３０】
図７は、画面の入力フォームに対応する値の設定の補助処理の処理手順の一例を説明するためのフローチャートである。図７の処理手順は、図６の処理手順の完了に続けて（同期的に）実行されてもよいし、図６の処理手順の実行後の任意のタイミングで実行されてもよい。また、図７では、或る一つの画面（以下、「対象画面」という。）を処理対象とした例について説明する。全ての遷移先の画面を処理対象とする場合、図７の処理手順が全ての拡張画面入力値記入様式についてループされればよい。
【００３１】
ステップＳ２０１において、設定補助部１２は、対象画面の拡張画面入力値記入様式に基づいて、設定補助画面を生成し、当該設定補助画面を表示装置１０６へ表示する。
【００３２】
図８は、設定補助画面の表示例を示す図である。図８において、設定補助画面５１０は、画面画像表示領域５１１、入力値設定領域５１２及び登録ボタン５１３等を含む。
【００３３】
画面画像表示領域５１１は、対象画面画像が、そのままの解像度で、かつ、拡大及び縮小が行われない状態で表示される領域である。
【００３４】
入力値設定領域５１２は、対象画面の各入力フォームに対する入力値の設定を受け付けるための領域である。すなわち、入力値設定領域５１２には、対象画面の入力フォームごとに行を含み、各行は、入力フォームのＩＤ（ｉｄ）と、入力値の設定領域（セル）とを含む。なお、入力値設定領域５１２は、対象画面の拡張画面入力値記入様式に基づいて生成可能である。
【００３５】
登録ボタン５１３は、入力値設定領域５１２に入力された入力値の登録（拡張画面入力値記入様式への書き込み）の指示を受け付けるためのボタンである。なお、図８は、対象画面が画面ｇ７である場合の設定補助画面５１０の表示例に相当する。
【００３６】
続いて、登録ボタン５１３が押下されるまで（Ｓ２０２）、入力値設定領域５１２のいずれかの行のセルが選択されるたびにステップＳ２０３〜Ｓ２０５が繰り返される。すなわち、入力値設定領域５１２において、いずれかのセルが選択されと（Ｓ２０３でＹｅｓ）、設定補助部１２は、入力値設定領域５１２において当該セルを含む行のＩＤを特定し、当該ＩＤに関して対象画面の拡張画面入力値記入様式に記述されている座標値を取得する。
【００３７】
続いて、設定補助部１２は、画面画像表示領域５１１に表示されている対象画面画像において当該座標値に対応する位置に目印を表示する（Ｓ２０５）。
【００３８】
図９は、目印の表示例を示す図である。図９では、ＩＤ（ｉｄ）が「ｄｅｐａｒｔｍｅｎｔ」である行のセルが選択された状態が示されている。この状態において、画面画像表示領域５１１に表示されている対象画面画像において、部署名の入力フォームの左上頂点に逆三角形の目印ｍ１が対象画面画像に重畳されている。目印ｍ１が、ステップＳ２０５において表示される目印である。目印ｍ１により、ユーザが値の入力対象としているセルに対応している入力フォームが視覚的に明確となるため、ユーザは、いずれの画面のいずれの入力フォームに対する値を設定しているのかを容易に把握することができる。
【００３９】
なお、目印の形状は、図９に示したものに限られない。また、目印の表示位置も左上頂点に限られない。また、目印の表示箇所は、入力フォームにおける１点でなくてもよい。例えば、図６のステップＳ１０５では、各入力フォームの外接矩形の各頂点又は対角の頂点の座標値が取得されるようにし、ステップＳ２０５では、当該外接矩形が目印として表示されるようにしてもよい。又は、入力対象とされているセルと、当該セルに対応する入力フォームの座標値とを接続する線等が目印として表示されてもよい。すなわち、セルと入力フォームとの対応関係が明確であれば、目印の表示形態及び形状は特定のものに限定されない。
【００４０】
入力値設定領域５１２の全て又は一部の行の各セルに値が入力された状態で登録ボタン５１３が押下されると（Ｓ２０２でＹｅｓ）、設定補助部１２は、各セルに入力された値を、当該セルを含む行に対応するＩＤに対する値として、対象画面の拡張画面入力値記入様式へ反映する（Ｓ２０６）。その結果、拡張画面入力値記入様式は、例えば、図３（ｂ）のような状態となる。
【００４１】
なお、設定補助画面５１０は、図１０に示されるように拡張されてもよい。図１０は、設定補助画面の第２の表示例を示す図である。
【００４２】
図１０において、入力値設定領域５１２は、更に、各入力フォームの属性（属性１、属性２等）に対応する列（図中において破線で囲まれている列）を含む。これらの属性は、対象画面の表示データ（ＨＴＭＬデータ等）内において、各入力フォームに対して定義されている情報である。例えば、ｒｅｑｕｉｒｅｄ属性のように、入力値に対する制約条件を示す属性の値を表示対象とすることにより、入力補助の効果を高めることができる。
【００４３】
なお、この場合、クローリング部１１は、ステップＳ１０３において、各入力フォームのＩＤと共に、各入力フォームの属性情報を取得し、ステップＳ１０６において、各入力フォームの属性情報を含むように画面入力値記入様式を生成すればよい。
【００４４】
図１０における設定補助画面５１０は、更に、入力履歴領域５１４を含む。入力履歴領域５１４は、過去の図７の実行時において対象画面の各入力フォームに対して設定された各入力フォームの入力値が表示される領域である。例えば、図１０において、「入力値セットＮ（Ｎ＝１，２，・・・）」は、Ｎ回目において、各入力フォームに対して設定された入力値のセットを示す。
【００４５】
すなわち、以下のように、同じＷｅｂアプリに対して、各遷移先画面の各入力フォームに対して入力値の設定作業が複数回実行されてもよい。
（１）１回目のクローリング
（２）１回目の入力値の設定作業
（３）２回目のクローリング（この際、（２）で与えられた入力値も活用し、より広い範囲をクローリング）
（４）２回目の入力値の設定作業（この際、（３）でも到達できなかった画面へ到達できるよう、さらに入力値を追加
（５）３回目のクローリング・・・
以下、遷移先を網羅するまで繰り返し。
【００４６】
このような場合、各画面の各入力フォームについて過去に設定した入力値が分かれば、（４）等において過去に設定した入力値を重複して入力してしまうといったことを回避することができ、作業の効率化を図ることができる。
【００４７】
なお、入力履歴領域５１４を設定補助画面５１０に含める場合には、各回の入力値の設定作業において生成された拡張画面入力値記入様式の履歴を保存しておくようにすればよい。設定補助部１２は、当該履歴に基づいて、入力履歴領域５１４を設定補助画面５１０に含めればよい。  上述したように、本実施の形態によれば、ユーザによって値の設定対象とされている箇所が、画面画像上において視覚的に示される。したがって、ユーザは、いずれの画面のいずれの入力フォームの値を設定対象としているのかを明確に知ることができる。その結果、画面が含む各入力領域に対して予め用意される各入力値の設定作業を効果的に補助することができる。
【００４８】
なお、本実施の形態は、Ｗｅｂアプリ以外のアプリケーションに適用されてもよい。すなわち、各画面の表示データは、ＨＴＭＬデータに限定されない。
【００４９】
なお、本実施の形態において、クローリング部１１は、取得部の一例である。設定補助部１２は、補助部の一例である。Ｗｅｂアプリの遷移先の画面は、第１の画面の一例である。設定補助画面５１０は、第２の画面の一例である。
【００５０】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００５１】
１０          入力値設定補助装置
１１          クローリング部
１２          設定補助部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
Ｂ            バス
【図１】
2020173592.tif 000003
【図２】
2020173592.tif 000004
【図３】
2020173592.tif 000005
【図４】
2020173592.tif 000006
【図５】
2020173592.tif 000007
【図６】
2020173592.tif 000008
【図７】
2020173592.tif 000009
【図８】
2020173592.tif 000010
【図９】
2020173592.tif 000011
【図１０】
2020173592.tif 000012