JP2019106107A - プログラム、情報処理装置及び画面テストシステム - Google Patents

プログラム、情報処理装置及び画面テストシステム Download PDF

Info

Publication number
JP2019106107A
JP2019106107A JP2017239556A JP2017239556A JP2019106107A JP 2019106107 A JP2019106107 A JP 2019106107A JP 2017239556 A JP2017239556 A JP 2017239556A JP 2017239556 A JP2017239556 A JP 2017239556A JP 2019106107 A JP2019106107 A JP 2019106107A
Authority
JP
Japan
Prior art keywords
screen
test
identification information
tested
displayed
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
Application number
JP2017239556A
Other languages
English (en)
Other versions
JP6781688B2 (ja
Inventor
洋忠 山▲崎▼
Hirotada Yamazaki
洋忠 山▲崎▼
豊 上村
Yutaka Kamimura
豊 上村
桜子 大竹
Sakurako Otake
桜子 大竹
はづき 下園
Hazuki Shimozono
はづき 下園
卓也 山口
Takuya Yamaguchi
卓也 山口
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.)
Fujitsu FIP Corp
Original Assignee
Fujitsu FIP 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 Fujitsu FIP Corp filed Critical Fujitsu FIP Corp
Priority to JP2017239556A priority Critical patent/JP6781688B2/ja
Publication of JP2019106107A publication Critical patent/JP2019106107A/ja
Application granted granted Critical
Publication of JP6781688B2 publication Critical patent/JP6781688B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】汎用性の高いテスト手順の作成と、作成したテスト手順による画面テストとを実現できるプログラムを提供する。【解決手段】画面テストシステムにおいて、ユーザは入力補助ツールを利用し、テスト対象の画面をキャプチャし、その画面に表示されているオブジェクト(画面項目)を特定し、テスト対象アプリの画面テストに必要なテストシナリオの作成を行う(S11)。ユーザは画面テストツールに対して画面テスト実行の指示を行い、画面テストツールは作成したテストシナリオに従い、テスト対象アプリの画面への操作を行い、画面テストを行う(S12)。画面テストツールはテスト対象アプリへの画面テストの結果(テスト結果画像やテスト結果レポートなど)を出力する(S13)。【選択図】図4

Description

本発明は、プログラム、情報処理装置及び画面テストシステムに関する。
システム開発において画面テストを自動化するツールは従来から知られている。例えばグラフィカルユーザーインターフェース(GUI)アプリケーションのテストでは、テスト支援装置を用い、ユーザの操作を記録し、その記録した操作をテスト支援装置が再現・検証することによって、テストの自動実行、すなわちテストの自動化を実現していた(例えば特許文献1参照)。
特開2010−198479号公報
画面テストを自動化する従来のツールは、設定されたテストシナリオに従ってテスト対象のアプリケーションを動作させることでテストを行っている。例えば画面テストで利用されるテストシナリオには、テスト対象のアプリケーションの画面へのユーザ操作がスクリプトにより設定されていた。したがって、従来のツールを利用して画面テストを自動化する為にはスクリプトの知識が必要という問題があった。
上記した特許文献1には、テスト実行者が行う対象アプリケーションへの操作をテストスクリプトとして保存する内容が記載されている。しかしながら、上記した特許文献1の内容では、テスト対象の画面に表示されているオブジェクトにIDが付与されていない場合に、そのオブジェクトの指定をディスプレイ上の座標などで行う必要があり、ウインドウサイズなどに依存する汎用性に乏しいテストシナリオ(テスト手順)になってしまうという問題があった。
本発明は、汎用性の高いテスト手順の作成と、作成したテスト手順による画面テストとを実現できるプログラム、情報処理装置及び画面テストシステムを提供することを目的とする。
上記した課題を解決するために本願請求項1のプログラムは、コンピュータに、テスト対象の第1の画面に表示されているオブジェクトを指定したテスト手順作成指示のための操作をユーザから受け付ける受付ステップ、前記第1の画面に表示されているオブジェクトに第2の識別情報が設定されていない場合に、前記第1の画面に表示されているオブジェクトの位置情報を取得し、前記位置情報により決めた順位に従って前記オブジェクトに採番を行い、採番した第1の識別情報を前記オブジェクトに設定する設定ステップ、前記第1の識別情報又は前記第2の識別情報が前記オブジェクトの特定情報として指定されている1つ以上の前記オブジェクトに対するテスト手順を前記オブジェクトに対する操作内容から作成する作成ステップ、前記テスト手順で指定された前記特定情報によりテスト対象の第2の画面に表示されているオブジェクトを特定できれば、前記第2の識別情報が前記オブジェクトの特定情報として指定されている前記テスト手順に従って前記テスト対象の第2の画面の画面テストを行い、前記特定情報により前記オブジェクトを特定できなければ、前記設定ステップと同様に前記テスト対象の第2の画面に表示されているオブジェクトに採番を行い、採番した第1の識別情報を前記オブジェクトに設定し、前記第1の識別情報が前記オブジェクトの特定情報として指定されている前記テスト手順に従って前記テスト対象の第2の画面の画面テストを行う実行ステップ、を実行させるためのプログラムであることを特徴とする。
本発明によれば、汎用性の高いテスト手順の作成と、作成したテスト手順による画面テストとを実現できる。
本実施形態に係る画面テストシステムの一例の構成図である。 コンピュータの一例のハードウェア構成図である。 本実施形態に係る画面テストシステムの一例のソフトウェア構成図である。 本実施形態に係る画面テストシステムの処理の一例のフローチャートである。 入力補助ツールを利用したテストシナリオ設定処理の一例の説明図である。 テスト対象画面及びテストシナリオ画面の一例のイメージ図である。 オブジェクトに関する情報にオブジェクトのIDが含まれていなかった場合のテストシナリオ画面の一例のイメージ図である。 入力補助ツールを利用したテストシナリオ設定処理の一例のフローチャートである。 画面テスト実行処理及びテスト結果出力処理の一例の説明図である。 テストシナリオ設定画面の一例のイメージ図である。 ログイン画面の一例のイメージ図である。 検索画面の一例のイメージ図である。 検索結果画面の一例のイメージ図である。 テスト結果レポートが表示された画面の一例のイメージ図である。 画面テスト実行処理及びテスト結果出力処理の一例のフローチャートである。
以下、本発明の実施形態について図面を参照しながら説明する。
[第1の実施形態]
<システム構成>
図1は、本実施形態に係る画面テストシステムの一例の構成図である。本実施形態に係る画面テストシステムは、図1(A)に示すように一台の情報処理装置1により構成されてもよいし、図1(B)に示すように複数台の情報処理装置2及び3により構成されてもよい。図1(B)の画面テストシステムではサーバ装置として機能する情報処理装置2とクライアント装置として機能する情報処理装置3とがローカルエリアネットワーク(LAN)やインターネットなどのネットワーク4を介してデータ通信可能に接続されている。
図1(A)の情報処理装置1は、画面テストを行うユーザが操作する端末装置の一例であり、パーソナルコンピュータ(PC)やスマートデバイス、携帯電話等である。例えば図1(A)の画面テストシステムは情報処理装置1にダウンロードし、情報処理装置1で実行するクライアントアプリの画面テストや、WebブラウザからWebサービスを介して実行されるWebアプリの画面テストに適用できる。
図1(B)の情報処理装置2はWebアプリを実行するサーバ装置の一例であり、PCやワークステーション、メインフレーム等である。また、情報処理装置3は画面テストを行うユーザが操作するクライアント装置の一例であって、PCやスマートデバイス、携帯電話等である。情報処理装置3はWebブラウザが搭載されており、そのWebブラウザからWebサービスを介してWebアプリを操作する。例えば図1(B)の画面テストシステムはWebアプリの画面テストや、クライアントアプリの画面テストに適用できる。
なお、図1の画面テストシステムは一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもない。例えば図1(B)の画面テストシステムではサーバ装置として機能する情報処理装置2が一台の例であるが、複数台であってもよく、様々な構成が可能である。
<ハードウェア構成>
図1の画面テストシステムの情報処理装置1、2及び3は例えば図2のハードウェア構成のコンピュータにより実現される。図2はコンピュータの一例のハードウェア構成図である。
図2に示したコンピュータ500は、入力装置501、表示装置502、外部I/F503、RAM504、ROM505、CPU506、通信I/F507及びHDD508などを備え、それぞれがバスBで相互に接続されている。なお、入力装置501及び表示装置502は必要なときに接続して利用する形態であってもよい。
入力装置501はキーボードやマウス、タッチパネルなどであり、ユーザ等が各操作信号を入力するのに用いられる。表示装置502はディスプレイ等であり、コンピュータ500による処理結果を表示する。通信I/F507はコンピュータ500をネットワーク4に接続するインタフェースである。HDD508は、プログラムやデータを格納している不揮発性の記憶装置の一例である。
外部I/F503は、外部装置とのインタフェースである。コンピュータ500は外部I/F503を介してSDメモリカードなどの記録媒体503aの読み取り及び/又は書き込みを行うことができる。ROM505は、プログラムやデータが格納された不揮発性の半導体メモリ(記憶装置)の一例である。RAM504はプログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)の一例である。
CPU506は、ROM505やHDD508などの記憶装置からプログラムやデータをRAM504上に読み出し、処理を実行することで、コンピュータ500全体の制御や機能を実現する演算装置である。図1の画面テストシステムの情報処理装置1、2及び3は例えば図2のコンピュータ500のハードウェア構成により、後述するような各種機能を実現できる。
<ソフトウェア構成>
以下では図1(A)の画面テストシステムの場合のソフトウェア構成を一例として説明する。図1(A)の画面テストシステムの情報処理装置1は、例えば図3のソフトウェア構成により実現される。
図3は本実施形態に係る画面テストシステムの一例のソフトウェア構成図である。図3の情報処理装置1は入力補助ツール10、テスト対象アプリ12及び画面テストツール14が搭載されている。入力補助ツール10は画面テストを実行するために必要なテストシナリオの作成を後述のように補助するツールである。テスト対象アプリ12は画面テストを実行するテスト対象のアプリである。画面テストツール14はテストシナリオに従ってテスト対象アプリ12の画面テストを後述のように行うツールである。なお、図3に示したソフトウェア構成は一例であって、例えば入力補助ツール10及び画面テストツール14が一体化された構成や、入力補助ツール10及び画面テストツール14が細分化された構成であってもよい。なお、入力補助ツール10及び画面テストツール14により実現される機能ブロックについては、後述する。
<処理>
本実施形態に係る画面テストシステムは、例えば図4に示すような手順でテスト対象のアプリの画面テストを行う。図4は本実施形態に係る画面テストシステムの処理の一例のフローチャートである。
ステップS11においてユーザは入力補助ツール10を利用し、テスト対象アプリ12の画面テストに必要なテストシナリオの作成を行う。入力補助ツール10はテスト対象の画面(第1の画面)をキャプチャすることで、その画面に表示されているオブジェクト(画面項目)を特定して後述のようにテストシナリオを設定できる。
ステップS12においてユーザは画面テストツール14に対して画面テスト実行の指示を行い、画面テストツール14にステップS11で作成したテストシナリオに従った画面テストを行わせる。画面テストツール14はテストシナリオに従い、テスト対象アプリ12の画面(第2の画面)への操作を後述のように行う。
ステップS13において画面テストツール14はテスト対象アプリ12への画面テストの結果(テスト結果画像やテスト結果レポートなど)を出力する。なお、ステップS11で作成したテストシナリオは保存しておくことができる。保存しておいたテストシナリオを利用する場合はステップS11の処理が省略される。
なお、図4の手順は一例であって、ステップS11の入力補助ツール10を利用したテストシナリオ設定処理に替えて、ユーザが表形式で表されるテストシナリオを手入力するようにしてもよい。この場合は、予め決まっている後述のIDを手入力するか、テスト対象の画面に表示されているオブジェクト(画面項目)の順番を出力するツールに出力させたIDを手入力する。
《ステップS11の詳細》
図5は入力補助ツールを利用したテストシナリオ設定処理の一例の説明図である。図5の入力補助ツール10は、テスト対象アプリ指定部22、オブジェクト操作受付部24、オブジェクト情報処理部26及びテストシナリオ出力部28を有する構成である。
テスト対象アプリ指定部22は例えば図6(A)に示すようなテスト対象アプリ12の画面(テスト対象画面1000)を指定する。また、テストシナリオ出力部28は図6(B)に示すようなテストシナリオ画面1100の表示を制御する。図6はテスト対象画面及びテストシナリオ画面の一例のイメージ図である。
オブジェクト操作受付部24は例えば図6(A)に示すテスト対象画面1000に表示されている入力欄への入力やボタンのクリックなどの操作(オブジェクト操作)をユーザから受け付ける。図6(A)のテスト対象画面は「ユーザID:」の入力欄1001に対してユーザが「f000001」を入力した例を示している。
オブジェクト情報処理部26はテスト対象画面1000をキャプチャすることで、テスト対象画面1000に表示された入力欄やボタンなどのオブジェクトに関する情報を取得する。オブジェクトに関する情報は、オブジェクトのID、オブジェクトのタイプ、オブジェクトの画面上の位置情報、オブジェクトの入力値などである。なお、テスト対象画面1000に表示されたオブジェクトはIDが振られていない場合もある。IDが振られていないオブジェクトの場合は、オブジェクトに関する情報にオブジェクトのIDが含まれていない。
オブジェクト情報処理部26は、取得したオブジェクトに関する情報にオブジェクトのIDが含まれていなければ、独自ルールでIDを決め、そのIDをオブジェクトに付与する。オブジェクト情報処理部26が利用する独自ルールは、画面の構造(オブジェクトの配置順など)が同じであれば、画面のサイズ、画面を表示する情報処理装置1の種類又は画面の構造について記述するプログラミング言語等の違いに関わらず、同一のIDに決まるルールである。例えばオブジェクト情報処理部26が利用する独自ルールでは、一意に定まる識別子になるようにIDを採番する。また、オブジェクト情報処理部26が利用する独自ルールでは、オブジェクトのタイプごとの連番となるようにIDを採番してもよく、全体連番となるようにIDを採番してもよい。さらに、オブジェクト情報処理部26が利用する独自ルールでは、複数のオブジェクトに紛らわしいIDが採番されていた場合、区別が付くようにIDの末尾に別途、識別子を付与することもできる。なお、独自ルールの詳細は後述する。
テストシナリオ出力部28はオブジェクト操作受付部24が受け付けたオブジェクト操作に基づくテストシナリオを例えば図6(B)のようにテストシナリオ画面1100に表示する。図6(B)のテストシナリオ画面1100は、オブジェクト情報処理部26が取得したオブジェクトに関する情報にオブジェクトのIDが含まれていた場合の例である。
図6(B)のテストシナリオ画面1100に表されたテストシナリオはID「loginUserId」が付与されているオブジェクトに値「f000001」を入力する操作が設定されたものである。
一方、オブジェクト情報処理部26が取得したオブジェクトに関する情報にオブジェクトのIDが含まれていなかった場合、テストシナリオ出力部28はオブジェクト操作受付部24が受け付けたオブジェクト操作に基づくテストシナリオを例えば図7(B)のようにテストシナリオ画面1200に表示する。図7はオブジェクトに関する情報にオブジェクトのIDが含まれていなかった場合のテストシナリオ画面の一例のイメージ図である。
図7(A)のオブジェクトに関する情報は、name属性及びid属性の値が設定されていない。そこで、オブジェクト情報処理部26は独自ルールでID「.1」を決め、そのIDをオブジェクトに付与する。結果として、図7(B)のテストシナリオ画面1200に表されたテストシナリオは、ID「.1」が付与されているオブジェクトに値「f000001」を入力する操作が設定されたものとなる。
図8は、入力補助ツールを利用したテストシナリオ設定処理の一例のフローチャートである。ステップS31において、ユーザは例えば図6(A)に示すテスト対象画面1000の入力欄1001に「f000001」を入力したあと、テストシナリオ作成指示のための操作(例えば入力欄1001の位置にマウスカーソルを移動して「Ctrl+Shift+z」キーを押下するなど)を行う。入力補助ツール10のオブジェクト操作受付部24はオブジェクトを指定したテストシナリオ作成指示のための操作を受け付ける。
ステップS32に進み、入力補助ツール10のオブジェクト情報処理部26はテストシナリオ作成指示のための操作を受け付けたオブジェクト(例えば入力欄1001)に関する情報を取得する。ステップS33に進み、オブジェクト情報処理部26はオブジェクトに関する情報からオブジェクトのタイプ(ButtonやText等)を取得し、オブジェクトのタイプに応じた操作とオブジェクトの入力値とを決定する。
ステップS34に進み、オブジェクト情報処理部26はステップS32で取得したオブジェクトに関する情報に基づき、テストシナリオ作成指示のための操作を受け付けたオブジェクトにIDが振られている(付与されている)か否かを判定する。テストシナリオ作成指示のための操作を受け付けたオブジェクトにIDが振られていれば、テストシナリオ出力部28はステップS35に進み、項目ID列にIDを指定、かつ、ステップS33で決定した操作及びオブジェクトの入力値を操作列及び値列に指定する。そして、テストシナリオ出力部28は図6(B)に示すテストシナリオ画面1100を表示する。
テストシナリオ作成指示のための操作を受け付けたオブジェクトにIDが振られていなければ、オブジェクト情報処理部26はステップS36に進み、テスト対象アプリ12の画面に表示されている全てのオブジェクトに関する情報と位置情報(相対座標)を取得する。ステップS37に進み、オブジェクト情報処理部26はステップS36で取得したオブジェクトから採番対象のオブジェクトを決定する。例えばオブジェクト情報処理部26は予めIDありのオブジェクトを採番対象として含めてもよいし、採番対象から削除するようにしてもよい。
例えばオブジェクト情報処理部26は、予めIDありのオブジェクトを含め、全てのオブジェクトを採番対象とする。オブジェクト情報処理部26は予めIDありのオブジェクトの予めのIDを退避用のキャッシュ(一時領域)に退避させておく。
ステップS38に進み、オブジェクト情報処理部26は例えばX軸、Y軸の順で優先順位を決め、採番対象のオブジェクトのタイプごとに採番を行う。採番後、オブジェクト情報処理部26は退避用のキャッシュ(一時領域)に退避させておいた、予めIDを予めIDありのオブジェクトに採用する。
例えばオブジェクト情報処理部26は予めID「なし」、「Login」及び「なし」のオブジェクトに一旦「.1」「.2」「.3」を採番し、退避させておいた予めID「Login」を適用することで、「.1」「Login」「.3」のIDを採用できる。
また、オブジェクト情報処理部26はステップS36で取得したオブジェクトのうち、予めIDありのオブジェクトを採番対象から削除してもよい。この場合、オブジェクト情報処理部26は予めID「Login」のオブジェクトを採番対象から除外し、予めID「なし」のオブジェクトに「.1」「.2」を採番することで、「.1」「Login」「.2」のIDを採用できる。また、オブジェクト情報処理部26は予めIDの列とステップS38で採番したIDの列とを両方設け、別の項目IDとして扱うようにしてもよい。この場合は、画面テスト実行時に予めIDが変わっていた場合などに、採番したIDを利用できる。
ステップS39に進み、テストシナリオ出力部28は項目ID列にステップS38で採番したIDを指定、かつ、ステップS33で決定した操作及びオブジェクトの入力値を操作列及び値列に指定する。そして、テストシナリオ出力部28は図7(B)に示すテストシナリオ画面1200を表示する。ユーザは図8の入力補助ツールを利用したテストシナリオ設定処理を1回以上行うことによりテストシナリオを設定できる。
《ステップS12及びS13の詳細》
図9は画面テスト実行処理及びテスト結果出力処理の一例の説明図である。図9の画面テストツール14は、テストシナリオ設定受付部52、テスト実行要求処理部54及びテスト結果出力部56を有する構成である。
テストシナリオ設定受付部52は例えば図10に示すようなテストシナリオ設定画面1300の表示を制御する。図10はテストシナリオ設定画面の一例のイメージ図である。テストシナリオ設定受付部52は例えば図10のテストシナリオ設定画面1300へのテストシナリオ設定操作をユーザから受け付ける。なお、ユーザは図6(B)に示したテストシナリオ画面1100又は図7(B)に示したテストシナリオ画面1200に表示されたテストシナリオをコピーし、テストシナリオ設定画面1300に貼り付けることで、テストシナリオ設定操作を行ってもよい。
テスト実行要求処理部54は、例えば図10のテストシナリオ設定画面1300のテスト実行ボタン1302の押下など、ユーザから画面テスト実行の指示を受け付ける。テスト実行要求処理部54はライブラリ62のデータを読み出し、テストシナリオに従ったテストコードを生成する。テスト実行要求処理部54は生成したテストコードをコンパイルする。
テスト実行要求処理部54はコンパイルした画面テストモジュールを実行することで、テストシナリオに従った画面テストを行う。テスト結果出力部56はテスト対象アプリ12への画面テストの結果(テスト結果画像ファイル64やテスト結果レポート66など)を出力する。
なお、テスト実行要求処理部54が行う画面テストは、様々なテストシナリオに基づくテストが想定されるが、ここではユーザIDとパスワードとをログイン画面に入力し、検索画面に検索条件を入力し、検索結果画面で検索結果を確認する例を説明する。
図11はログイン画面の一例のイメージ図である。図12は検索画面の一例のイメージ図である。図13は検索結果画面の一例のイメージ図である。例えばテスト実行要求処理部54は図10に表示されているテストシナリオに基づき、画面テストを行う。テスト実行要求処理部54は図11のログイン画面にユーザIDとパスワードとを入力してログインボタンのクリック操作を行うことで図12の検索画面に遷移させる。
テスト実行要求処理部54は図12の検索画面のクリアボタンをクリックし、対象月度のドロップダウンから「2017/01」を選択し、氏名「1」を入力することで検索条件を入力し、検索ボタンのクリック操作を行うことでテスト対象アプリ12に検索を実行させることで、図13の検索結果画面に遷移させる。
テスト実行要求処理部54は図13の検索結果画面に表示された検索結果の項目の値に「100001」が含まれているか否かを検証する。図10のテストシナリオは検証項目の一例として「あいまい検証」の例が示されている。検証項目は、画面テストの結果が正しいか否かの検証に使用される情報の一例である。
全てのテストシナリオが終了すると、テスト結果出力部56は例えば図14のようなテスト結果レポート66を画面に表示する。図14はテスト結果レポートが表示された画面の一例のイメージ図である。図14のテスト結果レポート66は画面テストごとにテスト結果が表示される。テスト結果レポート66はテストシナリオのどこで失敗したかを表示する。また、本件実施形態はテストシナリオが表形式であるため(例えば、失敗時のレポートに「仕様書の9行目」(図14参照)とあれば、表形式のテストシナリオの9行目を見れば済み)、失敗箇所を追いやすいというメリットもある。図14の「画面テストB」の画面テストは、画面テストの結果が正しくなかった場合の例を表しており、正しくない理由が記載されている。また、図14のテスト結果レポート66はテスト結果画像を表示する画面へのリンク67を設け、そのリンク67がクリックされた場合に、テスト結果画像ファイル64を表示する。なお、テスト結果レポート66はリンク67がクリックされた場合、失敗時のテスト結果画像ファイル64だけでなく、成功時のテスト結果画像ファイル64、又は、失敗時及び成功時のテスト結果画像ファイル64、を一覧表示してもよい。
また、図15は画面テスト実行処理及びテスト結果出力処理の一例のフローチャートである。ステップS51においてテスト実行要求処理部54は、例えば図10のテストシナリオ設定画面1300のテスト実行ボタン1302の押下など、ユーザから画面テスト実行の指示を受け付ける。
ステップS52に進み、テスト実行要求処理部54はテストシナリオで指定された項目IDを使ってテスト対象アプリ12の画面に表示されているオブジェクトを取得できるか否かを判定する。取得できなければテスト実行要求処理部54はテストシナリオの項目IDに指定されている値を、入力補助ツール10によって採番された番号(第1の識別情報)と判断する。また、テスト実行要求処理部54はテスト対象アプリ12の画面から全てのオブジェクトに関する情報と、その相対座標を取得する。ステップS54に進み、テスト実行要求処理部54はステップS53で取得したオブジェクトから採番対象のオブジェクトを決定する。例えばオブジェクト情報処理部26は図8のステップS37と同様に、予めIDありのオブジェクトを採番対象として含めてもよいし、採番対象から削除するようにしてもよい。
ステップS55に進み、テスト実行要求処理部54は入力補助ツール10の採番ルールと同様に、例えばX軸、Y軸の順で優先順位を決め、オブジェクトのタイプごとの採番を行う。ステップS56に進み、テスト実行要求処理部54はテストシナリオの項目IDに指定されている値(第1の識別情報又は第2の識別情報)を基に、ステップS55で採番した番号(第1の識別情報)のうち、番号が一致するものを特定し、ステップS57に進む。なお、ステップS52において、テストシナリオで指定された項目IDを使ってテスト対象アプリ12の画面に表示されているオブジェクトを特定できれば、テスト実行要求処理部54はステップS57に進む。
ステップS57において、テスト実行要求処理部54は特定できたオブジェクトに対してテストシナリオで指定された操作または検証と値とを使用して実操作処理(クリックや入力など)を行う。ステップS58に進み、テスト結果出力部56はテスト対象アプリ12の画面のテスト結果画像ファイル64を保存する。ステップS58に進み、テスト結果出力部56はテストシナリオが終了したか否かを判定する。ステップS52〜S59の処理はテストシナリオが終了するまで繰り返し行われる。テストシナリオが終了したと判定すると、テスト結果出力部56はステップS60に進み、各操作や検証が正しかったか否かを例えばHTMLのテスト結果レポート66として出力する。
以上、本実施形態によれば、アプリケーションパッケージの改修や、マイグレーション案件における繰り返し画面テストや、新旧比較の画面テスト等において、画面のサイズ、画面を表示する情報処理装置1の種類又は画面の構造について記述するプログラミング言語の違いに依存しない汎用性の高いテストシナリオの作成と、そのテストシナリオによる画面テストとを実現できる。
なお、マイグレーション案件は、ソフトウェアやシステム、データなどを別の環境に移転したり、新しい環境に切り替えたりする案件である。マイグレーション案件は、マイグレーション作業前とマイグレーション作業後とでユーザの操作感が変わらないように画面の構造が同じになる場合が多い。
したがって、マイグレーション案件では、マイグレーション作業前とマイグレーション作業後とでテストシナリオに変化が無い場合が多く、マイグレーション作業前の画面でテストシナリオを作成しておき、そのテストシナリオをマイグレーション作業後の画面テストで利用できる。このように、本実施形態はマイグレーション案件など、同じ画面テストを繰り返し行うような場合に、特に優れた効果を奏する。また、本実施形態はテストシナリオが表形式で表示されるので、テストシナリオの修正が容易であるという優れた効果も奏する。
[その他の実施形態]
上記した第1の実施形態では、図1(A)の画面テストシステムの場合の例を説明したが図1(B)の画面テストシステムであってもよい。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、本実施形態で説明した画面テストシステムは一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもない。なお、特許請求の範囲に記載した「テスト手順作成指示のための操作」は第1の実施形態の「テストシナリオ作成指示のための操作」に相当し、ステップS31で例示した入力欄1001の位置にマウスカーソルを移動して「Ctrl+Shift+z」キーを押下する操作の他、入力欄への入力やボタンのクリックなどの操作(オブジェクト操作)であってもよい。
1,2,3 情報処理装置
4 ネットワーク
10 入力補助ツール
12 テスト対象アプリ
14 画面テストツール
22 テスト対象アプリ指定部
24 オブジェクト操作受付部
26 オブジェクト情報処理部
28 テストシナリオ出力部
52 テストシナリオ設定受付部
54 テスト実行要求処理部
56 テスト結果出力部
62 ライブラリ
64 テスト結果画像ファイル
66 テスト結果レポート
1000 テスト対象画面
1100,1200 テストシナリオ画面
1300 テストシナリオ設定画面
1302 テスト実行ボタン

Claims (9)

  1. コンピュータに、
    テスト対象の第1の画面に表示されているオブジェクトを指定したテスト手順作成指示のための操作をユーザから受け付ける受付ステップ、
    前記第1の画面に表示されているオブジェクトに第2の識別情報が設定されていない場合に、前記第1の画面に表示されているオブジェクトの位置情報を取得し、前記位置情報により決めた順位に従って前記オブジェクトに採番を行い、採番した第1の識別情報を前記オブジェクトに設定する設定ステップ、
    前記第1の識別情報又は前記第2の識別情報が前記オブジェクトの特定情報として指定されている1つ以上の前記オブジェクトに対するテスト手順を前記オブジェクトに対する操作内容から作成する作成ステップ、
    前記テスト手順で指定された前記特定情報によりテスト対象の第2の画面に表示されているオブジェクトを特定できれば、前記第2の識別情報が前記オブジェクトの特定情報として指定されている前記テスト手順に従って前記テスト対象の第2の画面の画面テストを行い、前記特定情報により前記オブジェクトを特定できなければ、前記設定ステップと同様に前記テスト対象の第2の画面に表示されているオブジェクトに採番を行い、採番した第1の識別情報を前記オブジェクトに設定し、前記第1の識別情報が前記オブジェクトの特定情報として指定されている前記テスト手順に従って前記テスト対象の第2の画面の画面テストを行う実行ステップ、
    を実行させるためのプログラム。
  2. 前記作成ステップは、前記テスト対象の第1の画面に表示されているオブジェクトを指定したテスト手順作成指示のための操作をユーザから受け付けると、前記オブジェクトのタイプに応じた操作、及び前記オブジェクトに入力されている値を前記操作内容として出力して、前記オブジェクトに対するテスト手順の作成を補助すること
    を特徴とする請求項1記載のプログラム。
  3. 前記作成ステップは、前記オブジェクトに対するテスト手順の作成に必要な前記オブジェクトのタイプに応じた操作、及び前記オブジェクトに入力される値を前記操作内容として、表形式でユーザに入力又は修正させること
    を特徴とする請求項2記載のプログラム。
  4. 前記設定ステップは、前記第1の画面の構造が前記第2の画面の構造と同様であれば、前記第1及び第2の画面のサイズの違い、前記第1及び第2の画面を表示する前記コンピュータの種類の違い、又は、前記第1及び第2の画面の構造について記述するプログラミング言語の違い、に関わらず、前記位置情報により決めた順位が前記実行ステップと同じとなること
    を特徴とする請求項1乃至3何れか一項記載のプログラム。
  5. 前記設定ステップで前記位置情報を取得する前記オブジェクトが表示されている前記テスト対象の第1の画面は、マイグレーション作業前の画面であり、前記実行ステップで前記画面テストを行う前記テスト対象の第2の画面は、マイグレーション作業後の画面であること
    を特徴とする請求項1乃至4何れか一項記載のプログラム。
  6. 前記設定ステップは、前記オブジェクトに設定した前記第1の識別情報の末尾に別途、識別子を付与できること
    を特徴とする請求項1乃至5何れか一項記載のプログラム。
  7. 前記コンピュータに、前記画面テストの結果を出力する出力ステップ、を更に実行させ、前記出力ステップは、表形式で表される前記テスト手順の成功時又は失敗時の少なくとも一方の画面データを一覧表示させるリンクを、前記画面テストの結果画面に表示すること
    を特徴とする請求項1乃至6何れか一項記載のプログラム。
  8. テスト対象の第1の画面に表示されているオブジェクトを指定したテスト手順作成指示のための操作をユーザから受け付ける受付手段と、
    前記第1の画面に表示されているオブジェクトに第2の識別情報が設定されていない場合に、前記第1の画面に表示されているオブジェクトの位置情報を取得し、前記位置情報により決めた順位に従って前記オブジェクトに採番を行い、採番した第1の識別情報を前記オブジェクトに設定する設定手段と、
    前記第1の識別情報又は前記第2の識別情報が前記オブジェクトの特定情報として指定されている1つ以上の前記オブジェクトに対するテスト手順を前記オブジェクトに対する操作内容から作成する作成手段と、
    前記テスト手順で指定された前記特定情報によりテスト対象の第2の画面に表示されているオブジェクトを特定できれば、前記第2の識別情報が前記オブジェクトの特定情報として指定されている前記テスト手順に従って前記テスト対象の第2の画面の画面テストを行い、前記特定情報により前記オブジェクトを特定できなければ、前記設定手段と同様に前記テスト対象の第2の画面に表示されているオブジェクトに採番を行い、採番した第1の識別情報を前記オブジェクトに設定し、前記第1の識別情報が前記オブジェクトの特定情報として指定されている前記テスト手順に従って前記テスト対象の第2の画面の画面テストを行う実行手段と、
    を有する情報処理装置。
  9. 一台以上の情報処理装置を有する画面テストシステムであって、
    テスト対象の第1の画面に表示されているオブジェクトを指定したテスト手順作成指示のための操作をユーザから受け付ける受付手段と、
    前記第1の画面に表示されているオブジェクトに第2の識別情報が設定されていない場合に、前記第1の画面に表示されているオブジェクトの位置情報を取得し、前記位置情報により決めた順位に従って前記オブジェクトに採番を行い、採番した第1の識別情報を前記オブジェクトに設定する設定手段と、
    前記第1の識別情報又は前記第2の識別情報が前記オブジェクトの特定情報として指定されている1つ以上の前記オブジェクトに対するテスト手順を前記オブジェクトに対する操作内容から作成する作成手段と、
    前記テスト手順で指定された前記特定情報によりテスト対象の第2の画面に表示されているオブジェクトを特定できれば、前記第2の識別情報が前記オブジェクトの特定情報として指定されている前記テスト手順に従って前記テスト対象の第2の画面の画面テストを行い、前記特定情報により前記オブジェクトを特定できなければ、前記設定手段と同様に前記テスト対象の第2の画面に表示されているオブジェクトに採番を行い、採番した第1の識別情報を前記オブジェクトに設定し、前記第1の識別情報が前記オブジェクトの特定情報として指定されている前記テスト手順に従って前記テスト対象の第2の画面の画面テストを行う実行手段と、
    を有する画面テストシステム。
JP2017239556A 2017-12-14 2017-12-14 プログラム、情報処理装置及び画面テストシステム Active JP6781688B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017239556A JP6781688B2 (ja) 2017-12-14 2017-12-14 プログラム、情報処理装置及び画面テストシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017239556A JP6781688B2 (ja) 2017-12-14 2017-12-14 プログラム、情報処理装置及び画面テストシステム

Publications (2)

Publication Number Publication Date
JP2019106107A true JP2019106107A (ja) 2019-06-27
JP6781688B2 JP6781688B2 (ja) 2020-11-04

Family

ID=67061322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017239556A Active JP6781688B2 (ja) 2017-12-14 2017-12-14 プログラム、情報処理装置及び画面テストシステム

Country Status (1)

Country Link
JP (1) JP6781688B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102198462B1 (ko) * 2019-12-09 2021-01-05 주식회사 티맥스소프트 텍스트 기반 화면 디자인을 그래픽 기반으로 리모델링하기 위한 디자인 리모델링 테스트 방법, 이를 사용한 디자인 리모델링 테스트 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044318A (ja) * 2001-08-02 2003-02-14 Fujitsu Ltd テスト支援プログラムおよびテスト支援方法
JP2010165267A (ja) * 2009-01-19 2010-07-29 Hitachi Software Eng Co Ltd 回帰テスト自動実行システム
JP2010218231A (ja) * 2009-03-17 2010-09-30 Fujitsu Ltd テスト支援プログラム、テスト支援方法及びテスト支援装置
JP2013143044A (ja) * 2012-01-11 2013-07-22 Fujitsu Ltd プログラム、情報処理方法、および情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044318A (ja) * 2001-08-02 2003-02-14 Fujitsu Ltd テスト支援プログラムおよびテスト支援方法
JP2010165267A (ja) * 2009-01-19 2010-07-29 Hitachi Software Eng Co Ltd 回帰テスト自動実行システム
JP2010218231A (ja) * 2009-03-17 2010-09-30 Fujitsu Ltd テスト支援プログラム、テスト支援方法及びテスト支援装置
JP2013143044A (ja) * 2012-01-11 2013-07-22 Fujitsu Ltd プログラム、情報処理方法、および情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102198462B1 (ko) * 2019-12-09 2021-01-05 주식회사 티맥스소프트 텍스트 기반 화면 디자인을 그래픽 기반으로 리모델링하기 위한 디자인 리모델링 테스트 방법, 이를 사용한 디자인 리모델링 테스트 장치

Also Published As

Publication number Publication date
JP6781688B2 (ja) 2020-11-04

Similar Documents

Publication Publication Date Title
CN108959068B (zh) 软件界面测试方法、设备及存储介质
US9459994B2 (en) Mobile application testing systems and methods
US7617486B2 (en) Method and system to automate software testing using sniffer side and browser side recording and a toolbar interface
US9459780B1 (en) Documenting interactive graphical designs
JP2014510482A (ja) モバイル・コミュニケーション・デバイスのコンテンツをテストするシステムおよび方法
US11074162B2 (en) System and a method for automated script generation for application testing
JP5740634B2 (ja) 自動操作システム及び操作自動化方法
CN104268083A (zh) 软件自动化测试方法和装置
JP4896909B2 (ja) シナリオ生成装置及びプログラム
JP2019106107A (ja) プログラム、情報処理装置及び画面テストシステム
JP2008225683A (ja) 画面操作システムおよびプログラム
JP4795404B2 (ja) 動作検証装置および動作検証プログラム
US9298428B2 (en) Graphical user interface editor that displays live data during editing
JP2017167642A (ja) ソフトウェアの動作検証装置、ソフトウェアの動作検証方法
JP6551082B2 (ja) テスト支援装置、テスト支援方法およびテスト支援プログラム
EP3574406B1 (en) Method and system for automated testing of computer program code
JP4568150B2 (ja) 処理装置及び処理装置システム
JP5746300B2 (ja) ユーザ操作自動化装置
JPH09223040A (ja) ソフトウェアのシステムテスト支援装置およびこれに用いるテストシナリオ生成装置
JP7256353B2 (ja) 情報処理システム、その制御方法及びプログラム
CN113220596B (zh) 应用的测试方法、装置、设备、存储介质及程序产品
JP6025177B2 (ja) 作業ログの可視化方法及び装置並びにプログラム
JP2014067106A (ja) Guiテスト装置、guiテスト方法ならびにプログラム
JP2019101537A (ja) テストスクリプト修正装置及びプログラム
JP7219389B2 (ja) 情報処理装置、その制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200916

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201016

R150 Certificate of patent or registration of utility model

Ref document number: 6781688

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350