(57)【要約】【課題】ソフトウェアの条件、ハードウェアの条件を合わせたテスト条件の自動生成・実行により、効率的にテストを行い、テストの網羅率を向上させ、製品の信頼性を高めることができる技術を提供する。【解決手段】テストシミュレータにおいて、ソフトウェア条件表の各条件のテストを実行するストレージ装置シミュレータ７と、この実行時に出力されたＬＳＩアクセス情報からＬＳＩアクセス表を作成するＬＳＩアクセス表作成部６と、この作成されたＬＳＩアクセス表と、ハードウェア障害表およびソフトウェア条件表と、障害種別とからハードウェア・ソフトウェア条件表を生成するハードウェア・ソフトウェア条件生成部４と、この生成されたハードウェア・ソフトウェア条件表の各条件でテストを実行するテスト実行部５とを有する。【選択図】図１
2008077278.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア条件表の各条件のテストを実行するストレージ装置シミュレータと、
前記ストレージ装置シミュレータの実行時に出力されたＬＳＩアクセス情報からＬＳＩアクセス表を作成するＬＳＩアクセス表作成部と、
前記ＬＳＩアクセス表作成部で作成されたＬＳＩアクセス表と、予め作成されたハードウェア障害表およびソフトウェア条件表と、指定された障害種別とからハードウェア・ソフトウェア条件表を生成するハードウェア・ソフトウェア条件生成部と、
前記ハードウェア・ソフトウェア条件生成部で生成されたハードウェア・ソフトウェア条件表の各条件でテストを実行するテスト実行部とを有することを特徴とするテストシミュレータ。
【請求項２】
請求項１記載のテストシミュレータにおいて、
前記ストレージ装置シミュレータにおけるテスト時の変数、レジスタのログを登録する変数・レジスタログ情報のデータベースをさらに有することを特徴とするテストシミュレータ。
【請求項３】
請求項２記載のテストシミュレータにおいて、
前記変数・レジスタログ情報のデータベースに登録されたテスト時の変数、レジスタのログの情報と、テスト結果とを表示するテスト結果表示ツールをさらに有することを特徴とするテストシミュレータ。
【請求項４】
請求項３記載のテストシミュレータにおいて、
予め作成された機能別ソース表から、指定された機能に基づいてテストに必要なソースを抽出する機能別ソース選択ツールをさらに有することを特徴とするテストシミュレータ。
【請求項５】
請求項４記載のテストシミュレータにおいて、
前記機能別ソース選択ツールで抽出されたソースからソフトウェア条件表を作成するソフトウェア解析・テスト条件作成ツールをさらに有することを特徴とするテストシミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストシミュレータの技術に関し、特に、ストレージ装置の組み込みソフトウェア開発向けのテスト網羅シミュレータに適用して有効な技術に関する。
【背景技術】
【０００２】
たとえば、テストシミュレータの技術に関しては、特許文献１や特許文献２に記載の技術などが挙げられる。
【０００３】
特許文献１には、テスト対象のプログラムから、テストすべきデータに関するすべての処理と実行条件中のパターンを抽出し、この抽出した各処理と各実行条件とを組み合わせる手段を設け、ソフトウェアにおけるテスト条件を考慮して、テスト条件の自動生成を行う技術が開示されている。
【０００４】
特許文献２には、障害情報ファイルから障害発生条件のメモリアドレスを読み出し、このメモリアドレスと同一のメモリアドレスの障害内容である割り込み種別に応じて割り込み動作をシミュレートする手段を設け、ハードウェアの障害を発生するメモリアドレスを指定することで、ハードウェアの障害を模擬する技術が開示されている。
【特許文献１】特開平１１−１５６９５号公報
【特許文献２】特開平０５−８１０７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、前記のようなテストシミュレータの技術に関して、たとえば、前記特許文献１の技術では、ソフトウェアにおけるテスト条件のみを考慮して、テスト条件の自動生成を行っており、この場合、ハードウェアに障害が起こった場合の条件はない。
【０００６】
また、前記特許文献２では、ハードウェアの障害を発生するメモリアドレスを指定することで、ハードウェアの障害を模擬しており、この場合、障害が発生するタイミングを指定することはできない。
【０００７】
また、テストシミュレータの技術において、本発明が対象とするような組み込みソフトウェアは、ハードウェアと密接にかかわっており、ソフトウェアの条件だけではなく、ハードウェアにおいて障害が発生した場合の動作も網羅するテストが必要である。
【０００８】
従来のテストは、実機や実機仕様に基づいたシミュレータを用いて行い、テスト条件は開発者が作成しているが、ハードウェアで発生する障害の種類は膨大であり、ソフトウェアの条件を網羅したテストが十分行えず、バグを残してしまうことがある。
【０００９】
そこで、本発明の目的は、ソフトウェアの条件、ハードウェアの条件を合わせたテスト条件の自動生成・実行により、効率的にテストを行い、テストの網羅率を向上させ、製品の信頼性を高めることができる技術を提供することにある。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。すなわち、本発明は、ハードウェアの障害の条件とソフトウェアの条件を組み合わせたテスト条件を自動的に生成し、テストの実行から結果の出力までを行うことで、効率良く漏れのないテストを行い、製品の品質向上を図るものである。
【００１１】
具体的には、ソフトウェア条件表の各条件のテストを実行するストレージ装置シミュレータと、この実行時に出力されたＬＳＩアクセス情報からＬＳＩアクセス表を作成するＬＳＩアクセス表作成部と、この作成されたＬＳＩアクセス表と、ハードウェア障害表およびソフトウェア条件表と、障害種別とからハードウェア・ソフトウェア条件表を生成するハードウェア・ソフトウェア条件生成部と、この生成されたハードウェア・ソフトウェア条件表の各条件でテストを実行するテスト実行部とを有するものである。
【発明の効果】
【００１２】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。すなわち、本発明によれば、ソフトウェアの条件、ハードウェアの条件を合わせたテスト条件の自動生成・実行により、効率的にテストを行い、テストの網羅率を向上させ、製品の信頼性を高めることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１４】
まず、図１により、本発明の一実施の形態におけるテストシミュレータの構成および動作の一例を説明する。図１は、テストシミュレータの構成および動作の一例を示すブロック図である。
【００１５】
本実施の形態のテストシミュレータは、ＣＰＵやメモリ、データベースなどを有するコンピュータシステムからなり、ＣＰＵの制御に基づいてメモリに格納された各プログラムが実行されることにより各機能ブロックが実現される。
【００１６】
各機能ブロックには、機能別ソース表から指定された機能に基づいてテストに必要なソースを抽出する機能別ソース選択ツール１、ソースをコンパイルしてテスト対象プログラムを生成するコンパイラ２、抽出ソースからソフトウェア条件表を作成するソフトウェア解析テスト条件生成ツール３、ＬＳＩアクセス表とハードウェア障害表およびソフトウェア条件表と障害種別とからハードウェア・ソフトウェア条件表を生成するハードウェア・ソフトウェア条件生成部４、ハードウェア・ソフトウェア条件表の各条件でテストを実行するテスト実行部５、ＬＳＩアクセス情報からＬＳＩアクセス表を作成するＬＳＩアクセス表作成部６、ソフトウェア条件表の各条件のテストを実行するストレージ装置シミュレータ７、テスト時の変数、レジスタのログの情報とテスト結果とを表示するテスト結果表示ツール８などの機能ブロックがある。
【００１７】
また、データベースあるいはメモリには、詳細は後述するが、機能別ソース表１１、ソフトウェア条件表１２、ＬＳＩアクセス表１３、ハードウェア障害表１４、ハードウェア・ソフトウェア条件表１５などの各テーブルが設けられている。また、データベースあるいはメモリには、抽出ソース２１、ソース２２、テスト対象プログラム２３、ＬＳＩアクセス情報２４、変数・レジスタログ情報２５、変数・レジスタログ２６、テスト結果２７などの情報が格納されている。
【００１８】
以下、本実施の形態のテストシミュレータの動作について、図１を用いて説明する。まず、テストシミュレータの動作に先立って、ハードウェア開発者、ソフトウェア開発者による作業が必要である。
【００１９】
ハードウェア開発者は、テストシミュレータを用い、ハードウェア仕様からハードウェア障害表１４を作成する。
【００２０】
ソフトウェア開発者は、テストシミュレータを用い、機能別ソース表１１を作成する。さらに、テストシミュレータの機能別ソース選択ツール１で、機能を指定し、テストに必要なソースを抽出する。この抽出したソースは抽出ソース２１として格納される。そして、抽出したソースを、ソフトウェア解析・テスト条件生成ツール３にかけ、ソフトウェア条件表１２を作成する。同時に、ソース２２をコンパイラ２でコンパイルし、オブジェクトファイル形式のテスト対象プログラム２３を作成する。
【００２１】
また、ソフトウェア開発者は、テストシミュレータのハードウェア・ソフトウェア条件生成部４に対して、作成したい条件の障害種別を入力する。
【００２２】
以上により、ハードウェア開発者、ソフトウェア開発者による事前の作業は完了する。
【００２３】
続いて、テストシミュレータの動作は、以下のとおりとなる。以下のテストシミュレータの動作は、ＣＰＵの制御により自動的に行われる。
【００２４】
まず、ソフトウェア条件表１２のすべての条件のテストをストレージ装置シミュレータ７上で実行する。このストレージ装置シミュレータ７上での実行時に、ＬＳＩアクセス情報２４が出力される。そして、この出力されたＬＳＩアクセス情報２４から、ＬＳＩアクセス表作成部６でＬＳＩアクセス表１３を作成する。
【００２５】
さらに、ハードウェア障害表１４、ＬＳＩアクセス表１３、ソフトウェア条件表１２、障害種別から、ハードウェア・ソフトウェア条件生成部４でハードウェア・ソフトウェア条件表１５を生成する。そして、テスト実行部５で、ハードウェア・ソフトウェア条件表１５のすべての条件でテストを実行する。
【００２６】
さらに、ストレージ装置シミュレータ７において、テスト時の変数、レジスタのログを変数・レジスタログ情報２５に登録する。そして、テスト結果表示ツール８によって、テスト結果２７を表示する。また、テスト結果表示ツール８で、変数・レジスタログ２６を表示する。さらには、テスト結果２７、変数・レジスタログ２６を出力することも可能である。
【００２７】
以上のようなテストシミュレータの動作において、ハードウェアの障害の条件とソフトウェアの条件を組み合わせたテスト条件を生成し、テストの実行から結果の表示・出力までを自動的に行うことができる。このテスト終了後、ソフトウェア開発者は、テスト結果表示ツール８で、テスト結果２７や、変数・レジスタログ２６を確認することができる。
【００２８】
次に、図２〜図６により、各テーブルの構成の一例を説明する。それぞれ、図２はハードウェア障害表、図３は機能別ソース表、図４はソフトウェア条件表、図５はＬＳＩアクセス表、図６はハードウェア・ソフトウェア条件表の構成の一例を示す説明図である。
【００２９】
図２において、ハードウェア障害表１４は、ＬＳＩ名、レジスタ、障害種別、障害・割り込みＮｏの各項目が設けられ、各ＬＳＩ名の各レジスタにおける障害種別と障害割り込みＮｏを表している。たとえば、ＬＳＩ名“ＬＳＩ１”のレジスタ“０ｘ５５１００〜”は、障害種別が“ＣＨＫ１”で、障害割り込みＮｏが“１”となっており、他は図２のとおりである。
【００３０】
図３において、機能別ソース表１１は、機能名、ソース名、場所の各項目が設けられ、各機能名の各ソース名における場所を表している。たとえば、機能名“機能１”のソース名“ｓｒｃ１”は、場所が“／ｐｒｏｊｅｃｔ／ｈｏｍｅ／ｓｒｃ”となっており、他は図３のとおりである。
【００３１】
図４において、ソフトウェア条件表１２は、ソフトウェア条件Ｎｏ、入力１、入力２、…、グローバル変数１、グローバル変数２、…の各項目が設けられ、各ソフトウェア条件Ｎｏにおける入力とグローバル変数を表している。たとえば、ソフトウェア条件Ｎｏ“１”は、入力１が“１”、入力２が“２”、グローバル変数１が“１”、グローバル変数２が“１”となっており、他は図４のとおりである。
【００３２】
図５において、ＬＳＩアクセス表１３は、ソフトウェア条件Ｎｏ、ステップ、ＬＳＩ名、アクセスレジスタの各項目が設けられ、各ソフトウェア条件Ｎｏの各ステップにおけるＬＳＩ名とアクセスレジスタを表している。たとえば、ソフトウェア条件Ｎｏ“１”のステップ“１５”は、ＬＳＩ名が“ＬＳＩ１”で、アクセスレジスタが“０ｘ５５１００”と“０ｘ５６１００”となっており、他は図５のとおりである。
【００３３】
図６において、ハードウェア・ソフトウェア条件表１５は、ハードウェア・ソフトウェア条件Ｎｏ、ソフトウェア条件Ｎｏ、ステップ、ＬＳＩ名、アクセスレジスタ、障害・割り込みＮｏの各項目が設けられ、各ハードウェア・ソフトウェア条件Ｎｏにおけるソフトウェア条件ＮｏとステップとＬＳＩ名とアクセスレジスタと障害・割り込みＮｏを表している。たとえば、ハードウェア・ソフトウェア条件Ｎｏ“１”は、ソフトウェア条件Ｎｏが“１”、ステップが“１５”、ＬＳＩ名が“ＬＳＩ１”、アクセスレジスタが“０ｘ５５１００〜”、障害・割り込みＮｏが“１”となっており、またハードウェア・ソフトウェア条件Ｎｏ“２”では、同じソフトウェア条件Ｎｏ、ステップ、ＬＳＩ名、アクセスレジスタで、障害・割り込みＮｏが“２”となっており、他は図６のとおりである。
【００３４】
次に、図７〜図１９により、各機能ブロックの動作の一例を説明する。始めに、図７により、テスト実行部を中心とするテスト自動実行部分の動作の一例を説明する。図７は、テスト実行部を中心とするテスト自動実行部分の動作の一例を示すフロー図である。
【００３５】
図７において、テスト実行部５は、まず、ソフトウェア条件表１２を読み込み（Ｓ１０１）、このソフトウェア条件表１２から実行していないテスト条件を選択し（Ｓ１０２）、この選択したテスト条件にあわせてストレージ装置シミュレータ７の環境を設定する（Ｓ１０３）。さらに、ストレージ装置シミュレータ７は、このシミュレータ上でテスト対象プログラム２３をテストし、ＬＳＩアクセス情報２４をＬＳＩアクセス表作成部６に出力する（Ｓ１０４）。さらに、ＬＳＩアクセス表作成部６は、ＬＳＩアクセス情報２４をＬＳＩアクセス表１３に追加する（Ｓ１０５）。そして、テスト実行部５は、ソフトウェア条件をすべて実行したか否かを判定し（Ｓ１０６）、実行した場合（Ｙｅｓ）は次に進み、実行していない場合（Ｎｏ）にはＳ１０２〜Ｓ１０５の処理を繰り返す。
【００３６】
続いて、ハードウェア・ソフトウェア条件生成部４は、ハードウェア・ソフトウェア条件表１５を作成する（Ｓ１０７）。さらに、テスト実行部５は、ハードウェア・ソフトウェア条件表１５から実行していないテスト条件を選択し（Ｓ１０８）、この選択したテスト条件にあわせてストレージ装置シミュレータ７の環境を設定する（Ｓ１０９）。さらに、ストレージ装置シミュレータ７は、このシミュレータ上でテスト対象プログラム２３をテストし、変数・レジスタログ情報２５を出力する（Ｓ１１０）。そして、テスト実行部５は、ハードウェア・ソフトウェア条件をすべて実行したか否かを判定し（Ｓ１１１）、実行した場合（Ｙｅｓ）は終了し、実行していない場合（Ｎｏ）にはＳ１０８〜Ｓ１１０の処理を繰り返す。
【００３７】
以上のようにして、テスト実行部５を中心とするテスト自動実行部分の動作が行われる。
【００３８】
次に、図８により、ＬＳＩアクセス表作成部の動作の一例を説明する。図８は、ＬＳＩアクセス表作成部の動作の一例を示すフロー図である。
【００３９】
図８において、ＬＳＩアクセス表作成部６は、まず、テスト実行部５からソフトウェア条件Ｎｏを取得し（Ｓ２０１）、またＬＳＩアクセス情報２４も取得する（Ｓ２０２）。そして、ＬＳＩアクセス表作成部６は、ＬＳＩにアクセスしたステップ、レジスタの番地を取得し、ＬＳＩアクセス表１３に追加する（Ｓ２０３）。
【００４０】
以上のようにして、ＬＳＩアクセス表作成部６の動作が行われる。
【００４１】
次に、図９〜図１２により、ハードウェア・ソフトウェア条件生成部の動作の一例を説明する。図９は、ハードウェア・ソフトウェア条件生成部の動作の一例を示すフロー図である。図１０〜図１２は、ハードウェア・ソフトウェア条件表の作成の一例を示す説明図である。
【００４２】
図９において、ハードウェア・ソフトウェア条件生成部４は、まず、ソフトウェア開発者によって障害種別が指定され（Ｓ３０１）、ハードウェア障害表１４から、この指定された障害種別の障害を取得する（Ｓ３０２）。さらに、ハードウェア・ソフトウェア条件生成部４は、ＬＳＩアクセス表１３の一つのソフトウェア条件での経路において発生する可能性のある障害を求め（Ｓ３０３）、さらに発生する障害のすべての組み合わせを求めて（Ｓ３０４）、この求めた組み合わせをハードウェア・ソフトウェア条件表１５に加える（Ｓ３０５）。そして、ハードウェア・ソフトウェア条件生成部４は、すべての条件の経路におけるチェックが終了したか否かを判定し（Ｓ３０６）、終了した場合（Ｙｅｓ）は処理を終了し、終了していない場合（Ｎｏ）にはＳ３０３〜Ｓ３０５の処理を繰り返す。
【００４３】
具体的に、ハードウェア・ソフトウェア条件表１５の作成は、図１０に示すように、ユーザ（ソフトウェア開発者）が指定した障害種別にハードウェア障害表１４を絞り込む。図１０の例では、ハードウェア障害表１４の障害種別が“ＣＨＫ１”のものを取り出しており、ＬＳＩ名とレジスタがそれぞれ、“ＬＳＩ１”の“０ｘ５５１００”、“ＬＳＩ１”の“０ｘ５６１００”、“ＬＳＩ２”の“０ｘ６５１００”、“ＬＳＩ３”の“０ｘ７５１００”、“ＬＳＩ４”の“０ｘ８５１００”が絞り込まれている。
【００４４】
続いて、図１１に示すように、ＬＳＩアクセス表１３を用いて発生する可能性のある障害を特定する。図１１の例では、ＬＳＩアクセス表１３のソフトウェア条件Ｎｏが“１”では、ステップ“１５”で割り込みＮｏ“１”と“３”が発生する可能性があることが特定されている。
【００４５】
続いて、図１２に示すように、ハードウェア・ソフトウェア条件表１５を用いて発生する割り込みのすべての組み合わせを満たす条件を作成する。図１２の例では、ハードウェア・ソフトウェア条件表１５のソフトウェア条件Ｎｏが“１”での組み合わせは、（１）ステップ“１５”においてレジスタ“０ｘ５５１００”で割り込みＮｏ“１”の障害のみ発生、（２）ステップ“１５”においてレジスタ“０ｘ５６１００”で割り込みＮｏ“３”の障害のみ発生、（３）ステップ“１５”においてレジスタ“０ｘ５５１００”で割り込みＮｏ“１”の障害と、レジスタ“０ｘ５６１００”で割り込みＮｏ“３”の障害が発生、の３通りが作成されている。
【００４６】
以上のようにして、ハードウェア・ソフトウェア条件生成部４の動作が行われ、ハードウェア・ソフトウェア条件表１５が作成される。
【００４７】
次に、図１３〜図１６により、ストレージ装置シミュレータの構成および動作の一例を説明する。図１３は、ストレージ装置シミュレータの構成の一例を示す説明図である。それぞれ、図１４は任意障害発生部を中心とする障害発生機能部分、図１５はＬＳＩアクセス情報出力部、図１６は変数・レジスタログ情報出力部の動作の一例を示すフロー図である。
【００４８】
図１３において、ストレージ装置シミュレータ７は、シミュレータ環境として、テスト対象プログラム７１、ＯＳ７２、メモリ模擬部７３、ＬＳＩ模擬部７４、ＣＰＵ模擬部７５、変数・レジスタログ情報出力部７６、ＬＳＩアクセス情報出力部７７、任意障害発生部７８、シミュレーションエンジン７９などから構成される。
【００４９】
図１４において、まず、任意障害発生部７８は、ハードウェア・ソフトウェア条件表１５から障害（割り込み）のタイミングを設定し（Ｓ４０１）、ＣＰＵ模擬部７５からステップ情報を取得する（Ｓ４０２）。そして、任意障害発生部７８は、障害発生ステップか否かを判定し（Ｓ４０３）、障害発生ステップでない場合（Ｎｏ）はＬＳＩ模擬部７４に通常処理を要求し（Ｓ４０４）、ＬＳＩ模擬部７４は通常処理を行う（Ｓ４０５）。一方、Ｓ４０３において、障害発生ステップの場合（Ｙｅｓ）は、ＬＳＩ模擬部７４に障害要求を送信し（Ｓ４０６）、ＬＳＩ模擬部７４がＣＰＵ模擬部７５に割り込みを送る（Ｓ４０７）。そして、ＣＰＵ模擬部７５は、テスト対象プログラムが終了したか否かを判定し（Ｓ４０８）、終了した場合（Ｙｅｓ）は処理を終了し、終了していない場合（Ｎｏ）にはＳ４０２〜Ｓ４０７の処理を繰り返す。
【００５０】
以上のようにして、ストレージ装置シミュレータ７の任意障害発生部７８を中心とする障害発生機能部分の動作が行われる。
【００５１】
図１５において、ＬＳＩアクセス情報出力部７７は、まず、ＬＳＩ模擬部７４を監視し（Ｓ５０１）、ＬＳＩ模擬部７４にアクセスがあるか否かを判定する（Ｓ５０２）。この判定の結果、アクセスがない場合（Ｎｏ）はＳ５０５の判定に進み、アクセスがある場合（Ｙｅｓ）には、アクセスされたＬＳＩ、レジスタのアドレス、ステップの情報を取得し（Ｓ５０３）、ＬＳＩ、レジスタ、ステップの情報をファイルに出力する（Ｓ５０４）。そして、ＬＳＩアクセス情報出力部７７は、テスト対象プログラムが終了したか否かを判定し（Ｓ５０５）、終了した場合（Ｙｅｓ）は処理を終了し、終了していない場合（Ｎｏ）にはＳ５０１〜Ｓ５０４の処理を繰り返す。
【００５２】
以上のようにして、ストレージ装置シミュレータ７のＬＳＩアクセス情報出力部７７の動作が行われる。
【００５３】
図１６において、変数・レジスタログ情報出力部７６は、まず、テスト対象プログラムから変数が割り当てられているメモリのアドレスを取得し（Ｓ６０１）、ＬＳＩ模擬部７４、メモリ模擬部７３を監視する（Ｓ６０２）。そして、変数・レジスタログ情報出力部７６は、ＬＳＩ模擬部７４のレジスタの値に変更があるか否かを判定し（Ｓ６０３）、変更がない場合（Ｎｏ）はＳ６０６の判定に進み、変更がある場合（Ｙｅｓ）には、変更のあったＬＳＩ名、レジスタのアドレス、レジスタの値、ステップの情報を取得し（Ｓ６０４）、この取得した情報を変数・レジスタログ情報２５のＤＢに登録する（Ｓ６０５）。さらに、変数・レジスタログ情報出力部７６は、変数が割り当てられているメモリの値に変更があるか否かを判定し（Ｓ６０６）、変更がない場合（Ｎｏ）はＳ６０９の判定に進み、変更がある場合（Ｙｅｓ）には、変数名、メモリの値、ステップの情報を取得し（Ｓ６０７）、この取得した情報を変数・レジスタログ情報２５のＤＢに登録する（Ｓ６０８）。そして、変数・レジスタログ情報出力部７６は、テスト対象プログラムが終了したか否かを判定し（Ｓ６０９）、終了した場合（Ｙｅｓ）は処理を終了し、終了していない場合（Ｎｏ）にはＳ６０３〜Ｓ６０８の処理を繰り返す。
【００５４】
以上のようにして、ストレージ装置シミュレータ７の変数・レジスタログ情報出力部７６の動作が行われる。
【００５５】
次に、図１７〜図１９により、テスト結果表示ツールの動作の一例を説明する。それぞれ、図１７はテスト結果表示ツールのテスト結果、図１８および図１９はテスト結果参照画面の一例を示す説明図である。
【００５６】
図１７において、まず、ユーザ（ソフトウェア開発者）は、テスト結果表示ツール８上で、ソフトウェア条件Ｎｏを指定し、かつ、結果判定対象の変数・レジスタを指定する。そして、テスト結果表示ツール８は、変数・レジスタログ情報２５のＤＢを参照し、指定されたソフトウェア条件Ｎｏ、結果判定対象の変数・レジスタの値のテスト結果２７を表示する。図１７の例では、変数・レジスタログ情報２５のＤＢに、変数名とステップと値を表す変換テーブル、ＬＳＩ名とアドレスとステップと値を表すレジスタテーブルがあり、これらのテーブルに基づいて、ハードウェア・ソフトウェア条件Ｎｏと結果判定対象の変数・レジスタの値がそれぞれ、“１”で“０ｘ１２３４”、“２”で“０ｘ１２３４”、“３”で“０ｘ１２３４”、…のテスト結果２７が表示されている。
【００５７】
図１８において、テスト結果表示ツール８のテスト結果参照画面には、ユーザ（ソフトウェア開発者）が指定した条件での、テスト結果判定用変数・レジスタを表示することで、ソフトウェア開発者は結果が正常でない条件を発見することができる。図１８の例では、ハードウェア・ソフトウェア条件Ｎｏ“３”が、変数１“０”、レジスタ１“０ｘ１１１１”で発見されている。
【００５８】
続いて、図１９において、ソフトウェア開発者は、正常でない結果が得られた条件（ハードウェア条件“３”）を指定し、さらに原因を特定するために必要な変数、レジスタを指定することで、テスト結果参照画面には状態変更履歴を表示することができる。図１９の例では、ステップが“１０”、“１５”、“２０”、“２５”が表示され、ソフトウェアの原因として、ステップ“２０”で変数１“０”、ステップ“２５”でレジスタ１“０ｘ１１１１”が表示されている。また、ハードウェアの原因として、ステップ“１５”で障害Ｎｏ“１”が表示されている。
【００５９】
以上のようにして、テスト結果表示ツール８の動作が行われ、テスト結果参照画面にテスト結果２７が表示される。
【００６０】
従って、本実施の形態のテストシミュレータによれば、機能別ソース選択ツール１、コンパイラ２、ソフトウェア解析テスト条件生成ツール３、ハードウェア・ソフトウェア条件生成部４、テスト実行部５、ＬＳＩアクセス表作成部６、ストレージ装置シミュレータ７、テスト結果表示ツール８などを備えることにより、ハードウェアの障害の条件とソフトウェアの条件を組み合わせたテスト条件を自動的に生成し、テストの実行から結果の出力までを行うことで、効率的にテストが行え、テストの網羅率を向上させ、製品の信頼性を高めることができる。また、従来、システムテストで行っていた異常系のテストを、コンビネーションテストで行えるため、戻り作業を少なくすることができる。
【００６１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００６２】
本発明は、テストシミュレータの技術に関し、特に、ストレージ装置の組み込みソフトウェア開発向けのテスト網羅シミュレータに利用可能である。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施の形態におけるテストシミュレータの構成および動作の一例を示すブロック図である。
【図２】本発明の一実施の形態におけるテストシミュレータにおいて、ハードウェア障害表の構成の一例を示す説明図である。
【図３】本発明の一実施の形態におけるテストシミュレータにおいて、機能別ソース表の構成の一例を示す説明図である。
【図４】本発明の一実施の形態におけるテストシミュレータにおいて、ソフトウェア条件表の構成の一例を示す説明図である。
【図５】本発明の一実施の形態におけるテストシミュレータにおいて、ＬＳＩアクセス表の構成の一例を示す説明図である。
【図６】本発明の一実施の形態におけるテストシミュレータにおいて、ハードウェア・ソフトウェア条件表の構成の一例を示す説明図である。
【図７】本発明の一実施の形態におけるテストシミュレータにおいて、テスト実行部を中心とするテスト自動実行部分の動作の一例を示すフロー図である。
【図８】本発明の一実施の形態におけるテストシミュレータにおいて、ＬＳＩアクセス表作成部の動作の一例を示すフロー図である。
【図９】本発明の一実施の形態におけるテストシミュレータにおいて、ハードウェア・ソフトウェア条件生成部の動作の一例を示すフロー図である。
【図１０】本発明の一実施の形態におけるテストシミュレータにおいて、ハードウェア・ソフトウェア条件表の作成の一例を示す説明図である。
【図１１】本発明の一実施の形態におけるテストシミュレータにおいて、ハードウェア・ソフトウェア条件表の作成（図１０に続く）の一例を示す説明図である。
【図１２】本発明の一実施の形態におけるテストシミュレータにおいて、ハードウェア・ソフトウェア条件表の作成（図１１に続く）の一例を示す説明図である。
【図１３】本発明の一実施の形態におけるテストシミュレータにおいて、ストレージ装置シミュレータの構成の一例を示す説明図である。
【図１４】本発明の一実施の形態におけるテストシミュレータにおいて、ストレージ装置シミュレータの任意障害発生部を中心とする障害発生機能部分の動作の一例を示すフロー図である。
【図１５】本発明の一実施の形態におけるテストシミュレータにおいて、ストレージ装置シミュレータのＬＳＩアクセス情報出力部の動作の一例を示すフロー図である。
【図１６】本発明の一実施の形態におけるテストシミュレータにおいて、ストレージ装置シミュレータの変数・レジスタログ情報出力部の動作の一例を示すフロー図である。
【図１７】本発明の一実施の形態におけるテストシミュレータにおいて、テスト結果表示ツールのテスト結果の一例を示す説明図である。
【図１８】本発明の一実施の形態におけるテストシミュレータにおいて、テスト結果表示ツールのテスト結果参照画面（テスト結果）の一例を示す説明図である。
【図１９】本発明の一実施の形態におけるテストシミュレータにおいて、テスト結果表示ツールのテスト結果参照画面（状態変更履歴）の一例を示す説明図である。
【符号の説明】
【００６４】
１…機能別ソース選択ツール、２…コンパイラ、３…ソフトウェア解析テスト条件生成ツール、４…ハードウェア・ソフトウェア条件生成部、５…テスト実行部、６…ＬＳＩアクセス表作成部、７…ストレージ装置シミュレータ、８…テスト結果表示ツール、
１１…機能別ソース表、１２…ソフトウェア条件表、１３…ＬＳＩアクセス表、１４…ハードウェア障害表、１５…ハードウェア・ソフトウェア条件表、
２１…抽出ソース、２２…ソース、２３…テスト対象プログラム、２４…ＬＳＩアクセス情報、２５…変数・レジスタログ情報、２６…変数・レジスタログ、２７…テスト結果、
７１…テスト対象プログラム、７２…ＯＳ、７３…メモリ模擬部、７４…ＬＳＩ模擬部、７５…ＣＰＵ模擬部、７６…変数・レジスタログ情報出力部、７７…ＬＳＩアクセス情報出力部、７８…任意障害発生部、７９…シミュレーションエンジン。
【図１】
2008077278.tif 000003
【図２】
2008077278.tif 000004
【図３】
2008077278.tif 000005
【図４】
2008077278.tif 000006
【図５】
2008077278.tif 000007
【図６】
2008077278.tif 000008
【図７】
2008077278.tif 000009
【図８】
2008077278.tif 000010
【図９】
2008077278.tif 000011
【図１０】
2008077278.tif 000012
【図１１】
2008077278.tif 000013
【図１２】
2008077278.tif 000014
【図１３】
2008077278.tif 000015
【図１４】
2008077278.tif 000016
【図１５】
2008077278.tif 000017
【図１６】
2008077278.tif 000018
【図１７】
2008077278.tif 000019
【図１８】
2008077278.tif 000020
【図１９】
2008077278.tif 000021