(57)【要約】【課題】ソフトウェア・テストの上流工程においても用いることの可能なテスト項目生成装置、テスト項目生成システム、テスト項目生成方法、およびテスト項目生成プログラムを提供すること。【解決手段】テスト項目生成装置１００は、ソフトウェアに関するプロジェクト情報およびテスト項目が蓄積された情報蓄積手段１２０と、被テスト・ソフトウェアに関するプロジェクト情報およびテスト項目の入力を受け付ける入力手段１１０と、情報蓄積手段１２０に蓄積されたテスト項目から被テスト・ソフトウェアのテストに用いられるテスト項目を、入力手段１１０に入力されたプロジェクト情報およびテスト項目のうちの少なくともいずれか一方に基づいて抽出するテスト項目抽出手段１３０と、を備える。【選択図】        図１
2009252167.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアのテストに用いられるテスト項目を生成するテスト項目生成装置であって、
ソフトウェアに関するプロジェクト情報およびテスト項目が蓄積された情報蓄積手段と、
被テスト・ソフトウェアに関するプロジェクト情報およびテスト項目の入力を受け付ける入力手段と、
前記情報蓄積手段に蓄積されたテスト項目から前記被テスト・ソフトウェアのテストに用いられるテスト項目を、前記入力手段に入力されたプロジェクト情報およびテスト項目のうちの少なくともいずれか一方に基づいて抽出するテスト項目抽出手段と、
前記テスト項目抽出手段によって抽出されたテスト項目を出力するテスト項目出力手段と、
を備えることを特徴とするテスト項目生成装置。
【請求項２】
前記情報蓄積手段において、任意のソフトウェアに関するプロジェクト情報と該任意のソフトウェアのテストに用いられたテスト項目とが互いに関係付けられて蓄積されていることを特徴とする請求項１に記載のテスト項目生成装置。
【請求項３】
前記テスト項目抽出手段は、前記入力手段に入力されたプロジェクト情報に類似のプロジェクト情報を前記情報蓄積手段に蓄積されたプロジェクト情報から特定し、特定された当該プロジェクト情報に関係付けられているテスト項目を前記情報蓄積手段に蓄積されたテスト項目から抽出することを特徴とする請求項２に記載のテスト項目生成装置。
【請求項４】
前記テスト項目抽出手段は、前記入力手段に入力されたテスト項目に類似のテスト項目を前記情報蓄積手段に蓄積されたテスト項目から特定すると共に、特定された当該テスト項目に関係付けられているプロジェクト情報を前記情報蓄積手段に蓄積されたプロジェクト情報から特定し、特定された当該プロジェクト情報に関係付けられているテスト項目を前記情報蓄積手段に蓄積されたテスト項目から抽出することを特徴とする請求項２に記載のテスト項目生成装置。
【請求項５】
前記情報蓄積手段において、前記任意のソフトウェアに関するプロジェクト情報と、前記任意のソフトウェアのテストに用いられたテスト項目と、当該テスト項目を用いたテストの結果に関する計測データとが互いに関係付けられて蓄積されていることを特徴とする請求項３または４に記載のテスト項目生成装置。
【請求項６】
前記テスト項目抽出手段は、抽出された前記テスト項目に関係付けられている計測データを前記情報蓄積手段に蓄積された計測データから抽出すると共に、抽出された当該計測データに基づいて、抽出された前記テスト項目から前記被テスト・ソフトウェアのテストに用いられるテスト項目を抽出することを特徴とする請求項５に記載のテスト項目生成装置。
【請求項７】
前記テスト項目抽出手段は、前記情報蓄積手段から抽出された計測データを所定の計測データ閾値と比較し、前記計測データ閾値以上の計測データに関係付けられているテスト項目を前記被テスト・ソフトウェアのテストに用いられるテスト項目として抽出することを特徴とする請求項６に記載のテスト項目生成装置。
【請求項８】
前記計測データは、前記情報蓄積手段に蓄積されたテスト項目を用いて検出された障害の頻度を示すことを特徴とする請求項５〜７のうちいずれか一項に記載のテスト項目生成装置。
【請求項９】
ソフトウェアのテストに用いられるテスト項目を生成するテスト項目生成装置と、前記テスト項目生成装置によって生成されたテスト項目を用いて被テスト・ソフトウェアのテストを行うテスト実行手段とを備え、
前記テスト項目生成装置は、
ソフトウェアに関するプロジェクト情報およびテスト項目と、当該テスト項目を用いたテストの結果に関する計測データとが蓄積された情報蓄積手段と、
前記被テスト・ソフトウェアに関するプロジェクト情報およびテスト項目の入力を受け付ける入力手段と、
前記情報蓄積手段に蓄積されたテスト項目から前記被テスト・ソフトウェアのテストに用いられるテスト項目を、前記入力手段に入力されたプロジェクト情報およびテスト項目のうちの少なくともいずれか一方に基づいて抽出するテスト項目抽出手段と、
前記テスト項目抽出手段によって抽出されたテスト項目を出力するテスト項目出力手段と、
前記テスト項目出力手段によって出力されたテスト項目を用いたテストの結果を前記情報蓄積手段に蓄積する蓄積情報生成手段と、を備え、
前記テスト実行手段は、
前記テスト項目出力手段によって出力されたテスト項目を用いて前記被テスト・ソフトウェアのテストを行うと共に、前記テストの結果を前記テスト項目生成装置に出力するテスト実行手段と、
を備えることを特徴とするテスト項目生成システム。
【請求項１０】
前記情報蓄積手段において、任意のソフトウェアに関するプロジェクト情報と、該任意のソフトウェアのテストに用いられたテスト項目と、当該テスト項目を用いたテストの結果に関する計測データとが互いに関係付けられて蓄積されていることを特徴とする請求項９に記載のテスト項目生成システム。
【請求項１１】
前記テスト項目抽出手段は、前記入力手段に入力されたプロジェクト情報に類似のプロジェクト情報を前記情報蓄積手段に蓄積されたプロジェクト情報から特定し、特定された当該プロジェクト情報に関係付けられているテスト項目を前記情報蓄積手段に蓄積されたテスト項目から抽出することを特徴とする請求項１０に記載のテスト項目生成システム。
【請求項１２】
前記テスト項目抽出手段は、前記入力手段に入力されたテスト項目に類似のテスト項目を前記情報蓄積手段に蓄積されたテスト項目から特定すると共に、特定された当該テスト項目に関係付けられているプロジェクト情報を前記情報蓄積手段に蓄積されたプロジェクト情報から特定し、特定された当該プロジェクト情報に関係付けられているテスト項目を前記情報蓄積手段に蓄積されたテスト項目から抽出することを特徴とする請求項１０に記載のテスト項目生成システム。
【請求項１３】
前記テスト項目抽出手段は、抽出された前記テスト項目に関係付けられている計測データを前記情報蓄積手段に蓄積された計測データから抽出すると共に、抽出された前記計測データに基づき、抽出された前記テスト項目から前記被テスト・ソフトウェアのテストに用いられるテスト項目を抽出することを特徴とする請求項１１または１２に記載のテスト項目生成システム。
【請求項１４】
前記テスト項目抽出手段は、前記情報蓄積手段から抽出された計測データを所定の計測データ閾値と比較し、前記計測データ閾値以上の計測データに関係付けられているテスト項目を前記被テスト・ソフトウェアのテストに用いられるテスト項目として抽出することを特徴とする請求項１３に記載のテスト項目生成システム。
【請求項１５】
前記計測データは、前記情報蓄積手段に蓄積されたテスト項目を用いて検出された障害の頻度を示すことを特徴とする請求項９〜１４のうちいずれか一項に記載のテスト項目生成装置。
【請求項１６】
ソフトウェアのテストに用いられるテスト項目を生成するテスト項目生成方法であって、
被テスト・ソフトウェアに関するプロジェクト情報およびテスト項目の入力を受け付ける入力ステップと、
ソフトウェアに関するプロジェクト情報およびテスト項目が蓄積された情報蓄積手段に蓄積されたテスト項目から前記被テスト・ソフトウェアのテストに用いられるテスト項目を、前記入力ステップにおいて受け付けられたプロジェクト情報およびテスト項目のうちの少なくともいずれか一方に基づいて抽出するテスト項目抽出ステップと、
前記テスト項目抽出ステップにおいて抽出されたテスト項目を出力するテスト項目出力ステップと、
を含むことを特徴とするテスト項目生成方法。
【請求項１７】
請求項１６に記載のテスト項目生成方法をコンピュータに実行させることを特徴とするテスト項目生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアのテストに用いられるテスト項目を生成するテスト項目生成装置、テスト項目生成システム、テスト項目生成方法、およびテスト項目生成プログラムに関する。
【背景技術】
【０００２】
近年、各種ソフトウェアの多機能化に伴うソフトウェア開発プロジェクトの複雑化および大規模化により、ソフトウェアに潜在する種々の障害（例えばバグ）の数が増加している。その結果、ソフトウェアに潜在する障害の検出を目的としたテスト（以下、ソフトウェア・テストと称する）において用いられるテスト項目の数も増大しており、各テスト項目に対するソフトウェア・テストには莫大な時間およびコストがかかってしまう。よって、テスト時間の短縮およびテスト・コストの削減を図りつつ高水準のテストを行うことが多いに求められている。
【０００３】
また、近年、ソフトウェアとハードウェアとの開発が平行して進行する組み込み製品の需要が高まっている。そのような製品開発プロジェクトにおいては障害の原因が異なるフェーズに及ぶことが多いことから、各フェーズに合わせて、単体テスト、統合テスト、システム・テスト、またはパイロット・テスト等の異なるテストを行う必要があり、ソフトウェア・テストが複雑且つ大規模なものになってしまい、テスト時間およびコストが増大してしまう。よって、プロジェクトの要求仕様や設計仕様を概説した仕様書等に基づき製品の実装前の上流工程においてソフトウェア・テストを行い、ソフトウェアに潜在する障害を早期に検出することでソフトウェア・テストのコスト・パフォーマンスを向上させる（すなわち、テスト・コストを削減しつつ製品の品質を向上させる）ことの重要性が高まっている。
【０００４】
そのような背景から、例えば特許文献１に開示されるように、システム・チェック・リストに基づき複数のサブシステムからなる情報処理システムのテストを効率的に行うことができるように、サブシステム間で重複するテスト項目をシステム・チェック・リストから削除することが知られている。
【０００５】
また、特許文献２に開示されるように、ソフトウェアの定義情報、標準シナリオ、標準スクリプトからテスト用プログラムを自動生成するシステムが知られている。
【０００６】
【特許文献１】特開２００１−２７３１７０号公報
【特許文献２】特開２００２−３６６３８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記した特許文献１は、テスト項目をテスト時間の短縮およびテスト・コストの削減が可能なものに絞り込むのに十分なものではない。
【０００８】
また、上記した特許文献２では、コード実装前の上流工程におけるテストを行うことは意図されておらず、またテスト項目を絞り込むことについても意図されていない。
【０００９】
本発明は、上記に鑑みてなされたものであって、コード実装前の上流工程においても用いることの可能なテスト項目を生成するテスト項目生成装置、テスト項目生成システム、テスト項目生成方法、およびテスト項目生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明の一態様にかかるテスト項目生成装置は、ソフトウェアのテストに用いられるテスト項目を生成するテスト項目生成装置であって、ソフトウェアに関するプロジェクト情報およびテスト項目が蓄積された情報蓄積手段と、被テスト・ソフトウェアに関するプロジェクト情報およびテスト項目の入力を受け付ける入力手段と、情報蓄積手段に蓄積されたテスト項目から被テスト・ソフトウェアのテストに用いられるテスト項目を、入力手段に入力されたプロジェクト情報およびテスト項目のうちの少なくともいずれか一方に基づいて抽出するテスト項目抽出手段と、テスト項目抽出手段によって抽出されたテスト項目を出力するテスト項目出力手段と、を備えることを特徴とする。
【００１１】
また、本発明の別の態様にかかるテスト項目生成システムは、ソフトウェアのテストに用いられるテスト項目を生成するテスト項目生成装置と、テスト項目生成装置によって生成されたテスト項目を用いて被テスト・ソフトウェアのテストを行うテスト実行手段とを備える。なお、テスト項目生成装置は、ソフトウェアに関するプロジェクト情報およびテスト項目と、当該テスト項目を用いたテストの結果に関する計測データとが蓄積された情報蓄積手段と、被テスト・ソフトウェアに関するプロジェクト情報およびテスト項目の入力を受け付ける入力手段と、情報蓄積手段に蓄積されたテスト項目から被テスト・ソフトウェアのテストに用いられるテスト項目を、入力手段に入力されたプロジェクト情報およびテスト項目のうちの少なくともいずれか一方に基づいて抽出するテスト項目抽出手段と、テスト項目抽出手段によって抽出されたテスト項目を出力するテスト項目出力手段と、テスト項目出力手段によって出力されたテスト項目を用いたテストの結果を情報蓄積手段に蓄積する蓄積情報生成手段と、を備える。また、テスト実行手段は、テスト項目出力手段によって出力されたテスト項目を用いて被テスト・ソフトウェアのテストを行うと共に、そのテストの結果をテスト項目生成装置に出力する。
【００１２】
また、本発明のさらに別の態様にかかるテスト項目生成方法は、ソフトウェアのテストに用いられるテスト項目を生成するテスト項目生成方法であって、被テスト・ソフトウェアに関するプロジェクト情報およびテスト項目の入力を受け付ける入力ステップと、ソフトウェアに関するプロジェクト情報およびテスト項目が蓄積された情報蓄積手段に蓄積されたテスト項目から被テスト・ソフトウェアのテストに用いられるテスト項目を、入力ステップにおいて受け付けられたプロジェクト情報およびテスト項目のうちの少なくともいずれか一方に基づいて抽出するテスト項目抽出ステップと、テスト項目抽出ステップにおいて抽出されたテスト項目を出力するテスト項目出力ステップと、を含む。
【００１３】
また、本発明のさらに別の態様にかかるテスト項目生成プログラムは、上記したテスト項目生成方法をコンピュータに実行させる。
【発明の効果】
【００１４】
本発明によれば、蓄積されているテスト項目の中から被テスト・ソフトウェアに用いられるテスト項目を抽出しているので、テストの上流工程においても用いることの可能なテスト項目を抽出できると共に、テスト項目をプロジェクトのコスト・パフォーマンスの向上に有益なものに絞り込むことができるという効果を奏する。
【００１５】
また、本発明によれば、蓄積されているテスト項目のうち、障害検出の実績のあるものを被テスト・ソフトウェアに用いられるテスト項目として抽出しているので、テスト項目をプロジェクトのコスト・パフォーマンスの向上に有益なものに絞り込むことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に添付図面を参照して、この発明にかかるテスト項目生成装置、テスト項目生成システム、テスト項目生成方法、およびテスト項目生成プログラムの最良な実施の形態を詳細に説明する。なお、本発明はこれらの実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で様々な変更実施の形態が可能である。
【００１７】
（第１の実施の形態）
本発明の第１の実施の形態にかかるテスト項目生成装置、テスト項目生成方法、およびテスト項目生成プログラムを図１〜図７に基づいて説明する。なお、以下の説明において、プロジェクトとは、例えば新システムの開発、既存システムのメンテナンス、新しい環境または既存の環境へのシステムの展開、または提案されたシステムを受け入れるか否かの判定のことをいう。また、テストとは、例えばソフトウェアが正常に機能することを示すこと、ソフトウェアが正常に機能しないことを示すこと、または何かを証明するのではなくソフトウェアが正常に機能しないことで生じるリスクをある許容値まで下げることにより達成されるものである。また、テスト項目とは、例えばテスト成果物に相当するものであって、ソフトウェアに潜在する障害を検出するためのものである。
【００１８】
より具体的には、以下の説明において、テストの対象となるプロジェクトとして、ユーザからのコピー要求（例えばコピージョブ）を管理するためのソフトウェア構成のコピー要求管理システム（以下、被テスト・ソフトウェアと称する）を例示しており、そのテストは、ソフトウェアの実装前のプロジェクト上流工程において仕様書定義に基づき行われるものとする。なお、ここでいう仕様書定義に基づくソフトウェア・テストとは、例えば「システム名」、「開発する製品の構成情報」、「ハードウェア／ソフトウェア仕様などの仕様情報」、「プロジェクト構成メンバーの役割（要求分析者、設計担当者、実装者、および／またはテスト担当者など）」、および／または「開発フェーズの開始／終了時期などを予実績込みで記録した作業スケジュール」から構成される仕様書（以下、プロジェクト情報と称する）であって、被テスト・ソフトウェアを概説する一般的な構成を有する仕様書に基づき行われるテストのことをいう。通常、そのような仕様書に基づくテストはレビュー等の静的テストの一環としてコード実装前に行われるものである。よって、以下の説明においてソフトウェア・テストはプロジェクトの上流工程にて行われるものとする。
【００１９】
図１は、本発明の第１の実施の形態にかかるテスト項目生成装置１００の構成を概略的に示すブロック図である。テスト項目生成装置１００は、入力部１１０と、プロジェクト情報蓄積部１２１、テスト項目蓄積部１２２、および計測データ蓄積部１２３から構成される情報蓄積部１２０と、抽出部１３０と、テスト項目出力部１４０と、を備える。
【００２０】
なお、本実施の形態のテスト項目生成装置１００は、図示しないＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの制御装置と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの記憶装置と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置とを備えており、通常のコンピュータを利用したハードウェア構成となっている。そして、本実施の形態のテスト項目生成装置１００で実行されるテスト項目生成プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００２１】
また、本実施の形態のテスト項目生成装置で実行されるテスト項目生成プログラムは、上述した入力部１１０、抽出部１３０、およびテスト項目出力部１４０を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が記憶媒体からテスト項目生成プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、入力部１１０、抽出部１３０、およびテスト項目出力部１４０が主記憶装置上に生成されるようになっている。
【００２２】
入力部１１０は、被テスト・ソフトウェアを概説した仕様書の内容を入力プロジェクト情報としてテスト技術者等から受け付けると共に、被テスト・ソフトウェアに潜在する障害の検出に有用であるとテスト技術者等に判断されたテスト項目を入力テスト項目として受け付ける。なお、ここでいう入力テスト項目とは、例えば「複数の一般ユーザからコピーを要求された場合、印刷実行前のコピー要求はキューに保存される」等の項目のように、例えばテスト技術者等による被テスト・ソフトウェアのリスク分析に基づき作成された情報のことをいう。
【００２３】
情報蓄積部１２０は、過去に行われたプロジェクトに関するプロジェクト情報等を含む種々のプロジェクト情報（以下、蓄積プロジェクト情報と称する）が蓄積されたプロジェクト情報蓄積部１２１と、過去に行われたテストに用いられたテスト項目（以下、蓄積テスト項目と称する）が蓄積されたテスト項目蓄積部１２２と、テスト項目を用いたテストの結果を示す計測データが蓄積された計測データ蓄積部１２３とから構成される。なお、ここでいう情報蓄積部１２０は、一般的な関係データベースに相当するものであって、蓄積プロジェクト情報と、蓄積テスト項目と、計測データとのデータ群を関係（リレーション）構造で相互連結可能に蓄積している。これにより、例えば同一の蓄積テスト項目が重複して蓄積されるような冗長性を避けることができ、蓄積情報をより容易に管理することが可能となる。以下の説明では、過去に行われたプロジェクト、テスト、およびテストの結果に対応したプロジェクト情報、テスト項目、および計測データが予め情報蓄積部１２０に蓄積されているものとする。
【００２４】
また、計測データ蓄積部１２３に蓄積されている計測データは、上述の関係構造によって蓄積プロジェクト情報および蓄積テスト項目に関係付けられているものであり、過去に行われたプロジェクトの障害に関する情報に相当するものである。そのような計測データは、それに関係付けられている蓄積テスト項目を用いた結果検出された障害内容、障害の再現環境、障害解消のための作業スケジュール、および障害箇所等から構成されても良いが、以下の説明では、蓄積テスト項目による障害検出の頻度から構成されるものとする。なお、ここでいう障害検出の頻度については後述する。
【００２５】
図２は、抽出部１３０の構成を概略的に示すブロック図である。抽出部１３０は、入力プロジェクト情報に類似する蓄積プロジェクト情報を特定する類似性特定部１３１と、テスト項目蓄積部１２２からテスト項目候補を抽出するテスト項目候補抽出部１３２と、計測データ蓄積部１２３から計測データを抽出する計測データ抽出部１３３と、抽出された計測データを比較する計測データ比較部１３４と、抽出されたテスト項目候補から被テスト・ソフトウェアのテストに用いられるテスト項目を抽出するテスト項目抽出部１３５とから構成される。
【００２６】
以下に、テスト項目候補抽出処理について図３を参照して具体的に説明する。図３はテスト項目候補抽出処理を示すフローチャートである。
【００２７】
入力部１１０は、被テスト・ソフトウェアの入力プロジェクト情報および入力テスト項目の入力を受け付ける（ステップＳ１１１）。次に、類似性特定部１３１は、プロジェクト情報蓄積部１２１に蓄積されている蓄積プロジェクト情報であって、比較対象蓄積プロジェクト情報として選択されていない任意の蓄積プロジェクト情報を比較対象蓄積プロジェクト情報として選択する（ステップＳ１１２）。そして、類似性特定部１３１は、後述する類似性判断基準に基づき、比較対象蓄積プロジェクト情報と入力プロジェクト情報とが類似しているか否かを判断する（ステップＳ１１３）。
【００２８】
なお、ここでいう入力プロジェクト情報と蓄積プロジェクト情報との類似性は、プロジェクト情報を構成する「システム名」等の各カテゴリに基づき判断される。例えば、被テスト・ソフトウェアの「システム名」が「コピー要求管理」であった場合、同様のシステム名を有する蓄積プロジェクト情報を類似プロジェクト情報として特定している。この場合、システム名が同一のものを類似プロジェクト情報として特定しても良いが、例えばその一部である「要求管理」等が共通するものを類似プロジェクト情報として特定しても良い。また、システム名に代えて、「開発する製品の構成情報」等その他のカテゴリの一部またはすべてが共通するものを類似プロジェクト情報として特定しても良い。さらには、「システム名」の一部またはすべてが共通し、且つその他の一つまたは複数のカテゴリの一部またはすべてが共通するものを類似プロジェクト情報として特定しても良い。換言すると、プロジェクト情報を構成する少なくとも一つのカテゴリの語句の一部またはすべてが共通する場合にそのプロジェクト情報を類似プロジェクト情報として特定することが可能である。なお、そのような類似性判断基準は、テスト項目生成装置１００に固有のものであっても良いが、入力プロジェクト情報および入力テスト項目の入力に伴い、テスト技術者等がその都度設定しても良い。以下の説明では、説明の簡単のため、類似性判断基準をシステム名の全一致とする。換言すると、類似性特定部１３１は、ステップＳ１１３において、比較対象蓄積プロジェクト情報が「コピー要求管理」なるシステム名を有しているか否かを判断する。
【００２９】
その結果、類似性特定部１３１は、比較対象蓄積プロジェクト情報が入力プロジェクト情報に類似するものではないと判断した場合（ステップＳ１１３−Ｎｏ）、プロジェクト情報蓄積部１２１に蓄積されているすべての蓄積プロジェクト情報を比較対象蓄積プロジェクト情報として選択したか否かを判断する（ステップＳ１１６）。一方、類似性特定部１３１は、比較対象蓄積プロジェクト情報が入力プロジェクト情報に類似するものであると判断した場合（ステップＳ１１３−Ｙｅｓ）、比較対象蓄積プロジェクト情報を類似プロジェクト情報として特定する（ステップＳ１１４）。次に、テスト項目候補抽出部１３２は、類似プロジェクト情報に関係付けられているすべてのテスト項目をテスト項目候補として蓄積テスト項目１２２から抽出する（ステップＳ１１５）。
【００３０】
次に、類似性特定部１３１は、テスト項目候補抽出部１３２がテスト項目候補を抽出した後、ステップＳ１１３の判断結果がＮｏであった場合の処理と同様に、プロジェクト情報蓄積部１２１に蓄積されているすべての蓄積プロジェクト情報を比較対象蓄積プロジェクト情報として選択したか否かを判断する（ステップＳ１１６）。その結果、抽出部１３０は、すべての蓄積プロジェクト情報を比較対象蓄積プロジェクト情報として選択していないと判断した場合（ステップＳ１１６−Ｎｏ）、ステップＳ１１２〜ステップＳ１１５の処理を繰り返す一方、選択済みと判断した場合（ステップＳ１１６−Ｙｅｓ）、テスト項目候補抽出処理を完了する。
【００３１】
上記のように、テスト項目候補抽出処理では、テスト項目蓄積部１２２に蓄積されている蓄積テスト項目から、入力プロジェクト情報に基づきソフトウェア・テストに用いられるテスト項目候補を抽出している。より具体的には、テスト項目抽出処理では、入力プロジェクト情報に類似する蓄積プロジェクトをプロジェクト情報蓄積部１２１から特定し、特定された類似プロジェクト情報に関係付けられているすべてのテスト項目を抽出している。これにより、ソフトウェア・テストに用いられるテスト項目を、蓄積テスト項目の中から絞り込むことが可能となる。
【００３２】
次に、テスト項目抽出処理について図４を参照して説明する。図４は、テスト項目抽出処理を示すフローチャートである。計測データ抽出部１３３は、テスト項目候補抽出部１３２によるテスト項目候補の抽出が完了すると、抽出されたテスト項目候補のうち、比較対象テスト項目候補として選択されていない任意のテスト項目候補を比較対象テスト項目候補として選択する（ステップ１２１）。そして、計測データ抽出部１３３は、比較対象テスト項目候補に関係付けられている計測データを計測データ蓄積部１２３から抽出する（ステップＳ１２２）。
【００３３】
次に、計測データ比較部１３４は、比較対象テスト項目候補に関係付けられている計測データが後述する所定の計測データ閾値以上であるか否かを判断する（ステップＳ１２３）。その結果、計測データ比較部１３４は、比較対象テスト項目候補の計測データが計測データ閾値未満であると判断した場合（ステップＳ１２３−Ｎｏ）、テスト項目候補抽出部１３２によって抽出されたすべてのテスト項目候補を比較対象テスト項目候補として選択したか否かを判断する（ステップＳ１２５）。一方、テスト項目抽出部１３５は、比較対象テスト項目候補の計測データが計測データ閾値以上であると判断された場合（ステップＳ１２３−Ｙｅｓ）、比較対象テスト項目候補を被テスト・ソフトウェアのテスト項目として抽出する（ステップＳ１２４）。
【００３４】
なお、ここでいう計測データとは、任意のテスト項目を用いたソフトウェア・テストの結果検出した障害の頻度のことをいう。例えば、類似する２つのプロジェクトが同一のテスト項目を有しており、且つそのテスト項目を用いたそれぞれのテストにおいて一度ずつ障害が検出されていた場合、そのテスト項目は２度障害を検出したものとして、計測データに数値２が蓄積される。従って、計測データとは、任意のプロジェクト情報に関係付けられているテスト項目の障害検出の実績を示すものである。
【００３５】
また、ここでいう計測データ閾値とは、テスト技術者等によって定められた所定の障害検出頻度のことをいう。本実施の形態では、抽出された計測データと所定の計測データ閾値とを比較することにより、障害検出の実績がないテスト項目候補および／または障害検出の実績が比較的少ないテスト項目候補について、被テスト・ソフトウェアのテストに用いるまでもないと判断し、テスト項目として抽出しない。これにより、ときには膨大な数に及ぶテスト項目候補を、被テスト・ソフトウェアのテストに最適な数まで絞り込むことが可能となる。なお、上述の計測データ閾値は、テスト項目生成装置１００に固有のものであっても良く、また入力プロジェクト情報およびその入力テスト項目の入力に伴いその都度変更しても良い。
【００３６】
計測データ抽出部１３３は、テスト項目抽出部１３５によってテスト項目が抽出されると（ステップＳ１２４）、ステップＳ１２３の結果がＮｏであった場合と同様に、すべてのテスト項目候補を比較対象テスト項目候補として選択済みか否かを判断する（ステップＳ１２５）。その結果、抽出部１３０は、テスト項目候補抽出部１３２によって抽出されたすべてのテスト項目候補を比較対象テスト候補として選択していないと判断された場合（ステップＳ１２５−Ｎｏ）、ステップＳ１２１〜ステップＳ１２４の処理を繰り返す一方、選択していると判断された場合（ステップＳ１２５−Ｙｅｓ）、テスト項目抽出処理を完了する。
【００３７】
被テスト・ソフトウェアのテストに用いられるテスト項目が抽出されると、テスト項目出力部１４０は、抽出部１３０によって抽出されたテスト項目をテスト項目生成装置１００の外部へ出力する。
【００３８】
なお、テスト項目出力部１４０は、抽出された複数のテスト項目をチェック・リストとして生成し、テスト項目生成装置１００の外部へ出力しても良い。また、ユーザの要求に応じて、入力部１１０が受け取った入力プロジェクト情報を、抽出されたテスト項目または生成されたチェック・リストに添付して出力しても良い。これにより、複数のテスト項目をチェック・リストとして整理された態様で一度に出力することが可能になると共に、テスト項目またはチェック・リストがどのプロジェクト情報に対応したものなのかを容易に判別することが可能となるので、ユーザの利便性の向上を図ることが可能となる。
【００３９】
ここで、上記したテスト項目候補抽出処理およびテスト項目抽出処理について、具体例を挙げて説明する。図５は、テスト項目蓄積部１２２に蓄積された蓄積テスト項目を例示する表を示す図である。図６は、計測データ蓄積部１２３に蓄積された計測データを例示する表を示す図である。図７は、テスト項目出力部１４０が出力するテスト項目を例示する表を示す図である。
【００４０】
テスト項目蓄積部１２２には、例えば図５に示されるような蓄積テスト項目が蓄積されている。各蓄積テスト項目にはキー等の参照符号が付与されており、蓄積プロジェクト情報および計測データに直接または間接的に関係付けられている。また、計測データ蓄積部１２３には、例えば図６に示される障害検出頻度からなる計測データが蓄積されている。なお、図６では、各障害検出頻度が蓄積プロジェクト情報および蓄積テスト項目に関係付けられて蓄積されている。
【００４１】
抽出部１３０は、例えば蓄積プロジェクト情報ＡおよびＢを類似プロジェクト情報として特定した場合、キー１〜１０の蓄積テスト項目をテスト項目候補として抽出すると共に、図６の表を参照して各蓄積テスト項目に関係付けられている計測データを抽出する。そして、抽出部１３０は、抽出された各計測データを計測データ閾値と比較し、計測データ閾値以上の計測データに関係付けられているテスト項目候補をテスト項目として抽出する。例えば、計測データ閾値を３とした場合、抽出部１３０は、図５に示されるキー１〜１０のテスト項目候補のうち計測データが３以上のものを抽出する。その結果、抽出部１３０は図７に示されるようなテスト項目を抽出することとなる。
【００４２】
以上のようにして、本実施の形態にかかるテスト項目生成装置、テスト項目生成方法、およびテスト項目生成プログラムでは、入力プロジェクト情報と蓄積プロジェクト情報との類似性を判断し、類似すると判断された蓄積プロジェクト情報に関係付けられている蓄積テスト項目をテスト項目候補として抽出している。通常、情報蓄積部１２０には、すでにプロジェクトのテストに用いられたことのあるテスト項目がプロジェクト情報と計測データとに関係付けられて蓄積されている。入力テスト項目はあくまでもテスト技術者等の主観に基づき作成されたものであることから、過去の実績を鑑みても、蓄積テスト項目のほうが被テスト・ソフトウェアのテストにより有用なものである。よって、被テスト・ソフトウェアの入力テスト項目をプロジェクト情報の類似性に基づき蓄積テスト項目から絞り込むことにより、被テスト・ソフトウェアのテストに好適なテスト項目を抽出することが可能となり、プロジェクトのコスト・パフォーマンスを向上させることが可能となる。
【００４３】
また、本実施の形態にかかるテスト項目生成装置、テスト項目生成方法、およびテスト項目生成プログラムでは、計測データ（すなわち障害検出頻度）に基づきテスト項目候補をさらに絞り込んでいる。これにより、テスト項目候補を障害検出の実績のあるテスト項目に絞り込むことが可能となり、プロジェクトのコスト・パフォーマンスの向上を図ることが可能となる。
【００４４】
なお、本実施の形態のテスト項目生成装置で実行されるテスト項目生成プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態のテスト項目生成装置で実行されるテスト項目生成プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。また、本実施の形態のテスト項目生成プログラムを、ＲＯＭ等に予め組み込んで提供するように構成しても良い。
【００４５】
また、本実施の形態のテスト項目生成装置、テスト項目生成方法、およびテスト項目生成プログラムではテスト項目候補抽出処理を行った後にテスト項目抽出処理を行っているが、テスト項目候補抽出処理のみを行い、抽出されたテスト項目候補をソフトウェア・テストに用いるテスト項目として出力しても良い。テスト項目候補抽出処理によって抽出されたテスト項目候補は、蓄積テスト項目から抽出されていることから、入力テスト項目と比較してよりプロジェクトのコスト・パフォーマンスの向上に適したものである。よって、テスト項目候補をテスト項目として出力した場合にあっても、プロジェクトのコスト・パフォーマンスを向上させることが可能となる。
【００４６】
また、本実施の形態のテスト項目生成装置、テスト項目生成方法、およびテスト項目生成プログラムはソフトウェアの実装前のプロジェクト上流工程において仕様書定義に基づき行われるソフトウェア・テストに用いられているが、例えばコード実装後におけるプロジェクトの下流工程において用いることも可能である。この場合、テスト・プログラムおよびスタブ・ドライバ等、下流工程におけるテストに必須の構成を蓄積テスト項目等に関係付けて蓄積すると良い。
【００４７】
（第２の実施の形態）
次に、第２の実施の形態にかかるテスト項目生成装置、テスト項目生成方法、およびテスト項目生成プログラムについて説明する。なお、第２の実施の形態にかかるテスト項目生成装置、テスト項目生成方法、およびテスト項目生成プログラムは、類似性特定部の内部処理についてのみ第１の実施の形態のテスト項目生成装置、テスト項目生成方法、およびテスト項目生成プログラムと異なるが、以下の説明では、本実施の形態の類似性特定部について第１の実施の形態の類似性特定部と同一の符号を用いることとする。その他、同様の名称・符号を付した構成要素については、以下で特に言及しない限り、第１の実施の形態と同様の構造および機能を有するものである。
【００４８】
図８は、本実施の形態にかかる抽出部１３０によるテスト項目候補抽出処理を示すフローチャートである。入力部１１０は、第１の実施の形態と同様に、入力プロジェクト情報および入力テスト項目の入力を受け付ける（ステップＳ２１１）。次に、類似性特定部１３１は、テスト項目蓄積部１２２に蓄積された蓄積テスト項目であって、比較対象テスト項目として選択されていない任意の蓄積テスト項目を比較対象テスト項目として選択する（ステップＳ２１２）。
【００４９】
次に、類似性特定部１３１は、比較対象テスト項目が入力テスト項目に類似するか否かを判断する（ステップＳ２１３）。ここで、比較対象テスト項目が入力テスト項目に類似するか否かは、比較対象テスト項目の一部またはすべてが入力テスト項目に類似するか否かで判断される。例えば、入力テスト項目が「複数の一般ユーザからコピーを要求された場合、実施前の要求はキューに保存される」であった場合、比較対象テスト項目がその中の少なくとも一部を有していれば、類似性を有するものと判断される。なお、そのような類似性は、テスト項目生成装置１００に固有のものであっても良く、入力プロジェクト情報および入力テスト項目の受信に伴い、テスト技術者等によりその都度設定されるものであっても良い。
【００５０】
類似性特定部１３１は、比較対象テスト項目が入力テスト項目に類似していないと判断した場合（ステップＳ２１３−Ｎｏ）、テスト項目蓄積部１２２に蓄積されているすべての蓄積テスト項目を比較対象テスト項目として選択したか否かを判断する（ステップＳ２１６）。一方、類似していると判断した場合（ステップＳ２１３−Ｙｅｓ）、比較対象テスト項目に関係付けられている蓄積プロジェクト情報をプロジェクト情報蓄積部１２１において類似プロジェクト情報として特定する（ステップＳ２１４）。
【００５１】
次に、テスト項目候補抽出部１３２は、類似プロジェクト情報に関係付けられているすべての蓄積テスト項目をテスト項目候補として抽出する（ステップＳ２１５）。その後、抽出部１３０は、ステップＳ２１３の結果がＮｏの場合と同様に、すべての蓄積テスト項目を比較対象テスト項目として選択したか否かを判断し（ステップＳ２１６）、選択していなかった場合（ステップＳ２１６−Ｎｏ）、ステップＳ２１２〜ステップＳ２１５までの処理を繰り返す一方、選択していた場合（ステップＳ２１６−Ｙｅｓ）、テスト項目候補抽出処理を終了する。
【００５２】
以上のようにして、本実施の形態にかかるテスト項目生成装置、テスト項目生成方法、およびテスト項目生成プログラムでは、入力テスト項目と蓄積テスト項目との類似性に基づきテスト項目候補を抽出している。これによっても、被テスト・ソフトウェアのテストに最適なテスト項目を絞り込むことが可能となり、プロジェクトのコスト・パフォーマンスを向上することが可能となる。
【００５３】
（第３の実施の形態）
次に、第３の実施の形態にかかるテスト項目生成システムについて説明する。なお、同様の名称・符号を付した構成要素は、以下で特に言及しない限り、第１の実施の形態と同様の構造および機能を有するものである。
【００５４】
図９は、本実施の形態にかかるテスト項目生成システム３０００の構成を概略的に示すブロック図である。テスト項目生成システム３０００は、入力部１１０と、プロジェクト情報蓄積部１２１、テスト項目蓄積部１２２、および計測データ蓄積部１２３から構成される情報蓄積部１２０と、抽出部１３０と、テスト項目出力部３１０と、蓄積情報生成部３２０と、を備えるテスト項目生成装置３００と、テスト実行部３３０と、を備える。
【００５５】
テスト項目出力部３１０は、抽出されたテスト項目をテスト実行部３３０へ出力すると共に、抽出されたテスト項目および入力プロジェクト情報を蓄積情報生成部３２０へ出力する。
【００５６】
テスト実行部３３０は、テスト項目生成装置３００から出力されたテスト項目に基づき被テスト・ソフトウェアのテストを行う。具体的には、テスト実行部３３０は、テスト項目生成装置３００が生成した各テスト項目について被テスト・ソフトウェアをテストすると共に、テスト項目について障害を検出したか否かを判断する。その結果、障害を検出した場合、障害情報をテストに用いられたテスト項目およびプロジェクト情報に関係付けてテスト項目生成装置３００にフィードバックする。
【００５７】
蓄積情報生成部３２０は、テスト項目出力部３１０からテスト項目を受信すると、受信したテスト項目および入力プロジェクト情報を互いに関係付けた態様でそれぞれプロジェクト情報蓄積部１２１およびテスト項目蓄積部１２２に蓄積する。抽出部１３０から抽出されたテスト項目は、例えテスト実行前であることから障害検出の実績がない場合においても、情報蓄積部１２０から選択的に抽出されたものであることから、次のテストに有用なものである。よって、被テスト・ソフトウェアのテスト実行前において抽出部１３０に抽出されたテスト項目を入力プロジェクト情報に関係付けた態様で蓄積させることにより、今後のテストに有用な情報を情報蓄積部１２０に蓄積することが可能となる。
【００５８】
また、蓄積情報生成部３２０は、テスト実行部３３０からの計測データのフィードバックに応じて、その計測データを入力プロジェクト情報およびテストに用いられたテスト項目に関係付けて計測データ蓄積部１２３に蓄積する。具体的には、蓄積情報生成部３２０は、テスト実行部３３０からフィードバックされた計測データに関係付けられている入力プロジェクト情報およびテストに用いられたテスト項目と同一および／または類似の情報に関係付けられている計測データの障害検出頻度に１を加算する。これにより、本実施の形態のテスト項目生成システム３０００を用いた次のソフトウェア・テストにおいて障害検出実績を考慮したテスト項目を抽出することが可能となる。
【００５９】
以上のようにして、本実施の形態にかかるテスト項目生成システム３０００では、被テスト・ソフトウェアの障害情報をテスト実行部３３０からフィードバックすることにより情報蓄積部１２０に蓄積されている情報を更新している。これにより、障害検出の実績があるテスト項目等、プロジェクト・テストにより効果的なテスト項目を情報蓄積部１２０に蓄積することが可能となり、今後のソフトウェア・テストにおいてテスト項目をより効果的なものに絞り込むことを可能とする。
【産業上の利用可能性】
【００６０】
以上のように、本発明にかかるテスト項目生成装置、テスト項目生成システム、テスト項目生成方法、およびテスト項目生成プログラムはコード実装前の上流工程およびコード実装後の下流工程のいずれに対して用いた場合にも有用である。
【図面の簡単な説明】
【００６１】
【図１】テスト項目生成装置の構成を概略的に示すブロック図である。
【図２】抽出部の構成を概略的に示すブロック図である。
【図３】抽出部によるテスト項目候補抽出処理を示すフローチャートである。
【図４】抽出部によるテスト項目抽出処理を示すフローチャートである。
【図５】テスト項目蓄積部に蓄積されている蓄積テスト項目を例示する表を示す図である。
【図６】計測データ蓄積部に蓄積されている計測データを例示する表を示す図である。
【図７】テスト項目生成装置によって生成されるテスト項目を例示する表を示す図である。
【図８】第２の実施の形態にかかるテスト項目候補抽出処理を示すフローチャートである。
【図９】第３の実施の形態にかかるテスト項目生成システムの構成を概略的に示すブロック図である。
【符号の説明】
【００６２】
１００，３００      テスト項目生成装置
１１０      入力部
１２０      情報蓄積部
１２１      プロジェクト情報蓄積部
１２２      テスト項目蓄積部
１２３      計測データ蓄積部
１３０      抽出部
１３１      類似性特定部
１３２      テスト項目候補抽出部
１３３      計測データ抽出部
１３４      計測データ比較部
１３５      テスト項目抽出部
１４０，３１０      テスト項目出力部
３２０      蓄積情報生成部
３３０      テスト実行部
３０００      テスト項目生成システム
【図１】
2009252167.tif 000003
【図２】
2009252167.tif 000004
【図３】
2009252167.tif 000005
【図４】
2009252167.tif 000006
【図５】
2009252167.tif 000007
【図６】
2009252167.tif 000008
【図７】
2009252167.tif 000009
【図８】
2009252167.tif 000010
【図９】
2009252167.tif 000011