(57)【要約】      （修正有）【課題】ソフトウェアの検証を、画像形成装置のパネル操作制御プログラムのような上位と下位にそれぞれ別のプログラムの層を持つミドルウェアに適するようにする。【解決手段】ソフトウェア検証プログラムは、アプリケーションプログラムをシミュレートするテスト用アプリケーションプログラム２２と、パネルドライバをシミュレートするテスト用パネルドライバプログラム２３と、それらに指示を出しテスト全体を管理するテスト管理プログラム２４とから構成され、ユーザからの指示情報及びアプリケーションからの指示情報（テストシナリオデータ２５）に基づいて、画像形成装置操作パネル制御プログラム（テスト対象プログラム２８）を動作させ、該プログラムを検証する。【選択図】図１
2007072968.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの指示情報及びアプリケーションからの指示情報に基づいて、画像形成装置操作パネル制御プログラムを動作させ、該プログラムを検証することを特徴とするソフトウェア検証方法。
【請求項２】
画像形成装置が有するアプリケーションプログラムをシミュレートするためのテスト用アプリケーションプログラムと、
前記画像形成装置が有するパネルドライバをシミュレートするためのテスト用パネルドライバプログラムと、
該テスト用アプリケーションプログラム及び該テスト用パネルドライバプログラムに指示を出し、前記画像形成装置操作パネル制御プログラムの検証をするためのテスト全体を管理するテスト管理プログラムと、を有するソフトウェア検証プログラムの実行によるソフトウェア検証方法であって、
前記テスト管理プログラムが、前記ユーザからの指示情報と前記アプリケーションからの指示情報を含むテストシナリオデータに基づいて、前記テスト用アプリケーションプログラム及び前記テスト用パネルドライバプログラムを動作させることにより前記画像形成装置操作パネル制御プログラムを動作させる第１の工程と、
前記テスト管理プログラムが、前記第１の工程における前記画像形成装置操作パネル制御プログラムの動作結果を取得する第２の工程と、
前記テスト管理プログラムが、前記第２の工程において取得した前記動作結果と、該動作結果を判断するものさしとなるテスト結果基準データとを比較することにより、
前記画像形成装置操作パネル制御プログラムの検証結果を生成する第３の工程と、を有することを特徴とする請求項１記載のソフトウェア検証方法。
【請求項３】
前記ソフトウェア検証プログラムは、コンピュータに、前記テストシナリオデータを編集し、前記画像形成装置操作パネル制御プログラムに実行させるコマンドを、変更、削除、又は、追加する機能を実現させるためのテストシナリオ編集プログラムを有することを特徴とする請求項２記載のソフトウェア検証方法。
【請求項４】
前記ソフトウェア検証プログラムは、コンピュータに、前記テストシナリオデータを編集し、ユーザからの指示情報及びアプリケーションからの指示情報をグループ化し、複数のグループの自由な組み合わせからなるテストシナリオデータを作成する機能を実現させるためのテストシナリオ編集プログラムを有することを特徴とする請求項２記載のソフトウェア検証方法。
【請求項５】
コンピュータに、ユーザからの指示情報及びアプリケーションからの指示情報に基づいて、画像形成装置操作パネル制御プログラムを動作させ、該プログラムを検証させる機能を実現させるためのソフトウェア検証プログラム。
【請求項６】
画像形成装置が有するアプリケーションプログラムをシミュレートするためのテスト用アプリケーションプログラムと、
前記画像形成装置が有するパネルドライバをシミュレートするためのテスト用パネルドライバプログラムと、
該テスト用アプリケーションプログラム及び該テスト用パネルドライバプログラムに指示を出し、前記画像形成装置操作パネル制御プログラムの検証をするためのテスト全体を管理するテスト管理プログラムと、を有するソフトウェア検証プログラムであって、
コンピュータに、前記テスト管理プログラムが、前記ユーザからの指示情報と前記アプリケーションからの指示情報を含むテストシナリオデータに基づいて、前記テスト用アプリケーションプログラム及び前記テスト用パネルドライバプログラムを動作させることにより前記画像形成装置操作パネル制御プログラムを動作させる第１の処理と、
前記テスト管理プログラムが、前記第１の処理における前記画像形成装置操作パネル制御プログラムの動作結果を取得する第２の処理と、
前記テスト管理プログラムが、前記第２の処理において取得した前記動作結果と、該動作結果を判断するものさしとなるテスト結果基準データとを比較することにより、前記画像形成装置操作パネル制御プログラムの検証結果を生成する第３の処理と、
を実行させるための請求項５記載のソフトウェア検証プログラム。
【請求項７】
コンピュータに、前記テストシナリオデータを編集し、前記画像形成装置操作パネル制御プログラムに実行させるコマンドを、変更、削除、又は、追加する機能を実現させるためのテストシナリオ編集プログラムを有する請求項６記載のソフトウェア検証プログラム。
【請求項８】
コンピュータに、前記テストシナリオデータを編集し、ユーザからの指示情報及びアプリケーションからの指示情報をグループ化し、複数のグループの自由な組み合わせからなるテストシナリオデータを作成する機能を実現させるためのテストシナリオ編集プログラムを有する請求項６記載のソフトウェア検証プログラム。
【請求項９】
請求項５から８のいずれか１項に記載のソフトウェア検証プログラムが組み込まれた画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置におけるパネル操作制御プログラムのようなミドルウェアに対する、ソフトウェア検証方法、ソフトウェア検証プログラム、及び、該プログラムが組み込まれた画像形成装置に関する。
【背景技術】
【０００２】
アプリケーションプログラムの動作確認を自動的に実行し、ソフトウェアの品質向上のための自動実行ツールに関する技術が知られている。例えば、特許文献１では、入力条件及び動作環境条件に基づくテスト項目表を作成し、そのテスト項目表に基づいてテストスクリプトを自動生成することを特徴とするアプリケーションプログラムの検証方法に関する技術が開示されている。
【０００３】
また、特許文献２では、プログラミングの知識がなくても所望の目的の検査装置用ソフトウェアを構築可能とした技術が開示されている。本技術は、コンピュータシステムにおいて、ある検査装置用ソフトウェアに対し、ユーザの要求に応じて外部からのアプローチ（設定、手段）により、ソフトウェアのコードを変更することなく所望の目的の動作を行わせるために、各制御部の動作をエディタで編集することで所望の目的の検査装置用ソフトウェアを構築する構成とすると共に、当該ソフトウェアとこのソフトウェアで用いる情報ファイルを、データベースエンジンを有するネットワークサーバ（検査装置情報サーバ）２に格納し、ネットワークを介して検索、入手可能とするものである。
【特許文献１】特開２００４−２８０２３１号公報
【特許文献２】特開２００３−１４０８９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述したような、特許文献１に開示される技術では「アプリケーション」の動作確認を目的としているため、テスト対象がデバイスドライバとアプリケーションの中間に位置するパネル操作制御プログラムのようなミドルウェアに対しては有効ではないという問題があった。これは入力をユーザ方向からの一方向と想定しているため、ミドルウェアのように上位層からも下位層からも入力があるシステムの動作を検証することが難しいということによる。
【０００５】
本発明は、上記のような問題点に鑑み、画像形成装置のパネル操作制御プログラムのようなミドルウェアの検証に適した、ソフトウェア検証方法、ソフトウェア検証プログラム、及び、該プログラムが組み込まれた画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１記載の発明は、ユーザからの指示情報及びアプリケーションからの指示情報に基づいて、画像形成装置操作パネル制御プログラムを動作させ、該プログラムを検証するソフトウェア検証方法としたことを特徴とする。
【０００７】
請求項２記載の発明は、画像形成装置が有するアプリケーションプログラムをシミュレートするためのテスト用アプリケーションプログラムと、前記画像形成装置が有するパネルドライバをシミュレートするためのテスト用パネルドライバプログラムと、該テスト用アプリケーションプログラム及び該テスト用パネルドライバプログラムに指示を出し、前記画像形成装置操作パネル制御プログラムの検証をするためのテスト全体を管理するテスト管理プログラムと、を有するソフトウェア検証プログラムの実行によるソフトウェア検証方法であって、前記テスト管理プログラムが、前記ユーザからの指示情報と前記アプリケーションからの指示情報を含むテストシナリオデータに基づいて、前記テスト用アプリケーションプログラム及び前記テスト用パネルドライバプログラムを動作させることにより前記画像形成装置操作パネル制御プログラムを動作させる第１の工程と、前記テスト管理プログラムが、前記第１の工程における前記画像形成装置操作パネル制御プログラムの動作結果を取得する第２の工程と、前記テスト管理プログラムが、前記第２の工程において取得した前記動作結果と、該動作結果を判断するものさしとなるテスト結果基準データとを比較することにより、前記画像形成装置操作パネル制御プログラムの検証結果を生成する第３の工程とを有する請求項１記載のソフトウェア検証方法としたことを特徴とする。
【０００８】
請求項３記載の発明は、前記ソフトウェア検証プログラムは、コンピュータに、前記テストシナリオデータを編集し、前記画像形成装置操作パネル制御プログラムに実行させるコマンドを、変更、削除、又は、追加する機能を実現させるためのテストシナリオ編集プログラムを有する請求項２記載のソフトウェア検証方法としたことを特徴とする。
【０００９】
請求項４記載の発明は、前記ソフトウェア検証プログラムは、コンピュータに、前記テストシナリオデータを編集し、ユーザからの指示情報及びアプリケーションからの指示情報をグループ化し、複数のグループの自由な組み合わせからなるテストシナリオデータを作成する機能を実現させるためのテストシナリオ編集プログラムを有する請求項２記載のソフトウェア検証方法としたことを特徴とする。
【００１０】
請求項５記載の発明は、コンピュータに、ユーザからの指示情報及びアプリケーションからの指示情報に基づいて、画像形成装置操作パネル制御プログラムを動作させ、該プログラムを検証させる機能を実現させるためのソフトウェア検証プログラムとしたことを特徴とする。
【００１１】
請求項６記載の発明は、画像形成装置が有するアプリケーションプログラムをシミュレートするためのテスト用アプリケーションプログラムと、前記画像形成装置が有するパネルドライバをシミュレートするためのテスト用パネルドライバプログラムと、該テスト用アプリケーションプログラム及び該テスト用パネルドライバプログラムに指示を出し、前記画像形成装置操作パネル制御プログラムの検証をするためのテスト全体を管理するテスト管理プログラムと、を有するソフトウェア検証プログラムであって、コンピュータに、前記テスト管理プログラムが、前記ユーザからの指示情報と前記アプリケーションからの指示情報を含むテストシナリオデータに基づいて、前記テスト用アプリケーションプログラム及び前記テスト用パネルドライバプログラムを動作させることにより前記画像形成装置操作パネル制御プログラムを動作させる第１の処理と、前記テスト管理プログラムが、前記第１の処理における前記画像形成装置操作パネル制御プログラムの動作結果を取得する第２の処理と、前記テスト管理プログラムが、前記第２の処理において取得した前記動作結果と、該動作結果を判断するものさしとなるテスト結果基準データとを比較することにより、前記画像形成装置操作パネル制御プログラムの検証結果を生成する第３の処理とを実行させるための請求項５記載のソフトウェア検証プログラムとしたことを特徴とする。
【００１２】
請求項７記載の発明は、コンピュータに、前記テストシナリオデータを編集し、前記画像形成装置操作パネル制御プログラムに実行させるコマンドを、変更、削除、又は、追加する機能を実現させるためのテストシナリオ編集プログラムを有する請求項６記載のソフトウェア検証プログラムとしたことを特徴とする。
【００１３】
請求項８記載の発明は、コンピュータに、前記テストシナリオデータを編集し、ユーザからの指示情報及びアプリケーションからの指示情報をグループ化し、複数のグループの自由な組み合わせからなるテストシナリオデータを作成する機能を実現させるためのテストシナリオ編集プログラムを有する請求項６記載のソフトウェア検証プログラムとしたことを特徴とする。
【００１４】
請求項９記載の発明は、請求項５から８のいずれか１項に記載のソフトウェア検証プログラムが組み込まれた画像形成装置としたことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、画像形成装置のパネル操作制御プログラムのようなミドルウェアの検証に適した、ソフトウェア検証方法、ソフトウェア検証プログラム、及び、該プログラムが組み込まれた画像形成装置を実現することができる。
【発明を実施するための最良の形態】
【００１６】
本発明を実施するための最良の形態は、ユーザからの指示情報及びアプリケーションからの指示情報に基づいて、画像形成装置操作パネル制御プログラムを動作させ、該プログラムを検証する。
【００１７】
以下に、本発明の好適な実施形態を添付図面に基づいて詳細に説明する。尚、以下に述べる実施形態は本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの実施形態に限られるものではない。
【００１８】
（実施形態１）
まず、本実施形態のソフトウェア検証プログラムが組み込まれる画像形成装置のハードウエア構成とその機能について、図７を用いて以下に説明する。図７は、本実施形態のソフトウェア検証プログラムが組み込まれる画像形成装置のハードウエア構成とその機能について説明するための構成ブロック図である。
【００１９】
図７に示すように、本実施形態のソフトウェア検証プログラムが組み込まれる画像形成装置１００は、ＣＰＵ１、操作パネル２、スキャンプリントエンジン３、記憶装置４、パネル制御部５、エンジン制御部６、ディスクドライバ７、通信制御部８、ＲＯＭ９、ＲＡＭ１０、ＮＶＲＡＭ１１、モデム１２、及び、ホストＩ／Ｆ１３とを備えている。
【００２０】
ＣＰＵ１は、画像形成装置１００全体の制御を司るものである。そして、ＣＰＵ１の制御下に、操作パネル２、スキャンプリントエンジン３、記憶装置４、パネル制御部５、エンジン制御部６、ディスクドライバ７、通信制御部８、ＲＯＭ９、ＲＡＭ１０、ＮＶＲＡＭ１１、モデム１２、及び、ホストＩ／Ｆ（外部Ｉ／Ｆ）１３が接続されている。
【００２１】
操作パネル２とパネル制御部５は、ユーザとのインターフェイスを司る。スキャンプリントエンジン３とエンジン制御部６は、イメージデータの入出力ユニットとして、紙原稿の読み取りと転写紙への印刷を実行する。記憶装置４とディスクドライバ７は、大量のイメージデータなどを蓄積したり、データベースの記憶場所として利用される。通信制御部８は、イーサネット（登録商標）等のネットワークに接続され、外部の機器との通信を可能とする。
【００２２】
ＲＯＭ９には、プログラムコード、フォント、及びその他の静的なデータが格納されている。ＲＡＭ１０は、データの一時的な記憶場所として利用される。ＮＶＲＡＭ１１は、不揮発性のデータを格納する。モデム１２は、公衆回線と接続され、外部の機器との通信を可能とする。ホストＩ／Ｆ１３は、セントロニクスやＲＳ−２３２Ｃ等のインターフェイスを用いてホスト外部の機器との通信を可能とする。
【００２３】
次に、本実施形態のソフトウェア検証プログラムが組み込まれる画像形成装置のソフトウェア構成とその機能について、図８を用いて以下に説明する。図８は、本実施形態のソフトウェア検証プログラムが組み込まれる画像形成装置のソフトウェア構成とその機能について説明するための構成ブロック図である。
【００２４】
図８に示すように、本実施形態のソフトウェア検証プログラムが組み込まれる画像形成装置１００には、アプリケーションプログラム１４、パネル制御プログラム１５、エンジン制御プログラム１６、通信制御プログラム１７、パネルドライバ１８、エンジンドライバ１９、通信ドライバ２０、及び、オペレーションシステム２１が組み込まれている。
【００２５】
アプリケーションプログラム１４は、コピー、ファクス、プリンタなどの機能実行を管理する。パネル制御プログラム１５は、パネルドライバ１８を介して操作パネル２を制御し、ユーザからの情報をアプリケーションプログラム１４に伝え、アプリケーションプログラム１４からの情報をユーザに伝える。パネルドライバ１８は、パネル制御プログラム１５の指示によりオペレーションシステム２１を介して操作パネル２を制御する。
【００２６】
エンジン制御プログラム１６は、エンジンドライバ１９を介してスキャンプリントエンジン３を制御し、スキャンプリントエンジン３からの情報をアプリケーションプログラム１４に伝え、アプリケーションプログラム１４からの情報をスキャンプリントエンジン３に伝える。エンジンドライバ１９は、エンジン制御プログラム１６の指示によりオペレーションシステム２１を介してスキャナプリントエンジン３を制御する。
【００２７】
通信制御プログラム１７は、通信ドライバ２０を介してネットワーク通信を制御し、ネットワーク上の通信相手からの情報をアプリケーションプログラム１４に伝え、アプリケーションプログラム１４からの情報をネットワーク上の通信相手に伝える。通信ドライバ２０は、通信制御プログラム１７の指示によりオペレーションシステム２１を介して物理ネットワーク通信を制御する。オペレーションシステム２１は、各種ドライバからの指示に基づき物理デバイスを制御し、物理デバイスの情報を各デバイスドライバに伝え、各デバイスドライバからの情報を物理デバイスに伝える。
【００２８】
次に、本実施形態のソフトウェア検証プログラムについて、図１を用いて以下に説明する。図１は、本実施形態のソフトウェア検証プログラムについて説明するための図である。図１に示すように、本実施形態のソフトウェア検証プログラムは、図８に示すアプリケーションプログラム１４をシミュレートする、テスト用アプリケーションプログラム２２と、図８に示すパネルドライバ１８をシミュレートする、テスト用パネルドライバプログラム２３と、それらに指示を出しテスト全体を管理する、テスト管理プログラム２４とから構成される。なお、本実施形態のソフトウェア検証プログラムは、図７に示すＲＯＭ９に格納される。
【００２９】
また、図１に示す、テストシナリオの集まりであるテストシナリオデータ２５、及び、テスト結果を判断する際のものさしとなるテスト結果基準データ２６は、図７に示すＲＯＭ９に格納される。これらのデータは、本実施形態のソフトウェア検証プログラムの実行による、対象プログラム２８（本実施形態ではパネル制御プログラム１５）の検証に用いられる。一方、図１に示すテスト結果データ２７は、図７に示すＲＡＭ１０に格納される。
【００３０】
なお、本発明のソフトウェア検証プログラムは、対象プログラム２８として本実施形態のパネル制御プログラム１５に限らず、例えば、ＬＣＤやＣＲＴを使用した家電の操作パネル制御プログラムのような、上位と下位にそれぞれ別のプログラムの層を持つミドルウェアに対して適用することが可能である。
【００３１】
次に、本実施形態のソフトウェア検証プログラムの動作について、図２を用いて以下に説明する。図２は、本実施形態のソフトウェア検証プログラムの動作について説明するための図である。図２に示すように、まず、テスト管理プログラム２４は、テストシナリオデータ２５を読み込む（図２：「１．テストシナリオ読み込み」）。このテストシナリオデータ２５は、ユーザからの指示情報と、アプリケーションからの指示情報とを含むデータである。
【００３２】
次に、テスト管理プログラム２４は、テストシナリオデータ２５に基づいて、テスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３のそれぞれが、テスト対象プログラム２８（図８：パネル制御プログラム１５）に出すコマンドを指定し、テスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３に対して指示をする（図２：「２．指示、８．指示」）。
【００３３】
続いて、上記指示を受け取ったテスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３はそれぞれ、テスト管理プログラム２４が指定した所定のコマンドを、テスト対象プログラム２８が実行するように、テスト対象プログラム２８に対して指示を出す（図２：「３．指示、９．指示」）。そして、テスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３からの指示を受けたテスト対象プログラム２８は、所定のコマンドを実行する。
【００３４】
続いて、テスト対象プログラム２８は、所定のコマンドを実行した結果を、テスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３のそれぞれに対して送付する（図２：「４．結果、６．結果」、「１０．結果、１２．結果」）。ここで、テスト対象プログラム２８は、指示された所定のコマンドを全て実行するまで動作を継続する。
【００３５】
続いて、テスト対象プログラム２８からのコマンド実行結果を受け取ったテスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３はそれぞれ、テスト管理プログラム２４に対して、上記テスト対象プログラム２８のコマンド実行結果を送付する（図２に示す「５．結果、７．結果」、「１１．結果、１３．結果」）。
【００３６】
次に、テスト管理プログラム２４は、テスト対象プログラム２８のコマンド実行結果（図２に示す「５．結果、７．結果」、「１１．結果、１３．結果」）を受け取り、図７に示すＲＡＭ１０に一時的に記憶しておく。その後、テスト管理プログラム２４は、テスト結果基準データ２６を読み込み（図２：「１４．結果基準読み込み」）、一時的に図７に示すＲＡＭ１０に記憶しておいた、テスト対象プログラム２８のコマンド実行結果と照らし合わせ、両者に差異があったかなかったか、差異があった場合、それはどの結果についてかをテスト結果データ２７として書き出す（図２：「１５．テスト結果書き出し」）。
【００３７】
本実施形態によれば、ユーザからの指示とアプリケーションからの指示の双方をシミュレートすることにより、画像形成装置の操作パネル制御プログラムの動作を自動で確認することができることで、画像形成装置の操作パネル制御プログラムのようなミドルウェアの動作確認に必要なコストを削減することができる。また、開発者自身が日常的に動作確認を行うことも容易となるため、品質の向上にもつながる。
【００３８】
（実施形態２）
本実施形態は、実施形態１の応用例である。よって、実施形態１と共通する部分は説明を省略し、本実施形態の特徴部分のみ、添付図面を用いて以下に説明する。まず、本実施形態のソフトウェア検証プログラムについて、図３、４を用いて以下に説明する。図３は、本実施形態のソフトウェア検証プログラムについて説明するための図である。図４は、本実施形態のソフトウェア検証プログラムの動作について説明するための図である。
【００３９】
図３に示すように、本実施形態のソフトウェア検証プログラムは、実施形態１の図１で示したソフトウェア検証プログラムの構成に、テストシナリオデータ２５を編集するためのテストシナリオ編集プログラム２９を加えたことを特徴とする。
なお、実施形態１とは異なり、テストシナリオデータ２５、及び、テスト結果基準データ２６は、テストシナリオ編集プログラム２９による編集のためその内容が変更されるので、図７に示すＲＡＭ１０に格納される。
【００４０】
テストシナリオ編集プログラム２９は、ユーザからの指示に基づいて、テストシナリオデータ２５を編集し、テスト用アプリケーションプログラム２２がテスト対象プログラム２８に出すコマンド及びテスト用パネルドライバプログラムがテスト対象プログラム２８に出すコマンドを変更、削除、追加することを可能とするものである。
【００４１】
従って、図４に示すように、例えば、本実施形態の画像形成装置の有するパネル制御プログラム１５をテスト対象プログラム２８として、本実施形態のソフトウェア検証プログラムを実行させる前に、テストシナリオ編集プログラム２９を動作させて、テストシナリオデータ２５を編集して、対象プログラム２８に対し、その実行を指示するコマンドに関して、変更、削除、追加をすることができる（図４：１．テスト要素書き出し）。
【００４２】
本実施形態によれば、テスト設計者がシミュレートする指示内容を編集できることにより、テスト対象プログラム２８の動作確認内容を変更したい際にも、テストシナリオデータ２５を一から作り直す必要はないため、テスト設計コストを削減することができる。
【００４３】
（実施形態３）
本実施形態は、実施形態１の応用例である。よって、実施形態１と共通する部分は説明を省略し、本実施形態の特徴部分のみ、添付図面を用いて以下に説明する。まず、本実施形態のソフトウェア検証プログラムについて、図５、６を用いて以下に説明する。図５は、本実施形態のソフトウェア検証プログラムについて説明するための図である。図６は、本実施形態のソフトウェア検証プログラムの動作について説明するための図である。
【００４４】
図５に示すように、本実施形態のソフトウェア検証プログラムは、実施形態１の図１で示したソフトウェア検証プログラムの構成に、テストシナリオの集まりである子テストシナリオデータ３２の集まりである、親テストシナリオデータ３１、それら親テストシナリオデータ３１、及び、子テストシナリオデータ３２を編集するためのテストシナリオ編集プログラム３０を加えたことを特徴とする。
【００４５】
また、図５に示す、テストシナリオの集まりである子テストシナリオデータ３２の集まりである、親テストシナリオデータ３１、及び、テスト結果を判断する際のものさしとなる子テスト結果基準データ３４の集まりである、親テスト結果基準データ３３は、図７に示すＲＡＭ１０に格納される。
【００４６】
上記データは、本実施形態のソフトウェア検証プログラムの実行による、対象プログラム２８（本実施形態ではパネル制御プログラム１５）の検証に用いられる。また、図５に示す子テスト結果データ３６の集まりである親テスト結果データ３５は、図７に示すＲＡＭ１０に格納される。
【００４７】
なお、実施形態１とは異なり、子テストシナリオデータ３２の集まりである、親テストシナリオデータ３１、及び、子テスト結果基準データ３４の集まりである、親テスト結果基準データ３３は、テストシナリオ編集プログラム３０による編集のためその内容が変更されるので、図７に示すＲＡＭ１０に格納される。
【００４８】
従って、図６に示すように、例えば、本実施形態の画像形成装置の有するパネル制御プログラム１５をテスト対象プログラム２８として、本実施形態のソフトウェア検証プログラムを実行させる前に、テストシナリオ編集プログラム３０を動作させる。
テストシナリオ編集プログラム３０は、ユーザからの指示に基づいて、子テストシナリオデータ３２に含まれる、テスト用アプリケーションプログラム２２がテスト対象プログラム２８に出すコマンド、及び、テスト用パネルドライバプログラム２３がテスト対象プログラム２８に出すコマンドを変更、削除、追加する（図６：１．テスト要素書き出し、２．テスト要素書き出し）。
【００４９】
続いて、テストシナリオ編集プログラム３０は、上記コマンドの変更、削除、追加を、必要な子テストシナリオデータ３２分繰り返し（図６：１．テスト要素書き出し、２．テスト要素書き出し）、必要な子テストシナリオデータ３２群を得る。次に、テストシナリオ編集プログラム３０は、既に作成した個々の子テストシナリオデータ３２を、ユーザからの指示に基づいて順番に並べて、親テストシナリオデータ３１として書き出す（図６：３．子シナリオの組み合わせ順次書き出し、４．５．子テストシナリオ読み込み）。
【００５０】
次に、テスト管理プログラム２４は、親テストシナリオデータに定義された最初の子テストシナリオデータ３２を読み込み（図６：６．親テストシナリオ読み込み）、テストシナリオデータ３２に基づいて、テスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３のそれぞれが、テスト対象プログラム２８（図８：パネル制御プログラム１５）に出すコマンドを指定し、テスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３に対して指示をする（図６：「７．指示、１３．指示」）。
【００５１】
続いて、上記指示を受け取ったテスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３はそれぞれ、テスト管理プログラム２４が指定した所定のコマンドを、テスト対象プログラム２８が実行するように、テスト対象プログラム２８に対して指示を出す（図６：「８．指示、１４．指示」）。そして、テスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３からの指示を受けたテスト対象プログラム２８は、所定のコマンドを実行する。
【００５２】
続いて、テスト対象プログラム２８は、所定のコマンドを実行した結果を、テスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３のそれぞれに対して送付する（図６：「９．結果、１１．結果」、「１５．結果、１７．結果」）。ここで、テスト対象プログラム２８は、指示された所定のコマンドを全て実行するまで動作を継続する。
【００５３】
続いて、テスト対象プログラム２８からのコマンド実行結果を受け取ったテスト用アプリケーションプログラム２２及びテスト用パネルドライバプログラム２３はそれぞれ、テスト管理プログラム２４に対して、上記テスト対象プログラム２８のコマンド実行結果を送付する（図６に示す「１０．結果、１２．結果」、「１６．結果、１８．結果」）。次に、テスト管理プログラム２４は、テスト対象プログラム２８のコマンド実行結果（図６に示す「１０．結果、１２．結果」、「１６．結果、１８．結果」）を受け取り、図７に示すＲＡＭ１０に一時的に記憶しておく。
【００５４】
その後、１つの子テストシナリオデータ３２による、テスト対象プログラム２８のコマンド実行が終了したら、テスト管理プログラム２４は、親テスト結果基準データ３１に定義された最初の子テスト結果基準データ３４を読み込み（図６：「１９．結果基準読み込み」）、一時的に図７に示すＲＡＭ１０に記憶しておいた、テスト対象プログラム２８のコマンド実行結果と照らし合わせ、両者に差異があったかなかったか、差異があった場合、それはどの結果についてかを親テスト結果データ３５の最初の子テスト結果データ３６として書き出す（図６：「２０．テスト結果書き出し」）。
【００５５】
なお、以上説明した動作は、親テストシナリオデータ３１に定義された最後の子テストシナリオデータ３２について実行するまで繰り返される。本実施形態によれば、シミュレートする指示内容をグループ化し、複数のグループを自由に組み合わせたテストセットを作成することができることにより、開発作業のライフサイクル毎に最適なテスト範囲を選択することができ、より効率的な品質保証活動を行うことが可能となり、開発プロジェクト全体の生産性向上に寄与することができる。
【図面の簡単な説明】
【００５６】
【図１】第１の実施形態のソフトウェア検証プログラムについて説明するための図である。
【図２】第１の実施形態のソフトウェア検証プログラムの動作について説明するための図である。
【図３】第２の実施形態のソフトウェア検証プログラムについて説明するための図である。
【図４】第２の実施形態のソフトウェア検証プログラムの動作について説明するための図である。
【図５】第３の実施形態のソフトウェア検証プログラムについて説明するための図である。
【図６】第３の実施形態のソフトウェア検証プログラムの動作について説明するための図である。
【図７】本実施形態のソフトウェア検証プログラムが組み込まれる画像形成装置のハードウエア構成とその機能について説明するための構成ブロック図である。
【図８】本実施形態のソフトウェア検証プログラムが組み込まれる画像形成装置のソフトウェア構成とその機能について説明するための構成ブロック図である。
【符号の説明】
【００５７】
１    ＣＰＵ
２    操作パネル
３    スキャンプリントエンジン
４    記憶装置
５    パネル操作部
６    エンジン制御部
７    ディスクドライバ
８    通信制御部
９    ＲＯＭ
１０    ＲＡＭ
１１    ＮＶＲＡＭ
１２    モデム
１３    ホストＩ／Ｆ
１４    アプリケーションプログラム
１５    パネル制御プログラム
１６    エンジン制御プログラム
１７    通信制御プログラム
１８    パネルドライバ
１９    エンジンドライバ
２０    通信ドライバ
２１    オペレーションシステム
２２    テスト用アプリケーションプログラム
２３    テスト用パネルドライバプログラム
２４    テスト管理プログラム
２５    テストシナリオデータ
２６    テスト結果基準データ
２７    テスト結果データ
２８    テスト対象プログラム
２９、３０    テストシナリオ編集プログラム
３１    親テストシナリオデータ
３２    子テストシナリオデータ
３３    親テスト結果基準データ
３４    子テスト結果基準データ
３５    親テスト結果データ
３６    子テスト結果データ
【図１】
2007072968.tif 000003
【図２】
2007072968.tif 000004
【図３】
2007072968.tif 000005
【図４】
2007072968.tif 000006
【図５】
2007072968.tif 000007
【図６】
2007072968.tif 000008
【図７】
2007072968.tif 000009
【図８】
2007072968.tif 000010