(57)【要約】【課題】記憶すべきデータ量を低減させつつ、再試験が必要となるテストを効率よく特定することができる情報管理装置を提供する。【解決手段】本発明に係るテスト情報管理装置１は、ソフトウェアを実装した装置においてソフトウェアの挙動の適否に関するテストを行い、そのテスト結果を管理する。テストと、その操作手順とを示すテスト手順情報１３２を記憶する記憶装置１３と、不具合を引き起こした原因手順を示す不具合情報３３を受け付ける入出力制御部１１および不具合情報記録部２７と、原因手順を含む関連テストを、テスト手順情報１３２から抽出する関連手順抽出部２５と、抽出した関連テストを出力する不具合テスト取得部２６またはテスト情報提供部２１とを備える。【選択図】図１
2011096205.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアを実装した装置において所定の操作手順にしたがってソフトウェアの挙動の適否に関するテストを行い、そのテスト結果を管理する情報管理装置であって、
装置に実装したソフトウェアの不具合を検査するために該装置において実行するテストと、該テストを行うための操作手順との対応関係を示すテスト手順情報を記憶する記憶装置と、
上記テストの実行により不具合が生じたソフトウェアに関して、該ソフトウェアの挙動の不具合を引き起こした原因となる原因手順を示す情報である原因手順情報の入力を受け付ける情報受付手段と、
上記情報受付手段によって受け付けた上記原因手順情報により示される原因手順を含む他のテストである関連テストを、上記記憶装置に記憶されたテスト手順情報から抽出する抽出手段と、
上記抽出手段により抽出した関連テストを示す関連テスト情報を出力するテスト出力手段とを備えることを特徴とする情報管理装置。
【請求項２】
各テストについて実施済みか否かを示す実施情報と、その実施により不具合が生じたか否かを示す不具合発生情報と、ソフトウェアの修正が完了済みか否かを示す修正完了情報とを含む実施状態情報を記憶装置に記録する実施状態情報記録手段と、
上記実施状態情報に基づき、上記ソフトウェアの不具合を確認するテスターが実施するテストの優先順位を設定するテスト優先順位設定手段と、
上記実施状態情報に基づき、ソフトウェアの不具合を修正するソフトウェア開発者が修正する不具合の優先順位を設定する修正優先順位設定手段とを備えることを特徴とする請求項１に記載の情報管理装置。
【請求項３】
上記情報受付手段によって受け付けた上記原因手順情報を、記憶装置に記録する原因手順記録手段を備えることを特徴とする請求項１または２に記載の情報管理装置。
【請求項４】
上記原因手順情報は、原因手順の各手順の関係を示す関係式として表現された情報であることを特徴とする請求項３に記載の情報管理装置。
【請求項５】
テストを構成する各操作手順において、操作条件の設定の入力を支援する設定画面を生成する画面生成手段と、
上記画面生成手段により生成された設定画面を出力する設定画面出力手段と、
上記設定画面出力手段によって出力された設定画面に対しテスターにより入力された操作条件を受け付け、記憶装置に記録する操作条件記録手段と、を備えることを特徴とする請求項４に記載の情報管理装置。
【請求項６】
上記原因手順記録手段は、上記操作条件記録手段により記録された操作条件を、上記原因手順情報に対応付けて記録することを特徴とする請求項５に記載の情報管理装置。
【請求項７】
ソフトウェアを実装した装置において所定の操作手順にしたがってソフトウェアの挙動の適否に関するテストを行い、そのテスト結果を管理する情報管理装置の制御方法であって、
上記情報管理装置は、装置に実装したソフトウェアの不具合を検査するために該装置において実行するテストと、該テストを行うための操作手順との対応関係を示すテスト手順情報を記憶する記憶装置を備え、
上記テストの実行により不具合が生じたソフトウェアに関して、該ソフトウェアの挙動の不具合を引き起こした原因となる原因手順を示す情報である原因手順情報の入力を受け付ける情報受付ステップと、
上記情報受付けステップにおいて受け付けた上記原因手順情報により示される原因手順を含む他のテストである関連テストを、上記記憶装置に記憶されたテスト手順情報から抽出する抽出ステップと、
上記抽出ステップにより抽出した関連テストを示す関連テスト情報を出力するテスト出力ステップとを含むことを特徴とする情報管理装置の制御方法。
【請求項８】
コンピュータを請求項１から６のいずれか１項に記載の情報管理装置の各手段として機能させるための情報管理装置の制御プログラム。
【請求項９】
請求項８に記載の情報管理装置の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアを実装した装置において所定の操作手順にしたがってソフトウェアの挙動の適否に関するテストを行い、そのテスト結果を管理する情報管理装置に関する。
【背景技術】
【０００２】
従来から、ソフトウェアの開発工程において、ソフトウェアを装置に実装した後、単体試験、結合試験、および総合試験といったソフトウェアの各テストが行われている。そして、上記各テストの結果に基づいて、開発したソフトウェア（システム）の動作が適正であるか否かが判断される。
【０００３】
単体試験、結合試験などでは、一般的にはプログラムの構造に着目したソフトウェアのテストである、いわゆるホワイトボックステストが採用される。ホワイボックステストでは、プログラムの内容に応じてテスト内容が作成されており、ソフトウェア開発者がプログラムの不具合を修正する際にこのテストを実行する。
【０００４】
一方、あらかじめ準備された仕様に従い、開発したソフトウェア（システム）の動作が適正であるか否かテストするシステムテストは、システムに対する所定の入力に対する出力結果に注目した、いわゆるブラックボックステストが採用される。ブラックボックステストは、テスターと呼ばれるシステムの挙動を確認する試験者によって実行される。このブラックボックステストでは、事前に作成されたテストケース、あるいはユーザの操作状態を想定したテストケース（ランダムテスト）を実行し、テストケースの期待値または仕様とシステムの動作状態との間において齟齬がないか確認する。なお、ここでテストケースの期待値とは、ある一定の操作を行った場合に得られた結果が予期されたものであるか否かを示す基準である。
【０００５】
上述のようにソフトウェアの開発工程では、主としてソフトウェア（システム）の動作が適性であるか否かを検査するテスターと、動作が適性でない、すなわちテストにより生じた不具合を修復するソフトウェア開発者との２つのアクターが存在する。
【０００６】
つまり、ソフトウェア開発者は、テスターからの不具合情報に対して「不具合の再現」、「原因の調査」、「不具合の修正」というステップを経て不具合を修正する。
【０００７】
一方、テスターは、不具合が修正されたソフトウェアを再度テストし、不具合が解消されたことを確認すると、テストＯＫを記録する。ただし、ソフトウェアを構成するプログラム同士は通常相互に関連し利用されているため、あるプログラムの不具合修正により複数の他の不具合が改善されたり、逆に別の不具合が発生したりする場合がある。このように、プログラムの修正によりテスターから報告された不具合を解消することができる一方で、テスターが別のテストケースを実行すると、別のテストケースで発見した不具合の修正の影響に起因する新たな不具合が発生してしまう場合もある。このため、プログラムの修正後においても関連する複数のテストケースについて再テストを行う必要がある。それゆえ、テスターによる検査結果と、ソフトウェア開発者による不具合のあったソフトウェアに対する修正処理完了通知とを効率的に管理し、再試験すべき項目が容易に特定できることが必要となる。
【０００８】
例えば、特許文献１には、ソフトウェアのソースコードの修正に伴い再試験の実施が必要となる試験項目を特定可能とする試験管理装置が開示されている。より具体的には、この試験管理装置は、ソフトウェアを構成する各モジュールと各モジュールに関連する動作試験の項目とを関連付けて記憶しておき、修正されたソースコードに関連するモジュールを示す指示情報を受け取ると、このモジュールに対応する動作試験の項目を特定することができる。しかしながら、特許文献１に示す試験管理装置では、ソフトウェアを構成する各モジュールと各モジュールに関連する動作試験の項目との関連付けを、ソフトウェアのプログラムの中身を知らないテスターが行うことは困難である。このため、この関連付けは、ソフトウェア開発者に委ねられることとなり、ソフトウェア開発者の負担が増大する。特に、テスターよりもソフトウェア開発者の方が一般的には人数が少なく、一人当たりの処理量が大きいため、ソフトウェア開発者の負担が増大することは好ましくない。
【０００９】
そこで特許文献２では、テストケースごとの実行トレースとテストモデルとの間の対応関係、および該実行トレースとソースコードとの間の対応関係等を登録し、これら対応関係を追跡するソフトウェアテスト管理装置が開示されている。すなわち、テストケースごとにカバレッジ情報を取得し管理するソフトウェアテスト管理装置が開示されている。
【００１０】
このようにテストケースごとについてカバレッジを記録する構成のため、特許文献１の試験管理装置のように事前にソフトウェア開発者がソフトウェアを構成する各モジュールと各モジュールに関連する動作試験の項目との関連付けを行っておく必要がなく負担の増大を低減できる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−１２６９２５号公報（２００６年５月１８日公開）
【特許文献２】特開２００７−１３３８００号公報（２００７年５月３１日公開）
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述のような従来技術は、記憶すべきデータ量を低減させつつ、再試験が必要となるテストを効率よく特定することができないという問題がある。
【００１３】
具体的には、特許文献２では、テストケースごとについてカバレッジ情報を記録する構成である。このため、テストケースごとにすでに記録されているカバレッジ情報を読み出す必要があり、処理するデータ量が大きいため、ソフトウェアを実装する装置のパフォーマンスが低下したり、大容量のメモリが必要となったりする。
【００１４】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、記憶すべきデータ量を低減させつつ、再試験が必要となるテストを効率よく特定することができる情報管理装置、情報管理装置の制御方法、情報管理装置の制御プログラム、および情報管理装置の制御プログラムを記録した記録媒体を提供することにある。
【課題を解決するための手段】
【００１５】
本発明に係る情報管理装置は、上記した課題を解決するために、ソフトウェアを実装した装置において所定の操作手順にしたがってソフトウェアの挙動の適否に関するテストを行い、そのテスト結果を管理する情報管理装置であって、装置に実装したソフトウェアの不具合を検査するために該装置において実行するテストと、該テストを行うための操作手順との対応関係を示すテスト手順情報を記憶する記憶装置と、上記テストの実行により不具合が生じたソフトウェアに関して、該ソフトウェアの挙動の不具合を引き起こした原因となる原因手順を示す情報である原因手順情報を受け付ける情報受付手段と、上記情報受付手段によって受け付けた上記原因手順情報により示される原因手順を含む他のテストである関連テストを、上記記憶装置に記憶されたテスト手順情報から抽出する抽出手段と、上記抽出手段により抽出した関連テストを示す関連テスト情報を出力するテスト出力手段とを備えることを特徴とする。
【００１６】
ここで関連テストとは、実施したテストにおいて不具合を生じさせる原因となる操作手順を含むテストであり、該実施したテストとは異なる他のテストである。つまり、この関連テストは、実施したテストと同様の不具合を生じさせる原因となる操作手順を含むこととなる。
【００１７】
上記した構成によると、記憶装置がテスト手順情報を記憶するため、装置に実装したソフトウェアの挙動の適否を確認するために行うテストと、そのテスト手順とを把握することができる。
【００１８】
また、本発明に係る情報管理装置は、情報受付手段を備えている。このため、本発明に係る情報管理装置は、この情報受付手段によって、不具合が生じたテストに関して、ソフトウェアの挙動の不具合を引き起こした原因となる原因手順を示す情報である原因手順情報を取得することができる。また、抽出手段およびテスト出力手段を備えているため、この原因手順情報により示される原因手順を含む他のテストである関連テストをテスト手順情報から抽出し、抽出された関連テストを示す関連テスト情報を出力することができる。
【００１９】
このため、テストケースごとにカバレッジ情報を記憶する必要なく、不具合を引き起こす原因手順を含む他のテストケースに関する情報を提示することができる。したがって、記憶すべきデータ量を低減させつつ、再試験が必要となるテストを効率よく特定することができるという効果を奏する。
【００２０】
本発明に係る情報管理装置は、上記した構成において、各テストについて実施済みか否かを示す実施情報と、その実施により不具合が生じたか否かを示す不具合発生情報と、ソフトウェアの修正が完了済みか否かを示す修正完了情報とを含む実施状態情報を記憶装置に記録する実施状態情報記録手段と、上記実施状態情報に基づき、上記ソフトウェアの不具合を確認するテスターが実施するテストの優先順位を設定するテスト優先順位設定手段と、上記実施状態情報に基づき、ソフトウェアの不具合を修正するソフトウェア開発者が修正する不具合の優先順位を設定する修正優先順位設定手段とを備えるように構成されていてもよい。
【００２１】
上記した構成によると、実施状態情報記録手段を備えているため、各テストについて実施済みか否か、実施により不具合が生じたか否か、および生じた不具合が修正済みか否かについて、テストの実施に係る状態を記録することができる。
【００２２】
ところで、テストの実施に係る状態に応じて、テストを実施する優先順位が異なってくる。例えば、既に実施済みのテストと未実施のテストでは、後者のテストを優先して行う等、実施するテストに優先順位が生じる。同様に、テストの実施に係る状態に応じて、修正を行う不具合の優先順位も異なってくる。例えば、不具合の発生が確認されているテストと、不具合が修正されている可能性があるテストとでは、前者のテスト結果を優先して修正を行う等、修正するテスト結果に優先順位が生じる。
【００２３】
このように、本実施の形態に係る情報管理装置では、テスト優先順位設定手段および修正優先順位設定手段を備えるため、テスターが実施するテストに優先順位を適切に設定することができる。また、ソフトウェア開発者による不具合の修正順位を適切に設定することができる。
【００２４】
このため、テスターおよびソフトウェア開発者は、効率よくテストの実施や不具合の修正等の各処理を実行することができる。
【００２５】
本発明に係る情報管理装置は、上記した構成において、上記情報受付手段によって受け付けた上記原因手順情報を、記憶装置に記録する原因手順記録手段を備えるように構成されていてもよい。
【００２６】
上記した構成によると、原因手順記録手段を備えるため、不具合が発生したテストについての原因手順情報を取得し保持することができる。したがって、本発明に係る情報管理装置は、この原因手順情報を必要に応じて参照することができる。
【００２７】
本発明に係る情報管理装置は、上記した構成において、上記原因手順情報は、原因手順の各手順の関係を示す関係式として表現された情報であってもよい。
【００２８】
上記した構成によると、原因手順情報を、原因手順の各手順の関係を示す関係式で表すことができる。このため、不具合が生じたテストごとに該不具合の原因となる操作手順をバラバラに表現することなく共通した表現で示すことができる。
【００２９】
本発明に係る情報管理装置は、上記した構成において、テストを構成する各操作手順において、操作条件の設定の入力を支援する設定画面を生成する画面生成手段と、上記画面生成手段により生成された設定画面を出力する設定画面出力手段と、上記設定画面出力手段によって出力された設定画面に対しテスターにより入力された操作条件を受け付け、記憶装置に記録する操作条件記録手段と、を備えるように構成されていてもよい。
【００３０】
上記した構成によると、画面生成手段および設定画面出力手段を備えているため、各操作手順における操作条件のテスターによる入力を支援することができる。
【００３１】
また、操作条件記録手段を備えているため、入力された操作条件を記憶装置に記録しておくことができる。このため、テスターが実施したテストについてさらに細かい条件を設定することができる。
【００３２】
このため、より詳細なテストを実施しソフトウェアの不具合の発生を確認することができる。
【００３３】
本発明に係る情報管理装置は、上記した構成において、上記原因手順記録手段は、上記操作条件記録手段により記録された操作条件を、上記原因手順に対応付けて記録するように構成されていてもよい。
【００３４】
上記した構成によると、原因手順記録手段は、テスターによってテストを実施した際に設定した操作条件と、原因手順とを対応づけて記録しておくことができる。このため、上記原因手順だけではなく、該手順を実施する際の操作条件まであわせて管理しておくことができる。したがって、本発明に係る情報管理装置は、より詳細に原因手順を管理することができる。
【００３５】
本発明に係る情報管理装置の制御方法は、上記した課題を解決するために、ソフトウェアを実装した装置において所定の操作手順にしたがってソフトウェアの挙動の適否に関するテストを行い、そのテスト結果を管理する情報管理装置の制御方法であって、上記情報管理装置は、装置に実装したソフトウェアの不具合を検査するために該装置において実行するテストと、該テストを行うための操作手順との対応関係を示すテスト手順情報を記憶する記憶装置を備え、上記テストの実行により不具合が生じたソフトウェアに関して、該ソフトウェアの挙動の不具合を引き起こした原因となる原因手順を示す情報である原因手順情報の入力を受け付ける情報受付ステップと、上記情報受付けステップにおいて受け付けた上記原因手順情報により示される原因手順を含む他のテストである関連テストを、上記記憶装置に記憶されたテスト手順情報から抽出する抽出ステップと、上記抽出ステップにより抽出した関連テストを示す関連テスト情報を出力するテスト出力ステップとを含むことを特徴とする。
【００３６】
上記した方法によると、記憶装置がテスト手順情報を記憶しているため、装置に実装したソフトウェアの挙動の適否を確認するために行うテストと、そのテスト手順とを把握することができる。
【００３７】
また、情報受付ステップを含むため、不具合が生じたテストに関して、ソフトウェアの挙動の不具合を引き起こした原因となる原因手順を示す情報である原因手順情報を取得することができる。また、抽出ステップおよびテスト出力ステップを含むため、この原因手順情報により示される原因手順を含む他のテストである関連テストをテスト手順情報から抽出し、抽出した関連テストを示す関連テスト情報を出力することができる。
【００３８】
このため、テストケースごとにカバレッジ情報を記憶する必要なく、不具合を引き起こす原因手順を含む他のテストケースに関する情報を提示することができる。したがって、記憶すべきデータ量を低減させつつ、再試験が必要となるテストを効率よく特定することができるという効果を奏する。
【００３９】
なお、上記情報管理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記情報管理装置をコンピュータにて実現させる情報管理装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００４０】
本発明に係る情報管理装置は、以上のように、ソフトウェアを実装した装置において所定の操作手順にしたがってソフトウェアの挙動の適否に関するテストを行い、そのテスト結果を管理する情報管理装置であって、装置に実装したソフトウェアの不具合を検査するために該装置において実行するテストと、該テストを行うための操作手順との対応関係を示すテスト手順情報を記憶する記憶装置と、上記テストの実行により不具合が生じたソフトウェアに関して、該ソフトウェアの挙動の不具合を引き起こした原因となる原因手順を示す情報である原因手順情報を受け付ける情報受付手段と、上記情報受付手段によって受け付けた上記原因手順情報により示される原因手順を含む他のテストである関連テストを、上記記憶装置に記憶されたテスト手順情報から抽出する抽出手段と、上記抽出手段により抽出した関連テストを示す関連テスト情報を出力するテスト出力手段とを備えることを特徴とする。
【００４１】
このため、テストケースごとにカバレッジ情報を記憶する必要なく、不具合を引き起こす原因手順を含む他のテストケースに関する情報を提示することができる。したがって、記憶すべきデータ量を低減させつつ、再試験が必要となるテストを効率よく特定することができるという効果を奏する。
【００４２】
本発明に係る情報管理装置の制御方法は、上記した課題を解決するために、ソフトウェアを実装した装置において所定の操作手順にしたがってソフトウェアの挙動の適否に関するテストを行い、そのテスト結果を管理する情報管理装置の制御方法であって、上記情報管理装置は、装置に実装したソフトウェアの不具合を検査するために該装置において実行するテストと、該テストを行うための操作手順との対応関係を示すテスト手順情報を記憶する記憶装置を備え、上記テストの実行により不具合が生じたソフトウェアに関して、該ソフトウェアの挙動の不具合を引き起こした原因となる原因手順を示す情報である原因手順情報の入力を受け付ける情報受付ステップと、上記情報受付けステップにおいて受け付けた上記原因手順情報により示される原因手順を含む他のテストである関連テストを、上記記憶装置に記憶されたテスト手順情報から抽出する抽出ステップと、上記抽出ステップにより抽出した関連テストを示す関連テスト情報を出力するテスト出力ステップとを含むことを特徴とする。
【００４３】
このため、テストケースごとにカバレッジ情報を記憶する必要なく、不具合を引き起こす原因手順を含む他のテストケースに関する情報を提示することができる。したがって、記憶すべきデータ量を低減させつつ、再試験が必要となるテストを効率よく特定することができるという効果を奏する。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態を示すものであり、ソフトウェアテストシステムの要部構成を示すブロック図である。
【図２】本発明の実施形態を示すものであり、テスト内容情報の一例を示す図である。
【図３】本発明の実施形態を示すものであり、テスト手順情報の一例を示す図である。
【図４】本発明の実施形態を示すものであり、不具合内容情報の一例を示す図である。
【図５】本発明の実施形態を示すものであり、不具合原因情報の一例を示す図である。
【図６】本発明の実施形態を示すものであり、手順情報の一例を示す図である。
【図７】本発明の実施形態を示すものであり、手順式ルールの一例を示す図である。
【図８】本発明の実施形態を示すものであり、不具合原因手順式の一例を示すものである。
【図９】本発明の実施形態を示すものでありテスター用端末における操作条件の入力画面の一例を示す図である。
【図１０】本発明の実施形態を示すものであり、テスト状態情報の一例を示すものである。
【図１１】本発明の実施形態を示すものであり、優先度設定ルールの一例を示す図である。
【図１２】本発明の実施形態を示すものであり、テスターの作業フローを説明するフローチャートである。
【図１３】本発明の実施形態を示すものであり、ソフトウェア開発者の作業フローを説明するフローチャートである。
【図１４】本発明の実施形態を示すものであり、テスター用端末から入力されたテスト結果に応じたテスト状態情報の更新処理を示すフローチャートである。
【図１５】本発明の実施形態を示すものであり、テスト実施状態として取り得る状態の遷移を示す図である。
【図１６】本発明の実施形態を示すものであり、ソフトウェア開発者用端末から入力された不具合の修正完了通知に応じたテスト状態情報の更新処理を示すフローチャートである。
【図１７】本発明の実施形態を示すものであり、テストの実施状態を示す図である。
【図１８】本発明の実施形態を示すものであり、テストの実施状態に応じた、テスター端末の表示例を示す図である。
【図１９】本発明の実施形態を示すものであり、テストの実施状態に応じた、開発者端末における表示例を示す図である。
【図２０】本発明の実施形態を示すものであり、テストの実施状態を示す図である。
【図２１】本発明の実施形態を示すものであり、テストの実施状態に応じた、テスター用端末の表示例を示す図である。
【図２２】本発明の実施形態を示すものであり、テストの実施状態に応じた、開発者端末における表示例を示す図である。
【図２３】本発明の実施形態を示すものであり、テストの実施状態を示す図である。
【図２４】本発明の実施形態を示すものであり、テストの実施状態に応じた、テスター用端末の表示例を示す図である。
【図２５】本発明の実施形態を示すものであり、テストの実施状態に応じた、開発者端末における表示例を示す図である。
【図２６】本発明の実施形態を示すものであり、テストの実施状態を示す図である。
【図２７】本発明の実施形態を示すものであり、テストの実施状態に応じた、テスター用端末の表示例を示す図である。
【図２８】本発明の実施形態を示すものであり、テストの実施状態に応じた、開発者端末における表示例を示す図である。
【図２９】本発明の実施形態を示すものであり、携帯型通信装置にて表示されるメニュー構成の一例を示す図である。
【図３０】本発明の実施形態を示すものであり、メニュー構成のツリー構造の一例を示す図である。
【図３１】本発明の実施形態を示すものであり、携帯型通信装置において表示する各画面の画面ＩＤと画面名称との対応関係を示すテーブルである。
【図３２】本発明の実施形態を示すものであり、図３１に示す各画面を構成する要素の定義情報の一例を示している。
【図３３】本発明の実施形態を示すものであり、新規メール作成用画面の一例を示す図である。
【図３４】本発明の実施形態を示すものであり、新規メール画面の定義をＸＭＬで記述した一例を示す図である。
【発明を実施するための形態】
【００４５】
本発明のソフトウェアテストシステム１００に関する実施の一形態について図１〜図３４に基づいて説明すれば以下のとおりである。図１は本発明の実施形態を示すものであり、ソフトウェアテストシステム１００の要部構成を示すブロック図である。
【００４６】
本実施の形態に係るソフトウェアテストシステム１００は、ソフトウェアの開発段階においてソフトウェアの挙動の適正をテストするためのものである。なお、本実施の形態に係るソフトウェアテストシステム１００では、基地局を介して他の通信装置との間で通信を確立し、通話を行ったり、メールの送受信を行ったりすることができる携帯型通信装置に実装するソフトウェアの適正についてテストを行うものとして説明する。ただし、ソフトウェアを実装する対象（装置）はこの携帯型通信装置に限定されるものではなく、実装したソフトウェアを実行することで特定の機能を実現できるものであればよい。
【００４７】
図１に示すようにソフトウェアテストシステム１００は、テスト情報管理装置（情報管理装置）１、テスター用端末２、および開発者用端末３を備えてなる構成である。なお、図１ではソフトウェアテストシステム１００は、テスター用端末２および開発者用端末３をそれぞれ１台ずつ備える構成であるが、テスター用端末２および開発者用端末３それぞれを複数台備えてもよい。ソフトウェア開発に従事するソフトウェア開発者の人数、テスターの人数に応じて適宜、設定台数が決められる。
【００４８】
テスター用端末２は、テスターがシステムの挙動（システムに実装されたソフトウェアの挙動）を確認するために利用する端末である。具体的にはテスターは、テスター用端末２を操作してテスト情報管理装置１からテストの概要およびテストを実行することによって起こる結果（期待値）を示すテスト内容情報１３１、ならびに、テストの操作手順を示すテスト手順情報１３２を含むテスト情報３１を取得する。
【００４９】
また、テスター用端末２は、テスト情報３１を参照してテストを実行した実際の結果をテスト情報管理装置１に送信したり、テストを実施する際に各操作手順で設定した操作条件がある場合、該操作条件をテスト情報管理装置１に送信したりする。なお、この操作条件とは、テスターがテストケースのテストを実施する際に設定した条件を示す情報であって、その詳細については後述する。
【００５０】
開発者用端末３は、ソフトウェア開発者がテスターのテスト結果を参照し、不具合が生じたソフトウェアを修復する際に利用する端末である。具体的には、ソフトウェア開発者は、この開発者用端末３を操作して、テスト情報管理装置１から、テストの実行により生じた不具合の原因に関する不具合情報３３をテスト情報管理装置１に送信する。また、開発者用端末３は、ソフトウェアの修正完了を示す情報（修正完了通知）をテスト情報管理装置１に送信したり、不具合が生じているテストケースを示すリストをテスト情報管理装置１から取得したりすることができるようにも構成されている。このため、ソフトウェア開発者は、開発者用端末３を介して、次に不具合を修正すべきテストケースを容易に把握することができる。
【００５１】
テスト情報管理装置１は、ソフトウェアテストシステム１００によりテストが行われたテスト結果や、不具合が生じているテストケースの修正状況を管理するものである。より具体的には、テスト情報管理装置１は、図１に示すように、入出力制御部（設定画面出力手段）１１、管理主制御部１２、および記憶装置１３を備えてなる構成である。
【００５２】
入出力制御部１１は、テスト情報管理装置１とテスター用端末２、あるいはテスト情報管理装置１と開発者用端末３との間において通信を確立させ、情報の入出力を制御するものである。
【００５３】
記憶装置１３は読み書き可能な記憶装置であり、例えばハードディスクやフラッシュメモリ等によって実現できる。記憶装置１３は、図１に示すように、テスト情報３１、不具合情報３３、テスト状態情報３４、およびユーザインターフェース情報３５を記憶している。ここで、記憶装置１３が記憶する各種情報について具体的に説明する。
【００５４】
テスト情報３１は、テスターがソフトウェアを実装した装置に対して行うテストケースに関する情報であり、上述したようにテスト内容情報１３１およびテスト手順情報１３２を含む。
【００５５】
テスト内容情報１３１は、各テストケースの概要と、テストを実行することによって起こる期待した結果（期待値）とを示す情報である。具体的には、図２に示すように、各テストケースについてテストケースを識別するためのテストＩＤ、テストケースの分類を示すテスト分類、テストケースによって行われるテストの概要を示すテスト概要、およびテスト結果として期待される結果情報それぞれの対応関係を示すテーブルである。図２は、本発明の実施形態を示すものであり、テスト内容情報１３１の一例を示す図である。
【００５６】
テスト手順情報１３２は、各テストケースにおけるテストの操作手順（テスト手順）を示すものであり、具体的には、図３に示すように、各テストケースについて、テスト手順を識別するための手順ＩＤ、テストケースを識別するためのテストＩＤ、一手順での具体的な操作を示す操作内容、この操作内容を識別する操作内容ＩＤ、各テスト手順における入力、およびその入力に対する出力それぞれの対応関係を示すテーブルである。図３は、本発明の実施形態を示すものであり、テスト手順情報１３２の一例を示す図である。
【００５７】
不具合情報３３は、ソフトウェア開発者がソフトウェアの不具合を調査した結果を示すものであり、上述のように不具合原因記述情報１３３、不具合原因手順式１３４、不具合内容情報１３５を含む。なお、不具合情報３３（不具合原因記述情報１３３、不具合原因手順式１３４または不具合内容情報１３５）により本発明の原因手順情報を実現する。
【００５８】
不具合内容情報１３５は、ソフトウェア開発者によって確認された、テストの実行により不具合が生じるテストケースのリスト情報である。具体的には、図４に示すように不具合内容を識別する不具合ＩＤ、行ったテストケースを識別するためのテストＩＤ、および不具合内容の対応関係を示す。ソフトウェア開発者は、不具合内容情報１３５を開発者用端末３に入力すると、この開発者用端末３からテスト情報管理装置１が不具合内容情報１３５を受け付けて記憶装置１３に記憶する。図４は本発明の実施形態を示すものであり、不具合内容情報１３５の一例を示す図である。
【００５９】
不具合原因記述情報１３３は、ソフトウェア開発者によって確認された、テストの実行により生じた不具合の原因に関する情報であり、後述する不具合原因手順式１３４を記述するために利用される。なお、ここで、不具合の原因とは、不具合を引き起こす要因そのものというよりは、不具合が引き起こされるテスト手順等、不具合発生のトリガとなっている現象に関する情報である。不具合原因記述情報１３３は、図５に示す不具合原因情報２３１と、図６に示す手順情報２３２と、図７に示す手順式ルール（演算子）２３３とを含む。そして、ソフトウェア開発者は、図５に示す不具合原因情報２３１の内容を、手順情報２３２と手順式ルール２３３とを参照して例えば、図８に示すような不具合原因手順式１３４で表現する。図５は、本発明の実施形態を示すものであり、不具合原因情報２３１の一例を示す図である。図６は、本発明の実施形態を示すものであり、手順情報２３２の一例を示す図である。また、図７は、本発明の実施形態を示すものであり、手順式ルール２３３の一例を示す図である。
【００６０】
具体的には、不具合原因情報２３１は、図５に示すように、不具合の原因とそれを識別する不具合ＩＤとの対応関係を示すテーブルとして記録されている。
【００６１】
手順情報２３２は、各テストケースを構成する一操作ごとの手順に関する情報であり、図６に示すように、手順ごとに、手順を識別する手順ＩＤ、不具合を識別する不具合ＩＤ、その手順で行う操作内容、この操作内容を識別する操作内容ＩＤ、およびこの手順で行う操作の操作条件それぞれの対応関係を示すテーブル情報である。
【００６２】
なお、図６で示す操作条件とは、テスターがテストケースのテストを実施する際に設定した条件を示す情報である。図６において操作条件として記録されている「＜＞null」は「ヌル以外の何かを入力する」という操作条件を意味している。また、操作内容における「タイトル」とは、送信メールのタイトルの入力指示を、「アドレス」はアドレスの入力指示を、「送信」はメールの送信指示を意味している。
【００６３】
ここで操作条件についてより具体的に説明する。例えば、テストケースでアドレス帳の所定欄（年齢フィールド）に年齢を入力する操作があり、この操作時に負の値を入力するとエラーが発生するという不具合が発生するとする。この場合、アドレス帳への入力操作という操作ではあるが、この操作に限らず、年齢を入力するフィールドに不具合がある場合もある。この場合、年齢フィールドに負の値を入力するという手順を含むすべてのテストケースで同様な不具合を含んでしまう。本実施形態では、アドレスの入力操作といった操作手順だけではなく、このように操作手順を条件によりより細分化して分類することができるように構成されている。
【００６４】
なお、上記した年齢フィールドの値等、操作条件の入力は、図９に示すような入力画面を利用して行われる。図９は、本発明の実施形態を示すものでありテスター用端末２における操作条件の入力画面の一例を示す図である。
【００６５】
この入力画面は、テスターがテストケースを実施する際にテスター用端末２において出力されるように構成されている。すなわち、テスト情報管理装置１は、記憶装置１３に記憶されているユーザインターフェース情報３５を管理主制御部１２が読み出し、後述する画面生成部２８が図９に示すような入力画面を生成する。そして入出力制御部１１を介してテスター用端末２に出力される。このユーザインターフェース情報３５は、上記した操作条件の入力を受け付けるための画面等、ユーザが情報を入力するための方式を定めた情報である。
【００６６】
テスター用端末２では、テスト情報管理装置１から受信した入力画面に基づき表示を行い、テスターからの入力を受け付ける。そして、テスター用端末２は受け付けた入力（操作条件）を、テスト情報管理装置１に送信する。
【００６７】
テスト情報管理装置１では、入出力制御部１１を介して管理主制御部１２が操作条件をテスター用端末２から受信する。管理主制御部１２は、受信した操作条件をテスト状態情報３４に含めて記録する。
【００６８】
本実施の形態に係るソフトウェアテストシステム１００では、ソフトウェア開発者によって簡便に図５に示す不具合原因情報２３１を不具合原因手順式１３４で記載できるように図７に示す手順式ルール２３３が規定されている。そして、ソフトウェア開発者は、手順式ルール２３３を参照して不具合原因情報２３１を不具合原因手順式１３４として記録する。つまり、不具合原因手順式１３４は、不具合が発生するテスト手順を式で表したものである。
【００６９】
なお、図７に示す手順式ルール２３３を利用して記述した図８に示す不具合原因手順式１３４では、手順式はＺ０００１、Ｚ０００２、Ｚ０００３の手順となり各手順は連続して行われる必要がなくそれぞれの間でなんらかの任意の手順が行われてもよい（％）ことが示されている。また、この手順式は識別ＩＤ（原因手順式ＩＤ）と不具合ＩＤとが対応付けられ記録される。図７および図８は本発明の実施形態を示すものであり、前者は手順式ルール２３３の一例を、後者は、不具合原因手順式１３４の一例を示すものである。
【００７０】
テスト状態情報３４は、テスト実施状態（実施状態情報）を示すテーブルである。このテスト実施状態には、各テストケースについてのテストが実施済みか否かを示す実施情報、その実施により不具合が生じたか否かを示す不具合発生情報、ならびに不具合が生じたソフトウェアの修正が完了済みか否かを示す修正完了情報が含まれる。より具体的には、図１０に示すように、テスト実施状態と、そのテストケースに対しテストする優先度（テスター優先度）と、修正する優先度（ソフトウェア開発者優先度）との対応関係を示すテーブルである。図１０は、本発明の実施形態を示すものであり、テスト状態情報３４の一例を示すものである。なお、本実施の形態に係るソフトウェアテストシステム１００では、テスター優先度およびソフトウェア開発者優先度を図１１に示すルールに基づいて設定している。図１１は、本発明の実施形態を示すものであり、優先度設定ルールの一例を示す図である。
【００７１】
本実施の形態に係る優先度設定ルールでは、テスト実施状態として、「未実施」、「ＯＫ」、「再テスト未実施」、「エラー」、「ＯＫ（関連修正）」、「エラー（関連修正）」が設定されている。
【００７２】
「未実施」とは、未だかつてテストが実施されたことがない状態を示す。つまり、テストケースのテストが未実施の状態である。
【００７３】
「ＯＫ」とは、テストを実施した結果、不具合が発生しなかった状態を示す。つまり、テストケースのテスト結果がＯＫの状態である。
【００７４】
「再テスト未実施」とは、テストを実施した結果、不具合が生じ修正を行ったが、修正後のテストケースのテストが未実施の状態である。
【００７５】
「エラー」とは、テストケースのテスト結果に不具合が発生した状態である。
【００７６】
「ＯＫ（関連修正）」とは、テストケースのテスト結果に不具合が発生せずＯＫの状態であるが、このテストケースと同様のテスト手順を含む関連テストケースにおいてプログラムの修正があった状態を意味する。
【００７７】
「エラー（関連修正）」とは、テストケースのテスト結果に不具合が発生した状態であり、このテストケースと同様のテスト手順を含む関連テストケースにおいてプログラムの修正があった状態を意味する。
【００７８】
これらテスト実施状態の関係について図１５に示す状態遷移図でより詳細に説明する。図１５は、本発明の実施形態を示すものであり、テスト実施状態として取り得る状態の遷移関係を示す図である。
【００７９】
つまり、あるテストケースについて「未実施」の状態からテストを実施すると、その実施結果に応じて「ＯＫ」か「エラー」いずれかの状態に遷移する。
【００８０】
実施状態が「ＯＫ」の場合は、このテストケースについて再テストを実施する必要はない。しかしながら、このテストケースのテスト結果が「ＯＫ」の状態であっても、該テストケースと同様のテスト手順を含む関連テストケースにおいて、この同様のテスト手順についてプログラムの修正が行われる場合がある。このような場合、テストの実施状態は、「ＯＫ（関連修正）」に遷移する。「ＯＫ（関連修正）」では、関連テストケースにおけるプログラムの修正に伴い、テストの実施結果が既にＯＫが出ているテストケースでもテスト結果に変動が生じる可能性がある。そこで、テストの実施状態が「ＯＫ（関連修正）」に遷移すると、このテストケースについて再テストする必要が出てくる。その再テストの結果、不具合が生じると、「エラー」の状態に遷移する。
【００８１】
実施状態が「エラー」の場合は、このテストケースについて修正を行い、再テストを実施する必要がある。また、実施状態が「エラー」の場合であっても、このテストケースの関連テストケースにおいてプログラムの修正が行われる場合が想定できる。この場合、実施状態は「エラー（関連修正）」に遷移する。テストの実施状態が「エラー（関連修正）」に遷移すると、テストケースにおいて不具合を引き起こしていた手順が修正され、エラーが解消される可能性がある。そこで、エラーが解消されているか確認するために、再テストする必要が出てくる。この再テストの結果、不具合が解消されると、「ＯＫ」の状態に遷移する。
【００８２】
ところで、本実施の形態に係るテスト情報管理装置１では、以下のように優先度設定ルールを規定する。この優先度設定ルールでは、上記したテスト実施状態に応じて、テスターがテストする優先順位を示すテスター優先度、ソフトウェア開発者が修正する優先順位を示すソフトウェア開発者優先度が設定されている。
【００８３】
つまり、本実施形態では、テスト実施状態が「未実施」の場合は、テスター優先度の値として１０を、ソフトウェア開発者優先度の値として０が設定される。「ＯＫ］の場合は、テスター優先度の値として０が、ソフトウェア開発者優先度の値として０が設定される。「再テスト未実施」の場合、テスター優先度の値として９が、ソフトウェア開発者優先度の値として０が設定される。「エラー」の場合は、テスター優先度の値として０が、ソフトウェア開発者優先度の値として１０が設定される。「ＯＫ（関連修正）」の場合は、テスター優先度の値、ソフトウェア開発者優先度の値がともに８が設定される。「エラー（関連修正）」の場合は、テスター優先度の値として７が、ソフトウェア開発者の値として９がそれぞれ設定される。
【００８４】
なお、これらテスト実施状態と、該テスト実施状態に応じて決定されるテスター優先度、ソフトウェア開発者優先度とは、後述するテスト状態遷移記録部２４によって設定される。
【００８５】
次に、本実施の形態に係るテスト情報管理装置１におけるテスト実施状態の管理処理に係るソフトウェア構成について、再度、図１を参照して説明する。
【００８６】
（テスト実施状態の管理処理に係るソフトウェア構成）
テスト情報管理装置１では、図１に示すように、管理主制御部１２が機能ブロックとして、テスト情報提供部２１、テスト結果取得部２３、テスト状態遷移記録部２４、関連手順抽出部２５、不具合テスト取得部２６、不具合情報記録部２７、および画面生成部２８を備えてなる構成である。
【００８７】
ここで、管理主制御部１２が例えばＣＰＵによって実現できる場合、これら各部は、ＣＰＵが、例えば不図示のＲＯＭに記録されたプログラムを、例えばＲＡＭ等に読み出し実行することで実現できる。なお、入出力制御部１１と不具合情報記録部２７によって本発明の情報受付手段を実現する。また、入出力制御部１１とテスト結果取得部２３とテスト状態遷移記録部２４とによって操作条件記録手段を実現する。また、入出力制御部１１とテスト情報提供部２１、あるいは入出力制御部１１と不具合テスト取得部２６によってテスト出力手段を実現する。
【００８８】
テスト情報提供部２１は、テスター用端末２あるいは開発者用端末３からの要求に応じて、記憶装置１３からテスト情報３１を読み出し、入出力制御部１１を介してテスター用端末２あるいは開発者用端末３に送信するものである。
【００８９】
テスト結果取得部２３は、テストの実行結果に関する情報を、テスター用端末２から入出力制御部１１を介して受信するものである。テスト結果取得部２３は、テストの実行結果に関する情報を受信すると、この情報をテスト状態遷移記録部２４に送信する。
【００９０】
テスト状態遷移記録部２４（実施状態情報記録手段・テスト優先順位設定手段・修正優先順位設定手段・操作条件記録手段）は、テスト結果取得部２３からの通知に応じて、テストケースのテスト状態情報３４の設定を更新するものである。つまり、テスト状態遷移記録部２４は、実施したテストケースについてテスト実施状態と、該テスト実施状態に応じて決定されるテスター優先度、ソフトウェア開発者優先度との設定を更新する。
【００９１】
また、テスト状態遷移記録部２４は、関連手順抽出部２５に対してテストケースの不具合原因手順式１３４と同様のテスト手順を含む他のテストケース、つまり関連テストケースの抽出を指示するものでもある。そして、この指示に応じて抽出された関連テストケースに関する情報を関連手順抽出部２５から受信すると、テスト状態遷移記録部２４は、関連テストケースそれぞれについてのテスト状態情報３４の設定も更新する。つまり、関連テストケースについてテスト実施状態と、該テスト実施状態に応じて決定されるテスター優先度、ソフトウェア開発者優先度との設定を更新する。
【００９２】
なお、テストケースおよび関連テストケースについての、テスト状態情報３４の設定の更新処理に関する詳細は後述する。
【００９３】
関連手順抽出部（抽出手段）２５は、テスト状態遷移記録部２４からの指示に応じて、テストケースの不具合原因手順式１３４と同様のテスト手順を含む関連テストケースの抽出を行うものである。関連手順抽出部２５は、抽出した関連テストケースに関する情報（関連テストケースのテストＩＤ）をテスト状態遷移記録部２４に送信する。
【００９４】
不具合テスト取得部２６は、開発者用端末３からの要求に応じて、テスト状態情報３４を参照して、優先度順に配置された修正すべきテストケース（テストＩＤ）のリストを取得するものである。不具合テスト取得部２６は、テストＩＤのリストを取得すると、入出力制御部１１を通じて開発者用端末３に送信する。
【００９５】
不具合情報記録部（原因手順記録手段）２７は、開発者用端末３から送信された不具合内容情報１３５、不具合原因記述情報１３３および不具合原因手順式１３４、ならびに修正完了通知を、入出力制御部１１を通じて受信するものである。不具合情報記録部２７は、受信した不具合内容情報１３５、不具合原因記述情報１３３および不具合原因手順式１３４を記憶装置１３に記録するとともに、修正完了通知をテスト状態遷移記録部２４に通知する。
【００９６】
画面生成部（画面生成手段）２８は、ユーザインターフェース情報３５に基づく表示画面を生成し、入出力制御部１１を介してテスター用端末２または開発者用端末３に出力するものである。
【００９７】
（テスターの作業フロー）
上述したソフトウェアテストシステム１００におけるテスターの作業フローについて図１２を参照して説明する。図１２は、本発明の実施形態を示すものであり、テスターの作業フローを説明するフローチャートである。
【００９８】
まず、テスターは、テスター用端末２を操作して、テストを実施するテストケース候補の表示を行う（ステップＳ１１、これ以降ではＳ１１のように称する）。すなわち、テスターは、テスター用端末２を操作して、テストを実施するテストケース候補の情報をテスト情報管理装置１に要求する。ここでテストケース候補とは、テスター優先度が０よりも大きくなるテスト実施状態のものである。詳細は後述するが、本実施形態では、テストを行うテストケースについて、テスター優先度が０より大きいものを、テスター優先度の値が大きい順に配置して表示するように構成されている。
【００９９】
テスト情報管理装置１は、この要求を、入出力制御部１１を介してテスト情報提供部２１が受信する。テスト情報提供部２１は、テスター用端末２から受信した上記要求に応じて、テスト状態情報３４を参照して実施するテストケース候補を特定する。そして、テスト情報提供部２１は、特定したテストケース候補に関する情報を、入出力制御部１１を通じてテスター用端末２に送信する。このテストケース候補に関する情報には、各テストケースのテストＩＤ、テスト実施状態、およびテスター優先度に関する情報が含まれる。
【０１００】
テスター用端末２は、テスト情報管理装置１から受信したテストケース候補に関する情報に基づき、テストを実施するテストケース候補の表示を行う。例えば、図１７に示すように、まだいずれのテストケースについてもテスターがテストを行っていない場合、テスター用端末２にて表示されるテストケース候補は、図１８に示すように全てのテストケースとなる。なお、本実施の形態に係るソフトウェアテストシステム１００では、テストケース候補を表示する場合、テストケース候補のテストＩＤは、図１８に示すように各テストケースのテストが未実施の状態にある等、テスト実施状態を示す情報と合わせて表示される。
【０１０１】
次に、テスターは実施するテストケースのテスト手順を表示する（Ｓ１２）。すなわち、テスターはテスター用端末２を操作して、ステップＳ１１にて表示されたテストケース候補の中からテストを行うテストケースを選択し、そのテスト手順を示すテスト手順情報１３２をテスト情報管理装置１に要求する。なお、実施するテストケースのテスト手順情報の要求は、所望するテスト手順情報１３２のテストＩＤを指定して行われる。テスト情報管理装置１は、この要求を、入出力制御部１１を介してテスト情報提供部２１が受信する。テスト情報提供部２１は、テスター用端末２から受信した上記要求に応じて記憶装置１３から実施するテストケースのテスト手順情報１３２を取得する。そして、テスト情報提供部２１は、取得したテスト手順情報１３２を、入出力制御部１１を通じてテスター用端末２に送信する。
【０１０２】
テスター用端末２は、テスト情報管理装置１から受信したテスト手順情報１３２に基づき、実施するテストケースのテスト手順を表示する。例えば、図３に示すように、テストＩＤがＴ０００１のテスト手順では、Ｐ０００１、Ｐ０００２、Ｐ０００３、Ｐ０００４、Ｐ０００５、Ｐ０００６の順にテスト手順が示される。
【０１０３】
上述のように実施するテストケース候補を表示させ、次に、その候補の中から選択したテストケースのテスト手順を表示すると、テスターは、このテスト手順に従って所望のテストを実行する（Ｓ１３）。
【０１０４】
ステップＳ１３においてテストを実行すると、テスターはその実行結果を、テスター用端末２を操作して入力する（Ｓ１４）。ここで、テスターにより入力される情報は、テストの実行によって不具合が生じたか否か実行結果に関する情報である。テスターが入力した実行結果に関する情報は、テスト情報管理装置１において入出力制御部１１を通じてテスト結果取得部２３が受信する。
【０１０５】
テスト結果取得部２３は、テストの実行結果に関する情報を受信するとテスト状態遷移記録部２４に通知する。テスト状態遷移記録部２４は、テスト結果取得部２３からの通知に応じて、テスト状態情報３４を更新する。なお、テスト状態情報３４の更新処理の詳細については後述する。
【０１０６】
（ソフトウェア開発者の作業フロー）
次に、図１３を参照してソフトウェアテストシステム１００におけるソフトウェア開発者の作業フローについて説明する。図１３は、本発明の実施形態を示すものであり、ソフトウェア開発者の作業フローを説明するフローチャートである。
【０１０７】
ソフトウェア開発者は開発者用端末３を操作して不具合が生じているテストケースのリストを表示する（Ｓ２１）。すなわち、ソフトウェア開発者は、開発者用端末３を操作して、不具合が生じているテストケースのリストをテスト情報管理装置１に要求する。なお、修正を行うテストケースについては、ソフトウェア開発者が修正をおこなう順番に優先度（ソフトウェア開発者優先度）が設定されている。
【０１０８】
そこで、テスト情報管理装置１では、開発者用端末３からの要求を受信すると、不具合テスト取得部２６が、該要求に応じてテスト状態情報３４を参照して、優先度順に配置された修正すべきテストケース（テストＩＤ）のリストを取得する。なお、特に図示しないが、このリストにはテスターによって入力された操作条件が対応付けられている。
【０１０９】
そして、不具合テスト取得部２６は、取得したテストＩＤのリストを対応する操作条件とともに、入出力制御部１１を通じて開発者用端末３に送信する。開発者用端末３は、受信したテストＩＤに基づき、修正を行うテストケースのリストを表示する。具体的には、例えば、後述する図２２や図２５に示すように、ソフトウェア開発者優先度が高い順に上位から配置されたテストＩＤリストを表示する。
【０１１０】
次に、ソフトウェア開発者は、修正すべきテストケースに関するテストＩＤリストからもっとも優先度が高いテストケースを選択する。そして、選択した、修正するテストケースのテスト手順を表示する（Ｓ２２）。すなわち、ソフトウェア開発者は開発者用端末３を操作して、修正するテストケースのテスト手順を示すテスト手順情報１３２をテスト情報管理装置１に要求する。なお、修正するテストケースのテスト手順情報１３２の要求は、選択した、修正するテストケースのテストＩＤを指定して行われる。テスト情報管理装置１は、この要求を、入出力制御部１１を介してテスト情報提供部２１が受信する。テスト情報提供部２１は、開発者用端末３から受信した上記要求に応じて記憶装置１３から修正するテストケースのテスト手順情報１３２を取得する。そして、テスト情報提供部２１は、取得したテスト手順情報１３２を、入出力制御部１１を通じて開発者用端末３に送信する。そして、開発者用端末３は、テスト情報管理装置１から受信したテスト手順情報１３２に基づき、修正するテストケースのテスト手順を表示する。なお、テスト手順を表示する場合、このテストケースに対応する操作条件がある場合、この操作条件も合わせて表示する。
【０１１１】
上述のように修正するテストケースのリストを表示し、次に該リストから選択したテストケースのテスト手順を表示すると、ソフトウェア開発者は、このテスト手順において、不具合が生じる原因となるテスト手順(原因手順）を確認する。そして、不具合の修正を行う（Ｓ２３）。
【０１１２】
ステップＳ２３において不具合を修正すると、ソフトウェア開発者は、テストケースごとに不具合の内容を登録する不具合内容情報１３５を作成（更新）する（Ｓ２４）。また、不具合の原因となっていた原因手順を特定する。そして、特定した原因手順に関して、不具合原因情報２３１、手順情報２３２を作成する。そして、これら新たに作成した不具合原因情報２３１、手順情報２３２を含む不具合原因記述情報１３３を作成する（Ｓ２５）。なお、修正するテストケースに対応する設定条件がある場合、この操作条件は、図６に示すように手順情報２３２に含められる。
【０１１３】
また、ソフトウェア開発者は、不具合原因記述情報１３３を参照して、不具合の原因となっていたテスト手順を示す原因手順を一般化した不具合原因手順式１３４を作成する（Ｓ２６）。ソフトウェア開発者は、不具合内容情報１３５、不具合原因記述情報１３３および不具合原因手順式１３４を作成すると、開発者用端末３を操作してテスト情報管理装置１に送信する（Ｓ２７）。なお、このときテストケースの修正が完了した旨を示す情報（修正完了通知）も合わせてテスト情報管理装置１に送信する。
【０１１４】
テスト情報管理装置１は、開発者用端末３から送信された不具合内容情報１３５、不具合原因記述情報１３３および不具合原因手順式１３４、ならびに修正完了通知を、入出力制御部１１を通じて不具合情報記録部２７が受信する。そして、不具合情報記録部２７は、不具合内容情報１３５、不具合原因記述情報１３３および不具合原因手順式１３４を記憶装置１３に記録するとともに、修正完了通知をテスト状態遷移記録部２４に通知する。テスト状態遷移記録部２４は、不具合情報記録部２７からの通知に応じて、テスト状態情報３４を更新する。
【０１１５】
（テスト状態情報の更新処理）
次に、本実施の形態に係るテスト情報管理装置１におけるテスト状態情報３４の更新処理についての詳細を説明する。
【０１１６】
（テスト結果に応じたテスト状態情報の更新処理）
まず、テスター用端末２から入力されたテスト結果に応じたテスト状態情報３４の更新処理について図１および図１４を参照して説明する。図１４は、本発明の実施形態を示すものであり、テスター用端末２から入力されたテスト結果に応じたテスト状態情報３４の更新処理を示すフローチャートである。
【０１１７】
テスターにより入力されたテスト結果を示すテスト結果情報をテスター用端末２からテスト情報管理装置１が受け付ける（Ｓ３１）。なお、テスト結果情報には、実施したテストケースを識別するテストＩＤも含まれている。
【０１１８】
テスト情報管理装置１は、受け付けたテスト結果情報を、入出力制御部１１を通じてテスト結果取得部２３が取得し、テスト状態遷移記録部２４に送信する。テスト状態遷移記録部２４は、テスト結果取得部２３から受信したテスト結果情報に基づき、テスターにより入力されたテスト結果がエラーであるか（不具合を示すものであるか）、ＯＫ（不具合が生じていないものであるか）判定する（Ｓ３２）。
【０１１９】
ここでテスト結果がエラーである場合（Ｓ３２において「エラー」）、テスト状態遷移記録部２４は、テスト状態情報３４におけるテスト実施状態を「エラー」に設定する（Ｓ３３）。
【０１２０】
一方、ステップＳ３２において「ＯＫ」の場合、テスト状態遷移記録部２４は、テスト状態情報３４におけるテスト実施状態を「ＯＫ」に設定する（Ｓ３４）。
【０１２１】
ところで、本実施の形態に係るテスト情報管理装置１では、テストを実施しているテストケースの関連テストケースのテスト実施状態に応じて、テスターが再テストする優先度、ソフトウェア開発者が修正する優先度を決定するように構成されている。
【０１２２】
また、実施したテストケースの関連テストケースそれぞれについてのテスト実施状態に応じて、ステップＳ３３またはＳ３４で設定したテスト実施状態は「ＯＫ（関連修正）」または「エラー（関連修正）」と変更される場合がある。なお、この設定の変更は、後述する「修正完了通知に応じたテスト状態情報の更新処理」において、設定される。
【０１２３】
以上のようにして、テストを実施したテストケースについてのテスト実施状態の設定を行う。また、このテスト実施状態の設定の更新に伴って、テスト状態遷移記録部２４は、テスター優先度およびソフトウェア開発者優先度それぞれの値についても変更させる。
【０１２４】
（修正完了通知に応じたテスト状態情報の更新処理）
次に、開発者用端末３から入力された不具合の修正完了通知に応じたテスト状態情報３４の更新処理について図１および図１６を参照して説明する。図１６は、本発明の実施形態を示すものであり、開発者用端末３から入力された不具合の修正完了通知に応じたテスト状態情報の更新処理を示すフローチャートである。
【０１２５】
まず、前提としてテスターによるテストで不具合があると指摘されたソフトウェアについて、ソフトウェア開発者が開発者用端末３を操作して修正したものとする。そして、ソフトウェア開発者は、不具合内容情報１３５、不具合原因記述情報１３３および不具合原因手順式１３４を作成すると、開発者用端末３に入力し、テスト情報管理装置１に登録するように指示する。この指示に応じて、開発者用端末３は、不具合内容情報１３５、不具合原因記述情報１３３および不具合原因手順式１３４をテスト情報管理装置１に送信する。なお、このときテストケースの修正が完了した旨を示す情報（修正完了通知）も合わせて送信する。
【０１２６】
テスト情報管理装置１は、開発者用端末３から送信された不具合内容情報１３５、不具合原因記述情報１３３および不具合原因手順式１３４、ならびに修正完了通知を、入出力制御部１１を通じて不具合情報記録部２７が受信する。そして、不具合情報記録部２７は、不具合内容情報１３５、不具合原因記述情報１３３および不具合原因手順式１３４を記憶装置１３に記録するとともに、修正完了通知をテスト状態遷移記録部２４に通知する。
【０１２７】
テスト状態遷移記録部２４は、不具合情報記録部２７からの修正完了通知に応じて、テスト状態情報３４を更新する。すなわち、テスト状態遷移記録部２４は、不具合情報記録部２７から修正完了通知を受信すると、テスト状態情報３４におけるテスト実施状態を、再テスト未実施に設定する（Ｓ５１）。また、テスト状態遷移記録部２４は、関連手順抽出部２５に対して、今回修正したテストケースの不具合原因手順式１３４と同様のテスト手順を有する関連テストケースの抽出を指示する。すなわち、テスト状態遷移記録部２４は、関連手順抽出部２５に対して、修正したテストケースに対応する不具合原因手順式１３４を記憶装置１３から取得するように指示する。
【０１２８】
関連手順抽出部２５は、テスト状態遷移記録部２４からの指示に応じて、修正したテストケースに対応する不具合原因手順式１３４を記憶装置１３から取得する（Ｓ５２）。
【０１２９】
次に、テスト状態遷移記録部２４は、関連手順抽出部２５に対して、取得した不具合原因手順式１３４をテスト手順に含む関連テストケースを抽出するように指示する。関連手順抽出部２５は、テスト状態遷移記録部２４からの指示に応じて、不具合原因手順式１３４をキーにして関連テストケースをテスト手順情報１３２から抽出する（Ｓ５３）。そして、関連手順抽出部２５は、抽出したテストケースの情報（テストＩＤ）をテスト状態遷移記録部２４に送信する。
【０１３０】
テスト状態遷移記録部２４は、関連手順抽出部２５から受信したテストＩＤで示される関連テストケースそれぞれについて、テスト状態情報３４を参照してテスト実施状態を調べる。そして、テスト状態遷移記録部２４は、関連テストケースそれぞれについて、テストの実施状態がエラーか、それともＯＫか区別する（Ｓ５４）。ステップＳ５４において「エラー」の場合、つまりテスト実施状態が「エラー」となる関連テストケースについては、そのテスト実施状態をエラー（関連修正）に設定する（Ｓ５５）。
【０１３１】
一方、関連テストケースのテスト実施状態が「ＯＫ」の場合（Ｓ５４において「ＯＫ」）、関連テストケースのテスト実施状態を「ＯＫ（関連修正）」に設定する。
【０１３２】
（テスター用端末、開発者用端末における表示例）
上記にてテスターの作業フローおよびソフトウェア開発者の作業フローについて説明した。以下において各作業フローを実施した場合のテスター用端末２、開発者用端末３それぞれでの表示状態とテストケースのテスト実施状態との関係を、図１７〜２８を例に挙げて説明する。図１７、２０、２３、および２６は、本発明の実施形態を示すものであり、テストの実施状態を示す図である。図１８、２１、２４、および２７は、本発明の実施形態を示すものであり、テストの実施状態に応じた、テスター用端末２の表示例を示す図である。図１９、２２、２５、および２８は、本発明の実施形態を示すものであり、テストの実施状態に応じた、開発者用端末３における表示例を示す図である。
【０１３３】
なお、ここでは、テスター用端末２に表示するテストケースの表示条件として、以下の条件を設定しているものとして説明する。すなわち、
１：テスター優先度の値が０より大きいもののみを表示する。
２：テスター優先度の値が大きい順にソートし上位から順に配置する。
【０１３４】
また、開発者用端末３に表示するテストケースの表示条件として、以下の条件を設定しているものとして説明する。すなわち、
３：開発者優先度の値が０より大きいもののみを表示する。
４：開発者優先度の値が大きい順にソートし上位から順に配置する。
【０１３５】
テスターによるテスト開始時点では、すべてのテストケースについてテストが実施されていないため、図１７に示すように全テストケースについて、テスト実施状態は未実施となる。そして図１８に示すように全テストケースについて、テスト実施状態（未実施）が表示される。一方、開発者用端末３では、全てのテストケースが「未実施」のとき、全テストケースの開発者優先度の値は０であるため、開発者に提示されるテストケースは図１９に示すように１件もない状態となる。
【０１３６】
図１８で示された表示状態を参照して、テスターが順次、各テストケースについてテストを実施していき、そのテスト結果が図２０に示すテスト実施状態となったとする。テスターが全てのテストケースについてテストを完了した直後のテスト実施状態が図２０のようになるとき、テスター用端末２にて表示するテストケースは図２１のように１件もない状態となる。つまり、テスト実施状態が「ＯＫ」、「エラー」の場合、テスター優先度は０となるためテスターに提示されるテストケースは１件もない状態となる。一方、テスト実施状態が「ＯＫ］の場合、ソフトウェア開発者優先度の値は０であり、「エラー」の場合、ソフトウェア開発優先度の値は１０となる。このため、開発者用端末３では、図２２に示すようにテスト実施状態が「エラー」となるテストケースの一覧が表示される。
【０１３７】
ここで、図２０に示すテスト実施状態において、ソフトウェア開発者がテストＩＤ「Ｔ０００２」のテストケースについて修正をおこなったとする。この場合、上述した「テスト状態情報の更新処理」によりテストＩＤ「Ｔ０００２」の不具合原因手順と同様の手順を含む関連テストとしてテストＩＤ「Ｔ０００４」を抽出したとする。この場合、修正後のテストケース（「Ｔ０００２」）のテストが未実施であり、関連テストケース（「Ｔ０００４」）のテスト結果にエラーが設定されている状態となる。この状態では、図２３に示すように「Ｔ０００２」には、「再テスト未実施」が設定され、「Ｔ０００４」には「エラー（関連修正）」が設定されることとなる。
【０１３８】
ここで、「再テスト未実施」は、テスター優先度の値が９であり、「エラー（関連修正）」はテスター優先度の値が７である。このため、この時点でのテスター用端末２における表示は、図２４に示すようにこれら２件のテストケースが、テスター優先度の値の高い順、すなわち、「Ｔ０００２」、「Ｔ０００４」の順に上位から表示される。
【０１３９】
一方、「再テスト未実施」は、ソフトウェア開発者優先度の値が０であり、「エラー（関連修正）」はソフトウェア開発者優先度の値が９である。このため、ソフトウェア開発者がテストＩＤ「Ｔ０００２」のテストケースについて修正を行うことにより、開発者用端末３における表示は、図２２に示す表示状態から図２５に示す表示状態に変更される。すなわち、ソフトウェア開発者優先度の値が０となった「Ｔ０００２」は表示されず、また、ソフトウェア開発者優先度の値が９に下がった「Ｔ０００４」は、テスト実施状態が「エラー」である「Ｔ０００６」、「Ｔ０００７」よりも後に配置され表示される。
【０１４０】
次に、テスターがテスター用端末２に表示されたリストを参照して、一番上位に来ている「Ｔ０００２」、すなわち、ソフトウェア開発者によって修正されたテストケースに関する再テストを行う。そして、この再テストの結果、不具合が解消されたものとする。この場合、「Ｔ０００２」のテスト実施状態の設定は「ＯＫ」に変更される。この変更に基づき「テスト状態情報の更新処理」を実施すると、「Ｔ０００２」の不具合原因手順式１３４と同様のテスト手順を含む関連テストについては、テスト実施状態が「ＯＫ（関連修正）」または「エラー（関連修正）」のいずれかに変更される。「Ｔ０００２」については、最初のテスト実施結果でエラーが発生していたため、テスト実施状態は「エラー（関連修正）に変更となる。したがって、「Ｔ０００２」の修正確認後、その確認結果がＯＫとなった場合のテストの実施状態は、図２６に示すようになる。
【０１４１】
ここで、テスト実施状態が「ＯＫ」、「エラー」では、テスター優先度の値は０となり、「エラー（関連修正）」では、テスター優先度の値が７となる。したがって、テスター用端末２における表示では、図２７に示すようにテストの実施状態が「エラー（関連修正）」である「Ｔ０００４」のテストケースのみが表示されることとなる。
【０１４２】
一方、ソフトウェア開発者優先度の値は、テスト実施状態が「ＯＫ」では０となり、「エラー」では１０、「エラー（関連修正）」では９となる。したがって、開発者用端末３における表示では、図２８に示すようにソフトウェア開発者優先度の値が高いテストケースの順に、「Ｔ０００６」、「Ｔ０００７」、「Ｔ０００４」と配置される。
【０１４３】
（携帯型通信装置の画面構成）
ところで、本実施の形態に係るソフトウェアを実装した携帯型通信装置における操作手段としては、通常、テンキー、メニューボタン等が設けられており、これらのキーを操作して様々な機能を効率的に実行できるようにメニュー画面が用意されている。そして、メニュー画面から適切な項目を選択することで所望の操作を行うことができるようになっている。
【０１４４】
携帯型通信装置におけるメニュー構成は、例えば、図２９、３０に示すように親メニュー（Ｍ０００１またはＭ０００５）に子メニュー（Ｍ０００２〜Ｍ０００４またはＭ０００６、Ｍ０００７）それぞれがぶら下がったツリー構成である。図２９は、本発明の実施形態を示すものであり、携帯型通信装置にて表示されるメニュー構成の一例を示す図である。図３０は、本発明の実施形態を示すものであり、メニュー構成のツリー構造の一例を示す図である。
【０１４５】
図２９に示すように各メニューＩＤと現在の表示画面から遷移した先の表示画面を規定する画面ＩＤとメニューの名称とが対応づけられ携帯型通信装置に記録されている。図２９に示す例では、例えば、「新規メール」メニューをユーザが選択した場合、画面Ｖ０００３に遷移することを意味している。なお、各表示画面についても図３１に示すように画面ＩＤと画面名称との対応関係を示すテーブル（画面テーブル）を携帯型通信装置に記録する。この画面テーブルでは画面名称のほかにも画面で共通のデフォルト色の情報等が対応づけられていてもよい。図３１は、本発明の実施形態を示すものであり、携帯型通信装置において表示する各画面の画面ＩＤと画面名称との対応関係を示すテーブルである。
【０１４６】
また、上述の各画面の構成は例えば図３２に示すテーブルで管理することができる。なお、図３２では、図３１に示す各画面を構成する要素の定義情報の一例を示している。つまり、図３２に示すように、本実施の形態に係る携帯型通信装置では、各画面は、コントロールと呼ばれる複数の画面構成要素から構成されており、それぞれのコントロールは、取り得る値の種別を持っている。図３２に示す画面（Ｖ０００３）の例では、「あて先」、「タイトル」、「内容」、「添付」、「送信」、「戻る」のコントロールから構成されており、各コントロールが取り得る種別としては、順に「メールアドレス」、「文字列（１行）」、「文字列」、「アイテム選択」、「ボタン」、「ボタン」が割り当てられている。図３２は、本発明の実施形態を示すものであり、各画面を構成する要素の定義情報の一例を示すテーブルである。
【０１４７】
例えば、上記画面例として図３３に示す新規メール作成用画面の場合、この画面は図３４に示すようなＸＭＬで記述し定義することができる。また。この定義にはメニュー構成のツリー構造に関する情報も含めることができる。なお、図３３は、本発明の実施形態を示すものであり、新規メール作成用画面の一例を示す図である。また、図３４は、本発明の実施形態を示すものであり、新規メール画面の定義をＸＭＬで記述した一例を示す図である。
【０１４８】
このように、携帯型通信装置における画面について、その定義をＸＭＬで記述することができるため、この記述したデータを別途、テスト情報管理装置１が保持することもできる。そして、この画面についての定義を保持することで、テスト情報管理装置１は、携帯型通信装置と同様のユーザインターフェースに関する情報をテスター用端末２に提供することができる。
【０１４９】
ところで、本実施の形態に係るソフトウェアテストシステム１００では、テスターがテストケースのテストを行う場合、テスター用端末２がテスト手順情報１３２をテスト情報管理装置１から受信し、該テスト手順情報１３２に基づきテスト手順を表示する構成であった。テスト手順は通常、テキスト形式で表現されており、該テキストを参照してテスターはテスト手順に従った操作を行うこととなる。
【０１５０】
しかしながら、テスト情報管理装置１が画面の定義を記述したデータを保持する場合、このデータを使って、携帯型通信装置の実際の操作画面を提示してテスト手順を示すことができる。
【０１５１】
以上のように、本実施の形態に係るテスト情報管理装置１は、修正したテストケースと同様の原因手順をテスト手順に含む関連テストケースを抽出し、抽出した関連テストケースについてテスター用端末２または開発者用端末３に出力することができる。
【０１５２】
このため、テスト情報管理装置１は、テストケースごとにカバレッジ情報を記憶する必要なく、不具合を引き起こす原因手順を含む他のテストケースに関する情報をテスター用端末２または開発者用端末３に対して提示することができる。したがって、テスト情報管理装置１は、記憶すべきデータ量を低減させつつ、再試験が必要となるテストケースを効率よく特定することができる。
【０１５３】
また、各テストケースに関するテスト状態情報３４をテスト状態遷移記録部２４により更新し、テスター優先度およびソフトウェア開発者優先度を設定することができる。このため、テスターが実施するテストケースに適切な優先順位を設定することができる。また、不具合が生じるテストケースについてソフトウェア開発者によって修正する修正順位を適切に設定することができる。このため、効率よくテストの実施や不具合の修正等の各処理を実行することができる。
【産業上の利用可能性】
【０１５４】
本実施の形態に係るテスト情報管理装置１は、各テストケースについてカバレッジ情報のようなデータ量が大きな情報を記憶しておくことなく、再試験が必要となるテストケースを効率よく特定することができる。このため、特に記憶容量が大きいメモリを備えたり、高速処理可能な演算処理装置を備えたりする必要がなく幅広い装置で本実施の形態に係るテスト情報管理装置を設計することができる。特に組み込みシステムなど必要最低限のメモリと安価なＣＰＵで動作させるシステムであっても、本実施の形態に係るテスト情報管理装置１を実現することができる。
【符号の説明】
【０１５５】
１  テスト情報管理装置（情報管理装置）
２  テスター用端末
３  開発者用端末
１１  入出力制御部（設定画面出力手段・情報受付手段・操作条件記録手段・テスト出力手段）
１２  管理主制御部
１３  記憶装置
２１  テスト情報提供部（テスト出力手段）
２３  テスト結果取得部（操作条件記録手段）
２４  テスト状態遷移記録部（操作条件記録手段・実施状態情報記録手段・テスト優先順位設定手段・修正優先順位設定手段）
２５  関連手順抽出部（抽出手段）
２６  不具合テスト取得部（テスト出力手段）
２７  不具合情報記録部（情報受付手段・原因手順記録手段）
２８  画面生成部（画面生成手段）
３１  テスト情報
３３  不具合情報
３４  テスト状態情報
３５  ユーザインターフェース情報
１３１  テスト内容情報
１３２  テスト手順情報
１３３  不具合原因記述情報
１３４  不具合原因手順式（関係式）
１３５  不具合内容情報
２３１  不具合原因情報
２３２  手順情報
【図１】
2011096205.tif 000003
【図２】
2011096205.tif 000004
【図３】
2011096205.tif 000005
【図４】
2011096205.tif 000006
【図５】
2011096205.tif 000007
【図６】
2011096205.tif 000008
【図７】
2011096205.tif 000009
【図８】
2011096205.tif 000010
【図９】
2011096205.tif 000011
【図１０】
2011096205.tif 000012
【図１１】
2011096205.tif 000013
【図１２】
2011096205.tif 000014
【図１３】
2011096205.tif 000015
【図１４】
2011096205.tif 000016
【図１５】
2011096205.tif 000017
【図１６】
2011096205.tif 000018
【図１７】
2011096205.tif 000019
【図１８】
2011096205.tif 000020
【図１９】
2011096205.tif 000021
【図２０】
2011096205.tif 000022
【図２１】
2011096205.tif 000023
【図２２】
2011096205.tif 000024
【図２３】
2011096205.tif 000025
【図２４】
2011096205.tif 000026
【図２５】
2011096205.tif 000027
【図２６】
2011096205.tif 000028
【図２７】
2011096205.tif 000029
【図２８】
2011096205.tif 000030
【図２９】
2011096205.tif 000031
【図３０】
2011096205.tif 000032
【図３１】
2011096205.tif 000033
【図３２】
2011096205.tif 000034
【図３３】
2011096205.tif 000035
【図３４】
2011096205.tif 000036