JP2004348473A - 状態遷移検証方法及び検証装置 - Google Patents
状態遷移検証方法及び検証装置 Download PDFInfo
- Publication number
- JP2004348473A JP2004348473A JP2003145268A JP2003145268A JP2004348473A JP 2004348473 A JP2004348473 A JP 2004348473A JP 2003145268 A JP2003145268 A JP 2003145268A JP 2003145268 A JP2003145268 A JP 2003145268A JP 2004348473 A JP2004348473 A JP 2004348473A
- Authority
- JP
- Japan
- Prior art keywords
- transition
- screen
- program
- check
- state transition
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】システム構築の際に遷移図の定義の誤りや不足を容易に発見することができ、より正確なシステムの構築を支援することを可能にする。
【解決手段】ユーザは、端末100の入力画面110内でデータの入力を行い、実行装置140にアクセスする。画面遷移制御プログラム150は、端末100からデータ入力を受け、業務処理プログラム170を呼び出し、その実行結果と画面遷移定義生成プログラム300が生成した画面遷移定義データ160とにより遷移先画面の結果画面A120またはB130を端末100に送信して画面を遷移させる。制御プログラム150は、同時に、遷移の状況を画面遷移チェックプログラム180に送り、チェックリスト190の内容に従って遷移状況をチェックさせ、チェック結果をチェックリスト190に記入させ、チェック結果リスト200として出力させる。前記プログラム300は、前記定義データ160と前記結果リスト200とを参照して、テスト結果を遷移図上に表示する。
【選択図】 図1
【解決手段】ユーザは、端末100の入力画面110内でデータの入力を行い、実行装置140にアクセスする。画面遷移制御プログラム150は、端末100からデータ入力を受け、業務処理プログラム170を呼び出し、その実行結果と画面遷移定義生成プログラム300が生成した画面遷移定義データ160とにより遷移先画面の結果画面A120またはB130を端末100に送信して画面を遷移させる。制御プログラム150は、同時に、遷移の状況を画面遷移チェックプログラム180に送り、チェックリスト190の内容に従って遷移状況をチェックさせ、チェック結果をチェックリスト190に記入させ、チェック結果リスト200として出力させる。前記プログラム300は、前記定義データ160と前記結果リスト200とを参照して、テスト結果を遷移図上に表示する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、状態遷移検証方法及び検証装置に係り、特に、システムを構築する際にプログラムが作成する遷移図に基づいて、作成された状態遷移の状況を検証する状態遷移検証方法及び検証装置に関する。
【0002】
【従来の技術】
プログラムを検証するために有効なテストケースを生成する方法に関する従来技術として、プログラムが作成する状態遷移図から漏れのない網羅的なテストケースを自動生成する方法や、効率の良いテストデータを生成する方法が知られている。また、他たの従来技術として、機能仕様書に基づいて状態遷移図を入力し、この状態遷移図に対して有向グラフとしての探索を行うことによってテストケースを自動生成する手法が、例えば、特許文献1等に記載されて知られている。
【0003】
【特許文献1】
特開平7−253905号公報
【0004】
【発明が解決しようとする課題】
前述した従来技術は、生成されたテストケースを用いて状態遷移を網羅的にチェックすることができるものであるが、状態遷移の定義自体に誤りが含まれていた場合、テストケースにもその誤りが反映されており、テスト自体が無意味なものとなってしまうという問題点を有している。近年、プログラムの仕様が複雑化しており、誤りのない正確な遷移図を定義することは困難となっている。また、遷移図上には、詳細な入力情報が記載されないため、入力値と状態遷移との関係が把握しにくく、遷移定義の誤りに気づきにくいという問題も生じている。
【0005】
本発明の目的は、前述したような従来技術の問題点を解決し、システム構築の際に、プログラムが作成する遷移図の定義の誤りや不足を容易に発見することができ、よりよいシステムの構築を支援することを可能にしたプログラムの状態遷移検証方法及び検証装置を提供することにある。
【0006】
【課題を解決するための手段】
本発明によれば前記目的は、予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する状態遷移検証方法において、状態遷移定義データを参照しながら前記プログラムが状態を遷移させ、前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照し、前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認し、チェックリスト通りに遷移したか否かの結果を記録することにより達成される。
【0007】
また、前記目的は、予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する状態遷移検証装置において、状態遷移定義データを参照しながら前記プログラムが状態を遷移させる手段と、前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照する手段と、前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認する手段と、チェックリスト通りに遷移したか否かの結果を記録する手段とを備えたことにより達成される。
【0008】
【発明実施の形態】
以下、本発明によるプログラムの状態遷移検証方法及び検証装置の実施形態を図面により詳細に説明する。
【0009】
図1は本発明の一実施形態による状態遷移検証装置の構成を示すブロック図である。この実施形態は、本発明をWebアプリケーションに適用した場合の構成例を示すものである。図1において、100は端末、110は入力画面、120、130は結果画面A、B、140はWebアプリケーション実行装置、150は画面遷移制御プログラム、160は画面遷移定義データ、170は業務処理プログラム、180は画面遷移チェックプログラム、190はチェックリスト、200はチェック結果リスト、300は画面遷移定義生成プログラムである。
【0010】
図1に示す本発明の一実施形態による状態遷移検証装置は、端末100とWebアプリケーション実行装置140とがネットワーク入力より接続されて構成されている。端末100は、図には示していないが、PC等としてよく知られているように、CPU、メモリ、HDD、キーボード、マウス等の入力装置、表示装置及びネットワークを介する通信手段を備えて構成されればよい。また、Webアプリケーション実行装置140は、前述の端末100と同様に、CPU、メモリ、HDD、キーボード、マウス等の入力装置、表示装置及びネットワークを介する通信手段を備えたPCサーバ、ワークステーション等により構成されていればよく、画面遷移制御プログラム150、画面遷移定義データ160、業務処理プログラム170、画面遷移チェックプログラム180、チェックリスト190、チェック結果リスト200、画面遷移定義生成プログラム300を備えている。Webアプリケーション実行装置140内に備えられる前述の各プログラムは、HDD等に格納されていて、装置内のメモリに読み出された後に、CPUにより実行される。また、画面定義データ160、チェックリスト190も、HDD等に格納されていて、装置内のメモリに読み出されて使用され、チェック結果リスト200は、メモリ内に作成される。
【0011】
前述したように構成される状態遷移検証装置において、ユーザは、端末100に表示される入力画面110内で要求されるデータの入力を行い、Webアプリケーション実行装置140にアクセスする。Webアプリケーション実行装置140の画面遷移制御プログラム150は、端末100からのデータの入力を受けて、必要な処理を行いその状態遷移の状況を示す処理結果を端末100に返送する。これにより、端末100上では、画面が結果画面A120または結果画面B130に遷移する。
【0012】
画面遷移制御プログラム150は、端末100の入力画面110を介した入力を受けて必要な業務処理プログラム170を呼び出し、業務処理プログラム170の実行結果と画面遷移定義生成プログラム300が生成した画面遷移定義データ160とにより遷移先画面を決定し、この画面を結果画面A120または結果画面B130として端末100に送信する。端末100は、これを受けて、画面を結果画面A120または結果画面B130に遷移させる。
【0013】
画面遷移制御プログラム150は、前述の処理と同時に、遷移の状況を画面遷移チェックプログラム180に送る。画面遷移チェックプログラム180は、チェックリスト190を入力し、このチェックリスト190の内容に従って画面遷移制御プログラム150から受け取った遷移状況をチェックし、チェック結果をチェックリスト190に記入し、このチェック結果を記入したものをチェック結果リスト200として出力する。画面遷移定義生成プログラム300は、画面遷移定義データ160とチェック結果リスト200とを参照して、テスト結果を遷移図上に表示する。従って、端末100に表示される結果画面A120または結果画面B130には、このテスト結果が反映されたものとなる。
【0014】
図2は画面遷移定義生成プログラムの処理と生成した画面の表示例について説明する図であり、次に、これについて説明する。
【0015】
処理が開始(ステップ400)されると、端末上に表示される入力画面410に入力されたデータがアクション450により、画面遷移制御プログラム150に送信される。画面遷移制御プログラム150は、送信されたアクションを処理してリターン値460または470を返す。図示例は、アクションの処理が、電話番号から東京都民用の画面に遷移させるか、非東京都民用の画面に遷移させるかを決定する処理の場合の例であり、画面遷移定義生成プログラム300上で、電話番号が“03”で始まるか否かという分岐条件BL440を定義した場合の例である。そして、分岐条件BL440による処理は、入力画面410から入力された電話番号が“03”で始まっている場合、リターン値“0”460を出力し、沿うでない場合、リターン値“1”470を出力する。
【0016】
画面遷移制御プログラム150は、このリターン値により、画面を東京都民用の画面420または非東京都民用の画面430に遷移させ、それを端末に送信して表示される。また、前述した画面遷移定義生成プログラム300は、定義された情報に基づいて、画面遷移定義データ160を生成する。さらに、遷移の状況は、画面遷移チェックプログラム180に渡され、画面遷移チェックプログラム180は、チェックリスト190に基づいてチェックを行い、チェック結果リストを作成する。
【0017】
画面遷移定義生成プログラム300は、前述のチェックの後、画面遷移定義データ160とチェック結果リスト200とを参照して、テスト結果を遷移図上に反映させる。定義した遷移と実際の遷移とが異なっていた場合、実際の遷移(ここでは450、460)を赤線で表示し、定義したはずだった遷移(ここでは470)を点線で示す。これにより、電話番号から東京都民用の画面に遷移させるか、非東京都民用の画面に遷移させるかを決定する場合、電話番号が“03”で始まるか否かという分岐条件だけでは、正確な制御印を決定することができないことが判る。
【0018】
図3は画面遷移定義データ160の詳細な例を示す図である。ここに示す例は、画面を表示制御するタグ言語で記述されている。
【0019】
図3において、pages タグは一連の画面遷移を表す。そして、遷移元となる画面をpageタグ内に記述する。pageタグ内には、画面を識別するid、画面に対応するファイルを指定する file−name、送信されるアクションを識別するactionID、遷移先画面を表すnextPage等が含まれる。nextPageタグ内には、遷移先画面を識別するnextPageIDと遷移先画面に対応するファイルを指定するnextPageFile−name とが含まれる。遷移元画面からの入力に対して分岐が発生する場合、条件分岐を行う業務処理プログラムをbranchで指定し、処理結果を遷移させたいnextPage内のreturnタグに指定する。
【0020】
図4はチェックリスト190とチェック結果リスト200との例について説明する図である。これらのリストには、遷移元のどのアクションにどんな値を入力したらどこへ遷移するといった詳細な項目を記述することができる。
【0021】
図4(a)に示すチェックリスト190、及び、図4(b)に示すチェック結果リスト200の送信データの欄には、画面遷移図上には表現することのできない詳細な入力情報を記述することができる。また、チェック結果リスト200には、実遷移画面の欄に、入力情報に対して実際にどのように遷移が行われたかが記入される。実際の遷移が定義画面に記されている遷移と一致した場合、画面遷移が正しく定義されているものとして確認の欄に○が記入され、一致しなかった場合、画面遷移定義に誤りがあるものとして確認の欄に×が記入される。
【0022】
図5は画面遷移制御プログラム150の処理動作を説明するフローチャートであり、次に、これについて説明する。
【0023】
(1)画面遷移制御プログラム150は、図1に示す入力画面110から送信されてきた入力を受け取り、受け取ったデータを元に入力画面に対応して予め決められている業務処理プログラム170の1つを呼び出す(ステップ151、152)。
【0024】
(2)遷移元画面の情報を図1に示す画面遷移チェックプログラム180に渡すと共に、業務処理プログラム170から実行結果を受け取る(ステップ153、154)。
【0025】
(3)次に、業務処理プログラムの実行結果と画面遷移定義データ160とから遷移先画面を決定し、決定した遷移先画面の情報を画面遷移チェックプログラム180に渡す(ステップ155、156)。
【0026】
(4)ステップ155の処理で決定した遷移先画面を呼び出して端末100に送信して画面を遷移させる(ステップ157)。
【0027】
(5)次に、遷移先画面が送信データを持つか否かを判断し、送信データを持つ場合、この遷移先画面が新たな遷移元画面となるので、ステップ151からの処理に戻って処理を繰り返し、そうでない場合、ここでの処理を終了する(ステップ158)。
【0028】
図6は画面遷移チェックプログラム180の処理動作を説明するフローチャートであり、次に、これについて説明する。ここでの処理は、図1に示すチェックリスト190を入力とし、画面遷移制御プログラム150からの情報を受け取りながら進められる。
【0029】
(1)まず、画面遷移制御プログラム150から遷移元画面の情報と遷移元画面からの入力情報とを受け取り、チェックリスト190内で、受け取った情報に対応する項目を検索する(ステップ181、182)
(2)さらに、業務処理プログラム170による実行結果と遷移先画面の情報とを画面遷移制御プログラム150から受け取り、チェックリスト190に記述された遷移先と受け取った実際の遷移先画面とを比較する(ステップ183、185)。
【0030】
(3)ステップ185による比較結果が一致した場合、チェック結果リスト200の確認の項目に○を記入し、比較結果が一致しなかった場合、確認の項目に×を記入する(ステップ186、187)。
【0031】
(4)その後、実際の画面の遷移をチェック結果リスト200に書き込み、残りのチェック項目が存在するか否かを判断し、あれば、ステップ181からの処理に戻ってチェックの処理を繰り返し、そうでなければ、ここでの処理を終了する(ステップ188、189)。
【0032】
図7は画面遷移定義生成プログラム300がチェック結果を遷移図上に反映する際の処理動作を説明するフローチャートであり、次に、これについて説明する。
【0033】
(1)まず、実際に画面を遷移をさせる際に使用した画面遷移定義データ160を参照して画面遷移図を表示する(ステップ310、320)。
【0034】
(2)次に、チェック結果リスト200を参照し、確認項目に×のついたチェック項目を検索する。確認項目に×がついたチェック項目がなかった場合、そのまま処理を終了する(ステップ330、340)。
【0035】
(3)ステップ340の検索で、確認項目に×のついたチェック項目が見つかった場合、定義したつもりで実行されなかった遷移を画面に点線で表示し、実際に行われた遷移を赤線で表示し、ステップ330からの処理に戻って、×のついたチェック項目の全てを遷移図上に反映させるまで処理を繰り返す(ステップ350、360)。
【0036】
前述した本発明の実施形態における各処理は、処理プログラムとして構成することができ、この処理プログラムは、HD、DAT、FD、MO、DVD−ROM、CD−ROM等の記録媒体に格納して提供することができる。
【0037】
次に、本発明をWebアプリケーションに適用した場合の具体例について説明する。なお、以下の説明では、装置内部での詳細な処理方法は、前述した本発明の実施形態により説明済みであるので省略する。
【0038】
図8は本発明をWebアプリケーションに適用した場合の画面遷移図の遷移定義の誤りを発見するための遷移定義例を示す図、図9は図8におけるプロセスが参照するデータテーブルの例を示す図、図10は図9に示した例のチェック結果リストを示す図、図11は図10に示すチェック結果を図8上に反映させた場合を説明する図である。ここで説明する例は、ホテル等の予約システムに本発明を適用した場合の例であり、図8〜図11を参照して、本発明によって画面遷移定義における遷移の誤りを発見することができることを説明する。
【0039】
図8に示すように、まず、入力画面510に宿泊人数、宿泊開始日、宿泊数を入力する。人数判定520の処理によって、まず、人数が1以上の数字で記入されているか否かをチェックする。人数に1より小さい数字や不正な文字が入力されていた場合、人数エラーの画面530により再度入力を行わせる。人数判定520の処理で、人数が1以上の数字で入力されたことが確認できた場合、宿泊数判定540の処理で、宿泊数が1以上の数字であるか否かをチェックする。宿泊数に1より小さい数字や不正な文字が入力されていた場合、宿泊数エラーの画面550により再入力を行わせる。宿泊数判定540の処理で、宿泊数が1以上の数字で入力されたことが確認できた場合、割引率算出560の処理で、図9に示す人数による割引率テーブル600から割引率を算出する。人数による割引率テーブル600にデータがあった場合、そのデータに基づく価格を価格表示画面570に表示し、データがなかった場合、この例では、宿泊人数が5人以上であった場合、団体予約画面580で団体予約の案内を行う。
【0040】
前述のシステムによるチェックを行った結果のチェック結果リスト700を図10に示している。チェックリストは、チェック結果リスト700の実遷移画面の欄と確認の欄を空欄にしたものであるのでその描画と説明とを省略する。このチェック結果により、例えば、宿泊数エラーの画面550で誤って人数に「0」を入力してしまった場合、人数エラー画面ではなく団体予約画面580に遷移してしまっていることが判る。この遷移の誤りを表示したものが図11である。宿泊数エラー画面550で宿泊数を修正した際に、人数を不正な値に変えられてしまう可能性があるので、その場合、宿泊数エラー画面550の遷移先は、宿泊数判定540ではなく人数判定520でなければならなかったという遷移の誤りを発見することができる。すなわち、図11には、実行されなかった人数判定520への遷移を画面に点線で表示し、実際に行われた宿泊数判定540への遷移を太線で表示しており、この表示から前述したような遷移の誤りを発見することができる。
【0041】
図12は本発明をWebアプリケーションに適用した場合の画面遷移図の遷移定義の不足を発見するための遷移定義例を示す図、図13は図12に示した例のチェック結果リストを示す図、図14は図12に示すチェック結果を図12上に反映させた場合を説明する図である。ここで説明する例は、個人情報の登録システムに本発明を適用した場合の例であり、図12〜図14を参照して、本発明によって画面遷移定義における遷移定義の不足を発見することができることを説明する。
【0042】
図12において、まず、登録画面810から名前と年齢とを入力する。入力チェック820の処理により入力チェックを行い、名前及び年齢に未記入のものがあるか否かをチェックし、あれば、登録画面810に戻って再度入力させる。そして、入力された年齢に従って、年齢が20歳未満の場合、未成年用画面830を表示し、20歳以上の場合、成年用画面840を表示して、確認画面850を表示する。前述のシステムによるチェックを行った結果のチェック結果リスト900を図13に示している。チェックリストは、チェック結果リスト700の実遷移画面の欄と確認の欄を空欄にしたものであるのでその描画と説明とを省略する。このチェック結果により、例えば、年齢に負の値を入力してしまった場合、登録画面に戻らずに未成年用画面に遷移してしまっていることが判る。つまり、太線の矢印で表示されているように、入力チェック820から未成年用画面830に遷移する。これにより、年齢に負の値が入力された場合が想定されておらず、入力チェック820から登録画面810への遷移が不足していることが発見することができる。この遷移の不足を表示したものが図14であり、不足した遷移が点線で示される。
【0043】
前述した2つの具体例から判るように、本発明の実施形態によれば、遷移図上では発見しにくい定義の誤りや不足を発見することができる。
【0044】
【発明の効果】
以上説明したように本発明によれば、システム構築の際に遷移図の定義の誤りや不足を容易に発見することができ、より正確なシステムの構築を支援することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態による状態遷移検証装置の構成を示すブロック図である。
【図2】画面遷移定義生成プログラムの処理と生成した画面の表示例について説明する図である。
【図3】画面遷移定義データの詳細な例を示す図である。
【図4】チェックリストとチェック結果リストとの例について説明する図である。
【図5】画面遷移制御プログラムの処理動作を説明するフローチャートである。
【図6】画面遷移チェックプログラムの処理動作を説明するフローチャートである。
【図7】画面遷移定義生成プログラムがチェック結果を遷移図上に反映する際の処理動作を説明するフローチャートである。
【図8】本発明をWebアプリケーションに適用した場合の画面遷移図の遷移定義の誤りを発見するための遷移定義例を示す図である。
【図9】図8におけるプロセスが参照するデータテーブルの例を示す図である。
【図10】図9に示した例のチェック結果リストを示す図である。
【図11】図10に示すチェック結果を図8上に反映させた場合を説明する図である。
【図12】本発明をWebアプリケーションに適用した場合の画面遷移図の遷移定義の不足を発見するための遷移定義例を示す図である。
【図13】図12に示した例のチェック結果リストを示す図である。
【図14】図12に示すチェック結果を図12上に反映させた場合を説明する図である。
【符号の説明】
100 端末
110 入力画面
120、130 結果画面A、B
140 Webアプリケーション実行装置
150 画面遷移制御プログラム
160 画面遷移定義データ
170 業務処理プログラム
180 画面遷移チェックプログラム
190 チェックリスト
200 チェック結果リスト
300 画面遷移定義生成プログラム
【発明の属する技術分野】
本発明は、状態遷移検証方法及び検証装置に係り、特に、システムを構築する際にプログラムが作成する遷移図に基づいて、作成された状態遷移の状況を検証する状態遷移検証方法及び検証装置に関する。
【0002】
【従来の技術】
プログラムを検証するために有効なテストケースを生成する方法に関する従来技術として、プログラムが作成する状態遷移図から漏れのない網羅的なテストケースを自動生成する方法や、効率の良いテストデータを生成する方法が知られている。また、他たの従来技術として、機能仕様書に基づいて状態遷移図を入力し、この状態遷移図に対して有向グラフとしての探索を行うことによってテストケースを自動生成する手法が、例えば、特許文献1等に記載されて知られている。
【0003】
【特許文献1】
特開平7−253905号公報
【0004】
【発明が解決しようとする課題】
前述した従来技術は、生成されたテストケースを用いて状態遷移を網羅的にチェックすることができるものであるが、状態遷移の定義自体に誤りが含まれていた場合、テストケースにもその誤りが反映されており、テスト自体が無意味なものとなってしまうという問題点を有している。近年、プログラムの仕様が複雑化しており、誤りのない正確な遷移図を定義することは困難となっている。また、遷移図上には、詳細な入力情報が記載されないため、入力値と状態遷移との関係が把握しにくく、遷移定義の誤りに気づきにくいという問題も生じている。
【0005】
本発明の目的は、前述したような従来技術の問題点を解決し、システム構築の際に、プログラムが作成する遷移図の定義の誤りや不足を容易に発見することができ、よりよいシステムの構築を支援することを可能にしたプログラムの状態遷移検証方法及び検証装置を提供することにある。
【0006】
【課題を解決するための手段】
本発明によれば前記目的は、予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する状態遷移検証方法において、状態遷移定義データを参照しながら前記プログラムが状態を遷移させ、前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照し、前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認し、チェックリスト通りに遷移したか否かの結果を記録することにより達成される。
【0007】
また、前記目的は、予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する状態遷移検証装置において、状態遷移定義データを参照しながら前記プログラムが状態を遷移させる手段と、前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照する手段と、前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認する手段と、チェックリスト通りに遷移したか否かの結果を記録する手段とを備えたことにより達成される。
【0008】
【発明実施の形態】
以下、本発明によるプログラムの状態遷移検証方法及び検証装置の実施形態を図面により詳細に説明する。
【0009】
図1は本発明の一実施形態による状態遷移検証装置の構成を示すブロック図である。この実施形態は、本発明をWebアプリケーションに適用した場合の構成例を示すものである。図1において、100は端末、110は入力画面、120、130は結果画面A、B、140はWebアプリケーション実行装置、150は画面遷移制御プログラム、160は画面遷移定義データ、170は業務処理プログラム、180は画面遷移チェックプログラム、190はチェックリスト、200はチェック結果リスト、300は画面遷移定義生成プログラムである。
【0010】
図1に示す本発明の一実施形態による状態遷移検証装置は、端末100とWebアプリケーション実行装置140とがネットワーク入力より接続されて構成されている。端末100は、図には示していないが、PC等としてよく知られているように、CPU、メモリ、HDD、キーボード、マウス等の入力装置、表示装置及びネットワークを介する通信手段を備えて構成されればよい。また、Webアプリケーション実行装置140は、前述の端末100と同様に、CPU、メモリ、HDD、キーボード、マウス等の入力装置、表示装置及びネットワークを介する通信手段を備えたPCサーバ、ワークステーション等により構成されていればよく、画面遷移制御プログラム150、画面遷移定義データ160、業務処理プログラム170、画面遷移チェックプログラム180、チェックリスト190、チェック結果リスト200、画面遷移定義生成プログラム300を備えている。Webアプリケーション実行装置140内に備えられる前述の各プログラムは、HDD等に格納されていて、装置内のメモリに読み出された後に、CPUにより実行される。また、画面定義データ160、チェックリスト190も、HDD等に格納されていて、装置内のメモリに読み出されて使用され、チェック結果リスト200は、メモリ内に作成される。
【0011】
前述したように構成される状態遷移検証装置において、ユーザは、端末100に表示される入力画面110内で要求されるデータの入力を行い、Webアプリケーション実行装置140にアクセスする。Webアプリケーション実行装置140の画面遷移制御プログラム150は、端末100からのデータの入力を受けて、必要な処理を行いその状態遷移の状況を示す処理結果を端末100に返送する。これにより、端末100上では、画面が結果画面A120または結果画面B130に遷移する。
【0012】
画面遷移制御プログラム150は、端末100の入力画面110を介した入力を受けて必要な業務処理プログラム170を呼び出し、業務処理プログラム170の実行結果と画面遷移定義生成プログラム300が生成した画面遷移定義データ160とにより遷移先画面を決定し、この画面を結果画面A120または結果画面B130として端末100に送信する。端末100は、これを受けて、画面を結果画面A120または結果画面B130に遷移させる。
【0013】
画面遷移制御プログラム150は、前述の処理と同時に、遷移の状況を画面遷移チェックプログラム180に送る。画面遷移チェックプログラム180は、チェックリスト190を入力し、このチェックリスト190の内容に従って画面遷移制御プログラム150から受け取った遷移状況をチェックし、チェック結果をチェックリスト190に記入し、このチェック結果を記入したものをチェック結果リスト200として出力する。画面遷移定義生成プログラム300は、画面遷移定義データ160とチェック結果リスト200とを参照して、テスト結果を遷移図上に表示する。従って、端末100に表示される結果画面A120または結果画面B130には、このテスト結果が反映されたものとなる。
【0014】
図2は画面遷移定義生成プログラムの処理と生成した画面の表示例について説明する図であり、次に、これについて説明する。
【0015】
処理が開始(ステップ400)されると、端末上に表示される入力画面410に入力されたデータがアクション450により、画面遷移制御プログラム150に送信される。画面遷移制御プログラム150は、送信されたアクションを処理してリターン値460または470を返す。図示例は、アクションの処理が、電話番号から東京都民用の画面に遷移させるか、非東京都民用の画面に遷移させるかを決定する処理の場合の例であり、画面遷移定義生成プログラム300上で、電話番号が“03”で始まるか否かという分岐条件BL440を定義した場合の例である。そして、分岐条件BL440による処理は、入力画面410から入力された電話番号が“03”で始まっている場合、リターン値“0”460を出力し、沿うでない場合、リターン値“1”470を出力する。
【0016】
画面遷移制御プログラム150は、このリターン値により、画面を東京都民用の画面420または非東京都民用の画面430に遷移させ、それを端末に送信して表示される。また、前述した画面遷移定義生成プログラム300は、定義された情報に基づいて、画面遷移定義データ160を生成する。さらに、遷移の状況は、画面遷移チェックプログラム180に渡され、画面遷移チェックプログラム180は、チェックリスト190に基づいてチェックを行い、チェック結果リストを作成する。
【0017】
画面遷移定義生成プログラム300は、前述のチェックの後、画面遷移定義データ160とチェック結果リスト200とを参照して、テスト結果を遷移図上に反映させる。定義した遷移と実際の遷移とが異なっていた場合、実際の遷移(ここでは450、460)を赤線で表示し、定義したはずだった遷移(ここでは470)を点線で示す。これにより、電話番号から東京都民用の画面に遷移させるか、非東京都民用の画面に遷移させるかを決定する場合、電話番号が“03”で始まるか否かという分岐条件だけでは、正確な制御印を決定することができないことが判る。
【0018】
図3は画面遷移定義データ160の詳細な例を示す図である。ここに示す例は、画面を表示制御するタグ言語で記述されている。
【0019】
図3において、pages タグは一連の画面遷移を表す。そして、遷移元となる画面をpageタグ内に記述する。pageタグ内には、画面を識別するid、画面に対応するファイルを指定する file−name、送信されるアクションを識別するactionID、遷移先画面を表すnextPage等が含まれる。nextPageタグ内には、遷移先画面を識別するnextPageIDと遷移先画面に対応するファイルを指定するnextPageFile−name とが含まれる。遷移元画面からの入力に対して分岐が発生する場合、条件分岐を行う業務処理プログラムをbranchで指定し、処理結果を遷移させたいnextPage内のreturnタグに指定する。
【0020】
図4はチェックリスト190とチェック結果リスト200との例について説明する図である。これらのリストには、遷移元のどのアクションにどんな値を入力したらどこへ遷移するといった詳細な項目を記述することができる。
【0021】
図4(a)に示すチェックリスト190、及び、図4(b)に示すチェック結果リスト200の送信データの欄には、画面遷移図上には表現することのできない詳細な入力情報を記述することができる。また、チェック結果リスト200には、実遷移画面の欄に、入力情報に対して実際にどのように遷移が行われたかが記入される。実際の遷移が定義画面に記されている遷移と一致した場合、画面遷移が正しく定義されているものとして確認の欄に○が記入され、一致しなかった場合、画面遷移定義に誤りがあるものとして確認の欄に×が記入される。
【0022】
図5は画面遷移制御プログラム150の処理動作を説明するフローチャートであり、次に、これについて説明する。
【0023】
(1)画面遷移制御プログラム150は、図1に示す入力画面110から送信されてきた入力を受け取り、受け取ったデータを元に入力画面に対応して予め決められている業務処理プログラム170の1つを呼び出す(ステップ151、152)。
【0024】
(2)遷移元画面の情報を図1に示す画面遷移チェックプログラム180に渡すと共に、業務処理プログラム170から実行結果を受け取る(ステップ153、154)。
【0025】
(3)次に、業務処理プログラムの実行結果と画面遷移定義データ160とから遷移先画面を決定し、決定した遷移先画面の情報を画面遷移チェックプログラム180に渡す(ステップ155、156)。
【0026】
(4)ステップ155の処理で決定した遷移先画面を呼び出して端末100に送信して画面を遷移させる(ステップ157)。
【0027】
(5)次に、遷移先画面が送信データを持つか否かを判断し、送信データを持つ場合、この遷移先画面が新たな遷移元画面となるので、ステップ151からの処理に戻って処理を繰り返し、そうでない場合、ここでの処理を終了する(ステップ158)。
【0028】
図6は画面遷移チェックプログラム180の処理動作を説明するフローチャートであり、次に、これについて説明する。ここでの処理は、図1に示すチェックリスト190を入力とし、画面遷移制御プログラム150からの情報を受け取りながら進められる。
【0029】
(1)まず、画面遷移制御プログラム150から遷移元画面の情報と遷移元画面からの入力情報とを受け取り、チェックリスト190内で、受け取った情報に対応する項目を検索する(ステップ181、182)
(2)さらに、業務処理プログラム170による実行結果と遷移先画面の情報とを画面遷移制御プログラム150から受け取り、チェックリスト190に記述された遷移先と受け取った実際の遷移先画面とを比較する(ステップ183、185)。
【0030】
(3)ステップ185による比較結果が一致した場合、チェック結果リスト200の確認の項目に○を記入し、比較結果が一致しなかった場合、確認の項目に×を記入する(ステップ186、187)。
【0031】
(4)その後、実際の画面の遷移をチェック結果リスト200に書き込み、残りのチェック項目が存在するか否かを判断し、あれば、ステップ181からの処理に戻ってチェックの処理を繰り返し、そうでなければ、ここでの処理を終了する(ステップ188、189)。
【0032】
図7は画面遷移定義生成プログラム300がチェック結果を遷移図上に反映する際の処理動作を説明するフローチャートであり、次に、これについて説明する。
【0033】
(1)まず、実際に画面を遷移をさせる際に使用した画面遷移定義データ160を参照して画面遷移図を表示する(ステップ310、320)。
【0034】
(2)次に、チェック結果リスト200を参照し、確認項目に×のついたチェック項目を検索する。確認項目に×がついたチェック項目がなかった場合、そのまま処理を終了する(ステップ330、340)。
【0035】
(3)ステップ340の検索で、確認項目に×のついたチェック項目が見つかった場合、定義したつもりで実行されなかった遷移を画面に点線で表示し、実際に行われた遷移を赤線で表示し、ステップ330からの処理に戻って、×のついたチェック項目の全てを遷移図上に反映させるまで処理を繰り返す(ステップ350、360)。
【0036】
前述した本発明の実施形態における各処理は、処理プログラムとして構成することができ、この処理プログラムは、HD、DAT、FD、MO、DVD−ROM、CD−ROM等の記録媒体に格納して提供することができる。
【0037】
次に、本発明をWebアプリケーションに適用した場合の具体例について説明する。なお、以下の説明では、装置内部での詳細な処理方法は、前述した本発明の実施形態により説明済みであるので省略する。
【0038】
図8は本発明をWebアプリケーションに適用した場合の画面遷移図の遷移定義の誤りを発見するための遷移定義例を示す図、図9は図8におけるプロセスが参照するデータテーブルの例を示す図、図10は図9に示した例のチェック結果リストを示す図、図11は図10に示すチェック結果を図8上に反映させた場合を説明する図である。ここで説明する例は、ホテル等の予約システムに本発明を適用した場合の例であり、図8〜図11を参照して、本発明によって画面遷移定義における遷移の誤りを発見することができることを説明する。
【0039】
図8に示すように、まず、入力画面510に宿泊人数、宿泊開始日、宿泊数を入力する。人数判定520の処理によって、まず、人数が1以上の数字で記入されているか否かをチェックする。人数に1より小さい数字や不正な文字が入力されていた場合、人数エラーの画面530により再度入力を行わせる。人数判定520の処理で、人数が1以上の数字で入力されたことが確認できた場合、宿泊数判定540の処理で、宿泊数が1以上の数字であるか否かをチェックする。宿泊数に1より小さい数字や不正な文字が入力されていた場合、宿泊数エラーの画面550により再入力を行わせる。宿泊数判定540の処理で、宿泊数が1以上の数字で入力されたことが確認できた場合、割引率算出560の処理で、図9に示す人数による割引率テーブル600から割引率を算出する。人数による割引率テーブル600にデータがあった場合、そのデータに基づく価格を価格表示画面570に表示し、データがなかった場合、この例では、宿泊人数が5人以上であった場合、団体予約画面580で団体予約の案内を行う。
【0040】
前述のシステムによるチェックを行った結果のチェック結果リスト700を図10に示している。チェックリストは、チェック結果リスト700の実遷移画面の欄と確認の欄を空欄にしたものであるのでその描画と説明とを省略する。このチェック結果により、例えば、宿泊数エラーの画面550で誤って人数に「0」を入力してしまった場合、人数エラー画面ではなく団体予約画面580に遷移してしまっていることが判る。この遷移の誤りを表示したものが図11である。宿泊数エラー画面550で宿泊数を修正した際に、人数を不正な値に変えられてしまう可能性があるので、その場合、宿泊数エラー画面550の遷移先は、宿泊数判定540ではなく人数判定520でなければならなかったという遷移の誤りを発見することができる。すなわち、図11には、実行されなかった人数判定520への遷移を画面に点線で表示し、実際に行われた宿泊数判定540への遷移を太線で表示しており、この表示から前述したような遷移の誤りを発見することができる。
【0041】
図12は本発明をWebアプリケーションに適用した場合の画面遷移図の遷移定義の不足を発見するための遷移定義例を示す図、図13は図12に示した例のチェック結果リストを示す図、図14は図12に示すチェック結果を図12上に反映させた場合を説明する図である。ここで説明する例は、個人情報の登録システムに本発明を適用した場合の例であり、図12〜図14を参照して、本発明によって画面遷移定義における遷移定義の不足を発見することができることを説明する。
【0042】
図12において、まず、登録画面810から名前と年齢とを入力する。入力チェック820の処理により入力チェックを行い、名前及び年齢に未記入のものがあるか否かをチェックし、あれば、登録画面810に戻って再度入力させる。そして、入力された年齢に従って、年齢が20歳未満の場合、未成年用画面830を表示し、20歳以上の場合、成年用画面840を表示して、確認画面850を表示する。前述のシステムによるチェックを行った結果のチェック結果リスト900を図13に示している。チェックリストは、チェック結果リスト700の実遷移画面の欄と確認の欄を空欄にしたものであるのでその描画と説明とを省略する。このチェック結果により、例えば、年齢に負の値を入力してしまった場合、登録画面に戻らずに未成年用画面に遷移してしまっていることが判る。つまり、太線の矢印で表示されているように、入力チェック820から未成年用画面830に遷移する。これにより、年齢に負の値が入力された場合が想定されておらず、入力チェック820から登録画面810への遷移が不足していることが発見することができる。この遷移の不足を表示したものが図14であり、不足した遷移が点線で示される。
【0043】
前述した2つの具体例から判るように、本発明の実施形態によれば、遷移図上では発見しにくい定義の誤りや不足を発見することができる。
【0044】
【発明の効果】
以上説明したように本発明によれば、システム構築の際に遷移図の定義の誤りや不足を容易に発見することができ、より正確なシステムの構築を支援することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態による状態遷移検証装置の構成を示すブロック図である。
【図2】画面遷移定義生成プログラムの処理と生成した画面の表示例について説明する図である。
【図3】画面遷移定義データの詳細な例を示す図である。
【図4】チェックリストとチェック結果リストとの例について説明する図である。
【図5】画面遷移制御プログラムの処理動作を説明するフローチャートである。
【図6】画面遷移チェックプログラムの処理動作を説明するフローチャートである。
【図7】画面遷移定義生成プログラムがチェック結果を遷移図上に反映する際の処理動作を説明するフローチャートである。
【図8】本発明をWebアプリケーションに適用した場合の画面遷移図の遷移定義の誤りを発見するための遷移定義例を示す図である。
【図9】図8におけるプロセスが参照するデータテーブルの例を示す図である。
【図10】図9に示した例のチェック結果リストを示す図である。
【図11】図10に示すチェック結果を図8上に反映させた場合を説明する図である。
【図12】本発明をWebアプリケーションに適用した場合の画面遷移図の遷移定義の不足を発見するための遷移定義例を示す図である。
【図13】図12に示した例のチェック結果リストを示す図である。
【図14】図12に示すチェック結果を図12上に反映させた場合を説明する図である。
【符号の説明】
100 端末
110 入力画面
120、130 結果画面A、B
140 Webアプリケーション実行装置
150 画面遷移制御プログラム
160 画面遷移定義データ
170 業務処理プログラム
180 画面遷移チェックプログラム
190 チェックリスト
200 チェック結果リスト
300 画面遷移定義生成プログラム
Claims (5)
- 予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する状態遷移検証方法において、
状態遷移定義データを参照しながら前記プログラムが状態を遷移させ、
前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照し、
前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認し、
チェックリスト通りに遷移したか否かの結果を記録することを特徴とする状態遷移検証方法。 - 前記状態遷移の状況を遷移図として表示することを特徴とする請求項1記載の状態遷移検証方法。
- 前記記録されたチェック結果の記録と遷移定義データとを読み込み、
遷移定義を表示する際にチェック結果の記録を前記遷移図上に反映させることを特徴とする請求項2記載の状態遷移検証方法。 - 予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する状態遷移検証装置において、
状態遷移定義データを参照しながら前記プログラムが状態を遷移させる手段と、
前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照する手段と、
前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認する手段と、
チェックリスト通りに遷移したか否かの結果を記録する手段とを備えたことを特徴とする状態遷移検証装置。 - 予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する処理プログラムであって、
状態遷移定義データを参照しながら前記プログラムが状態を遷移させる処理ステップと、
前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照する処理ステップと、
前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認する処理ステップと、
チェックリスト通りに遷移したか否かの結果を記録する処理ステップとを備えたことを特徴とする処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003145268A JP2004348473A (ja) | 2003-05-22 | 2003-05-22 | 状態遷移検証方法及び検証装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003145268A JP2004348473A (ja) | 2003-05-22 | 2003-05-22 | 状態遷移検証方法及び検証装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004348473A true JP2004348473A (ja) | 2004-12-09 |
Family
ID=33532497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003145268A Pending JP2004348473A (ja) | 2003-05-22 | 2003-05-22 | 状態遷移検証方法及び検証装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004348473A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007018206A (ja) * | 2005-07-07 | 2007-01-25 | Hitachi Software Eng Co Ltd | 進捗管理システム |
JP2007018205A (ja) * | 2005-07-07 | 2007-01-25 | Hitachi Software Eng Co Ltd | アプリケーションプログラム実行装置,アプリケーション開発支援装置,画面遷移履歴表示装置及びプログラム |
JP2008077317A (ja) * | 2006-09-20 | 2008-04-03 | I L C:Kk | 検証装置、検証プログラム、および検証方法 |
JP2009075886A (ja) * | 2007-09-20 | 2009-04-09 | Ntt Data Corp | 仕様欠陥検証システム、その方法及びプログラム |
US7610584B2 (en) * | 2004-01-02 | 2009-10-27 | International Business Machines Corporation | Method, system, and product for defining and managing provisioning states for resources in provisioning data processing systems |
JP2016004576A (ja) * | 2014-06-19 | 2016-01-12 | 富士通株式会社 | Guiに基づくアプリケーションのモデルを検証する方法及びコンピュータ可読記憶媒体 |
JP2016048471A (ja) * | 2014-08-27 | 2016-04-07 | 日本電気株式会社 | アプリケーション開発支援装置、そのデータ処理方法、およびプログラム |
WO2017134806A1 (ja) * | 2016-02-05 | 2017-08-10 | 株式会社日立製作所 | プログラム設計開発システム |
-
2003
- 2003-05-22 JP JP2003145268A patent/JP2004348473A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7610584B2 (en) * | 2004-01-02 | 2009-10-27 | International Business Machines Corporation | Method, system, and product for defining and managing provisioning states for resources in provisioning data processing systems |
JP2007018206A (ja) * | 2005-07-07 | 2007-01-25 | Hitachi Software Eng Co Ltd | 進捗管理システム |
JP2007018205A (ja) * | 2005-07-07 | 2007-01-25 | Hitachi Software Eng Co Ltd | アプリケーションプログラム実行装置,アプリケーション開発支援装置,画面遷移履歴表示装置及びプログラム |
JP2008077317A (ja) * | 2006-09-20 | 2008-04-03 | I L C:Kk | 検証装置、検証プログラム、および検証方法 |
JP4747060B2 (ja) * | 2006-09-20 | 2011-08-10 | 株式会社アイ・エル・シー | 検証装置、検証プログラム、および検証方法 |
JP2009075886A (ja) * | 2007-09-20 | 2009-04-09 | Ntt Data Corp | 仕様欠陥検証システム、その方法及びプログラム |
JP2016004576A (ja) * | 2014-06-19 | 2016-01-12 | 富士通株式会社 | Guiに基づくアプリケーションのモデルを検証する方法及びコンピュータ可読記憶媒体 |
JP2016048471A (ja) * | 2014-08-27 | 2016-04-07 | 日本電気株式会社 | アプリケーション開発支援装置、そのデータ処理方法、およびプログラム |
WO2017134806A1 (ja) * | 2016-02-05 | 2017-08-10 | 株式会社日立製作所 | プログラム設計開発システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4140916B2 (ja) | Webページにおける状態遷移を解析する方法 | |
US8327333B2 (en) | Apparatus, method, and system of assisting software development | |
KR101754258B1 (ko) | 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법 | |
US8359359B2 (en) | Device, method, and computer program product for supporting creation of reply mail | |
JP2004348473A (ja) | 状態遷移検証方法及び検証装置 | |
JP2007140642A (ja) | 履歴情報記録装置およびプログラム | |
US8429607B2 (en) | Method and apparatus for managing variability points | |
JP2006058966A (ja) | ページ情報収集プログラム、ページ情報収集方法、及びページ情報収集装置 | |
CN109151520A (zh) | 一种生成视频的方法、装置、电子设备及介质 | |
CN107729097B (zh) | 展示页面配置方法及相应设备 | |
JP4878193B2 (ja) | 判定プログラム、判定方法及び判定装置 | |
JP4215255B2 (ja) | デグレード確認検査方法、デグレード確認検査システム、およびそのためのプログラム | |
JP2005157880A (ja) | 情報処理装置、情報処理方法、その記録媒体及びプログラム | |
JP4563775B2 (ja) | 認証情報自動入力装置、方法およびプログラム | |
JP5048537B2 (ja) | ワークフロー処理装置 | |
JP2009098896A (ja) | 履歴情報の動作制御装置および方法 | |
CN112601129A (zh) | 视频交互系统、方法和接收端 | |
JP6789776B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2009110445A (ja) | 画像認識装置、画像認識プログラムおよび画像認識方法 | |
JP2008090909A (ja) | 光ディスク読込装置、及びコンテンツデータ更新通知方法 | |
CN107544750A (zh) | 终端设备 | |
JP2005227960A (ja) | プロセス編集支援装置、プロセス管理装置、プロセス編集支援プログラム、プロセス管理プログラム、記録媒体、プロセス編集支援方法及びプロセス管理方法 | |
JP2006024021A (ja) | 帳票自動作成システム、帳票自動作成方法、帳票自動作成サーバ、および帳票自動作成装置 | |
JP2007034807A (ja) | 情報処理装置及びプログラム | |
JP2007199763A (ja) | 情報管理方法及び情報管理システム |