(57)【特許請求の範囲】
【請求項１】
ソフトウェアのテストに使用するテスト項目のうち予め定めた複数のソフトウェアのテスト時に統合化の検討対象となるテスト項目をそれぞれ記憶するテスト項目記憶手段と、
このテスト項目記憶手段に記憶されたテスト項目ごとに前記予め定めた複数のソフトウェアにおける対応するソフトウェアと入力データ範囲を予め対応付けて対応表として記憶した対応表記憶手段と、
前記テスト項目記憶手段に記憶されたテスト項目ごとに前記対応表を用いて入力データ範囲を比較し、前記予め定めた複数のソフトウェアの少なくとも一部で共通の入力データ範囲が存在するかを判別するテスト項目別比較手段と、
このテスト項目別比較手段で共通の入力データ範囲が存在すると判別されたテスト項目を１つの統合化テスト項目としてまとめることでテスト項目の統合化の編集を行うテスト項目編集手段
とを具備することを特徴とするソフトウェアテスト項目編集支援装置。
【請求項２】
前記ソフトウェアは、ソフトウェア部品としてのソフトウェアモジュールであることを特徴とする請求項１記載のソフトウェアテスト項目編集支援装置。
【請求項３】
前記テスト項目編集手段で編集する前のテスト項目と編集後のテスト項目の関連を表わしたテスト項目対応テーブルを具備することを特徴とする請求項１記載のソフトウェアテスト項目編集支援装置。
【請求項４】
前記テスト項目別比較手段で複数のテスト項目について共通の入力データ範囲が存在したとき、前記共通の入力データ範囲と一致する入力データ範囲を持ったテスト項目を前記統合化テスト項目とすることを特徴とする請求項１記載のソフトウェアテスト項目編集支援装置。
【請求項５】
前記統合化テスト項目に対して、テストプログラムを作成するテストプログラム生成手段を具備することを特徴とする請求項１記載のソフトウェアテスト項目編集支援装置。
【請求項６】
前記テスト項目の統合化の対象となるソフトウェアモジュールを登録するソフトウェアモジュール登録手段と、このソフトウェアモジュール登録手段の登録したソフトウェアモジュールからテスト項目を抽出するテスト項目抽出手段とを具備することを特徴とする請求項２記載のソフトウェアテスト項目編集支援装置。
【請求項７】
ソフトウェアのテストに使用するテスト項目のうち予め定めた複数のソフトウェアのテスト時に、所定の制御プログラムを実行するＣＰＵが、統合化の検討対象となるテスト項目を、記憶装置内に設けたテスト項目記憶手段にそれぞれ記憶するテスト項目記憶ステップと、
このテスト項目記憶ステップで前記テスト項目記憶手段に記憶されたテスト項目ごとに前記予め定めた複数のソフトウェアにおける対応するソフトウェアと入力データ範囲を、前記ＣＰＵが、前記記憶装置内に設けた対応表記憶手段に予め対応付けて対応表として記憶する対応表記憶ステップと、
前記テスト項目記憶ステップで前記テスト項目記憶手段に記憶したテスト項目ごとに前記ＣＰＵが、前記対応表を用いて入力データ範囲を比較することで、前記予め定めた複数のソフトウェアの少なくとも一部で共通の入力データ範囲が存在するかを判別するテスト項目別比較ステップと、
このテスト項目別比較ステップで共通の入力データ範囲が存在すると判別されたテスト項目を前記ＣＰＵが、１つの統合化テスト項目としてまとめることでテスト項目の統合化の編集を行うテスト項目編集ステップ
とを具備することを特徴とするソフトウェアテスト項目編集支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアのテストに使用するソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法に係わり、特にソフトウェアのテストの効率化に寄与するソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法に関する。
【背景技術】
【０００２】
ソフトウェアは開発段階でテストを行い、その信頼性をチェックする必要がある。ソフトウェア部品としてのソフトウェアモジュールを例に挙げると、テストを行う際には、テストの対象となるソフトウェアモジュールと、入力データと、入力データに応じて期待される実行結果とを含めたテスト項目を作成している。
【０００３】
ソフトウェアモジュールの品質を上げるためには、異なる観点や異なるテスト技法を用いて作成した多くのテスト項目を生成し、テストを実施する必要がある。そこで、同じソフトウェアモジュールをテストする際でも、テストの観点や使用するテスト技法の種類を増やすほどテスト項目が増大する。
【０００４】
テスト項目の増大に対処するために、ソフトウェアのテストを行う際のテスト項目の作成を自動化する技術が本発明の関連技術として提案されている（たとえば特許文献１参照）。この関連技術では、過去の様々なテスト項目を蓄積しておいて、利用者がこの中からテスト項目を選択することでテスト項目を生成する負担を軽減している。
【特許文献１】特開２００５−３３２０９８号公報（第００１５段落、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このように本発明の関連技術を用いることでテスト項目の作成の負担を軽減できるものの、ソフトウェアのテストでは、作成されたテスト項目の数だけテストが実施される。このため、ソフトウェアモジュールの品質を上げようとしてテスト項目の数を増加させればさせるほど、多大なテスト工数が発生することになり、ソフトウェアの開発が長時間化することになる。
【０００６】
そこで本発明の目的は、複数のソフトウェアについてテストを行うとき、テストの内容自体を変えることなく、テストに掛る工数の削減が可能なソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明では、（イ）ソフトウェアのテストに使用するテスト項目のうち予め定めた複数のソフトウェアのテスト時に統合化の検討対象となるテスト項目をそれぞれ記憶するテスト項目記憶手段と、（ロ）このテスト項目記憶手段に記憶されたテスト項目ごとに前記した予め定めた複数のソフトウェアにおける対応するソフトウェアと入力データ範囲を予め対応付けて対応表として記憶した対応表記憶手段と、（ハ）前記したテスト項目記憶手段に記憶されたテスト項目ごとに前記した対応表を用いて入力データ範囲を比較し、前記した予め定めた複数のソフトウェアの少なくとも一部で共通の入力データ範囲が存在するかを判別するテスト項目別比較手段と、（ニ）このテスト項目別比較手段で共通の入力データ範囲が存在すると判別されたテスト項目を１つの統合化テスト項目としてまとめることでテスト項目の統合化の編集を行うテスト項目編集手段とをソフトウェアテスト項目編集支援装置に具備させる。
【０００８】
また、本発明では、（イ）ソフトウェアのテストに使用するテスト項目のうち予め定めた複数のソフトウェアのテスト時に、所定の制御プログラムを実行するＣＰＵが、統合化の検討対象となるテスト項目を、記憶装置内に設けたテスト項目記憶手段にそれぞれ記憶するテスト項目記憶ステップと、（ロ）このテスト項目記憶ステップで前記したテスト項目記憶手段に記憶されたテスト項目ごとに前記した予め定めた複数のソフトウェアにおける対応するソフトウェアと入力データ範囲を、前記したＣＰＵが、前記した記憶装置内に設けた対応表記憶手段に予め対応付けて対応表として記憶する対応表記憶ステップと、（ハ）前記したテスト項目記憶ステップで前記したテスト項目記憶手段に記憶したテスト項目ごとに前記したＣＰＵが、前記した対応表を用いて入力データ範囲を比較することで、前記した予め定めた複数のソフトウェアの少なくとも一部で共通の入力データ範囲が存在するかを判別するテスト項目別比較ステップと、（ニ）このテスト項目別比較ステップで共通の入力データ範囲が存在すると判別されたテスト項目を前記したＣＰＵが、１つの統合化テスト項目としてまとめることでテスト項目の統合化の編集を行うテスト項目編集ステップとをソフトウェアテスト項目編集支援方法に具備させる。
【発明の効果】
【０００９】
このように本発明では、複数のソフトウェアで共通の入力データ範囲が存在するテスト項目を１つのテスト項目として、その確認内容（出力）を統合するので、テスト項目の減少によるテストの実施数の削減が可能になる。
【発明を実施するための最良の形態】
【００１０】
このような本発明の着目点を、実施の形態の説明の前に、簡単に説明する。
【００１１】
テストを実行し、その実行結果の何を確認するかという出力は、各テストの目的によって異なる。しかしながら、テストの実行の際に与える入力データは同じものとなる場合がある。また、同じテスト対象のソフトウェアモジュールであったとしても、テストの目的やテスト技法やテスト設計者やテストツールによってテスト項目の入力データや出力はそれぞれ異なることが多い。そこで、ソフトウェアのテストに際して、これらのテスト項目はそれぞれ独立したテスト項目としてみなされている。この結果、テストに際して、従来ではすべてのテスト項目を実施することになり、多くの工数が掛かることになった。
【００１２】
たとえば、あるプログラムＸをテストする場合を考える。ソフトウェアモジュールの入力と出力に着目して機能を検証するプログラムのテスト方法として、ブラックボックステストが存在する。ブラックボックステストのように入力データＡと、出力Ｂ（入力データＡの時の処理）の対応関係を確認する目的のテストで、入力データは、プログラム仕様で入力条件として与えられた、「Ｍ＜Ａ＜Ｎ」の中から任意の値Ａ′を１つ選ぶものとし、「プログラムＸは、入力データＡ′を与えたとき、出力Ｂとなる」というテスト項目となったとする。
【００１３】
一方、モジュールの内部構造に着目してテストを行うテスト方法としてホワイトボックステストが存在する。このホワイトボックステストのようにプログラムＸ中の所定の分岐処理Ｋを通ることを確認する目的のテストでは、この分岐処理Ｋを通るために必要となるプログラムＸへの入力データＣを検討する。そして、分岐処理Ｋを通るための入力データＣの条件として「Ｐ＜Ｃ＜Ｑ」をプログラムコードから導き出した上で、「Ｐ＜Ｃ＜Ｑ」の中から任意の値Ｃ′を１つ選択し、「プログラムＸは入力データＣ′を与えたとき、分岐処理Ｋを通る。」というテスト項目となったとする。
【００１４】
このとき、Ｍ＜Ｅ＜ＮかつＰ＜Ｅ＜Ｑとなる入力データＥが存在する場合、２つのテスト項目は、「プログラムＸは入力データＥを与えたとき、分岐処理Ｋを通り、出力Ｂとなる」のように１つのテスト項目にまとめることができる。
【００１５】
本発明では、ソフトウェアのテストにおいて、たとえば同じソフトウェアモジュールをテスト対象とするテスト項目が複数ある場合、各テスト項目のうち、共通の入力データ範囲を持つテスト項目を探し出して、共通入力データ範囲を使用したテスト項目を作成し、そのテスト項目へ既存のテスト項目の確認内容（出力）を統合することでテスト項目数を実質的に削減することにしている。
【００１６】
次に、本発明を一実施の形態に基づいて説明する。
【００１７】
図１は、本発明の一実施の形態によるソフトウェアテスト項目編集支援装置の構成を示したものである。ソフトウェアテスト項目編集支援装置１００は、入力装置１０１と、この入力装置１０１から入力されたデータを処理するデータ処理装置１０２と、データ処理装置１０２の結果を出力する出力装置１０３と、データ処理装置１０２に接続され、所定の事項を記憶する記憶装置１０４とから構成されている。
【００１８】
ここでデータ処理装置１０２は、ＣＰＵ（Central Processing Unit）１１１と、制御プログラムを格納したハードディスク等のメモリ１１２を備えた制御部１１３を備えており、たとえば通常のパーソナルコンピュータでこれを構成することができる。入力装置１０１は、図示しないキーボードやポインティングデバイスとしてのマウスといった入力デバイスで構成することができる。また、出力装置１０３は、同じく図示しない液晶ディスプレイ等のディスプレイやプリンタといった出力デバイスで構成することができる。更に、記憶装置１０４は、たとえばデータ処理装置１０２がパーソナルコンピュータで構成されている場合に、ＵＳＢ（Universal Serial Bus）等の接続手段を介したハードディスク、光ディスク等の外部記憶装置や半導体メモリ装置であってもよいし、パーソナルコンピュータに元々備えられた内蔵メモリとして構成されていてもよい。
【００１９】
データ処理装置１０２は、前記した制御プログラムをＣＰＵ１１１が実行することによって各種の機能部品を実現することができる。本実施の形態のソフトウェアテスト項目編集支援装置１００の場合、データ処理装置１０２は、テスト項目登録部１２１と、統合化ソフトウェアモジュール候補選択部１２２と、統合化テスト項目候補選択部１２３と、共通入力データ範囲検討部１２４と、統合化候補テスト項目登録部１２５および統合化テスト項目表示部１２６を機能的に実現している。もちろん、これらの少なくとも一部をハードウェアとして構成することも自由である。
【００２０】
一方、記憶装置１０４はテスト項目を記憶するテスト項目記憶部１３１と、統合前のテスト項目と統合後のテスト項目との関連を保持するテスト項目対応テーブル１３２と、統合化テスト項目を記憶する統合化テスト項目記憶部１３３を備えている。
【００２１】
図２は、テスト項目記憶部の一例を具体的に示したものである。テスト項目記憶部１３１におけるテスト項目の列は、「テスト項目番号」と、「対象ソフトウェアモジュール」と、「入力データ範囲」および「出力（期待される結果でテスト実施時に確認する内容）」から構成されている。テスト項目記憶部１３１には、これらの関連が０個以上の任意の個数記憶されている。
【００２２】
図３は、テスト項目対応テーブルの一例を具体的に表わしたものである。テスト項目対応テーブル１３２は、前記したように統合前のテスト項目と統合後のテスト項目との関連を保持するテーブルである。テスト項目対応テーブル１３２には、統合前の「テスト項目番号」と、統合後のテスト項目番号としての「統合化テスト項目番号」と、「対象ソフトウェアモジュール」との関連が０個以上の任意の個数記憶されている。
【００２３】
図４は、統合化テスト項目記憶部の記憶内容の一例を具体的に表わしたものである。統合化テスト項目記憶部１３３は、統合後のテスト項目を０個以上記憶している。テスト項目の列は、「統合化テスト項目番号」と、「対象ソフトウェアモジュール」と、「入力データ範囲」および「出力」からなっている。
【００２４】
図１に戻ってデータ処理装置１０２の説明を行う。テスト項目登録部１２１は、入力装置１０１から入力されたテスト項目に関する情報をテスト項目記憶部１３１に登録するようになっている。ここでテスト項目に関する情報とは、図２のテスト項目記憶部１３１に示しているように、「テスト項目番号」、「対象ソフトウェアモジュール」、「入力データ範囲」および「出力」である。統合化ソフトウェアモジュール候補選択部１２２は、テスト項目記憶部１３１からテスト項目を読み込み、順番にまだテスト項目の統合化を検討していないソフトウェアモジュール名を１つ選択する部分である。
【００２５】
統合化テスト項目候補選択部１２３は、テスト項目記憶部１３１に登録されたテスト項目を統合化の対象として１つ選択する。具体的には、統合化テスト項目候補選択部１２３は、テスト項目記憶部１３１からテスト項目を読み込んで、統合化ソフトウェアモジュール候補選択部１２２で選択したソフトウェアモジュールをテストする１つ以上のテスト項目の中で、まだ統合化を検討していないテスト項目を１つ選択する。これを統合化候補テスト項目と称することにする。テスト項目対応テーブル１３２からは、統合化を検討済のテスト項目番号も読み込む。
【００２６】
共通入力データ範囲検討部１２４は、図３に示したテスト項目対応テーブル１３２と、図４に示した統合化テスト項目記憶部１３３とを参照し、統合化テスト項目候補選択部１２３で選択した統合化候補テスト項目の入力データ範囲と、テスト項目対応テーブル１３２に既に登録されている、同じ対象ソフトウェアモジュールのすべての統合化テスト項目の入力データ範囲とを比較する。そして、共通の範囲がないかを統合化テスト項目の１つ１つについて調べていくようになっている。
【００２７】
統合化候補テスト項目登録部１２５は、共通入力データ範囲検討部１２４の結果を基にして、共通部分がない場合は選択したテスト項目をそのまま新規の統合化テスト項目として登録するようになっている。また、共通部分がある場合には、共通部分の入力データ範囲に限定して統合テスト項目を更新し、統合するテスト項目の出力を新たに追加するようになっている。
【００２８】
統合化テスト項目表示部１２６は、図４に示した統合化テスト項目記憶部１３３から読み取った統合化テスト項目を、出力装置１０３を介してテスト設計者に表示するようになっている。
【００２９】
図５は、以上のような構成のソフトウェアテスト項目編集支援装置の全体的な処理の流れを表わしたものである。図１と共に説明する。
【００３０】
まずソフトウェアテスト項目編集支援装置１００は、テスト項目登録部１２１がテスト項目の登録を行ったかどうかをチェックする（ステップＳ２０１）。テスト設計者が入力装置１０１を使用してテスト項目の登録のための入力操作を行っていたとすると、たとえば図２に示すように、その登録内容がテスト項目記憶部１３１の記憶内容として出力装置１０３に表示される。テスト項目が１つ以上登録されていなければ（Ｎ）、登録処理が待機される。
【００３１】
テスト項目が登録されていた場合（ステップＳ２０１：Ｙ）、統合化ソフトウェアモジュール候補選択部１２２は、対象とするすべてのソフトウェアモジュールについて統合化を検討したかどうかを判別する（ステップＳ２０２）。この結果として対象とするすべてのソフトウェアモジュールについて統合化を検討したことが判明すれば（Ｙ）、これ以上の処理を行う必要がない。そこで、この場合には、これらの統合化テスト項目を出力装置１０３に出力して（ステップＳ２０３）、一連の処理を終了する（エンド）。
【００３２】
一方、対象とするソフトウェアモジュールの少なくとも一部について統合化が未検討であった場合には（ステップＳ２０２：Ｎ)、テスト設計者が入力装置１０１を用いて、未検討のソフトウェアモジュール名を１つ選択するかどうかをチェックする（ステップＳ２０４）。未検討のソフトウェアモジュール名が選択された場合には（Ｙ）、この選択されたソフトウェアモジュール名をテストするすべてのテスト項目について統合化がすでに検討されたかのチェックが行われる（ステップＳ２０５）。これらの検討が行われている場合には（Ｙ）、ステップＳ２０２に処理が戻る。このステップＳ２０２で、テストの対象のすべてのソフトウェアモジュールについて統合化が検討されたと判別された場合には（Ｙ）、先と同様にステップＳ２０３に処理が進むことになる。
【００３３】
これに対して、テストの対象のソフトウェアモジュールの中に、統合化が未検討のものがある場合には（ステップＳ２０２：Ｎ)、ステップＳ２０５に処理が進み、そのソフトウェアモジュール名が１つ選択されることになる。以下、同様である。
【００３４】
ところで、ステップＳ２０５で、選択されたソフトウェアモジュール名をテストする少なくとも一部のテスト項目について統合化が検討されていないと判別された場合（Ｎ）、ソフトウェアテスト項目編集支援装置１００は、テスト設計者が入力装置１０１を用いて、未検討のテスト項目の１つを統合化候補テスト項目として選択するのを待機する（ステップＳ２０６）。
【００３５】
統合化候補テスト項目の選択が行われるまでの処理の様子を、遡って、ステップＳ２０４の処理から説明する。ステップＳ２０４で、未検討のソフトウェアモジュール名として「ソフトウェアモジュールＡ」が選択されたものとする。「ソフトウェアモジュールＡ」については、図２のテスト項目記憶部１３１の記憶内容から、「テスト項目番号」が「１」〜「４」の４種類のテスト項目が存在する。ステップＳ２０５では、これら４種類のテスト項目すべてについて統合化が検討されたかのチェックが行われる。そこで、統合化後のテスト項目番号としての「統合化テスト項目番号」を記したテスト項目対応テーブル１３２（図３参照）が読み込まれる。この場合、「テスト項目番号」が「１」のテスト項目だけについて統合化が検討されていたとする（ステップＳ２０５：Ｎ）。この場合には、テスト設計者は「テスト項目番号」が「２」〜「４」の中から１つのテスト項目を、統合化候補テスト項目の選択として行うことになる（ステップＳ２０６）。
【００３６】
一例として、図２に示したテスト項目記憶部１３１における「テスト項目番号」が「２」のソフトウェアモジュール名である「ソフトウェアモジュールＡ」が統合化候補テスト項目として選択されたとする（ステップＳ２０６：Ｙ）。次のステップＳ２０７で、共通入力データ範囲検討部１２４は、図３に示したテスト項目対応テーブル１３２と、図４に示した統合化テスト項目記憶部１３３とを参照する。そして、統合化候補テスト項目における「入力データ範囲」と、対象ソフトウェアモジュールのすべての統合化テスト項目の「入力データ範囲」との間に、共通の入力データ範囲が存在するかを調査する。なお、このとき、共通の入力データ範囲が、２つ以上の統合化テスト項目に存在する場合には、共通の入力データ範囲が一番広くなる統合化テスト項目を統合先として選択する。
【００３７】
共通の入力データ範囲が存在する場合には（ステップＳ２０８：Ｙ）、統合化テスト項目を、共通の「入力データ範囲」の内容として更新する。そして、統合化候補テスト項目との紐付けを行って、統合化候補テスト項目の出力を統合化テスト項目の出力に追加する。このとき、更新された統合化テスト項目は、図４に示す統合化テスト項目記憶部１３３に保存する（ステップＳ２０９）。
【００３８】
一方、ステップＳ２０８で共通の入力データ範囲が存在しないものとされた場合には（Ｎ）、統合化候補テスト項目を新たな統合化テスト項目として、図３に示したテスト項目対応テーブル１３２に登録する。統合化テスト項目番号は、既存の統合化テスト項目番号の一番大きい数に「１」を加えた番号とする（ステップＳ２１０）。
【００３９】
以上のステップＳ２０９あるいはステップＳ２１０の処理が行われたら、ステップＳ２０５に戻って、すべてのテスト項目について統合化を検討したかどうかの判別が行われる。以下同様である。
【００４０】
以上説明した処理を、図面と共に更に具体的に説明する。
【００４１】
図６（Ａ）は、図５のステップＳ２０４でソフトウェアモジュールＡを選択し、ステップＳ２０６で最初に検討するテスト項目としてテスト項目番号「１」を選択した場合を示したものである。この場合には、統合化候補テスト項目として「テスト項目番号」の「１」を選択した次のステップＳ２０７で、同図（Ｂ）に示すテスト項目対応テーブル１３２を参照して、選択したテスト項目と統合化テスト項目との比較を行う。この時点で、テスト項目対応テーブル１３２のソフトウェアモジュールＡに関する「統合化テスト項目番号」は「１」となっている（図５ステップＳ２０８：Ｎ)。このため、図５のステップＳ２１０の処理が行われる。
【００４２】
すなわち、「テスト項目番号」の「１」（「入力データ範囲」が０＜ｘ＜８０）の内容がそのまま統合化テスト項目として、図６（Ｃ）に示す統合テスト項目記憶部１３３に登録される。「統合化テスト項目番号」は、既存の統合化テスト項目番号の一番大きい数に「１」を加えた番号とする。この時点では、既存の統合化テスト項目がないため、「統合化テスト項目番号」はこの図に示したように「１」となる。
【００４３】
図６（Ｂ）に示すテスト項目対応テーブル１３２には、同図（Ｄ）に示すテスト項目記憶部１３１と、同図（Ｃ）に示す統合化テスト項目記憶部１３３とを紐付ける情報として「テスト項目番号」の「１」と、「統合化テスト項目番号」の「１」と、「対象ソフトウェアモジュール」である「ソフトウェアモジュールＡ」とが登録される。
【００４４】
図７（Ａ）は、図６の例の次に図５のステップＳ２０６でテスト項目番号の「２」を検討するテスト項目として選択した場合を示したものである。この場合には、まず、ステップＳ２０７において、図７（Ｂ）に示すテスト項目対応テーブル１３２を参照し、統合化テスト項目との比較を行う。この時点ではテスト項目対応テーブル１３２は図６（Ｂ）に示したテスト項目対応テーブル１３２の状態である。そこで、「テスト項目番号」が「２」と「統合化テスト項目番号」の「１」についての入力データ範囲を比較する。
【００４５】
統合化テスト項目番号「１」の入力データ範囲は、図６（Ｃ）の統合テスト項目記憶部１３３にあるように「０＜ｘ＜８０」である。一方、テスト項目が「２」の入力データ範囲は図７（Ｄ）に示すように「５０＜ｘ＜１００」である。したがって、共通の入力データ範囲として「５０＜ｘ＜８０」が存在する（図５ステップＳ２０８：Ｙ）。この場合には図５のステップＳ２０９の処理となり、図７（Ｂ）に示すテスト項目対応テーブル１３２には、テスト項目記憶部１３１と、統合テスト項目記憶部１３３とを紐付ける情報としてテスト項目番号の「２」と、統合化テスト項目番号の「１」と、対象ソフトウェアモジュールである「ソフトウェアモジュールＡ」とが登録される。
【００４６】
同図（Ｃ）に示す統合テスト項目記憶部１３３では、「統合化テスト項目番号」の「１」における「入力データ範囲」を「５０＜ｘ＜８０」に更新する。そして、「出力」の列にはテスト項目番号が「２」の「出力」として、「分岐処理Ｌを実行する」を追加する。
【００４７】
図８（Ａ）は、図７の例の次に図５のステップＳ２０６でテスト項目番号の「３」を検討するテスト項目として選択した例を示したものである。まず、ステップＳ２０７において、テスト項目対応テーブル１３２を参照し、統合化テスト項目との比較を行う。この時点ではテスト項目対応テーブル１３２は図７（Ｂ）に示すテスト項目対応テーブル１３２の状態である。そこで、「テスト項目番号」が「３」と「統合化テスト項目番号」の「１」についての入力データ範囲を比較する。
【００４８】
統合化テスト項目番号が「１」の入力データ範囲は、図７（Ｃ）の統合テスト項目記憶部１３３にあるように「５０＜ｘ＜８０」である。一方、テスト項目が「３」の入力データ範囲は、図８（Ｄ）に示すように「４５＜ｘ＜６５」である。したがって、共通の入力データ範囲として「５０＜ｘ＜６５」が存在する（図５ステップＳ２０８：Ｙ）。この場合には図５のステップＳ２０９の処理となり、図８（Ｂ）に示すテスト項目対応テーブル１３２には、テスト項目記憶部１３１と、統合テスト項目記憶部１３３とを紐付ける情報としてテスト項目番号の「３」と、統合化テスト項目番号の「１」と、対象ソフトウェアモジュールである「ソフトウェアモジュールＡ」とが登録される。
【００４９】
同図（Ｃ）に示す統合テスト項目記憶部１３３では、「統合化テスト項目番号」の「１」における「入力データ範囲」を「５０＜ｘ＜６５」に更新する。そして、「出力」の列には「テスト項目番号」が「３」として「分岐処理Ｍを実行する」を追加する。
【００５０】
図９（Ａ）は、図８の例の次に図５のステップＳ２０６でテスト項目番号の「４」を検討するテスト項目として選択した例を示したものである。まず、ステップＳ２０７において、テスト項目対応テーブル１３２を参照し、統合化テスト項目との比較を行う。この時点ではテスト項目対応テーブル１３２は図８（Ｂ）に示すテスト項目対応テーブル１３２の状態である。そこで、「テスト項目番号」が「４」と「統合化テスト項目番号」の「１」についての入力データ範囲を比較する。
【００５１】
統合化テスト項目番号が「１」の入力データ範囲は、図８（Ｃ）の統合テスト項目記憶部１３３にあるように「５０＜ｘ＜６５」である。一方、テスト項目が「４」の入力データ範囲は、図９（Ｄ）に示すように「ｘ＞１００」である。したがって、共通の入力データ範囲が存在しない。このため図５のステップＳ２１０に示す処理となり、図９（Ｃ）に示す統合テスト項目記憶部１３３には、既存の統合化テスト項目番号の一番大きい数に「１」を加えた統合化テスト項目番号が「２」として、「テスト項目番号」が「４」のテスト項目の情報がそのまま保存される。
【００５２】
同図（Ｂ）に示すテスト項目対応テーブル１３２には、テスト項目記憶部１３１と、統合テスト項目記憶部１３３とを紐付ける情報としてテスト項目番号が「４」と、統合化テスト項目番号が「２」と、対象ソフトウェアモジュール「ソフトウェアモジュールＡ」とが登録される。
【００５３】
図５のステップＳ２０９またはステップＳ２１０に示す処理を実施した後は、ステップＳ２０５を経由してステップＳ２０６の処理に戻る。そして、ステップＳ２０４で選択したソフトウェアモジュールに関するすべてのテスト項目について、ステップＳ２０６からステップＳ２１０までの処理を実施することになる。
【００５４】
ステップＳ２０４で選択した未検討のソフトウェアモジュールに対するテスト項目の統合化検討がすべて終わった後は（ステップＳ２０５：Ｙ）、ステップＳ２０２経由でステップＳ２０４に処理が戻る。このようにして、残りのソフトウェアモジュールについても同様にステップＳ２０５〜ステップＳ２１０の処理が実施されることになる。
【００５５】
図１に示した統合化テスト項目表示部１２６は、図４に示した統合化テスト項目記憶部１３３から「統合化テスト項目」を読み取り、出力装置１０３を介してテスト設計者に提供することになる（ステップＳ２０３）。
【００５６】
以上説明した本実施の形態のソフトウェアテスト項目編集支援装置１００によれば、複数のテスト項目の共通した入力データ範囲を１つのテスト項目で実施できるように調整し、統合している。この結果としてテストの実施数を実質的に減らすことができ、テスト工数を削減することができるという効果がある。
【００５７】
＜本発明の変形可能性＞
【００５８】
図１０は、本発明の第１の変形例におけるソフトウェアテスト項目編集支援装置の構成を表わしたものである。図１０で図１と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【００５９】
この第１の変形例のソフトウェアテスト項目編集支援装置１００Ａでは、データ処理装置１０２Ａが新たにテストプログラム生成部１２７を備えている。また、データ処理装置１０２Ａは、この第１の変形例に対処するためのソフトウェアモジュールとしての制御プログラムを格納したメモリ１１２Ａを有する制御部１１３Ａを備えている。テストプログラム生成部１２７がソフトウェアで機能的に実現されるものであってもよいことは当然である。
【００６０】
テストプログラム生成部１２７は、統合化された新しいテスト項目に対し、テストプログラムを作成するようになっている。テスト設計者は、このソフトウェアテスト項目編集支援装置１００Ａを用いることで、テスト項目の統合だけでなく、統合後のテスト項目を実行するためのテストプログラムの作成も行うことができる。
【００６１】
図１１は、本発明の第２の変形例におけるソフトウェアテスト項目編集支援装置の構成を表わしたものである。図１１で図１と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【００６２】
この第２の変形例のソフトウェアテスト項目編集支援装置１００Ｂでは、データ処理装置１０２Ｂが新たにソフトウェアモジュールとしてのプログラムを登録するプログラム登録部１２８と、登録されたプログラムの解析を行うプログラム解析部１２９を備えている。また、データ処理装置１０２Ｂは、この第２の変形例に対処するための制御プログラムを格納したメモリ１１２Ｂを有する制御部１１３Ｂを備えている。プログラム登録部１２８とプログラム解析部１２９の全部または一部がハードウェアで機能的に実現されるものであってもよいことは先の実施の形態と同一である。
【００６３】
プログラム解析部１２９は、周知の手法でプログラムを解析して、「テスト項目番号」、「入力データ範囲」および「出力」といったテスト項目を抽出する。これについての具体的な説明は省略する。
【００６４】
このように第２の変形例のソフトウェアテスト項目編集支援装置１００Ｂでは、テスト設計者がプログラム登録部１２８を使用してプログラムを登録することができるようになっている。プログラム解析部１２９は、プログラムからテスト項目を直接抽出する。データ処理装置１０２Ｂでこれ以外の回路部分は、先の実施の形態と同一である。
【００６５】
なお、実施の形態およびこれらの変形例では、ソフトウェアモジュールに本発明を適用した例を説明したが、ソフトウェアモジュール以外の一般的なソフトウェアにも本発明を適用することができる。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施の形態によるソフトウェアテスト項目編集支援装置の構成を示したブロック図である。
【図２】本実施の形態でテスト項目記憶部の一例を具体的に示した説明図である。
【図３】本実施の形態でテスト項目対応テーブルの一例を具体的に表わした説明図である。
【図４】本実施の形態で統合化テスト項目記憶部の記憶内容の一例を具体的に表わした説明図である。
【図５】本実施の形態のソフトウェアテスト項目編集支援装置の全体的な処理を示す流れ図である。
【図６】本実施の形態の図５のステップＳ２０４でソフトウェアモジュールＡを選択し、ステップＳ２０６で最初に検討するテスト項目としてテスト項目番号「１」を選択した場合の装置の動作を示す説明図である。
【図７】図６の例の次に図５のステップＳ２０６でテスト項目番号の「２」を検討するテスト項目として選択した場合における装置の動作を示す説明図である。
【図８】図７の例の次に図５のステップＳ２０６でテスト項目番号の「３」を検討するテスト項目として選択した場合における装置の動作を示す説明図である。
【図９】図８の例の次に図５のステップＳ２０６でテスト項目番号の「４」を検討するテスト項目として選択した場合における装置の動作を示す説明図である。
【図１０】本発明の第１の変形例におけるソフトウェアテスト項目編集支援装置の構成を表わしたブロック図である。
【図１１】本発明の第２の変形例におけるソフトウェアテスト項目編集支援装置の構成を表わしたブロック図である。
【符号の説明】
【００６７】
１００、１００Ａ、１００Ｂ  ソフトウェアテスト項目編集支援装置
１０１  入力装置
１０２、１０２Ａ、１０２Ｂ  データ処理装置
１０３  出力装置
１０４  記憶装置
１１１  ＣＰＵ
１１２、１１２Ａ、１１２Ｂ  メモリ
１２１  テスト項目登録部
１２２  統合化ソフトウェアモジュール候補選択部
１２３  統合化テスト項目候補選択部
１２４  共通入力データ範囲検討部
１２５  統合化候補テスト項目登録部
１２６  統合化テスト項目表示部
１２７  テストプログラム生成部
１２８  プログラム登録部
１２９  プログラム解析部
１３１  テスト項目記憶部
１３２  テスト項目対応テーブル
１３３  統合化テスト項目記憶部
【図１】
0005163172.tif 000002
【図２】
0005163172.tif 000003
【図３】
0005163172.tif 000004
【図４】
0005163172.tif 000005
【図５】
0005163172.tif 000006
【図６】
0005163172.tif 000007
【図７】
0005163172.tif 000008
【図８】
0005163172.tif 000009
【図９】
0005163172.tif 000010
【図１０】
0005163172.tif 000011
【図１１】
0005163172.tif 000012