(57)【要約】  本発明で３次元応用プログラムフレームワーク構造及びこれを基盤とするアプリケーション具現方法、並びに３次元応用ソフトウェアフレームワーク基盤の自動テストシステム及びその方法を開示する。  本発明による３次元応用プログラムフレームワーク構造によって、使用者（開発者）が具現しなければならないイベント及びシステム環境管理及び機能を含むフレームワークを提供することにより、開発者が使用者モデル、所望の実際のモデリング機能及びＧＵＩを容易に確張することができる。また、フレームワーク基盤の自動テストシステムによって、使用者による機能実行履歴を記録してテストケースを自動で生成することにより、ＧＵＩ及びソースコード変更にかかわらず前記テストケースを利用して該当応用ソフトウェアの機能をテストすることができる。
2011514600.tif 000002
【特許請求の範囲】
【請求項１】
３次元モデルライブラリに基づいて表示された多様な種類のモデルに対する選択処理を行うためのモデル選択処理コンポーネント；
３次元モデリングカーネル、モデリング機能、表示機能及びＧＵＩ機能に対する使用者拡張が可能な使用者拡張コンポーネント；
使用者入力によって使用者機能実行を前記使用者拡張コンポーネントに要請し、モデル選択作業を前記モデル選択処理コンポーネントに要請するための機能管理コンポーネント；及び
コンピューターで３次元応用プログラムを実行するとき、メーンウィンドウ、ビューウィンドウ、メニュー、ツールバーなどを処理するために使用者が具現する使用者メーンモジュールに前記コンポーネントを連結させ、使用者操作によって前記コンポーネントの動作を制御するフレームワークシステムを含むことを特徴とする、３次元応用プログラムフレームワーク構造。
【請求項２】
前記フレームワーク構造は、３次元モデルデータを管理するモデリングカーネル及び３次元モデリングユーティリティーを備えるモデリングカーネルとともに前記使用者拡張コンポーネントを通じてモデルデータを受けてモデリング作業を行う第１モデリングコンポーネント；
前記第１モデリングコンポーネントを基盤とする多様な種類のモデルディスプレイ及び現在選択されたモデルのビューイングを支援する第１ディスプレイコンポーネント；
レンダリングツールを支援し、前記第１ディスプレイコンポーネントの制御によって画面に該当モデルを表示する第１レンダリングコンポーネント；及び
モデルディスプレイ、選択及びビューイングなどの動作に関連して使用者とのインターフェースを提供し、使用者のＧＵＩ操作によるイベントを発生させる第１ＧＵＩコンポーネントをさらに含むことを特徴とする、請求項１に記載の３次元応用プログラムフレームワーク構造。
【請求項３】
前記使用者拡張コンポーネントは、３次元応用プログラム実行の際、メーンウィンドウ、ビューウィンドウ、メニュー、ツールバーなどを処理するように開発者が具現して前記フレームワークシステムに結合させる使用者メーンモジュール；
開発者が具現した実際のモデリング機能及び作動機能が登録され、機能管理コンポーネントで発生したイベントによって該当機能を実行させる使用者機能モジュール；
３次元モデルデータを管理するモデルカーネル及び３次元モデリング機能コンポーネントを開発者が拡張登録することができる第２モデリングコンポーネント；
モデルの表示及び表示されたモデルのビューイングを開発者が拡張登録することができる第２ディスプレイコンポーネント；
開発者が選択具現したレンダリングツールを登録する第２レンダリングコンポーネント；及び
使用者とのインターフェースを確張するように開発者が具現する第２ＧＵＩコンポーネントを含んでなることを特徴とする、請求項１に記載の３次元応用プログラムフレームワーク構造。
【請求項４】
請求項１による３次元応用プログラムフレームワークを基盤とするアプリケーション具現方法において、
ａ）前記モデル選択処理コンポーネント、前記機能管理コンポーネント及び前記フレームワークシステムを含む基本フレームワークを開発ツール（コンピューター）に組み込む段階；
ｂ）前記開発ツールで開発者定義の作業プロジェクトを生成し、３次元応用プログラム実行の際、メーンウィンドウ、ビューウィンドウ、メニュー、ツールバーを処理する使用者メーンモジュールを具現する段階；
ｃ）前記ｂ）段階で具現された前記使用者メーンモジュールを前記フレームワークシステムに結合する段階；
ｄ）使用者モデル管理機能、モデリング機能、表示機能、レンダリング機能及びＧＵＩ機能を確張して前記基本フレームワークに登録する段階；及び
ｅ）前記拡張登録された機能の実行、制御のための使用者機能を具現して前記基本フレームワークに付け加える段階を含むことを特徴とする、３次元応用プログラムフレームワーク構造を基盤とするアプリケーション具現方法。
【請求項５】
前記ｄ）段階のモデリング機能は、３次元モデルデータを管理するモデリングカーネル及び３次元モデリングユーティリティーを備えるモデリングカーネルとともに前記使用者拡張コンポーネントを通じてモデルデータを受けてモデリング作業を行い；
前記表示機能は、前記モデリング機能に基づく多様な種類のモデルディスプレイ及び現在選択されたモデルのビューイングを支援し；
前記レンダリング機能は、レンダリングツールを支援し、前記ディスプレイ制御によって画面に該当モデルを表示する機能であり；
前記ＧＵＩ機能は、モデルディスプレイ、選択及びビューイングなどの動作に関連して使用者とのインターフェースを提供し、使用者のＧＵＩ操作によるイベントを発生させることを特徴とする、請求項４に記載の３次元応用プログラムフレームワーク構造を基盤とするアプリケーション具現方法。
【請求項６】
請求項１による３次元応用プログラムを具現するためのフレームワークに対する３次元応用ソフトウェアをテストするシステムにおいて、
使用者の機能実行記録に基づいて生成された少なくとも一つ以上のテストケースを保存するデータベース（Ｄａｔａ  Ｂａｓｅ−ＤＢ）；
使用者の機能実行を記録し、前記ＤＢに記録された該当テストケースに基づいて３次元応用ソフトウェアに対して自動テストを行い、その実行結果を使用者に提供する自動テスト処理器；
単位機能自動テストとプロセステストの各段階別に前記ＤＢに保存されたモデルデータと比較／検証し、その検証結果を前記自動テスト処理器に知らせるモデルテストコンポーネント；及び
使用者による自動テストを感知すれば、使用者の要請によって前記自動テスト処理器の動作方式を設定し、前記自動テスト処理器の動作を実行させる自動テスト制御器を含むことを特徴とする、３次元応用ソフトウェアフレームワーク基盤の自動テストシステム。
【請求項７】
前記自動テスト処理器は、プロセステストが実行される場合、使用者の応用ソフトウェア操作を記録して前記ＤＢにテストケースを生成／保存させ、前記ＤＢに記録された該当テストケースに基づいて３次元応用プログラムに対してプロセステストを実行することを特徴とする、請求項６に記載の３次元応用ソフトウェアフレームワーク基盤の自動テストシステム。
【請求項８】
前記自動テスト処理器は、前記機能管理コンポーネントのフレームワーク処理器を基盤として具現され、前記機能管理コンポーネントのフレームワーク処理器を取り替えることで３次元応用ソフトウェアに単位機能自動テスト及びプロセステストの処理機能を付け加えるように構成されることを特徴とする、請求項６または７に記載の３次元応用ソフトウェアフレームワーク基盤の自動テストシステム。
【請求項９】
前記自動テスト制御器は、前記使用者機能モジュールに組み込まれるか付け加えられ、３次元応用ソフトウェアに単位機能自動テスト及びプロセステストの制御機能を付け加えるように構成されることを特徴とする、請求項６に記載の３次元応用ソフトウェアフレームワーク基盤の自動テストシステム。
【請求項１０】
前記モデルテストコンポーネントは、３次元モデリングカーネルを基盤として具現され、前記３次元モデリングカーネルを取り替えることで３次元応用ソフトウェアに対してプロセステストの各テスト段階別に比較／検証機能を付け加え、前記データベース（ＤＢ）に保存されたモデルデータより精度が向上するように構成されることを特徴とする、請求項６に記載の３次元応用ソフトウェアフレームワーク基盤の自動テストシステム。
【請求項１１】
請求項１による３次元応用プログラムを具現するためのフレームワークに対する３次元応用ソフトウェアをテストする方法において、
ａ）自動テストの実行を判断する段階；
ｂ）自動テストの実行と判断されれば、使用者の機能実行を記録する段階；
ｃ）前記記録された使用者の機能実行によって該当テストケースを生成して保存する段階；
ｄ）前記生成／保存された該当テストケースに基づいて３次元応用ソフトウェアをテストする段階；及び
ｅ）前記テスト結果を使用者に提供する段階を含むことを特徴とする、３次元応用ソフトウェアフレームワーク基盤の自動テスト方法。
【請求項１２】
ｆ）使用者による自動テストを感知すれば、使用者の要請によって前記自動テスト処理方式を設定する段階をさらに含むことを特徴とする、請求項１１に記載の３次元応用ソフトウェアフレームワーク基盤の自動テスト方法。
【請求項１３】
前記ｄ）段階は、ｄ−１）プロセステストの実行と判断されれば、使用者の応用ソフトウェア操作を記録して該当テストケースを生成／保存させる過程；及び
ｄ−２）前記テストケースに基づいて３次元応用プログラムに対してプロセステストを実行する過程を含むことを特徴とする、請求項１１に記載の３次元応用ソフトウェアフレームワーク基盤の自動テスト方法。
【請求項１４】
ｄ−３）プロセステストの各テスト段階別に前記データベース（ＤＢ）に保存されたモデルデータと比較／検証する過程；及び
ｄ−４）前記検証結果を該当テスト段階にフィードバックして使用者に通知する過程をさらに含むことを特徴とする、請求項１３に記載の３次元応用ソフトウェアフレームワーク基盤の自動テスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３次元応用プログラムに係り、特に３次元応用プログラムフレームワークを構成し、これを基盤とするアプリケーション具現方法と３次元応用ソフトウェアフレームワーク基盤の自動化したテスト技術に関する。
【背景技術】
【０００２】
現在、３次元映像及び３Ｄ映像のモデリングを支援するための技術が提示されており、これを基盤とする家電及び電子機器の商用化のための技術開発が活発になっている。家電及び電子機器における３次元映像及び３Ｄ映像のディスプレイ提供は該当コンテンツの開発が伴われなければならなく、このための多様な種類の３次元応用プログラムが提示されている。
【０００３】
前記多様な種類の３次元応用プログラムは固有のモデル及びこれに係わるモデリング機能を必要とし、共通的にモデルのレンダリング、ディスプレイ及びセレクション、Ｕｎｄｏ／Ｒｅｄｏ  Ｆｕｎｃｔｉｏｎ管理機能などを必要とする。３次元応用プログラムはＣＡＤ、ゲーム分野はもちろんのこと、企業Ｒ＆Ｄの重要性が高くなってＣＡＥシステム分野への導入が活発に増加している。
【０００４】
また、３次元モデリングのための専用解釈システム開発需要の増加はもちろんのこと、工学分野以外にも、医学、教育、バーチャルリアリティーなどのような３次元モデリング応用プログラムの開発分野に拡がっている。現在商用化した３次元応用プログラムフレームワーク製品としては、アメリカのＴｅｃｈ  Ｓｏｆｔ  ３Ｄ社（ｗｗｗ．ｔｅｃｈｓｏｆｔ３ｄ．ｃｏｍ）のＨＯＯＰＳがあり、類似分野の関連商用化製品としてノルウェーのＣｅｅｔｒｏｎ  ＡＳＡ社（ｗｗｗ．ｃｅｅｔｒｏｎ．ｃｏｍ）のＧＬＶｉｅｗ、アメリカのＣｏｄｅｊｏｃｋ  Ｓｏｆｔｗａｒｅ社（ｗｗｗ．ｃｏｄｅｊｏｃｋ．ｃｏｍ）のＥｘｔｒｅｍｅ  Ｔｏｏｌｋｉｔなどがある。
【０００５】
ここで、３次元応用プログラムは固有のモデル及びこれに係わるモデリング機能を必要とし、共通的にモデルのレンダリング、ディスプレイ及びセレクション、Ｕｎｄｏ／Ｒｅｄｏ  Ｆｕｎｃｔｉｏｎ管理機能などを必要とする。特に、３次元応用プログラムにおいて、大部分のモデリング機能は、ビューウィンドウ上でマウスによるモデル選択作業で始まり、一つの機能を遂行するために多段階の複雑なモデル選択作業が隋伴されるなど、モデル選択作業は３次元応用ソフトウェアの便宜性と生産性を決める重要な要素であると言える。
【０００６】
一方、近年、前述したような３次元モデリング応用プログラムに対する顧客の要求水準が高くなるにつれて、ソフトウェア開発期間と費用増加とともにプログラムのサイズが大きくなるため、品質確保方案がますます重要視されている。よって、今後の３次元モデリングのための開発道具及びコンポーネントの役目が非常に重要視されて関連市場は持続的に拡がると予想される。しかし、従来に提供されている３次元応用プログラムフレームワーク製品は基本的なＧＵＩライブラリのみを提供することはもちろんのこと、価格が高価であるため、事実上ＣＡＤ／ＣＡＭ／ＣＡＥ分野の高価の応用プログラムアプリケーションにだけ使用されている。すなわち、現在商用化した３次元応用プログラムは価格及び機能上の理由で、個人、研究所、中小企業などでは使いにくいという問題点がある。
【０００７】
このような問題点を解消するために、フレームワーク製品が開発されているが、これまでは使用上の困難さのため３次元モデリング応用プログラムの開発だけでなくて維持補修が難しいため、結局安定した駆動を期待しにくい実情である。よって、開発者が易しく使用可能なモデリング機能とＧＵＩ拡張によって安全性と機能性を確保することができる製品開発が要求され、さらに製品の信頼性向上のための自動テスト機能を付与しなければならない必要性がある。
【０００８】
すなわち、３次元モデリング応用ソフトウェアに対する顧客の要求水準が高くなるにつれてソフトウェア開発期間と費用増加はいうまでもなく、プログラムのサイズ大きくなるにつれて品質確保の方案がますます重要視されており、３次元モデリング応用ソフトウェアを開発する場合、その該当３次元モデリング応用ソフトウェアの性能と信頼性をテストする必要がある。
【０００９】
前述した自動テスト機能に対する技術としては、現在ホワイトボックス自動テスト技術とブラックボックス自動テスト技術が提示されている。前記ホワイトボックス自動テスト技術は、ソースコードに基づいてテストケースを自動で生成し、これを用いて応用ソフトウェアの性能と潜在的なエラーを自動でテストする技術である。
【００１０】
ここで、従来のホワイトボックス自動テスト技術は、ソースコードに基づいてテストケースを生成するため、無限な場合の数が存在する使用者のモデル選択動作に対して信頼性あるテストケース生成が不可能であるという問題点がある。また、従来のホワイトボックス自動テスト技術は、再生時に関数呼出し及び変数値調整を要することはもちろんのこと、ソースコード変更の際にテストケースを再生成しなければならない問題点がある。
【００１１】
そして、このような従来のホワイトボックス自動テスト技術は、ソースコード分析によってテストケースを生成するため、ビュー操作テストケース及びセレクションテストケースの生成ができなく、関数別入／出力データを保存しなければならないため、高容量のモデルデータの場合、メモリ容量が過度に増加し、適用ができないという問題点がある。
【００１２】
一方、前述したブラックボックス自動テスト技術は、使用者が操作したＧＵＩのイベントを記録してテストケースを生成し、再生することにより、該当応用ソフトウェアのテストを自動化する技術である。前記ブラックボックス自動テスト技術の一例としては、アメリカ登録特許０５３３５３４２号（名称：Ａｕｔｏｍａｔｅｄ  ｓｏｆｔｗａｒｅ  ｔｅｓｔｉｎｇ  ｓｙｓｔｅｍ）がある。この技術は、マウスとキーボードなどの使用者入力動作を記録し、その使用者入力による結果画面をイメージとして保存し、前記保存されたデータに基づいて使用者入力動作を再生して応用ソフトウェアのテストを自動化し、結果画面を保存されたイメージと比較することでテスト結果を検証する技術である。
【００１３】
しかし、従来のブラックボックス自動テスト技術は、マウスとキーボードなどの使用者入力動作を記録することでモデル選択動作を再演してテストすることはできるが、モデル選択結果に直接的な影響を及ぼす画面操作（例えば、回転、拡大／縮小、移動）速度とモデル選択の感度（範囲）及び方法などの使用者環境変数がテストケースの生成後に変更されれば同一作業結果を得ることができないため該当応用ソフトウェアの機能テストができないという問題点がある。
【００１４】
すなわち、使用者によるＧＵＩイベントを記録してテストケースを生成する従来のブラックボックス自動テスト技術は、該当ＧＵＩ要素識別子が変更されるか一つのＧＵＩ要素を多数に分離することによりＧＵＩが変更される場合には、テストケースを再生成しなければならない問題点がある。
【００１５】
また、従来のブラックボックス自動テスト技術は、使用者操作を記録してテストケースとして生成して再生するプロセステストと性能テストのみが可能であり、テスト結果の比較を画面イメージ比較によってだけ遂行するため、画面に表示されないデータの比較ができなく、複雑で多様な種類の構成要素を持つモデルデータは単純なイメージ比較だけではモデリングの有効でない結果エラーの分析と対処が難しいという問題点もある。
【００１６】
すなわち、従来のブラックボックス自動テスト技術は、ビュー操作処理速度によって結果が変わるため、イベントだけではビュー操作再演ができなく、ビュー操作の正確な再演ができなくてセレクションテストができないし、イメージのみを比較するものなので、グラフィックカード、背景色、モデルカラーなどの多くの要因によってモデルデータの比較ができなく、ＧＵＩイベント単位のテストであるため、正確なエラー地点の把握が難しいのはもちろんのこと、機能単位の検証及び分析が難しいという問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【００１７】
本発明は、３次元応用プログラムフレームワークの構造と、これを基盤として該当応用ソフトウェアの機能をテストすることができる自動化したテストシステムを構築している。前記のような３次元応用プログラムフレームワークの構造は開発者が使用者モデルまたは実際のモデリング機能とＧＵＩを容易に確張するようにして３次元モデリング応用プログラムの開発を容易に遂行し、応用プログラムの維持補修及び安定的な遂行を可能にする。
【課題を解決するための手段】
【００１８】
このように、本発明で提示する３次元応用プログラムフレームワーク構造は、３次元モデリングユーティリティー（Ｕｔｉｌｉｔｙ）を含む第１モデリング機能及びモデルデータを管理するモデリングカーネルを含む第１モデリングコンポーネントと、前記第１モデリングコンポーネントを基盤とする多様な種類のモデルディスプレイ及び現在選択されたモデルのビューイング（ｖｉｅｗｉｎｇ）（例えば、移動、回転、拡大など）を支援する第１ディスプレイコンポーネントと、前記第１ディスプレイコンポーネントに連結され、レンダリングツール（Ｒｅｎｄｅｒｉｎｇ  Ｔｏｏｌ）を支援する第１レンダリングコンポーネントと、前記第１モデリングコンポーネントに基づいて表示された多様な種類のモデル要素（例えば、点、線、面など）に対する選択処理を行うモデル選択処理コンポーネントと、モデルディスプレイ、選択及びビューイングなどの動作に関連して使用者とのインターフェースを提供する第１ＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）コンポーネントと、使用者がモデリング機能、表示機能、レンダリング機能及びＧＵＩ機能をアプリケーション開発時に具現して登録する使用者拡張コンポーネントと、前記使用者機能を管理、運営することにおいて、使用者のモデル選択作業を前記モデル選択処理コンポーネントに要請し、使用者機能のＧＵＩ制御のために前記ＧＵＩコムポノントを制御する機能管理コンポーネントと、３次元応用プログラム実行の際のメーンウィンドウ、ビューウィンドウ、メニュー、ツールバーなどを処理するために３次元応用プログラム開発の際に具現する使用者メーンモジュールと前記各コンポーネントの連結及び各コンポーネント間の連結を遂行し、イベント及びシステム環境管理とともに各コンポーネントの動作を制御するフレームワークシステム（ｆｒａｍｅｗｏｒｋ  ｓｙｓｔｅｍ）とを含む。
【００１９】
具体的に、前記第１モデリングコンポーネントは、多数の大容量モデルデータを管理するモデリングカーネルと、３次元モデリングユーティリティーを含むモデリング機能コンポーネントを含み、前記レンダリングコンポーネントはＯｐｅｎＧＬ、ＤｉｒｅｃｔＸなどのレンダリングツールを含む。
【００２０】
また、前記使用者拡張コンポーネントは、前記フレームワークシステムと結合される使用者メーンモジュールと、アプリケーションの開発者（以下、‘開発者’だという）が拡張具現した実際のモデリング機能及びその他のソフトウェア作動機能などの使用者機能を登録する使用者機能モジュールと、開発者の必要に応ずるように拡張登録される第２モデリングコンポーネントと、多様な種類のモデルディスプレイ及び現在選択されたモデルのビューイングを支援するように開発者によって拡張登録される第２ディスプレイコンポーネントと、開発者の必要に応じるように確張したレンダリングツールを登録する第２レンダリングコンポーネントと、使用者とのインターフェースを確張するように開発者が具現する第２ＧＵＩコンポーネントとを含む。
【００２１】
一方、本発明は３次元応用プログラムフレームワーク構造を基盤とするアプリケーション具現方法を提示し、これを達成するために、３次元応用プログラム開発に基本的に必要な構成要素として、機能管理コンポーネント、モデル選択処理コンポーネント、及び３次元応用プログラム実行の際にメーンウィンドウ、ビューウィンドウ、メニュー、ツールバーなどの処理のための使用者メーンモジュールを前記コンポーネントと結合させるフレームワークシステムを含む基本フレームワークを組み込む段階と、３次元応用プログラム実行の際、メーンウィンドウ、ビューウィンドウ、メニュー、ツールバーなどを処理するように開発者が作業プロジェクトを生成して使用者メーンモジュールを具現する段階と、前記基本フレームワークを使用者メーンモジュールと結合する段階と、開発者が使用者モデルデータ管理機能、モデリング機能、表示機能及びＧＵＩ機能を確張して前記基本フレームワークに登録する段階と、前記拡張登録された機能を実行、制御するための使用者機能を具現して前記基本フレームワークに付け加える使用者機能具現段階とを含む。
【００２２】
一方、本発明は、３次元応用プログラムフレームワーク構造またはこれを基盤とするアプリケーションに対する自動化したテストシステムを構築する。前述した自動化したテストシステムは、使用者作業履歴を記録してテストケースを自動生成することで、環境変数（ｐｒｅｆｅｒｅｎｃｅ）変更の際にもビュー操作及びセレクションの正確な再演及び検証が可能であるのはもちろんのこと、機能単位で結果モデルデータの比較検証、機能単位の性能及び正確なエラー地点の把握などのような機能単位のテストが可能である。
【００２３】
本発明によるテストシステムとして、使用者メーンモジュール、使用者機能モジュールと、機能管理コンポーネント、モデル選択処理コンポーネント、使用者拡張が可能なコンポーネントを含み、コンポーネントの動作を制御するフレームワークシステムで構成された３次元応用プログラムフレームワーク構造の３次元応用ソフトウェアをテストするシステムにおいて、少なくとも一つ以上のテストケースを保存するデータベース（ＤＢ）と、単位機能のテストケースを生成し、その生成されたテストケースを前記ＤＢに保存し、ＧＵＩに対するテストを実行するＧＵＩ自動テストコンポーネントと、単位機能自動テストまたはプロセステストが実行されれば、前記ＤＢに記録された該当テストケースに基づいて３次元応用ソフトウェアに対して自動テストを実行し、その実行結果を使用者に提供する自動テスト処理器と、単位機能自動テストとプロセステストで各テスト段階別に前記ＤＢに保存されたモデルデータと比較／検証し、その検証結果を前記自動テスト処理器に知らせるモデルテストコンポーネントと、使用者による自動テストを感知すれば、前記自動テスト処理器の動作を実行させる自動テスト制御器とを含む。
【００２４】
ここで、前記自動テスト処理器は、単位機能の自動テストが実行されれば、前記ＧＵＩ自動テストコンポーネントを実行させ、該当テストケースを生成／保存させ、前記ＤＢに記録された該当テストケースに基づいて３次元応用ソフトウェアに対して単位機能の自動テストを実行し、プロセステストが実行されれば、使用者の応用ソフトウェア操作を記録して前記ＤＢにテストケースを生成／保存させ、前記ＤＢに記録された該当テストケースに基づいて３次元応用ソフトウェアに対してプロセステストを実行し、前記実行結果を使用者に提供するように構成される。
【００２５】
そして、前記自動テスト制御器は、前記使用者機能モジュールに組み込まれ（付け加えられ）、３次元応用ソフトウェアに単位機能自動テスト及びプロセステストの制御機能を付け加えるように構成される。
【００２６】
前記自動テスト処理器は、機能管理コンポーネントのフレームワーク処理器を基盤として具現され、前記機能管理コンポーネントのフレームワーク処理器を取り替えることで、３次元応用ソフトウェアに単位機能自動テスト及びプロセステストの処理機能を付け加えるように構成される。
【００２７】
前記ＧＵＩ自動テストコンポーネントはＧＵＩコンポーネントを基盤として具現され、前記ＧＵＩコンポーネントを取り替えることで、３次元応用ソフトウェアに単位機能自動テストのためのサンプリング値によるテストケース生成機能とＧＵＩテスト機能を付け加えるように構成される。
【００２８】
前記モデルテストコンポーネントは３次元モデリングカーネルを基盤として具現され、前記３次元モデリングカーネルを取り替えることで、３次元応用ソフトウェアに単位機能自動テストとプロセステストの各テスト段階別にＤＢに保存されたモデルデータとのより精密な比較／検証機能を付け加えるように構成される。
【００２９】
一方、本発明によるテスト方法は、自動テストの実行を判断する段階と、自動テストの実行と判断されれば、該当テストケースを生成して保存する段階と、前記生成／保存された該当テストケースに基づいて３次元応用ソフトウェアをテストする段階と、前記テスト結果を使用者に提供する段階とを含む。
【００３０】
前記３次元応用ソフトウェアをテストする段階は、プロセステストが実行されれば、使用者の応用ソフトウェア操作を記録して該当テストケースを生成／保存させる過程と、前記テストケースに基づいて３次元応用プログラムに対してプロセステストを実行する過程とからなる。
【００３１】
前記３次元応用ソフトウェアをテストする段階は、プロセステストの各テスト段階別に前記ＤＢに保存されたモデルデータと比較／検証する過程と、前記検証結果を該当テスト段階にフィードバックして使用者に通知する過程とをさらに含む。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施例のための基本フレームワーク構造を示す図である。
【図２】本発明の実施例において使用者拡張コンポーネントの構造を示す図である。
【図３】本発明の実施例において使用者拡張コンポーネントの具現過程を示す信号フローチャートである。
【図４】図３の過程によって具現された応用プログラムフレームワーク構造を示す図である。
【図５】本発明の実施例のための自動テストシステムのブロック構成図である。
【図６】本発明の実施例において３次元モデリング応用ソフトウェア自動テストのための連結関係を示す図である。
【図７】本発明の実施例において単位機能テスト過程を示す信号フローチャートである。
【図８】本発明の実施例においてプロセステストケース生成過程を示す信号フローチャートである。
【図９】本発明の実施例においてプロセステスト過程を示す信号フローチャートである。
【発明を実施するための形態】
【００３３】
以下、本発明の実施例による３次元応用プログラムフレームワーク構造を添付の例示図面に基づいて詳細に説明すれば次のようである。
【００３４】
図１は本発明の実施例のための基本フレームワーク構造を示す図である。図示のように、３次元モデリングユーティリティーを含み、モデリング作業を行うモデリング機能コンポーネント１３１と、多数の３次元モデルデータを管理し、前記モデリング作業結果を該当モデルデータに反映するモデリングカーネル１３２と、ｏｐｅｎＧＬ、ＤｉｒｅｃｔＸなどのようなレンダリングツールを支援するレンダリングコンポーネント１４２と、前記モデリングカーネル１３２のモデルデータに基づいて多様な種類のモデルディスプレイ及びビューイング（例えば、移動、回転、拡大など）を支援し、画面出力用データを前記レンダリングコンポーネント１４２に伝達するディスプレイコンポーネント１４１と、前記モデリングカーネル１３２に基づいて表示されたモデルに対する選択処理を行うためのモデル選択処理コンポーネント１４３と、モデルディスプレイ、選択及びビューイングなどの動作に関連して使用者とのインターフェースを提供するＧＵＩコンポーネント１５０と、Ｈｉｓｔｏｒｙ／Ｂａｔｃｈ  Ｏｐｅｒａｔｉｏｎ、Ｒｅｄｏ／Ｕｎｄｏなどの機能とともに使用者機能（例えば、モデリング機能）を支援することにおいて、使用者（プログラム開発者または作業者）のモデル選択作業を前記モデル選択処理コンポーネント１４３に要請し、前記ＧＵＩコンポーネント１５０を制御して使用者機能のＧＵＩを制御するための機能管理コンポーネント１２０と、使用者メーンモジュール（図１には図示せず）と各コンポーネントの連結及び各コンポーネント間の連結を遂行し、前記各コンポーネントの動作を制御するフレームワークシステム１１０とを含んでなる。
【００３５】
前記ＧＵＩコンポーネント１５０はプラットホームに独立して具現され、ＧＵＩプラットホームの代表的な例としては、ＭＦＣ（Ｍｉｃｒｏｓｏｆｔ  Ｆｏｕｎｄａｔｉｏｎ  Ｃｌａｓｓ）、ＱＴなどがある。前記ＭＦＣ（Ｍｉｃｒｏｓｏｆｔ  ｆｏｕｎｄａｔｉｏｎ  ｃｌａｓｓ）はウィンドウズ（登録商標）用応用プログラムの統合開発環境であるマイクロソフトビジュアルＣ＋＋に附属するクラスライブラリであり、ウィンドウズ（登録商標）応用プログラム作成に有用な多くのクラスを提供する。
【００３６】
また、前記ＱＴはＧＵＩプログラム開発のためのクロスプラットホームウィジェットツールキットであり、主にＣ＋＋を使用するが、パイソン、ルビー、Ｃ、パール、パスカル（ｐａｓｃａｌ）へのバインディングを提供しており、ＳＱＬデータベース接近、ＸＭＬ処理、スレッド管理、単一クロスプラットホームファイル管理ＡＰＩを提供する。
【００３７】
前記ウィジェット（ｗｉｄｇｅｔ）は、一つ目、コンピューターで運営体系（ＯＳ）上の応用プログラムを動作させ、結果を画面に表示する小さなグラフィック使用者インターフェース（ＧＵＩ）道具を意味することができるか、二つ目、応用プログラム作成の際、よく用いる使用者中心のグラフィックとデータ処理プログラムを集めたライブラリを意味する。例えば、Ｘウィンドウがウィンドウ管理者によって互いに異なる形態を持つことはウィジェットライブラリが違うからである。現在、一番多く使用されるウィジェットライブラリはリナックスデスクトップ環境（ＫＤＥ）のＱＴライブラリとＧＮＯＭＥのＧＴＫ＋ライブラリがある。
【００３８】
図１の基本フレームワーク１００は本発明で提示したフレームワークに対応する。
【００３９】
前記のように、フレームワーク提供者が構成した図１の基本フレームワーク１００は３次元応用プログラム開発者（以下、‘開発者’と略称する）に提供される。
【００４０】
これにより、開発者は本発明の基本フレームワーク１００コンポーネントを必要によって確張するか新たに具現し、図２の使用者拡張コンポーネント２００を具現し、図１の基本フレームワーク１００と結合することで前記基本フレームワーク１００コンポーネントの機能を確張し、図４のようなフレームワーク構造を持つ３次元応用プログラムを易しく具現することができることにになる。
【００４１】
本発明の使用者拡張コンポーネント２００は、図２に示すように、開発者が具現しようとする３次元応用プログラムのフレームに相当し、３次元応用プログラム実行の際、メーンウィンドウ、ビューウィンドウ、メニュー、ツールバーなどを処理する使用者メーンモジュール２１０と、開発者が３次元応用プログラムの作動機能（モデリング、ディスプレイ操作機能など）を具現して登録する使用者機能モジュール２２０と、開発者が確張した３次元モデリングユーティリティーを含むモデリング機能コンポーネント２３１と、開発者が確張した３次元モデルデータを管理するモデリングカーネル２３２と、前記モデリングカーネル２３２を基盤として開発者が確張した多様な種類のモデルディスプレイ及びビューイング（例えば、移動、回転、拡大など）を支援するディスプレイコンポーネント２４１と、開発者が拡張登録したレンダリングツールを支援するレンダリングコンポーネント２４２と、開発者が確張したモデルディスプレイ、選択及びビューイングなどの動作に関連して使用者とのインターフェースを提供するＧＵＩコンポーネント２５０とを含んでなる。
【００４２】
したがって、本発明の実施例において、図２の使用者拡張コンポーネント２００を具現する動作を図３の信号フローチャートを参照して詳細に説明すれば次のようである。
【００４３】
図３は使用者拡張コンポーネントの具現のための信号フローチャートである。同図に示すように、Ｓ１段階で、開発ツールに基本フレームワーク１００が組み込まれた後、開発者定義の作業プロジェクトを生成し、３次元応用プログラムの機能選択及び作業進行のための使用者メーンモジュール２１０を具現する。
【００４４】
そして、Ｓ２段階に進み、基本フレームワーク１００と使用者メーンモジュール２１０を連結し、Ｓ３段階で、開発者が前記基本フレームワーク１００に含まれない使用者モデル、モデリング機能、表示機能及びＧＵＩ機能を確張して前記基本フレームワーク１００に登録する。その後、Ｓ４段階に進み、前記拡張登録された機能を実行、制御するための使用者機能を具現して前記基本フレームワーク１００に付け加えることで、使用者機能を具現する。
【００４５】
これを具体的に説明すれば、まず、図１の構造の基本フレームワーク１００を購入した開発者は開発ツール（例えば、コンピューター）に前記基本フレームワーク１００を組み込み、開発者定義のプロジェクトを生成し、自分が望む３次元応用プログラムに合うように、前記開発ツールを利用して使用者メーンモジュール２１０を具現することになる（Ｓ１）。前記基本フレームワーク１００は開発ツールで読み取る記録媒体、例えば、ＣＤ、ＤＶＤ、ＵＳＢメモリなどに記録されて開発者に提供されるか、インターネットなどの通信網を介して提供できる。前記使用者メーンモジュール２１０には、メニュー、ツールバー、メーンウィンドウ、ビューウィンドウ機能が含まれる。
【００４６】
その後、フレームワークを利用するために、前記生成された作業プロジェクトに前記基本フレームワーク１００を含め、前記具現された使用者メーンモジュール２１０に基本フレームワーク１００を連結することになる（Ｓ２）。
【００４７】
その後、開発者は基本フレームワーク１００に含まれない使用者モデル、モデリング機能、表示機能及びＧＵＩ機能を拡張具現し、これをフレームワークシステム１１０によってモデリングカーネル２３２、モデリング機能領域２３１、ディスプレイコンポーネント２４１、レンダリングコンポーネント２４２、ＧＵＩコンポーネント２５０に登録することで前記基本フレームワーク１００に結合させることになる（Ｓ３）。
【００４８】
また、開発者は前記過程（Ｓ１〜Ｓ３）で具現登録された機能を実行、制御するための使用者機能を具現し、その具現された使用者機能を使用者機能モジュール２２０に登録することにより、前記基本フレームワーク１００に結合させることになる（Ｓ４）。
【００４９】
したがって、前記のような過程で開発者が使用者拡張コンポーネント２００を基本フレームワーク１００と結合して前記基本フレームワーク１００を確張して登録すれば、最終に３次元応用プログラムフレームワーク構造が具現される。
【００５０】
前述した３次元応用プログラムフレームワーク構造は図４に示されている。これは、Ｈｉｓｔｏｒｙ／Ｂａｔｃｈ  Ｏｐｅｒａｔｉｏｎ、Ｒｅｄｏ／Ｕｎｄｏ、フレームワーク処理器などの機能を含むモデル具現及び登録機能を支援する機能管理コンポーネント４２０と、使用者が具現した３次元応用ソフトウェアの作動機能（モデリング、ディスプレイ操作機能など）を登録する使用者機能モジュール４３０と、３次元モデリングユーティリティーを含み、使用者が拡張可能な３次元モデリング機能コンポーネント４４１と、少なくとも一つ以上の３次元モデルデータを管理し、使用者が拡張可能な３次元モデリングカーネル４４２と、前記３次元モデリングカーネル４４２を基盤として多様な種類のモデルディスプレイ及びビューイング（例えば、移動、回転、拡大／縮小など）を支援し、使用者が拡張可能なディスプレイコンポーネント４５１と、ＯｐｅｎＧＬ、ＤｉｒｅｃｔＸなどのようなレンダリングツールを支援するように使用者が拡張可能なレンダリングコンポーネント４５２と、前記３次元モデリングカーネル４４２に基づいて表示されたモデルに対する選択処理を行うモデル選択処理コンポーネント４５３と、モデルディスプレイ、選択及びビューイングなどの動作に関連して使用者とのインターフェースを提供し、使用者が拡張可能なＧＵＩコンポーネント４６０と、使用者が具現しようとする３次元応用ソフトウェアのフレームに相当する使用者メーンモジュール４７０と、前記使用者メーンモジュール４７０と前記各コンポーネントを連結し、前記各コンポーネントの動作を制御するフレームワークシステム４１０とを含んでなる。
【００５１】
このような３次元応用ソフトウェアフレームワークを基盤として使用者応用ソフトウェアを開発する過程を詳細に説明すれば、開発者定義の作業プロジェクトを生成し、使用者メーンモジュール４７０を具現する段階と、フレームワークシステム４１０と前記使用者メーンモジュール４７０を連結する段階と、フレームワークの３次元モデリング機能コンポーネント４４１と３次元モデリングカーネル４４２とディスプレイコンポーネント４５１とレンダリングコンポーネント４５２とＧＵＩコンポーネント４６０を選択的に確張してフレームワークシステム４１０に登録する段階と、使用者機能を具現して機能管理コンポーネント４２０に登録する段階とからなる。ここで、使用者がフレームワークを基盤として応用ソフトウェアを開発する過程を詳細に説明すれば次のようである。
【００５２】
まず、３次元応用プログラムフレームワークを購入した開発者は、開発システム（例えば、コンピューター）に前記フレームワークを組み込んだ後、開発道具（例えば、マイクロソフト社のＶｉｓｕａｌ  Ｓｔｕｄｉｏ）を用いて使用者定義プロジェクトを生成し、自分が望む３次元応用ソフトウェアに合うように、前記開発道具を利用して使用者メーンモジュール４７０を具現することになる。前記使用者メーンモジュール４７０には、メニュー、ツールバー、メーンウィンドウ、ビューウィンドウなどが含まれる。
【００５３】
その後、フレームワークを利用するために、前記生成された作業プロジェクトに前記フレームワークを含ませ、前記具現された使用者メーンモジュール４７０にフレームワークシステム４１０を連結することになる。また、開発者はフレームワークコンポーネントで提供しない機能が必要な場合、フレームワークの３次元モデリング機能コンポーネント４４１と３次元モデリングカーネル４４２とディスプレイコンポーネント４５１とレンダリングコンポーネント４５２とＧＵＩコンポーネント４６０を選択的に確張してフレームワークシステム４１０に再登録することでフレームワークに結合して既存コンポーネントを取り替えることができる。
【００５４】
その後、開発者はフレームワークに含まれない使用者機能（例えば、モデル編集機能、モデル呼出し／保存機能、環境変数設定機能など）を具現して使用者機能モジュール４３０に登録することでフレームワークに結合させることになる。
【００５５】
したがって、開発者は前記のような過程で３次元応用ソフトウェアを具現することになり、前記のように具現された３次元応用ソフトウェアは商用化されて最終使用者（例えば、ＣＡＤ作業者、ＣＡＥ設計者など）に販売される。
【００５６】
ところが、図１の構成でなる基本フレームワークを開発者に提供し、開発者が３次元モデリングカーネル、モデリング機能、表示機能及びＧＵＩ機能を選択的に確張するようにする場合を例として説明したが、機能管理コンポーネント、モデル選択処理コンポーネント、使用者拡張コンポーネント、フレームワークシステムだけでなる基本フレームワークを開発者に提供することで、開発者が３次元モデリングカーネル、モデリング機能、表示機能及びＧＵＩ機能を付け加えるように具現することができる。
【００５７】
一方、前記のような過程によって一つの３次元応用プログラムが商用化されれば、その３次元応用プログラムを購入した最終使用者（以下、‘作業者’という）はその３次元応用プログラムを利用して所望のモデルを具現する作業を遂行する。前記の動作で具現した３次元応用プログラムを用いる作業過程を図示のフレームワーク構造を参照して説明すれば次のようである。
【００５８】
まず、作業者が３次元応用プログラムをコンピューター上で実行させれば、使用者メーンモジュール４７０に具現されたメーンウィンドウとビューウィンドウ、多様なメニュー、ツールバーなどを表示することになる。すなわち、作業者が３次元応用プログラムを実行させれば、使用者メーンモジュール４７０が３次元応用プログラムに必要な使用者機能を機能管理コンポーネント４２０に伝達し、３次元応用プログラムが初期化した後、前記使用者メーンモジュール４７０に具現されたメーンウィンドウ、ビューウィンドウ、メニュー、ツールバーなどが表示される。
【００５９】
その後、使用者メーンモジュール４７０は使用者入力をフレームワークシステム４１０に伝達し、前記フレームワークシステム４１０は前記使用者入力に対応する機能の実行のために機能管理コンポーネント４２０に要請し、使用者がツールバー、メニューなどを操作すれば、これに対応する機能の実行を前記機能管理コンポーネント４２０に要請することになる。
【００６０】
この際、前記機能管理コンポーネント４２０は使用者入力にあたる機能を使用者機能モジュール４３０で実行させ、ついで前記使用者機能モジュール４３０を通じて、前記実行された機能に相当するＧＵＩ要素の生成をＧＵＩコンポーネント４６０に要請するとともに使用者機能のＧＵＩ制御のために前記ＧＵＩコンポーネント１５０を制御する。
【００６１】
これにより、ＧＵＩコンポーネント４６０は該当ＧＵＩ要素を生成して画面に表示させ、使用者のＧＵＩ操作によって該当イベントを発生させ、機能管理コンポーネント４２０は前記イベントを対応の使用者機能に伝達する。
【００６２】
例えば、作業者がメニューやツールバーなどを利用して使用者機能の一つである‘モデリング機能’を実行させれば、機能管理コンポーネント４２０は使用者機能モジュール４３０を点検して要請されたモデリング機能を実行させ、ついで前記使用者機能モジュール４３０によってＧＵＩコンポーネント４６０を動作させることで該当モデリング機能画面を表示させることになる。
【００６３】
その後、作業者が所望のモデリング作業に対応するボタンをクリックすれば、ＧＵＩコンポーネント４６０を通じてイベントが発生して機能管理コンポーネント４２０に伝達され、前記機能管理コンポーネント４２０は前記イベントを使用者機能モジュール４３０に含まれた現在実行中のモデリング機能に伝送し、イベントを受けたモデリング機能はモデリング機能コンポーネント４４１のモデリングユーティリティーを利用してモデリングカーネル４４２に対して該当モデリング作業を遂行することになる。この際、モデリング作業結果をディスプレイコンポーネント４５１と連動して画面に表示することになる。
【００６４】
その後、作業者が画面に表示されたモデルのなかで自分が作業しようとする要素（例えば、点、線、面など）を選択することになる。この際、機能管理コンポーネント４２０は作業者の選択に対応して使用者機能モジュール４３０のなかで該当選択機能を捜して行い、モデル選択機能の実行によってモデル選択処理コンポーネント４５３がディスプレイコンポーネント４５１にある画面出力用モデルデータを利用して実際モデル選択動作を遂行し、ディスプレイコンポーネント４５１がレンダリングコンポーネント４５２を制御してモデル選択結果を画面に表示させることになる。
【００６５】
その後、使用者の操作によってモデリング作業が進むにつれて前記ディスプレイコンポーネント４４１が３次元モデリングカーネル４４２のモデリング作業が反映されたモデルデータを参考して画面出力用モデルデータを更新し、レンダリングコンポーネント４４２を制御して画面に該当モデリング作業の結果を表示させることになる。
【００６６】
これにより、作業者がマウスやキーボード、または対応するＧＵＩのボタンなどを用い、画面に表示されたモデルに対して修正（例えば、生成、削除、コピー、回転、移動、など）作業を行えば、機能管理コンポーネント４２０は前記動作に応じて使用者機能モジュール４３０に含まれた現在実行中のモデリング機能を制御することにより、３次元モデリング機能４４１によってモデリング作業を行って該当モデルに実際修正作業を遂行し、前記作業結果に３次元モデリングカーネル４４２にあるモデルデータを反映して作業者が望むモデルデータを製作することになる。
【００６７】
その後、ディスプレイコンポーネント４５１は、３次元モデリングカーネル４４２のモデリング作業結果が反映されたモデルデータを参考して画面出力用モデルデータを更新し、レンダリングコンポーネント４５２を制御してモデリング作業の結果画面を表示させることになる。
【００６８】
前記で詳細に説明したように、本発明による３次元応用プログラムフレームワークは３次元応用プログラムの開発から維持補修まで支援するシステムソリューションであり、これにより使用者は易しくて早く安定的に所望の３次元応用プログラムを製作することができる。
【００６９】
したがって、本発明はモデリングカーネル、ディスプレイ及びセレクションモジュールなどのコンポーネントを提供することにより、ＣＡＤ／ＣＡＭ／ＣＡＥ工学、ゲーム／映像処理、及びその他の地形処理分野などの３次元応用プログラムの開発期間及び費用を少なくとも４０％、特に維持補修費用の場合７０％以上を節減することができる効果を得ることができる。
【００７０】
すなわち、本発明は使用者が必須に具現しなければならないコンポーネントを提供することにより、使用者が数年にわたる作業によって分かる３次元応用プログラムに対するノーハウ（ｋｎｏｗ−ｈｏｗ）なしにも易しく３次元応用プログラムを開発するようにして作業時間を短縮させることができる効果がある。
【００７１】
また、本発明は使用者が必ず具現しなければならないコンポーネントを提供することにより、多数の作業を同時に行う場合にも共通に使用することができるので、メモリの最適化を極大化するのはもちろんのこと、使用者が具現しようとする固有業務に集中するようにして最上の応用プログラムを具現するようにする効果を提供する。
【００７２】
すると、前述した３次元応用プログラムフレームワーク構造を基盤とした自動テストシステムを詳細に説明する。まず、自動テストシステムは使用者による機能（ｆｕｎｃｔｉｏｎ）実行履歴を記録してテストケースを自動で生成することで、ＧＵＩ及びソースコード変更にかかわらずに前記テストケースを利用して該当応用ソフトウェアの機能をテストすることができることになる。
【００７３】
前述したように、本発明による自動テストシステムは図５のブロック図を参照して説明すれば次のようである。
【００７４】
まず、少なくとも一つ以上のテストケースを保存するＤＢ（Ｄａｔａ  Ｂａｓｅ）５４０と、単位機能のテストケースを自動で生成し、その生成されたテストケースを前記ＤＢ２４０に保存し、ＧＵＩに対するテストを実行するＧＵＩ自動テストコンポーネント５３０と、単位機能の自動テストが実行されれば、前記ＧＵＩ自動テストコンポーネント５３０を実行させて該当テストケースを自動で生成／保存させ、前記ＤＢ５４０に記録された該当テストケースに基づいて自動テスト対象であるフレームワーク構造の３次元応用プログラムに対して単位機能の自動テストを行い、プロセステストの実行であれば、使用者のすべての応用ソフトウェア操作を記録して前記ＤＢ５４０にテストケースを生成／保存させ、前記ＤＢ５４０に記録された該当テストケースに基づいて自動テスト対象であるフレームワーク構造の３次元応用プログラムに対してプロセステストを行い、前記実行結果を使用者に提供する自動テスト処理器５２０と、単位機能自動テストとプロセステストで各テスト段階別に前記ＤＢ５４０に保存されたモデルデータと比較／検証し、その検証結果を前記自動テスト処理器５２０に知らせるモデルテストコンポーネント５５０と、使用者による自動テストを感知すれば、前記自動テスト処理器５２０の動作を実行させ、使用者の設定によるテスト方法で前記自動テスト処理器５２０を制御する自動テスト制御器５１０とを含んでなる。
【００７５】
前記構成の自動テスターシステムはフレームワーク基盤の３次元応用ソフトウェアをテストするためのシステムである。このように構成した本発明の実施例の動作及び作用効果を図６〜図９を参照して詳細に説明すれば次のようである。
【００７６】
図６は本発明の実施例においてフレームワーク基盤の自動テストシステムを具現方法と連結関係を示す図、図７は本発明の実施例において単位機能テスト過程を示す信号フローチャート、図８は本発明の実施例においてプロセステストケース生成過程を示す信号フローチャート、図９は本発明の実施例においてプロセステスト過程を示す信号フローチャートである。
【００７７】
まず、自動テストシステムの具現方法と役目を図６を参照して説明すれば、本発明において、３次元応用ソフトウェアフレームワークをテストすることができるようにフレームワーク基盤の自動テストシステムを具現し、自動テスト制御器５１０は３次元応用ソフトウェアに単位機能自動テスト及びプロセステストの制御機能を提供し、自動テスト処理器５２０はフレームワークの運営体制のような役目をする機能管理コンポーネント５２０のフレームワーク処理器を基盤として具現され、３次元応用ソフトウェアに単位機能自動テスト及びプロセステストの処理機能を提供し、ＧＵＩ自動テストコンポーネント５３０はＧＵＩコンポーネント５６０を基盤として具現され、３次元応用ソフトウェアの単位機能テストケースをＧＵＩの入力値に基づいて自動で生成し、このように生成されたテストケースによってＧＵＩを動作させることで単位機能自動テストを支援することになり、モデルテストコンポーネント５５０は３次元モデリングカーネル４４２を基盤として具現され、３次元応用ソフトウェアに単位機能自動テストとプロセステストの各テスト段階別にＤＢ５４０に保存された結果モデルデータとのより精密な比較／検証を遂行することになる。
【００７８】
このように具現された自動テストシステムをフレームワークに結合して取り替えることで、３次元応用ソフトウェアを自動テストすることができることになる。この過程を詳細に説明すれば次のようである。
【００７９】
前記フレームワーク基盤の３次元応用ソフトウェア開発者は、開発システム（例えば、コンピューター）に前記自動テストシステムを購入して組み込んだ後、作業プロジェクトに前記自動テストシステムを含ませる。
【００８０】
さらに、前記自動テスト制御器５１０をフレームワークの使用者機能モジュール４３０に付け加え、前記自動テスト処理器５２０をフレームワークに登録することで既存の機能管理コンポーネント４２０のフレームワーク処理器を取り替え、前記ＧＵＩ自動テストコンポーネント５３０をフレームワークに登録することで既存のフレームワークのＧＵＩコンポーネント４６０を取り替え、前記モデルテストコンポーネント５５０をフレームワークに登録することで既存のモデリングカーネル４４２を取り替えてフレームワークを基盤とする３次元応用ソフトウェアを自動テストすることができることになる。
【００８１】
したがって、図６のような構成を基盤として単位機能自動テスト過程を図４を参照して説明すれば次のようである。
【００８２】
使用者が使用者機能モジュール４３０に含まれたテスト対象機能を行い（Ｓ１１）やはり使用者機能モジュール４３０に含まれた自動テスト制御器５１０を実行し（Ｓ１２）、これにより単位機能テストを実行すれば（Ｓ１３）、自動テスト制御器５１０は自動テスト処理器５２０を実行させ、前記自動テスト処理器５２０はＧＵＩ自動テストコンポーネント５３０がテストケースを自動生成させる（Ｓ１４）。
【００８３】
前記ＧＵＩ自動テストコンポーネント５３０は該当単位機能のＧＵＩ入力値の場合によって一つ以上のテストケースを生成し、その生成されたテストケースをＤＢ５４０に保存することになる。
【００８４】
その後、自動テスト処理器５２０は、ＤＢ５４０に保存されたテストケースによってＧＵＩ自動テストコンポーネント５３０を利用してＧＵＩを動作させ、３次元応用プログラムに対して単位機能の自動テストを遂行し、モデルテストコンポーネント５５０は、単位機能自動テストの各テスト段階別に前記ＤＢ５４０に保存されたモデルデータと比較／検証し、その結果を前記自動テスト処理器５２０に知らせることになる。そして、自動テストの実行が完了すれば、自動テスト処理器５２０は前記テスト結果を出力して使用者に提供することになる。
【００８５】
また、図６のような構成を基盤としてプロセステスト過程を図８及び図９を参照して説明すれば次のようである。
【００８６】
図８のように、使用者が自動テスト制御器５１０の実行を要請すれば（Ｓ２１）、フレームワークの前記機能管理コンポーネント４２０は使用者機能モジュール４３０に含まれた自動テスト制御器５１０を実行し、使用者が自動テスト制御器５１０によって使用者作業記録を始めれば（Ｓ２２）、自動テスト処理器５２０は以後の全使用者のすべての作業（Ｓ２３）を記録してプロセステストケースを生成する。その詳細過程は次のようである。
【００８７】
自動テスト処理器５２０は、使用者のすべての応用プログラム操作によって（Ｓ２３）フレームワークでなされる使用者機能モジュール４３０の使用者機能実行過程をモニタリングし、その実行過程と環境変数などを保存し（Ｓ２４）、各実行段階別に３次元モデルのようなモデルデータとともに性能、メモリ使用量などの実行結果を保存することでプロセステストケースを生成することになる。
【００８８】
その後、使用者がテスト制御器５１０によって使用者作業の記録を中止すれば、テスト制御器５１０は生成されたプロセステストケースを前記ＤＢ５４０に登録することになる。そして、図９のように使用者が自動テスト制御器５１０を実行し、前記自動テスト制御器５１０によって図８の過程で生成されたプロセステストケースをＤＢ５４０から選択し（Ｓ３２）、プロセステストを実行させれば（Ｓ３３）、前記自動テスト制御器５１０は自動テスト処理器５２０を実行させることになり（Ｓ３４）、前記自動テスト処理器５２０は使用者が選択したテストケースに基づいて３次元応用プログラムに対してプロセステストを実行することになる。その詳細な過程は次のようである。
【００８９】
前記自動テスト制御器５１０は、選択されたテストケースを前記ＤＢ５４０から呼び出し（Ｓ３５）、テストケースの機能実行過程によって前記使用者機能モジュール４３０に含まれた使用者機能を実行して操作することをフレームワークの機能管理コンポーネント４２０に通知する（Ｓ３６）。
【００９０】
この際、機能の各実行過程が終わる度に（Ｓ３７）自動テスト処理器５２０は実行性能とメモリ使用量などを比較し、モデルテストコンポーネント５５０はテスト結果データを前記ＤＢ５４０に保存された結果データと精密に比較／検証し、その結果を前記自動テスト処理器５２０に知らせることになる。
【００９１】
その後、すべてのテスト過程を実行してプロセステストが完了すれば（Ｓ３９）、自動テスト処理器５２０は前記テスト実行結果をディスプレイに出力して使用者に提供することになる。
【００９２】
前記で詳細に説明したように、本発明による自動テストシステムは、３次元応用ソフトウェアフレームワークを基盤として３次元応用ソフトウェアの開発と配布バージョンでの自動テストを支援するシステムソリューションであり、これにより開発者は信頼性ある３次元応用ソフトウェアを易しくて早く開発することができる。
【００９３】
また、前記自動テストシステムは、既存の維持補修過程で手作業で繰り返し遂行された複雑な過程のプロセステストを自動化し、どの環境でも同一に繰り返しテストを遂行することで、３次元応用ソフトウェアの開発期間と費用を節減し品質を高めることができる。
【００９４】
特に、本発明は、単位機能テストとプロセステストによって３次元応用ソフトウェアのすべての機能に対して性能、メモリ、エラーなどをテストするのはもちろんのこと、テスト機能に影響を及ぼす使用者環境変数などを含むすべての実行環境を記録することで、３次元画面操作やモデル選択作業などの信頼性あるテストが難しい従来の自動テスト技術での問題点を補うことができ、３次元モデルのような複雑な結果データも正確に比較／分析して、使用者が速かにエラーを修正するように実質的に役立つ３次元応用ソフトウェアフレームワーク基盤の自動テストコンポーネントを提供することで、フレームワーク使用者が開発する３次元応用ソフトウェアに対して最小の努力で自動テスト機能を遂行することができる。
【００９５】
一方、前述した本発明の実施例は当業者の理解に役立てるための好適な実施例を提示したものであるだけで、本発明は前述した実施例によって限定されるか制限されるものではなく、本発明の技術的思想を逸脱しない範囲内で多様な変更及び修正が可能であるとともにこれを基盤とする他の実施例の具現も可能である。
【産業上の利用可能性】
【００９６】
前述したように、本発明による３次元応用プログラムフレームワーク構造及びこれを基盤とするアプリケーション具現方法、並びに３次元応用ソフトウェアフレームワーク基盤の自動テストシステム及びその方法は、使用者（開発者）が具現しなければならないイベント及びシステム環境管理及び機能を含むフレームワークを提供して、開発者が使用者モデル、必要とする実際のモデリング機能及びＧＵＩを容易に確張することができ、３次元モデリング応用プログラムの開発が効率的になされる開発インフラを構築することで基盤産業での適用価値が充分に高い。
【符号の説明】
【００９７】
１１０、４１０  フレームワークシステム
１２０、４２０  機能管理コンポーネント
１３１、２３１、４４１  モデリング機能コンポーネント
１３２、２３２、４４２  モデリングカーネル
１４１、２４１、４５１  ディスプレイコンポーネント
１４２、２４２、４５２  レンダリングコンポーネント
１４３、４５３  モデル選択処理コンポーネント
１５０、２５０、４６０  ＧＵＩコンポーネント
２１０、４７０  使用者メーンモジュール
２２０、４３０  使用者機能モジュール
５１０  自動テスト制御器
５２０  自動テスト処理器
５３０  ＧＵＩ自動テストコンポーネント
５４０  ＤＢ（Ｄａｔａ  Ｂａｓｅ）
５５０  モデルテストコンポーネント
【図１】
2011514600.tif 000003
【図２】
2011514600.tif 000004
【図３】
2011514600.tif 000005
【図４】
2011514600.tif 000006
【図５】
2011514600.tif 000007
【図６】
2011514600.tif 000008
【図７】
2011514600.tif 000009
【図８】
2011514600.tif 000010
【図９】
2011514600.tif 000011
【国際調査報告】
2011514600.tif 000012
2011514600.tif 000013
2011514600.tif 000014
2011514600.tif 000015