(57)【特許請求の範囲】
【請求項１】
システムの取り得る内部状態の遷移についてのテストであって複数のテストケースからなる状態遷移テストの実行を支援する状態遷移テスト支援装置であって、
横方向又は縦方向の一方の方向に前記内部状態を列記するために設けられた内部状態用セルと、横方向又は縦方向のうち前記内部状態用セルとは異なる方向に前記システムで生じ得るイベントを列記するために設けられたイベント用セルと、前記内部状態用セルに記述されている内部状態と前記イベント用セルに記述されているイベントとの組み合わせに対応する情報として処理内容と遷移先の内部状態とを特定するための動作特定情報または前記システムにおいて生じることのない内部状態とイベントとの組み合わせであることを示す利用不可情報を記述するためにマトリクス状に設けられ前記状態遷移テストに含まれるテストケースに対応付けられ得る組み合わせ情報用セルとから成る状態遷移表を生成する状態遷移表生成手段と、
前記組み合わせ情報用セルへの前記動作特定情報の入力を受け付ける動作特定情報入力受付手段と、
前記動作特定情報入力受付手段によって受け付けられた動作特定情報に基づいて、前記状態遷移テストとして実行されるべき一連のテストケースからなるテストパスを生成するテストパス生成手段と、
前記テストパス生成手段によって生成されたテストパスに含まれる各テストケースについてのテスト結果と、テストが実行された順序を特定するための実行順特定情報とを保持するためのテスト結果保持手段と、
各テストケースについての外部から入力されるテスト結果を前記実行順特定情報とともに前記テスト結果保持手段に記録するテスト結果記録手段と、
前記テスト結果保持手段に保持されているテスト結果に基づいて、テストが実行されていないテストケースを含むテストパスが複数ある場合に当該複数のテストパスを表示するテストパス候補表示手段と、
前記テスト結果保持手段に保持されているテスト結果に基づいて、テストが実行されているテストケースについてのテスト結果をテストケースを特定するための情報とともに表示するテスト結果履歴表示手段と
を備え、
前記テストパス候補表示手段によって表示されたテストパスの中からいずれかのテストパスが選択されると、その選択されたテストパスに含まれるテストケースの中から今回実行されるべきテストケースが抽出されることを特徴とする、状態遷移テスト支援装置。
【請求項２】
前記テストパス生成手段によって生成されたテストパスに基づいて、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルを強調表示するテストセル強調表示手段を更に備えることを特徴とする、請求項１に記載の状態遷移テスト支援装置。
【請求項３】
前記テストセル強調表示手段は、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルをそれ以外の組み合わせ情報用セルとは異なる色で表示することを特徴とする、請求項２に記載の状態遷移テスト支援装置。
【請求項４】
前記テストセル強調表示手段は、前記状態遷移表に含まれる１または複数のセルを選択するためのカーソルを、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルに移動させることを特徴とする、請求項２または３に記載の状態遷移テスト支援装置。
【請求項５】
前記テスト結果履歴表示手段は、前記テスト結果保持手段に保持されている実行順特定情報に基づいて、テストが実行されているテストケースについてのテスト結果をテストが実行された順序で表示することを特徴とする、請求項１から４までのいずれか１項に記載の状態遷移テスト支援装置。
【請求項６】
前記テスト結果履歴表示手段は、外部から指定された組み合わせ情報用セルに対応付けられているテストケースを有するテストパスに含まれるテストケースについてのテスト結果を表示することを特徴とする、請求項１から５までのいずれか１項に記載の状態遷移テスト支援装置。
【請求項７】
前記テスト結果履歴表示手段は、前記テストケースを特定するための情報として、各テストケースに対応付けられている組み合わせ情報用セルを示す番号と当該組み合わせ情報用セルに記述されている処理内容とを少なくとも表示することを特徴とする、請求項１から６までのいずれか１項に記載の状態遷移テスト支援装置。
【請求項８】
前記テスト結果保持手段には、前記テスト結果としてテストが成功であったか失敗であったかを示す情報が保持され、
前記テスト結果保持手段に保持されている各テストケースについてのテスト結果と実行順特定情報とに基づいて、前記テスト結果が失敗であるテストケースがあるときに該テストケースのテストが実行されるまでに実行された１以上のテストケースについての実行方法を、前記１以上のテストケースについてのテストが実行された順序で並べて表示する失敗テスト再現手順表示手段を更に備えることを特徴とする、請求項１から７までのいずれか１項に記載の状態遷移テスト支援装置。
【請求項９】
前記失敗テスト再現手順表示手段は、前記テスト結果が失敗であるテストケースを含むテストパスについて、最初に実行されるべきテストケースから前記テスト結果が失敗であるテストケースまでのテストケースについての実行方法を表示することを特徴とする、請求項８に記載の状態遷移テスト支援装置。
【請求項１０】
前記失敗テスト再現手順表示手段は、前記実行方法として、各テストケースに対応付けられている内部状態とイベントとを少なくとも表示することを特徴とする、請求項８または９に記載の状態遷移テスト支援装置。
【請求項１１】
前記テスト結果保持手段に保持されている各テストケースについてのテスト結果に基づいて、前記状態遷移テストの進捗状況を表示する進捗表示手段を更に備えることを特徴とする、請求項１から１０までのいずれか１項に記載の状態遷移テスト支援装置。
【請求項１２】
前記進捗表示手段は、テストが実行されていないテストケースを含むテストパスとそれ以外のテストパスとを区別して表示することを特徴とする、請求項１１に記載の状態遷移テスト支援装置。
【請求項１３】
前記進捗表示手段は、テストが実行されているテストケースに対応付けられている組み合わせ情報用セルとテストが実行されていないテストケースに対応付けられている組み合わせ情報用セルとを区別して表示することを特徴とする、請求項１１または１２に記載の状態遷移テスト支援装置。
【請求項１４】
前記実行順特定情報は、各テストケースについてのテストが実行された年月日と時刻であることを特徴とする、請求項１から１３までのいずれか１項に記載の状態遷移テスト支援装置。
【請求項１５】
システムの取り得る内部状態の遷移についてのテストであって複数のテストケースからなる状態遷移テストの実行を支援する状態遷移テスト支援プログラムであって、
横方向又は縦方向の一方の方向に前記内部状態を列記するために設けられた内部状態用セルと、横方向又は縦方向のうち前記内部状態用セルとは異なる方向に前記システムで生じ得るイベントを列記するために設けられたイベント用セルと、前記内部状態用セルに記述されている内部状態と前記イベント用セルに記述されているイベントとの組み合わせに対応する情報として処理内容と遷移先の内部状態とを特定するための動作特定情報または前記システムにおいて生じることのない内部状態とイベントとの組み合わせであることを示す利用不可情報を記述するためにマトリクス状に設けられ前記状態遷移テストに含まれるテストケースに対応付けられ得る組み合わせ情報用セルとから成る状態遷移表を生成する状態遷移表生成ステップと、
前記組み合わせ情報用セルへの前記動作特定情報の入力を受け付ける動作特定情報入力受付ステップと、
前記動作特定情報入力受付ステップで受け付けられた動作特定情報に基づいて、前記状態遷移テストとして実行されるべき一連のテストケースからなるテストパスを生成するテストパス生成ステップと、
前記テストパス生成ステップで生成されたテストパスに含まれる各テストケースについての外部から入力されるテスト結果を、テストが実行された順序を特定するための実行順特定情報とともに所定のテスト結果保持部に記録するテスト結果記録ステップと、
前記テスト結果保持部に保持されているテスト結果に基づいて、テストが実行されていないテストケースを含むテストパスが複数ある場合に当該複数のテストパスを表示するテストパス候補表示ステップと、
前記テスト結果保持部に保持されているテスト結果に基づいて、テストが実行されているテストケースについてのテスト結果をテストケースを特定するための情報とともに表示するテスト結果履歴表示ステップと
をコンピュータのＣＰＵがメモリにおいて実行させ、
前記テストパス候補表示ステップで表示されたテストパスの中からいずれかのテストパスが選択されると、その選択されたテストパスに含まれるテストケースの中から今回実行されるべきテストケースが抽出されることを特徴とする、状態遷移テスト支援プログラム。
【請求項１６】
前記テストパス生成ステップで生成されたテストパスに基づいて、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルを強調表示するテストセル強調表示ステップを更に含むことを特徴とする、請求項１５に記載の状態遷移テスト支援プログラム。
【請求項１７】
前記テストセル強調表示ステップでは、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルがそれ以外の組み合わせ情報用セルとは異なる色で表示されることを特徴とする、請求項１６に記載の状態遷移テスト支援プログラム。
【請求項１８】
前記テストセル強調表示ステップでは、前記状態遷移表に含まれる１または複数のセルを選択するためのカーソルが、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルに移動させられることを特徴とする、請求項１６または１７に記載の状態遷移テスト支援プログラム。
【請求項１９】
前記テスト結果履歴表示ステップでは、前記テスト結果保持部に保持されている実行順特定情報に基づいて、テストが実行されているテストケースについてのテスト結果が、テストが実行された順序で表示されることを特徴とする、請求項１５から１８までのいずれか１項に記載の状態遷移テスト支援プログラム。
【請求項２０】
前記テスト結果履歴表示ステップでは、外部から指定された組み合わせ情報用セルに対応付けられているテストケースを有するテストパスに含まれるテストケースについてのテスト結果が表示されることを特徴とする、請求項１５から１９までのいずれか１項に記載の状態遷移テスト支援プログラム。
【請求項２１】
前記テスト結果履歴表示ステップでは、前記テストケースを特定するための情報として、各テストケースに対応付けられている組み合わせ情報用セルを示す番号と当該組み合わせ情報用セルに記述されている処理内容とが少なくとも表示されることを特徴とする、請求項１５から２０までのいずれか１項に記載の状態遷移テスト支援プログラム。
【請求項２２】
前記テスト結果保持部には、前記テスト結果としてテストが成功であったか失敗であったかを示す情報が保持され、
前記テスト結果保持部に保持されている各テストケースについてのテスト結果と実行順特定情報とに基づいて、前記テスト結果が失敗であるテストケースがあるときに該テストケースのテストが実行されるまでに実行された１以上のテストケースについての実行方法を、前記１以上のテストケースについてのテストが実行された順序で並べて表示する失敗テスト再現手順表示ステップを更に含むことを特徴とする、請求項１５から２１までのいずれか１項に記載の状態遷移テスト支援プログラム。
【請求項２３】
前記失敗テスト再現手順表示ステップでは、前記テスト結果が失敗であるテストケースを含むテストパスについて、最初に実行されるべきテストケースから前記テスト結果が失敗であるテストケースまでのテストケースについての実行方法が表示されることを特徴とする、請求項２２に記載の状態遷移テスト支援プログラム。
【請求項２４】
前記失敗テスト再現手順表示ステップでは、前記実行方法として、各テストケースに対応付けられている内部状態とイベントとが少なくとも表示されることを特徴とする、請求項２２または２３に記載の状態遷移テスト支援プログラム。
【請求項２５】
前記テスト結果保持部に保持されている各テストケースについてのテスト結果に基づいて、前記状態遷移テストの進捗状況を表示する進捗表示ステップを更に含むことを特徴とする、請求項１５から２４までのいずれか１項に記載の状態遷移テスト支援プログラム。
【請求項２６】
前記進捗表示ステップでは、テストが実行されていないテストケースを含むテストパスとそれ以外のテストパスとが区別して表示されることを特徴とする、請求項２５に記載の状態遷移テスト支援プログラム。
【請求項２７】
前記進捗表示ステップでは、テストが実行されているテストケースに対応付けられている組み合わせ情報用セルとテストが実行されていないテストケースに対応付けられている組み合わせ情報用セルとが区別して表示されることを特徴とする、請求項２５または２６に記載の状態遷移テスト支援プログラム。
【請求項２８】
前記実行順特定情報は、各テストケースについてのテストが実行された年月日と時刻であることを特徴とする、請求項１５から２７までのいずれか１項に記載の状態遷移テスト支援プログラム。
【請求項２９】
システムの取り得る内部状態の遷移についてのテストであって複数のテストケースからなる状態遷移テストの実行を支援する状態遷移テスト支援方法であって、
横方向又は縦方向の一方の方向に前記内部状態を列記するために設けられた内部状態用セルと、横方向又は縦方向のうち前記内部状態用セルとは異なる方向に前記システムで生じ得るイベントを列記するために設けられたイベント用セルと、前記内部状態用セルに記述されている内部状態と前記イベント用セルに記述されているイベントとの組み合わせに対応する情報として遷移先の内部状態と処理内容とを特定するための動作特定情報または前記システムにおいて生じることのない内部状態とイベントとの組み合わせであることを示す利用不可情報を記述するためにマトリクス状に設けられ前記状態遷移テストに含まれるテストケースと対応付けられ得る組み合わせ情報用セルとから成る状態遷移表を生成する状態遷移表生成ステップと、
前記組み合わせ情報用セルへの前記動作特定情報の入力を受け付ける動作特定情報入力受付ステップと、
前記動作特定情報入力受付ステップで受け付けられた動作特定情報に基づいて、前記状態遷移テストとして実行されるべき一連のテストケースからなるテストパスを生成するテストパス生成ステップと、
前記テストパス生成ステップで生成されたテストパスに含まれる各テストケースについての外部から入力されるテスト結果を、テストが実行された順序を特定するための実行順特定情報とともに所定のテスト結果保持部に記録するテスト結果記録ステップと、
前記テスト結果保持部に保持されているテスト結果に基づいて、テストが実行されていないテストケースを含むテストパスが複数ある場合に当該複数のテストパスを表示するテストパス候補表示ステップと、
前記テスト結果保持部に保持されているテスト結果に基づいて、テストが実行されているテストケースについてのテスト結果をテストケースを特定するための情報とともに表示するテスト結果履歴表示ステップと
を含み、
前記テストパス候補表示ステップで表示されたテストパスの中からいずれかのテストパスが選択されると、その選択されたテストパスに含まれるテストケースの中から今回実行されるべきテストケースが抽出されることを特徴とする、状態遷移テスト支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアシステムの設計・開発・保守等を効率的に行うことを支援する装置に関し、更に詳しくは、システムの内部状態の遷移を記述した状態遷移表を用いたテスト（以下、「状態遷移テスト」という。）の効率的な実行を支援する状態遷移テスト支援装置に関する。
【背景技術】
【０００２】
従来より、ソフトウェアシステムの設計・開発に際して、システムの内部状態の遷移（変化）を記述した状態遷移表が作成されることがよくある。この状態遷移表は縦横の線で区切られた複数のマス目（各マス目は「セル」と呼ばれている。）で構成され、各列（あるいは各行）にはシステムの取り得る内部状態が対応付けられ、各行（あるいは各列）にはシステムで生じ得るイベントが対応付けられる。そして、列と行とが交差するセルには、当該列に対応付けられている内部状態のときに当該行に対応付けられているイベントが生じた場合に「いかなる処理（「振舞い」、「アクション」などと呼ばれている。）が実行され、どの内部状態に遷移するのか」が記述（入力）される。この状態遷移表により、「システムの内部状態とイベントとの組み合わせ」に対応するシステムの動作が漏れなく表され、開発漏れによる異常動作の発生等が抑制される。特に、組み込み系のソフトウェアシステム（産業機器、家庭用電化製品、携帯電話などの電子機器に組み込まれマイコン上で動作するソフトウェアシステム）の設計・開発においては、状態遷移表を用いてシステムの動作を記述することおよび状態遷移のテストをすることは必須とされている。
【０００３】
状態遷移表に関する従来技術としては、例えば以下のようなものがある。特開平１−２６１７２６号公報には、状態の遷移関係をツリー状に表現することにより状態遷移表の編集作業を効率的に行う方式（状態遷移情報編集方式）についての開示がなされている。特開平６−７５８１７号公報には、状態遷移を矢印を用いて表示することによりデバッグの効率化を図る方法（状態遷移ルールの動作履歴表示方法）についての開示がなされている。特開平１１−１１０３５１号公報には、状態遷移表に基づいて或る状態から他の或る状態への遷移を制御する方法（状態遷移制御方法）についての開示がなされている。特開２００２−２３００６２号公報には、状態遷移表形式に入力された処理内容（プログラム）を実行可能なシステムに変換するシステム生成手段を備えることによりシステム設計を支援する装置（設計支援装置）についての開示がなされている。特開２００６−１１２８５２号公報には、複数のシナリオ生成アルゴリズムで生成されたシナリオを組み合わせることによってテストシナリオを作成する方法（テストシナリオ作成方法）についての開示がなされている。
【特許文献１】特開平１−２６１７２６号公報
【特許文献２】特開平６−７５８１７号公報
【特許文献３】特開平１１−１１０３５１号公報
【特許文献４】特開２００２−２３００６２号公報
【特許文献５】特開２００６−１１２８５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
状態遷移テストの実行に関しては、従来より次のような問題点がある。システムの設計者と状態遷移テストの実施者が異なる場合、テスト実施者にとっては、テストを開始する「システムの内部状態とイベントとの組み合わせ」を特定することが困難であり、テスト開始後についても、上記組み合わせを見つけることが困難である。また、様々な状態遷移が生じ得るシステムの場合には、どのルート（後述のテストパス）についてのテストが実行済みであるのかが把握されにくいので、状態遷移テストを効率的に実行することが困難である。さらに、テストでエラーが生じたときに、そのエラーの再現手順の把握が困難である。以上のように、「状態遷移テストをいかにして効率的に実行するか」という点が課題となっている。
【０００５】
上記特許文献１〜４には、状態遷移の制御あるいは状態遷移表の編集等に関する記載はなされているが、状態遷移テストについては言及されていない。また、上記特許文献５では、テストシナリオの作成については言及されているが、状態遷移テストが効率的に行われるわけではない。
【０００６】
そこで、本発明では、状態遷移テストの効率的な実行を支援する状態遷移テスト支援装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の発明は、システムの取り得る内部状態の遷移についてのテストであって複数のテストケースからなる状態遷移テストの実行を支援する状態遷移テスト支援装置であって、
横方向又は縦方向の一方の方向に前記内部状態を列記するために設けられた内部状態用セルと、横方向又は縦方向のうち前記内部状態用セルとは異なる方向に前記システムで生じ得るイベントを列記するために設けられたイベント用セルと、前記内部状態用セルに記述されている内部状態と前記イベント用セルに記述されているイベントとの組み合わせに対応する情報として処理内容と遷移先の内部状態とを特定するための動作特定情報または前記システムにおいて生じることのない内部状態とイベントとの組み合わせであることを示す利用不可情報を記述するためにマトリクス状に設けられ前記状態遷移テストに含まれるテストケースに対応付けられ得る組み合わせ情報用セルとから成る状態遷移表を生成する状態遷移表生成手段と、
前記組み合わせ情報用セルへの前記動作特定情報の入力を受け付ける動作特定情報入力受付手段と、
前記動作特定情報入力受付手段によって受け付けられた動作特定情報に基づいて、前記状態遷移テストとして実行されるべき一連のテストケースからなるテストパスを生成するテストパス生成手段と、
前記テストパス生成手段によって生成されたテストパスに含まれる各テストケースについてのテスト結果と、テストが実行された順序を特定するための実行順特定情報とを保持するためのテスト結果保持手段と、
各テストケースについての外部から入力されるテスト結果を前記実行順特定情報とともに前記テスト結果保持手段に記録するテスト結果記録手段と、
前記テスト結果保持手段に保持されているテスト結果に基づいて、テストが実行されていないテストケースを含むテストパスが複数ある場合に当該複数のテストパスを表示するテストパス候補表示手段と、
前記テスト結果保持手段に保持されているテスト結果に基づいて、テストが実行されているテストケースについてのテスト結果をテストケースを特定するための情報とともに表示するテスト結果履歴表示手段と
を備え、
前記テストパス候補表示手段によって表示されたテストパスの中からいずれかのテストパスが選択されると、その選択されたテストパスに含まれるテストケースの中から今回実行されるべきテストケースが抽出されることを特徴とする。
【０００８】
第２の発明は、第１の発明において、
前記テストパス生成手段によって生成されたテストパスに基づいて、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルを強調表示するテストセル強調表示手段を更に備えることを特徴とする。
【０００９】
第３の発明は、第２の発明において、
前記テストセル強調表示手段は、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルをそれ以外の組み合わせ情報用セルとは異なる色で表示することを特徴とする。
【００１０】
第４の発明は、第２または第３の発明において、
前記テストセル強調表示手段は、前記状態遷移表に含まれる１または複数のセルを選択するためのカーソルを、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルに移動させることを特徴とする。
【００１２】
第５の発明は、第１から第４までのいずれかの発明において、
前記テスト結果履歴表示手段は、前記テスト結果保持手段に保持されている実行順特定情報に基づいて、テストが実行されているテストケースについてのテスト結果をテストが実行された順序で表示することを特徴とする。
【００１３】
第６の発明は、第１から第５までのいずれかの発明において、
前記テスト結果履歴表示手段は、外部から指定された組み合わせ情報用セルに対応付けられているテストケースを有するテストパスに含まれるテストケースについてのテスト結果を表示することを特徴とする。
【００１４】
第７の発明は、第１から第６までのいずれかの発明において、
前記テスト結果履歴表示手段は、前記テストケースを特定するための情報として、各テストケースに対応付けられている組み合わせ情報用セルを示す番号と当該組み合わせ情報用セルに記述されている処理内容とを少なくとも表示することを特徴とする。
【００１５】
第８の発明は、第１から第７までのいずれかの発明において、
前記テスト結果保持手段には、前記テスト結果としてテストが成功であったか失敗であったかを示す情報が保持され、
前記テスト結果保持手段に保持されている各テストケースについてのテスト結果と実行順特定情報とに基づいて、前記テスト結果が失敗であるテストケースがあるときに該テストケースのテストが実行されるまでに実行された１以上のテストケースについての実行方法を、前記１以上のテストケースについてのテストが実行された順序で並べて表示する失敗テスト再現手順表示手段を更に備えることを特徴とする。
【００１６】
第９の発明は、第８の発明において、
前記失敗テスト再現手順表示手段は、前記テスト結果が失敗であるテストケースを含むテストパスについて、最初に実行されるべきテストケースから前記テスト結果が失敗であるテストケースまでのテストケースについての実行方法を表示することを特徴とする。
【００１７】
第１０の発明は、第８または第９の発明において、
前記失敗テスト再現手順表示手段は、前記実行方法として、各テストケースに対応付けられている内部状態とイベントとを少なくとも表示することを特徴とする。
【００１８】
第１１の発明は、第１から第１０までのいずれかの発明において、
前記テスト結果保持手段に保持されている各テストケースについてのテスト結果に基づいて、前記状態遷移テストの進捗状況を表示する進捗表示手段を更に備えることを特徴とする。
【００１９】
第１２の発明は、第１１の発明において、
前記進捗表示手段は、テストが実行されていないテストケースを含むテストパスとそれ以外のテストパスとを区別して表示することを特徴とする。
【００２０】
第１３の発明は、第１１または第１２の発明において、
前記進捗表示手段は、テストが実行されているテストケースに対応付けられている組み合わせ情報用セルとテストが実行されていないテストケースに対応付けられている組み合わせ情報用セルとを区別して表示することを特徴とする。
【００２１】
第１４の発明は、第１から第１３までのいずれかの発明において、
前記実行順特定情報は、各テストケースについてのテストが実行された年月日と時刻であることを特徴とする。
【００２２】
第１５の発明は、システムの取り得る内部状態の遷移についてのテストであって複数のテストケースからなる状態遷移テストの実行を支援する状態遷移テスト支援プログラムであって、
横方向又は縦方向の一方の方向に前記内部状態を列記するために設けられた内部状態用セルと、横方向又は縦方向のうち前記内部状態用セルとは異なる方向に前記システムで生じ得るイベントを列記するために設けられたイベント用セルと、前記内部状態用セルに記述されている内部状態と前記イベント用セルに記述されているイベントとの組み合わせに対応する情報として処理内容と遷移先の内部状態とを特定するための動作特定情報または前記システムにおいて生じることのない内部状態とイベントとの組み合わせであることを示す利用不可情報を記述するためにマトリクス状に設けられ前記状態遷移テストに含まれるテストケースに対応付けられ得る組み合わせ情報用セルとから成る状態遷移表を生成する状態遷移表生成ステップと、
前記組み合わせ情報用セルへの前記動作特定情報の入力を受け付ける動作特定情報入力受付ステップと、
前記動作特定情報入力受付ステップで受け付けられた動作特定情報に基づいて、前記状態遷移テストとして実行されるべき一連のテストケースからなるテストパスを生成するテストパス生成ステップと、
前記テストパス生成ステップで生成されたテストパスに含まれる各テストケースについての外部から入力されるテスト結果を、テストが実行された順序を特定するための実行順特定情報とともに所定のテスト結果保持部に記録するテスト結果記録ステップと、
前記テスト結果保持部に保持されているテスト結果に基づいて、テストが実行されていないテストケースを含むテストパスが複数ある場合に当該複数のテストパスを表示するテストパス候補表示ステップと、
前記テスト結果保持部に保持されているテスト結果に基づいて、テストが実行されているテストケースについてのテスト結果をテストケースを特定するための情報とともに表示するテスト結果履歴表示ステップと
をコンピュータのＣＰＵがメモリにおいて実行させ、
前記テストパス候補表示ステップで表示されたテストパスの中からいずれかのテストパスが選択されると、その選択されたテストパスに含まれるテストケースの中から今回実行されるべきテストケースが抽出されることを特徴とする。
【００２３】
第１６の発明は、第１５の発明において、
前記テストパス生成ステップで生成されたテストパスに基づいて、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルを強調表示するテストセル強調表示ステップを更に含むことを特徴とする。
【００２４】
第１７の発明は、第１６の発明において、
前記テストセル強調表示ステップでは、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルがそれ以外の組み合わせ情報用セルとは異なる色で表示されることを特徴とする。
【００２５】
第１８の発明は、第１６または第１７の発明において、
前記テストセル強調表示ステップでは、前記状態遷移表に含まれる１または複数のセルを選択するためのカーソルが、次にテストが実行されるべきテストケースと対応付けられている組み合わせ情報用セルに移動させられることを特徴とする。
【００２７】
第１９の発明は、第１５から第１８までのいずれかの発明において、
前前記テスト結果履歴表示ステップでは、前記テスト結果保持部に保持されている実行順特定情報に基づいて、テストが実行されているテストケースについてのテスト結果が、テストが実行された順序で表示されることを特徴とする。
【００２８】
第２０の発明は、第１５から第１９までのいずれかの発明において、
前記テスト結果履歴表示ステップでは、外部から指定された組み合わせ情報用セルに対応付けられているテストケースを有するテストパスに含まれるテストケースについてのテスト結果が表示されることを特徴とする。
【００２９】
第２１の発明は、第１５から第２０までのいずれかの発明において、
前記テスト結果履歴表示ステップでは、前記テストケースを特定するための情報として、各テストケースに対応付けられている組み合わせ情報用セルを示す番号と当該組み合わせ情報用セルに記述されている処理内容とが少なくとも表示されることを特徴とする。
【００３０】
第２２の発明は、第１５から第２１までのいずれかの発明において、
前記テスト結果保持部には、前記テスト結果としてテストが成功であったか失敗であったかを示す情報が保持され、
前記テスト結果保持部に保持されている各テストケースについてのテスト結果と実行順特定情報とに基づいて、前記テスト結果が失敗であるテストケースがあるときに該テストケースのテストが実行されるまでに実行された１以上のテストケースについての実行方法を、前記１以上のテストケースについてのテストが実行された順序で並べて表示する失敗テスト再現手順表示ステップを更に含むことを特徴とする。
【００３１】
第２３の発明は、第２２の発明において、
前記失敗テスト再現手順表示ステップでは、前記テスト結果が失敗であるテストケースを含むテストパスについて、最初に実行されるべきテストケースから前記テスト結果が失敗であるテストケースまでのテストケースについての実行方法が表示されることを特徴とする。
【００３２】
第２４の発明は、第２２または第２３の発明において、
前記失敗テスト再現手順表示ステップでは、前記実行方法として、各テストケースに対応付けられている内部状態とイベントとが少なくとも表示されることを特徴とする。
【００３３】
第２５の発明は、第１５から第２４までのいずれかの発明において、
前記テスト結果保持部に保持されている各テストケースについてのテスト結果に基づいて、前記状態遷移テストの進捗状況を表示する進捗表示ステップを更に含むことを特徴とする。
【００３４】
第２６の発明は、第２５の発明において、
前記進捗表示ステップでは、テストが実行されていないテストケースを含むテストパスとそれ以外のテストパスとが区別して表示されることを特徴とする。
【００３５】
第２７の発明は、第２５または第２６の発明において、
前記進捗表示ステップでは、テストが実行されているテストケースに対応付けられている組み合わせ情報用セルとテストが実行されていないテストケースに対応付けられている組み合わせ情報用セルとが区別して表示されることを特徴とする。
【００３６】
第２８の発明は、第１５から第２７までのいずれかの発明において、
前記実行順特定情報は、各テストケースについてのテストが実行された年月日と時刻であることを特徴とする。
【００３７】
第２９の発明は、システムの取り得る内部状態の遷移についてのテストであって複数のテストケースからなる状態遷移テストの実行を支援する状態遷移テスト支援方法であって、
横方向又は縦方向の一方の方向に前記内部状態を列記するために設けられた内部状態用セルと、横方向又は縦方向のうち前記内部状態用セルとは異なる方向に前記システムで生じ得るイベントを列記するために設けられたイベント用セルと、前記内部状態用セルに記述されている内部状態と前記イベント用セルに記述されているイベントとの組み合わせに対応する情報として遷移先の内部状態と処理内容とを特定するための動作特定情報または前記システムにおいて生じることのない内部状態とイベントとの組み合わせであることを示す利用不可情報を記述するためにマトリクス状に設けられ前記状態遷移テストに含まれるテストケースと対応付けられ得る組み合わせ情報用セルとから成る状態遷移表を生成する状態遷移表生成ステップと、
前記組み合わせ情報用セルへの前記動作特定情報の入力を受け付ける動作特定情報入力受付ステップと、
前記動作特定情報入力受付ステップで受け付けられた動作特定情報に基づいて、前記状態遷移テストとして実行されるべき一連のテストケースからなるテストパスを生成するテストパス生成ステップと、
前記テストパス生成ステップで生成されたテストパスに含まれる各テストケースについての外部から入力されるテスト結果を、テストが実行された順序を特定するための実行順特定情報とともに所定のテスト結果保持部に記録するテスト結果記録ステップと、
前記テスト結果保持部に保持されているテスト結果に基づいて、テストが実行されていないテストケースを含むテストパスが複数ある場合に当該複数のテストパスを表示するテストパス候補表示ステップと、
前記テスト結果保持部に保持されているテスト結果に基づいて、テストが実行されているテストケースについてのテスト結果をテストケースを特定するための情報とともに表示するテスト結果履歴表示ステップと
を含み、
前記テストパス候補表示ステップで表示されたテストパスの中からいずれかのテストパスが選択されると、その選択されたテストパスに含まれるテストケースの中から今回実行されるべきテストケースが抽出されることを特徴とする。
【発明の効果】
【００３８】
上記第１の発明によれば、状態遷移表のセル（組み合わせ情報用セル）にオペレータが入力した「内部状態とイベントとの組み合わせ」に基づいて、状態遷移テストとして実行されるべきテストパスがテストパス生成手段によって生成される。このため、テストパス生成に要する時間が従来よりも大幅に短縮される。また、状態遷移テストが実行されると、オペレータによる入力に基づき、テストパスに含まれる各テストケースについてのテスト結果およびテストが実行された順序を特定するための情報（実行順特定情報）がテスト結果保持手段に記録される。このため、テスト結果保持手段に保持されているデータに基づいて、いずれのテストパスのいずれのテストケースまでのテストが実行済みであるのかを判断することが可能となる。
また、状態遷移テストの実行中に、未実行のテストケースを含むテストパスが、次にテストが実行されるべきテストパスの候補として表示される。そして、いずれかのテストパスが選択されると、その選択されたテストパスに含まれるテストケースの中から今回実行されるべきテストケースが抽出される。このため、テストすべきテストパスやテストケースをオペレータ自身によって探す必要がなくなり、状態遷移テストの迅速な実行が可能となる。さらに、それらのテスト結果も容易に把握できる。
【００３９】
上記第２の発明によれば、状態遷移テストの実行中に、次に実行されるべきテストケースに対応付けられた組み合わせ情報用セル（以下、「テストセル」という。）が強調表示される。このため、オペレータ自身によってテストセルを探す必要がなくなり、状態遷移テストの迅速な実行が可能となる。
【００４０】
上記第３の発明によれば、状態遷移テストの実行中に、テストセルがそれ以外のセルとは異なる色で表示される。このため、オペレータによるテストセルの特定が容易になり、状態遷移テストの迅速な実行が可能となる。
【００４１】
上記第４の発明によれば、各テストケースについてのテストが実行される都度、オペレータの操作によることなく、テストセルにカーソルが移動する。このため、オペレータによるテストセルの特定が容易になり、状態遷移テストの迅速な実行が可能となる。
【００４３】
上記第５の発明によれば、一連の状態遷移テストのうち実行済みのテストケースについてのテスト結果がテストの実行順に並べて表示される。このため、状態遷移テストの実行状況（どのような順序でテストが実行されているか、各テストケースについてのテスト結果はどうなっているか等）の把握が容易になる。
【００４４】
上記第６の発明によれば、実行済みのテストのテスト結果のうちオペレータが指定した組み合わせ情報用セルに記述されている「内部状態とイベントとの組み合わせ」を含む一連の状態遷移についてのテスト結果のみが表示される。このため、オペレータにとって必要な情報のみが表示され、状態遷移テストの実行状況の把握がより容易になる。
【００４５】
上記第７の発明によれば、組み合わせ情報用セルを示す番号と当該セルに記述されている処理内容とがテスト結果とともに表示される。このため、どのような内部状態の変化やどのような処理内容についてのテストが実行されているのかを容易に把握することが可能となる。
【００４６】
上記第８の発明によれば、テスト結果がエラー（失敗）となったテストケースがあるときに、そのエラーを再現させるためのテストの実行手順が表示される。このため、オペレータにとって、従来よりもエラーの再現が容易なものとなる。これにより、エラー原因の追究が容易となり、システム開発の効率化を図ることができる。
【００４７】
上記第９の発明によれば、テスト結果がエラー（失敗）となったテストケースがあるときに、最初に実行されるべきテストケースからエラーとなったテストケースまでについてのテストの実行手順が表示される。これにより、上記第８の発明と同様、エラー原因の追究が容易となり、システム開発の効率化を図ることができる。
【００４８】
上記第１０の発明によれば、各テストケースに対応付けられている内部状態とイベントを表す記載が、エラーを再現させるための実行手順の表示に含められる。このため、「どのような状態遷移があったときにエラーが生じるのか」という点についての把握が容易になり、上記第８の発明と同様、エラー原因の追究が容易となり、システム開発の効率化を図ることができる。
【００４９】
上記第１１の発明によれば、状態遷移テストの進捗状況が表示される。このため、状態遷移テストを含むシステム開発の進捗の管理が容易となる。
【００５０】
上記第１２の発明によれば、テストパス毎にテストが実行済みであるか否かを把握することが可能となる。
【００５１】
上記第１３の発明によれば、各テストケースに対応付けられている組み合わせ情報用セル毎にテストが実行済みであるか否かを把握することが可能となる。
【００５２】
上記第１４の発明によれば、テストが実行された年月日および時刻が実行順特定情報としてテスト結果保持手段に記録される。年月日や時刻の情報は容易に取得することができるので、テストの実行順を特定するための情報を比較的簡単にテスト結果保持手段に保持することが可能となる。
【発明を実施するための最良の形態】
【００５３】
以下、添付図面を参照しつつ、本発明の一実施形態について説明する。
【００５４】
＜１．全体構成＞
図１は、本発明の一実施形態におけるシステム全体のハードウェア構成図である。このシステムは、サーバ機７と複数のパソコン８とによって構成され、サーバ機７および各パソコン８はＬＡＮ９によって互いに接続されている。パソコン８では、ソフトウェアシステムの開発のためのプログラミング等の作業、テストの実行等が行われる。サーバ機７は、各パソコン８からの要求に応じた処理の実行や各パソコン８から共通して参照等可能なファイル、データベース等の格納などを行う。また、サーバ機７は、状態遷移テストの実行を支援するための各種機能を提供する。なお、状態遷移テストの実行を支援するための機能を実現する後述のプログラム（状態遷移表生成プログラム、状態遷移表設計支援プログラム、テスト支援プログラム）はサーバ機７またはパソコン８のいずれにインストールされても良いが、本実施形態ではサーバ機７にインストールされるものとして説明する。従って、以下においては、サーバ機７のことを「状態遷移テスト支援装置」という。
【００５５】
図２は、状態遷移テスト支援装置７の構成を示すブロック図である。この状態遷移テスト支援装置７は、ＣＰＵ１０と表示部４０と入力部５０とメモリ６０と補助記憶装置７０とを備えている。補助記憶装置７０には、ファイル格納部（例えば「フォルダ」）２０とデータベース３０とが含まれている。ＣＰＵ１０は、与えられた命令に従い演算処理を行う。ファイル格納部２０には、状態遷移表２１と、プログラム名をそれぞれ「状態遷移表生成」、「状態遷移表設計支援」、および「テスト支援」とする３つのプログラム（実行モジュール）２２〜２４が格納されている。データベース３０には、状態遷移テストのテスト結果を保持するためのテスト結果保持テーブル３１が格納されている。表示部４０は、例えば、オペレータが状態遷移表２１にデータを入力する際の操作用画面を表示する。入力部５０は、マウスやキーボードによるオペレータからの入力を受け付ける。メモリ６０には、ＣＰＵ１０の演算処理に必要なデータが一時的に格納される。なお、ファイル格納部２０には上述した３つのプログラム以外のプログラムが含まれていても良く、データベース３０にはテスト結果保持テーブル３１以外のテーブルが含まれていても良い。
【００５６】
なお、以下の説明においては、状態遷移表２１を用いて内部状態の遷移のテストをしようとしているシステムのことを（本実施形態に係る状態遷移テスト支援装置７を実現するシステムと区別するために）「対象システム」という。
【００５７】
＜２．状態遷移表＞
図３は、本実施形態における状態遷移表２１の構成を示す図である。この状態遷移表２１には、内部状態入力表示部２１１とイベント入力表示部２１２と組み合わせ情報入力表示部２１３と列番号表示部２１４と行番号表示部２１５とが含まれている。内部状態入力表示部２１１は、オペレータによるデータの入力を受け付け、その入力されたデータをシステムの内部状態を表す記述として表示する。イベント入力表示部２１２は、オペレータによるデータの入力を受け付け、その入力されたデータをイベントを表す記述として表示する。組み合わせ情報入力表示部２１３は、オペレータによるデータの入力を受け付け、その入力されたデータを「遷移先の内部状態」と「処理内容」とを表す記述または対象システムで生じることのない「内部状態とイベントとの組み合わせ」であることを表す記述として表示する。列番号表示部２１４には、列を一意に特定するための番号が表示される。行番号表示部２１５には、行を一意に特定するための番号が表示される。なお、以下においては、内部状態入力表示部２１１に含まれる各セルのことを「内部状態用セル」といい、イベント入力表示部２１２に含まれる各セルのことを「イベント用セル」といい、組み合わせ情報入力表示部２１３に含まれる各セルのことを「組み合わせ情報用セル」という。
【００５８】
組み合わせ情報用セルは、列番号と行番号との組み合わせ（以下、「行列番号」という。）によって一意に特定される。例えば、図３で符号２１９で示す組み合わせ情報用セルは、「列番号＝３」の列と「行番号＝５」の行とが交差する位置に在るので、（３，５）という行列番号で特定される。組み合わせ情報用セルには、例えば図４（ａ）または（ｂ）に示すようなデータが入力される。組み合わせ情報用セルに対応する「内部状態とイベントとの組み合わせ」が対象システムで生じることがない場合には、当該組み合わせ情報用セルには図４（ａ）に示すように「ＮＡ」という記述が入力される。一方、組み合わせ情報用セルに対応する「内部状態とイベントとの組み合わせ」が対象システムで生じることがある場合には、当該組み合わせ情報用セルには例えば図４（ｂ）に示すような記述が入力される。図４（ｂ）に示す記述のうち上段の記述は、当該組み合わせ情報用セルに対応する「内部状態とイベントとの組み合わせ」が生じたときの遷移先の内部状態を表している。図４（ｂ）に示す記述のうち下段の記述は、当該組み合わせ情報用セルに対応する「内部状態とイベントとの組み合わせ」が生じたときに対象システムで行われる処理内容を表している。また、組み合わせ情報用セルは、テスト結果の入力が可能なように構成されており、状態遷移テストが実行されると、オペレータによって各組み合わせ情報用セルに対応するテストについてのテスト結果の入力が行われる。また、組み合わせ情報用セルには、オペレータによるメモの入力が可能となるように、「備考欄」というデータ入力域が設けられている。なお、以下においては、組み合わせ情報用セルに上述の「ＮＡ」という記述を入力することを「（当該セルに対して）“利用不可設定”を行う」という。
【００５９】
ところで、この状態遷移表２１においては、内部状態やイベントを階層構造で表現することができる。例えば、「“状態Ａ”という内部状態には“状態Ａ１”と“状態Ａ２”という２つの内部状態が含まれている」ということを表現することができる。図５は、内部状態およびイベントが階層構造にされていない状態遷移表２１の一例を示す図である。また、図６は、内部状態およびイベントが階層構造にされている状態遷移表２１の一例を示す図である。なお、内部状態またはイベントのいずれか一方のみを階層構造にすることもできる。
【００６０】
図７は、リカバリー関連のシステムにおける状態遷移表２１の一部を示す図である。本実施形態に係る状態遷移テスト支援装置７は、このような状態遷移表２１を用いて行われる（対象システムの）状態遷移テストが効率的に行われるように、後述する各種機能を提供する。
【００６１】
＜３．機能的な構成＞
図８は、この状態遷移テスト支援装置７を機能的な観点からみた機能ブロック図である。この状態遷移テスト支援装置７は、状態遷移表生成部２２０と状態遷移表設計支援部２３０とテスト支援部２４０とを備えている。状態遷移表生成部２２０には、内部状態入力受付部２２１とイベント入力受付部２２２と利用不可情報入力受付部２２３とが含まれている。状態遷移表設計支援部２３０には、動作特定情報入力受付部２３１とテストパス生成部２３２とが含まれている。テスト支援部２４０には、テスト結果記録部２４１とテストセル強調表示部２４２とテストパス候補表示部２４３とテスト結果履歴表示部２４４と失敗テスト再現手順表示部２４５と進捗表示部２４６とが含まれている。なお、これらの各機能は、ファイル格納部２０に格納されている上述したプログラムがＣＰＵ１０によってメモリ６０を利用して実行されることによって実現される。すなわち、状態遷移表生成部２２０は、状態遷移表生成プログラム２２が実行されることによって実現される。また、状態遷移表設計支援部２３０は、状態遷移表設計支援プログラム２３が実行されることによって実現される。さらに、テスト支援部２４０は、テスト支援プログラム２４が実行されることによって実現される。
【００６２】
状態遷移表生成部２２０は、オペレータによって入力されるデータに基づいて、状態遷移表２１の生成を行う。なお、ここでの「状態遷移表の生成」とは、内部状態入力表示部２１１への内部状態の入力、イベント入力表示部２１２へのイベントの入力、および組み合わせ情報用セルへの利用不可設定が終了した状態の状態遷移表２１を生成することを意味する。内部状態入力受付部２２１は、対象システムの取り得る内部状態を表す記述のオペレータによる入力を受け付ける。イベント入力受付部２２２は、対象システムで発生し得るイベントを表す記述のオペレータによる入力を受け付ける。利用不可情報入力受付部２２３は、「内部状態とイベントとの組み合わせ」が対象システムで生じることがない組み合わせ情報用セルへのオペレータによる利用不可設定を受け付ける。
【００６３】
状態遷移表設計支援部２３０は、オペレータによる状態遷移表２１の設計が効率的に行われるように、状態遷移表２１の設計が行われている時にオペレータに各種機能を提供する。なお、ここでの「状態遷移表の設計」とは、状態遷移表生成部２２０で生成された状態遷移表２１に対して、利用不可設定が施された組み合わせ情報用セル以外の組み合わせ情報用セルに「遷移先の内部情報」および「処理内容」を入力することを意味する。動作特定情報入力受付部２３１は、オペレータによる組み合わせ情報用セルへの「遷移先の内部状態」と「処理内容」とを表す記述の入力を受け付ける。テストパス生成部２３２は、組み合わせ情報用セルに入力された「遷移先の内部状態」に基づいてテストパスを生成する。なお、テストパスについての詳しい説明は後述する。
【００６４】
テスト支援部２４０は、後述する各種機能を提供して、オペレータによる状態遷移テストの効率的な実行を支援する。テスト結果記録部２４１は、オペレータによるテスト結果の入力に基づき、当該テスト結果等をテスト結果保持テーブル３１に書き込む。テストセル強調表示部２４２は、状態遷移テストの実行中に、次にテストが実行されるべきテストケースに対応付けられている組み合わせ情報用セルを強調表示する。テストパス候補表示部２４３は、テストが実行されていないテストケースを含むテストパスが複数ある場合に、それらのテストパスを次にテストが実行されるべきテストパスの候補として表示する。テスト結果履歴表示部２４４は、実行済みのテストケースについてのテスト結果をテストが実行された順で表示部４０に表示する。失敗テスト再現手順表示部２４５は、テスト結果が失敗（エラー）のテストケースについて、テストの再現手順を表示部４０に表示する。進捗表示部２４６は、状態遷移テストの進捗状況を示す情報を表示部４０に表示する。
【００６５】
＜４．テーブル＞
次に、この状態遷移テスト支援装置７で使用されるテーブルについて説明する。図９は、テスト結果保持テーブル３１のレコードフォーマットを示す図である。テスト結果保持テーブル３１には、項目名をそれぞれ「作成年月日」、「テスト仕様書Ｎｏ」、「テストケース番号」、「実行セル」、「実行日時」、「テスト結果」、および「備考」とする複数の項目が含まれている。テスト結果保持テーブル３１の各項目のフィールド（個々のデータが格納される領域）には、それぞれ以下のような内容のデータが格納される。「作成年月日」には、当該レコードが作成された日付（テスト結果保持テーブル３１にレコードが挿入された日付）が格納される。「テスト仕様書Ｎｏ」には、テスト仕様書を識別するための番号が格納される。「テストケース番号」には、テストケースを識別するための番号が格納される。「実行セル」には、状態遷移表２１のいずれの組み合わせ情報用セルに係るテストであるのかを特定するための当該組み合わせ情報用セルの行列番号が格納される。「実行日時」には、テストを実行した日時（例えば、年月日と時刻）が格納される。「テスト結果」には、テストを実行した結果（例えば、「成功」，「失敗」，「未実行」）が格納される。「備考」には、オペレータによって入力されたテキスト形式のメモが格納される。
【００６６】
テスト結果保持テーブル３１に格納されているレコードは、「作成年月日」と「テスト仕様書Ｎｏ」と「テストケース番号」との組み合わせによって一意に特定される。これについて、図１０を参照しつつ説明する。ソフトウェアシステムの開発においては、１つのテストが繰り返し実行されることが多々ある。すなわち、「或るテスト仕様書に含まれる或るテストケースについてのテストが繰り返し実行される。」ということがある。このため、テストが繰り返し実行されたテストケースについては、実行された回数分のテスト結果を示すデータが保持される。例えば、図１０において、「テスト仕様書Ｎｏ＝１」かつ「テストケース番号＝１」のレコードは３件（符号３１１、３１２、および３１３のレコード）ある。このため、「テスト仕様書Ｎｏ」と「テストケース番号」のみの組み合わせによっては、レコードは一意に特定されない。ここで、上記３件のレコードの作成年月日はそれぞれ異なっている。従って、「作成年月日」と「テスト仕様書Ｎｏ」と「テストケース番号」との組み合わせによってレコードは一意に特定される。
【００６７】
＜５．動作＞
次に、本実施形態に係る状態遷移テスト支援装置７の動作について説明する。
【００６８】
＜５．１  状態遷移表生成処理＞
図１１は、本実施形態における状態遷移表生成処理の手順を示すフローチャートである。オペレータによるメニュー等の選択により、状態遷移表生成部２２０は、状態遷移表２１を生成するための画面を表示部４０に表示する。オペレータによって内部状態用セルへのデータの入力が行われると、内部状態入力受付部２２１は、当該データを内部状態を表す記述として受け付ける（ステップＳ１１０）。また、オペレータによってイベント用セルへのデータの入力が行われると、イベント入力受付部２２２は、当該データをイベントを表す記述として受け付ける（ステップＳ１２０）。さらに、利用不可情報入力受付部２２３は、組み合わせ情報用セルに対する利用不可設定（「ＮＡ」の入力）を受け付ける（ステップＳ１３０）。なお、図１１では「ステップＳ１１０、ステップＳ１２０、ステップＳ１３０」の順序で記載しているが、ステップの順序はこれに限定されない。また、例えば、内部状態の入力後にイベントの入力が行われた後、再度内部状態の入力が行われても良い。オペレータによる内部状態の入力、イベントの入力、および利用不可設定が終了すると、状態遷移表生成処理は終了する。
【００６９】
＜５．２  状態遷移表設計支援処理＞
図１２は、本実施形態における状態遷移表設計支援処理の手順を示すフローチャートである。状態遷移表２１を設計するためのメニュー等がオペレータによって選択されると、状態遷移表設計支援部２３０は、データ未入力セル（利用不可設定が施されていない組み合わせ情報用セルで、遷移先の内部状態や処理内容が入力されていない組み合わせ情報用セル）の存在する内部状態（列）のリストを「今から状態遷移の設計を行う（内部状態の）候補」として表示部４０に表示する（ステップＳ２００）。例えば、「状態Ｘ」という内部状態の列と「状態Ｙ」という内部状態の列とにデータ未入力セルが存在すれば、状態遷移表設計支援部２３０は、「状態Ｘ」または「状態Ｙ」のいずれかをオペレータに選択させるための画面を表示部４０に表示する。ステップＳ２００の終了後、ステップＳ２１０に進み、状態遷移表設計支援部２３０は、オペレータによる内部状態の選択を受け付ける。ステップＳ２１０の終了後、ステップＳ２２０に進む。
【００７０】
ステップＳ２２０では、状態遷移表設計支援部２３０は、編集中のテストパスが有るか否かを判定する。ここで、図１３を参照しつつ、テストパスについて説明する。図１３（ａ）に示すような状態遷移表２１が在るときに、行列番号（１，１）の組み合わせ情報用セルに図１３（ｂ）に示すようにデータの入力が行われるとする。次に、行列番号（１，１）の組み合わせ情報用セルに入力された「遷移先の内部状態（状態Ｂ）」の列に属する組み合わせ情報用セルのうちイベントが「イベントＢ」の行に属する組み合わせ情報用セルすなわち行列番号（２，２）の組み合わせ情報用セルに図１３（ｃ）に示すようにデータの入力が行われるとする。さらに、行列番号（２，２）の組み合わせ情報用セルに入力された「遷移先の内部状態（状態Ｄ）」の列に属する組み合わせ情報用セルのうちイベントが「イベントＣ」の行に属する組み合わせ情報用セルすなわち行列番号（４，３）の組み合わせ情報用セルに図１３（ｄ）に示すようにデータの入力が行われるとする。以上のような入力が行われると、対象システムでは、スタート時の内部状態を「状態Ａ」として「（１，１）、（２，２）、（４，３）」の順序で状態が遷移するということが起こり得ることになる。このため、「（１，１）、（２，２）、（４，３）」の順序での状態の遷移について正常に行われるか否かがテストされなければならない。１つの行列番号に対応する組み合わせ情報用セルに関するテストは１件のテストケースに対応付けられるところ、テストパスとは、複数のテストケースからなり、テストの実行順をも含む概念である。
【００７１】
上述の例においては、図１４（ａ）に示すようなテストパスが生成されることになる。従って、テストパスが図１４（ｂ）あるいは図１４（ｃ）に示すようなものになっている時点においては、当該テストパスは「編集中」と判定（判断）される。
【００７２】
図１２のステップＳ２２０での判定の結果、編集中のテストパスがなければ、ステップＳ２３０に進む。一方、編集中のテストパスがあれば、ステップＳ２３２に進む。なお、図１４においては行列番号と矢印のみを用いてテストパスを簡単に表しているが、この状態遷移テスト支援装置７においては、例えば図１５に示すようなリスト構造のデータがテストパスデータとして作成される。図１５において、符号３４１，３４２，および３４３で示すデータはそれぞれ行列番号（１，１），（２，２），および（４，３）の組み合わせ情報用セルに対応するデータである。また、符号３４１，３４２，および３４３で示すデータはそれぞれが１件のテストケースに相当する。従って、テストパスデータに関する説明においては、符号３４１〜３４３で示すようなデータのことを単に「テストケース」という。
【００７３】
ステップＳ２３０では、テストパス生成部２３２は、テストパスの新規生成を行う。なお、ここでの「テストパスの新規生成」とは、図１６で符号３５で示すデータのようにヘッダー部のみを有するテストパスデータを生成することを意味する。ステップＳ２３０の終了後、ステップＳ２４０に進む。
【００７４】
ステップＳ２３２では、テストパス生成部２３２は、ステップＳ２１０で受け付けた内部状態を、編集中のテストパスデータのうち最後尾のテストケースについての「遷移先の内部状態」として記録する。例えば、編集中のテストパスデータが図１７（ａ）に示すようなものになっているときにステップＳ２１０で「状態Ｂ」という内部状態が受け付けられた場合には、図１７（ｂ）で符号３６で示すように、当該編集中のテストパスデータに「遷移先の内部状態」を表す記述（ここでは「状態Ｂ」）が追加される。ステップＳ２３２の終了後、ステップＳ２４０に進む。
【００７５】
ステップＳ２４０では、テストパス生成部２３２は、テストパスデータへのテストケースの追加を行う。なお、ここでの「テストケースの追加」とは、図１８で符号３７で示すデータのように実質的な内容が未入力の状態のデータをテストパスデータに追加することを意味する。ステップＳ２４０の終了後、ステップＳ２５０に進む。
【００７６】
ステップＳ２５０では、テストパス生成部２３２は、ステップＳ２１０で受け付けた内部状態を、編集中のテストパスデータのうち最後尾のテストケースについての内部状態として記録する。例えば、編集中のテストパスデータが図１９（ａ）に示すようなものになっているときにステップＳ２１０で「状態Ｂ」という内部状態が受け付けられた場合には、図１９（ｂ）で符号３８で示すように、当該編集中のテストパスデータに内部状態を表す記述（ここでは「状態Ｂ」）が追加される。ステップＳ２５０の終了後、ステップＳ２６０に進む。
【００７７】
ステップＳ２６０では、状態遷移表設計支援部２３０は、状態遷移表２１が表示されている画面において、ステップＳ２１０で受け付けた内部状態の列にカーソルを移動させる。ステップＳ２６０の終了後、ステップＳ２７０に進む。
【００７８】
ステップＳ２７０では、状態遷移表設計支援部２３０は、ステップＳ２１０で受け付けた内部状態の列に属する組み合わせ情報用セルにデータ未入力セルがあるか否かを判定する。判定の結果、データ未入力セルがあれば、ステップＳ２８２に進む。一方、データ未入力セルがなければ、ステップＳ２８８に進む。
【００７９】
ステップＳ２８２では、状態遷移表設計支援部２３０は、データ未入力セルに対応するイベントを、テストパスデータに追加するイベントの候補として表示部４０に表示する。ステップＳ２８２の終了後、ステップＳ２８４に進み、動作特定情報入力受付部２３１は、オペレータによるイベントの選択を受け付ける。これにより、テストパス生成部２３２は、オペレータによって選択されたイベントを、編集中のテストパスデータのうち最後尾のテストケースについてのイベントとして記録する。例えば、編集中のテストパスデータが図２０（ａ）に示すようなものになっているときにオペレータによって「イベントＡ」というイベントが選択された場合には、図２０（ｂ）で符号３９で示すように、当該編集中のテストパスデータにイベントを表す記述（ここでは「イベントＡ」）が追加される。ステップＳ２８４の終了後、ステップＳ２８６に進む。ステップＳ２８６では、動作特定情報入力受付部２３１は、オペレータによる組み合わせ情報用セルへの処理内容の入力を受け付ける。ステップＳ２８８の終了後、ステップＳ２９０に進む。
【００８０】
ステップＳ２８８では、テストパス生成部２３２は、テストパスのクローズを行う。なお、「テストパスのクローズ」とは、編集中のテストパスにそれ以上テストケースを追加できないようにすることを意味する。テストパスのクローズが行われると、当該テストパスを示すデータがテスト結果保持テーブル３１に生成される。例えば、「（１，１）、（２，１）、（３，１）、（４，３）」の順序で遷移するテストパスがクローズされた時には、図２１に示すようなデータがテスト結果保持テーブル３１に生成される。このように、クローズしたテストパスに４つのテストケースが含まれている場合、４件のレコードがテスト結果保持テーブル３１に追加される。ステップＳ２８８の終了後、ステップＳ２９０に進む。
【００８１】
ステップＳ２９０では、状態遷移表設計支援部２３０は、この状態遷移表２１に含まれる内部状態の列にデータ未入力セルを含む列があるか否かを判定する。判定の結果、データ未入力セルを含む列があれば、ステップＳ２００に戻る。一方、データ未入力セルを含む列がなければ、状態遷移表設計支援処理は終了する。
【００８２】
以上のような状態遷移表設計支援処理によって、状態遷移表２１内の全ての組み合わせ情報用セルにデータの入力が行われ、オペレータはデータ未入力セルを残すことなく状態遷移表の設計作業を終了することができる。また、この状態遷移表設計支援処理によって、状態遷移テストが効率的に実行されるよう、オペレータに作業負荷をかけることなくテストパスが生成される。
【００８３】
ところで、システムの内部状態の遷移については、同じような状態遷移が複数回繰り返されることがある。例えば、図２２に示すような状態遷移表２１を持つシステムでは、「状態Ａ」と「状態Ｂ」とが何回も繰り返されることがある。このため、例えば「（１，１）、（２，１）、（１，１）、（２，１）、（１，２）、（３，２）」という順序での状態の遷移についてのテストが要求されることがある。このような場合、本実施形態においては、繰り返される「内部状態とイベントとの組み合わせ」に対応する行列番号とその繰り返しの回数とを表す記述（例えば図２３に示すような記述）などを組み合わせ情報用セルの備考欄に予め入力しておき、状態遷移テストの際にオペレータが当該備考欄を見て、繰り返しのテストを実行するようにすれば良い。図２３に示すような記述がなされた後にテストパスがクローズされると、テスト結果保持テーブル３１には図２４に示すようなレコードが追加される。
【００８４】
＜５．３  テスト支援処理＞
＜５．３．１  処理手順＞
図２５は、本実施形態におけるテスト支援処理の手順を示すフローチャートである。なお、ここでは、図２６に示すような状態遷移表２１が既に生成されているものと仮定して説明する。また、対象システムにおけるスタート時の内部状態は「状態Ａ」と仮定する。従って、上述した状態遷移表設計支援処理によって、図２７に示すような３つのテストパスが既に生成されている。また、テスト結果保持テーブル３１には、図２８に示すようなレコードが格納された状態となっている。なお、図２８のテスト仕様書Ｎｏが１〜３のレコードは、それぞれ図２７の第１〜第３のテストパスについてのレコードである。
【００８５】
状態遷移テストを開始するためのメニュー等がオペレータによって選択されると、テストパス候補表示部２４３は、テストを実行するテストパスの候補を例えば図２７に示すようなリスト形式で表示部４０に表示する（ステップＳ３１０）。その後、ステップＳ３２０に進み、テスト支援部２４０は、オペレータによるいずれかのテストパスの選択（以下、実行対象として選択されたテストパスを「テスト対象パス」という。）を受け付ける。ステップＳ３２０の終了後、ステップＳ３３０に進む。
【００８６】
ステップＳ３３０では、テスト支援部２４０は、テスト結果保持テーブル３１に格納されているデータに基づいて、テスト対象パスに含まれるテストケースの中から今回実行されるべきテストケースを抽出する。例えば、テスト結果保持テーブル３１に図２９に示すようなレコードが格納された状態になっている場合、第２のテストパスのレコードのうちテスト結果が未入力となっている２件のレコード（符号３１５，３１６で示すレコード）に対応するテストケースについては、テストが実行されていないことが把握される。また、それら２件のレコードについてのテストケース番号を比較すると、符号３１６で示すレコードよりも符号３１５で示すレコードの方が値が小さくなっている。これにより、符号３１５で示すレコードに対応するテストケースが今回実行されるべきテストケースとして抽出される。そして、テストセル強調表示部２４２は、抽出されたテストケースに対応付けられている組み合わせ情報用セルにカーソルを移動させるとともに、当該組み合わせ情報用セルをそれ以外のセルとは異なる色で表示する。このようにして、今回実行されるべきテストケースに対応付けられている組み合わせ情報用セルが強調表示される。ステップＳ３３０の終了後、ステップＳ３４０に進む。
【００８７】
ステップＳ３４０では、テスト支援部２４０は、ステップＳ３３０で抽出したテストケースについてのテスト条件（対象システムをどの内部状態にして、どのイベントを発生させるか）を示したダイアログを表示部４０に表示する。例えば、図３０で示すような画面が表示部４０に表示される。ステップＳ３４０の終了後、ステップＳ３５０に進む。
【００８８】
ここで、オペレータは、ステップＳ３４０で表示された画面を参照してテストを実行する。その後、オペレータによってテスト結果の入力が行われる。テスト結果の入力は、例えば、対象の組み合わせ情報用セルが選択された状態で所定のメニューが選択されることによって行われる。そして、ステップＳ３５０では、当該テスト結果の入力をテスト支援部２４０が受け付ける。これにより、テスト結果の入力が行われた組み合わせ情報用セルには、例えば図３１（ａ）に示すような情報が保持されることになる。なお、１つの組み合わせ情報用セルにテスト結果の入力が複数回なされたときには、例えば図３１（ｂ）に示すように、複数回分のテスト結果の情報が当該組み合わせ情報用セルに保持されることになる。すなわち、各組み合わせ情報用セルは複数のテスト結果が格納可能に構成されている。なお、図３１（ａ）および（ｂ）の時間（年月日および時刻）についての情報は、オペレータの手入力によることなく、システムより取得することができる。
【００８９】
ステップＳ３５０の終了後、ステップＳ３６０に進み、テスト結果記録部２４１は、ステップＳ３５０で受け付けたテスト結果をテスト結果保持テーブル３１に書き込む。その際、テスト結果記録部２４１は、テストが実行された順序を特定するための情報（実行順特定情報）として、テストが実行された年月日および時刻をテスト結果保持テーブル３１に記録する。これにより、例えば、第１のテストパスおよび第２のテストパスに含まれる全てのテストケースについてのテストが終了し、最後に実行したテストケースについてのテスト結果のみが「失敗」であった場合、テスト結果保持テーブル３１は、図３２に示すようなレコードが格納された状態となる。ステップＳ３６０の終了後、ステップＳ３７０に進む。
【００９０】
ステップＳ３７０では、テスト支援部２４０は、テスト対象パスに含まれるテストケースのうちテスト未実行のテストケースがあるか否かを判定する。判定の結果、テスト未実行のテストケースがあれば、ステップＳ３３０に戻る。一方、テスト未実行のテストケースがなければ、ステップＳ３８０に進む。ステップＳ３８０では、テスト支援部２４０は、テスト未実行のテストパスがあるか否かを判定する。判定の結果、テスト未実行のテストパスがあれば、ステップＳ３１０に戻る。一方、テスト未実行のテストパスがなければ、テスト支援処理は終了する。
【００９１】
＜５．３．２  各種表示処理＞
次に、テスト支援処理に関わる各種表示処理について説明する。本実施形態に係る状態遷移テスト支援装置７は、状態遷移テストの効率的な実行を支援するために以下のような表示処理を行う機能を有している。
【００９２】
＜５．３．２．１  テスト結果履歴表示処理＞
状態遷移テストにおいては、或る１つの組み合わせ情報用セルについてのテスト結果が、当該組み合わせ情報用セルについてのテストを実行するまでの内部状態の遷移に応じて異なるということがある。例えば、「状態Ｃ」と「イベントＣ」との組み合わせに対応する組み合わせ情報用セルのテスト結果に関し、「状態Ａ」という内部状態の直後に実行したときには「成功」となり、「状態Ａ」から「状態Ｂ」へと内部状態が遷移した後に実行したときには「失敗」となることがある。このため、システムとしては、状態遷移の違いに応じてどのようにテスト結果が異なるのか容易に把握されることが好ましい。
【００９３】
ところで、本実施形態においては、状態遷移テストのテスト結果がテストの実行日時とともにテスト結果保持テーブル３１に格納されている。また、テスト結果保持テーブル３１には、いずれの組み合わせ情報用セルに係るテストであるのかを特定するための行列番号が「実行セル」フィールドに格納されている。このため、任意の組み合わせ情報用セルに関し、当該組み合わせ情報用セルについてのテストが行われるまでにどのような順序でどの組み合わせ情報用セルについてのテストが実行されたのか、また、どのようなテスト結果が得られているのかなどの情報を当該組み合わせ情報用セルを含む複数のテストパスについて把握することができる。そこで、本実施形態に係る状態遷移テスト支援装置７には、オペレータによる任意の組み合わせ情報用セルの選択を受け付け、選択された組み合わせ情報用セルを含むテストパスについてのテストの実行履歴を表示部４０に表示する機能が設けられている。この機能はテスト結果履歴表示部２４４によって実現される。例えば、行列番号が（４，３）の組み合わせ情報用セルが選択された状態で所定のメニューが選択されると、テスト結果履歴表示部２４４は、図３３や図３４に示すような画面を表示部４０に表示する。なお、選択された組み合わせ情報用セル（以下、「選択セル」という。）を含むテストパスに選択セルよりも後でテストが実行される組み合わせ情報用セル（以下、「後続セル」という。）が含まれている場合、後続セルのテスト結果に関する情報についても画面に表示されるようにしても良い。ところで、図３４は、「（１，１）、（２，１）」という順序の状態遷移が２回繰り返されたケースの表示例である。このような場合には、１回目と２回目の区別が容易になされるよう、テストの実行日時を表示するようにしても良い。
【００９４】
＜５．３．２．２  失敗テスト再現手順表示処理＞
ソフトウェアシステムのテストにおいては、或るテストでエラーが発生したとき、エラー原因の追究等のために当該状況の再現がしばしば試みられる。このため、システムとしては、エラー状況の再現手順が容易に把握されることが好ましい。ところで、本実施形態においては、状態遷移テストのテスト結果がテストの実行日時とともにテスト結果保持テーブル３１に格納されている。このため、テスト結果が「失敗」（エラー）となったテストケースに関して、当該テストケースについてのテストが行われるまでにどのような順序でどのテストケースについてのテストが実行されたのを把握することができる。そこで、本実施形態に係る状態遷移テスト支援装置７には、テスト結果が「失敗」となったテストについての再現手順を表示部４０に表示する機能が設けられている。この機能は、失敗テスト再現手順表示部２４５によって実現される。例えば、所定のメニューが選択されると、失敗テスト再現手順表示部２４５は、図３５に示すような画面を表示部４０に表示する。これにより、「内部状態とイベントとの組み合わせ」を「状態Ａ、イベントＡ」、「状態Ｂ、イベントＢ」、「状態Ｄ、イベントＤ」の順序で遷移させるとエラー状況が再現できることが把握される。
【００９５】
＜５．３．２．３  状態遷移テスト進捗表示処理＞
ソフトウェアシステムの開発においては、各作業の進捗を管理することがプロジェクトのリーダー等にとって重要となる。このため、システムとしては、状態遷移テストの進捗状況が容易に把握されることが好ましい。ところで、本実施形態においては、状態遷移表２１に基づくテストパスの情報および各テストパスに含まれるテストケースについてのテスト結果の情報がテスト結果保持テーブル３１に格納されている。このため、テストパス毎の未実行のテストケースの有無が容易に把握される。そこで、本実施形態に係る状態遷移テスト支援装置７には、状態遷移テストの進捗状況を表示部４０に表示する機能が設けられている。この機能は、進捗表示部２４６によって実現される。例えば、所定のメニューが選択されると、進捗表示部２４６は、図３６に示すような画面を表示部４０に表示する。なお、図３６には、テスト済みのテストパスを太実線で表し、テスト未実行のテストパスを細点線で表した例を示している。
【００９６】
また、本実施形態においては、各テストケースについてのテスト結果の情報がテスト結果保持テーブル３１に格納されており、各テストケースはいずれかの組み合わせ情報用セルに対応付けられている。このため、組み合わせ情報用セル毎に、対応するテストケースが実行済みであるか否かが把握される。そこで、本実施形態に係る状態遷移テスト支援装置７には、テストが実行されているテストケースに対応する組み合わせ情報用セルとテストが実行されていないテストケースに対応する組み合わせ情報用セルとを区別して表示部４０に表示する機能が設けられている。この機能についても進捗表示部２４６によって実現される。例えば、所定のメニューが選択されると、進捗表示部２４６は、図３７に示すような画面を表示部４０に表示する。なお、図３７では、テストが実行されているテストケースに対応する組み合わせ情報用セルを黒色で塗りつぶした例を示している。また、１つの組み合わせ情報用セルに複数のテストケースが対応付けられている場合には、例えば全てのテストケースについてのテストが実行済みであるか否かによって区別して表示すれば良い。
【００９７】
＜６．効果＞
本実施形態によれば、状態遷移表２１の設計が行われる際、設計を行う内部状態やイベントの候補が状態遷移表設計支援部２３０によってオペレータに提示される。このため、未設計の内部状態やイベントをオペレータ自身によって探す必要がなくなり、状態遷移表の迅速な設計が可能となる。また、オペレータによる状態遷移表２１のセル（組み合わせ情報用セル）への「内部状態とイベントとの組み合わせ」の入力が行われると、当該入力内容に基づき、状態遷移テストとして実行されるべきテストパスがテストパス生成部２３２によって生成される。以上より、テストパス生成に要する時間が従来よりも大幅に短縮される。
【００９８】
また、状態遷移テストが実行されると、テストパスに含まれる各テストケースについてのテスト結果がテスト結果保持テーブル３１に記録される。その際、テストが実行された順序を特定するための情報（実行順特定情報）として、テストが実行された年月日および時刻がテスト結果保持テーブル３１に記録される。このため、テスト結果保持テーブル３１に保持されているデータに基づいて、いずれのテストパスのいずれのテストケースまでのテストが実行済みであるのかを判断することが可能となる。
【００９９】
さらに、本実施形態によれば、状態遷移テストの実行中に、テストセル強調表示部２４２によって、次にテストが実行されるべきテストケースに対応付けられている組み合わせ情報用セルが強調表示される。このため、次にテストが実行されるべき組み合わせ情報用セルをオペレータ自身が探す必要はなくなり、状態遷移テストの迅速な実行が可能となる。また、テストが実行されていないテストケースを含むテストパスが複数ある場合に、テストパス候補表示部２４３によって、次にテストが実行されるべきテストパスの候補がオペレータに提示される。このため、テストすべきテストパスをオペレータ自身が探す必要はなくなり、状態遷移テストの迅速な実行が可能となる。
【０１００】
さらにまた、テスト結果履歴表示部２４４によって、実行済みのテストケースについてのテスト結果がテストの実行順で表示部４０に表示される。このため、状態遷移テストの実行状況の把握が容易になる。また、失敗テスト再現手順表示部２４５によって、テスト結果がエラーとなったテストケースについて、テストの再現手順が表示部４０に表示される。このため、エラー原因の追究が容易となり、システム開発の効率化を図ることができる。また、進捗表示部２４６によって、テストの進捗状況を示す情報が表示部４０に表示される。このため、状態遷移テストを含むシステム開発の進捗の管理が容易となる。
【０１０１】
＜７．その他＞
上述の状態遷移テスト支援装置７は、メモリ６０や補助記憶装置７０等のハードウェアの存在を前提として、ＣＰＵ１０によって実行されるテスト支援等のプログラム２２〜２４に基づき実現される。このようなプログラム２２〜２４の一部または全部は、例えば、そのプログラム２２〜２４を記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体によって提供される。使用者は、上記プログラム２２〜２４の記録媒体としてのＣＤ−ＲＯＭを購入して、ＣＤ−ＲＯＭ駆動装置（図示せず）に装着し、そのＣＤ−ＲＯＭからそのプログラム２２〜２４を読み出して状態遷移テスト支援装置７の補助記憶装置７０にインストールすることができる。このように、図２５等に示す各ステップをコンピュータに実行させるプログラムの形態として提供することもできる。
【図面の簡単な説明】
【０１０２】
【図１】本発明の一実施形態におけるシステム全体のハードウェア構成図である。
【図２】上記実施形態において、状態遷移テスト支援装置の構成を示すブロック図である。
【図３】上記実施形態において、状態遷移表の構成を示す図である。
【図４】上記実施形態において、組み合わせ情報用セルに入力されるデータについて説明するための図である。
【図５】上記実施形態において、内部状態およびイベントが階層構造にされていない状態遷移表の一例を示す図である。
【図６】上記実施形態において、内部状態およびイベントが階層構造にされている状態遷移表の一例を示す図である。
【図７】上記実施形態において、リカバリー関連のシステムにおける状態遷移表の一部を示す図である。
【図８】上記実施形態において、状態遷移テスト支援装置を機能的な観点からみた機能ブロック図である。
【図９】上記実施形態において、テスト結果保持テーブルのレコードフォーマットを示す図である。
【図１０】上記実施形態において、テスト結果保持テーブルにおけるレコードの特定について説明するための図である。
【図１１】上記実施形態において、状態遷移表生成処理の手順を示すフローチャートである。
【図１２】上記実施形態において、状態遷移表設計支援処理の手順を示すフローチャートである。
【図１３】上記実施形態において、テストパスについて説明するための図である。
【図１４】上記実施形態において、テストパスの生成について説明するための図である。
【図１５】上記実施形態において、テストパスデータについて説明するための図である。
【図１６】上記実施形態において、テストパスの新規生成について説明するための図である。
【図１７】上記実施形態において、テストパスデータへの「遷移先の内部状態」の記録について説明するための図である。
【図１８】上記実施形態において、テストケースの追加について説明するための図である。
【図１９】上記実施形態において、テストパスデータへの内部状態の記録について説明するための図である。
【図２０】上記実施形態において、テストパスデータへのイベントの記録について説明するための図である。
【図２１】上記実施形態において、４つのテストケースを含むテストパスがクローズされたときにテスト結果保持テーブルに生成されるデータの例を示す図である。
【図２２】上記実施形態において、同じような状態遷移が複数回繰り返される場合について説明するための図である。
【図２３】上記実施形態において、組み合わせ情報用セルの備考欄への入力例を示す図である。
【図２４】上記実施形態において、組み合わせ情報用セルの備考欄に入力が行われているときにテスト結果保持テーブルに生成されるデータの例を示す図である。
【図２５】上記実施形態において、テスト支援処理の手順を示すフローチャートである。
【図２６】上記実施形態において、テスト支援処理についての説明に用いる状態遷移表を示す図である。
【図２７】上記実施形態において、テスト支援処理についての説明に用いる３つのテストパスを示す図である。
【図２８】上記実施形態において、テスト支援処理についての説明に用いるテスト結果保持テーブルを示す図である。
【図２９】上記実施形態において、テスト支援処理における「テストケースの抽出」についての説明に用いるテスト結果保持テーブルを示す図である。
【図３０】上記実施形態において、テスト条件を示したダイアログの一例を示す図である。
【図３１】上記実施形態において、組み合わせ情報用セルに保持される情報の例を示す図である。
【図３２】上記実施形態において、テスト支援処理における「テスト結果の保存」についての説明に用いるテスト結果保持テーブルを示す図である。
【図３３】上記実施形態において、テスト結果履歴表示処理で表示される画面例を示す図である。
【図３４】上記実施形態において、テスト結果履歴表示処理で表示される画面例を示す図である。
【図３５】上記実施形態において、エラー再現手順表示処理で表示される画面例を示す図である。
【図３６】上記実施形態において、遷移テスト進捗表示処理で表示される画面例を示す図である。
【図３７】上記実施形態において、遷移テスト進捗表示処理で表示される画面例を示す図である。
【符号の説明】
【０１０３】
７…サーバ機（状態遷移テスト支援装置）
２１…状態遷移表
３１…テスト結果保持テーブル
２２０…状態遷移表生成部
２２１…内部状態入力受付部
２２２…イベント入力受付部
２２３…利用不可情報入力受付部
２３０…状態遷移表設計支援部
２３１…動作特定情報入力受付部
２３２…テストパス生成部
２４０…テスト支援部
２４１…テスト結果記録部
２４２…テストセル強調表示部
２４３…テストパス候補表示部
２４４…テスト結果履歴表示部
２４５…失敗テスト再現手順表示部
２４６…進捗表示部
【図１】
0005198132.tif 000002
【図２】
0005198132.tif 000003
【図３】
0005198132.tif 000004
【図４】
0005198132.tif 000005
【図５】
0005198132.tif 000006
【図６】
0005198132.tif 000007
【図７】
0005198132.tif 000008
【図８】
0005198132.tif 000009
【図９】
0005198132.tif 000010
【図１０】
0005198132.tif 000011
【図１１】
0005198132.tif 000012
【図１２】
0005198132.tif 000013
【図１３】
0005198132.tif 000014
【図１４】
0005198132.tif 000015
【図１５】
0005198132.tif 000016
【図１６】
0005198132.tif 000017
【図１７】
0005198132.tif 000018
【図１８】
0005198132.tif 000019
【図１９】
0005198132.tif 000020
【図２０】
0005198132.tif 000021
【図２１】
0005198132.tif 000022
【図２２】
0005198132.tif 000023
【図２３】
0005198132.tif 000024
【図２４】
0005198132.tif 000025
【図２５】
0005198132.tif 000026
【図２６】
0005198132.tif 000027
【図２７】
0005198132.tif 000028
【図２８】
0005198132.tif 000029
【図２９】
0005198132.tif 000030
【図３０】
0005198132.tif 000031
【図３１】
0005198132.tif 000032
【図３２】
0005198132.tif 000033
【図３３】
0005198132.tif 000034
【図３４】
0005198132.tif 000035
【図３５】
0005198132.tif 000036
【図３６】
0005198132.tif 000037
【図３７】
0005198132.tif 000038