(57)【要約】【課題】組合せテストの結果に基づいて、問題のある単体テスト項目の抽出を可能とするテスト支援装置を得ること。【解決手段】オブジェクト指向プログラム開発における組合せテストを支援するテスト支援装置１において、組合せテストで問題のあったユースケースをユースケース選択情報１５０として抽出し、ユースケース選択情報１５０内のユースケース毎に、ユースケースを実現する相互作用図を相互作用図選択情報１６０として抽出し、相互作用図選択情報１６０内の相互作用図毎に、相互作用図内のクラスとメソッドをクラス・メソッド選択情報１７０として抽出する。【選択図】        図１
2005242751.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト指向プログラム開発における評価テストを支援するテスト支援装置において、
プログラムの機能項目であるユースケース毎に行われる評価テストで問題のあったユースケースを抽出するユースケース抽出部と、
ユースケースを実現するためにユースケース毎に作成されたオブジェクト間の関係を示す相互作用図を、前記問題のあったユースケース毎に、問題を含む相互作用図として抽出する相互作用図抽出部と、
前記相互作用図抽出部で抽出された前記相互作用図内のオブジェクトに対応するクラスと、オブジェクト間の一連の呼出し処理であるメソッドとを、前記問題を含む相互作用図毎に、問題を含むクラス・メソッドとして抽出するクラス・メソッド抽出部と、
を備えたことを特徴とするテスト支援装置。
【請求項２】
前記相互作用図抽出部は、前記プログラムの設計モデル中に含まれる、相互作用図とユースケースとの対応関係に基づいて、前記問題を含む相互作用図を抽出することを特徴とする請求項１に記載のテスト支援装置。
【請求項３】
前記クラス・メソッド抽出部は、前記プログラムの設計モデル中に含まれる、クラス・メソッドと相互作用図との対応関係に基づいて、前記問題を含むクラス・メソッドを抽出することを特徴とする請求項１または２に記載のテスト支援装置。
【請求項４】
前記問題を含むクラス・メソッドに関するレポートを作成するレポート作成部をさらに備え、
前記レポート作成部は、各クラス・メソッドに対応する単体テスト項目が存在するか否かの情報に基づいて、前記レポートを作成することを特徴とする請求項１〜３のいずれか１つに記載のテスト支援装置。
【請求項５】
前記レポート作成部は、前記問題を含むクラス・メソッドに対応する単体テスト項目が存在する場合はこのクラス・メソッドの単体テスト項目を再検討するべきであることを示し、前記問題を含むクラス・メソッドに対応する単体テスト項目が存在しない場合はこのクラス・メソッドに対応する単体テスト項目を追加するべきであることを示すレポートを作成することを特徴とする請求項１〜４のいずれか１つに記載のテスト支援装置。
【請求項６】
前記ユースケース抽出部は、問題のあったユースケースとともに、問題のあった各ユースケースにおいて問題のあった評価テスト項目数を抽出し、
前記レポート作成部は、前記レポートを作成する際、前記問題のあった評価テスト項目数に基づいて、前記問題を含むクラス・メソッド毎に改善優先度に関する情報を付加することを特徴とする請求項１〜５のいずれか１つに記載のテスト支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト指向プログラムのテスト作業を支援するテスト支援装置に関するものである。
【背景技術】
【０００２】
近年、ソフトウェア開発を行うため、オブジェクト指向ソフトウェア開発が用いられている。オブジェクト指向ソフトウェア開発においては、ソフトウェアの仕様として求められている機能を実現するための設計を、ＵＭＬ（Unified Modeling Language）を用いた設計モデルとして記述し、この設計モデルの内容に基づいてソフトウェアプログラムを作成することが一般に行われている。設計モデルの構築は、ソフトウェアの全体をクラスという単位に分割し、このクラスを組合せることによってソフトウェアの機能を実現するという考え方に基づいて行われる。
【０００３】
オブジェクト指向におけるクラスとは、データ構造とデータの操作手順（メソッド）をまとめた「型」であり、クラスに基づいて生成された「実体」がインスタンスである。また、オブジェクト指向によるソフトウェア開発においては、ソフトウェアの機能を実現するための設計をユースケース単位で行っている。ユースケースは、ある目的を達成するために行われる一連の処理であり、あるシステムを想定した場合に、そのシステムが有する機能である。したがって、設計モデルには各ユースケースを実現するために必要なクラスと、クラスのインスタンス間で行われる一連の呼出し（メソッド）による相互作用が記述される。このようにしてソフトウェアを構築する場合、１つのクラスを異なるユースケースを実現するための複数の相互作用に使用することができるため、機能とクラスとの間における対応関係は多対多となる。
【０００４】
ソフトウェアの機能（ユースケース）に着目した組合せテストにおいて、テストに失敗した場合には、再検討等を行う必要のあるクラス・メソッドのテスト（単体テスト項目）を抽出する必要がある。このため、大規模なソフトウェア開発において問題のあるクラスとメソッドの抽出を人手で行うことは、多大な労力を要し作業効率や信頼性の点からも困難であった。このような問題点を改善するため、ソフトウェアのテスト作業を自動化する技術が開発されている。
【０００５】
特許文献１に記載のテスト項目抽出装置は、設計モデルからパッケージとクラスの関係、クラス間関係、クラスと操作の関係、クラス名と状態遷移の関係を取得し、これらを使用してテスト項目を作成している。
【０００６】
【特許文献１】特開２００１−２８２５３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記従来の技術によれば、オブジェクト指向プログラムのテストに必要なテスト項目を自動生成することはできるが、組合せテストで問題が検出されたときに再検討すべき単体テスト項目や追加すべき単体テスト項目を抽出することはできないといった問題があった。
【０００８】
本発明は、上記に鑑みてなされたものであって、組合せテストの結果に基づいて、問題のあるクラス・メソッドの抽出を可能とするテスト支援装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、オブジェクト指向プログラム開発における評価テストを支援するテスト支援装置において、プログラムの機能項目であるユースケース毎に行われる評価テストで問題のあったユースケースを抽出するユースケース抽出部と、ユースケースを実現するためにユースケース毎に作成されたオブジェクト間の関係を示す相互作用図を、前記問題のあったユースケース毎に、問題を含む相互作用図として抽出する相互作用図抽出部と、前記相互作用図抽出部で抽出された前記相互作用図内のオブジェクトに対応するクラスと、オブジェクト間の一連の呼出し処理であるメソッドとを、前記問題を含む相互作用図毎に、問題を含むクラス・メソッドとして抽出するクラス・メソッド抽出部と、を備えたことを特徴とする。
【００１０】
この発明によれば、設計モデルに含まれるユースケース、相互作用図、クラス・メソッドの関係に基づいて、評価テストで問題が検出されたユースケースのクラス・メソッドを、問題を含むクラス・メソッドとして抽出することができる。
【発明の効果】
【００１１】
この発明によれば、設計モデルに含まれるユースケース、相互作用図、クラス・メソッドの関係に基づいて、評価テストで問題が検出されたユースケースのクラス・メソッドを抽出しているので、問題を含むクラス・メソッドの抽出を容易に行うことが可能となる。したがって、ソフトウェアの品質改善を、問題を含むクラス・メソッドに基づいて行うことが可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明にかかるテスト支援装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態
まず、本実施の形態に係るテスト支援装置の概念について説明する。図１は、本実施の形態に係るテスト支援装置の概念を説明するための図である。テスト支援装置１は、オブジェクト指向ソフトウェア開発によるソフトウェアのテスト支援を行うための装置であり、組合せテストにおいて問題のあった場合（テストに失敗した場合）に、改善の必要な単体テスト項目等を抽出する。テスト支援装置１は、組合せテスト結果情報１００、設計モデル２００、単体テスト情報３００を用いてレポート４００を作成する。
【００１４】
組合せテスト結果情報１００は、組合せテストのテスト結果に関する情報である。ここでの組合せテストは、クラス（オブジェクトの雛型）を集合させたコンポーネント単位の機能項目やシステム単位の機能項目毎に行うユースケース（機能項目）のテストである。また、各ユースケースのテスト（組合せテスト）としては、種々のバリエーションのテストがある。
【００１５】
設計モデル２００は、ユースケース情報２１０、相互作用図情報２２０、クラス・メソッド情報２３０を含んでいる。ユースケース情報２１０は、ユースケースを実現する相互作用図とユースケースとの対応関係を示す情報である。相互作用図情報２２０は、ユースケースを実現するためにクラスのインスタンス（オブジェクト）が相互作用する過程の一例を記述したものであり、インスタンス間における一連の呼出し関係を時系列または空間的に表した情報である。相互作用図には、相互作用において使用されるインスタンスと、インスタンス間でやり取りされる一連のメッセージ（メソッド）についての情報が含まれている。相互作用図からは、オブジェクトの識別ＩＤとメソッドの識別ＩＤを抽出することができ、オブジェクトの識別ＩＤからクラスの識別ＩＤを抽出することができる。クラス・メソッド情報２３０は、クラスとメソッドに関する情報であり、クラスの識別ＩＤやメソッドの識別ＩＤからクラス名やメソッド名を抽出することができる。
【００１６】
単体テスト情報３００は、クラス・メソッドに単体テスト項目があるか否かを示す情報である。ここでの単体テスト項目とは、各クラス・メソッドに対するテストである。レポート４００は、クラス・メソッドに対して単体テスト項目の再検討または追加の何れが必要であるかの情報と、改善優先度に関する情報を含んでいる。
【００１７】
つぎに、テスト支援装置１によるレポート作成の手順の概要について説明する。テスト支援装置１は、組合せテスト結果情報１００から、ユースケース選択情報１５０を作成する。ユースケース選択情報１５０は、問題が検出された組合せテスト項目に対応するユースケースを抽出したものである。
【００１８】
つぎに、テスト支援装置１は、ユースケース選択情報１５０とユースケース情報２１０に基づいて、相互作用図選択情報１６０を作成する。相互作用図選択情報１６０は、抽出されたユースケースにおいてユースケースを実現する関係にある相互作用図を抽出したものである。
【００１９】
つぎに、テスト支援装置１は、相互作用図選択情報１６０と相互作用図情報２２０に基づいて、クラス・メソッド選択情報１７０を作成する。クラス・メソッド選択情報１７０は、抽出された相互作用図において相互作用図中で呼び出し先になっているクラスとメソッドを抽出したものである。
【００２０】
つぎに、テスト支援装置１は、クラス・メソッド選択情報１７０、クラス・メソッド情報２３０、単体テスト情報３００に基づいて、レポート４００を作成する。レポート４００には、クラス・メソッドに対して単体テスト項目の再検討または追加の何れが必要であるかの情報と、改善優先度に関する情報が含まれており、これらの情報に基づいて単体テスト項目の改善を行うことが可能となる。
【００２１】
つぎに、本実施の形態に係るテスト支援装置の構成について詳細に説明する。図２は、本実施の形態に係るテスト支援装置の構成を示すブロック図である。テスト支援装置１は、オブジェクト指向によって開発されたソフトウェアのテスト作業を支援するパーソナルコンピュータ等の装置であり、入力部１０、ユースケース抽出部２０、相互作用図抽出部３０、クラス・メソッド抽出部４０、レポート作成部５０、出力部６０、制御部７０からなる。
【００２２】
入力部１０は、オブジェクト指向によって開発されたソフトウェアの組合せテスト結果情報１００、設計モデル２００、単体テスト情報３００を入力する。ユースケース抽出部２０は、組合せテスト結果情報１００から問題（組合せテストの失敗）が検出された組合せテスト項目に対応するユースケースを抽出し、ユースケース選択情報１５０として相互作用図抽出部３０に送る。
【００２３】
相互作用図抽出部３０は、設計モデル２００内のユースケース情報２１０に基づいて、ユースケース選択情報１５０内の各ユースケースに対してユースケースを実現する関係にある相互作用図を抽出し、相互作用図選択情報１６０としてクラス・メソッド抽出部４０に送る。
【００２４】
クラス・メソッド抽出部４０は、設計モデル２００内の相互作用図情報２２０に基づいて、相互作用図選択情報１６０内の各相互作用図に対し、相互作用図中で呼び出し先になっているクラスとメソッドを抽出し、クラス・メソッド選択情報１７０としてレポート作成部５０に送る。
【００２５】
レポート作成部５０は、設計モデル２００内のクラス・メソッド情報２３０および単体テスト情報３００に基づいて、クラス・メソッド選択情報１７０内の各クラス・メソッドに対し、単体テスト項目の再検討または追加の何れが必要であるかを判断するとともに単体テスト項目の改善優先度を算出して単体テスト項目に関するレポート４００を作成する。
【００２６】
出力部６０は、レポート４００を出力または表示する機能を備えている。制御部７０は、入力部１０、ユースケース抽出部２０、相互作用図抽出部３０、クラス・メソッド抽出部４０、レポート作成部５０、出力部６０を制御する。
【００２７】
つぎに、図２に示したテスト支援装置のテスト支援処理手順を詳細に説明する。図３は、テスト支援装置によるテスト支援処理手順を示すフローチャートである。組合せテスト結果情報１００をテスト支援装置１の入力部１０に入力する。入力部１０に入力された組合せテスト結果情報１００は、ユースケース抽出部２０に送られる。
【００２８】
図４は、組合せテスト結果情報の一例を示す図である。図４に示すように組合せテスト結果情報１００は、組合せテスト項目と、組合せテスト項目に対する結果と、組合せテスト項目がどのユースケースの組合せテストであるかの情報からなる。組合せテストの「成功」とは、ユースケースにおいて予想通りの処理が実行できた場合であり、組合せテストの「失敗」とは、ユースケースにおいて予想通りの処理が実行できなかった場合をいう。
【００２９】
例えば、図４において組合せテスト項目１は、組合せテスト結果が「失敗」であり、組合せテスト項目１に対応するユースケースはユースケースＡであることを示している。同様に、組合せテスト項目２は組合せテスト結果が「成功」であり、組合せテスト項目２に対応するユースケースはユースケースＡであることを示し、組合せテスト項目３は、組合せテスト結果が「失敗」であり、組合せテスト項目３に対応するユースケースはユースケースＢであることを示し、組合せテスト項目４は組合せテスト結果が「失敗」であり、組合せテスト項目４に対応するユースケースはユースケースＢであることを示し、組合せテスト項目５は組合せテスト結果が「成功」であり、組合せテスト項目５に対応するユースケースはユースケースＣであることを示し、組合せテスト項目６は組合せテスト結果が「成功」であり、組合せテスト項目６に対応するユースケースはユースケースＣであることを示している。
【００３０】
ユースケース抽出部２０は、組合せテスト結果情報１００の中からテスト結果が「失敗」であった組合せテスト項目を、この組合せテスト項目に対するユースケース名とともに全て抽出し（ステップＳ１００）、ユースケース選択情報１５０として相互作用図抽出部３０に送る。
【００３１】
図５は、ユースケース選択情報の一例を示す図である。図５に示すようにユースケース選択情報１５０は、ユースケースにおいて問題が検出された組合せテスト項目数と各ユースケースの関係を示している。図４に示した組合せテスト結果情報１００においては、組合せテスト結果が「失敗」であるのは、組合せテスト項目１（ユースケースＡ）、組合せテスト項目３（ユースケースＢ）、組合せテスト項目４（ユースケースＢ）である。したがって、ユースケース選択情報１５０においては、ユースケースＡにおいて問題が検出された組合せテスト項目数を「１」と示し、ユースケースＢにおいて問題が検出された組合せテスト項目数を「２」と示している。
【００３２】
つぎに、ユースケース情報２１０をテスト支援装置１の入力部１０に入力する。入力部１０に入力されたユースケース情報２１０は相互作用図抽出部３０に送られる。図６は、ユースケース情報の一例を示す図である。図６に示すようにユースケース情報２１０は、ユースケースを実現する関係にある相互作用図とユースケースとの対応関係を示している。ここでは、ユースケースＡを実現する関係にある相互作用図が相互作用図Ｐであり、ユースケースＢを実現する関係にある相互作用図が相互作用図Ｑであり、ユースケースＣを実現する関係にある相互作用図が相互作用図Ｒである場合を示している。
【００３３】
つぎに、相互作用図抽出部３０は、ユースケース選択情報１５０とユースケース情報２１０に基づいて、ユースケース選択情報１５０内の各ユースケースに対してユースケースを実現する関係にある相互作用図を抽出する（ステップＳ１１０）。抽出した相互作用図は、相互作用図選択情報１６０として相互作用図抽出部３０からクラス・メソッド抽出部４０に送られる。
【００３４】
図７は、相互作用図選択情報の一例を示す図である。図７に示すように相互作用図選択情報１６０は、相互作用図とその関連情報の関係を示している。関連情報は、相互作用図に対応するユースケースおよびこのユースケースにおいて問題が検出された組合せテスト項目数を示す情報である。
【００３５】
図５に示したユースケース選択情報１５０には、ユースケースＡとユースケースＢが含まれている。ユースケースＡにいて問題が検出された組合せテスト項目数が「１」であり、ユースケースＢにおいて問題が検出された組合せテスト項目数が「２」である。また、図６に示したユースケース情報２１０においては、相互作用図ＰがユースケースＡに対応し、相互作用図ＱがユースケースＢに対応している。したがって、相互作用図選択情報１６０においては、相互作用図Ｐに対する関連情報を「Ａ（１）」と示し、相互作用図Ｑに対する関連情報を「Ｂ（２）」と示している。
【００３６】
つぎに、相互作用図情報２２０がテスト支援装置１の入力部１０に入力される。入力部１０に入力された相互作用図情報２２０は、クラス・メソッド抽出部４０に送られる。相互作用図情報２２０は複数の相互作用図からなる。
【００３７】
図８〜図１０は、相互作用図の一例を示す図である。相互作用図は、ＵＭＬのシーケンス図やＵＭＬのコラボレ−ション図で記述することができる。図８は、相互作用図ＰをＵＭＬのシーケンス図で記述した図であり、図９は相互作用図ＱをＵＭＬのシーケンス図で記述した図である。図８に示すように相互作用図Ｐは、クラスのインスタンス間における一連の呼出し関係（メソッド）を時系列に示したものである。ここでは、クラスＸがメソッドｆ１（）の呼出し先であり、クラスＹがメソッドｇ１（）の呼出し先であり、クラスＺがメソッドｈ１（）の呼出し先である場合を示している。
【００３８】
図９に示すように相互作用図Ｑでは、クラスＸがメソッドｆ２（）の呼出し先であり、クラスＺがメソッドｈ１（）の呼出し先である場合を示している。図１０は相互作用図ＲをＵＭＬのコラボレーション図で記述した図である。ここでは、クラスＹがメソッドｇ２（）の呼出し先であり、クラスＺがメソッドｈ２（）の呼出し先である場合を示している。
【００３９】
つぎに、クラス・メソッド抽出部４０は、相互作用図選択情報１６０と相互作用図情報２２０に基づいて、相互作用図選択情報１６０内の各相互作用図に対して相互作用図中で呼び出し先になっているクラス・メソッドの（識別ＩＤ）を抽出する（ステップＳ１２０）。抽出したクラス・メソッドは、クラス・メソッド選択情報１７０としてクラス・メソッド抽出部４０からレポート作成部５０に送られる
【００４０】
図１１は、クラス・メソッド選択情報の一例を示す図である。図１１に示すようにクラス・メソッド選択情報１７０は、クラス・メソッドとその関連情報の関係を示している。ここでの関連情報は、クラス・メソッドに関連する相互作用図、相互作用図に対応するユースケース、ユースケースにおいて問題が検出されたテスト項目数を示す情報である。
【００４１】
図７に示した相互作用図選択情報１６０には相互作用図Ｐと相互作用図Ｑが含まれている。また、図８に示した相互作用図Ｐからは、クラス・メソッドとして、「Ｘ：：ｆ１（）」、「Ｙ：：ｇ１（）」、「Ｚ：：ｈ１（）」を抽出することができ、図９に示した相互作用図Ｑからは、クラス・メソッドとして、「Ｘ：：ｆ２（）」、「Ｚ：：ｈ１（）」を抽出することができる。したがって、クラス・メソッド選択情報１７０においては、クラス・メソッド「Ｘ：：ｆ１（）」に対応する関連情報を「Ｐ（Ａ（１））」と示し、クラス・メソッド「Ｘ：：ｆ２（）」に対応する関連情報を「Ｑ（Ｂ（２））」と示し、クラス・メソッド「Ｙ：：ｇ１（）」に対応する関連情報を「Ｐ（Ａ（１））」と示し、クラス・メソッド「Ｚ：：ｈ１（）」に対応する関連情報を「Ｐ（Ａ（１））、Ｑ（Ｂ（２））」と示している。
【００４２】
つぎに、クラス・メソッド情報２３０をテスト支援装置１の入力部１０に入力する。入力部１０に入力されたクラス・メソッド情報２３０は、レポート作成部５０に送られる。また、単体テスト情報３００がテスト支援装置１の入力部１０に入力されると、入力部１０からレポート作成部５０に単体テスト情報３００が送られる。
【００４３】
図１２は、クラス・メソッド情報の一例を示す図である。図１２に示すようにクラス・メソッド情報２３０から、クラスの識別ＩＤとクラス名の対応関係が分かり、メソッドの識別ＩＤとメソッド名の対応関係が分かる。
【００４４】
図１３は、単体テスト情報の一例を示す図である。図１３に示すように単体テスト情報３００は、各クラス・メソッドに単体テスト項目が既にあるか否かを示している。ここでは、クラス・メソッド「Ｘ：：ｆ１（）」、クラス・メソッド「Ｙ：：ｇ２（）」、クラス・メソッド「Ｚ：：ｈ１（）」、クラス・メソッド「Ｚ：：ｈ２（）」には既に単体テスト項目が存在し、クラス・メソッド「Ｘ：：ｆ２（）」、クラス・メソッド「Ｙ：：ｇ１（）」には単体テスト項目が存在していないことを示している。
【００４５】
つぎに、レポート作成部５０は、クラス・メソッド選択情報１７０とクラス・メソッド情報２３０に基づいて、クラス・メソッド選択情報１７０内の各クラス・メソッドに対して単体テスト項目が存在するか否かを判断する。単体テスト項目が既に存在するクラス・メソッドは、単体テスト項目を再検討する必要があるため単体テスト項目の改善内容を「再検討」と判定し、単体テスト項目が存在しないクラス・メソッドは、単体テスト項目を追加する必要があるため単体テスト項目の改善内容を「追加」と判定する。ここでは、クラス・メソッド「Ｘ：：ｆ１（）」、クラス・メソッド「Ｙ：：ｇ２（）」、クラス・メソッド「Ｚ：：ｈ１（）」、クラス・メソッド「Ｚ：：ｈ２（）」には既に単体テスト項目が存在しているため、これらのクラス・メソッドは「再検討」と判定される。一方、クラス・メソッド「Ｘ：：ｆ２（）」、クラス・メソッド「Ｙ：：ｇ１（）」には単体テスト項目が存在していないため、これらのクラス・メソッドは「追加」と判定される。
【００４６】
さらに、レポート作成部５０はクラス・メソッド選択情報１７０のクラス・メソッドと関連情報から、各クラス・メソッドが組合せテストに失敗した項目数（テスト失敗項目数）を算出する。そして、テスト失敗項目数に応じてテスト項目の改善優先度を順位付けする。ここでは、クラス・メソッド「Ｘ：：ｆ１（）」のテスト失敗項目数が１つであり、クラス・メソッド「Ｘ：：ｆ２（）」のテスト失敗項目数が２つであり、クラス・メソッド「Ｙ：：ｇ１（）」のテスト失敗項目数が１つであり、クラス・メソッド「Ｚ：：ｈ１（）」のテスト失敗項目数が３つであると算出される。したがって、テスト項目の改善優先度は優先度の高い順番に、クラス・メソッド「Ｚ：：ｈ１（）」、クラス・メソッド「Ｘ：：ｆ２（）」、クラス・メソッド「Ｘ：：ｆ１（）」、「Ｙ：：ｇ１（）」となる。レポート作成部５０は、クラス・メソッド情報２３０、単体テスト情報３００から判定した単体テスト項目の改善内容、クラス・メソッド選択情報１７０から得たクラス・メソッドのテスト失敗項目数に基づいて組合せテストに対するレポート４００を作成する（ステップＳ１３０）。
【００４７】
図１４は、作成されたレポートの一例を示す図である。図１４に示すようにレポート４００は、クラス・メソッド名、優先度に関する情報（優先度）、判定の内容（判定）によって表される。ここでは、クラス・メソッド「Ｚ：：ｈ１（）」が１番目の改善優先度であり、単体テスト項目の改善内容は「再検討」である。クラス・メソッド「Ｘ：：ｆ２（）」が２番目の改善優先度であり、単体テスト項目の改善内容は「追加討」である。クラス・メソッド「Ｘ：：ｆ１（）」が３番目の改善優先度であり、単体テスト項目の改善内容は「再検討」である。クラス・メソッド「Ｙ：：ｇ１（）」が４番目の改善優先度であり、単体テスト項目の改善内容は「再検討」である。作成されたレポート４００は、出力部６０から出力される。そして、出力されたレポート４００を参照することによって単体テストの改善等が行われる。
【００４８】
なお、レポート４００は、組合せテスト結果情報１００、ユースケース情報２１０、相互作用図情報２２０のみからでも作成可能である。この場合は、レポート４００において組合せテストで問題のあったユースケースのクラス・メソッドが記載される。
【００４９】
なお、本実施の形態においては図８と図９でシーケンス図を用い、図１０でコラボレ−ション図を用いた場合について説明したが、相互作用図はシーケンス図とコラボレ−ション図のいずれを用いてもよい。
【００５０】
このように実施の形態によれば、設計モデル２００に含まれるユースケース、相互作用図、クラスおよびメソッドの関係に基づいて、組合せテストで問題が検出されたユースケースのクラス・メソッドを抽出しているので、抽出されたクラス・メソッドに対応する単体テスト項目の改善や追加を効率的に行うことが可能となる。また、組合せテストに失敗したユースケースに対応するクラス・メソッドの単体テスト項目の個数に基づいて改善の優先度をつけているため、改善優先度に関する情報に基づいて単体テストの改善や追加を効率的に行うことが可能となる。したがって、短時間でソフトウェアの品質改善に対応可能となる。
【産業上の利用可能性】
【００５１】
以上のように、本発明にかかるテスト支援装置は、オブジェクト指向を用いて開発したソフトウェアの単体テストの改善や追加の支援に適している。
【図面の簡単な説明】
【００５２】
【図１】本実施の形態に係るテスト支援装置の概念を説明するための図である。
【図２】本実施の形態に係るテスト支援装置の構成を示すブロック図である。
【図３】テスト支援装置によるテスト支援処理手順を示すフローチャートである。
【図４】組合せテスト結果情報の一例を示す図である。
【図５】ユースケース選択情報の一例を示す図である。
【図６】ユースケース情報の一例を示す図である。
【図７】相互作用図選択情報の一例を示す図である。
【図８】相互作用図の一例を示す図である。
【図９】相互作用図の一例を示す図である。
【図１０】相互作用図の一例を示す図である。
【図１１】クラス・メソッド選択情報の一例を示す図である。
【図１２】クラス・メソッド情報の一例を示す図である。
【図１３】単体テスト情報の一例を示す図である。
【図１４】作成されたレポートの一例を示す図である。
【符号の説明】
【００５３】
１  テスト支援装置
１０  入力部
２０  ユースケース抽出部
３０  相互作用図抽出部
４０  クラス・メソッド抽出部
５０  レポート作成部
６０  出力部
７０  制御部
１００  テスト結果情報
１５０  ユースケース選択情報
１６０  相互作用図選択情報
１７０  クラス・メソッド選択情報
２００  設計モデル
２１０  ユースケース情報
２２０  相互作用図情報
２３０  クラス・メソッド情報
３００  単体テスト情報
４００  レポート
【図１】
2005242751.tif 000003
【図２】
2005242751.tif 000004
【図３】
2005242751.tif 000005
【図４】
2005242751.tif 000006
【図５】
2005242751.tif 000007
【図６】
2005242751.tif 000008
【図７】
2005242751.tif 000009
【図８】
2005242751.tif 000010
【図９】
2005242751.tif 000011
【図１０】
2005242751.tif 000012
【図１１】
2005242751.tif 000013
【図１２】
2005242751.tif 000014
【図１３】
2005242751.tif 000015
【図１４】
2005242751.tif 000016