JP5812941B2 - プログラム試験装置 - Google Patents

プログラム試験装置 Download PDF

Info

Publication number
JP5812941B2
JP5812941B2 JP2012135064A JP2012135064A JP5812941B2 JP 5812941 B2 JP5812941 B2 JP 5812941B2 JP 2012135064 A JP2012135064 A JP 2012135064A JP 2012135064 A JP2012135064 A JP 2012135064A JP 5812941 B2 JP5812941 B2 JP 5812941B2
Authority
JP
Japan
Prior art keywords
screen
state transition
operation event
event
program
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
JP2012135064A
Other languages
English (en)
Other versions
JP2013257839A (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.)
Mitsubishi Electric Corp
Mitsubishi Electric Building Techno-Service Co Ltd
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Electric Building Techno-Service Co Ltd
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 Mitsubishi Electric Corp, Mitsubishi Electric Building Techno-Service Co Ltd filed Critical Mitsubishi Electric Corp
Priority to JP2012135064A priority Critical patent/JP5812941B2/ja
Publication of JP2013257839A publication Critical patent/JP2013257839A/ja
Application granted granted Critical
Publication of JP5812941B2 publication Critical patent/JP5812941B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、プログラムの開発を支援する技術に関し、特に、プログラムの試験に用いられるプログラム試験装置に関する。
コンピュータにて実行されるプログラムの開発を支援するための技術として、様々な技術が提案されている。例えば下記の特許文献1には、検証対象となるプログラムの状態遷移表に基づいて実行されるべき一連の試験シーケンスを作成し、プログラムの試験を行う操作者に逐次提示する装置が開示されている。なお、状態遷移表とは、状態遷移に関する情報のひとつであり、列としてプログラムの状態(システムの状態)、行としてシステムに対するイベントをとるマトリックスデータである(行と列とが逆になる場合もある)。1つのプログラムの状態と1つのイベントとで特定されるセルには、次に遷移する状態と遷移のときに実行される処理とが記述される。また、下記の特許文献2には、シミュレーションプログラムの実行中に入力装置から状態を遷移させるデータを入力することで状態を遷移させ、かつ、シミュレーションプログラムから通知される現状態を表示装置に表示させるようにした方法が開示されている。
特開平10−3405号公報 特開平7−168709号公報
しかしながら、従来技術に係るプログラム試験装置においては、例えばプログラムの開発者等がプログラムの状態遷移に関する情報を机上設計による手作業で作成していた。そのため、状態遷移に関する情報の作成に要する時間が増大し、プログラムの試験を迅速に開始することが困難であった。
本発明の目的は、検証対象プログラムの状態遷移に関する情報の作成に要する時間を削減し、検証対象プログラムの試験をより迅速に開始することが可能なプログラム試験装置を提供することである。
請求項1に係る発明は、表示手段に表示された第1の操作画面に対する操作者による操作の内容を示す操作イベントを取得する操作イベント取得手段と、前記操作イベントに従って動作する検証対象プログラムに基づいて前記第1の操作画面が遷移したことを検知する画面遷移検知手段と、前記第1の操作画面から遷移した後の第2の操作画面の画面データを取得する画面データ取得手段と、前記操作イベント、前記第1の操作画面及び前記第2の操作画面を対応付けた状態遷移に関する状態遷移情報を作成する状態遷移情報作成手段と、を有し、前記状態遷移情報作成手段は、前記状態遷移情報のうち、前記検証対象プログラムで検証が必要な予め設定された操作画面に関する情報を識別可能にして前記表示手段に表示させる、ことを特徴とするプログラム試験装置である。
請求項2に係る発明は、請求項1に係るプログラム試験装置であって、前記状態遷移情報作成手段は、前記操作イベントを識別するためのイベント識別情報と前記第1の操作画面を識別するための第1の画面識別情報とに、前記第2の操作画面を識別するための第2の画面識別情報を対応させた前記状態遷移情報を作成する、ことを特徴とする。
請求項3に係る発明は、請求項1又は請求項2に係るプログラム試験装置であって、前記状態遷移情報作成手段は前記状態遷移情報を更に表示手段に表示させる、ことを特徴とする。
請求項4に係る発明は、請求項3に係るプログラム試験装置であって、前記状態遷移情報作成手段は、前記状態遷移情報のうち、前記第2の操作画面が対応付けられていない前記操作イベントと前記第1の操作画面との組み合わせを識別可能にして前記表示手段に表示させる、ことを特徴とする。
請求項5に係る発明は、請求項1から請求項4のいずれか一項に係るプログラム試験装置であって、特定の操作者による操作に従って動作した前記検証対象プログラムに基づいて前記状態遷移情報作成手段によって作成された第1の状態遷移情報と、前記特定の操作者とは異なる別の操作者の操作に従って動作した前記検証対象プログラムに基づいて前記状態遷移情報作成手段によって作成された第2の状態遷移情報とを比較して比較結果を出力する比較手段を更に有する、ことを特徴とする。
請求項6に係る発明は、請求項5に係るプログラム試験装置であって、前記状態遷移情報作成手段は、前記別の操作者の操作に従って前記検証対象プログラムが動作したときに同一の操作イベントが発生した頻度と同一の操作画面が前記表示手段に表示された頻度とを求め、前記同一の操作イベントの発生頻度と前記同一の操作画面の表示頻度とを含む前記状態遷移情報を作成する、ことを特徴とする。
本発明によると、検証対象プログラムの状態遷移に関する情報を自動的に作成することができるため、状態遷移に関する情報の作成に要する時間を削減し、検証対象プログラムの試験をより迅速に開始することが可能となる。
本発明の第1実施形態に係るプログラム試験装置の一例を示すブロック図である。 本発明の第1実施形態に係るプログラム試験装置による動作の一例を示すフローチャートである。 本発明の第1実施形態に係るプログラム試験装置による動作の一例を示すフローチャートである。 表示装置に表示される操作画面の一例を示す図である。 状態遷移に関する情報の一例を示す図である。 状態遷移に関する情報の一例を示す図である。 状態遷移に関する情報の一例を示す図である。 本発明の第2実施形態に係るプログラム試験装置の一例を示すブロック図である。 本発明の第2実施形態に係るプログラム試験装置による動作の一例を示すフローチャートである。 本発明の第2実施形態に係るプログラム試験装置による動作の一例を示すフローチャートである。 状態遷移に関する情報の一例を示す図である。
[第1実施形態]
まず、本発明の第1実施形態に係るプログラム試験装置について説明する。図1に、本発明の第1実施形態に係るプログラム試験装置の一例を示す。第1実施形態に係るプログラム試験装置は、入力部10と、入力制御部12と、操作イベント取得部14と、操作イベントDB(操作イベントデータベース)16と、プログラム実行部18と、フレームメモリ20と、表示部22と、画面遷移検知部24と、画面データ取得部26と、画面DB(画面データベース)28と、状態遷移情報作成部30と、表示部32とを備えている。第1実施形態に係るプログラム試験装置は、操作者による操作の内容を示す操作イベントと、検証対象プログラムの状態と、操作イベントが発生したときの遷移後の検証対象プログラムの状態との対応付けを示す状態遷移に関する情報を作成する。
入力部10は、検証対象プログラムに対する操作者による指示等の操作を受け付け、その操作の内容を示す操作信号を入力制御部12に出力する。入力部10は、例えばキーボードやマウス等の入力装置によって構成されている。
入力制御部12は、入力部10からの操作信号をデジタル信号(操作イベント)に変換し、その操作イベントをプログラム実行部18に出力する。このように、操作イベントはユーザによる操作の内容を示している。
操作イベント取得部14は、入力制御部12によって生成された操作イベントを取得し、取得した操作イベントを識別するための操作イベント識別情報を状態遷移情報作成部30に出力する。操作イベント識別情報は、例えばID番号等である。操作イベント取得部14は、新規に取得した操作イベントと、その新規の操作イベントを識別するための操作イベント識別情報とを対応付けて操作イベントDB16に登録する。操作イベント取得部14は、入力制御部12から取得した操作イベントが操作イベントDB16に既に登録されている場合、その操作イベントに対応する操作イベント識別情報を操作イベントDB16から取得し、その操作イベント識別情報を状態遷移情報作成部30に出力する。また、操作イベント取得部14は、入力制御部12から取得した操作イベントが操作イベントDB16に登録されていない場合、その操作イベントを識別するための新たな操作イベント識別情報を作成し、その操作イベントと新たな操作イベント識別情報とを対応付けて操作イベントDB16に登録し、新たに作成された操作イベント識別情報を状態遷移情報作成部30に出力する。
プログラム実行部18は、検証対象プログラムを受け、検証対象プログラムを実行することで検証対象プログラムの動作に応じた操作画面(例えばウィンドウ等の画面)を表示部22に表示させる。例えば、プログラム実行部18は、操作イベントに基づいて検証対象プログラムを動作させることで、その動作に応じたグラフィカルユーザインターフェース(GUI)等の操作画面を表す画面データを生成し、その画面データに基づくGUI等の操作画面を表示部22に表示させる。なお、検証対象プログラムは、図示しない記憶装置に予め記憶されていてもよいし、CDやDVD等の記録媒体を介して又はネットワーク等の通信経路を介してプログラム実行部18に入力されてもよい。
フレームメモリ20は、検証対象プログラムの動作によって生成された画面データを一時的に保存し、その画面データを表示部22に出力する。表示部22は、検証対象プログラムの動作によって生成された画面データに基づくGUI等の操作画面を表示する。
画面遷移検知部24は、プログラムの状態の変化を検知する。例えば、画面遷移検知部24は、表示部22に表示された操作画面の画面データの変化を検知する。画面遷移検知部24は、例えばバイナリデータのコンペア等のような手法を用いて画面データを比較することで、操作画面の画面データの変化を検知する。例えば、画面遷移検知部24は、表示部22に表示された操作画面が、その操作画面に対する操作者の操作(操作イベント)に基づく検証対象プログラムの動作によって別の操作画面に遷移したことを検知する。
画面データ取得部26は、操作画面が遷移した後の操作画面の画面データを取得し、遷移後(遷移先)の操作画面の画面データを識別するための画面データ識別情報を状態遷移情報作成部30に出力する。画面データ識別情報は、例えばID番号等である。例えば、画面データ取得部26は、フレームメモリ20に一時的に保存されている遷移後の操作画面の画面データを取得する。画面データ取得部26は、新規に取得した画面データと、その新規の画面データを識別するための画面データ識別情報とを対応付けて画面DB28に登録する。画面データ取得部26は、遷移後の操作画面の画面データが画面DB28に既に登録されている場合、遷移後の操作画面の画面データに対応する画面データ識別情報を画面DB28から取得し、その画面データ識別情報を状態遷移情報作成部30に出力する。また、画面データ取得部26は、遷移後の操作画面の画面データが画面DB28に登録されていない場合、遷移後の操作画面の画面データを識別するための新たな画面データ識別情報を作成し、遷移後の操作画面の画面データと新たな画面データ識別情報とを対応付けて画面DB28に登録し、新たに作成された画面データ識別情報を状態遷移情報作成部30に出力する。また、画面データ取得部26は、遷移前の操作画面の画面データを取得し、遷移前の操作画面の画面データを識別するための画面データ識別情報を状態遷移情報作成部30に出力してもよい。
状態遷移情報作成部30は、操作イベントと、遷移前の操作画面(プログラムの状態)と、操作イベントが発生したときの遷移後(遷移先)の操作画面(プログラムの状態)との対応付けを示す状態遷移に関する状態遷移情報、例えば状態遷移表を作成し、その状態遷移表を出力する。一例として、状態遷移情報作成部30は、操作イベントを識別するための操作イベント識別情報を状態遷移表の列又は行の一方に入力し、表示部22に表示された操作画面を識別するための画面データ識別情報を状態遷移表の列又は行の他方に入力する。そして、状態遷移情報作成部30は、遷移前の操作画面に対する操作イベントを識別するための操作イベント識別情報に対応する列又は行の一方と、遷移前の操作画面を識別するための画面データ識別情報に対応する列又は行の他方とによって特定されるセル(列と行とが交差するセル)に、その操作イベントが発生したときの遷移先の操作画面を識別するための画面データ識別情報を記述することで、検証対象プログラムの状態遷移表を作成する。また、状態遷移情報作成部30は、遷移のときに実行される処理の内容を各セルに記述する。そして、状態遷移情報作成部30は、状態遷移表を示すデータを出力する。例えば、状態遷移情報作成部30は、状態遷移表を示すデータを表示部32に出力し、状態遷移表を表示部32に表示させてもよいし、状態遷移表を示すデータを図示しない印刷装置に出力し、状態遷移表を印刷装置に印刷させてもよい。なお、表示部22,32は、例えばCRTや液晶ディスプレイ等の表示装置によって構成されている。表示部22,32は1つの表示装置によって構成されていてもよいし、それぞれ別々の表示装置によって構成されていてもよい。また、遷移前の操作画面が第1の操作画面の一例に相当し、遷移後(遷移先)の操作画面が第2の操作画面の一例に相当する。
次に、図2から図7を参照して、第1実施形態に係るプログラム試験装置の動作の一例を説明する。まず、図2に示すフローチャートを参照して、操作イベントの取得に関する動作の一例を説明する。
まず、入力部10を用いて操作者が操作を行った場合、操作イベント取得部14は、その操作に基づいて入力制御部12によって生成された操作イベントを取得する(S01)。
ここで、図4に、表示部22に表示される操作画面の一例を示す。例えば図4(a)に示すように、操作画面(ウィンドウ)110の表示を指示するためのアイコン100が表示部22に表示されている場合に、操作者が入力部10を用いてアイコン100をクリックすると、プログラム実行部18は、操作者による操作(クリック)に基づく検証対象プログラムの動作によって操作画面(ウィンドウ)110の画面データを生成し、その画面データに基づく操作画面110を表示部22に表示させる。この場合、「アイコン100をクリックする」という操作イベントが発生しているため、操作イベント取得部14は、「アイコン100をクリックする」という操作内容を示す操作イベントを取得する。また、図4(b)に示すように、操作者が入力部10を用いて操作画面110内の記入欄に文字列(例えば11111)を入力した場合、操作イベント取得部14は、「操作画面110内の記入欄に文字列(11111)を入力する」という操作内容を示す操作イベントを取得する。また、図4(c)に示すように、操作者が入力部10を用いて操作画面110の「OKボタン」を押下した場合、操作イベント取得部14は、「OKボタンを押下する」という操作内容を示す操作イベントを取得する。
そして、操作イベント取得部14は、入力制御部12から取得した操作イベントが操作イベントDB16に登録されていない場合(S02,No)、その操作イベントを識別するための新たな操作イベント識別情報(例えば新たな操作イベントID)を作成する(S03)。そして、操作イベント取得部14は、操作イベントと新たな操作イベントIDとを対応付けて操作イベントDB16に登録し、その新たな操作イベントIDを状態遷移情報作成部30に出力する。そして、状態遷移情報作成部30は、新たな操作イベントIDに対応する行を状態遷移表に追加する(S04)。
ここで、図5に、作成中の状態遷移表の一例を示す。例えば、操作イベント取得部14は、入力制御部12から取得した操作イベント(例えば操作イベントA1)が操作イベントDB16に登録されていない場合、その操作イベントを識別するための新たな操作イベントID(例えば操作イベントID(A1))を作成し、その操作イベントID(A1)を状態遷移情報作成部30に出力する。そして図5中の(1)に示すように、状態遷移情報作成部30は、操作イベントID(A1)に対応する行を状態遷移表に追加する。また、操作イベント取得部14は、入力制御部12から取得した操作イベントと操作イベントID(A1)とを対応付けて操作イベントDB16に登録する。
一方、操作イベント取得部14は、入力制御部12から取得した操作イベントが操作イベントDB16に既に登録されている場合(S02,Yes)、その操作イベントに対応する操作イベント識別情報(例えば操作イベントID)を操作イベントDB16から選択し、選択した操作イベント識別情報を状態遷移情報作成部30に出力する(S05)。
例えば図5に示すように、操作イベント取得部14は、入力制御部12から取得した操作イベント(例えば操作イベントA1)が操作イベントDB16に既に登録されている場合、その操作イベントを識別するための操作イベントID(例えば操作イベントID(A1))を操作イベントDB16から選択し、その操作イベントID(A1)を状態遷移情報作成部30に出力する。
以上のように、操作イベント取得部14によって取得された操作イベントが操作イベントDB16に登録されていない場合、その操作イベントを操作イベントDB16に登録し、その操作イベントの識別情報に対応する行を状態遷移表に追加する。
次に、図3に示すフローチャートを参照して、操作画面の取得に関する動作の一例を説明する。
まず、画面遷移検知部24は、表示部22に表示されている操作画面が、その操作画面に対する操作者の操作(操作イベント)に基づく検証対象プログラムの動作によって別の操作画面に遷移したことを検知し、画面データ取得部26は、遷移後の操作画面の画面データを取得する(S10)。
例えば図4(a)に示すように、アイコン100のクリックという操作イベントに基づく検証対象プログラムの動作によって操作画面110の画面データが生成され、その画面データに基づく操作画面110が表示部22に表示された場合、画面データ取得部26は、フレームメモリ20に一時的に保存されている遷移後の操作画面110の画面データを取得する。また、図4(b)に示すように、操作者が入力部10を用いて操作画面110内の記入欄に文字列(例えば11111)を入力した場合、画面データ取得部26は、文字列が入力された操作画面110の画面データを取得する。また、図4(c)に示すように、操作者が入力部10を用いて操作画面110の「OKボタン」を押下した場合、画面データ取得部26は、「OKボタン」が押下された後の操作画面110の画面データを取得する。
そして、画面データ取得部26は、取得した操作画面の画面データが画面DB28に登録されていない場合(S11,No)、その操作画面の画面データを識別するための新たな画面データ識別情報(例えば新たな画面ID)を作成する(S12)。そして、画面データ取得部26は、操作画面の画面データと新たな画面IDとを対応付けて画面DB28に登録し、その新たな画面IDを状態遷移情報作成部30に出力する。そして、状態遷移情報作成部30は、新たな画面IDに対応する列を状態遷移表に追加する(S13)。
図5を参照して説明すると、画面データ取得部26は、例えば、取得した操作画面の画面データ(例えば操作画面B2の画面データ)が画面DB28に登録されていない場合、その画面データを識別するための新たな画面ID(例えば画面ID(B2))を作成し、その画面ID(B2)を状態遷移情報作成部30に出力する。そして図5中の(2)に示すように、状態遷移情報作成部30は、画面ID(B2)に対応する列を状態遷移表に追加する。また、画面データ取得部26は、取得した画面データと画面ID(B2)とを対応付けて画面DB28に登録する。
一方、画面データ取得部26は、取得した画面データが画面DB28に既に登録されている場合(S11,Yes)、取得した画面データに対応する画面データ識別情報(例えば画面ID)を画面DB28から選択し、選択した画面データ識別情報を状態遷移情報作成部30に出力する(S14)。
例えば図5に示すように、画面データ取得部26は、取得した操作画面の画面データ(例えば操作画面B2の画面データ)が画面DB28に既に登録されている場合、その操作画面の画面データを識別するための画面ID(例えば画面ID(B2))を画面DB28から選択し、その画面ID(B2)を状態遷移情報作成部30に出力する。
以上のように、画面データ取得部26によって取得された操作画面の画面データが画面DB28に登録されていない場合、その画面データを画面DB28に登録し、その画面データの識別情報に対応する列を状態遷移表に追加する。
そして、状態遷移情報作成部30は、操作イベントを識別するための操作イベントIDに対応する行と、遷移前の操作画面を識別するための画面IDに対応する列とによって特定されるセル(行と列とが交差するセル)に、遷移先の操作画面を識別するための画面IDを記述する(S15)。
例えば図5中の(3)に示すように、状態遷移情報作成部30は、操作イベントA1を識別するための操作イベントID(A1)に対応する行と、遷移前の操作画面B1を識別するための画面ID(B1)に対応する列とによって特定されるセル(行と列とが交差するセル)に、遷移先の操作画面B2を識別するための画面ID(B2)を記述する。
そして、図2及び図3に示すステップS01〜S15の処理を繰り返すことで、行に操作イベントIDが入力され、列に画面IDが入力され、行と列とが交差するセルに遷移先の操作画面の画面IDが記述された状態遷移表を作成する。状態遷移情報作成部30は、例えば状態遷移表を表示部32に表示させてもよいし、状態遷移表を印刷装置に印刷させてもよい。
以上のように、本実施形態に係るプログラム試験装置によると、操作者の操作に基づいて検証対象プログラムを動作させ、その検証対象プログラムの状態遷移表を自動的に作成することが可能となる。検証対象プログラムの開発者等は状態遷移表を手作業で作成しなくて済むため、状態遷移表の作成に要する時間を削減することができ、その結果、検証対象プログラムの試験をより迅速に開始することが可能となる。
図6に、第1実施形態に係るプログラム試験装置によって作成された状態遷移表の一例を示す。図6には、状態遷移表の一部が示されている。遷移先の操作画面の画面IDが記述されているセルについては、遷移前の操作画面にて操作イベントが発生し、検証対象プログラムの試験(試験シーケンス)が行われていることになる。例えば、操作画面B0を識別する画面ID(B0)に対応する列と、操作イベントA0を識別する操作イベントID(A0)に対応する行とで特定されるセルには、操作画面B1の画面ID(B1)が記述されている。すなわち、このセルは、操作画面B0にて操作イベントA0に対応する操作が行われ、その結果、操作画面が操作画面B1に遷移したことを示している。遷移先の操作画面の画面IDが記述されている他のセルも、対応する操作画面にて所定の操作イベントが発生して操作画面が遷移したことを示している。例えば、操作イベントIDと画面IDとで特定されるセルを(操作イベントID,画面ID)で表すと、(操作イベントA0,操作画面B0)、(操作イベントA1,操作画面B1)及び(操作イベントA2,操作画面B2)は、対応する操作画面にて所定の操作イベントが発生して操作画面が遷移したことを示している。このように遷移先の操作画面の画面IDが記述されたセルについては、検証対象プログラムの試験(試験シーケンス)が実施されていることになる。
一方、図6において網点で示されているセルには、遷移先の操作画面の画面IDが記述されていない。遷移先の操作画面の画面IDが記述されていないセルは、遷移前の操作画面にて所定の操作イベントが発生していないことを示している。例えば、操作画面B1を識別する画面ID(B1)に対応する列と、操作イベントA0を識別する操作イベントID(A0)に対応する行とで特定されるセルには、遷移先の操作画面の画面IDが記述されていない。すなわち、このセルは、操作画面B1にて操作イベントA0に対応する操作が行われていないことを示している。遷移先の操作画面の画面IDが記述されていないその他のセルも、遷移前の操作画面にて所定の操作イベントが発生していないことを示している。このように遷移先の操作画面の画面IDが記述されていないセルについては、検証対象プログラムの試験(試験シーケンス)が実施されていないことになる。
以上のように、検証対象プログラムの試験(試験シーケンス)が実施されたセルには遷移先の操作画面の画面IDが記述され、試験シーケンスが実施されていないセルには遷移先の操作画面の画面IDは記述されないことになる。例えば図6に示す状態遷移表を表示部32に表示することで、検証対象プログラムを実行して操作する操作者に、実施された試験シーケンス及び実施されていない試験シーケンスを報知することができる。そして、遷移先の操作画面の画面IDが記述されていないセルが存在する場合、操作者は、そのセルに対応する試験シーケンスが実施されていないことを認識することが可能となる。
例えば、検証対象プログラムの試験を行う場合、検証対象プログラムの開発者が実際に操作し、第1実施形態に係るプログラム試験装置は、開発者の操作に基づいて検証対象プログラムを動作させ、その動作の結果を表す状態遷移表を作成し、その状態遷移表を出力する。開発者は、表示部32に表示された状態遷移表や印刷された状態遷移表を参照することで、実施されていない試験シーケンスを確認することが可能となる。そして、画面IDが記述されていないセルに画面IDが記述されるように検証対象プログラムの試験を実施することで、検証対象プログラムの試験の漏れを抑制することができる。
図7に、すべてのセルに画面IDが記述された状態遷移表の一例を示す。検証対象プログラムの開発者は、遷移先の操作画面の画面IDが記述されていないセルに対応する試験シーケンスを実施することで、図7に示すように、すべてのセルに遷移先の操作画面の画面IDが記述された状態遷移表を得ることが可能となる。また、すべてのセルでなくても、検証対象プログラムで検証を必要とする操作画面が予め決まっていれば、それに対応するセルを明示するようにしておき、そのセルに遷移先の操作画面の画面IDが記述されているか否かによって検証対象プログラムの試験の漏れを確認できるようにしてもよい。
なお、状態遷移情報作成部30は、状態遷移表において遷移先の操作画面の画面IDが記述されていないセルを識別可能にして状態遷移表を示すデータを出力してもよい。このセルは、遷移前の操作画面と、その遷移前の操作画面にて発生していない所定の操作イベントとの組み合わせを示していることになる。例えば、状態遷移情報作成部30は、遷移先の操作画面の画面IDが記述されていないセルと、遷移先の操作画面の画面IDが記述されているセルとで表示色を変えて表示部32に表示させてもよいし、遷移先の操作画面の画面IDが記述されていないセルに、図6に示すような網点やハッチング等の画像処理を施して表示部32に表示させてもよい。また、遷移先の操作画面の画面IDが記述されているセルに網点やハッチング等の画像処理を施すことによって、遷移先の操作画面の画面IDが記述されていないセルが確認しやすいようにしてもよい。
[第2実施形態]
次に、本発明の第2実施形態に係るプログラム試験装置について説明する。図8に、第2実施形態に係るプログラム試験装置の一例を示す。第2実施形態に係るプログラム試験装置は、第1実施形態に係るプログラム試験装置が備える構成に加え、状態遷移情報記憶部34と比較部36とを更に備えている。以下では、状態遷移情報記憶部34及び比較部36について主に説明する。
状態遷移情報記憶部34は、特定の操作者による模範操作に従って状態遷移情報作成部30によって作成された状態遷移表のデータを記憶する。特定の操作者は、例えば検証対象プログラムの開発者である。また、模範操作は、例えば検証対象プログラムに対して実施されると想定されている操作である。以下の説明では、検証対象プログラムの開発者が検証対象プログラムに対して実施されると想定した模範操作に従って作成された状態遷移表を「模範状態遷移表」と称することにする。また、図6に示す状態遷移表を、模範状態遷移表の一例として説明する。
比較部36は、特定の操作者による模範操作に従って検証対象プログラムが動作したときに状態遷移情報作成部30によって作成された模範状態遷移表と、特定の操作者以外の一般操作者による操作に従って検証対象プログラムが動作したときに状態遷移情報作成部30によって作成された状態遷移表とを比較し、模範状態遷移表と状態遷移表との差異を検出し、その差異を示すデータを出力する。比較部36は、模範状態遷移表と状態遷移表との差異を表示部32に表示させてもよいし、その差異を図示しない印刷装置に印刷させてもよい。なお、一般操作者は、例えば検証対象プログラムを利用するユーザ等である。以下の説明では、一般操作者による操作に従って作成された状態遷移表を「一般状態遷移表」と称することにする。
また、状態遷移情報作成部30は、一般操作者の操作に従って検証対象プログラムが動作したときに同一の操作イベントが発生した頻度と同一の操作画面が表示部22に表示された頻度とを求め、各操作イベントの発生頻度と各操作画面の表示頻度とを含む一般状態遷移表を作成してもよい。例えば、状態遷移情報作成部30は、同一の操作イベントが発生した回数と同一の操作画面が表示部22に表示された回数とをカウントし、各操作イベントの発生回数と各操作画面の表示回数とを一般状態遷移表に記述してもよい。
次に、図9から図11を参照して、第2実施形態に係るプログラム試験装置の動作の一例を説明する。まず、図9に示すフローチャートを参照して、操作イベントの取得に関する動作の一例を説明する。図9に示すフローチャートのうちステップS01〜S05の処理は、図2に示すフローチャートで説明した処理と同じである。
例えば、一般操作者が入力部10を用いて操作を行った場合、操作イベント取得部14は、その操作に基づいて入力制御部12によって生成された操作イベントを取得する(S01)。そして、操作イベント取得部14は、入力制御部12から取得した操作イベントが操作イベントDB16に登録されていない場合(S02,No)、新たな操作イベントIDを作成し(S03)、その新たな操作イベントIDを状態遷移情報作成部30に出力する。状態遷移情報作成部30は、新たな操作イベントIDに対応する行を一般状態遷移表に追加する(S04)。一方、操作イベント取得部14は、入力制御部12から取得した操作イベントが操作イベントDB16に既に登録されている場合(S02,Yes)、その操作イベントに対応する操作イベントIDを操作イベントDB16から選択し、選択した操作イベントIDを状態遷移情報作成部30に出力する(S05)。
そして、状態遷移情報作成部30は、操作イベント取得部14から操作イベントIDを受け、同一の操作イベントIDの数(同一の操作イベントが発生した回数Rn)をカウントする(S06)。
次に、図10に示すフローチャートを参照して、操作画面の取得に関する動作の一例を説明する。図10に示すフローチャートのうちステップS10〜S15の処理は、図3に示すフローチャートで説明した処理と同じである。
まず、画面遷移検知部24は、表示部22に表示された操作画面が、その操作画面に対する一般操作者の操作(操作イベント)に基づく検証対象プログラムの動作によって別の操作画面に遷移したことを検知し、画面データ取得部26は、遷移後の操作画面の画面データを取得する(S10)。そして、画面データ取得部26は、遷移後の操作画面の画面データが画面DB28に登録されていない場合(S11,No)、新たな画面IDを作成し(S12)、その画面IDを状態遷移情報作成部30に出力する。状態遷移情報作成部30は、新たな画面IDに対応する列を一般状態遷移表に追加する(S13)。一方、画面データ取得部26は、遷移後の操作画面の画面データが画面DB28に既に登録されている場合(S11,Yes)、その遷移後の操作画面の画面データに対応する画面IDを画面DB28から選択し、選択した画面IDを状態遷移情報作成部30に出力する(S14)。
そして、状態遷移情報作成部30は、画面データ取得部26から画面IDを受け、同一の画面IDの数(同一の操作画面が表示部22に表示された回数Cn)をカウントする(S16)。
また、状態遷移情報作成部30は、操作イベントIDに対応する行と、遷移前の操作画面を識別するための画面IDに対応する列とによって特定されるセルに、遷移先の操作画面を識別するための画面IDを記述する(S15)。
そして、図9及び図10に示すステップS01〜S16の処理を繰り返すことで、行に操作イベントIDが入力され、列に画面IDが入力され、行と列とが交差するセルに遷移先の操作画面の画面IDが記述された一般状態遷移表を作成する。また、状態遷移情報作成部30は、操作イベントの発生回数Rnを当該操作イベントの操作イベントIDに対応する行に記述し、操作画面の表示回数Cnを当該操作画面の画面IDに対応する列に記述してもよい。
そして、比較部36は、状態遷移情報記憶部34に記憶されている模範状態遷移表と、一般操作者の操作に従って検証対象プログラムが動作したときに状態遷移情報作成部30によって作成された一般状態遷移表とを比較し、模範状態遷移表と一般状態遷移表との差異を検出し、比較結果を出力する(S17)。
比較部36は、模範状態遷移表と一般状態遷移表との差異を表示部32に表示させてもよいし、その差異を図示しない印刷装置に印刷させてもよい。例えば、比較部36は、その差異があることを表示部32に表示させてもよいし、一般状態遷移表において差異があるセルを識別可能にして表示部32に表示させてもよい。また、比較部36は、模範状態遷移表と一般状態遷移表とを並べて表示部32に表示させてもよいし、模範状態遷移表と一般状態遷移表とを印刷装置に印刷させてもよい。また、比較部36は、模範状態遷移表と一般状態遷移表とに差異が無い場合、差異が無いことを表示部32に表示させてもよい。
模範状態遷移表と一般状態遷移表とに差異が無い場合、一般操作者による操作は模範操作と同じであり、模範状態遷移表と一般状態遷移表とに差異がある場合、一般操作者による操作は模範操作と異なることになる。すなわち、模範状態遷移表と一般状態遷移表とに差異がある場合、プログラム開発者等の特定の操作者が想定した操作とは異なる操作が一般操作者によって行われた可能性があることになる。
図11に一般状態遷移表の一例を示す。図11には、一般状態遷移表の一部が示されている。遷移先の操作画面の画面IDが記述されているセルについては、対応する操作画面にて所定の操作イベントが発生したことになる。また、図11において網点で示されているセルは、図6に示す模範状態遷移表において遷移先の操作画面の画面IDが記述されていないセルに対応する。
例えば図11に示す一般状態遷移表において、網点で示されているセル(模範状態遷移表において遷移先の操作画面の画面IDが記述されていないセル)に、画面IDが記述されている場合、そのセルに画面IDを記述させる操作は、検証対象プログラムの操作誤りである可能性が高い。すなわち、模範状態遷移表におけるセルに画面IDが記述されていないということは、遷移前の操作画面にて特定の操作者が所定の操作を行っていないことを意味する。従って、一般状態遷移表の網点で示されているセルに画面IDが記述されていることは、一般操作者が特定の操作者とは異なる操作を行ったことを意味する。比較部36は、一般状態遷移表の網点で示されているセルに画面IDが記述されている場合、一般状態遷移表において当該セルを識別可能にして表示部32に表示させてもよい。例えば、比較部36は、当該セルに網点やハッチング等の画像処理を施して表示部32に表示させてもよいし、他のセルとは別の表示色で表示部32に表示させてもよい。
検証対象プログラムの開発者等は、一般状態遷移表や比較部36の比較結果を参照することで、一般操作者による操作の誤りを認識し、また、誤った操作を特定することができる。
また、図11に示す一般状態遷移表には、操作イベントの発生回数Rnと操作画面の表示回数Cnとが記述されている。検証対象プログラムの開発者等は、発生回数Rnや表示回数Cnを参照することで、操作の誤りの頻度を確認することができる。
なお、上記の例では、操作イベントIDが行に入力され、画面IDが列に入力された状態遷移表について説明したが、行と列とを逆にし、操作イベントIDが列に入力され、画面IDが行に入力された状態遷移表を作成してもよい。また、上記の例では状態遷移表を作成する場合について説明したが、状態遷移情報作成部30は、表形式以外のものとして状態遷移図を作成してもよい。また、状態遷移情報作成部30は、操作イベントと、遷移前の操作画面と、操作イベントが発生したときの遷移後の操作画面との対応付けを示す情報であれば、状態遷移表及び状態遷移図以外の形式で当該対応付けを示す情報を作成してもよい。
上述したプログラム試験装置は図示しないCPU等のプロセッサを備えている。プロセッサは、図示しないメモリに記憶されたプログラムを実行することにより、入力制御部12、操作イベント取得部14、プログラム実行部18、画面遷移検知部24、画面データ取得部26、状態遷移情報作成部30及び比較部36のそれぞれの機能を実現する。上記プログラムは、CDやDVD等の記録媒体を介して又はネットワーク等の通信経路を介してハードディスクドライブ(HDD)等の記憶装置に記憶される。なお、上記プログラムはハードディスクドライブ等の記憶装置に予め記憶されていてもよい。ハードディスクドライブ等の記憶装置に記憶されたプログラムがRAM等のメモリに読み出されてCPU等のプロセッサによって実行されることにより、入力制御部12、操作イベント取得部14、プログラム実行部18、画面遷移検知部24、画面データ取得部26、状態遷移情報作成部30及び比較部36のそれぞれの機能が実現される。
10 入力部、12 入力制御部、14 操作イベント取得部、16 操作イベントDB、18 プログラム実行部、20 フレームメモリ、22,32 表示部、24 画面遷移検知部、26 画面データ取得部、28 画面DB、30 状態遷移情報作成部、34 状態遷移情報記憶部、36 比較部。

Claims (6)

  1. 表示手段に表示された第1の操作画面に対する操作者による操作の内容を示す操作イベントを取得する操作イベント取得手段と、
    前記操作イベントに従って動作する検証対象プログラムに基づいて前記第1の操作画面が遷移したことを検知する画面遷移検知手段と、
    前記第1の操作画面から遷移した後の第2の操作画面の画面データを取得する画面データ取得手段と、
    前記操作イベント、前記第1の操作画面及び前記第2の操作画面を対応付けた状態遷移に関する状態遷移情報を作成する状態遷移情報作成手段と、
    を有し、
    前記状態遷移情報作成手段は、前記状態遷移情報のうち、前記検証対象プログラムで検証が必要な予め設定された操作画面に関する情報を識別可能にして前記表示手段に表示させる、
    ことを特徴とするプログラム試験装置。
  2. 請求項1に記載のプログラム試験装置であって、
    前記状態遷移情報作成手段は、前記操作イベントを識別するためのイベント識別情報と前記第1の操作画面を識別するための第1の画面識別情報とに、前記第2の操作画面を識別するための第2の画面識別情報を対応させた前記状態遷移情報を作成する、
    ことを特徴とするプログラム試験装置。
  3. 請求項1又は請求項2に記載のプログラム試験装置であって、
    前記状態遷移情報作成手段は前記状態遷移情報を更に表示手段に表示させる、
    ことを特徴とするプログラム試験装置。
  4. 請求項3に記載のプログラム試験装置であって、
    前記状態遷移情報作成手段は、前記状態遷移情報のうち、前記第2の操作画面が対応付けられていない前記操作イベントと前記第1の操作画面との組み合わせを識別可能にして前記表示手段に表示させる、
    ことを特徴とするプログラム試験装置。
  5. 請求項1から請求項4のいずれか一項に記載のプログラム試験装置であって、
    特定の操作者による操作に従って動作した前記検証対象プログラムに基づいて前記状態遷移情報作成手段によって作成された第1の状態遷移情報と、前記特定の操作者とは異なる別の操作者の操作に従って動作した前記検証対象プログラムに基づいて前記状態遷移情報作成手段によって作成された第2の状態遷移情報とを比較して比較結果を出力する比較手段を更に有する、
    ことを特徴とするプログラム試験装置。
  6. 請求項5に記載のプログラム試験装置であって、
    前記状態遷移情報作成手段は、前記別の操作者の操作に従って前記検証対象プログラムが動作したときに同一の操作イベントが発生した頻度と同一の操作画面が前記表示手段に表示された頻度とを求め、前記同一の操作イベントの発生頻度と前記同一の操作画面の表示頻度とを含む前記状態遷移情報を作成する、
    ことを特徴とするプログラム試験装置。
JP2012135064A 2012-06-14 2012-06-14 プログラム試験装置 Active JP5812941B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012135064A JP5812941B2 (ja) 2012-06-14 2012-06-14 プログラム試験装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012135064A JP5812941B2 (ja) 2012-06-14 2012-06-14 プログラム試験装置

Publications (2)

Publication Number Publication Date
JP2013257839A JP2013257839A (ja) 2013-12-26
JP5812941B2 true JP5812941B2 (ja) 2015-11-17

Family

ID=49954198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012135064A Active JP5812941B2 (ja) 2012-06-14 2012-06-14 プログラム試験装置

Country Status (1)

Country Link
JP (1) JP5812941B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6033248B2 (ja) * 2014-02-27 2016-11-30 三菱電機ビルテクノサービス株式会社 ツール分析支援装置及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2734259B2 (ja) * 1991-12-02 1998-03-30 日本電気株式会社 対話履歴作成装置
JPH05241811A (ja) * 1991-12-25 1993-09-21 Nec Corp 対話評価装置
JP2518467B2 (ja) * 1992-09-11 1996-07-24 日本電気株式会社 対話評価装置
JP2004005399A (ja) * 2002-04-05 2004-01-08 Sharp Corp ソフトウェアのテスト方法および装置
JP4140916B2 (ja) * 2005-12-22 2008-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Webページにおける状態遷移を解析する方法
JP5198132B2 (ja) * 2008-04-23 2013-05-15 大日本スクリーン製造株式会社 状態遷移テスト支援装置、状態遷移テスト支援プログラム、および状態遷移テスト支援方法

Also Published As

Publication number Publication date
JP2013257839A (ja) 2013-12-26

Similar Documents

Publication Publication Date Title
US9442832B2 (en) User workflow replication for execution error analysis
US8645912B2 (en) System and method for use in replaying software application events
US9280451B2 (en) Testing device
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
US10437717B2 (en) Defect reporting in application testing
WO2013185092A1 (en) System and method for automatic test level generation
JP2008310663A (ja) 仕様検証プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、仕様検証装置、および仕様検証方法
JP5812941B2 (ja) プログラム試験装置
JP4896909B2 (ja) シナリオ生成装置及びプログラム
JPWO2011148719A1 (ja) 情報処理装置、gui操作支援方法およびgui操作支援プログラム
JP2011014046A (ja) 機器操作の支援システム
JP2019106136A (ja) 品質予測プログラム、品質予測方法および品質予測装置
JP2007221294A (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP6626946B1 (ja) テスト支援システム、テスト支援方法及びテスト支援プログラム
CN113220596B (zh) 应用的测试方法、装置、设备、存储介质及程序产品
US20110138228A1 (en) Verification computer product and apparatus
JPH10301809A (ja) Gui操作手順の自動生成方法
CN105359111A (zh) 用户界面检查方法、设备及程序
JP7151514B2 (ja) シミュレーションシステム、情報処理装置、プログラム及びシミュレーション方法
JP6251994B2 (ja) テスト結果表示装置、およびテスト結果表示プログラム
JP6739599B1 (ja) 情報処理プログラム、情報処理方法、及び情報処理装置
JP2010128894A (ja) データベース生成装置、データベース生成方法及びコンピュータプログラム
JP7116671B2 (ja) システム開発支援装置およびシステム開発支援方法
JP2007018205A (ja) アプリケーションプログラム実行装置,アプリケーション開発支援装置,画面遷移履歴表示装置及びプログラム
EP3358815B1 (en) Image processing apparatus and information providing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150717

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150915

R150 Certificate of patent or registration of utility model

Ref document number: 5812941

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350