(57)【要約】      （修正有）【課題】テストケースの滞留を防止しながら、適切なテスト環境を選択するテスト環境決定装置を提供する。【解決手段】テスト環境決定装置０は、要素選択部４、性能情報保存部５、組合せ可否情報保存部６、組合せ判断部７、環境稼働情報取得部８、使用コスト計算部９及び環境選択部１０を有する。要素選択部は、テスト対象である電子制御装置の仕様を記述した対象要件３０２と、テスト対象の外部環境をシミュレートするためのテスト環境の仕様を記述した環境要件３０３とに基づいて、テストケースを実行するためのテスト対象及びテスト環境を各々一つ以上選択する。環境稼働情報取得部は、テスト環境の稼働情報３１０を取得する。環境選択部は、取得した稼働情報に基づいて、選択されたテスト対象とテスト環境との組み合わせを選択する。【選択図】図４
2020107133.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象である電子制御装置の仕様を記述した対象要件と、テスト対象の外部環境をシミュレートするためのテスト環境の仕様を記述した環境要件とに基づいて、テストケースを実行するためのテスト対象及びテスト環境を各々一つ以上選択する要素選択部と、
前記テスト環境の稼働情報を取得する環境稼働情報取得部と、
前記取得した稼働情報に基づいて、選択された前記テスト対象と前記テスト環境との組み合わせを選択する環境選択部とを備えることを特徴とするテスト環境決定装置。
【請求項２】
請求項１に記載のテスト環境決定装置であって、
前記要素選択部は、
前記対象要件として指定された動作周波数、メモリ領域、Ｉ／Ｏポート数及び通信チャンネル数の少なくとも一つの下限値又は範囲を満たすようにテスト対象を選択し、
前記環境要件として指定された動作周波数、メモリ領域、Ｉ／Ｏポート数及び通信チャンネル数の少なくとも一つの下限値又は範囲を満たすようにテスト環境を選択することを特徴とするテスト環境決定装置。
【請求項３】
請求項１に記載のテスト環境決定装置であって、
前記環境稼働情報取得部は、前記テスト対象及び前記テスト環境で実行したテストケースの実行開始時刻及び実行終了時刻を含む稼働履歴を、前記稼働情報として取得することを特徴とするテスト環境決定装置。
【請求項４】
請求項３に記載のテスト環境決定装置であって、
前記環境選択部は、前記取得した稼働情報に基づいて判定された、稼働中でないテスト対象と稼働中でないテスト環境との組み合わせを選択することを特徴とするテスト環境決定装置。
【請求項５】
請求項１に記載のテスト環境決定装置であって、
前記環境選択部は、前記テストケースの実行に必要な時間が確保できる現在時刻に最も近い時間帯でテストケースを実行可能な前記テスト対象及び前記テスト環境の組合せを選択することを特徴とするテスト環境決定装置。
【請求項６】
請求項１に記載のテスト環境決定装置であって、
前記要素選択部によって選択されたテスト対象及びテスト環境と少なくとも一方が異なるテスト対象及びテスト環境でテストケースを実行するために指定可能なインターフェースを備えることを特徴とするテスト環境決定装置。
【請求項７】
請求項１に記載のテスト環境決定装置であって、
前記対象要件及び前記環境要件を満たすテスト対象とテスト環境との組合せが存在しない場合に、前記対象要件及び前記環境要件の少なくとも一方を変更可能なインターフェースを備えることを特徴とするテスト環境決定装置。
【請求項８】
計算機が、テストケースの実行に適するテスト対象とテスト環境との組み合わせを選択するためのテスト環境決定方法であって、
前記計算機は、プログラムを実行する演算装置と、前記演算装置がアクセス可能な記憶装置とを有し、
前記テスト環境決定方法は、
前記演算装置が、テスト対象である電子制御装置の仕様を記述した対象要件と、テスト対象の外部環境をシミュレートするためのテスト環境の仕様を記述した環境要件とに基づいて、テストケースを実行するためのテスト対象及びテスト環境を各々一つ以上選択する要素選択手順と、
前記演算装置が、前記テスト環境の稼働情報を取得する環境稼働情報取得手順と、
前記演算装置が、前記取得した稼働情報に基づいて、選択された前記テスト対象と前記テスト環境との組み合わせを選択する環境選択手順とを含むことを特徴とするテスト環境決定方法。
【請求項９】
請求項８に記載のテスト環境決定方法であって、
前記要素選択手順では、
前記演算装置が、前記対象要件として指定された動作周波数、メモリ領域、Ｉ／Ｏポート数及び通信チャンネル数の少なくとも一つの下限値又は範囲を満たすようにテスト対象を選択し、
前記演算装置が、前記環境要件として指定された動作周波数、メモリ領域、Ｉ／Ｏポート数及び通信チャンネル数の少なくとも一つの下限値又は範囲を満たすようにテスト環境を選択することを特徴とするテスト環境決定方法。
【請求項１０】
請求項８に記載のテスト環境決定方法であって、
前記環境稼働情報取得手順では、前記演算装置が、前記テスト対象及び前記テスト環境で実行したテストケースの実行開始時刻及び実行終了時刻を含む稼働履歴を、前記稼働情報として取得することを特徴とするテスト環境決定方法。
【請求項１１】
請求項１０に記載のテスト環境決定方法であって、
前記環境選択手順では、前記演算装置が、前記取得した稼働情報に基づいて判定された、稼働中でないテスト対象と稼働中でないテスト環境との組み合わせを選択することを特徴とするテスト環境決定方法。
【請求項１２】
請求項８に記載のテスト環境決定方法であって、
前記環境選択手順では、前記演算装置が、前記テストケースの実行に必要な時間が確保できる現在時刻に最も近い時間帯でテストケースを実行可能な前記テスト対象及び前記テスト環境の組合せを選択することを特徴とするテスト環境決定方法。
【請求項１３】
請求項８に記載のテスト環境決定方法であって、
前記演算装置が、前記要素選択手順において選択されたテスト対象及びテスト環境と少なくとも一方が異なるテスト対象及びテスト環境で前記テストケースを実行するために指定を受け付けることを特徴とするテスト環境決定方法。
【請求項１４】
請求項８に記載のテスト環境決定方法であって、
前記演算装置が、前記対象要件及び前記環境要件を満たすテスト対象とテスト環境との組合せが存在しない場合に、前記対象要件及び前記環境要件の少なくとも一方の変更を受け付けることを特徴とするテスト環境決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト環境決定装置に関する。
【背景技術】
【０００２】
大規模化するソフトウエアを効率的にテストするため様々なテスト環境が導入されているが、テスト環境の選択肢の増加によって、人手によるテスト環境の決定が困難になっている。本技術分野の背景技術として、以下の先行技術がある。特許文献１（特開２００８−８４１２１号公報）には、所定のシミュレーションを実行するシミュレータにおけるシミュレーションの環境条件を管理するスレーブ管理装置を複数存在するシミュレータに対応させて複数備えるとともに、各スレーブ管理装置とネットワーク接続され、前記スレーブ管理装置を介して複数のシミュレータにおけるシミュレーションの環境条件を統括管理するマスタ管理装置を備えるシミュレ−ションシステムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−８４１２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されたシミュレ−ションシステムでは、テスト対象としてＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ Ｃｏｎｔｒｏｌ Ｕｎｉｔ、電子制御ユニット）、テスト環境としてＨｉＬＳ（Ｈａｒｄｗａｒｅ−ｉｎ−ｔｈｅ−Ｌｏｏｐ  Ｓｉｍｕｌａｔｏｒ）、ＳｉＬＳ（Ｓｏｆｔｗａｒｅ−ｉｎ−ｔｈｅ−ｌｏｏｐ  Ｓｉｍｕｌａｔｏｒ）が想定されており、テスト環境を自動で決定する。マスタ管理装置は各ＨｉＬＳ、各ＳｉＬＳに関して、シミュレーションの実行及び評価に必要なデータの種類、単位、精度及びデータの配列情報等を定義した設定条件や、スレーブ管理装置の表示部からシミュレーションを制御するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅ）の設定条件等からなる環境条件を統括管理しているため、オペレータが環境条件を指定すると、指定した環境条件を満たす最もシミュレーション精度が高いシミュレータを自動で選択することが可能となっている。しかし、シミュレーション精度が高いシミュレータに選択が集中するため、大量のテストケースを限られたテスト環境でテストしなければならないＥＣＵのテストにおいては、シミュレーション精度の高い特定のＨｉＬＳにテストケースが滞留する問題がある。
【０００５】
そこで本発明は、テストケースの滞留を防止することを目的とする。
【課題を解決するための手段】
【０００６】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、テスト対象である電子制御装置の仕様を記述した対象要件と、テスト対象の外部環境をシミュレートするためのテスト環境の仕様を記述した環境要件とに基づいて、テストケースを実行するためのテスト対象及びテスト環境を各々一つ以上選択する要素選択部と、前記テスト環境の稼働情報を取得する環境稼働情報取得部と、前記取得した稼働情報に基づいて、選択された前記テスト対象と前記テスト環境との組み合わせを選択する環境選択部とを備えることを特徴とするテスト環境決定装置である。
【発明の効果】
【０００７】
本発明の一態様によれば、テストケースの滞留を防止しながら、適切なテスト環境を選択できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】実施例１のテスト環境決定装置を含むシステムの構成を示す図である。
【図２】実施例１のＨｉＬＳ環境及びＳｉＬＳ環境の構成を示す図である。
【図３】実施例１のテスト仕様書のフォーマットを示す図である。
【図４】実施例１のテスト環境決定装置の構成を示す図である。
【図５】実施例１の性能情報保存部に保存されている性能情報を示す図である。
【図６】実施例１において、要素選択部が対象要件及び対象性能情報に基づいてテスト対象を選択する処理のフローチャートである。
【図７】実施例１において、要素選択部が環境要件及び環境性能情報に基づいてテスト環境を選択する処理のフローチャートである。
【図８】実施例１の組合せ可否情報保存部に保存される組合せ可否表を示す図である。
【図９】実施例１において、要素選択部によって選択されたテスト対象とテスト環境との組合せが可能か否かを、組合せ判断部が判断する処理のフローチャートである。
【図１０】実施例１において、環境稼働情報取得部が取得する各ＨｉＬＳ及び各ＳｉＬＳの稼働情報を示す図である。
【図１１】実施例１において、使用コスト計算部が使用コストを計算する処理のフローチャートである。
【図１２】実施例１において、ＥＣＵの使用状況表を示す図である
【図１３】実施例１において、環境選択部がテスト対象及びテスト環境を各々一つ決定する処理のフローチャートである。
【図１４】実施例２のテスト環境決定装置の構成を示す図である。
【図１５】実施例２のテスト仕様書のフォーマットを示す図である。
【図１６】実施例２において、要素選択部が目的要件、対象要件及び対象性能情報に基づいてテスト対象を選択する処理のフローチャートである。
【図１７】実施例２において、要素選択部が環境要件及び環境性能情報に基づいてテスト環境を選択する処理のフローチャートである。
【図１８】実施例２において、使用コスト計算部が使用コストを計算する処理のフローチャートである。
【図１９】実施例３において、テスト対象によるテスト環境の占有状況の例を示す図である。
【発明を実施するための形態】
【０００９】
本発明の実施例として開示するテスト環境決定装置は、特に、組み込みシステムの制御ソフトウエア開発に用いるテスト技術に適用すると好適である。以下、本発明の実施例を説明する。
【実施例１】
【００１０】
＜構成＞
図１は、本実施例のテスト環境決定装置０を含むシステムの構成を示す図である。図示したシステムは、テスト環境決定装置０と、三つのＨｉＬＳ（Ｈａｒｄｗａｒｅ−ｉｎ−ｔｈｅ−Ｌｏｏｐ  Ｓｉｍｕｌａｔｏｒ）環境１と、二つのＳｉＬＳ（Ｓｏｆｔｗａｒｅ−ｉｎ−ｔｈｅ−Ｌｏｏｐ  Ｓｉｍｕｌａｔｏｒ）環境２とで構成される。各ＨｉＬＳ環境１はテスト環境決定装置０と接続されており、各ＳｉＬＳ環境２はテスト環境決定装置０と接続されている。また、各ＨｉＬＳ環境１はＥＣＵ３と接続されている。本実施例においてはＨｉＬＳ環境１を三つ、ＳｉＬＳ環境２を二つとしたが、これに限らず、ＨｉＬＳ環境１及びＳｉＬＳ環境２は、それぞれ単独又は任意の複数でよい。
【００１１】
ＥＣＵ３は、主に、車両の制御用に用いられる電子制御装置であり、プロセッサがプログラムを実行することによって、車両の走行などの車両に関する制御処理を実行する。
【００１２】
＜ＨｉＬＳ環境とＳｉＬＳ環境＞
図２は、ＨｉＬＳ環境１及びＳｉＬＳ環境２の構成を示す図である。
【００１３】
図２（Ａ）に示すように、ＨｉＬＳ環境１は、ＨｉＬＳ制御用コンピュータ１０１と、ＨｉＬＳ（Ｈａｒｄｗａｒｅ−ｉｎ−ｔｈｅ−Ｌｏｏｐ  Ｓｉｍｕｌａｔｏｒ）１０２とで構成される。ＨｉＬＳ１０２には、ＥＣＵ３が接続される。ＨｉＬＳ制御用コンピュータ１０１とＨｉＬＳ１０２とは、通信路１０４で接続されており、通信路１０４を介してデータを交換する。通信路１０４は、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で実装される。ＨｉＬＳ１０２とＥＣＵ３とは、通信路１０５で接続されており、通信路１０５を介してデータを交換する。通信路１０５は、例えばＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で実装されるが、入出力信号が印加される電線で実装されてもよく、ネットワークと電線の両方で実装されてもよい。
【００１４】
図２（Ｂ）に示すように、ＳｉＬＳ環境２は、ＳｉＬＳ（Ｓｏｆｔｗａｒｅ−ｉｎ−ｔｈｅ−Ｌｏｏｐ  Ｓｉｍｕｌａｔｏｒ）が実装されるＳｉＬＳ制御用コンピュータ２０１で構成される。ＳｉＬＳ制御用コンピュータ２０１は、ＥＣＵをソフト上でシミュレートするＥＣＵシミュレータ２０１１と、ＥＣＵ３の外部環境をソフト上でのシミュレートする外部環境シミュレータ２０１２とで構成される。
【００１５】
本実施例のＨｉＬＳ制御用コンピュータ１０１及びＳｉＬＳ制御用コンピュータ２０１は、ハードウエア構成の図示は省略するが、プロセッサ（ＣＰＵ等の演算装置）、記憶装置及び通信インターフェースを有する計算機システムによって構成される。
【００１６】
プロセッサは、メモリに格納されたプログラムを実行する。プロセッサが実行する処理の一部又は全部をハードウエアで構成される演算装置（ＡＳＩＣ、ＦＰＧＡ等）で実行してもよい。メモリは、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【００１７】
記憶装置は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置である。記憶装置は、プログラムの実行時にアクセスされるデータを格納する。また、記憶装置は、プロセッサが実行するプログラムを格納してもよい。この場合、プログラムは、記憶装置から読み出されて、メモリにロードされて、プロセッサによって実行される。
【００１８】
ＣＰＵが実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介してＨｉＬＳ制御用コンピュータ１０１及びＳｉＬＳ制御用コンピュータ２０１に提供され、非一時的記憶媒体である不揮発性の記憶装置に格納される。このため、計算機システムは、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【００１９】
＜テスト仕様書３０＞
図３は、実施例１のテスト仕様書３０のフォーマットを示す図である。テスト仕様書３０は各テストケースに関する仕様が記録されており、テストケースＩＤ３００、対象要件３０２、環境要件３０３、事前条件３０４、実行手順３０５及び期待結果３０６を含む。テストケースとテスト仕様書３０とは一対一に対応する。テストケースＩＤ３００は、テストケースに一意に割り当てられた識別情報であり、テスト仕様書３０の識別情報でもある。対象要件３０２は、テスト対象が満たすべきスペックを記述した要件であり、例えば、ＥＣＵの最低動作周波数、最小のメモリ領域量、最小のＩ／Ｏポート数、必要な通信チャンネルの数であり、これらの項目の下限値や範囲で指定される。環境要件３０３は、テスト環境が満たすべき仕様を記述した要件であり、例えば、テスト環境となるＨｉＬＳ１０２の最低動作周波数、最小のメモリ領域量、最小のＩ／Ｏポート数、必要な通信チャンネルの数であり、これらの項目の下限値や範囲で指定される。事前条件３０４は、テスト実行時の事前条件を与えており、例えば、ＥＣＵ内のＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）の初期値が指定される。実行手順３０５は、テストを実行する方法又は手順を与えており、例えば、ＥＣＵの外部環境のシミュレータ２０１２がテスト対象のＥＣＵにＣＡＮ（ｃｏｎｔｒｏｌｌｅｒ  ａｒｅａ  ｎｅｔｗｏｒｋ）メッセージを送信するタイミングが指定される。期待結果３０６は、テストケースの合否判定の基準を与えており、例えば、ＣＡＮメッセージの受信後に特定のＲＡＭの値が所定の値に一致していれば合格、そうでなければ不合格などと記述される。
【００２０】
＜テスト環境決定装置０＞
図４は、実施例１のテスト環境決定装置０の構成を示す図である。テスト環境決定装置０は、要素選択部４、性能情報保存部５、組合せ可否情報保存部６、組合せ判断部７、環境稼働情報取得部８、使用コスト計算部９及び環境選択部１０を有する。
【００２１】
要素選択部４は、対象要件３０２又は環境要件３０３を取得し、性能情報保存部５に保存された各テスト対象又はテスト環境の性能情報と比較し、対象要件３０２又は環境要件３０３に基づき選択可能なテスト対象又はテスト環境を一つ以上選択する。組合せ可否情報保存部６は、テスト対象とテスト環境の組合せの可否情報を保存する。組合せ可否情報保存部６の詳細な構成は、図８を参照して後述する。組合せ判断部７は、要素選択部４が選択したテスト環境及びテスト対象に関して、組合せ可否情報に基づいてテスト対象とテスト環境との組合せが可能な複数の組合せを出力する。環境稼働情報取得部８は、テスト環境に含まれる各ＨｉＬＳ環境と各ＳｉＬＳ環境の稼働情報を取得する。使用コスト計算部９は、取得した稼働情報に基づいて、環境を使用するためのコストを計算する。環境選択部１０は、組合せ判断部７が出力したテスト対象とテスト環境との組合せに関して、使用コスト計算部９によって計算された使用コストが最も小さい組合せを一つ選択し出力する。
【００２２】
＜性能情報保存部５＞
図５は、性能情報保存部５に保存されている性能情報を示す図である。性能情報は、対象性能情報５０１及び環境性能情報５０２を含む。対象性能情報５０１は、図５（Ａ）に示すように、ＥＣＵなどの各テスト対象に関する情報であって、動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数を含む。環境性能情報５０２は、図５（Ｂ）に示すように、各テスト環境に関する情報であって、動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数を含む。対象性能情報５０１及び環境性能情報５０２は、図示した一部の全てのデータ項目を含まなくてもよく、図示した以外のデータ項目を含んでもよい。
【００２３】
なお、図５（Ａ）において、ＮＯ＿ＥＣＵは、ＳｉＬＳ選択時に使用されるダミーデータであり、各正常情報の値は不定である。
【００２４】
＜要素選択部４＞
図６は、実施例１において、要素選択部４が対象要件３０２及び対象性能情報５０１に基づいてテスト対象を一つ以上選択する処理のフローチャートである。
【００２５】
各テスト対象が選択可能か否かの情報は要素数４の配列ＥＣＵ＿ｃｈｏｉｃｅ［４］に格納される。対象要件３０２となる動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数は要素数４の配列ＥＣＵ＿ｓｐｅｃ＿ｒｅｑ［４］に順に格納される。例えば、配列要素ＥＣＵ＿ｓｐｅｃ＿ｒｅｑ［１］には対象要件３０２となるメモリ領域サイズが格納される（６０１）。
【００２６】
各テスト対象の性能情報（動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数など）は要素数が１６の２次元配列ＥＣＵ＿ｓｐｅｃ＿ｌｉｓｔ［４］［４］に順に格納される。例えば、配列要素ＥＣＵ＿ｓｐｅｃ＿ｌｉｓｔ［２］［２］にはＥＣＵ２のＩ／Ｏポート数が、配列要素ＥＣＵ＿ｓｐｅｃ＿ｌｉｓｔ［２］［３］にはＥＣＵ２の通信チャンネル数が、それぞれ格納される。ＳｉＬＳが選択される場合、配列要素ＥＣＵ＿ｓｐｅｃ＿ｌｉｓｔ［０］［０］〜ＥＣＵ＿ｓｐｅｃ＿ｌｉｓｔ［０］［３］にはダミーデータであるＮＯ＿ＥＣＵが格納される（６０２）。
【００２７】
次に、配列ＥＣＵ＿ｓｐｅｃ＿ｌｉｓｔ［４］［４］の各行のデータと配列ＥＣＵ＿ｓｐｅｃ＿ｒｅｑ［４］内のデータとを比較し、動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数の各値が対象要件以上であるかを判定する（６０３）。動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数の値がすべて対象要件以上である場合には、ＥＣＵ＿ｃｈｏｉｃｅ［ｉ］の値をＴＲＵＥにする（６０４）。一方、動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数の値が一つでも対象要件３０２より小さい場合には、ＥＣＵ＿ｃｈｏｉｃｅ［ｉ］の値をＦＡＬＳＥにする（６０５）。これにより、ＥＣＵ＿ｃｈｏｉｃｅ［ｉ］の値がＴＲＵＥであるテスト対象が選択可能なテスト対象となる。
【００２８】
図７は、実施例１において、要素選択部４が環境要件３０３及び環境性能情報５０２に基づいてテスト環境を一つ以上選択する処理のフローチャートである。
【００２９】
各テスト対象が選択可能か否かの情報は要素数５の配列ＥＮＶ＿ｃｈｏｉｃｅ［５］に格納される。対象要件３０２となる動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数は要素数４の配列ＥＮＶ＿ｓｐｅｃ＿ｒｅｑ［４］に順に格納される。例えば、配列要素ＥＮＶ＿ｓｐｅｃ＿ｒｅｑ［１］には環境要件３０３となるメモリ領域サイズが格納される（７０１）。
【００３０】
各テスト環境の性能情報（動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数など）は要素数が２０の２次元配列ＥＮＶ＿ｓｐｅｃ＿ｌｉｓｔ［５］［４］に順に格納される。例えば、配列要素ＥＮＶ＿ｓｐｅｃ＿ｌｉｓｔ［１］［２］にはＨｉＬＳ２のＩ／Ｏポート数が、配列要素ＥＮＶ＿ｓｐｅｃ＿ｌｉｓｔ［３］［３］にはＳｉＬＳ１の通信チャンネル数が、それぞれ格納される（７０２）。
【００３１】
次に、配列ＥＮＶ＿ｓｐｅｃ＿ｌｉｓｔ［５］［４］の各行のデータと配列ＥＮＶ＿ｓｐｅｃ＿ｒｅｑ［４］内のデータとを比較し、動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数の各値が対象要件以上であるかを判定する（７０３）。動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数の値がすべて対象要件以上である場合には、ＥＮＶ＿ｃｈｏｉｃｅ［ｉ］の値をＴＲＵＥにする（７０４）。一方、動作周波数、メモリ領域サイズ、Ｉ／Ｏポート数、通信チャンネル数の値が一つでも対象要件３０２より小さい場合には、ＥＮＶ＿ｃｈｏｉｃｅ［ｉ］の値をＦＡＬＳＥにする（７０５）。これにより、ＥＮＶ＿ｃｈｏｉｃｅ［ｉ］の値がＴＲＵＥであるテスト対象が選択可能なテスト対象となる。
【００３２】
＜組合せ可否情報保存部６＞
図８は、実施例１において、組合せ可否情報保存部６に保存される組合せ可否表８０１を示す図である。図８に示す組合せ可否表８０１は、テスト対象とテスト環境との組合せの可否を表しており、縦方向にテスト対象、横方向にテスト環境が並べられ、テスト対象とテスト環境との組合せが可能であれば１を、不可能であれば０が記録される。例えば、ＨｉＬＳ１はＥＣＵ１又はＥＣＵ３と組み合わせ可能である。ＳｉＬＳでは、ＥＣＵシミュレータ２０１１を使用するため、実ＥＣＵと組み合わせることはない。従って、組合せ可否表８０１では、ダミーデータであるＮＯ＿ＥＣＵと組み合わせ可能と表現している。
【００３３】
＜組合せ判断部７＞
図９は、実施例１において、要素選択部４によって選択されたテスト対象とテスト環境との組合せが可能か否かを組合せ判断部７が判断する処理のフローチャートである。
【００３４】
各テスト対象が選択可能か否かの情報は要素数２０の２次元配列ｃａｎｄｉｄａｔｅ［４］［５］に格納する。組合せ可否情報保存部６に保存された組合せ可否情報を、要素数が２０の２次元配列ｃｏｍｂｉｎｅ［４］［５］に順に予め格納する（９０１）。例えば、配列要素ｃｏｍｂｉｎｅ［１］［０］はＥＣＵ１とＨｉＬＳ１の組合せ可否を表しており、組合せ可能なため１が格納される。また、ｃｏｍｂｉｎｅ［３］［３］はＥＣＵ３とＳｉＬＳ１の組合せ可否情報を表しており、組合せ不可能なため０が格納される。
【００３５】
ｃａｎｄｉｄａｔｅ［ｉ］［ｊ］に格納される値は、ＥＣＵ＿ｃｈｏｉｃｅ［ｉ］の値、ＥＮＶ＿ｃｈｏｉｃｅ［ｊ］の値、及びｃｏｍｂｉｎｅ［ｉ］［ｊ］の値を判定して決められる（９０２）。ＥＣＵ＿ｃｈｏｉｃｅ［ｉ］がＴＲＵＥであり、かつＥＮＶ＿ｃｈｏｉｃｅ［ｊ］がＴＲＵＥであり、かつｃｏｍｂｉｎｅ［ｉ］［ｊ］が１であれば、ｃａｎｄｉｄａｔｅ［ｉ］［ｊ］の値をＴＲＵＥにする（９０３）。一方、そうでなければ、ｃａｎｄｉｄａｔｅ［ｉ］［ｊ］の値をＦＡＬＳＥにする（９０４）。
【００３６】
これにより、対象要件３０２及び環境要件３０３の双方を満たし、かつテスト対象とテスト環境との組合せが可能な場合に限り、ｃａｎｄｉｄａｔｅ［ｉ］［ｊ］がＴＲＵＥとなる。よって、ｃａｎｄｉｄａｔｅ［ｉ］［ｊ］がＴＲＵＥの組合せが選択可能な組合せとして出力される。
【００３７】
＜環境稼働情報取得部８＞
図１０は、実施例１において、環境稼働情報取得部８が取得する各ＨｉＬＳ及び各ＳｉＬＳの稼働情報を示す図である。図示する稼動情報は、各テスト環境で実行したテストケース数を示す通し番号と、実行したテストケースのＩＤと、各テストケースの実行開始時刻と、各テストケースの実行終了時刻を含む。稼働情報は、図示した一部のデータ項目を含まなくてもよく、図示した以外のデータ項目を含んでもよい。稼動情報は、図示したように、ＨｉＬＳ及びＳｉＬＳ毎の稼働情報、すなわち、ＨｉＬＳ１の稼働情報３１０１、ＨｉＬＳ２の稼働情報３１０２、ＨｉＬＳ３の稼働情報３１０３、ＳｉＬＳ１の稼働情報３１０４及びＳｉＬＳ２の稼働情報３１０５を含む。
【００３８】
＜使用コスト計算部９＞
図１１は、実施例１において、使用コスト計算部９が使用コストを計算する処理のフローチャートである。使用コスト計算部９は、テスト対象とテスト環境との組合せに対する使用コストを２次元配列ｃｏｓｔ［４］［５］に格納する。
【００３９】
まず、使用コスト計算部９は、２次元配列ｃｏｓｔ［４］［５］の値を１００で初期化する（１１０１）。
【００４０】
次に、テスト環境に対するコストを要素数が５の配列ＥＮＶ＿ｃｏｓｔ［５］に格納する。このとき、コストの値を順に２、２、２、１、１とする（１１０２）。このように、ＳｉＬＳの使用コストをＨｉＬＳの使用コストより低く設定することによって、ＳｉＬＳ及びＨｉＬＳの両方が空いている場合に、ＳｉＬＳに優先して割り当てできる。
【００４１】
ｃｏｓｔ［ｉ］［ｊ］に格納される値は、ｃａｎｄｉｄａｔｅ［ｉ］［ｊ］がＴＲＵＥであるか、ＥＣＵが使用可能であるか、テスト環境が使用可能であるかを判定して決められる（１１０３から１１０５）。ｃａｎｄｉｄａｔｅ［ｉ］［ｊ］がＴＲＵＥであり、かつ、ＥＣＵが現在使用可能であり、かつ、テスト環境も現在使用可能である場合（１１０３から１１０５の全てでＹＥＳ）、ｃｏｓｔ［ｉ］［ｊ］の値をＥＮＶ＿ｃｏｓｔ［ｊ］の値で更新する（１１０６）。
【００４２】
ここで、ＥＣＵ＿ｉｓＶａｃａｎｔ［ｉ］は、性能情報保存部５に保存される対象性能情報５０１の第ｉ行目のデータに対応するＥＣＵ（以下、ｉ番目のＥＣＵと称する）が現在稼働中でない（すなわち空いている）場合にＴＲＵＥ、現在稼働中である場合にＦＡＬＳＥを返す関数である。また、ＥＮＶ＿ｉｓＶａｃａｎｔ［ｊ］は、性能情報保存部５に保存される環境性能情報５０２の第ｊ行目のデータに対応するテスト環境（以下、ｊ番目のテスト環境と称する）が現在稼働中でない（すなわち空いている）場合にＴＲＵＥ、現在稼働中である場合にＦＡＬＳＥを返す関数である。
【００４３】
ｊ番目のテスト環境が現在稼働中であるか否かは、ｊ番目のテスト環境の動作ログにおいて、最後に実行したテストケースの開始時刻が記録されているが終了時刻が記録されていない場合に現在稼働中と判定でき、最後に実行したテストケースの開始時刻及び終了時刻が記録されている場合に空いている（現在稼働中でない）と判定できる。
【００４４】
また、ｉ番目のＥＣＵが現在稼働中であるか否かは、以下の方法により判定できる。ｉ番目のＥＣＵの使用状況を計算により判定するため、図１２に示すように、４列からなるｉ番目のＥＣＵの使用状況表９０１を作成する。環境選択部１０がｉ番目のＥＣＵを選択したとき、使用状況表９０１の最終行にテストを実行するＨｉＬＳ、及びそのＨｉＬＳの通し番号を記録する。なお、テストケースのＩＤを記録してもよい。例えば、環境選択部１０がテストケースＩＤ３０１のテストケースを２番目のＥＣＵと２番目のテスト環境で実行すると決定した場合、２番目のＥＣＵの使用状況表９０１には、実行するテスト環境としてＨｉＬＳ２、通し番号にはＨｉＬＳ２の動作ログに記録された最終の通し番号である４に１を加えた５を記録し、開始時刻と終了時刻は空欄にする。
【００４５】
通し番号５のテストケースの開始時刻がＨｉＬＳ２の動作ログに記録された後に、２番目のＥＣＵの使用状況表９０１に開始時刻を記録する。同様に、ＨｉＬＳ２の動作ログにおいて通し番号５のテストケースの終了時刻が記録された後に、２番目のＥＣＵの使用状況表９０１に終了時刻を記録する。このようにして各ＥＣＵの使用状況表９０１を作成する。なお、ダミーのＥＣＵ（ＮＯ＿ＥＣＵ）に関して、全て空欄の使用状況表９０１を作成するとよい。これにより、ｉ番目のＥＣＵが現在稼働中であるか否かは、ｉ番目のＥＣＵの使用状況表９０１に、最後に実行したテストケースの開始時刻が記録されているが終了時刻が記録されていない場合に現在稼働中と判定でき、最後に実行したテストケースの開始時刻及び終了時刻が記録されている場合に空いている（現在稼働中でない）と判定できる。
【００４６】
＜環境選択部１０＞
図１３は、実施例１において、環境選択部１０がテスト対象及びテスト環境を各々一つ決定する処理のフローチャートである。
【００４７】
まず、変数ｃｈｏｓｅｎ＿ＥＣＵの値を−１で初期化し（１３０１）、変数ｃｈｏｓｅｎ＿ＥＮＶの値を−１で初期化し（１３０２）、変数ｔｍｐ＿ｃｏｓｔの値を１００で初期化する（１３０３）。変数ｔｍｐ＿ｃｏｓｔの初期値である１００は、ループの中で見出されたコストの最小値が記録されるので、考え得るコストの最大値を定めるとよい。
【００４８】
その後、ｃｏｓｔ［ｉ］［ｊ］の値とｔｍｐ＿ｃｏｓｔの値とを比較する（１３０４）。その結果、ｃｏｓｔ［ｉ］［ｊ］の値がｔｍｐ＿ｃｏｓｔより小さければ、コストが最小の組合せとして、変数ｃｈｏｓｅｎ＿ＥＣＵにｉ番目のＥＣＵを記録し、変数ｃｈｏｓｅｎ＿ＥＮＶにｊ番目のテスト環境を記録し、ｔｍｐ＿ｃｏｓｔにｃｏｓｔ［ｉ］［ｊ］の値を記録する（１３０５）。
【００４９】
ＥＣＵとテスト環境の全ての組み合わせのコストの判定が終了した後に、コストが最小の組合せとして、選択すべきＥＣＵが変数ｃｈｏｓｅｎ＿ＥＣＵに、選択すべきテスト環境が変数ｃｈｏｓｅｎ＿ＥＮＶに格納されている。すなわち、（ｃｈｏｓｅｎ＿ＥＣＵ）番目のＥＣＵと（ｃｈｏｓｅｎ＿ＥＮＶ）番目のテスト環境がコストが最適な組合せである。
【００５０】
なお、コストが最小のテスト対象とテスト環境との組み合わせを一つ選択するのではなく、コストが低い順に所定数のテスト対象とテスト環境との組み合わせを選択してもよい。この場合、選択された複数のテスト対象とテスト環境との組み合わせをユーザに提示して、テストケースを実行するテスト対象及びテスト環境をユーザが選択できるインターフェース（例えば、入力画面）を提供するとよい。
【００５１】
以上に説明したように、本発明の実施例１によれば、対象要件３０２及び環境要件３０３を満たし、かつ現在空いているテスト対象とテスト環境の組合せを決定できる。また、ＳｉＬＳの使用コストをＨｉＬＳの使用コストより低く設定することによって、ＳｉＬＳ及びＨｉＬＳの両方とも空いている場合に、ＳｉＬＳに優先して割り当てられる。これにより、シミュレーション精度が高い特定のＨｉＬＳへのテストケースの滞留を防止でき、テスト環境を有効に利用できる。
【実施例２】
【００５２】
本発明の実施例２のテスト環境決定装置０について説明する。図１４に示すように、実施例２のテスト環境決定装置０は、テスト環境決定装置０の入力に目的要件３０１が追加され、テスト環境決定装置０の構成要素に組み合わせコスト計算部１１が追加される点において実施例１と異なる。なお、実施例２においては、実施例１との相違点を主に説明し、実施例１と同一の構成には同一の符号を付してその説明を省略する。
【００５３】
実施例１において、組合せの決定は現在稼働中でないテスト環境の中からＨｉＬＳよりＳｉＬＳを優先して選択するが、選択されるテスト対象又はテスト環境若しくはその両方は環境選択部１０の計算結果に依存している。実施例２では、これに加え、目的要件３０１として、使用するテスト対象又はテスト環境若しくはその両方を直接指定できることを特徴とする。
【００５４】
実施例２は、不具合環境の再現など、特定のテスト対象又はテスト環境若しくはその両方の選択が必要な場合にも本発明を適用することができる。
【００５５】
＜テスト仕様書３０＞
図１５は、実施例２のテスト仕様書３０のフォーマットを示す図である。実施例２のテスト仕様書３０は、テストケースＩＤ３００、目的要件３０１、対象要件３０２、環境要件３０３、事前条件３０４、実行手順３０５及び期待結果３０６を含む。実施例２のテスト仕様書３０で追加される目的要件３０１は、テストの目的に応じ、使用するテスト対象又はテスト環境若しくはその両方を直接指定する要件である。
【００５６】
＜要素選択部４＞
実施例２の要素選択部４は、目的要件３０１にテスト対象が指定されている場合はＥＣＵ＿ｃｈｏｉｃｅ［  ］の値を直ちに決定し、目的要件３０１にテスト環境が指定されている場合はＥＮＶ＿ｃｈｏｉｃｅ［  ］の値を直ちに決定する点が実施例１と異なる。
【００５７】
図１６は、実施例２において、要素選択部４が目的要件３０１と対象要件３０２と対象性能情報５０１に基づいて選択可能なテスト対象を一つ以上選択する処理のフローチャートである。まず、要素選択部４は、目的要件３０１にテスト対象の指定があるかを判定する（１６０１）。 その結果、目的要件３０１にテスト対象の指定がなければ、ステップ６０１へ進む。ステップ６０１以後の処理は前述した実施例１の要素選択部４の処理（図６）と同じである。一方、目的要件３０１にテスト対象の指定があれば、目的要件３０１で指定されたＥＣＵのＥＣＵ＿ｃｈｏｉｃｅ［ｉ］をＴＲＵＥとし、それ以外のＥＣＵのＥＣＵ＿ｃｈｏｉｃｅ［ｉ］をＦＡＬＳＥとする（１６０２）。
【００５８】
図１７は、実施例２の要素選択部４が環境要件３０３と環境性能情報５０２に基づき選択可能なテスト環境を一つ以上選択する処理のフローチャートである。まず、要素選択部４は、目的要件３０１にテスト環境の指定があるかを判定する（１７０１）。 その結果、目的要件３０１にテスト環境の指定がなければ、ステップ７０１へ進む。ステップ７０１以後の処理は前述した実施例１の要素選択部４の処理（図７）と同じである。一方、目的要件３０１にテスト環境の指定があれば、目的要件３０１で指定されたテスト環境のＥＮＶ＿ｃｈｏｉｃｅ［ｊ］をＴＲＵＥとし、それ以外のテスト環境のＥＮＶ＿ｃｈｏｉｃｅ［ｊ］をＦＡＬＳＥとする（１７０２）。
【００５９】
＜使用コスト計算部９＞
実施例２の使用コスト計算部９は、目的要件３０１で指定されているテスト対象又はテスト環境若しくはその両方について、実際の空き状況に関わらずＥＣＵ＿ＩｓＶａｃａｎｔ［ｉ］の値又はＥＮＶ＿ＩｓＶａｃａｎｔ［ｊ］の値若しくはその両方をＴＲＵＥとする点が実施例１と異なる。
【００６０】
図１８は、実施例２において、使用コスト計算部９が使用コストを計算する処理のフローチャートである。なお、ステップ１１０１から１１０２及びステップ１１０３以後の処理は、前述した使用コスト計算部９の処理（図１１）と同じである。
【００６１】
まず、使用コスト計算部９は、ｃｏｓｔ［４］［５］の値を１００で初期化し（１１０１）、テスト環境に対するコストを要素数が５の配列ＥＮＶ＿ｃｏｓｔ［５］に順に２、２、２、１、１を格納する（１１０２）。
【００６２】
その後、目的要件３０１にテスト対象の指定があるかを判定する（１８０１）。 その結果、目的要件３０１にテスト対象の指定がなければ、ステップ１８０３へ進む。一方、目的要件３０１にテスト対象の指定があれば、目的要件３０１で指定されたテスト対象についてＥＣＵ＿ＩｓＶａｃａｎｔ［ｊ］をＴＲＵＥとし、それ以外についてＥＣＵ＿ＩｓＶａｃａｎｔ［ｊ］をＦＡＬＳＥとする（１８０２）。
【００６３】
その後、目的要件３０１にテスト環境の指定があるかを判定する（１８０３）。 その結果、目的要件３０１にテスト環境の指定がなければ、ステップ１８０４をスキップし、ループに入る。一方、目的要件３０１にテスト環境の指定があれば、目的要件３０１で指定されたテスト環境についてＥＮＶ＿ＩｓＶａｃａｎｔ［ｊ］をＴＲＵＥとし、それ以外についてＥＮＶ＿ＩｓＶａｃａｎｔ［ｊ］をＦＡＬＳＥとする（１８０４）。
【００６４】
その後、ステップ１１０３以後の処理を実行する。
【００６５】
以上に説明したように、本発明の実施例２によれば、対象要件３０２及び環境要件３０３を満たし、かつ現在空いているテスト対象とテスト環境の組合せを決定でき、使用するテスト対象又はテスト環境若しくはその両方を目的要件３０１として直接指定できる。
【実施例３】
【００６６】
本発明の実施例３のテスト環境決定装置０ついて説明する。実施例３では、組合せ判断部７が出力した一つ以上の選択可能なテスト対象とテスト環境の組合せに対して、環境選択部１０が、テスト対象及びテスト環境のスケジューリングを考慮して、テスト対象とテスト環境の組合せを決定する点で実施例１と異なる。なお、実施例３においては、実施例１、２との相違点を主に説明し、実施例１、２と同一の構成には同一の符号を付してその説明を省略する。
【００６７】
＜使用コスト計算部９＞
実施例３の使用コスト計算部９は、各テスト環境のコストを表すＥＮＶ＿ｃｏｓｔ［５］を、実施例１のように予め与えることなく、各テスト環境の稼働情報に基づいてテスト実行開始から実行終了までの実行所要時間及びテスト実行開始までの待ち時間を推定し、推定された実行所要時間と待ち時間の和で与える。
【００６８】
実行所要時間は以下の方法で推定できる。使用コスト計算部９は、環境稼働情報取得部８が取得した環境稼働情報を解析し、過去に同一のテスト対象及び同一のテスト環境で実行されたテストケースの実績が見つかれば、そのテストケースの実行終了時刻から実行開始時刻を減じて実行所要時間を計算する。複数回の実行実績がある場合、複数回の実行実績の実行所要時間の算術平均を実行所要時間とするとよい。実績がない場合は、テストケースに含まれる待機コマンドによる待機時間の総和にテストケースのステップ数×１［分］を加えた時間で代用してもよい。
【００６９】
待ち時間は以下の方法で推定できる。各テストケースに割り当てたテスト対象とテスト環境の情報及び割り当て時刻に基づいて、各テスト対象及び各テスト環境の占有状況を計算できる。例えば、テスト対象及びテスト環境のスケジューリングを次のルールによって決定する。（１）先行する他のテストケースが割り当てられているテスト対象及びテスト環境における、割当済みの時間帯を変更しない。（２）ＥＣＵとＨｉＬＳとは同じ時間帯で占有される。（３）現在時刻に最も近い実行所要時間以上の空き時間帯でテストを実行する。
【００７０】
図１９は、実施例３において、テスト対象によるテスト環境の占有状況の例を示す図である。例えば、図１９において、ＥＣＵ３とＨｉＬＳ３の組合せで実行されるテストケースの実行所要時間が１時間である場合、現在時刻から空き時間を探索して、実行時間を割り当てる。このとき、待ち時間は０となるので、コストＥＮＶ＿ｃｏｓｔ［３］［２］＝０＋１＝１となる。
【００７１】
また、ＨｉＬＳ３で現在時刻の２時間後から他の先行するテストケースが２時間実行されるため、ＥＣＵ３とＨｉＬＳ３の組合せで実行される実行所要時間が３時間であるテストケースを現在時刻から実行すると、先行するテストケースの開始時刻までに当該テストケースが終了しない。このため、ＨｉＬＳ３は、先行するテストケースが終了してから使用可能となる。よって、待ち時間は４時間となるので、コストＥＮＶ＿ｃｏｓｔ［３］［２］＝４＋３＝７となる。
【００７２】
なお、シミュレーション精度が高い特定のＨｉＬＳへのテストケースの滞留を防ぐため、テスト環境がＨｉＬＳである場合は、前述した方法によって算出したコスト（実行所要時間と待ち時間の和）に２時間を加算するなど、テスト対象又はテスト環境に応じたペナルティとなる時間を設けてもよい。また、スケジューリングにあたっては、実行所要時間の推定に定数を乗じたり、テストケースの実行の間に余裕時間を設けたりしてもよい。
【００７３】
以上に説明したように、本発明の実施例３によれば、対象要件３０２と環境要件３０３の組合せ可否情報を満たすテスト対象とテスト環境の組合せのうち、テストケースの実行が完了するまでの時間が最も短い組合せにテストケースを割り当てる。これにより各テストケースの終了までの時間が短縮でき、限られたテスト対象及びテスト環境のリソースを有効活用して、テストケース実行のスループットを改善できる。
【実施例４】
【００７４】
本発明の実施例４のテスト環境決定装置０ついて説明する。実施例４においては、実施例１と異なり、組合せ判断部７が選択可能なテスト対象とテスト環境の組合せを一つも見つけられなかった場合に、対象要件３０２又は環境要件３０３若しくはその両方を緩和することによって、選択可能なテスト対象とテスト環境の組合せを見つけられるようにする。なお、実施例４においては、実施例１〜３との相違点を主に説明し、実施例１〜３と同一の構成には同一の符号を付してその説明を省略する。
【００７５】
このため、テスト環境決定装置０は、ユーザが対象要件３０２及び環境要件３０３を入力できるインターフェース（例えば、入力画面）を提供するとよい。なお、現在の対象要件３０２及び環境要件３０３との乖離が小さいテスト対象とテスト環境との組み合わせをユーザに提示して、緩和された対象要件３０２及び環境要件３０３の入力をユーザに促してもよい。
【００７６】
本発明の実施例４によれば、どのテストケースに対してもテスト対象とテスト環境の組合せを割り当てが可能となり、テスト対象とテスト環境の組合せの割り当て機会を増加できる。
【００７７】
以上に説明したように、本発明の実施例によると、テスト対象である電子制御装置（ＥＣＵ３）の仕様を記述した対象要件３０２と、テスト対象の外部環境をシミュレートするためのテスト環境（ＨｉＬＳ１、ＳｉＬＳ２）の仕様を記述した環境要件３０３とに基づいて、テストケースを実行するためのテスト対象及びテスト環境を各々一つ以上選択する要素選択部４と、テスト環境の稼働情報を取得する環境稼働情報取得部８と、取得した稼働情報に基づいて、選択されたテスト対象とテスト環境との組み合わせを選択する環境選択部１０とを備えるので、テストケースの滞留を防止しながら、適切なテスト環境を選択できる。
【００７８】
また、要素選択部４は、対象要件３０２として指定された動作周波数、メモリ領域、Ｉ／Ｏポート数及び通信チャンネル数の少なくとも一つの下限値又は範囲を満たすようにテスト対象を選択し、環境要件３０３として指定された動作周波数、メモリ領域、Ｉ／Ｏポート数及び通信チャンネル数の少なくとも一つの下限値又は範囲を満たすようにテスト環境を選択するので、テスト装置が使えるかを適確に選択できる。
【００７９】
また、環境稼働情報取得部８は、テスト対象及びテスト環境で実行したテストケースの実行開始時刻及び実行終了時刻を含む稼働履歴を、稼働情報として取得するので、テスト環境の稼働状況を知ることができ、テストケースの終了時刻によって当該テストケースの実行の優先順位を決めることができる。
【００８０】
また、環境選択部１０は、取得した稼働履歴に基づいて判定された稼働中でないテスト対象と稼働中でないテスト環境との組み合わせを選択するので、直ちにテストケースを実行したい場合にもテストケースを実行でき、テスト環境の稼働率を向上できる。
【００８１】
また、環境選択部１０は、テストケースの実行に必要な時間が確保できる現在時刻に最も近い時間帯でテストケースを実行可能なテスト対象及びテスト環境の組合せを選択するので、テストケースの終了時間が最も早いものを選ぶことによって、テストケース終了までの時間を短縮でき、テストケース実行のスループットを改善し、テスト環境の稼働率を向上できる。
【００８２】
また、要素選択部４によって選択されたテスト対象及びテスト環境と少なくとも一方が異なるテスト対象及びテスト環境で前記テストケースを実行するために指定可能なインターフェースを有するので、使用するテスト対象及び／又はテスト環境を目的要件３０１として直接指定できる。このため、同じ環境で再試験することができ、例えば、不具合を修正して、再度同じ環境で試験を行うことができる。
【００８３】
また、対象要件３０２及び環境要件３０３を満たすテスト対象とテスト環境との組合せが存在しない場合に、対象要件３０２及び環境要件３０３の少なくとも一方を変更可能なインターフェースを有するので、どのテストケースに対してもテスト対象とテスト環境の組合せを割り当てが可能となり、テスト対象とテスト環境の組合せの割り当て機会を増加できる。
【００８４】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【００８５】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウエアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウエアで実現してもよい。
【００８６】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【００８７】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【００８８】
０  テスト環境決定装置
１  ＨｉＬＳ環境
２  ＳｉＬＳ環境
３  ＥＣＵ
４  要素選択部
５  性能情報保存部
６  組合せ可否情報保存部
７  組合せ判断部
８  環境稼働情報取得部
９  使用コスト計算部
１０  環境選択部
１１  組合せコスト計算部
３０  テスト仕様書
１０１  ＨｉＬＳ制御用コンピュータ
１０２  ＨｉＬＳ
１０４  １０１と１０２の間の通信路
１０５  １０２と１０３の間の通信路又は電線
２０１  ＳｉＬＳ制御用コンピュータ
３００  テストケースＩＤ
３０１  目的要件
３０２  対象要件
３０３  環境要件
３０４  事前条件
３０５  実行手順
３０６  期待結果
５０１  対象性能情報
５０２  環境性能情報
８０１  組合せ可否表
２０１１  ＥＣＵのソフト上でのシミュレーション
２０１２  ＥＣＵの外部環境のソフト上でのシミュレーション
３１０１  ＨｉＬＳ１の稼働情報
３１０２  ＨｉＬＳ２の稼働情報
３１０３  ＨｉＬＳ３の稼働情報
３１０４  ＳｉＬＳ１の稼働情報
３１０５  ＳｉＬＳ２の稼働情報
【図１】
2020107133.tif 000003
【図２】
2020107133.tif 000004
【図３】
2020107133.tif 000005
【図４】
2020107133.tif 000006
【図５】
2020107133.tif 000007
【図６】
2020107133.tif 000008
【図７】
2020107133.tif 000009
【図８】
2020107133.tif 000010
【図９】
2020107133.tif 000011
【図１０】
2020107133.tif 000012
【図１１】
2020107133.tif 000013
【図１２】
2020107133.tif 000014
【図１３】
2020107133.tif 000015
【図１４】
2020107133.tif 000016
【図１５】
2020107133.tif 000017
【図１６】
2020107133.tif 000018
【図１７】
2020107133.tif 000019
【図１８】
2020107133.tif 000020
【図１９】
2020107133.tif 000021