(57)【要約】【課題】システム構築の際に遷移図の定義の誤りや不足を容易に発見することができ、より正確なシステムの構築を支援することを可能にする。【解決手段】ユーザは、端末１００の入力画面１１０内でデータの入力を行い、実行装置１４０にアクセスする。画面遷移制御プログラム１５０は、端末１００からデータ入力を受け、業務処理プログラム１７０を呼び出し、その実行結果と画面遷移定義生成プログラム３００が生成した画面遷移定義データ１６０とにより遷移先画面の結果画面Ａ１２０またはＢ１３０を端末１００に送信して画面を遷移させる。制御プログラム１５０は、同時に、遷移の状況を画面遷移チェックプログラム１８０に送り、チェックリスト１９０の内容に従って遷移状況をチェックさせ、チェック結果をチェックリスト１９０に記入させ、チェック結果リスト２００として出力させる。前記プログラム３００は、前記定義データ１６０と前記結果リスト２００とを参照して、テスト結果を遷移図上に表示する。【選択図】      図１
2004348473.tif 000002
【特許請求の範囲】
【請求項１】
予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する状態遷移検証方法において、
状態遷移定義データを参照しながら前記プログラムが状態を遷移させ、
前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照し、
前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認し、
チェックリスト通りに遷移したか否かの結果を記録することを特徴とする状態遷移検証方法。
【請求項２】
前記状態遷移の状況を遷移図として表示することを特徴とする請求項１記載の状態遷移検証方法。
【請求項３】
前記記録されたチェック結果の記録と遷移定義データとを読み込み、
遷移定義を表示する際にチェック結果の記録を前記遷移図上に反映させることを特徴とする請求項２記載の状態遷移検証方法。
【請求項４】
予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する状態遷移検証装置において、
状態遷移定義データを参照しながら前記プログラムが状態を遷移させる手段と、
前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照する手段と、
前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認する手段と、
チェックリスト通りに遷移したか否かの結果を記録する手段とを備えたことを特徴とする状態遷移検証装置。
【請求項５】
予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する処理プログラムであって、
状態遷移定義データを参照しながら前記プログラムが状態を遷移させる処理ステップと、
前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照する処理ステップと、
前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認する処理ステップと、
チェックリスト通りに遷移したか否かの結果を記録する処理ステップとを備えたことを特徴とする処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、状態遷移検証方法及び検証装置に係り、特に、システムを構築する際にプログラムが作成する遷移図に基づいて、作成された状態遷移の状況を検証する状態遷移検証方法及び検証装置に関する。
【０００２】
【従来の技術】
プログラムを検証するために有効なテストケースを生成する方法に関する従来技術として、プログラムが作成する状態遷移図から漏れのない網羅的なテストケースを自動生成する方法や、効率の良いテストデータを生成する方法が知られている。また、他たの従来技術として、機能仕様書に基づいて状態遷移図を入力し、この状態遷移図に対して有向グラフとしての探索を行うことによってテストケースを自動生成する手法が、例えば、特許文献１等に記載されて知られている。
【０００３】
【特許文献１】
特開平７−２５３９０５号公報
【０００４】
【発明が解決しようとする課題】
前述した従来技術は、生成されたテストケースを用いて状態遷移を網羅的にチェックすることができるものであるが、状態遷移の定義自体に誤りが含まれていた場合、テストケースにもその誤りが反映されており、テスト自体が無意味なものとなってしまうという問題点を有している。近年、プログラムの仕様が複雑化しており、誤りのない正確な遷移図を定義することは困難となっている。また、遷移図上には、詳細な入力情報が記載されないため、入力値と状態遷移との関係が把握しにくく、遷移定義の誤りに気づきにくいという問題も生じている。
【０００５】
本発明の目的は、前述したような従来技術の問題点を解決し、システム構築の際に、プログラムが作成する遷移図の定義の誤りや不足を容易に発見することができ、よりよいシステムの構築を支援することを可能にしたプログラムの状態遷移検証方法及び検証装置を提供することにある。
【０００６】
【課題を解決するための手段】
本発明によれば前記目的は、予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する状態遷移検証方法において、状態遷移定義データを参照しながら前記プログラムが状態を遷移させ、前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照し、前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認し、チェックリスト通りに遷移したか否かの結果を記録することにより達成される。
【０００７】
また、前記目的は、予め定義した遷移定義に従って状態遷移を行うプログラムの状態遷移定義による状態遷移の状況を検証する状態遷移検証装置において、状態遷移定義データを参照しながら前記プログラムが状態を遷移させる手段と、前記プログラムが状態を遷移させる際に、遷移定義データとは別に予め作成したチェックリストを参照する手段と、前記プログラムが行った遷移の状況がチェックリスト通りであるか否かを確認する手段と、チェックリスト通りに遷移したか否かの結果を記録する手段とを備えたことにより達成される。
【０００８】
【発明実施の形態】
以下、本発明によるプログラムの状態遷移検証方法及び検証装置の実施形態を図面により詳細に説明する。
【０００９】
図１は本発明の一実施形態による状態遷移検証装置の構成を示すブロック図である。この実施形態は、本発明をＷｅｂアプリケーションに適用した場合の構成例を示すものである。図１において、１００は端末、１１０は入力画面、１２０、１３０は結果画面Ａ、Ｂ、１４０はＷｅｂアプリケーション実行装置、１５０は画面遷移制御プログラム、１６０は画面遷移定義データ、１７０は業務処理プログラム、１８０は画面遷移チェックプログラム、１９０はチェックリスト、２００はチェック結果リスト、３００は画面遷移定義生成プログラムである。
【００１０】
図１に示す本発明の一実施形態による状態遷移検証装置は、端末１００とＷｅｂアプリケーション実行装置１４０とがネットワーク入力より接続されて構成されている。端末１００は、図には示していないが、ＰＣ等としてよく知られているように、ＣＰＵ、メモリ、ＨＤＤ、キーボード、マウス等の入力装置、表示装置及びネットワークを介する通信手段を備えて構成されればよい。また、Ｗｅｂアプリケーション実行装置１４０は、前述の端末１００と同様に、ＣＰＵ、メモリ、ＨＤＤ、キーボード、マウス等の入力装置、表示装置及びネットワークを介する通信手段を備えたＰＣサーバ、ワークステーション等により構成されていればよく、画面遷移制御プログラム１５０、画面遷移定義データ１６０、業務処理プログラム１７０、画面遷移チェックプログラム１８０、チェックリスト１９０、チェック結果リスト２００、画面遷移定義生成プログラム３００を備えている。Ｗｅｂアプリケーション実行装置１４０内に備えられる前述の各プログラムは、ＨＤＤ等に格納されていて、装置内のメモリに読み出された後に、ＣＰＵにより実行される。また、画面定義データ１６０、チェックリスト１９０も、ＨＤＤ等に格納されていて、装置内のメモリに読み出されて使用され、チェック結果リスト２００は、メモリ内に作成される。
【００１１】
前述したように構成される状態遷移検証装置において、ユーザは、端末１００に表示される入力画面１１０内で要求されるデータの入力を行い、Ｗｅｂアプリケーション実行装置１４０にアクセスする。Ｗｅｂアプリケーション実行装置１４０の画面遷移制御プログラム１５０は、端末１００からのデータの入力を受けて、必要な処理を行いその状態遷移の状況を示す処理結果を端末１００に返送する。これにより、端末１００上では、画面が結果画面Ａ１２０または結果画面Ｂ１３０に遷移する。
【００１２】
画面遷移制御プログラム１５０は、端末１００の入力画面１１０を介した入力を受けて必要な業務処理プログラム１７０を呼び出し、業務処理プログラム１７０の実行結果と画面遷移定義生成プログラム３００が生成した画面遷移定義データ１６０とにより遷移先画面を決定し、この画面を結果画面Ａ１２０または結果画面Ｂ１３０として端末１００に送信する。端末１００は、これを受けて、画面を結果画面Ａ１２０または結果画面Ｂ１３０に遷移させる。
【００１３】
画面遷移制御プログラム１５０は、前述の処理と同時に、遷移の状況を画面遷移チェックプログラム１８０に送る。画面遷移チェックプログラム１８０は、チェックリスト１９０を入力し、このチェックリスト１９０の内容に従って画面遷移制御プログラム１５０から受け取った遷移状況をチェックし、チェック結果をチェックリスト１９０に記入し、このチェック結果を記入したものをチェック結果リスト２００として出力する。画面遷移定義生成プログラム３００は、画面遷移定義データ１６０とチェック結果リスト２００とを参照して、テスト結果を遷移図上に表示する。従って、端末１００に表示される結果画面Ａ１２０または結果画面Ｂ１３０には、このテスト結果が反映されたものとなる。
【００１４】
図２は画面遷移定義生成プログラムの処理と生成した画面の表示例について説明する図であり、次に、これについて説明する。
【００１５】
処理が開始（ステップ４００）されると、端末上に表示される入力画面４１０に入力されたデータがアクション４５０により、画面遷移制御プログラム１５０に送信される。画面遷移制御プログラム１５０は、送信されたアクションを処理してリターン値４６０または４７０を返す。図示例は、アクションの処理が、電話番号から東京都民用の画面に遷移させるか、非東京都民用の画面に遷移させるかを決定する処理の場合の例であり、画面遷移定義生成プログラム３００上で、電話番号が“０３”で始まるか否かという分岐条件ＢＬ４４０を定義した場合の例である。そして、分岐条件ＢＬ４４０による処理は、入力画面４１０から入力された電話番号が“０３”で始まっている場合、リターン値“０”４６０を出力し、沿うでない場合、リターン値“１”４７０を出力する。
【００１６】
画面遷移制御プログラム１５０は、このリターン値により、画面を東京都民用の画面４２０または非東京都民用の画面４３０に遷移させ、それを端末に送信して表示される。また、前述した画面遷移定義生成プログラム３００は、定義された情報に基づいて、画面遷移定義データ１６０を生成する。さらに、遷移の状況は、画面遷移チェックプログラム１８０に渡され、画面遷移チェックプログラム１８０は、チェックリスト１９０に基づいてチェックを行い、チェック結果リストを作成する。
【００１７】
画面遷移定義生成プログラム３００は、前述のチェックの後、画面遷移定義データ１６０とチェック結果リスト２００とを参照して、テスト結果を遷移図上に反映させる。定義した遷移と実際の遷移とが異なっていた場合、実際の遷移（ここでは４５０、４６０）を赤線で表示し、定義したはずだった遷移（ここでは４７０）を点線で示す。これにより、電話番号から東京都民用の画面に遷移させるか、非東京都民用の画面に遷移させるかを決定する場合、電話番号が“０３”で始まるか否かという分岐条件だけでは、正確な制御印を決定することができないことが判る。
【００１８】
図３は画面遷移定義データ１６０の詳細な例を示す図である。ここに示す例は、画面を表示制御するタグ言語で記述されている。
【００１９】
図３において、ｐａｇｅｓ  タグは一連の画面遷移を表す。そして、遷移元となる画面をｐａｇｅタグ内に記述する。ｐａｇｅタグ内には、画面を識別するｉｄ、画面に対応するファイルを指定する  ｆｉｌｅ−ｎａｍｅ、送信されるアクションを識別するａｃｔｉｏｎＩＤ、遷移先画面を表すｎｅｘｔＰａｇｅ等が含まれる。ｎｅｘｔＰａｇｅタグ内には、遷移先画面を識別するｎｅｘｔＰａｇｅＩＤと遷移先画面に対応するファイルを指定するｎｅｘｔＰａｇｅＦｉｌｅ−ｎａｍｅ  とが含まれる。遷移元画面からの入力に対して分岐が発生する場合、条件分岐を行う業務処理プログラムをｂｒａｎｃｈで指定し、処理結果を遷移させたいｎｅｘｔＰａｇｅ内のｒｅｔｕｒｎタグに指定する。
【００２０】
図４はチェックリスト１９０とチェック結果リスト２００との例について説明する図である。これらのリストには、遷移元のどのアクションにどんな値を入力したらどこへ遷移するといった詳細な項目を記述することができる。
【００２１】
図４（ａ）に示すチェックリスト１９０、及び、図４（ｂ）に示すチェック結果リスト２００の送信データの欄には、画面遷移図上には表現することのできない詳細な入力情報を記述することができる。また、チェック結果リスト２００には、実遷移画面の欄に、入力情報に対して実際にどのように遷移が行われたかが記入される。実際の遷移が定義画面に記されている遷移と一致した場合、画面遷移が正しく定義されているものとして確認の欄に○が記入され、一致しなかった場合、画面遷移定義に誤りがあるものとして確認の欄に×が記入される。
【００２２】
図５は画面遷移制御プログラム１５０の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００２３】
（１）画面遷移制御プログラム１５０は、図１に示す入力画面１１０から送信されてきた入力を受け取り、受け取ったデータを元に入力画面に対応して予め決められている業務処理プログラム１７０の１つを呼び出す（ステップ１５１、１５２）。
【００２４】
（２）遷移元画面の情報を図１に示す画面遷移チェックプログラム１８０に渡すと共に、業務処理プログラム１７０から実行結果を受け取る（ステップ１５３、１５４）。
【００２５】
（３）次に、業務処理プログラムの実行結果と画面遷移定義データ１６０とから遷移先画面を決定し、決定した遷移先画面の情報を画面遷移チェックプログラム１８０に渡す（ステップ１５５、１５６）。
【００２６】
（４）ステップ１５５の処理で決定した遷移先画面を呼び出して端末１００に送信して画面を遷移させる（ステップ１５７）。
【００２７】
（５）次に、遷移先画面が送信データを持つか否かを判断し、送信データを持つ場合、この遷移先画面が新たな遷移元画面となるので、ステップ１５１からの処理に戻って処理を繰り返し、そうでない場合、ここでの処理を終了する（ステップ１５８）。
【００２８】
図６は画面遷移チェックプログラム１８０の処理動作を説明するフローチャートであり、次に、これについて説明する。ここでの処理は、図１に示すチェックリスト１９０を入力とし、画面遷移制御プログラム１５０からの情報を受け取りながら進められる。
【００２９】
（１）まず、画面遷移制御プログラム１５０から遷移元画面の情報と遷移元画面からの入力情報とを受け取り、チェックリスト１９０内で、受け取った情報に対応する項目を検索する（ステップ１８１、１８２）
（２）さらに、業務処理プログラム１７０による実行結果と遷移先画面の情報とを画面遷移制御プログラム１５０から受け取り、チェックリスト１９０に記述された遷移先と受け取った実際の遷移先画面とを比較する（ステップ１８３、１８５）。
【００３０】
（３）ステップ１８５による比較結果が一致した場合、チェック結果リスト２００の確認の項目に○を記入し、比較結果が一致しなかった場合、確認の項目に×を記入する（ステップ１８６、１８７）。
【００３１】
（４）その後、実際の画面の遷移をチェック結果リスト２００に書き込み、残りのチェック項目が存在するか否かを判断し、あれば、ステップ１８１からの処理に戻ってチェックの処理を繰り返し、そうでなければ、ここでの処理を終了する（ステップ１８８、１８９）。
【００３２】
図７は画面遷移定義生成プログラム３００がチェック結果を遷移図上に反映する際の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００３３】
（１）まず、実際に画面を遷移をさせる際に使用した画面遷移定義データ１６０を参照して画面遷移図を表示する（ステップ３１０、３２０）。
【００３４】
（２）次に、チェック結果リスト２００を参照し、確認項目に×のついたチェック項目を検索する。確認項目に×がついたチェック項目がなかった場合、そのまま処理を終了する（ステップ３３０、３４０）。
【００３５】
（３）ステップ３４０の検索で、確認項目に×のついたチェック項目が見つかった場合、定義したつもりで実行されなかった遷移を画面に点線で表示し、実際に行われた遷移を赤線で表示し、ステップ３３０からの処理に戻って、×のついたチェック項目の全てを遷移図上に反映させるまで処理を繰り返す（ステップ３５０、３６０）。
【００３６】
前述した本発明の実施形態における各処理は、処理プログラムとして構成することができ、この処理プログラムは、ＨＤ、ＤＡＴ、ＦＤ、ＭＯ、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することができる。
【００３７】
次に、本発明をＷｅｂアプリケーションに適用した場合の具体例について説明する。なお、以下の説明では、装置内部での詳細な処理方法は、前述した本発明の実施形態により説明済みであるので省略する。
【００３８】
図８は本発明をＷｅｂアプリケーションに適用した場合の画面遷移図の遷移定義の誤りを発見するための遷移定義例を示す図、図９は図８におけるプロセスが参照するデータテーブルの例を示す図、図１０は図９に示した例のチェック結果リストを示す図、図１１は図１０に示すチェック結果を図８上に反映させた場合を説明する図である。ここで説明する例は、ホテル等の予約システムに本発明を適用した場合の例であり、図８〜図１１を参照して、本発明によって画面遷移定義における遷移の誤りを発見することができることを説明する。
【００３９】
図８に示すように、まず、入力画面５１０に宿泊人数、宿泊開始日、宿泊数を入力する。人数判定５２０の処理によって、まず、人数が１以上の数字で記入されているか否かをチェックする。人数に１より小さい数字や不正な文字が入力されていた場合、人数エラーの画面５３０により再度入力を行わせる。人数判定５２０の処理で、人数が１以上の数字で入力されたことが確認できた場合、宿泊数判定５４０の処理で、宿泊数が１以上の数字であるか否かをチェックする。宿泊数に１より小さい数字や不正な文字が入力されていた場合、宿泊数エラーの画面５５０により再入力を行わせる。宿泊数判定５４０の処理で、宿泊数が１以上の数字で入力されたことが確認できた場合、割引率算出５６０の処理で、図９に示す人数による割引率テーブル６００から割引率を算出する。人数による割引率テーブル６００にデータがあった場合、そのデータに基づく価格を価格表示画面５７０に表示し、データがなかった場合、この例では、宿泊人数が５人以上であった場合、団体予約画面５８０で団体予約の案内を行う。
【００４０】
前述のシステムによるチェックを行った結果のチェック結果リスト７００を図１０に示している。チェックリストは、チェック結果リスト７００の実遷移画面の欄と確認の欄を空欄にしたものであるのでその描画と説明とを省略する。このチェック結果により、例えば、宿泊数エラーの画面５５０で誤って人数に「０」を入力してしまった場合、人数エラー画面ではなく団体予約画面５８０に遷移してしまっていることが判る。この遷移の誤りを表示したものが図１１である。宿泊数エラー画面５５０で宿泊数を修正した際に、人数を不正な値に変えられてしまう可能性があるので、その場合、宿泊数エラー画面５５０の遷移先は、宿泊数判定５４０ではなく人数判定５２０でなければならなかったという遷移の誤りを発見することができる。すなわち、図１１には、実行されなかった人数判定５２０への遷移を画面に点線で表示し、実際に行われた宿泊数判定５４０への遷移を太線で表示しており、この表示から前述したような遷移の誤りを発見することができる。
【００４１】
図１２は本発明をＷｅｂアプリケーションに適用した場合の画面遷移図の遷移定義の不足を発見するための遷移定義例を示す図、図１３は図１２に示した例のチェック結果リストを示す図、図１４は図１２に示すチェック結果を図１２上に反映させた場合を説明する図である。ここで説明する例は、個人情報の登録システムに本発明を適用した場合の例であり、図１２〜図１４を参照して、本発明によって画面遷移定義における遷移定義の不足を発見することができることを説明する。
【００４２】
図１２において、まず、登録画面８１０から名前と年齢とを入力する。入力チェック８２０の処理により入力チェックを行い、名前及び年齢に未記入のものがあるか否かをチェックし、あれば、登録画面８１０に戻って再度入力させる。そして、入力された年齢に従って、年齢が２０歳未満の場合、未成年用画面８３０を表示し、２０歳以上の場合、成年用画面８４０を表示して、確認画面８５０を表示する。前述のシステムによるチェックを行った結果のチェック結果リスト９００を図１３に示している。チェックリストは、チェック結果リスト７００の実遷移画面の欄と確認の欄を空欄にしたものであるのでその描画と説明とを省略する。このチェック結果により、例えば、年齢に負の値を入力してしまった場合、登録画面に戻らずに未成年用画面に遷移してしまっていることが判る。つまり、太線の矢印で表示されているように、入力チェック８２０から未成年用画面８３０に遷移する。これにより、年齢に負の値が入力された場合が想定されておらず、入力チェック８２０から登録画面８１０への遷移が不足していることが発見することができる。この遷移の不足を表示したものが図１４であり、不足した遷移が点線で示される。
【００４３】
前述した２つの具体例から判るように、本発明の実施形態によれば、遷移図上では発見しにくい定義の誤りや不足を発見することができる。
【００４４】
【発明の効果】
以上説明したように本発明によれば、システム構築の際に遷移図の定義の誤りや不足を容易に発見することができ、より正確なシステムの構築を支援することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態による状態遷移検証装置の構成を示すブロック図である。
【図２】画面遷移定義生成プログラムの処理と生成した画面の表示例について説明する図である。
【図３】画面遷移定義データの詳細な例を示す図である。
【図４】チェックリストとチェック結果リストとの例について説明する図である。
【図５】画面遷移制御プログラムの処理動作を説明するフローチャートである。
【図６】画面遷移チェックプログラムの処理動作を説明するフローチャートである。
【図７】画面遷移定義生成プログラムがチェック結果を遷移図上に反映する際の処理動作を説明するフローチャートである。
【図８】本発明をＷｅｂアプリケーションに適用した場合の画面遷移図の遷移定義の誤りを発見するための遷移定義例を示す図である。
【図９】図８におけるプロセスが参照するデータテーブルの例を示す図である。
【図１０】図９に示した例のチェック結果リストを示す図である。
【図１１】図１０に示すチェック結果を図８上に反映させた場合を説明する図である。
【図１２】本発明をＷｅｂアプリケーションに適用した場合の画面遷移図の遷移定義の不足を発見するための遷移定義例を示す図である。
【図１３】図１２に示した例のチェック結果リストを示す図である。
【図１４】図１２に示すチェック結果を図１２上に反映させた場合を説明する図である。
【符号の説明】
１００  端末
１１０  入力画面
１２０、１３０  結果画面Ａ、Ｂ
１４０  Ｗｅｂアプリケーション実行装置
１５０  画面遷移制御プログラム
１６０  画面遷移定義データ
１７０  業務処理プログラム
１８０  画面遷移チェックプログラム
１９０  チェックリスト
２００  チェック結果リスト
３００  画面遷移定義生成プログラム
【図１】
2004348473.tif 000003
【図２】
2004348473.tif 000004
【図３】
2004348473.tif 000005
【図４】
2004348473.tif 000006
【図５】
2004348473.tif 000007
【図６】
2004348473.tif 000008
【図７】
2004348473.tif 000009
【図８】
2004348473.tif 000010
【図９】
2004348473.tif 000011
【図１０】
2004348473.tif 000012
【図１１】
2004348473.tif 000013
【図１２】
2004348473.tif 000014
【図１３】
2004348473.tif 000015
【図１４】
2004348473.tif 000016