(57)【要約】【課題】不足しているテスト項目の認識を容易にする。【解決手段】テスト項目類似度算出手段１２によってテスト仕様書のテスト項目間の類似度が算出され、グループ化手段１３によって類似度に応じたテスト項目のグループ分けが行われる。テスト仕様評価手段１４は、適正テスト項目数と、実際のテスト項目数とを比較してモジュールのテスト仕様書を評価する。不足項目グループ選択手段１５は、テスト項目数が不足していると評価されたモジュールの仕様書に対し、他のモジュールの仕様書に基づいて不足テスト項目グループを選択する。テスト項目数が適正と評価されたモジュールの仕様書に対し、類似モジュールのテスト項目に基づいて不足テスト項目グループを選択する。そして、参考例提示手段１６は、選択された不足テスト項目グループのテスト項目を利用者に提示する。【選択図】図１
2009266045.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアのテスト仕様作成を支援する処理をコンピュータに行わせるテスト仕様作成支援プログラムにおいて、
コンピュータを、
前記ソフトウェアを分割したモジュールごとに作成されたテスト仕様書をテスト仕様書記憶手段から読み出し、前記テスト仕様書のテスト項目に含まれる語句に基づいて前記テスト項目間の類似度を算出するテスト項目類似度算出手段、
算出された前記テスト項目間の類似度に基づいて類似する前記テスト項目をグループ化して、テスト項目グループ群を生成するグループ化手段、
前記モジュールに関するモジュール情報をモジュール情報記憶手段から読み出し、前記モジュール情報に基づいて前記モジュールに対する適性テスト項目数を予測し、該モジュールのテスト仕様書のテスト項目数と前記適正テスト項目数とを比較して該モジュールのテスト仕様書を評価するテスト仕様評価手段、
該モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、他のモジュールのテスト仕様書に記述される前記テスト項目グループ間の比較に基づいて該モジュールのテスト仕様書に不足していると予測される不足テスト項目グループを選択し、該モジュールのテスト仕様書のテスト項目数が適正範囲と評価された場合は、前記テスト項目グループの分布が類似する類似モジュールのテスト仕様書を検出し、前記類似モジュールのテスト仕様書に記述される前記テスト項目グループとの比較に基づいて該モジュールのテスト仕様書に不足していると予測される前記不足テスト項目グループを選択する不足項目グループ選択手段、
前記不足項目グループ選択手段によって選択された前記不足テスト項目グループに属する前記テスト項目を選択し、参考例として提示する参考例提示手段、
として機能させることを特徴とするテスト仕様作成支援プログラム。
【請求項２】
前記不足項目グループ選択手段に、該モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、前記他のモジュールのテスト仕様書に記述される前記テスト項目グループのテスト項目数を比較し、前記テスト項目グループのテスト項目数が多い順に前記不足テスト項目グループを選択させる、ことを特徴とする請求項１記載のテスト仕様作成支援プログラム。
【請求項３】
前記不足項目グループ選択手段に、該モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、前記テスト項目グループごとに前記他のモジュールのテスト仕様書において該テスト項目グループに属する前記テスト項目が記述される前記他のモジュールのテスト仕様書の総数を比較し、記述される前記他のモジュールのテスト仕様書の総数が多い順に前記不足テスト項目グループを選択させる、ことを特徴とする請求項１記載のテスト仕様作成支援プログラム。
【請求項４】
前記不足項目グループ選択手段に、該モジュールのテスト仕様書のテスト項目数が適正範囲と評価された場合は、該モジュールの前記テスト項目グループごとのテスト項目数と、前記類似モジュールの前記テスト項目グループごとのテスト項目数と比較し、該モジュールのテスト仕様書の方が少ない前記テスト項目グループを前記不足テスト項目グループに選択させる、ことを特徴とする請求項１、２又は３記載のテスト仕様作成支援プログラム。
【請求項５】
前記参考例提示手段に、前記不足項目グループ選択手段によって、複数の前記類似モジュールのテスト仕様書に基づいて前記不足テスト項目グループが選択されたときは、該モジュールのテスト仕様書の前記テスト項目と、前記類似モジュールのテスト仕様書の前記テスト項目との類似度に基づいて、該モジュールのテスト仕様書の前記テスト項目に対する前記類似モジュールの仕様書の類似度を評価し、評価結果に基づいて前記参考例の抽出に用いる前記類似モジュールのテスト仕様書を選択させる、ことを特徴とする請求項１又は４記載のテスト仕様作成支援プログラム。
【請求項６】
ソフトウェアのテスト仕様作成を支援するテスト仕様作成支援方法において、
テスト項目類似度算出手段が、前記ソフトウェアを分割したモジュールごとに作成されたテスト仕様書をテスト仕様書記憶手段から読み出し、前記テスト仕様書のテスト項目に含まれる語句に基づいて前記テスト項目間の類似度を算出する手順と、
グループ化手段が、算出された前記テスト項目間の類似度に基づいて類似する前記テスト項目をグループ化して、テスト項目グループ群を生成する手順と、
テスト仕様評価手段が、前記モジュールに関するモジュール情報をモジュール情報記憶手段から読み出し、前記モジュール情報に基づいて前記モジュールに対する適性テスト項目数を予測し、該モジュールのテスト仕様書のテスト項目数と前記適正テスト項目数とを比較して該モジュールのテスト仕様書を評価する手順と、
不足項目グループ選択手段が、該モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、他のモジュールのテスト仕様書に記述される前記テスト項目グループ間の比較に基づいて該モジュールのテスト仕様書に不足していると予測される不足テスト項目グループを選択し、該モジュールのテスト仕様書のテスト項目数が適正範囲と評価された場合は、前記テスト項目グループの分布が類似する類似モジュールのテスト仕様書を検出し、前記類似モジュールのテスト仕様書に記述される前記テスト項目グループとの比較に基づいて該モジュールのテスト仕様書に不足していると予測される前記不足テスト項目グループを選択する手順と、
参考例提示手段が、前記不足項目グループ選択手段によって選択された前記不足テスト項目グループに属する前記テスト項目を選択し、参考例として提示する手順と、
を有することを特徴とするテスト仕様作成支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はテスト仕様作成支援プログラム及びテスト仕様作成支援方法に関し、特にソフトウェアのテスト仕様の作成を支援する処理をコンピュータに行わせるテスト仕様作成支援プログラム及びそのテスト仕様作成支援方法に関する。
【背景技術】
【０００２】
ソフトウェアの開発においては、作成したソフトウェアが仕様に合った正しい振る舞いを実現するかどうかを確認するためのテストが非常に重要である。しかし、テスト仕様は、システムの仕様に基づいて人が作成するため属人性が高く、誤りや漏れが生じる恐れがある。従来、テスト項目の不足を検出するため、直交表などを用いてテストすべき因子の組み合わせを生成する方法や、ソフトウェアの見積規模に基づいてテスト件数を見積る方法などが用いられていた。しかし、直交表に登録するテストすべき因子は仕様などから人が抽出する必要があり、この時点で漏れや誤りが発生する可能性がある。また、テスト件数が見積もりより足りないことが検出されたとしても、どのようなテスト項目が不足しているのかわからないという問題があった。
【０００３】
ところで、一定以上の規模のソフトウェア開発では、システムをアーキテクチャや機能などに基づいて複数のモジュールに分割して開発を行い、最後に統合するという開発手法がとられることが多い。この場合、モジュールごとにテスト仕様を作成してモジュールテストが行われ、さらに全体システムとして統合後のテストが行われる。このため、システム全体のテスト仕様書だけでなく、各モジュールに対応したテスト仕様書が作成される。そこで、テスト項目の不足を防ぐために、各モジュールのテスト仕様書を比較し、各テスト仕様書に不足するテスト項目を提示する技術がある。これにより、少なくとも他のモジュールに挙げられているテスト項目が対象のモジュールのテスト仕様書から漏れている場合は、これを検出することができる。しかし、機能などの面で全く関係のないモジュール同士でテスト仕様書を比較することは適切ではなく、類似するモジュールを検出する必要がある。
【０００４】
類似するモジュールを検出する方法として、設計書の記述から各モジュールの機能を表現した名詞や動詞を抽出して代表用語に変換し、代表用語を用いて類似するモジュールを検出する方法がある（例えば、特許文献１参照）。抽出した単語を代表用語に置き換えることにより、類似するモジュールの分類が容易にする。また、設計仕様書の類似性を求め、求められた類似性から対象に関する何らかの類似性を得る技術もある（特開平５−１１４０１４）。
【特許文献１】特開平３−１２３０号公報
【特許文献２】特開平５−１１４０１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のように、機能などが類似するモジュールのテスト仕様書同士を比較し、テスト項目を評価することで、テスト項目の不足を検出することができる。しかし、予め各モジュールで実現する機能や、似ているモジュール同士が定義されていない限り、各モジュールのテスト仕様書に基づいて、不足例を検出するための比較対象とするモジュールを適切に選択することは難しいという問題点がある。モジュールごとのテスト仕様書を比較するとき、テスト項目の記述に含まれる同義語の変換や、未使用語の省略などを行っても、ほとんどのテスト項目同士は一致しない。テスト項目は、テスト手順、入力データ、期待結果などが具体的に記述されている場合が多く、テスト項目が異なれば、同じ記述となることはほとんどない。また、ひとつのモジュールに関し、正常データ入力時の動作確認、異常データ入力時の動作確認など、異なる種類のテスト項目が記述される。さらに、テスト仕様書を作成した開発者または設計者の経験や能力、あるいはシステムの理解度に応じて記述に違いが生じることにも一因がある。したがって、テスト項目の比較から比較対象のモジュールを選択することは、容易ではない。
【０００６】
また、不足例を提示するため、一致しなかったテスト項目を提示しようとすると、同様の理由から大量のテスト項目が提示されてしまうという問題点がある。テスト仕様を作成する開発者は、提示されたテスト項目の一つ一つを確認しなければならず、煩雑な作業が必要となっていた。
【０００７】
このように、開発者は何が本当に不足しているテスト項目であるのかを認識することが困難になりがちであり、テスト項目の漏れを軽減することが難しかった。
本発明はこのような点に鑑みてなされたものであり、テスト仕様の作成におけるテスト項目の漏れを軽減するテスト仕様作成支援プログラム及びテスト仕様作成支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、コンピュータを、テスト項目類似度算出手段、グループ化手段、テスト仕様評価手段、不足項目グループ選択手段及び参考例提示手段として機能させ、ソフトウェアのテスト仕様の作成を支援する処理を行わせるテスト仕様作成支援プログラムが提供される。テスト項目類似度算出手段は、ソフトウェアを分割したモジュールごとに作成されたテスト仕様書をテスト仕様書記憶手段から読み出し、テスト仕様書のテスト項目に含まれる語句に基づいてテスト項目間の類似度を算出する。グループ化手段は、算出されたテスト項目間の類似度に基づいて類似するテスト項目をグループ化して、テスト項目グループ群を生成する。テスト仕様評価手段は、モジュールに関するモジュール情報をモジュール情報記憶手段から読み出し、モジュール情報に基づいてこのモジュールに応じた適性テスト項目数を予測する。そして、このモジュールのテスト仕様書のテスト項目数と適正テスト項目数とを比較し、このモジュールのテスト仕様書を評価する。不足項目グループ選択手段は、このモジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、他のモジュールのテスト仕様書に記述されるテスト項目グループ間の比較に基づいて、このモジュールのテスト仕様書に不足していると予測される不足テスト項目グループを選択する。このモジュールのテスト仕様書のテスト項目数が適正範囲と評価された場合は、テスト項目グループの分布が類似する類似モジュールのテスト仕様書を検出する。そして、類似モジュールのテスト仕様書に記述されるテスト項目グループとの比較に基づいて、このモジュールのテスト仕様書に不足していると予測される不足テスト項目グループを選択する。参考例提示手段は、この不足項目グループ選択手段によって選択された不足テスト項目グループに属するテスト項目を選択し、参考例として提示する。
【０００９】
このようなテスト仕様作成支援プログラムによれば、モジュールごとに作成されたテスト仕様書のテスト項目間の類似度が算出され、類似するテスト項目をグループ化したテスト項目グループ群が生成される。モジュール情報に基づき、モジュールに応じた適正テスト項目数が予測され、このモジュールのテスト仕様書のテスト項目数と比較されてテスト仕様書が評価される。テスト項目数が少ないと評価された場合は、他のモジュールのテスト仕様書のテスト項目グループごとのテスト項目数に基づいて不足していると予測される不足テスト項目グループが選択される。テスト項目数が適正範囲と評価された場合は、類似モジュールが検出され、類似モジュールのテスト仕様書に基づいて不足していると予測される不足テスト項目グループが選択される。そして、不足テスト項目グループに属するテスト項目が参考例として提示される。
【００１０】
また、上記課題を解決するために、上記テスト仕様作成支援プログラムによってコンピュータが実行するテスト仕様作成支援処理の手順を実行させるテスト仕様作成支援方法が提供される。
【発明の効果】
【００１１】
開示のテスト仕様作成支援プログラム及びそのテスト仕様作成支援方法によれば、モジュールのテスト仕様書のテスト項目間の類似度に応じてテスト項目がグループ分けされる。そして、モジュールのテスト仕様書に不足していると思われるテスト項目グループが選択され、参考例が提示される。個々のテスト項目同士を比較するのではなく、類似するテスト項目がグループ化されたテスト項目グループ単位で不足の判定を行うので、不足するテスト項目の傾向を把握することが容易になる。この結果、何が本当に不足しているテスト項目であるかを判断しやすくなり、テスト仕様作成におけるテスト項目の漏れを軽減することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。
【００１３】
開示のテスト仕様作成支援装置１０は、テスト仕様書を記憶するテスト仕様書記憶手段１１ａ及びモジュールに関する情報を記憶するするモジュール情報記憶手段１１ｂの記憶手段と、テスト仕様書に記述されるテスト項目の類似度を算出するテスト項目類似度算出手段１２、類似度に基づいてテスト項目をグループ分けするグループ化手段１３、テスト仕様書を評価するテスト仕様評価手段１４、不足すると予測されるテスト項目グループを選択する不足項目グループ選択手段１５及び参考例を提示する参考例提示手段１６の各処理手段を有する。テスト仕様作成支援装置１０の各処理手段は、コンピュータがテスト仕様作成支援プログラムを実行することにより、その処理機能が実現される。
【００１４】
テスト仕様書記憶手段１１ａには、ソフトウェアをシステム構成や機能などに基づいて分割したモジュールごとに作成されたテスト仕様書が記憶される。対象システムのテスト仕様書の他、必要であれば、関連するシステムのテスト仕様書が記憶される。
【００１５】
モジュール情報記憶手段１１ｂには、テスト仕様書記憶手段１１ａにテスト仕様書が記憶されるモジュールに関するモジュール情報が記憶される。モジュール情報には、少なくともモジュールの規模、例えば、プログラムのステップ数などの情報が設定される。また、主要機能に関する情報などが設定されていてもよい。
【００１６】
テスト項目類似度算出手段１２は、テスト仕様書記憶手段１１ａからテスト仕様書を読み出し、読み出したテスト仕様書のテスト項目に含まれる語句に基づいてテスト項目間の類似度を算出する。例えば、各テスト項目のテスト手順、入力データ、期待結果などの情報項目ごとの記述を形態素解析し、テスト項目間の類似度を算出する。なお、テスト仕様の作成は属人性が高く、テスト仕様を作成する開発者の能力や経験、システムの理解度によって記述などに差が生じる。そこで、開発者間の類似度を算出し、テスト項目間の類似度を補正するとしてもよい。このとき、開発者類似度が高いほどテスト項目間の類似度が低くなるように補正する。これは、開発者の類似度が高いと、テスト項目間の類似度が高くなりがちになることによる影響を取り除き、算出されるテスト項目間の類似度の精度を上げるための補正である。
【００１７】
グループ化手段１３は、テスト項目類似度算出手段１２が算出したテスト項目間の類似度に基づいて、類似度の高いものが同じグループとなるようにテスト項目をグループ化する。グループ化には、欲張り法などのよく知られている方法を用いることができる。これにより、類似するテスト項目で分類されたテスト項目グループ群が形成される。
【００１８】
テスト仕様評価手段１４は、モジュール情報をモジュール情報記憶手段１１ｂから読み出し、モジュール情報に基づいてこのモジュールに応じた適正テスト項目数を予測する。そして、適正テスト項目数と、このモジュールの仕様書に記述されているテスト項目数（すべてのテスト項目グループのテスト項目数を合算した総数）とを比較して、このモジュールのテスト仕様書を評価する。適正テスト項目数を超えていれば、このテスト仕様書のテスト項目数は十分であると評価される。対象モジュールのテスト仕様書のテスト項目数が、適正テスト項目数よりも少ない場合は、テスト項目数が不足していると評価する。なお、テスト項目数は不足していることが問題であるので、ここでは、テスト項目数が適正テスト項目数を超えていれば適正範囲とするが、多すぎるという評価を加えるようにすることもできる。
【００１９】
不足項目グループ選択手段１５は、テスト仕様評価手段１４による評価に応じて、対象モジュールのテスト仕様書に不足していると予測されるテスト項目グループを選択する。モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、このモジュールに関するテスト項目数の絶対量が足りないので、他のモジュールすべてのテスト仕様書を参照し、一般的に必要度が高いと推定されるテスト項目グループを不足テスト項目グループに選択する。このため、他のモジュールのテスト仕様書に記述されるテスト項目数グループ間の比較に基づいて、このモジュールのテスト仕様書に不足していると予測される不足テスト項目グループを選択する。例えば、他のモジュールのテスト仕様書に記述されるテスト項目数が多いテスト項目グループを不足テスト項目グループに選択する。あるいは、より多くのモジュールのテスト仕様書に出現するテスト項目グループを不足テスト項目グループとしてもよい。一方、テスト項目数が適正範囲にあると評価されたときは、テスト項目数は十分であるので、テスト項目グループごとのテスト項目数のバランスを調整する。このため、テスト項目グループの分布がこのモジュールと類似する類似モジュールのテスト仕様書を検出し、それぞれのテスト項目グループのテスト項目数を比較する。類似するモジュールであれば、テスト項目グループごとのテスト項目数の比率は、同程度であると予測できる。そこで、類似モジュールのテスト項目グループごとのテスト項目数と比較して少ないテスト項目数のテスト項目グループを、不足テスト項目グループにする。こうして、対象モジュールに不足していると予測されるテスト項目グループが選択される。
【００２０】
参考例提示手段１６は、不足項目グループ選択手段１５によって選択された不足テスト項目グループに基づき、このテスト項目グループに含まれる代表的なテスト項目を参考例として開発者に提示する。このとき、必要であれば、このモジュールのテスト仕様書の不足テスト項目グループのテスト項目と、類似モジュールのテスト仕様書の不足テスト項目グループのテスト項目との類似度を算出する。そして、類似度に基づいて、この対象モジュールのテスト仕様書と類似モジュールのテスト仕様書の類似度を評価する。そして、評価に応じて、参考例の抽出対象とする類似モジュールのテスト仕様書を選択する。
【００２１】
このような構成のテスト仕様作成支援装置１０の動作について説明する。
テスト仕様作成支援装置１０は、テスト仕様のチェック指示が入力されると、処理を開始する。まず、テスト項目類似度算出手段１２によって、対象モジュールを含む関連するモジュールのテスト仕様書がテスト仕様書記憶手段１１ａから読み出され、テスト項目間の類似度が算出される。例えば、記述を形態素解析して語句の類似性に基づいて類似度を算出する。また、必要に応じて、開発者間の類似度を算出し、これを用いてテスト項目間の類似度を補正する。次に、グループ化手段１３が、算出されたテスト項目間の類似度に基づいて、テスト項目をいくつかのテスト項目グループにグループ分けする。テスト仕様評価手段１４は、対象モジュールのモジュール情報をモジュール情報記憶手段１１ｂから読み出し、読み出したモジュール情報に基づいてテスト項目数の適正値を算出する。この適正テスト項目数と、対象モジュールのテスト仕様書のテスト項目数とを比較し、対象モジュールのテスト仕様書のテスト項目数が十分であるかどうかを評価する。不足項目グループ選択手段１５は、テスト仕様評価手段１４によってテスト項目数が不足していると評価されたときは、他のモジュールのテスト仕様書のテスト項目グループ間の比較に基づいて、不足テスト項目グループを選択する。例えば、出現するテスト項目数が基準値以上のテスト項目グループ、あるいは出現するモジュールの仕様書数が基準値以上のテスト項目グループを選択する。また、テスト項目数が適正範囲と評価されたときは、テスト項目グループの分布が対象モジュールに類似する類似モジュールのテスト仕様書を検出する。そして、対象モジュールのテスト項目グループと、選択された比較対象モジュールのテスト項目グループとを比較し、対象モジュールに不足する不足テスト項目グループを選択する。参考例提示手段１６は、不足項目グループ選択手段１５が選択した不足項目グループに含まれるテスト項目の代表例を抽出し、参考例として提示する。
【００２２】
このように、テスト項目の記述に含まれる語句に基づいてテスト項目間の類似度を算出し、グループ化することで、テスト内容の類似したテスト項目をまとめることができる。また、開発者間の経験・能力の類似性を算出し、テスト項目間の類似度を補正すれば、開発者間の経験・能力による記述の違いの影響を除外してグループ分けを行うことができる。また、テスト項目をグループとしてまとめることで、各モジュールのテスト仕様書を、個々のテスト項目同士ではなく、テスト項目グループの分布で比較することができる。
【００２３】
さらに、テスト項目グループの分布で比較することにより、どのグループのテスト項目が不足しているのかという視点で判定を行うことができる。また、そのグループから代表的なテスト項目を抽出し、不足候補例として提示することができるので、提示される例が大量にならない。
【００２４】
上記より、テスト仕様作成支援装置１０によれば、開発者は何が本当に不足しているテスト項目であるかを判断しやすくなり、作成したテスト仕様の漏れを軽減することが可能となる。
【００２５】
以下、実施の形態として、複数のモジュールに分割して開発されたシステムに関し、個々のモジュールのテスト仕様の作成を支援する場合を例にとり、いくつかの選択方法について詳細に説明する。
【００２６】
まず、テスト仕様作成支援装置の全体構成及び全体処理について説明する。
図２は、実施の形態のテスト仕様作成支援装置の機能構成例を示すブロック図である。
実施の形態のテスト仕様作成支援装置１００は、プロジェクト辞書（記憶部）１１１、テスト仕様書（記憶部）１１２、開発者情報（記憶部）１１３、及びモジュール情報（記憶部）１１４の記憶部と、仕様チェック入力部１２０、仕様類似度算出部１３０、仕様グループ化部１４０、仕様差異検出部１５０、及び結果出力部１６０の各処理部と、を有する。
【００２７】
プロジェクト辞書（記憶部）１１１には、そのプロジェクトで用いられる語句を定めた辞書が記憶される。テスト仕様書（記憶部）１１２には、各モジュールに関し作成されたテスト仕様書のテスト項目と、その作成者に関する情報とが記憶される。開発者情報（記憶部）１１３には、テスト仕様書を作成した開発者の経験や能力などの情報が記憶される。各情報の詳細は後述する。
【００２８】
仕様チェック入力部１２０は、キーボードやマウスなどを操作して開発者などが行った仕様チェックの要求を入力し、テスト仕様作成支援装置１００による処理を開始させる。
仕様類似度算出部１３０は、テスト項目類似度算出部１３１と、開発者類似度算出部１３２と、を有する。テスト項目類似度算出部１３１は、テスト仕様書（記憶部）１１２からテスト仕様書を読み出し、プロジェクト辞書（記憶部）１１１に記憶されるプロジェクト辞書を用いて、各テスト項目間の距離を評価する。なお、距離は類似度と同義であるとし、距離が短いほど類似度は高くなるとする。開発者類似度算出部１３２は、開発者情報（記憶部）１１３に基づいて開発者間の類似度を算出する。仕様類似度算出部１３０では、テスト項目類似度算出部１３１が算出したテスト項目間の距離を、開発者類似度算出部１３２が算出した開発者間の距離を用いて補正する。
【００２９】
仕様グループ化部１４０は、仕様類似度算出部１３０が算出したテスト項目間距離を用いて、類似するテスト項目をグループ化する。
仕様差異検出部１５０は、テスト仕様評価部１５１と、不足項目グループ選択部１５２と、を有する。テスト仕様評価部１５１は、モジュール情報（記憶部）１１４から対象モジュールのモジュール情報を読み出し、その規模情報を用いて適正なテスト項目数を予測する。そして、対象モジュールのテスト仕様書に記述されるテスト項目数と比較し、テスト項目数が不足しているか否かを評価する。不足項目グループ選択部１５２は、テスト仕様評価部１５１の評価に基づいて、不足する不足テスト項目グループを選択する。対象モジュールのテスト仕様書のテスト項目数が少ないと評価されたときは、他のモジュールのテスト仕様書に記述されるテスト項目グループを参照し、不足テスト項目グループを選択する。対象モジュールのテスト仕様書のテスト項目数が適正範囲と評価されたときは、テスト項目グループの分布が類似する類似モジュールを検出し、類似モジュールのテスト仕様書に記述されるテスト項目グループを参照し、不足テスト項目グループを選択する。
【００３０】
結果出力部１６０は、参考例提示手段であり、仕様差異検出部１５０が検出した不足テスト項目グループに属するテスト項目から参考例を抽出し、抽出した参考例などをチェック結果として出力する。図の例では、結果をモニタ１０８の表示画面に表示する。
【００３１】
テスト仕様作成支援装置１００は、このような機能ブロックにより処理を行う。なお、各機能ブロックは、コンピュータがテスト仕様作成支援プログラムを実行することにより実現される。
【００３２】
ここで、テスト仕様作成支援装置１００のハードウェア構成について説明する。図３は、実施の形態のテスト仕様作成支援装置のハードウェア構成例を示すブロック図である。
テスト仕様作成支援装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、及び通信インタフェース１０６が接続されている。
【００３３】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションのプログラムが格納される。グラフィック処理装置１０４には、モニタ１０８が接続されており、ＣＰＵ１０１からの命令に従って画像をモニタ１０８の画面に表示させる。入力インタフェース１０５には、キーボード１０９ａやマウス１０９ｂが接続されており、キーボード１０９ａやマウス１０９ｂから送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、図示しないネットワークに接続されており、ネットワークを介して他装置との間でデータの送受信を行う。
【００３４】
このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、テスト仕様作成支援装置１００の記憶部に記憶される各情報について説明する。
【００３５】
図４は、プロジェクト辞書の一例を示した図である。プロジェクト辞書１１１０は、そのプロジェクトで用いる語彙を定めたものであり、使用語や不要語、同義語などが定義される。図の例では、不要語１１１１、同義語１１１２が定義されている。
【００３６】
不要語１１１１には、テスト項目間の類似度算出には用いない語句が登録される。ここでは、「＠」や、「川崎」「蒲田」などの地名が不要語に定義されている。
同義語１１１２は、テスト項目間の類似度算出では同じとして取り扱う語句が登録される。例えば、「確認」と「チェック」は同義語であると定義されている。
【００３７】
図５は、テスト仕様書の一例を示した図である。テスト仕様書は、モジュールごとにモジュールのテスト仕様が定義される。テスト仕様書１１２０ａには、対象モジュール名１１２１ａ及びテスト仕様書の作成者名１１２２ａの仕様書の全体情報を示す情報項目と、テスト仕様を示すテスト項目ＩＤ１１２３ａ、テスト手順１１２４ａ、入力データ１１２５ａ、及び期待結果１１２６ａの情報項目とがある。
【００３８】
テスト項目ＩＤ１１２３ａは、テスト項目ごとに一意に付与される識別情報である。テスト手順１１２４ａには、テストの実行手順が、番号順に記述されている。入力データ１１２５ａには、テスト手順１１２４ａに対応して試験者が入力するデータが記述されている。期待結果１１２６ａには、テスト手順１１２４ａに従って入力データ１１２５ａの内容を入力したときに発生するはずのイベントなど、期待される結果が記述される。
【００３９】
例えば、テスト項目ＩＤ１１２３ａが「Ｔ１」のテストでは、テスト手順１１２４ａに、「１．ログインページでＩＤ入力欄に登録済みＩＤ入力、２．パスワード入力欄に正しいパスワード入力」という手順でテストを行うことが設定されている。入力データ１１２５ａには、このときの入力データとして「ＩＤ：ｔｅｓｔ＿ｕｓｅｒ、パスワード：ｔｅｓｔ＿ｕｓｅｒ」を入力することが設定され、期待結果１１２６ａには、このようなテストを行うことにより「登録ＩＤの会員ページに遷移」するという結果が得られることが設定されている。
【００４０】
図６は、テスト仕様書の他の一例を示した図である。テスト仕様書１１２０ｂには、図５のテスト仕様書１１２０ａと同様に、対象モジュール名１１２１ｂ、作成者名１１２２ｂ、テスト項目ＩＤ１１２３ｂ、テスト手順１１２４ｂ、入力データ１１２５ｂ、及び期待結果１１２６ｂの情報項目が定義されている。各情報項目の内容は、図５に示した同じ名称の情報項目と同様である。
【００４１】
例えば、テスト項目ＩＤ１１２３ｂが「Ｔ８」のテストでは、テスト手順１１２４ｂに、「１．数量を全角数字で入力、２．確定ボタンを押下」という手順でテストを行うことが設定されている。入力データ１１２５ｂには、このときの入力データとして「数量：２」を入力することが設定され、期待結果１１２６ｂには、「『数量は半角数字で入力して下さい。』というエラー表示」が設定されている。なお、図は一例であり、対象システムやテストの内容に応じて情報項目などは適宜決められる。
【００４２】
図７は、開発者情報の一例を示した図である。開発者情報１１３０は、テスト仕様書の作成者の能力や経験などが定義される。テスト仕様書の記述は、作成者の能力や経験などが同じであると、同じような記述となることが知られている。
【００４３】
図の例では、開発者情報１１３０には、開発者名１１３１、Ｊａｖａ（登録商標）開発経験１１３２、Ｊａｖａプログラミング能力１１３３、仕様書作成経験１１３４、及び仕様書作成能力１１３５が定義されている。
【００４４】
開発者名１１３１は、開発者の名前であり、テスト仕様書１１２０ａ，１１２０ｂの作成者１１２２ａ，１１２２ｂに対応する。Ｊａｖａ開発経験１１３２、仕様書作成経験１１３４は、この開発者の経験に関する情報である。この例では、経験が長い場合を５として経験を５段階評価で評価している。Ｊａｖａプログラミング能力１１３３、仕様書作成能力１１３５は、この開発者の能力に関する情報である。この例では、能力が高い場合を５として５段階評価で評価している。なお、経験・能力の評価項目は、対象システムに応じて適宜設定される。
【００４５】
図８は、モジュール情報の一例を示した図である。モジュール情報１１４０は、テスト仕様書の対象のモジュールに関する情報が定義される。
図の例では、モジュール情報１１４０には、モジュールを識別するモジュール名１１４１と、このモジュールのプログラムのステップ数で表される規模（ステップ数）１１４２と、が定義されている。モジュールに対する適正なテスト項目数は、その規模に基づいて予測することができる。なお、モジュールの機能に関する情報など、モジュールに関する他の情報がある場合には、これらの情報もモジュール情報１１４０に登録される。
【００４６】
次に、上記のテスト仕様作成支援装置１００の動作、及び実行されるテスト仕様作成支援方法について説明する。以下、全体の処理手順を第１の実施の形態によって説明し、続いて第２から第４の実施の形態として、参考例として提示するテスト項目の選択パターンが異なる実施形態について説明する。なお、第１から第４の実施の形態のテスト仕様作成支援装置が有する処理機能の構成要素は、図２に示した構成要素と同様である。そこで、図２に示した構成要素の符号を用いて機能を説明する。
【００４７】
第１の実施の形態について説明する。
仕様チェック入力部１２０にテスト仕様チェック開始の指示が入力され、処理が開始される。このときまでに、対象システムに関するプロジェクト辞書、テスト仕様書、開発者情報、及びモジュール情報が対応する記憶部に格納される。以下の説明では、図４から図８に示した情報を用いて処理が行われるとする。
【００４８】
仕様類似度算出部１３０により、テスト仕様書（記憶部）１１２に格納されるテスト仕様書に記述される各テスト項目の類似度が算出される。テスト項目類似度算出部１３１では、プロジェクト辞書（記憶部）１１１に記憶されるプロジェクト辞書１１１０を用いて各テスト項目間の距離を評価する。このため、各テスト仕様書に含まれるテスト項目一つ一つをテスト手順、入力データ、及び期待結果の各情報項目から特徴付ける。ここでは、テスト項目ごとに、テスト手順、入力データ、期待結果の各項目の記述をプロジェクト辞書を用いて形態素解析し、ＩＤＦ（Inverse Document Frequency）、ＴＦ（Term Frequency）−ＩＤＦなどを用いてキーワードベクトルとして表す。なお、ＩＤＦ、ＴＦ−ＩＤＦは、文章から特徴的な単語（キーワード）を抽出するためのアルゴリズムの一つである。ＴＦ−ＩＤＦは、キーワードの重要度が、キーワードの出現頻度（ＴＦ）と、逆出現頻度（ＩＤＦ）より算出される。そのアルゴリズムは公知であるので、ここでの詳細な説明は省略する。
【００４９】
図９は、各情報項目のキーワードベクトルの一例を示した図である。キーワードベクトルは、テスト仕様書の情報項目ごとにまとめられる。
テスト手順のキーワードベクトル２１００には、テスト仕様書１１２０ａ，１１２０ｂのテスト手順１１２４ａ，１１２４ｂに対して算出されたキーワードベクトルが、テスト項目に関連付けて登録される。キーワード２１０２には、テスト手順１１２４ａ，１１２４ｂに記述された文章に対し、プロジェクト辞書を用いた形態素解析により得られたキーワードが登録される。そして、テスト項目２１０１ごとに出現するキーワードに対し、ＴＦ−ＩＤＦを用いて算出されたキーワードベクトルが登録される。期待結果のキーワードベクトル２１１０も同様に、テスト仕様書１１２０ａ，１１２０ｂの期待結果１１２６ａ，１１２６ｂに対して算出されたキーワードベクトルが、テスト項目に関連付けて登録される。
【００５０】
例えば、テスト仕様書１１２０ａのテスト手順１１２４ａのモジュール名［Ｍ１］のテスト項目ＩＤ、Ｔ１は、テスト項目２１０１ではＭ１−Ｔ１と表記され、「ログインページ」「ＩＤ」「パスワード」「入力」「全角」「数字」というキーワードについてキーワードベクトルが算出される。ここでは、「ログインページ」「ＩＤ」「パスワード」「入力」は出現するので０．０００以外の値が設定されているが、「全角」「数字」は出現しないので、０．０００が設定される。また、テスト仕様書１１２０ｂのテスト手順１１２４ｂについても同様にしてキーワードベクトルが算出される。
【００５１】
こうして算出されたキーワードベクトルに基づいて、テスト項目間の類似度を算出する。例えば、キーワードベクトルの内積など、テスト項目間の類似度を算出する類似度関数を用いてテスト項目間の類似度を算出する。
【００５２】
図１０は、キーワードベクトルに基づくテスト項目間の類似度の一例である。
テスト項目間の類似度２２００は、それぞれのテスト項目について、このテスト項目と他のテスト項目とにキーワードベクトルから算出された類似度が登録される。
【００５３】
例えば、テスト項目Ｍ１−Ｔ１に対応する行及び列は、テスト項目Ｍ１−Ｔ１と、他のテスト項目（Ｍ１−Ｔ２，Ｍ１−Ｔ３，・・・，Ｍ２−Ｔ１，Ｍ２−Ｔ２，・・・，Ｍ３−Ｔ１，・・・）との類似度になっている。
【００５４】
開発者類似度算出部１３２は、開発者情報（記憶部１１３）に格納される開発者情報１１３０に基づいて、テスト仕様書１１２０ａ，１１２０ｂの作成者間の距離を評価する。開発者の類似度は、能力が近いほど、類似度が高くなるように正規化された値とする。例えば、能力経験項目ｍの開発者ｉの評価値を評価ｍｉ、能力経験項目ｍの開発者ｊの評価を評価ｍｊとする類似関数
【００５５】
【数１】
2009266045.tif 000003
【００５６】
を用いて、開発者間の類似度を算出する。能力経験項目ｍは、開発者情報１１３０に設定される。例えば、Ｊａｖａ開発経験１１３２、Ｊａｖａプログラミング能力１１３３などの項目を指す。開発者情報１１３０に登録される開発者間の各能力経験項目の差分に基づいて開発者間の類似度を算出する。
【００５７】
図１１は、開発者情報に基づく開発者の類似度の一例である。図７の開発者情報１１３０に基づいて、算出された開発者間の類似度が登録される。
例えば、開発者Ｄ１に対応する行及び列は、他の開発者Ｄ２と、開発者Ｄ３との類似度になっている。また、同じ開発者の類似度は、「１．００」としている。
【００５８】
以上の処理で、テスト項目間の類似度と、開発者間の類似度とが算出される。なお、テスト項目類似度算出部１３１及び開発者類似度算出部１３２による処理は、どちらが先に実行されてもよい。また、並行して実行されてもよい。
【００５９】
続いて、算出された開発者間の類似度を用いて、テスト項目間類似度を補正する。例えば、テスト項目間の類似度に開発者間の類似度の逆数を掛けるなどして、開発者間の類似度が高いほどテスト項目間の類似度が低くなるように補正する。この補正を加えることで、開発者の経験や能力による記述の仕方の差を吸収してテスト項目間の類似度を評価することができる。すなわち、開発者間の類似度が高いほど、記述の仕方が似てくるため、テスト項目間の類似度が高くなる傾向にあることを補正することができる。
【００６０】
図１２は、開発者間の類似度で補正を行ったテスト項目間の類似度の一例である。
補正されたテスト項目間の類似度２４００には、図１０に示したテスト項目間の類似度２２００を、図１１に示した開発者間の類似度２３００で補正したテスト項目間の類似度が登録されている。
【００６１】
例えば、モジュールＭ１とモジュールＭ２のテスト仕様書の作成者は開発者Ｄ１、モジュールＭ３のテスト仕様書の作成者は開発者Ｄ２であるとする。開発者間の類似度２３００より、開発者が同じ場合の開発者間の類似度は１．００、開発者Ｄ１と開発者Ｄ２との類似度は０．８７となる。この逆数を対応するテスト項目間の類似度に掛けた値が、補正されたテスト項目間の類似度２４００になる。テスト項目Ｍ１―Ｔ１では、同じ開発者Ｄ１が記述したテスト項目（Ｍ１−Ｔ２，Ｍ１−Ｔ３，・・・，Ｍ２−Ｔ１，Ｍ２−Ｔ２）との間の類似度は変わらないが、開発者Ｄ２が記述したテスト項目Ｍ３−Ｔ１との間の類似度は高くなっている。
【００６２】
仕様グループ化部１４０は、この補正されたテスト項目間の類似度２４００を用いてテスト項目をグループ化する。グループ化は、Ｋ−ｍｅａｎｓ（Ｋ平均）法や、テスト項目間類似度が高いものから一定以上の閾値のテスト項目を欲張り法でまとめるなどの方法を用いる。このようにして、類似するテスト項目をまとめたテスト項目グループが複数生成される。
【００６３】
図１３は、テスト項目グループ群の一例を示した図である。
図の例では、テスト項目は、補正されたテスト項目間の類似度２４００に基づいて、グループＡ２５０１、グループＢ２５０２、グループＣ２５０３、グループＤ２５０４、及びグループＥ２５０５、・・・のテスト項目グループにグルーピングされている。
【００６４】
このようにテスト項目間の記述から算出される類似度を用いてテスト項目をグループ化することで、機能や特徴的な変数に関するテスト項目をまとめることができる。さらに、グループ化したテスト項目をモジュールごとの分布として表すテーブルが作成される。
【００６５】
図１４は、モジュールのテスト項目グループの分布の一例を示した図である。
モジュールのテスト項目グループの分布２６００には、各モジュールのテスト仕様書に記述されたテスト項目のテスト項目グループごとの分布が示されている。図の例では、テスト項目のグループＡ２６０１、グループＢ２６０２、グループＣ２６０３、・・・、グループＥ２６０４というテスト項目グループごとのテスト項目数が登録されている。
【００６６】
例えば、モジュールＭ１のテスト仕様書に記述されるテスト項目グループの分布は、グループＡ２６０１には２、グループＢ２６０２には１、グループＣ２６０３には０、グループＥ２６０４には０、・・・という分布であることが登録されている。同様に、モジュールＭ２，Ｍ３，Ｍ４，Ｍ５のテスト項目グループの分布が登録されている。また、総テスト項目数（モジュール単位）２６０５には、各モジュールのテスト項目数の総和が登録されている。
【００６７】
さらに、モジュールのテスト項目グループの分布２６００には、テスト項目グループごとの総テスト項目数（グループ単位）２６０６と、出現モジュール数２６０７とが設定されている。総テスト項目数（グループ単位）２６０６は、全モジュールのテスト仕様書に出現するこのテスト項目グループに属するテスト項目の総和である。例えば、グループＡ２６０１に属するテスト項目の全モジュールを合算した総和は、５４である。総テスト項目数（グループ単位）を比較することにより、どのテスト項目グループのテスト項目が多いのかがわかる。出現モジュール数２６０７は、このグループのテスト項目が出現するモジュールの総和である。例えば、グループＡに属するテスト項目は、モジュールＭ１、モジュールＭ２、及びモジュールＭ５で出現し、モジュールＭ３とモジュールＭ４では出現しない。このように、全モジュールをチェックし、対象のテスト項目グループに属するテスト項目が出現するモジュール数２６０７を決定する。例えば、グループＡ２６０１に属するテスト項目が出現するモジュールは、全部で６であることが登録されている。
【００６８】
仕様差異検出部１５０は、こうしてテスト項目グループごとに分類されたモジュールのテスト項目グループの分布２６００に基づいて、各モジュールのテスト仕様書間の差異を検出し、対象モジュールのテスト仕様書に不足する不足テスト項目グループを検出する。
【００６９】
まず、テスト仕様評価部１５１は、モジュール情報１１４０の規模（ステップ数）に基づいて、各モジュールに適正なテスト項目数を予測する。プログラムのステップ数から、必要なテスト項目数を予測する既存の方法を用いて算出する。
【００７０】
図１５は、モジュールの適正テスト項目数の一例である。
モジュールの適正テスト項目数２７００には、モジュール名２７０１、規模（ステップ）２７０２、及び予測テスト項目数２７０３が登録される。このうち、モジュール名２７０１と規模（ステップ）２７０２の内容は、モジュール情報１１４０と同じである。予測テスト項目数２７０３は、モジュールの規模に基づいて算出された、適正と認められる予測テスト項目数が登録される。例えば、モジュールＭ１については、予測テスト項目数２７０３として、「２８〜３３」が適正であることが登録されている。
【００７１】
こうして算出されたモジュールの適正テスト項目数２７００の予測テスト項目数２７０３と、モジュールのテスト項目グループの分布２６００のモジュールごとの総テスト項目数（モジュール単位）２６０５とを照合し、モジュールのテスト仕様書を評価する。例えば、モジュールＭ１の総テスト項目数は「３１」であり、予測テスト項目数の「２８〜３３」の範囲内にある。したがって、モジュールＭ１の仕様書のテスト項目数は適正であると評価される。モジュールＭ２の総テスト項目数は「３４」であり、予測テスト項目数の「２８〜３３」の範囲内にある。したがって、モジュールＭ２の仕様書のテスト項目数も適正であると評価される。モジュールＭ３の総テスト項目数は「６２」であり、予測テスト項目数の「６０〜７２」の範囲内にある。したがって、モジュールＭ３の仕様書のテスト項目数も適正であると評価される。しかし、モジュールＭ４の総テスト項目数は「３５」であり、予測テスト項目数の「６０〜７２」よりも不足している。したがって、モジュールＭ４の仕様書のテスト項目数は不足していると評価される。そして、モジュールＭ５の総テスト項目数は「９１」であり、予測テスト項目数の「８２〜１０２」の範囲内にある。したがって、モジュールＭ５の仕様書のテスト項目数は適正であると評価される。
【００７２】
こうして、各モジュールの仕様書のテスト項目数が適正であるかどうかが評価される。
次に、不足項目グループ選択部１５２は、評価結果から各モジュールのテスト仕様書に不足するテスト項目テーブルを選択する。テスト項目数が不足しているという評価の場合と、テスト項目数は不足していない（適正範囲内である）という評価の場合、それぞれの不足項目グループ選択処理について説明する。
【００７３】
上記の例では、モジュールＭ４のテスト仕様書に記述されるテスト項目数は不足していると評価されている。このような場合には、他のモジュールに出現するテスト項目数が多い順にテスト項目グループを選択する。他のモジュールに出現するテスト項目数は、モジュールのテスト項目グループの分布２６００におけるテスト項目グループごとの総テスト項目数（グループ単位）２６０６を参照し、総テスト項目数（グループ単位）２６０６に登録されるテスト項目数が多い順に不足テスト項目グループを選択する。
【００７４】
例えば、モジュールのテスト項目グループの分布２６００の総テスト項目数（グループ単位）２６０６は、グループＡが５４、グループＢが５４、グループＣが６７、グループＥが１２８、と登録されている。この場合、総テスト項目数の多い順、グループＥ、グループＣ、グループＡ、グループＢの順で、予め決められた数の不足テスト項目グループを選択する。なお、ここでは、総テスト項目数（グループ単位）２６０６の値で不足テスト項目グループの選択順を決めたが、総テスト項目数から対象モジュール（ここでは、モジュールＭ４）のテスト項目数を減算してから選択処理を行うとしてもよい。
【００７５】
一方、テスト項目数は不足していないと評価されたモジュールのテスト仕様書は、テスト項目グループの分布のバランスがとれているかどうかがチェックされる。このため、テスト項目グループの分布が対象モジュールのテスト仕様書と類似する類似モジュールのテスト仕様書を検索する。そして、この類似モジュールのテスト仕様書と対象モジュールのテスト仕様書との各テスト項目グループのテスト項目数を比較する。類似モジュールのテスト仕様書には出現するのに対象モジュールには出現しないテスト項目グループや、類似モジュールでの出現数に比べると、対象モジュールでの出現数が少ないテスト項目グループを不足テスト項目グループとして選択する。
【００７６】
例えば、モジュールのテスト項目グループのテスト項目数が、このモジュールのテスト項目総数に占める比率の近さを評価して、値が小さい順（類似度の高い順）に予め決めた個数のモジュールを類似モジュールとして選択する。具体的には、モジュールｉのグループｇのテスト項目数がモジュールｉの総テスト項目数に占める比率を（項目数ｉｇ／項目数ｉ）とし、モジュールｊの同じグループｇのテスト項目数がモジュールｊの総テスト項目数に占める比率を（項目数ｊｇ／項目数ｊ）とし、
【００７７】
【数２】
2009266045.tif 000004
【００７８】
を用いてモジュールのテスト仕様書間のテスト項目グループの分布の類似度を算出し、類似モジュールを選択する。
図１６は、類似モジュールの一例を示した図である。
【００７９】
類似モジュール２８００には、対象モジュール２８１０と、選択された類似モジュール２８２０のテスト項目グループ分布が登録される。図の例では、対象モジュール２８１０にはモジュールＭ３、類似モジュール２８２０には、モジュールＭ５、モジュールＭ６及びモジュールＭ７が登録されている。そして、それぞれのモジュールに関するテスト項目グループの分布が、グループＡ２８０１、グループＢ２８０２、グループＣ２８０３、・・・、グループＥ２８０４、・・・ごとのテスト項目数として登録されている。
【００８０】
ここで、総テスト項目数や予測テスト項目数に対する各テスト項目グループに属するテスト項目数の割合を比較すると、モジュールＭ３は、他の類似モジュールに比べてテスト項目グループＢと、テスト項目グループＣに属するテスト項目数が少ないことが検出できる。そこで、モジュールＭ３に対して、テスト項目グループＢと、テスト項目グループＣとを不足テスト項目グループに選択する。
【００８１】
結果出力部１６０は、モジュールＭ３のテスト仕様書に関する参考例として、テスト項目グループＢについては、モジュールＭ５、モジュールＭ６、及びモジュールＭ７のテスト項目グループＢに属する任意のテスト項目が選択される。また、テスト項目グループＣについては、モジュールＭ６に登録がないので、モジュールＭ５及びモジュールＭ７のテスト項目グループＣに属する任意のテスト項目が選択される。
【００８２】
図１７は、モジュールＭ３に対する参考例表示画面の一例を示した図である。
モジュールＭ３のテスト仕様書に対応する参考例表示画面３１００には、テスト項目グループ名３１０１と、参考テスト項目３１０２，３１０３，３１０４が提示される。
【００８３】
テスト項目グループ名３１０１には、参考例として仕様差異検出部１５０によってモジュールＭ３のテスト仕様書に不足しているとして選択されたテスト項目グループ「グループＣ」が提示される。参考テスト項目３１０２，３１０３，３１０４には、仕様差異検出部１５０において類似モジュールとして検出されたモジュールＭ５及びモジュールＭ７に記述されているテスト項目のうち、テスト項目グループＣに属する任意のテスト項目が選択されて表示される。図の例では、参考テスト項目３１０２にはモジュールＭ５のテスト項目Ｔ１、参考テスト項目３１０３にはモジュールＭ７のテスト項目Ｔ２、参考テスト項目３１０４にはモジュールＭ７のテスト項目Ｔ１の記述が各モジュールのテスト仕様書（記憶部）１１２から抽出されて表示されている。
【００８４】
図１７では、不足テスト項目グループから１つを選択して参考例として表示していたが、複数の不足テスト項目グループの参考例を１画面に表示させることもできる。
図１８は、複数グループの参考テスト項目を表示する参考例表示画面の一例を示した図である。
【００８５】
モジュールＭ４のテスト仕様書に対応する参考例表示画面３１１０には、複数のテスト項目グループ名３１１１，３１１２と、それぞれのテスト項目グループから抽出された参考テスト項目が提示される。
【００８６】
テスト項目グループ名３１１１には「グループＥ」が提示されており、不足テスト項目グループＥの参考テスト項目を提示することを示している。そして、不足テスト項目グループＥから選択されたテスト項目Ｍ３−Ｔ８、テスト項目Ｍ３−Ｔ９及びテスト項目Ｍ５−Ｔ１０がテスト仕様書（記憶部）１１２から抽出され、テスト項目グループ名３１１１に続けて表示されている。同様に、テスト項目グループ名３１１２には「グループＣ」が提示されており、不足テスト項目グループＣから選択されたテスト項目Ｍ５−Ｔ１、テスト項目Ｍ５−Ｔ３及びテスト項目Ｍ７−Ｔ１が、テスト項目グループ名３１１２に続けて表示されている。
【００８７】
次に、第１の実施の形態において実行されるテスト仕様作成支援処理の手順を、フローチャートを用いて説明する。
図１９は、第１の実施の形態のテスト仕様作成支援処理の手順を示したフローチャートである。開発者などからのチェック要求を受けつけると、対象テスト仕様書のチェックを開始させる。
【００８８】
［ステップＳ０１］  テスト仕様書を読み出し、テスト項目に記述される語句の類似性を測定するなどして、テスト項目間の類似度を算出する。
［ステップＳ０２］  テスト仕様書を作成した開発者の経験年数や各種スキルなど、開発者の経験・能力の類似性で開発者間の類似度を算出する。
【００８９】
［ステップＳ０３］  ステップＳ０１で算出されたテスト項目間の類似度と、ステップＳ０２で算出された開発者間の類似度とに基づき、テスト項目の類似度を、これを作成した開発者間の類似度で補正する。ここでは、開発者間の類似度が高いほど、テスト項目の類似度が下がるように補正を行う。これにより、開発者間の経験・能力による記述の違いの影響を小さくする。
【００９０】
［ステップＳ０４］  ステップＳ０３によって補正されたテスト項目間の類似度に基づいて、テスト項目をグループ化する。例えば、欲張り法などの手法を用いて類似するテスト項目をグループにまとめる。
【００９１】
［ステップＳ０５］  各モジュールの仕様書のテスト項目グループの分布を算出する。モジュールの仕様書に記述されるテスト項目の数をテスト項目グループごとにカウントし、テスト項目グループごとのテスト項目数を算出する。
【００９２】
［ステップＳ０６］  モジュールの規模などが登録されるモジュール情報に基づいて、モジュールのテストに必要な総テスト項目数を予測する。総テスト項目数は、全てのテスト項目グループのテスト項目数の総和に相当する。
【００９３】
［ステップＳ０７］  対象モジュールのテスト仕様書に実際に記述されている総テスト項目数（以下、実績テスト項目数とする）を算出する。例えば、テスト項目グループごとに算出されたテスト項目数を合算して実績テスト項目数を得る。そして、実績テスト項目数と、対象モジュールに関する総テスト項目数の予測（以下、予測項目数とする）とを比較する。
【００９４】
［ステップＳ０８］  ステップＳ０７による比較の結果、実績テスト項目数が予測項目数の許容範囲内であるかどうかが判定される。許容範囲よりも不足していれば、テスト項目数不足として、処理をステップＳ０９に進める。許容範囲内であれば、テスト項目数は許容範囲内であるとして、処理をステップＳ１０に進める。
【００９５】
［ステップＳ０９］  予測項目数に対して実績テスト項目数が不足している場合は、テスト項目不足時の参考テスト項目提示処理を行い、処理を終了する。詳細は後述する。
［ステップＳ１０］  実績テスト項目数が予測項目数の許容範囲内である場合は、テスト項目数が適正時の参考テスト項目提示処理を行い、処理を終了する。詳細は後述する。
【００９６】
続いて、テスト項目不足時の参考テスト項目提示処理及びテスト項目数が適正時の参考テスト項目提示処理について説明する。
図２０は、第１の実施の形態のテスト項目不足時の参考テスト項目提示処理の手順を示したフローチャートである。対象のモジュールのテスト仕様書のテスト項目数が不足していると判定された場合に、処理が実行される。
【００９７】
［ステップＳ１０１］  他のモジュールについて、テスト項目グループごとのテスト項目数を比較する。例えば、テスト項目グループごとに算出された全モジュールのテスト仕様書に記述されるテスト項目をカウントしたテスト項目数を比較する。
【００９８】
［ステップＳ１０２］  他のモジュールに登録されるテスト項目数が多いテスト項目グループは、対象のモジュールについてもテスト項目数が多くなると予測されるので、テスト項目数が多い順にテスト項目グループを選択し、不足テスト項目グループにする。例えば、テスト項目数が多い順に決められた数のテスト項目グループを不足テスト項目グループに選択する。
【００９９】
［ステップＳ１０３］  ステップＳ１０２で選択された不足テスト項目グループの任意のテスト項目が参考テスト項目として抽出される。参考テスト項目は、予め決められた所定の数になるまで抽出される。
【０１００】
［ステップＳ１０４］ステップＳ１０３で抽出された参考テスト項目を、不足テスト項目グループ名とともに、開発者に提示する。
図２１は、第１の実施の形態のテスト項目数が適正時の参考テスト項目提示処理の手順を示したフローチャートである。対象のモジュールの実績テスト項目数が、予測テスト項目数に応じた許容範囲内にあるとき、処理が開始される。
【０１０１】
［ステップＳ１１１］  実績テスト項目数が予測項目数の許容範囲内である場合は、テスト項目グループの分布が類似する類似モジュールを検出する。例えば、モジュールのテスト仕様書に記述される総テスト項目数に対するテスト項目グループのテスト項目数の比率を全てのテスト項目グループについて算出し、テスト項目グループごとのテスト項目の比率パターンが近い順に、決められた数のモジュールを類似モジュールに選択する。
【０１０２】
［ステップＳ１１２］  対象モジュールと、類似モジュールのテスト項目グループのテスト項目数の割合を比較する。
［ステップＳ１１３］  類似モジュールと比較して、対象モジュールの方がテスト項目グループのテスト項目数の割合が低いテスト項目グループは、テスト項目数が不足していると予測されるので、このテスト項目グループを不足テスト項目グループに選択する。
【０１０３】
［ステップＳ１１４］  ステップＳ１１３で選択された不足テスト項目グループの任意のテスト項目が参考テスト項目として抽出される。参考テスト項目は、予め決められた所定の数になるまで抽出される。
【０１０４】
［ステップＳ１１５］ステップＳ１１４で抽出された参考テスト項目を、不足テスト項目グループ名とともに、開発者に提示する。
以上の処理手順が実行されることにより、類似するテスト項目がグループ化されたテスト項目グループに基づき、対象モジュールのテスト仕様書に不足していると予測されるテスト項目グループが選択される。そして、このテスト項目グループに属するテスト項目が、参照例として提示される。
【０１０５】
このように、テスト項目は、そこに含まれる語句からテスト項目同士の類似度を測定し、それを作成した開発者間の経験・能力の類似性で補正後、グループ化される。これにより、開発者間の経験・能力による記述の違いの影響を小さくし、テスト内容そのものに基づいて類似したテスト項目をグループにまとめることができる。また、テスト項目をいくつかのグループにまとめることで、各モジュールのテスト仕様書を細かい機能や変数、操作などによるまとまり（グループ）単位でテスト項目数を比較することができる。したがって、単に総テスト項目数と予測される適正テスト項目数を比較してテスト項目が不足しているかどうかを判別する場合に比べ、どのようなテスト項目が不足している可能性があるのかを明示的に示すことができる。また、参考例はそのグループからテスト項目が選択されて提示されるため、提示される例が大量にならない。この結果、何が本当に不足しているテスト項目であるかを判断しやすくなるという効果も得られる。
【０１０６】
さらに、記述されているテスト項目数が全体として不足していない場合には、グループ単位でテスト項目数を比較することによって、ある種類のテストが不足しているかどうかを示すことができる。このとき、全てのモジュールと比較するのではなく、テスト項目の分布が近い、つまり、実現する機能やその中で扱う変数や操作が近いモジュールを検出し、検出されたモジュールのみとグループ単位でテスト項目を比較することができる。これにより、一般的には多く設定されるテスト項目ではあるが、対象としているモジュールには必要のないテスト項目を不足可能性があるとして誤って提示することを防ぐ効果も得られる。
【０１０７】
次に、第２の実施の形態について説明する。第２の実施の形態では、テスト項目数が不足していると評価されたモジュールに対するテスト項目グループの選択処理が第１の実施の形態と異なる。第１の実施の形態では、他のモジュールに記述されるテスト項目数の多い順に選択するとしたが、第２の実施の形態では、出現するモジュール数が多い順にテスト項目グループを選択する。
【０１０８】
例えば、図１４に示したモジュールのテスト項目グループの分布２６００に基づき、第１の実施の形態では、総テスト項目数（グループ単位）２６０６の値を参照して、値の大きい方からグループＥ、グループＣ、グループＡ、グループＢの順で不足テスト項目グループが選択されていた。これに対し、第２の実施の形態では、それぞれのテスト項目グループのテスト項目が出現するモジュール数を登録した出現モジュール数２６０７に基づき、不足テスト項目グループを選択する。図の例では、グループＥ、グループＡ、グループＢ、グループＣの順に、予め決められた数のテスト項目グループが選択される。
【０１０９】
このように、テスト項目グループのテスト項目数ではなく、出現モジュール数が多いテスト項目グループを選択することで、モジュール全般に必要なテスト項目が明らかになる。これにより、テスト項目が少ないモジュールにおいて、多くのモジュールで採用されているテスト項目グループ、すなわち、一般的に必要なテスト項目が漏れていないかを確認する助けとなる。
【０１１０】
ここで、第２の実施の形態のテスト仕様作成処理の手順について説明する。全体的な処理は、図１９に示した第１の実施の形態のテスト仕様作成処理の手順と同じである。図２０に示したテスト項目数が不足時の参考テスト項目提示処理が異なるので、その処理手順を説明する。
【０１１１】
図２２は、第２の実施の形態のテスト項目数が不足時の参考テスト項目提示処理の手順を示したフローチャートである。
［ステップＳ２０１］  他のモジュールについて、テスト項目グループごとに、このテスト項目グループのテスト項目が出現するモジュールの数を合算した総モジュール数を比較する。
【０１１２】
［ステップＳ２０２］  より多くのモジュールのテスト仕様書に出現するテスト項目グループは、テスト項目数によらず、一般的に重要なテスト項目グループであると予測される。そこで、出現する総モジュール数が多い順にテスト項目グループを選択し、不足テスト項目グループにする。例えば、総モジュール数が多い順に決められた数のテスト項目グループを不足テスト項目グループに選択する。
【０１１３】
［ステップＳ２０３］  ステップＳ２０２で選択された不足テスト項目グループの任意のテスト項目が参考テスト項目として抽出される。参考テスト項目は、予め決められた所定の数になるまで抽出される。
【０１１４】
［ステップＳ２０４］ステップＳ２０３で抽出された参考テスト項目を、不足テスト項目グループ名とともに、開発者に提示する。
以上の処理手順が実行されることにより、より多くのモジュールのテスト仕様書に出現するテスト項目グループから参考テスト項目が選択され、開発者に提示される。これにより、一般的に広く採用されているテスト項目の漏れを防止することができる。
【０１１５】
次に、第３の実施の形態について説明する。第３の実施の形態では、テスト項目数が不足していないと評価されたモジュールに対する参考テスト項目の選択処理が第１の実施の形態と異なる。すなわち、第１の実施の形態では、類似モジュールのテスト仕様書から、不足テスト項目グループとして選択されたテスト項目グループに属する任意のテスト項目が選択され、参考テスト項目に提示される。これに対し、第３の実施の形態では、類似モジュールとして選択された複数のモジュールを、対象モジュールとのテスト項目間類似度で評価する。そして、テスト項目間類似度が高い類似モジュールから、参考テスト項目を抽出する。
【０１１６】
第３の実施の形態において、実績テスト項目数が予測項目数の許容範囲内であった場合に、テスト項目グループの分布が類似する類似モジュールを検出し、不足テスト項目グループを選択するまでの処理手順は、第１の実施の形態と同様である。
【０１１７】
例えば、図１６に示したように、対象モジュールＭ３に対して、類似モジュールとしてモジュールＭ５、モジュールＭ６及びモジュールＭ７が検出され、不足テスト項目グループとしてグループＢ及びグループＣが選択される。
【０１１８】
第３の実施の形態では、その後、こうして検出された対象モジュールＭ３と、類似モジュールとの間のテスト項目間の類似度に基づき、類似モジュールを評価する。対象モジュールＭ３と類似モジュールとの間のテスト項目間の類似度は、仕様類似度算出部１３０により算出されたテスト項目間の類似度から、該当する箇所を抽出することにより得られる。具体的には、図１２に示した補正されたテスト項目間の類似度２４００から、対象モジュールＭ３と、類似モジュール、モジュールＭ５、モジュールＭ６及びモジュールＭ７との間のテスト項目間の類似度を抽出する。
【０１１９】
図２３は、対象モジュールと類似モジュールとの間のテスト項目間の類似度を示した図である。
対処モジュールと類似モジュールとの間のテスト項目間類似度２９００には、補正されたテスト項目間の類似度２４００から抽出された対象モジュールと類似モジュールとの間のテスト項目間の類似度が登録される。ここでは、行方向に対象モジュール２９０１のテスト項目名が配置され、列方向に類似モジュール２９０２のテスト項目名が配置されている。図の例では、対象モジュール２９０１のテスト項目名に、モジュールＭ３のテスト項目Ｍ３−Ｔ１，Ｍ３−Ｔ３と並んでいる。なお、（）内はテスト項目が分類されたテスト項目グループ名を示している。類似モジュール２９０２のテスト項目名も同様に、類似モジュールＭ５、モジュールＭ６及びモジュールＭ７のテスト項目が並んでいる。そして、対象モジュールのテスト項目名と、類似モジュールのテスト項目名との交点が、そのテスト項目間の類似度になる。
【０１２０】
この対象モジュールと類似モジュールのテスト項目間類似度に基づき、各モジュールの類似度を算出する。例えば、モジュールｉのテスト項目をＫ、モジュールｊのテスト項目をＬとして、
【０１２１】
【数３】
2009266045.tif 000005
【０１２２】
を用いて算出する。このとき、テスト項目グループごとに重み付けを行って類似度を評価してもよい。
こうして算出されたモジュールＭ３に対する類似モジュールの類似度が、モジュールＭ５＝０．４８、モジュールＭ６＝０．５４、モジュールＭ７＝０．４１であったとする。この場合、モジュールＭ３に近い順、すなわち、類似度の高いモジュールＭ６、モジュールＭ５、モジュールＭ７の順に、参考テスト項目を選択する。
【０１２３】
モジュールＭ３の例では、不足テスト項目グループとして、グループＢとグループＣとが選択されている。例えば、図１６に示した類似モジュール２８００のように、類似モジュール、モジュールＭ５、モジュールＭ６及びモジュールＭ７のテスト項目が分布していたとする。この場合、不足テスト項目グループＢの参考テスト項目として、まず、モジュールＭ６のテスト項目グループＢに属する５つのテスト項目から予め決められた数のテスト項目が選択されて提示される。なお、モジュールＭ６のテスト項目数が予め決められた数より少ない場合は、モジュールＭ５、モジュールＭ７の順に、テスト項目が選択される。また、不足テスト項目グループＣの参考テスト項目は、モジュールＭ６にテスト項目グループＢのテスト項目がないことからモジュールＭ５から選択される。
【０１２４】
テスト項目グループの分布の仕方が類似しているモジュールというのは、テストの傾向が類似しているということである。この類似グループ内で、テスト項目に着目してモジュール間類似性をとることで、テストの傾向だけでなく、個々のテスト項目の内容が類似したモジュールのテスト仕様書から参考テスト項目を選択することができる。これにより、対象モジュールにより機能や変数、操作が関係するテスト項目を参考例として提示することができる。
【０１２５】
ここで、第３の実施の形態のテスト仕様作成処理の手順について説明する。全体的な処理は、図１９に示した第１の実施の形態のテスト仕様作成処理の手順と同じである。図２１に示したテスト項目数が適正時の参考テスト項目提示処理が、第１の実施の形態の処理手順と異なるので、その処理手順を説明する。
【０１２６】
図２４は、第３の実施の形態のテスト項目数が適正時の参考テスト項目提示処理の手順を示したフローチャートである。
［ステップＳ３０１］  テスト項目グループの分布が類似する類似モジュールを検出する。
【０１２７】
［ステップＳ３０２］  対象モジュールと、類似モジュールのテスト項目グループのテスト項目数の割合を比較する。
［ステップＳ３０３］  類似モジュールと比較して、対象モジュールの方がテスト項目グループのテスト項目数の割合が低いテスト項目グループは、テスト項目数が不足していると予測されるので、このテスト項目グループを不足テスト項目グループに選択する。
【０１２８】
［ステップＳ３０４］  テスト項目のグループ分け時に算出されたテスト項目間の類似度から、対象モジュールと類似モジュールのテスト項目間の類似度を抽出する。なお、新たに算出するとしてもよい。そして、そのテスト項目間の類似度に基づいて、対象モジュールに対する類似モジュールの類似度を算出する。このとき必要であれば、テスト項目グループに応じてテスト項目間類似度を重み付けしてもよい。
【０１２９】
［ステップＳ３０５］  ステップＳ３０４において算出されたモジュール間の類似度に基づき、対象モジュールに対する類似度の高い順に、参考テスト項目を抽出するモジュールを決定する。
【０１３０】
［ステップＳ３０６］  ステップＳ３０５で選択された参考テスト項目を抽出し、開発者に提示する。
以上の処理手順が実行されることにより、テスト項目グループの分布が類似する類似モジュールからより細かい機能等に関連するテスト項目を提示することができる。
【０１３１】
次に、第４の実施の形態について説明する。第３の実施の形態では、テスト項目数が許容範囲内であると評価されたモジュールに対する参考テスト項目提示処理が第１の実施の形態及び第３の実施の形態と異なる。
【０１３２】
すなわち、第３の実施の形態では、類似モジュールとして選択された複数のモジュールを、対象モジュールとのテスト項目間類似度で評価し、テスト項目間類似度が高い類似モジュールから、参考テスト項目を抽出する。これに対し、第４の実施の形態では、テスト項目間類似度が低い類似モジュールから参考テスト項目を抽出する。
【０１３３】
第４の実施の形態において、テスト項目グループの分布が類似する類似モジュールと、対象モジュールとの間のテスト項目間類似度に基づいて、類似モジュールの類似度を評価するまでの処理は、第３の実施の形態と同様である。
【０１３４】
例えば、第３の実施の形態と同様に、式（３）を用いてモジュール間の類似度を算出し、モジュールＭ３に対する類似モジュールの類似度として、モジュールＭ５＝０．４８、モジュールＭ６＝０．５４、モジュールＭ７＝０．４１という値が得られたとする。
【０１３５】
第４の実施の形態では、最も遠い、すなわち、類似度が低い方から参考テスト項目を選択する。不足テスト項目グループがグループＢの場合、最も遠いモジュールＭ７のグループＢに属するテスト項目から順に参考テスト項目が選択される。不足テスト項目グループがグループＣの場合も同様である。
【０１３６】
テスト項目グループは、他のテスト項目と比較すると似ているテスト項目同士が集まっている。しかし、一般的には、まったく同じテスト項目はなく、どこか異なっている。例えば、テスト項目の漏れのパターンとして、ある変数についてテストしたことを別の変数についてもテストを行うなど、一部変更があるようなテスト項目を作成し損なっている場合がある。この場合、既に作成しているテスト項目とはできるだけ異なるテスト項目を作成しているモジュールから参考テスト項目を選択することで、不足テスト項目グループに属するテスト項目のバリエーションを増やすことができる。
【０１３７】
ここで、第４の実施の形態のテスト仕様作成処理の手順について説明する。全体的な処理は、図１９に示した第１の実施の形態のテスト仕様作成処理の手順と同じである。図２１に示したテスト項目数が適正時の参考テスト項目提示処理が、第１の実施の形態の処理手順と異なるので、その処理手順を説明する。
【０１３８】
図２５は、第４の実施の形態のテスト項目数が適正時の参考テスト項目提示処理の手順を示したフローチャートである。
［ステップＳ４０１］  テスト項目グループの分布が類似する類似モジュールを検出する。
【０１３９】
［ステップＳ４０２］  対象モジュールと、類似モジュールのテスト項目グループのテスト項目数の割合を比較する。
［ステップＳ４０３］  類似モジュールと比較して、対象モジュールの方がテスト項目グループのテスト項目数の割合が低いテスト項目グループは、テスト項目数が不足していると予測されるので、このテスト項目グループを不足テスト項目グループに選択する。
【０１４０】
［ステップＳ４０４］  テスト項目のグループ分け時に算出されたテスト項目間の類似度から、対象モジュールと類似モジュールのテスト項目間の類似度を抽出する。なお、新たに算出するとしてもよい。そして、そのテスト項目間の類似度に基づいて、対象モジュールに対する類似モジュールの類似度を算出する。このとき必要であれば、テスト項目グループに応じてテスト項目間類似度を重み付けしてもよい。
【０１４１】
［ステップＳ４０５］  ステップＳ４０４において算出されたモジュール間の類似度に基づき、対象モジュールに対する類似度の低い順に、参考テスト項目を抽出するモジュールを決定する。
【０１４２】
［ステップＳ４０６］  ステップＳ４０５で選択された参考テスト項目を抽出し、開発者に提示する。
以上の処理手順が実行されることにより、対象モジュールにテスト項目グループの分布が類似する類似モジュールのうち、対象モジュールのテスト仕様書のテスト項目との間の類似度が低い類似モジュールから参考テスト項目が選択される。
【０１４３】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、テスト仕様作成支援装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【０１４４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１４５】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１４６】
以上の実施の形態１〜４を含む実施形態に関し、更に以下の付記を開示する。
（付記１）  ソフトウェアのテスト仕様作成を支援する処理をコンピュータに行わせるテスト仕様作成支援プログラムにおいて、
コンピュータを、
前記ソフトウェアを分割したモジュールごとに作成されたテスト仕様書をテスト仕様書記憶手段から読み出し、前記テスト仕様書のテスト項目に含まれる語句に基づいて前記テスト項目間の類似度を算出するテスト項目類似度算出手段、
算出された前記テスト項目間の類似度に基づいて類似する前記テスト項目をグループ化して、テスト項目グループ群を生成するグループ化手段、
前記モジュールに関するモジュール情報をモジュール情報記憶手段から読み出し、前記モジュール情報に基づいて前記モジュールに対する適性テスト項目数を予測し、該モジュールのテスト仕様書のテスト項目数と前記適正テスト項目数とを比較して該モジュールのテスト仕様書を評価するテスト仕様評価手段、
該モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、他のモジュールのテスト仕様書に記述される前記テスト項目グループ間の比較に基づいて該モジュールのテスト仕様書に不足していると予測される不足テスト項目グループを選択し、該モジュールのテスト仕様書のテスト項目数が適正範囲と評価された場合は、前記テスト項目グループの分布が類似する類似モジュールのテスト仕様書を検出し、前記類似モジュールのテスト仕様書に記述される前記テスト項目グループとの比較に基づいて該モジュールのテスト仕様書に不足していると予測される前記不足テスト項目グループを選択する不足項目グループ選択手段、
前記不足項目グループ選択手段によって選択された前記不足テスト項目グループに属する前記テスト項目を選択し、参考例として提示する参考例提示手段、
として機能させることを特徴とするテスト仕様作成支援プログラム。
【０１４７】
（付記２）  前記テスト項目類似度算出手段に、前記テスト仕様書を作成した開発者に関する開発者情報を記憶する開発者情報記憶手段から前記開発者情報を読み出し、読み出した前記開発者情報に基づいて前記テスト仕様書を作成した前記開発者間の類似度を算出し、算出された前記開発者間の類似度に基づいて前記テスト項目間の類似度を補正させる、ことを特徴とする付記１記載のテスト仕様作成支援プログラム。
【０１４８】
（付記３）  前記テスト項目類似度算出手段に、前記開発者間の類似度が高いほど前記テスト項目間の類似度が低くなるよう補正を行わせる、ことを特徴とする付記２記載のテスト仕様作成支援プログラム。
【０１４９】
（付記４）  前記不足項目グループ選択手段に、該モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、前記他のモジュールのテスト仕様書に記述される前記テスト項目グループのテスト項目数を比較し、前記テスト項目グループのテスト項目数が多い順に前記不足テスト項目グループを選択させる、ことを特徴とする付記１又は２記載のテスト仕様作成支援プログラム。
【０１５０】
（付記５）  前記不足項目グループ選択手段に、該モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、前記テスト項目グループごとに前記他のモジュールのテスト仕様書において該テスト項目グループに属する前記テスト項目が記述される前記他のモジュールのテスト仕様書の総数を比較し、記述される前記他のモジュールのテスト仕様書の総数が多い順に前記不足テスト項目グループを選択させる、ことを特徴とする付記１又は２記載のテスト仕様作成支援プログラム。
【０１５１】
（付記６）  前記不足項目グループ選択手段に、該モジュールのテスト仕様書のテスト項目数が適正範囲と評価された場合は、該モジュールの前記テスト項目グループごとのテスト項目数と、前記類似モジュールの前記テスト項目グループごとのテスト項目数と比較し、該モジュールのテスト仕様書の方が少ない前記テスト項目グループを前記不足テスト項目グループに選択させる、ことを特徴とする付記１、２、４又は５記載のテスト仕様作成支援プログラム。
【０１５２】
（付記７）  前記参考例提示手段に、前記不足項目グループ選択手段によって、複数の前記類似モジュールのテスト仕様書に基づいて前記不足テスト項目グループが選択されたときは、該モジュールのテスト仕様書の前記テスト項目と、前記類似モジュールのテスト仕様書の前記テスト項目との類似度に基づいて、該モジュールのテスト仕様書の前記テスト項目に対する前記類似モジュールの仕様書の類似度を評価し、評価結果に基づいて前記参考例の抽出に用いる前記類似モジュールのテスト仕様書を選択させる、ことを特徴とする付記１、２又は６記載のテスト仕様作成支援プログラム。
【０１５３】
（付記８）  前記参考例提示手段に、該モジュールのテスト仕様書の前記テスト項目に対する前記類似モジュールの仕様書の類似度の評価結果に基づき、前記類似度の高い順に前記参考例の抽出に用いる前記類似モジュールのテスト仕様書を選択させる、ことを特徴とする付記７記載のテスト仕様作成支援プログラム。
【０１５４】
（付記９）  前記参考例提示手段に、該モジュールのテスト仕様書の前記テスト項目に対する前記類似モジュールの仕様書の類似度の評価結果に基づき、前記類似度の低い順に前記参考例の抽出に用いる前記類似モジュールのテスト仕様書を選択させる、ことを特徴とする付記７記載のテスト仕様作成支援プログラム。
【０１５５】
（付記１０）  前記参考例提示手段に、該モジュールのテスト仕様書の前記テスト項目と、前記類似モジュールのテスト仕様書の前記テスト項目との類似度を、前記テスト項目グループに応じた重み付けを行って算出させる、ことを特徴とする付記７記載のテスト仕様作成支援プログラム。
【０１５６】
（付記１１）  ソフトウェアのテスト仕様作成を支援するテスト仕様作成支援方法において、
テスト項目類似度算出手段が、前記ソフトウェアを分割したモジュールごとに作成されたテスト仕様書をテスト仕様書記憶手段から読み出し、前記テスト仕様書のテスト項目に含まれる語句に基づいて前記テスト項目間の類似度を算出する手順と、
グループ化手段が、算出された前記テスト項目間の類似度に基づいて類似する前記テスト項目をグループ化して、テスト項目グループ群を生成する手順と、
テスト仕様評価手段が、前記モジュールに関するモジュール情報をモジュール情報記憶手段から読み出し、前記モジュール情報に基づいて前記モジュールに対する適性テスト項目数を予測し、該モジュールのテスト仕様書のテスト項目数と前記適正テスト項目数とを比較して該モジュールのテスト仕様書を評価する手順と、
不足項目グループ選択手段が、該モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、他のモジュールのテスト仕様書に記述される前記テスト項目グループ間の比較に基づいて該モジュールのテスト仕様書に不足していると予測される不足テスト項目グループを選択し、該モジュールのテスト仕様書のテスト項目数が適正範囲と評価された場合は、前記テスト項目グループの分布が類似する類似モジュールのテスト仕様書を検出し、前記類似モジュールのテスト仕様書に記述される前記テスト項目グループとの比較に基づいて該モジュールのテスト仕様書に不足していると予測される前記不足テスト項目グループを選択する手順と、
参考例提示手段が、前記不足項目グループ選択手段によって選択された前記不足テスト項目グループに属する前記テスト項目を選択し、参考例として提示する手順と、
を有することを特徴とするテスト仕様作成支援方法。
【０１５７】
（付記１２）  ソフトウェアのテスト仕様作成を支援するテスト仕様作成支援装置において、
前記ソフトウェアを分割したモジュールごとに作成されたテスト仕様書をテスト仕様書記憶手段から読み出し、前記テスト仕様書のテスト項目に含まれる語句に基づいて前記テスト項目間の類似度を算出するテスト項目類似度算出手段と、
算出された前記テスト項目間の類似度に基づいて類似する前記テスト項目をグループ化して、テスト項目グループ群を生成するグループ化手段と、
前記モジュールに関するモジュール情報をモジュール情報記憶手段から読み出し、前記モジュール情報に基づいて前記モジュールに対する適性テスト項目数を予測し、該モジュールのテスト仕様書のテスト項目数と前記適正テスト項目数とを比較して該モジュールのテスト仕様書を評価するテスト仕様評価手段と、
該モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、他のモジュールのテスト仕様書に記述される前記テスト項目グループ間の比較に基づいて該モジュールのテスト仕様書に不足していると予測される不足テスト項目グループを選択し、該モジュールのテスト仕様書のテスト項目数が適正範囲と評価された場合は、前記テスト項目グループの分布が類似する類似モジュールのテスト仕様書を検出し、前記類似モジュールのテスト仕様書に記述される前記テスト項目グループとの比較に基づいて該モジュールのテスト仕様書に不足していると予測される前記不足テスト項目グループを選択する不足項目グループ選択手段と、
前記不足項目グループ選択手段によって選択された前記不足テスト項目グループに属する前記テスト項目を選択し、参考例として提示する参考例提示手段と、
を有することを特徴とするテスト仕様作成支援装置。
【０１５８】
（付記１３）  前記テスト項目類似度算出手段は、前記テスト仕様書を作成した開発者に関する開発者情報を記憶する開発者情報記憶手段から前記開発者情報を読み出し、読み出した前記開発者情報に基づいて前記テスト仕様書を作成した前記開発者間の類似度を算出し、算出された前記開発者間の類似度に基づいて前記テスト項目間の類似度を補正する、ことを特徴とする付記１２記載のテスト仕様作成支援装置。
【０１５９】
（付記１４）  前記テスト項目類似度算出手段は、前記開発者間の類似度が高いほど前記テスト項目間の類似度が低くなるよう補正を行う、ことを特徴とする付記１３記載のテスト仕様作成支援装置。
【０１６０】
（付記１５）  前記不足項目グループ選択手段は、該モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、前記他のモジュールのテスト仕様書に記述される前記テスト項目グループのテスト項目数を比較し、前記テスト項目グループのテスト項目数が多い順に前記不足テスト項目グループを選択する、ことを特徴とする付記１２又は１３記載のテスト仕様作成支援装置。
【０１６１】
（付記１６）  前記不足項目グループ選択手段は、該モジュールのテスト仕様書のテスト項目数が少ないと評価された場合は、前記テスト項目グループごとに前記他のモジュールのテスト仕様書において該テスト項目グループに属する前記テスト項目が記述される前記他のモジュールのテスト仕様書の総数を比較し、記述される前記他のモジュールのテスト仕様書の総数が多い順に前記不足テスト項目グループを選択する、ことを特徴とする付記１２又は１３記載のテスト仕様作成支援装置。
【０１６２】
（付記１７）  前記不足項目グループ選択手段は、該モジュールのテスト仕様書のテスト項目数が適正範囲と評価された場合は、該モジュールの前記テスト項目グループごとのテスト項目数と、前記類似モジュールの前記テスト項目グループごとのテスト項目数と比較し、該モジュールのテスト仕様書の方が少ない前記テスト項目グループを前記不足テスト項目グループに選択する、ことを特徴とする付記１２、１３、１５又は１６記載のテスト仕様作成支援装置。
【０１６３】
（付記１８）  前記参考例提示手段は、前記不足項目グループ選択手段によって、複数の前記類似モジュールのテスト仕様書に基づいて前記不足テスト項目グループが選択されたときは、該モジュールのテスト仕様書の前記テスト項目と、前記類似モジュールのテスト仕様書の前記テスト項目との類似度に基づいて、該モジュールのテスト仕様書の前記テスト項目に対する前記類似モジュールの仕様書の類似度を評価し、評価結果に基づいて前記参考例の抽出に用いる前記類似モジュールのテスト仕様書を選択する、ことを特徴とする付記１２、１３又は１７記載のテスト仕様作成支援装置。
【０１６４】
（付記１９）  前記参考例提示手段は、該モジュールのテスト仕様書の前記テスト項目に対する前記類似モジュールの仕様書の類似度の評価結果に基づき、前記類似度の高い順に前記参考例の抽出に用いる前記類似モジュールのテスト仕様書を選択する、ことを特徴とする付記１８記載のテスト仕様作成支援装置。
【０１６５】
（付記２０）  前記参考例提示手段は、該モジュールのテスト仕様書の前記テスト項目に対する前記類似モジュールの仕様書の類似度の評価結果に基づき、前記類似度の低い順に前記参考例の抽出に用いる前記類似モジュールのテスト仕様書を選択する、ことを特徴とする付記１８記載のテスト仕様作成支援装置。
【０１６６】
（付記２１）  前記参考例提示手段は、該モジュールのテスト仕様書の前記テスト項目と、前記類似モジュールのテスト仕様書の前記テスト項目との類似度を、前記テスト項目グループに応じた重み付けを行って算出する、ことを特徴とする付記１８記載のテスト仕様作成支援装置。
【図面の簡単な説明】
【０１６７】
【図１】実施の形態に適用される発明の概念図である。
【図２】実施の形態のテスト仕様作成支援装置の機能構成例を示すブロック図である。
【図３】実施の形態のテスト仕様作成支援装置のハードウェア構成例を示すブロック図である。
【図４】プロジェクト辞書の一例を示した図である。
【図５】テスト仕様書の一例を示した図である。
【図６】テスト仕様書の他の一例を示した図である。
【図７】開発者情報の一例を示した図である。
【図８】モジュール情報の一例を示した図である。
【図９】各情報項目のキーワードベクトルの一例を示した図である。
【図１０】キーワードベクトルに基づくテスト項目間の類似度の一例である。
【図１１】開発者情報に基づく開発者の類似度の一例である。
【図１２】開発者間の類似度で補正を行ったテスト項目間の類似度の一例である。
【図１３】テスト項目グループ群の一例を示した図である。
【図１４】モジュールのテスト項目グループの分布の一例を示した図である。
【図１５】モジュールの適正テスト項目数の一例である。
【図１６】類似モジュールの一例を示した図である。
【図１７】モジュールＭ３に対する参考例表示画面の一例を示した図である。
【図１８】複数グループの参考テスト項目を表示する参考例表示画面の一例を示した図である。
【図１９】第１の実施の形態のテスト仕様作成支援処理の手順を示したフローチャートである。
【図２０】第１の実施の形態のテスト項目不足時の参考テスト項目提示処理の手順を示したフローチャートである。
【図２１】第１の実施の形態のテスト項目数が適正時の参考テスト項目提示処理の手順を示したフローチャートである。
【図２２】第２の実施の形態のテスト項目数が不足時の参考テスト項目提示処理の手順を示したフローチャートである。
【図２３】対象モジュールと類似モジュールとの間のテスト項目間の類似度を示した図である。
【図２４】第３の実施の形態のテスト項目数が適正時の参考テスト項目提示処理の手順を示したフローチャートである。
【図２５】第４の実施の形態のテスト項目数が適正時の参考テスト項目提示処理の手順を示したフローチャートである。
【符号の説明】
【０１６８】
１０  テスト仕様作成支援装置
１１ａ  テスト仕様書記憶手段
１１ｂ  モジュール情報記憶手段
１２  テスト項目類似度算出手段
１３  グループ化手段
１４  テスト仕様評価手段
１５  不足項目グループ選択手段
１６  参考例提示手段
【図１】
2009266045.tif 000006
【図２】
2009266045.tif 000007
【図３】
2009266045.tif 000008
【図４】
2009266045.tif 000009
【図５】
2009266045.tif 000010
【図６】
2009266045.tif 000011
【図７】
2009266045.tif 000012
【図８】
2009266045.tif 000013
【図９】
2009266045.tif 000014
【図１０】
2009266045.tif 000015
【図１１】
2009266045.tif 000016
【図１２】
2009266045.tif 000017
【図１３】
2009266045.tif 000018
【図１４】
2009266045.tif 000019
【図１５】
2009266045.tif 000020
【図１６】
2009266045.tif 000021
【図１７】
2009266045.tif 000022
【図１８】
2009266045.tif 000023
【図１９】
2009266045.tif 000024
【図２０】
2009266045.tif 000025
【図２１】
2009266045.tif 000026
【図２２】
2009266045.tif 000027
【図２３】
2009266045.tif 000028
【図２４】
2009266045.tif 000029
【図２５】
2009266045.tif 000030