(57)【要約】 【課題】  機能毎のリリース日程が異なるソフトウエアのテスト計画を、少ない労力と時間で作成および変更することができるテスト計画作成装置を提供する。【解決手段】  テスト計画導出装置１のテスト計画作成手段１２は、リリース計画取得手段１１が取得したリリース計画情報に基づいて、リリースされるプログラム毎にテスト期間を決定する。次に、リリースされるプログラムの機能をテストするテスト項目を、テスト項目情報記憶装置２０から読み出したテスト項目情報に含まれる機能ＩＤが示す機能に基づいて、前記決定された各テスト期間に割り当てることによって、テスト計画を作成する。【選択図】      図１
2006252461.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウエアの第１のリリース予定日と、そのソフトウエアの動作確認を行うためのテスト装置に、そのソフトウエアを提供する少なくとも１回の第２のリリース予定日と、そのソフトウエアに含まれる機能を識別するための機能識別子とを含む出荷計画情報を取得する取得手段と、
ソフトウエアの動作確認を行うためのテストのテスト項目を識別するためのテスト項目識別子と、そのテスト項目識別子が示すテスト項目のテストによって動作確認が行われる機能の機能識別子とを含むテスト項目情報を記憶する記憶手段と、
取得手段によって取得された出荷計画情報に含まれるソフトウエアの第１のリリース予定日と第２のリリース予定日とに基づいて、少なくとも１つのテスト期間を決定するテスト期間決定手段と、
記憶手段に記憶されたテスト項目情報に含まれる機能識別子に基づいて、そのテスト項目情報が示すテスト項目を、前記決定されたテスト期間に割り当てることによって、ソフトウエアの動作確認を行うためのテスト計画を作成する割り当て手段とを含むことを特徴とするテスト計画作成装置。
【請求項２】
前記テスト項目情報は、そのテスト項目情報が示すテスト項目のテストを実施するために必要な作業時間の予測値をさらに含み、
前記テスト期間決定手段は、前記割り当て手段によって１つのテスト期間に割り当てられたテスト項目のテストを実施するために必要な実施予定工数を、テスト項目情報に含まれる作業時間の予測値を用いて算出し、算出した実施予定工数に基づいて、前記決定したテスト期間を変更することを特徴とする請求項１に記載のテスト計画作成装置。
【請求項３】
ソフトウエアの動作確認を行うテスト要員の数を入力する入力手段と、
前記テスト期間決定手段が変更したテスト期間を、入力手段によって入力されたテスト要員の数に基づいて調整するテスト計画調整手段とをさらに含むことを特徴とする請求項２に記載のテスト計画作成装置。
【請求項４】
前記テスト要員の数は、テスト期間毎に入力されることを特徴とする請求項３に記載のテスト計画作成装置。
【請求項５】
前記テスト計画調整手段は、前記入力手段によって入力されたテスト要員の数で、前記実施予定工数を除算して求めた日数によって、前記決定したテスト期間を変更することを特徴とすることを特徴とする請求項３または４に記載のテスト計画作成装置。
【請求項６】
前記割り当て手段は、テスト項目情報が示すテスト項目を、そのテスト項目情報に含まれる機能識別子と一致する機能識別子が示す機能を含むソフトウエアのテスト期間に割り当てることを特徴とする請求項１〜５のいずれか１つに記載のテスト計画作成装置。
【請求項７】
前記テスト期間決定手段は、第２のリリース予定日にリリースされるソフトウエア毎にテスト期間を設け、
第２のリリース予定日のうち最後のリリース予定日にリリースされるソフトウエアのテスト期間の終了日を、テスト完了予定日とし、そのテスト完了予定日から、前記取得手段によって取得された出荷計画情報に含まれる第１のリリース予定日までの日数を余剰日数とする余剰日数算出手段をさらに含むことを特徴とする請求項１〜６のいずれか１つに記載のテスト計画作成装置。
【請求項８】
前記出荷計画情報は、第２のリリース予定日にリリースされるソフトウエアを識別するためのリリース識別子を含み、
前記取得手段が新たな出荷計画情報を取得したとき、新たな出荷計画情報に含まれるリリース識別子と一致するリリース識別子で示されるソフトウエアについて、前記テスト期間決定手段は、新たな出荷計画情報に基づいて、新たなテスト期間を決定し、前記割り当て手段は、新たなテスト期間に対して、テスト項目を割り当てることを特徴とする請求項１〜７のいずれか１つに記載のテスト計画作成装置。
【請求項９】
ソフトウエアの第１のリリース予定日と、そのソフトウエアの動作確認を行うためのテスト装置に、そのソフトウエアを提供する少なくとも１つの第２のリリース予定日と、そのソフトウエアに含まれる機能を識別するための機能識別子とを含む出荷計画情報を取得する取得工程と、
ソフトウエアの動作確認を行うためのテストのテスト項目を識別するためのテスト項目識別子と、そのテスト項目識別子が示すテスト項目のテストによって動作確認が行われる機能の機能識別子とを含むテスト項目情報を記憶する記憶工程と、
取得工程で取得された出荷計画情報に含まれるソフトウエアの第１のリリース予定日と第２のリリース予定日とに基づいて、少なくとも１つのテスト期間を決定するテスト期間決定工程と、
記憶工程で記憶されたテスト項目情報に含まれる機能識別子に基づいて、そのテスト項目情報が示すテスト項目を、前記決定されたテスト期間に割り当てることによって、ソフトウエアの動作確認を行うためのテスト計画を作成する割り当て工程とを含むことを特徴とするテスト計画作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウエアの動作確認を行うためのテスト計画を作成および変更することができるテスト計画作成装置およびテスト計画作成方法に関する。
【背景技術】
【０００２】
携帯電話機などの製品に組み込まれるソフトウエア、ならびに表計算ソフトウエアおよび文書作成ソフトウエアを含むアプリケーションソフトウエアなどのソフトウエアは、多くの機能を提供する。これらのソフトウエアは、提供する機能の増加に伴い、ソースコード量が増加し、ソフトウエアに含まれる機能が製品仕様どおりに動作することを確認するためには、多くの時間と多くのテスト要員とが必要である。
【０００３】
ソフトウエアの動作確認を効率よく行うために、テスト計画が作成される。テスト計画には、テストを実施するテスト期間、そのテスト期間の間に動作確認が行われるテストのテスト項目、およびそのテスト期間に投入されるテスト要員数などが含まれる。テスト計画は、テスト計画書あるいはテスト計画表などにドキュメント化され、これらのドキュメントを用いて、進捗管理が行われる。
【０００４】
テスト計画を作成するための従来技術に、試験計画方法がある。この試験計画方法は、試験あるいは試験手順の実施日程を、計画基本情報および計画補正情報に基づいて計画するものである。計画基本情報は、実施日程を計画するうえで、基本になる情報であり、たとえば開始日、終了日、試験表の数、試験要員数、および難易度係数などが含まれる。計画補正情報は、試験環境に必要な資材を投入する日付を示す資材開放日付情報、月の上旬、中旬、または下旬のうちどの時期に割り当てるかを決めるための試験カテゴリ別日付情報、および試験期間の最初、中途、あるいは最後の期間のうちどの期間に割り当てるかを決めるための優先区分ＫＥＹ情報のうちのいずれか１つの情報が予め設定されている（たとえば特許文献１参照）。
【０００５】
【特許文献１】特開２００２−１３２５３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
機能が多くかつソースコード量の多いソフトウエアを開発する場合、すべての機能についてソフトウエアを作成した後にテストを開始すると、ソフトウエアの不具合の発見が、製品の開発期間の後半に集中することになる。開発期間の後半にソフトウエアの不具合が検出されると、製品の出荷予定日までに、ソフトウエアの不具合の修正と修正されたソフトウエアの動作確認を終了することができず、納期遅延を引き起こす危険性が高くなる。
【０００７】
この危険性を低減するために、ソフトウエアの作成が行われた機能から順次テストを実施することによって、ソフトウエアの不具合を早期に発見して、早期に不具合を修正することが望ましい。すなわち、開発部門からテスト部門へのソフトウエアのリリース、つまり提供を、複数回に分けて行い、テスト部門は、リリースされたソフトウエアに実装されている機能が正しく動作するか否かをテストし、発見した不具合を、開発部門に報告する。開発部門は、次にリリーする予定のソフトウエアをリリースする前に、発見された不具合を解消するようにソフトウエアを修正することができ、早期にソフトウエアの不具合の発見と対策を行うことができる。
【０００８】
しかしながら、上述した従来技術は、計画基本情報および計画補正情報に機能毎のリリース日程を示す情報が含まれておらず、リリースされた機能に限定したテスト計画を作成することができない。したがって、テスト計画で計画されていたテスト対象となる機能が、被試験ソフトウエアに含まれていないと、テスト計画を変更するための労力と時間とが必要になる。さらに、テストを実施することができない期間があると、その期間余剰人員が発生し、テスト完了も遅延するという問題がある。
【０００９】
本発明の目的は、機能毎のリリース日程が異なるソフトウエアのテスト計画を、少ない労力と時間で作成および変更することができるテスト計画作成装置およびテスト計画作成方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、ソフトウエアの第１のリリース予定日と、そのソフトウエアの動作確認を行うためのテスト装置に、そのソフトウエアを提供する少なくとも１回の第２のリリース予定日と、そのソフトウエアに含まれる機能を識別するための機能識別子とを含む出荷計画情報を取得する取得手段と、
ソフトウエアの動作確認を行うためのテストのテスト項目を識別するためのテスト項目識別子と、そのテスト項目識別子が示すテスト項目のテストによって動作確認が行われる機能の機能識別子とを含むテスト項目情報を記憶する記憶手段と、
取得手段によって取得された出荷計画情報に含まれるソフトウエアの第１のリリース予定日と第２のリリース予定日とに基づいて、少なくとも１つのテスト期間を決定するテスト期間決定手段と、
記憶手段に記憶されたテスト項目情報に含まれる機能識別子に基づいて、そのテスト項目情報が示すテスト項目を、前記決定されたテスト期間に割り当てることによって、ソフトウエアの動作確認を行うためのテスト計画を作成する割り当て手段とを含むことを特徴とするテスト計画作成装置である。
【００１１】
本発明に従えば、まず、取得手段によって、ソフトウエアの第１のリリース予定日と、そのソフトウエアの動作確認を行うためのテスト装置に、そのソフトウエアを提供する少なくとも１回の第２のリリース予定日と、そのソフトウエアに含まれる機能を識別するための機能識別子とを含む出荷計画情報が取得され、記憶手段によって、ソフトウエアの動作確認を行うためのテストのテスト項目を識別するためのテスト項目識別子と、そのテスト項目識別子が示すテスト項目のテストによって動作確認が行われる機能の機能識別子とを含むテスト項目情報が記憶される。
【００１２】
テスト期間決定手段によって、取得手段によって取得された出荷計画情報に含まれるソフトウエアの第１のリリース予定日と第２のリリース予定日とに基づいて、少なくとも１つのテスト期間が決定され、割り当て手段によって、記憶手段に記憶されたテスト項目情報に含まれる機能識別子に基づいて、そのテスト項目情報が示すテスト項目が、前記決定されたテスト期間に割り当てられることによって、ソフトウエアの動作確認を行うためのテスト計画が作成される。
【００１３】
このように、出荷計画情報に含まれるソフトウエアの第１のリリース予定日と第２のリリース予定日とに基づいてテスト期間が決定され、テスト項目情報に含まれる機能識別子が示す機能に基づいて、そのテスト項目情報が示すテスト項目を、前記決定されたテスト期間に割り当てることによって、テスト計画を作成するので、機能毎のリリース日程が異なるソフトウエアのテスト計画を作成することができる。
【００１４】
また本発明は、前記テスト項目情報は、そのテスト項目情報が示すテスト項目のテストを実施するために必要な作業時間の予測値をさらに含み、
前記テスト期間決定手段は、前記割り当て手段によって１つのテスト期間に割り当てられたテスト項目のテストを実施するために必要な実施予定工数を、テスト項目情報に含まれる作業時間の予測値を用いて算出し、算出した実施予定工数に基づいて、前記決定したテスト期間を変更することを特徴とする。
【００１５】
本発明に従えば、テスト項目情報が、そのテスト項目情報が示すテスト項目のテストを実施するために必要な作業時間の予測値を含むので、各テスト項目の作業時間の予測値によって、各テスト期間に割り当てられたすべてのテスト項目のテストを実施するために必要な実施予定工数を算出することができる。
【００１６】
また本発明は、ソフトウエアの動作確認を行うテスト要員の数を入力する入力手段と、
前記テスト期間決定手段が変更したテスト期間を、入力手段によって入力されたテスト要員の数に基づいて調整するテスト計画調整手段とをさらに含むことを特徴とする。
【００１７】
本発明に従えば、入力されたテスト要員数に基づいて、テスト計画を変更するので、テスト期間内に収めることができなかったテスト項目を、テスト要員数を増やすことによって、予定のテスト期間で実施することができる。
【００１８】
また本発明は、前記テスト要員の数は、テスト期間毎に入力されることを特徴とする。
本発明に従えば、テスト期間毎にテスト要員数を入力することができるので、テスト期間毎に適切なテスト要員数を投入することができる。
【００１９】
また本発明は、前記テスト計画調整手段は、前記入力手段によって入力されたテスト要員の数で、前記実施予定工数を除算して求めた日数によって、前記決定したテスト期間を変更することを特徴とする。
【００２０】
本発明に従えば、実施予定工数をテスト要員数で除算して得られた日数によって、テスト期間を更新するので、テスト期間を正確に見積ることができる。
【００２１】
また本発明は、前記割り当て手段は、テスト項目情報が示すテスト項目を、そのテスト項目情報に含まれる機能識別子と一致する機能識別子が示す機能を含むソフトウエアのテスト期間に割り当てることを特徴とする。
【００２２】
本発明に従えば、第２のリリース予定日であるリリース予定日にリリースされるソフトウエアに含まれる機能の機能識別子に一致する機能識別子を有するテスト項目を、テスト期間に割り当てるので、リリースされるソフトウエア毎にテスト項目を適切に割り当てることができる。
【００２３】
また本発明は、前記テスト期間決定手段は、第２のリリース予定日にリリースされるソフトウエア毎にテスト期間を設け、
第２のリリース予定日のうち最後のリリース予定日にリリースされるソフトウエアのテスト期間の終了日を、テスト完了予定日とし、そのテスト完了予定日から、前記取得手段によって取得された出荷計画情報に含まれる第１のリリース予定日までの日数を余剰日数とする余剰日数算出手段をさらに含むことを特徴とする。
【００２４】
本発明に従えば、最後にリリースされるソフトウエアのテスト期間の終了日をテスト完了予定日とするので、第１のリリース予定日までの余剰日程を求めることができる。
【００２５】
また本発明は、前記出荷計画情報は、第２のリリース予定日にリリースされるソフトウエアを識別するためのリリース識別子を含み、
前記取得手段が新たな出荷計画情報を取得したとき、新たな出荷計画情報に含まれるリリース識別子と一致するリリース識別子で示されるソフトウエアについて、前記テスト期間決定手段は、新たな出荷計画情報に基づいて、新たなテスト期間を決定し、前記割り当て手段は、新たなテスト期間に対して、テスト項目を割り当てることを特徴とする。
【００２６】
本発明に従えば、出荷計画情報がリリースされるソフトウエアを識別するためのリリース識別子を含むので、リリースされるソフトウエア単位に、新たにリリースされたソフトウエアについてのみ、テスト計画を変更することができる。
【００２７】
また本発明は、ソフトウエアの第１のリリース予定日と、そのソフトウエアの動作確認を行うためのテスト装置に、そのソフトウエアを提供する少なくとも１つの第２のリリース予定日と、そのソフトウエアに含まれる機能を識別するための機能識別子とを含む出荷計画情報を取得する取得工程と、
ソフトウエアの動作確認を行うためのテストのテスト項目を識別するためのテスト項目識別子と、そのテスト項目識別子が示すテスト項目のテストによって動作確認が行われる機能の機能識別子とを含むテスト項目情報を記憶する記憶工程と、
取得工程で取得された出荷計画情報に含まれるソフトウエアの第１のリリース予定日と第２のリリース予定日とに基づいて、少なくとも１つのテスト期間を決定するテスト期間決定工程と、
記憶工程で記憶されたテスト項目情報に含まれる機能識別子に基づいて、そのテスト項目情報が示すテスト項目を、前記決定されたテスト期間に割り当てることによって、ソフトウエアの動作確認を行うためのテスト計画を作成する割り当て工程とを含むことを特徴とするテスト計画作成方法である。
【００２８】
本発明に従えば、まず、取得工程で、ソフトウエアの第１のリリース予定日と、そのソフトウエアの動作確認を行うためのテスト装置に、そのソフトウエアを提供する少なくとも１つの第２のリリース予定日と、そのソフトウエアに含まれる機能を識別するための機能識別子とを含む出荷計画情報を取得し、記憶工程で、ソフトウエアの動作確認を行うためのテストのテスト項目を識別するためのテスト項目識別子と、そのテスト項目識別子が示すテスト項目のテストによって動作確認が行われる機能の機能識別子とを含むテスト項目情報を記憶する。
【００２９】
次に、テスト期間決定工程で、取得工程で取得された出荷計画情報に含まれるソフトウエアの第１のリリース予定日と第２のリリース予定日とに基づいて、少なくとも１つのテスト期間を決定し、割り当て工程で、記憶工程で記憶されたテスト項目情報に含まれる機能識別子に基づいて、そのテスト項目情報が示すテスト項目を、前記決定されたテスト期間に割り当てることによって、ソフトウエアの動作確認を行うためのテスト計画を作成する。
【００３０】
このように、出荷計画情報に含まれるソフトウエアの第１のリリース予定日と第２のリリース予定日とに基づいてテスト期間が決定され、テスト項目情報に含まれる機能識別子が示す機能に基づいて、そのテスト項目情報が示すテスト項目を、前記決定されたテスト期間に割り当てることによって、テスト計画を作成するので、機能毎のリリース日程が異なるソフトウエアのテスト計画を作成することができる。
【発明の効果】
【００３１】
本発明によれば、テスト項目情報に含まれる機能識別子が示す機能に基づいて、テスト項目をテスト期間に割り当てるので、機能毎のリリース日程が異なるソフトウエアのテスト計画を、少ない労力と時間で作成および変更することができる。
【００３２】
また本発明によれば、各テスト項目の作業時間の予測値によって、各テスト期間に割り当てられたすべてのテスト項目のテストを実施するために必要な実施予定工数を算出するので、より正確なテスト計画を作成することができる。
【００３３】
また本発明によれば、テスト期間内に収めることができなかったテスト項目を、テスト要員数を増やすことによって、予定のテスト期間で実施することができるので、納期遅延の危険性を低減することができる。
【００３４】
また本発明によれば、テスト期間毎に適切なテスト要員数を投入することができるので、より最適なテスト計画を作成することができる。
【００３５】
また本発明によれば、テスト期間を正確に見積ることができるので、正確なテスト計画を作成することができ、納期遅延の危険性を低減することができる。
【００３６】
また本発明によれば、リリースされるソフトウエア毎にテスト項目を適切に割り当てることができるので、正確なテスト計画を作成することができる。
【００３７】
また本発明によれば、第１のリリース予定日までの余剰日数を求めることができるので、余剰日数に応じて、テスト計画を見直すことができる。
【００３８】
また本発明によれば、新たな出荷計画情報が与えられても、新たにリリースされるソフトウエアについてのみ、テスト計画を変更するので、より短時間にテスト計画を変更することができる。
【００３９】
また本発明によれば、リリースされる機能とテスト項目によってテストされる機能とに基づいて、テスト項目をテスト期間に割り当てるので、機能毎のリリース日程が異なるソフトウエアのテスト計画を、少ない労力と時間で作成および変更することができる。
【発明を実施するための最良の形態】
【００４０】
図１は、本発明の実施の一形態であるテスト計画導出装置１の概略的なシステム構成を示すブロック図である。テスト計画作成装置であるテスト計画導出装置１は、ソフトウエア（以下、プログラムともいう）の動作確認を行うためのテスト計画を作成あるいは変更する装置である。テスト対象のプログラムは、たとえば携帯電話機などの製品に組み込まれるプログラム、あるいは表計算プログラムおよび文書作成プログラムを含むアプリケーションプログラムなどのプログラムである。プログラムの動作確認を行うためのテスト装置は、プログラムが、携帯電話機などの製品に組み込まれるプログラムであれば、そのプログラムが組み込まれる携帯電話機などの装置であり、アプリケーションプログラムなどのプログラムであれば、そのアプリケーションプログラムが実行されるコンピュータなどの装置である。
【００４１】
テスト計画導出装置１は、リリース計画取得手段１１、テスト計画作成手段１２、テスト計画変更手段１３、テスト項目抽出手段１４、テスト要員情報入力手段１５、テスト要員数調整手段１６、テスト計画出力手段１７、テスト項目情報記憶装置２０、およびテスト計画情報記憶装置２１を含む。テスト計画導出装置１は、たとえばＣＰＵ（Central
Processing Unit）を含み、リリース計画取得手段１１、テスト計画作成手段１２、テスト計画変更手段１３、テスト項目抽出手段１４、テスト要員情報入力手段１５、テスト要員数調整手段１６、およびテスト計画出力手段１７は、そのＣＰＵで実行されるプログラムによって実現される。このプログラムは、ＣＰＵに含まれる半導体メモリなどの記憶装置に記憶される。テスト項目情報記憶装置２０およびテスト計画情報記憶装置２１は、ディスク装置などの記憶装置によって構成される。
【００４２】
テスト計画取得手段１１は、出荷計画情報である後述するリリース計画情報を、たとえばキーボードなどの図示しない入力装置、リリース計画情報が予め記憶されている図示しない記憶装置、あるいはインターネットなどのネットワークを介して接続されている図示しない他のコンピュータなどから取得する。取得されたリリース計画情報は、テスト計画作成手段１２あるいはテスト計画変更手段１３に入力される。
【００４３】
図２は、図１に示したリリース計画情報３０の一例を示す図である。リリース計画情報３０は、作成されたプログラムをそのプログラムの動作確認を行うためのテスト装置に提供する計画を表す情報、すなわち開発部門からテスト部門に対してプログラムをリリースする計画を表す情報である。リリース計画情報３０は、ソフトウエア識別子と、第１のリリース予定日である出荷予定日と、リリース回数と、少なくとも１つの個別リリース情報とを含む。個別リリース情報は、リリース回数と同じ数の個別リリース情報がある。
【００４４】
ソフトウエア識別子は、テスト対象のプログラムを識別するための識別子であり、たとえば数字を含む文字列で表される。出荷予定日は、プログラムを顧客に出荷する予定日の日付を表す情報であり、たとえば数字を含む文字列で表される。リリース回数は、開発部門からテスト部門に対して、プログラムをリリースする回数を表す情報であり、たとえば数字で表される。
【００４５】
各個別リリース情報は、リリース番号と、第２のリリース予定日であるリリース予定日と、実装予定機能ＩＤ（Identification）とを含む。リリース識別子であるリリース番号は、リリースするプログラムを識別するための識別子であり、たとえば数字で表される。リリース予定日は、リリースする予定日の日付を表す情報であり、たとえば数字を含む文字列で表される。実装予定機能ＩＤは、リリースするプログラムに実装される機能を識別するための機能識別子である機能ＩＤを含む情報であり、たとえば数字を含む文字列で表される。複数の機能が実装されるプログラムについては、各機能に対応する実装予定の機能ＩＤを、カンマで区切って表す。
【００４６】
具体的には、左側上方に、タイトル「リリース計画情報」と記載され、続いて、テスト対象のプログラムのソフトウエア識別子がＤ００１であることを示す「ソフトウエア識別子  Ｄ００１」、出荷予定日が２００４年１１月３０日であることを示す「出荷予定日  ２００４１１３０」、リリース回数が３回であることを示す「リリース回数  ３」、および各個別リリース情報が記載されている。日付は、年を４文字、月を２文字、日を２文字で表し連記したものであり、たとえば「２００４０１０１」と表された日付は、２００４年１月１日を示す。
【００４７】
個別リリース情報は、たとえば１回目の個別リリース情報は、リリース番号が０．１であることを示す「リリース番号  ０．１」、リリース予定日が２００４年１０月４日であることを示す「リリース予定日  ２００４１００４」、および実装予定機能ＩＤがＦ１であることを示す「実装予定機能ＩＤ  Ｆ１」が記載されている。同様に２つ目の個別リリース情報および３つ目の個別リリース情報が記されている。複数の機能が実装されるプログラムについては、たとえば３回目の個別リリース情報には、「実装予定機能ＩＤ  Ｆ１,Ｆ２,Ｆ３」というように表し、機能ＩＤがＦ１〜Ｆ３である３つの機能が実装される予定であることを表している。
【００４８】
図１を参照して、テスト計画作成手段１２は、リリース計画取得手段１１が取得したリリース計画情報３０に含まれるソフトウエア識別子に一致するソフトウエア識別子を含むテスト計画情報が、テスト計画情報記憶装置２１に記憶されていない場合に、新規にテスト計画を作成する。テスト計画作成手段１２は、リリース計画取得手段１１が取得したリリース計画情報３０に基づいて、順次リリースされるプログラム毎にテスト期間を決定する。次に、リリースされるプログラムの機能の動作確認を行うためのテストのテスト項目を、テスト項目情報記憶装置２０から読み出したテスト項目情報に含まれる機能ＩＤが示す機能に基づいて、前記決定された各テスト期間に割り当てることによって、テスト計画を作成する。テスト計画情報記憶装置２１は、テスト計画を示すテスト計画情報を記憶する記憶装置であり、テスト計画情報については、後述する。
【００４９】
テスト計画変更手段１３は、リリース計画取得手段１１が取得したソフトウエア識別子に一致するソフトウエア識別子を含むテスト計画情報が、テスト計画情報記憶装置２１に記憶されている場合に、リリース計画取得手段１１が取得したリリース計画情報３０に基づいて、テスト計画を変更する。
【００５０】
テスト項目抽出手段１４は、テスト項目情報を記憶するテスト項目情報記憶装置２０から、テスト項目情報を抽出し、抽出したテスト項目情報を、テスト計画作成手段１２あるいはテスト計画変更手段１３に入力する。テスト項目情報は、テスト項目識別子と、機能ＩＤと、作業予定時間とを含む。テスト項目識別子は、テスト項目情報を識別するための情報であり、たとえば数字を含む文字列で表される。機能ＩＤは、そのテスト項目情報が示すテスト項目のテストによって動作確認される機能を示し、たとえば数字を含む文字列で表される。作業予定時間は、そのテスト項目情報が示すテスト項目のテストに基づいて動作確認を行うために必要な作業時間の予測値である。
【００５１】
テスト要員情報入力手段１５は、予め定めるテスト要員の数、つまりテスト要員数の初期値を、テスト計画作成手段１２およびテスト計画変更手段１３に入力し、さらに、予め定めたテスト要員数を変更するためのテスト要員数を、テスト期間毎に、テスト計画作成手段１２およびテスト計画変更手段１３に入力する。テスト要員情報入力手段１５は、テスト要員数を、たとえばキーボードなどの図示しない入力装置、テスト要員数が予め記憶されている図示しない記憶装置、あるいはインターネットなどのネットワークを介して接続されている図示しない他のコンピュータなどから取得する。テスト計画作成手段１２およびテスト計画変更手段１３は、入力されたテスト要員数をテスト計画情報記憶装置２１に記憶する。
【００５２】
テスト要員数調整手段１６は、各テスト期間に割り当てるテスト要員数を、テスト計画情報記憶装置２１から読み出し、読み出したテスト要員数に基づいて、テスト期間を調整する。テスト計画出力手段１７は、テスト計画情報記憶装置２１に記憶されているテスト計画情報を、グラフ化して、たとえばテスト計画表３１として出力する。
【００５３】
取得手段は、たとえばリリース計画取得手段１１であり、記憶手段は、たとえばテスト項目情報記憶装置２０であり、入力手段は、たとえばテスト要員情報入力手段１５、テスト計画調整手段は、たとえばテスト要員数調整手段１６であり、テスト期間決定手段および割り当て手段は、たとえばテスト計画作成手段１２およびテスト計画変更手段１３に含まれる。
【００５４】
図３は、図１に示したテスト計画表３１の一例を示す図である。テスト計画表３１は、リリースされるプログラム毎のテスト期間を模式的に示した図であり、図３には、リリース回数が３回の場合のテスト計画を示している。
【００５５】
左側上段に、「テスト期間」および「人員」の２つの項目が記載され、「テスト期間」は、テスト期間を識別するためのテスト期間番号を示し、たとえば数字を含む文字列で表される。「人員」は、各期間に投入されるテスト要員数を示す。左側下段には、「テスト期間」として、テスト期間番号「Ｔ１」、「Ｔ２」、および「Ｔ３」、ならびに各テスト期間番号に対応する「人員」として「１０人」、「１０人」、および「１０人」が記載されている。たとえばテスト期間「Ｔ１」およびそれに対応する人員「１０人」は、テスト期間番号Ｔ１のテスト期間に１０人のテスト要員を投入する予定であることを示している。
【００５６】
右側上段に、「＜リリース番号＞」と「出荷予定日」とが記載され、それぞれリリース番号およびそのリリース予定日と、出荷予定日とが記載されている。具体的には、左側からリリース番号「Ｒｅｌ．０．１」とそのリリース予定日「２００４．１０．４」、リリース番号「Ｒｅｌ．０．２」とそのリリース予定日「２００４．１０．１５」、リリース番号「Ｒｅｌ．０．３」とそのリリース予定日「２００４．１０．３０」、および出荷予定日「２００４．１１．３０」と記載され、それぞれのリリース予定日が、「２００４年１０月４日」、「２００４年１０月１５日」、「２００４年１０月３０日」であり、出荷予定日が「２００４年１１月３０日」であることを示している。
【００５７】
右側下段には、各テスト期間番号に対応するテスト期間が矩形で示され、各矩形の中にそのテスト期間でテストされる機能の機能ＩＤが記載されている。具体的には、テスト期間番号Ｔ１に対して「機能Ｆ１」、テスト期間番号Ｔ２に対して「機能Ｆ２」、およびテスト期間番号Ｔ３に対して「機能Ｆ３」と記載されている。１つ目のテスト期間、つまりテスト期間番号Ｔ１のテスト期間では、機能Ｆ１に関するテスト項目情報に基づいてテストが実施され、２つ目のテスト期間、つまりテスト期間番号Ｔ２のテスト期間では、機能Ｆ２に関するテスト項目情報に基づいてテストが実施され、３つ目のテスト期間、つまりテスト期間番号Ｔ３のテスト期間では、機能Ｆ３に関するテスト項目情報に基づいてテストが実施される予定であることを示している。
【００５８】
最後のテスト期間であるテスト期間番号Ｔ３のテスト期間の終了日が、テスト完了予定日であり、吹き出しの中に「テスト完了予定日  ２００４．１１．２０」と記載されている。テスト完了予定日から出荷予定日までの日数が、余剰日数であり、吹き出しの中に「余剰日数：１０日」と示されている。
【００５９】
図４は、図１に示したテスト計画情報記憶装置２１に記憶されたテスト計画情報の一例を示す図である。テスト計画情報３２は、作成されたプログラムをテストするテスト期間、そのテスト期間に割り当てられたテスト項目、およびその期間に投入されるテスト要員数などを定めたテスト計画を示す情報である。テスト計画情報３２は、ソフトウエア識別子と、出荷予定日と、テスト回数と、テスト完了予定日と、余剰日数と、少なくとも１つのテスト期間情報とを含む。テスト期間情報は、個別リリース情報の数に対応する数のテスト期間情報がある。
【００６０】
ソフトウエア識別子は、テスト対象のプログラムの識別子であり、リリース計画情報３０に含まれるソフトウエア識別子が記憶される。出荷予定日は、ソフトウエアの出荷予定日であり、リリース計画情報３０に含まれる出荷予定日が記憶される。テスト回数は、プログラムがリリースされる数に対応する数であり、リリース計画情報３０に含まれるリリース回数が記憶される。テスト完了予定日は、テスト対象の全プログラムのテストが終了する予定日であり、最後のテスト期間の終了日である。余剰日数は、テスト完了予定日から出荷予定日までの日数である。
【００６１】
各テスト期間情報は、図示しないリリース番号と、開始日と、終了日と、実装予定機能ＩＤと、要員数と、実施予定工数と、テスト項目リストとを含む。リリース番号は、リリースされたプログラムの識別子であり、個別リリース情報に含まれるリリース番号が記憶される。開始日および終了日は、各リリース番号のプログラムをテストするテスト期間の開始予定日および終了予定日であり、開始日は、個別リリース情報に含まれるリリース予定日が記憶される。最後のテスト期間以外のテスト期間の終了日は、次にリリースされるプログラムの個別リリース情報に含まれるリリース予定日の前日であり、最後のテスト期間の終了日は、リリース計画情報に含まれる出荷予定日の前日である。
【００６２】
実施予定機能ＩＤは、そのテスト期間でテストされる機能の機能ＩＤが記載され、リリース計画情報３０に含まれる実施予定機能ＩＤに含まれる機能ＩＤが記憶される。要員数は、そのテスト期間に投入される予定のテスト要員数である。実施予定工数は、そのテスト期間に割り当てられたすべてのテスト項目のテストを実施するために必要な工数を作業時間で表したものである。テスト項目リストは、そのテスト期間に割り当てられたテスト項目のテスト項目識別子のリストである。
【００６３】
具体的には、左側上方に、タイトル「テスト計画情報」と記載され、続いて、テスト対象のプログラムのソフトウエア識別子がＤ００１であることを示す「ソフトウエア識別子  Ｄ００１」、出荷予定日が２００４年１１月３０日であることを示す「出荷予定日  ２００４１１３０」、テスト回数が３回であることを示す「テスト回数  ３」、テストの完了予定日が２００４年１１月２０日であることを示す「テスト完了予定日  ２００４１１２０」、余剰日数が１０日であることを示す「余剰日数  １０」、および各テスト期間情報が記載されている。
【００６４】
テスト期間情報は、たとえば１回目のテスト期間情報は、テスト期間の開始予定日が２００４年１０月４日であることを示す「開始日  ２００４１００４」、テスト期間の終了予定日が２００４年１０月１４日であることを示す「終了日  ２００４１０１４」、その期間にリリースされるプログラムに実装される予定の機能が、機能ＩＤがＦ１の機能であることを示す「実装予定機能ＩＤ  Ｆ１」、その期間に投入される予定のテスト要員数が１０人であることを示す「要員数  １０」、そのテスト期間に割り当てられたテスト項目のテストを実施するために必要な実施予定工数が、９０００分であることを示す「実施予定工数  ９０００」、およびそのテスト期間に割り当てられたテスト項目が、テスト項目識別子ＴＳ１〜ＴＳ４であることを示す「テスト項目リスト  ＴＳ１，ＴＳ２，ＴＳ３，ＴＳ４」と記載されている。同様に、２回目のテスト期間情報および３回目のテスト期間情報が記されている。
【００６５】
図５は、図１に示したテスト計画導出装置１が新規にテスト計画を作成する処理手順の一例を示すフローチャートである。テスト計画とは、リリース計画情報に基づいて、少なくとも１つのテスト期間を定め、定めたテスト期間毎に、投入予定のテスト要員数と実施する予定のテスト項目とを定めたものである。
【００６６】
このフローチャートは、テスト計画導出装置１に含まれるＣＰＵで実行されるプログラムによって、処理される手順を示すものであり、この処理手順によって、リリース計画情報に基づいて、テスト計画を作成することができる。リリース計画取得手段１１、テスト計画作成手段１２、テスト項目抽出手段１４、テスト要員情報入力手段１５、テスト項目割当手段、および余剰日数算出手段は、このプログラムが実行されることによって実現される。新規にテスト計画を作成するときに、ステップＡ１に移る。
【００６７】
ステップＡ１では、リリース計画取得手段１１は、リリース計画情報を取得し、取得したリリース計画情報をテスト計画作成手段１２に入力し、ステップＡ２に進む。リリース計画情報は、ソフトウエア識別子と、出荷予定日と、リリース回数と、個別リリース情報とを含む。個別リリース情報は、リリース回数と同じ数の個別リリース情報があり、各個別リリース情報は、リリース番号と、リリース予定日と、実装予定機能ＩＤとを含む。
【００６８】
ステップＡ２では、テスト計画作成手段１２は、リリース計画取得手段１１が取得したリリース計画情報に含まれるソフトウエア識別子に基づいて、テスト計画情報記憶装置２１に記憶されているテスト計画情報を検索する。ソフトウエア識別子が合致するテスト計画情報がない場合、ステップＡ３に進む。合致するテスト計画情報がある場合、図６のステップＢ３に進み、既存のテスト計画情報の変更を行う。テスト計画情報の変更については、図３を用いて後述する。
【００６９】
ステップＡ３では、リリース計画取得手段１１が取得したリリース計画情報に含まれるソフトウエア識別子と出荷予定日とを、テスト計画情報記憶装置２１に記憶し、ステップＡ４に進む。ステップＡ４では、リリース計画取得手段１１が取得した個別リリース情報を第１記憶装置に記憶し、ステップＡ５に進む。第１記憶装置は、たとえばＣＰＵが有する半導体メモリなどの記憶装置であってもよいし、テスト計画情報記憶装置２１であってもよい。
【００７０】
ステップＡ５では、リリース計画取得手段１１が取得したリリース計画情報に含まれるリリース回数に基づいて、テスト回数を定め、定めたテスト回数をテスト計画情報記憶装置２１に記憶し、ステップＡ６に進む。テスト回数は、たとえばリリース回数と同数とする。
【００７１】
ステップＡ６〜ステップＡ９では、テスト計画作成手段１２は、テスト期間情報に含まれる情報のうち、リリース番号と、開始日と、終了日と、実装予定機能ＩＤと、要員数とを定め、テスト計画情報記憶装置２１に記憶する。ステップＡ６では、第１記憶装置に記憶された個別リリース情報であって、まだ取得されていない個別リリース情報のうちで最も若いリリース番号の個別リリース情報、つまりも最も早いリリース予定日の個別リリース情報を取得し、ステップＡ７に進む。すべての個別リリース情報を取得済みの場合、ステップＡ１５に進む。
【００７２】
ステップＡ７では、リリース計画取得手段１１が取得したリリース計画情報に含まれるリリース番号とリリース予定日と実装予定機能ＩＤとを、それぞれテスト期間情報のリリース番号と開始日と実装予定機能ＩＤとして、テスト計画情報記憶装置２１に記憶し、ステップＡ８に進む。すなわちリリース計画情報に含まれるリリース番号が示す番号を、テスト期間情報のリリース番号に記憶し、リリース計画情報に含まれるリリース予定日が示す日付を、テスト期間情報の開始日に記憶し、リリース計画情報に含まれる実装予定機能ＩＤに含まれる機能ＩＤを、テスト期間情報の実装予定機能ＩＤに記憶する。
【００７３】
ステップＡ８では、テスト期間情報の終了日を定め、記憶する。具体的には、まず第１記憶装置に記憶された個別リリース情報から、ステップＡ６で取得した個別リリース情報の次の個別リリース情報、つまり次に若いリリース番号を有する個別リリース情報を検索する。次の個別リリース情報が記憶されている場合、その記憶されている次の個別リリース情報のリリース予定日の前日を終了日と定める。次の個別リリース情報が記憶されていない場合、つまり、ステップＡ６で取得した個別リリース情報が最後の個別リリース情報であった場合、ステップＡ１で取得したリリース計画情報に含まれる出荷予定日の前日を終了日と定める。そして、定めた終了日をテスト計画情報記憶装置２１に記憶し、ステップＡ９に進む。
【００７４】
ステップＡ９では、テスト要員情報入力手段１５によって入力された予め定めるテスト要員数の初期値を、テスト期間情報のテスト要員数として、テスト計画情報記憶装置２１に記憶し、ステップＡ１０に進む。以下、各テスト期間に投入される予定のテスト要員数の初期値を１０人として説明する。
【００７５】
ステップＡ１０〜ステップＡ１３では、テスト期間情報のうち、実施予定工数とテスト項目リストとを定め、テスト計画情報記憶手段２１に記憶する。ステップＡ１０では、テスト期間情報の開始日と終了日とからテストを実施するテスト日数を求め、求めた日数とテスト要員数とに基づいて、初期作業工数を算出し、ステップＡ１１に進む。たとえば、開始日が２００４年１０月４日、終了日が１０月８日、テスト要員数を１０人とすると、開始日と終了日とからテスト日数は５日である。さらにテスト日数５日とテスト要員数１０人とを積算して作業工数を求めると、初期作業工数は５０人日となる。
【００７６】
ステップＡ１１では、テスト項目抽出手段１４は、テスト項目情報記憶装置２０からテスト項目情報を１つ抽出し、ステップＡ１２に進む。全てのテスト項目情報を抽出済みの場合は、ステップＡ１６に進む。テスト項目情報は、テスト項目識別子と、機能ＩＤと、作業予定時間とを含む。テスト項目識別子は、テスト項目を識別するための識別子であり、たとえば数字を含む文字列で表される。機能ＩＤは、テストする機能を識別するための情報であり、たとえば数字を含む文字列で表される。作業予定時間は、該テスト識別子が示すテスト項目のテストを実施するために要する作業時間の予測値である。
【００７７】
ステップＡ１２では、テスト項目割当手段は、テスト項目抽出手段１４によって抽出されたテスト項目情報の機能ＩＤと、リリース計画取得手段１１が取得したリリース計画情報に含まれる実装予定機能ＩＤに含まれる機能ＩＤとを比較し、合致する機能ＩＤがある場合は、ステップＡ１３に進み、合致する機能ＩＤがない場合は、ステップＡ１１に戻る。
【００７８】
ステップＡ１３では、テスト項目抽出手段１４が抽出したテスト項目情報に含まれる作業予定時間と、テスト期間情報に含まれる実施予定工数とを加算した結果を、新たな実施予定工数とする。実施予定工数の初期値は、「０」である。そして、新たな実施予定工数とステップＡ１０で算出した初期作業工数とを比較する。新たな実施予定工数が初期作業工数以上の場合、ステップＡ１４に進む。新たな実施予定工数が初期作業工数より小さい場合、テスト項目抽出手段１４が抽出したテスト項目情報に含まれるテスト項目識別子を、テスト期間情報のテスト項目リストに記憶する。既にテスト項目リストにテスト項目識別子が記憶されている場合は、追加して記憶する。さらに、新たな実施予定工数をテスト期間情報の実施予定工数に記憶し、ステップＡ１１に戻る。
【００７９】
このように、第２のリリース予定日であるリリース予定日にリリースされるソフトウエアに含まれる機能の機能識別子である機能ＩＤに一致する機能ＩＤを有するテスト項目を、テスト期間に割り当てるので、リリースされるソフトウエア毎にテスト項目を適切に割り当てることができる。したがって、リリースされるソフトウエア毎にテスト項目を適切に割り当てることができるので、正確なテスト計画を作成することができる。
【００８０】
さらに、テスト項目情報が、そのテスト項目情報が示すテスト項目のテストを実施するために必要な作業時間の予測値を含むので、各テスト項目の作業時間の予測値によって、各テスト期間に割り当てられたすべてのテスト項目のテストを実施するために必要な実施予定工数を算出することができる。したがって、各テスト項目の作業時間の予測値によって、各テスト期間に割り当てられたすべてのテスト項目のテストを実施するために必要な実施予定工数を算出するので、より正確なテスト計画を作成することができる。
【００８１】
ステップＡ１４では、第１記憶装置に記憶されたすべての個別リリース情報を検索したか否かを判断する。すべての個別リリース情報を検索済みの場合、ステップＡ１５に進む。検索していない個別リリース情報が残っている場合、ステップＡ６に戻る。
【００８２】
ステップＡ１５では、余剰日数算出手段は、テスト計画情報記憶装置２１に記憶されたテスト期間情報の中から、最後にテストされるテスト期間のテスト期間情報、つまり最後のリリース番号を有するテスト期間情報を取得する。取得したテスト期間情報の終了日をテスト完了予定日と定め、テスト計画情報記憶装置２１に記憶する。さらに、テスト完了予定日と、テスト計画情報記憶装置２１に記憶されたテスト計画情報に含まれる出荷予定日とに基づいて、テスト完了予定日から出荷予定日までの余剰日数を算出し、テスト計画情報記憶装置２１に記憶して、終了する。
【００８３】
このように、最後にリリースされるソフトウエアのテスト期間の終了日をテスト完了予定日とするので、第１のリリース予定日である出荷予定日までの余剰日程を求めることができる。第１のリリース予定日である出荷予定日までの余剰日数を求めることができると、余剰日数に応じて、テスト計画を見直すことができる。
【００８４】
ステップＡ１６では、テスト期間情報の開始日と要員数と実施予定工数とに基づいて終了日を算出し、テスト計画情報記憶装置２１に記憶した終了日の日付を更新し、ステップＡ１４に進む。たとえば、テスト期間情報の開始日を２００４年１０月４日、要員数を１０人、実施予定工数を９０００分、１日当たりの作業時間を５時間、つまり３００分とする。実施予定工数９０００分を日数に変換すると、つまり９０００分を３００分で除算すると、３０日となる。この３０日はテスト要員が１人のときの日数であり、テスト要員数１０人でテストを実施すると、つまり３０人日を１０人で除算すると、テスト日数は３日となる。終了日は、開始日に３日を加算した日となる。つまり、２００４年１０月４日に３日を加算するので、終了日は、２００４年１０月７日となる。
【００８５】
このように、リリース計画情報に含まれるソフトウエアの第１のリリース予定日である出荷予定日と第２のリリース予定日であるリリース予定日とに基づいてテスト期間が決定され、テスト項目情報に含まれる機能識別子つまり機能ＩＤが示す機能に基づいて、そのテスト項目情報が示すテスト項目を、前記決定されたテスト期間に割り当てることによって、テスト計画を作成するので、機能毎のリリース日程が異なるソフトウエアのテスト計画を作成することができる。
【００８６】
したがって、テスト項目情報に含まれる機能識別子が示す機能に基づいて、テスト項目をテスト期間に割り当てるので、機能毎のリリース日程が異なるソフトウエアのテスト計画を、少ない労力と時間で作成および変更することができる。
【００８７】
割り当て手段は、たとえばテスト項目割当手段であり、割り当て手段および余剰日数算出手段は、テスト計画作成手段１２およびテスト計画変更手段１３に含まれる。
【００８８】
図６は、図１に示したテスト計画導出装置１が既存のテスト計画を変更する処理手順の一例を示すフローチャートである。このフローチャートは、テスト計画導出装置１に含まれるＣＰＵで実行されるプログラムによって、処理される手順を示すものであり、この処理手順によって、新たなリリース計画情報に基づいて、テスト計画を変更することができる。リリース計画取得手段１１およびテスト計画変更手段１３は、このプログラムが実行されることによって実現される。新たなリリース計画情報が作成されたときに、ステップＢ１に移る。
【００８９】
ステップＢ１では、リリース計画取得手段１１は、リリース計画情報を取得し、取得したリリース計画情報をテスト計画変更手段１３に入力し、ステップＢ２に進む。ステップＢ２では、テスト計画変更手段１２は、リリース計画取得手段１１が取得したリリース計画情報に含まれるソフトウエア識別子に基づいて、テスト計画情報記憶装置２１に記憶されているテスト計画情報を検索する。ソフトウエア識別子が合致するテスト計画情報がない場合、図５に示したステップＡ３に進む。合致するテスト計画情報がある場合、ステップＢ３に進み、既存のテスト計画情報の変更を行う。
【００９０】
ステップＢ３は、テスト計画変更手段１３は、現在の日付を示す現在日付情報を、たとえばテスト計画導出装置１に含まれる時刻情報を生成するＲＴＣ（Real Time Clock）などから取得し、ステップＢ４に進む。ステップＢ４では、取得した現在日付情報が示す日付より後にリリース予定の個別リリース情報を検索する。具体的には、ステップＢ３で取得した現在日付情報が示す日付と、１つ目の個別リリース情報のリリース予定日とを比較し、リリース予定日が現在日付情報より前の日付の場合は、順次、次の個別リリース情報のリリース予定日と比較していく。現在日付情報の日付より後の日付のリリース予定日の個別リリース情報があったら、その個別リリース情報を第１個別リリース情報とし、第１個別リリース情報の次の個別リリース情報を第２個別リリース情報とし、第１個別リリース情報および第２個別リリース情報を取得して、ステップＢ５に進む。
【００９１】
ステップＢ５では、テスト期間情報を検索する。具体的には、ステップＢ４で取得した第１個別リリース情報のリリース番号が、テスト計画情報記憶装置２１に記憶されたテスト期間情報のリリース番号の中にあるか否かを検索する。テスト計画情報の１つ目のテスト期間情報のリリース番号と合致する場合、合致したリリース番号を有するテスト期間情報を取得して、ステップＢ６に進む。リリース番号が合致しない場合、順次、テスト期間情報のリリース番号と比較していく。いずれのテスト期間情報に含まれるリリース番号とも合致しない場合、ステップＢ１２に進む。
【００９２】
ステップＢ６では、テスト期間情報の開始日を更新する。具体的には、ステップＢ４で取得した第１個別リリース情報のリリース予定日と、ステップＢ５で取得したテスト期間情報の開始日とを比較する。合致する場合は、テスト計画情報記憶装置２１に記憶されているテスト期間情報の開始日を変更せずにステップＢ７に進む。合致しない場合、テスト計画情報記憶装置２１に記憶されているテスト期間情報の開始日を、ステップＢ４で取得した第１個別リリース情報のリリース予定日の日付に変更して記憶し、ステップＢ７に進む。
【００９３】
ステップＢ７では、テスト期間情報の終了日を更新する。具体的には、ステップＢ４で取得した第２個別リリース情報のリリース予定日の前日と、ステップＢ５で取得したテスト期間情報の終了日とを比較する。合致する場合は、テスト計画情報記憶装置２１に記憶されているテスト期間情報の終了日を変更せずにステップＢ８に進む。合致しない場合は、テスト計画情報記憶装置２１に記憶されているテスト期間情報の終了日を、ステップＢ４で取得した第２個別リリース情報のリリース予定日の前日の日付に変更して記憶し、ステップＢ８に進む。
【００９４】
ステップＢ８では、テスト期間情報の実装予定機能ＩＤを更新する。具体的には、ステップＢ４で取得した第１個別リリース情報の実装予定機能ＩＤと、ステップＢ５で取得したテスト期間情報の実装予定機能ＩＤとを比較する。合致する場合は、テスト計画情報記憶装置２１に記憶されているテスト期間情報の実装予定機能ＩＤを変更せずにステップＢ９に進む。合致しない場合、テスト計画情報記憶装置２１に記憶されているテスト期間情報の実装予定機能ＩＤを、ステップＢ４で取得した第１個別リリース情報の実装予定機能ＩＤに含まれる機能ＩＤに変更して記憶し、ステップＢ９に進む。
【００９５】
ステップＢ９では、ステップＢ６〜ステップＢ８のうちのいずれかのステップで、テスト期間情報の開始日、終了日、および実装予定機能ＩＤのうちの１つでも変更したか否かを判断する。変更していない場合、ステップＢ１１に進む。変更した場合、ステップＢ１０に進む。ステップＢ１０では、テスト期間情報の実施予定工数およびテスト項目リストを更新する。テスト期間情報の実施予定工数およびテスト項目リストの更新は、図１に示したステップＡ１０〜ステップＡ１３、およびステップＡ１６と同じ処理手順によって更新する。ステップＢ１１では、すべての個別リリース情報を検索したか否かを判断する。すべての個別リリース情報を検索済みの場合、処理を終了する。検索していない個別リリース情報が残っている場合、ステップＢ４に戻る。
【００９６】
ステップＢ１２では、第１個別リリース情報に基づいて、テスト期間情報を作成して追加し、ステップＢ１１に進む。テスト期間情報の作成は、図１に示したステップＡ７〜ステップＡ１３、およびステップＡ１６と同じ処理手順によって作成する。
【００９７】
このように、出荷計画情報であるリリース計画情報がリリースされるソフトウエアを識別するためのリリース識別子、つまりリリース番号を含むので、リリースされるソフトウエア単位に、新たにリリースされたソフトウエアについてのみ、テスト計画を変更することができる。新たな出荷計画情報であるリリース計画情報が与えられても、新たにリリースされるソフトウエアについてのみ、テスト計画を変更するので、より短時間にテスト計画を変更することができる。
【００９８】
図７は、図１に示したテスト計画導出装置１がテスト要員数に応じてテスト計画を変更する処理手順の一例を示すフローチャートである。テスト計画を管理するテスト計画管理者は、作成されたテスト計画に基づいて、テスト要員数の調整を行う。たとえば、あるテスト期間に実施すべきテスト項目が多いため、テスト項目を実施するために必要な作業時間が、テスト期間内に収まらずに次のテスト期間に繰り越している場合は、該テスト期間のテスト要員数を増やす。逆に、あるテスト期間に実施すべきテスト項目が少ない場合、テスト要員が実施すべきテスト項目がなくなると、テスト要員が遊んでしまう事態が発生するので、テスト要員数を減らす。
【００９９】
このフローチャートは、テスト計画導出装置１に含まれるＣＰＵで実行されるプログラムによって、処理される手順を示すものであり、この処理手順によって、投入するテスト要員数に応じて、テスト計画を変更することができる。テスト項目抽出手段１４、テスト要員数調整手段１６、およびテスト計画出力手段１７は、このプログラムが実行されることによって実現される。作成されたテスト計画を、テスト要員数に応じて変更するときに、ステップＣ１に移る。
【０１００】
ステップＣ１では、テスト計画出力手段１７は、テスト計画情報記憶部２１に記憶しているテスト計画情報のソフトウエア識別子の一覧を表示して、ステップＣ２に進む。表示は、たとえば液晶ディスプレイなどの表示画面を有するＧＵＩ（Graphical User
Interface）装置に表示してもよいし、紙に出力する印刷装置などの出力装置に出力してもよい。テスト計画管理者は、表示された一覧の中から目的のソフトウエア識別子を指定することができる。ソフトウエア識別子の指定は、たとえばキーボードおよびマウスなどの入力装置を用いて指定することができる。ステップＣ２では、指定されたソフトウエア識別子を有するテスト計画情報３２に基づいて、テスト計画表３１を、たとえばＧＵＩ装置に出力し、ステップＣ３に進む。
【０１０１】
ステップＣ３〜ステップＣ１１では、テスト要員数調整手段１６は、テスト要員数の更新と、それに伴うテスト計画の変更を行う。ステップＣ３では、テスト計画管理者が入力したテスト要員数と、入力されたテスト要員数が何番目のテスト期間に対するものであるかを表すテスト期間番号とを取得し、ステップＣ４に進む。このテスト要員数およびテスト期間番号は、テスト計画管理者が、たとえばキーボードおよびマウスなどの入力装置から入力した情報である。
【０１０２】
このように、テスト期間毎にテスト要員数を入力することができるので、テスト期間毎に適切なテスト要員数を投入することができる。テスト期間毎に適切なテスト要員数を投入することができるので、より最適なテスト計画を作成することができる。
【０１０３】
ステップＣ４では、ステップＣ１で取得したソフトウエア識別子に基づいて、テスト計画情報記憶装置２１に記憶されているテスト計画情報を検索し、ステップＣ３で取得したテスト期間番号またはステップＣ９で加算したテスト期間番号に基づいて、テスト期間情報を取得する。さらに、テスト期間情報の実施予定工数を０に初期化するとともに、テスト項目リストに記憶されているテスト項目識別子を消去し、ステップＣ５に進む。
【０１０４】
ステップＣ５では、ステップＣ４で取得した開始日および終了日と、ステップＣ３で取得したテスト要員数とに基づいて、指定作業工数を算出し、ステップＣ６に進む。たとえば、開始日を２００４年１０月４日、終了日を１０月８日、テスト要員数を１０人とすると、開始日と終了日から、テスト日数は５日となる。テスト日数５日とテスト要員数１０人とを乗算して指定作業工数を求めると、５０人日になる。
【０１０５】
ステップＣ６では、テスト項目抽出手段１４によって、テスト項目情報記憶装置２０から、テスト項目情報を１つ抽出し、ステップＣ７に進む。すべて抽出済みのときは、ステップＣ１１に進む。ステップＣ７では、ステップＣ６で抽出したテスト項目情報の機能ＩＤと、ステップＣ４で取得したテスト期間情報の実装予定機能ＩＤに含まれる機能ＩＤとを比較し、合致する機能ＩＤがある場合は、ステップＣ８に進み、合致する機能ＩＤがない場合は、ステップＣ６に戻る。
【０１０６】
ステップＣ８では、ステップＣ６で抽出したテスト項目情報の作業予定時間と、ステップＣ４で取得したテスト期間情報の実施予定工数とを加算した結果を新たな実施予定工数とする。ステップＣ５で算出した指定作業工数と、新たな実施予定工数とを比較する。新たな実施予定工が指定作業工数以上の場合、ステップＣ９に進む。新たな実施予定工数が指定作業工数より小さい場合、ステップＣ６で抽出したテスト項目情報のテスト項目識別子を、テスト計画情報記憶装置２１に記憶されている対応するテスト期間情報のテスト項目リストに記憶する。既にテスト項目リストにテスト項目識別子が記憶されている場合は、追加して記憶する。さらに、新たな実施予定工数を、そのテスト項目情報の実施予定工数に記憶し、ステップＣ６に戻る。
【０１０７】
ステップＣ９では、テスト項目情報記憶装置２０に、抽出していないテスト項目情報が残っているか否かを確認する。残っている場合は、テスト期間番号の数字に１加算した後、ステップＣ４に戻る。テスト期間番号の数字に１加算することで、次のテスト期間情報の変更を行うことができる。残っていない場合は、ステップＣ１０に進む。ステップＣ１０では、図２のステップＡ１５と同じ手順で、テスト完了予定日と余剰日数とを定めて、終了する。
【０１０８】
ステップＣ１１では、テスト期間情報の開始日と、ステップＣ３で取得したテスト要員数と、ステップＣ８で求めた実施予定工数とに基づき、終了日を算出し、算出した終了日によって、テスト計画記憶装置に記憶した終了日を更新し、ステップＣ１０に進む。具体的には、ステップＣ８で求めた実施予定工数を、ステップＣ３で取得したテスト要員数で除算してテスト日数を求め、求めた日数を開始日に加算することによって、終了日を算出する。
【０１０９】
このように、実施予定工数をテスト要員数で除算して得られた日数によって、テスト期間を更新するので、テスト期間を正確に見積ることができる。テスト期間を正確に見積ることができるので、正確なテスト計画を作成することができ、納期遅延の危険性を低減することができる。
【０１１０】
さらに、入力されたテスト要員数に基づいて、テスト計画を変更するので、テスト期間内に収めることができなかったテスト項目を、テスト要員数を増やすことによって、予定のテスト期間で実施することができる。したがって、テスト期間内に収めることができなかったテスト項目を、テスト要員数を増やすことによって、予定のテスト期間で実施することができるので、納期遅延の危険性を低減することができる。
【図面の簡単な説明】
【０１１１】
【図１】本発明の実施の一形態であるテスト計画導出装置１の概略的なシステム構成を示すブロック図である。
【図２】図１に示したリリース計画情報３０の一例を示す図である。
【図３】図１に示したテスト計画表３１の一例を示す図である。
【図４】図１に示したテスト計画情報記憶装置２１に記憶されたテスト計画情報の一例を示す図である。
【図５】図１に示したテスト計画導出装置１が新規にテスト計画を作成する処理手順の一例を示すフローチャートである。
【図６】図１に示したテスト計画導出装置１が既存のテスト計画を変更する処理手順の一例を示すフローチャートである。
【図７】図１に示したテスト計画導出装置１がテスト要員数に応じてテスト計画を変更する処理手順の一例を示すフローチャートである。
【符号の説明】
【０１１２】
１  テスト計画導出装置
１１  リリース計画取得手段
１２  テスト計画作成手段
１３  テスト計画変更手段
１４  テスト項目抽出手段
１５  テスト要員情報入力手段
１６  テスト要員数調整手段
１７  テスト計画出力手段
２０  テスト項目情報記憶装置
２１  テスト計画情報記憶装置
３０  リリース計画情報
３１  テスト計画表
３２  テスト計画情報
【図１】
2006252461.tif 000003
【図２】
2006252461.tif 000004
【図３】
2006252461.tif 000005
【図４】
2006252461.tif 000006
【図５】
2006252461.tif 000007
【図６】
2006252461.tif 000008
【図７】
2006252461.tif 000009