WO2009110725A2 - 3차원 응용프로그램 프레임워크 구조 및 이를 기반으로 하는 응용프로그램 구현 방법과, 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템 및 그 방법 - Google Patents

3차원 응용프로그램 프레임워크 구조 및 이를 기반으로 하는 응용프로그램 구현 방법과, 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템 및 그 방법 Download PDF

Info

Publication number
WO2009110725A2
WO2009110725A2 PCT/KR2009/001031 KR2009001031W WO2009110725A2 WO 2009110725 A2 WO2009110725 A2 WO 2009110725A2 KR 2009001031 W KR2009001031 W KR 2009001031W WO 2009110725 A2 WO2009110725 A2 WO 2009110725A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
function
test
framework
component
Prior art date
Application number
PCT/KR2009/001031
Other languages
English (en)
French (fr)
Other versions
WO2009110725A3 (ko
Inventor
정병수
Original Assignee
주식회사 코드에스이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020080019855A external-priority patent/KR100890861B1/ko
Priority claimed from KR1020080045885A external-priority patent/KR100949875B1/ko
Application filed by 주식회사 코드에스이 filed Critical 주식회사 코드에스이
Priority to JP2010549565A priority Critical patent/JP5192055B2/ja
Priority to US12/672,878 priority patent/US8676723B2/en
Publication of WO2009110725A2 publication Critical patent/WO2009110725A2/ko
Publication of WO2009110725A3 publication Critical patent/WO2009110725A3/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Definitions

  • the present invention relates to a three-dimensional application program, and more particularly, to a three-dimensional application program framework, an application program implementation method based on the same, and an automatic test technique based on the three-dimensional application software framework.
  • 3D applications require unique models and related modeling functions, and commonly require rendering, display and selection of models, and management of Undo / Redo functions.
  • Three-dimensional applications are actively introduced in the CAE system field due to the expansion of the importance of enterprise R & D as well as the CAD and game fields.
  • the 3D application program requires a unique model and related modeling functions, and commonly requires rendering, display and selection of models, and management of Undo / Redo functions.
  • most modeling functions begin with model selection by the mouse on the view window, which involves multiple steps of complex model selection to perform a single function. It is an important factor that determines the convenience and productivity of dimensional application software.
  • the white box automatic test technology is a technology for automatically generating test cases based on source code and automatically testing the performance and potential errors of application software.
  • the conventional white box automatic test technique has a problem in that it is impossible to generate a test case reliably for a user's model selection operation in which an infinite number of cases exist by generating a test case based on source code.
  • the conventional white box automatic test technique requires a function call and variable value adjustment when reproducing, as well as a problem of regenerating a test case when changing a source code.
  • the above-described black box automatic test technique is a technique for automating the test of the corresponding application software by recording and reproducing a test case by recording an event of a GUI operated by a user.
  • An example of the black box automatic test technique is US Patent No. 05335342 (name: Automated software testing system), which records user input operations such as a mouse and keyboard, and displays the result screen by the user input. It is a technique for verifying the test results by storing as, by reproducing the user input operation based on the stored data, automating the test of the application software, and comparing the result screen with the stored image.
  • the conventional black box automatic test technique can reproduce and test a model selection operation by recording user input operations such as a mouse and a keyboard, but screen operations (eg, rotation, enlargement / If the user environment variables such as the speed of reduction and movement and the sensitivity (range) and method of model selection are changed after the test case is generated, the same work result cannot be obtained, which makes it impossible to test the function of the application software.
  • the conventional black box automatic test technique of recording a GUI event by a user to generate a test case regenerates a test case when the GUI is changed by changing the corresponding GUI element identifier or separating one GUI element into several. There is a problem to be done.
  • the conventional black box automatic test technique can only perform process test and performance test that record and manipulate user's operation as a test case, and perform performance test only. It is impossible to compare, and there is a problem that model data having complex and diverse components is difficult to analyze and cope with invalid result errors of modeling by simply comparing images.
  • the present invention builds the structure of a 3D application program framework and an automated test system that can test the function of the application software based on the structure.
  • the structure of the 3D application framework allows developers to easily extend user models or actual modeling functions and GUIs to easily develop 3D modeling applications, and to maintain and perform stable application applications. Make it possible.
  • the 3D application framework structure proposed in the present invention includes a first modeling component including a first modeling function including a 3D modeling utility and a modeling kernel managing model data, and the first modeling component.
  • a first display component that supports various types of model display based on a modeling component and viewing (eg, moving, rotating, zooming, etc.) of the currently selected model, and connected to the first display component Model selection that performs a selection process for a first rendering component that supports a rendering tool and various kinds of model elements (eg, points, lines, faces, etc.) displayed based on the first modeling component.
  • a first GU providing a processing component and an interface with a user in connection with operations such as model display, selection, and viewing Graphical User Interface (I) component, user extension component that the user implements and registers modeling function, display function, rendering function and GUI function during application development, and user's model in managing and operating the user functions.
  • a framework system for controlling the operation of each component including event and system environment management, and connection between each component and the user main module implemented during the development of a 3D application program. It includes.
  • the first modeling component includes a modeling kernel that manages a large amount of model data, and a modeling function component including a 3D modeling utility, and the rendering component includes a rendering tool such as OpenGL and DirectX.
  • the user extension component may include user main modules coupled with the framework system, and user functions such as actual modeling functions and other software operation functions that are extended and implemented by a developer (hereinafter, referred to as a developer) of an application program.
  • a user function module to register, a second modeling component that is extended and registered according to the needs of the developer, a second display component that is extended and registered by the developer to support various kinds of model display and viewing of the currently selected model, A second rendering component that registers a rendering tool extended to meet the needs of the developer, and a second GUI component that the developer implements to extend the interface with the user.
  • the present invention proposes a method for implementing an application program based on the structure of the 3D application program framework, and in order to achieve the above, a functional management component, a model selection processing component, Installing a basic framework including a framework system that combines a user main module with the above components for processing a main window, a view window, a menu, a toolbar, and the like when the three-dimensional application is executed;
  • a work project project
  • a user main module to implement a user main module, combining the basic framework with the user main module, User model data management functions, modeling functions, display functions, and Registering a GUI function by extending the GUI function, and implementing a user function for executing and controlling the extended registered function, and adding the user function to the basic framework.
  • the present invention builds an automated test system for a 3D application framework structure or an application program based on the same.
  • the above-mentioned automated test system records the user's work history and automatically generates test cases to enable accurate reproduction and verification of view manipulation and selection even when changing preferences. For example, it is possible to test functional units such as performance of functional units and pinpoint error points.
  • Test system comprising a framework system for controlling the operation of components, including a user main module, a user function module, a function management component, a model selection processing component, and a user extensible component.
  • a system for testing three-dimensional application software of a dimensional application framework structure comprising: a database (DB) storing at least one or more test cases, a test case of a unit function, and storing the generated test cases in the DB
  • DB database
  • GUI automatic test component that performs a test on a GUI (Graphic User Interface)
  • an automatic test is executed on the 3D application software based on the corresponding test case recorded in the DB.
  • an automatic test processor for providing a function, a model test component for comparing / verifying the model data stored in the DB for each test step in the unit function automatic test and the process test, and notifying the automatic test processor of the verification result to the automatic test processor.
  • an automatic test controller for executing an operation of the automatic test processor upon detecting the automatic test.
  • the automatic test processor executes the GUI automatic test component to generate / store the corresponding test case when the automatic test of the unit function is executed, and based on the test case recorded in the DB, the unit for the 3D application software.
  • Automatic test of the function is executed, and when the process test is executed, the user's application software operation is recorded to generate / store the test case in the DB, and the 3D application software is based on the test case recorded in the DB.
  • the process test is executed, and the execution result is configured to be provided to the user.
  • the automatic test controller is inserted (added) into the user function module to configure a 3D application software to add a control function of unit function automatic test and process test.
  • the automatic test processor is implemented based on the framework processor of the function management component and is configured to add processing functions of the unit function automatic test and process test to the 3D application software by replacing the framework processor of the function management component.
  • the GUI automatic test component is implemented based on the GUI component and is configured to add the GUI test function and the test case generation function according to the sampling value for the unit function automatic test by replacing the GUI component.
  • the model test component is implemented based on the three-dimensional modeling kernel and replaces the three-dimensional modeling kernel so that a more precise comparison with the model data stored in the DB for each test step of automatic unit function test and process test in the three-dimensional application software / Configure to add verification.
  • the test method according to the present invention comprises the steps of determining the execution of the automatic test, and if it is determined that the execution of the automatic test, the step of generating and storing the test case, and based on the generated / stored test case three-dimensional application Testing the software and providing the test results to a user.
  • the testing of the 3D application software further includes a process of comparing / verifying the model data stored in the DB at each test step of the process test, and feeding back the verification result to the corresponding test step to notify the user. .
  • FIG. 1 is a view showing a basic framework structure for an embodiment of the present invention.
  • FIG. 2 is a view showing the structure of a user extension component in an embodiment of the present invention.
  • FIG. 3 is a signal flow diagram illustrating an implementation process of a user extension component in an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an application program framework structure implemented through the process of FIG. 3.
  • FIG. 5 is a block diagram of an automatic test system for an embodiment of the present invention.
  • FIG. 6 is a view showing a connection relationship for the three-dimensional modeling application software automatic test in an embodiment of the present invention.
  • FIG. 7 is a signal flow diagram illustrating a unit function test process according to an embodiment of the present invention.
  • FIG. 8 is a signal flow diagram illustrating a process test case generation process according to an embodiment of the present invention.
  • FIG. 9 is a signal flow diagram illustrating a process test process in an embodiment of the present invention.
  • Modeling kernel 141,241,451 Display component
  • GUI component 210,470 User main module
  • a modeling function component 131 including a three-dimensional modeling utility (Utility), and modeling to manage a plurality of three-dimensional model data and reflect the modeling work results to the model data to perform modeling work
  • a rendering tool such as the kernel 132, openGL, DirectX, etc.
  • various kinds of model display and viewing For example, the display component 141 supports moving, rotating, and zooming, and transmits screen output data to the rendering component 142, and the display model is selected based on the modeling kernel 132.
  • GU providing a model selection processing component 143 for performing processing, and an interface with a user in relation to operations such as model display, selection and viewing Model selection work of a user (program developer or worker) in supporting user functions (e.g., modeling functions), including the I (Graphic User Interface) component 150 and functions such as history / batch operation and redo / undo.
  • user functions e.g., modeling functions
  • I Graphic User Interface
  • the GUI component 150 is implemented independently of the platform, and typical examples of the GUI platform include Microsoft Foundation Class (MFC) and QT.
  • MFC Microsoft foundation class
  • QT QT
  • MFC Microsoft foundation class
  • Microsoft Visual C ++ is a class library included with Microsoft Visual C ++, which is an integrated development environment for Windows applications, and provides many classes useful for writing Windows applications.
  • QT is a cross-platform widget toolkit for GUI program development. It mainly uses C ++, but provides bindings to Python, Ruby, C, Perl, and Pascal. It provides SQL database access, XML processing, and thread management. It provides a single cross-platform file management API.
  • the widget may mean firstly a small graphical user interface (GUI) tool that runs an application on an operating system (OS) on a computer and displays the results on the screen, or second, at application writing time.
  • GUI graphical user interface
  • OS operating system
  • a library of frequently used user-oriented graphics and data processing programs For example, X windows look different depending on the window manager because the widget libraries are different.
  • the most popular widget libraries are the QT library of the Linux Desktop Environment (KDE) and the GTK + library of GNOME.
  • the basic framework 100 of FIG. 1 corresponds to the framework presented in the present invention.
  • the basic framework 100 of FIG. 1 configured by the framework provider as described above is provided to a 3D application program developer (hereinafter, referred to as a developer).
  • a developer 3D application program developer
  • the developer extends or newly implements the basic framework 100 component of the present invention as needed and implements the user extension component 200 of FIG. 2 to combine with the basic framework 100 of FIG. 1.
  • a 3D application program having a framework structure as shown in FIG. 4 may be easily implemented.
  • the user extension component 200 of the present invention corresponds to a framework of a 3D application program that a developer wishes to implement, and includes a main window, a view window, a menu, a toolbar, etc. when the 3D application is executed.
  • a modeling kernel 232 for managing 3D model data extended by a developer various types of models displayed by the developer based on the modeling kernel 232
  • Display component 241 that supports viewing (e.g., move, rotate, zoom, etc.), and renderer that supports rendering tools that have been registered by the developer.
  • the configuration including the Component (242) and, GUI (Graphic User Interface) component 250, which in relation to the operation of such a developer is expanded model display, selection and viewing provides an interface with the user.
  • FIG. 3 is a signal flow diagram for implementing a user extension component, as shown in FIG. 3, after the basic framework 100 is installed in the development tool in step S1, a developer-defined work project is generated, and a three-dimensional application program. Implement the user main module 210 for function selection and progress of work.
  • step S2 the basic framework 100 and the user main module 210 are connected, and in the step S3, the developer does not include the user model, modeling function, display function, and GUI in the basic framework 100.
  • the function is extended and registered in the basic framework 100. Thereafter, the process proceeds to step S4, by implementing a user function for executing and controlling the extension registered function to add to the basic framework 100, thereby implementing a user function.
  • a developer who purchases the basic framework 100 of FIG. 1 installs the basic framework 100 in a development tool (for example, a computer), and generates a developer-defined project.
  • the user main module 210 is implemented using the development tool in accordance with a desired 3D application program (S1).
  • the basic framework 100 may be provided as a recording medium that can be read by a development tool, for example, recorded on a CD, a DVD, a USB memory, etc., and provided to a developer, or may be provided through a communication network such as the Internet.
  • the user main module 210 includes a menu, a toolbar, a main window, and a view window function.
  • the basic framework 100 is included in the generated work project in order to use a framework, and the basic framework 100 is connected to the user main module 210 implemented above ( S2).
  • the developer extends and implements a user model, a modeling function, a display function, and a GUI function, which are not included in the basic framework 100, and the modeling kernel 232 and the modeling function area 231 through the framework system 110.
  • the display component 241, the rendering component 242, and the GUI component 250 are registered to the basic framework 100.
  • the developer implements a user function for executing and controlling the function registered and implemented in the processes (S1 to S3), and registers the implemented user function in the user function module 220 to the basic framework 100. It is coupled to (S4).
  • FIG. 4 includes a function management component 420 that supports model implementation and registration functions, including functions such as History / Batch Operation, Redo / Undo, and framework handlers. And a user function module 430 for registering an operation function (modeling, display manipulation function, etc.) of the 3D application software implemented by the user, and a 3D modeling utility, which can be extended by the user.
  • a function management component 420 that supports model implementation and registration functions, including functions such as History / Batch Operation, Redo / Undo, and framework handlers.
  • a user function module 430 for registering an operation function (modeling, display manipulation function, etc.) of the 3D application software implemented by the user, and a 3D modeling utility, which can be extended by the user.
  • a rendering component 452 that can be extended by a user to support a rendering tool, a model selection processing component 453 that performs selection processing on a displayed model based on the 3D modeling kernel 442, and a model display Provides an interface with the user in relation to operations such as selecting, viewing, and the like, and includes a user-friendly GUI (Graphic User Interface) component 460 and a user main corresponding to a framework of 3D application software to be implemented by the user.
  • Module 470, the user main module 470 and each component is connected to, and a framework system (framework system) (410) for controlling the operation of each component.
  • framework system framework system
  • the steps of creating a developer-defined work project, implementing the user main module 470, and the framework system ( 410 and connecting the user main module 470, the 3D modeling function component 441 and the 3D modeling kernel 442, the display component 451, the rendering component 452 and the GUI component of the framework.
  • FIG. the user will be described in detail the process of developing the application software based on the framework as follows.
  • a developer who purchases a 3D application framework installs the framework on a development system (eg, a computer), and then creates a custom project using a development tool (eg, Microsoft's Visual Studio).
  • a development tool eg, Microsoft's Visual Studio
  • the user main module 470 is implemented using the development tool in accordance with the desired 3D application software.
  • the user main module 470 includes a menu, a toolbar, a main window, a view window, and the like.
  • the framework is included in the generated work project in order to use a framework, and the framework system 410 is connected to the user main module 470 implemented in the above.
  • the framework's 3D modeling component 441 and the 3D modeling kernel 442 and the display component 451 and the rendering component 452 and the GUI component 460 Can optionally be extended to re-register with framework system 410 to couple to the framework and replace existing components.
  • the developer implements user functions not included in the framework (eg, model editing function, model import / save function, environment variable setting function, etc.), and registers them in the user function module 430 to be coupled to the framework. .
  • user functions not included in the framework eg, model editing function, model import / save function, environment variable setting function, etc.
  • the developer implements the 3D application software through the above process, and the 3D application software implemented as described above is commercialized and sold to the end user (eg, CAD worker, CAE designer, etc.).
  • a main window, a view window, various menus, a toolbar, etc. implemented in the user main module 470 are displayed. That is, when a worker executes a 3D application program, the user main module 470 transmits user functions required by the 3D application program to the function management component 420 and after the 3D application is initialized, the user main module 470. ), The main window, view window, menu, toolbar, etc. are displayed.
  • the user main module 470 transmits the user input to the framework system 410, and the framework system 410 requests the function management component 420 to execute a function corresponding to the user input.
  • the function management component 420 is requested to execute a corresponding function.
  • the function management component 420 executes a function corresponding to a user input in the user function module 430 and then generates a GUI element corresponding to the executed function through the user function module 430.
  • the GUI component 460 generates and displays the corresponding GUI element on the screen and generates the corresponding event according to the GUI operation of the user, and the function management component 420 transmits the event to the corresponding user function.
  • the function management component 420 checks the user function module 430 to execute the requested modeling function.
  • the GUI function 460 is operated through the user function module 430 to display a corresponding modeling function screen.
  • an event is generated through the GUI component 460 and transmitted to the function management component 420, and the function management component 420 transmits the event to a user function module.
  • the modeling function that is sent to the currently executing modeling function included in 430 and the event is transmitted to the modeling kernel 442 using the modeling utility of the modeling function component 441. In this case, the modeling operation result is displayed on the screen in association with the display component 451.
  • the operator selects an element (for example, a point, a line, a face, etc.) to be worked on by the model displayed on the screen, and the function management component 420 responds to the user's selection.
  • the model selection processing component 453 performs the actual model selection operation using the model data for display output in the display component 451 according to the execution of the model selection function.
  • the component 451 controls the rendering component 452 to display the model selection result on the screen.
  • the display component 441 updates model data for outputting the screen output by referring to model data reflecting the modeling operation of the 3D modeling kernel 442 and renders the rendering component 442. By controlling, the result of the modeling work is displayed on the screen.
  • the function management component 420 performs a modeling operation through the 3D modeling function 441 by controlling a modeling function currently executed in the user function module 430 in response to the above operation to perform an actual modification on the corresponding model.
  • a modification for example, creation, deletion, copying, rotating, moving, etc.
  • the function management component 420 performs a modeling operation through the 3D modeling function 441 by controlling a modeling function currently executed in the user function module 430 in response to the above operation to perform an actual modification on the corresponding model.
  • the display component 451 updates the model data for outputting the screen output by referring to the model data reflecting the modeling work result of the 3D modeling kernel 442 and controls the rendering component 452 to display the result screen of the modeling work. .
  • the three-dimensional application framework according to the present invention is a system solution that supports the development and maintenance of three-dimensional applications, through which the user can easily and quickly and stably create the desired three-dimensional application program have.
  • the present invention provides components such as a modeling kernel, a display and a selection module, thereby at least 40% in the development period and cost of three-dimensional applications such as CAD / CAM / CAE engineering, game / image processing, and other terrain processing. For example, maintenance costs can be reduced by more than 70%.
  • the present invention provides a component that must be implemented by the user so that the user can easily develop the 3D application without know-how about the 3D application that can be known through years of work. There is an effect that can shorten the working time.
  • the present invention provides a component that must be inevitably implemented by the user, which can be commonly used even when performing a plurality of tasks at the same time, thereby maximizing memory optimization and allowing the user to concentrate on the unique tasks to be implemented. It provides the effect that the application can be implemented.
  • the automatic test system automatically generates a test case by recording a function execution history by a user, so that the function of the corresponding application software can be tested using the test case regardless of GUI and source code change. .
  • a DB (DataBase) 540 storing at least one test case, a GUI for automatically generating test cases of unit functions, storing the generated test cases in the DB 240, and performing a test on the GUI.
  • the GUI automatic test component 530 is executed to automatically generate / store the corresponding test case and based on the test case recorded in the DB 540.
  • Automatic test of the unit function is executed for the three-dimensional application of the framework structure that is the automatic test target, and if the process test is executed, all the application software operations of the user are recorded to generate a test case in the DB 540.
  • the model test component 550 for verifying and notifying the automatic test processor 520 of the verification result, and when the automatic test is detected by the user, the operation of the automatic test processor 520 is executed and the test according to the user's setting is performed. It comprises a automatic test controller 510 for controlling the automatic test processor 520 in a method.
  • the automatic tester system of the above configuration is a system for testing framework-based three-dimensional application software.
  • FIG. 6 is a diagram illustrating a connection relationship between a method for implementing a framework-based automatic test system according to an embodiment of the present invention
  • FIG. 7 is a signal flowchart illustrating a unit function test process
  • FIG. 8 is an embodiment of the present invention.
  • 9 is a signal flowchart illustrating a process test case generation process in accordance with an embodiment of the present invention
  • FIG. 9 is a signal flowchart illustrating a process test process in an embodiment of the present invention.
  • an automatic test system based on a framework for testing a 3D application software framework is provided.
  • the automatic test processor 520 is implemented based on the framework processor of the functional management component 520, which acts as an operating system of the framework
  • the 3D application software provides a function of automatic unit function test and process test
  • the GUI automatic test component 530 is implemented based on the GUI component 560 to implement the unit function test case of the 3D application software.
  • the unit function automatic test is supported, and the model test component 550 is implemented based on the 3D modeling kernel 442, and the DB for each test step of the unit function automatic test and process test is applied to the 3D application software. A more precise comparison / verification with the result model data stored at 540 is performed.
  • the framework-based 3D application software developer purchases and installs the automatic test system in a development system (for example, a computer), and then includes the automatic test system in a work project.
  • a development system for example, a computer
  • the automatic test controller 510 is added to the user function module 430 of the framework, and the automatic test processor 520 is registered with the framework to replace the framework processor of the existing function management component 420.
  • the GUI automatic test component 530 By substituting the GUI automatic test component 530 with the framework, the GUI component 460 of the existing framework is replaced, and the model test component 550 is registered with the framework, thereby replacing the existing modeling kernel 442. It will automatically test 3D application software based on the framework.
  • the user executes the test target function included in the user function module 430 (S11) and also executes the automatic test controller 510 included in the user function module 430 (S12), thereby executing the unit function test.
  • the automatic test controller 510 executes the automatic test processor 520, and the automatic test processor 520 allows the GUI automatic test component 530 to automatically generate a test case.
  • the GUI automatic test component 530 generates one or more test cases according to the GUI input value of the unit function and stores the generated test cases in the DB 540.
  • the automatic test processor 520 operates the GUI using the GUI automatic test component 530 according to the test case stored in the DB 540, performs an automatic test of the unit function for the 3D application, and tests the model.
  • the component 550 compares / verifies the model data stored in the DB 540 for each test step of the unit function automatic test and notifies the automatic test processor 520 of the result.
  • the automatic test processor 520 outputs the test result and provides the result to the user.
  • the function management component 420 of the framework executes the automatic test controller 510 included in the user function module 430.
  • the automatic test processor 520 records all the tasks (S23) of all the users to create a process test case. Same as
  • the automatic test processor 520 monitors a user function execution process of the user function module 430 made in the framework according to all user application operations (S23), and stores the execution process and environment variables (S24), For each execution step, process test cases are generated by storing execution results such as performance and memory usage, including model data such as three-dimensional models.
  • the test controller 510 registers the generated process test case in the DB 540. Then, as shown in FIG. 9, the user executes the automatic test controller 510 and selects the process test case generated in the process of FIG. 8 through the automatic test controller 510 from the DB 540 (S32). When executed (S33), the automatic test controller 510 executes the automatic test processor 520 (S34), the automatic test processor 520 for the three-dimensional application based on the test case selected by the user The process test is executed.
  • the detailed process is as follows.
  • the automatic test controller 510 loads the selected test case from the DB 540 (S35), and executes and manipulates a user function included in the user function module 430 according to a function execution process of the test case.
  • the function management component 420 of the framework is notified. (S36).
  • the automatic test processor 520 compares execution performance and memory usage, and the model test component 550 compares the test result data with the result data stored in the DB 540. And compare and verify the result with the result and notify the automatic test processor 520 of the result.
  • the automatic test processor 520 outputs the test execution result to the display and provides the result to the user.
  • the automatic test system is a system solution that supports automatic testing in the development and distribution of three-dimensional application software based on the three-dimensional application software framework.
  • 3D application software can be developed easily and quickly.
  • the automated test system automates the process test of a complicated process that has been repeatedly performed manually by the existing maintenance process, and performs the same test repeatedly in any environment, thereby reducing the development period and cost of 3D application software. Savings and quality.
  • the present invention tests all the execution environment including the user environment variables affecting the test function as well as testing the performance, memory, error, etc. for all the functions of the 3D application software by unit function test and process test.
  • the problem can be solved in the conventional automatic test technique, which is difficult to reliably test such as 3D screen manipulation or model selection, and accurately compares / analyzes complex result data such as 3D model so that the user can quickly
  • the automatic test function can be performed with minimal effort on the 3D application software developed by the user of the framework.
  • the dimensional application framework structure and the method of implementing the application program based on the same, the automatic test system and the method based on the 3D application software framework, according to the present invention should be implemented by a user (developer)
  • a user developer
  • GUI graphical user interface

Abstract

본 발명에서 3차원 응용프로그램 프레임워크 구조 및 이를 기반으로 하는 응용프로그램 구현 방법과, 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템 및 그 방법을 개시한다. 본 발명에 따른 3차원 응용프로그램 프레임워크 구조를 통해, 사용자(개발자)가 구현하여야 할 이벤트 및 시스템 환경 관리 및 기능을 포함하는 프레임워크를 제공하여 개발자가 사용자 모델, 필요로 하는 실제의 모델링 기능 및 GUI(Graphic User Interface)를 용이하게 확장할 수 있다. 또한, 프레임워크 기반의 자동 테스트 시스템을 통해, 사용자에 의한 기능(function) 실행 이력을 기록하여 테스트 케이스를 자동 생성함으로 GUI 및 소스코드 변경에 상관없이 상기 테스트 케이스를 이용하여 해당 응용소프트웨어의 기능을 테스트할 수 있다.

Description

3차원 응용프로그램 프레임워크 구조 및 이를 기반으로 하는 응용프로그램 구현 방법과, 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템 및 그 방법
본 발명은 3차원 응용프로그램에 관한 것으로, 특히, 3차원 응용프로그램 프레임워크를 구성하고, 이를 기반으로 하는 응용프로그램 구현 방법과 3차원 응용소프트웨어 프레임워크 기반의 자동화된 테스트 기술에 관한 것이다.
현재 3차원 영상 및 3D 영상의 모델링을 지원하기 위한 기술이 제시되어 있으며, 이를 기반으로 하는 가전 및 전자기기의 상용화를 위한 기술 개발이 활발히 이루어지고 있다. 가전 및 전자기기에서의 3차원 영상 및 3D 영상의 디스플레이 제공은 해당 콘텐츠의 개발이 수반되어야 하며, 이를 위한 다양한 종류의 3차원 응용 프로그램이 제시되어 있다.
상기 다양한 종류의 3차원 응용프로그램은 고유의 모델 및 이와 관련한 모델링 기능을 필요로 하고, 공통적으로 모델의 렌더링(Rendering), 디스플레이(Display) 및 Selection, Undo/Redo Function 관리 기능 등을 필요로 한다. 3차원 응용프로그램은 CAD, 게임(Game) 분야는 물론 기업 R&D 중요성의 확대로 CAE 시스템 분야에 도입이 활발히 증가하고 있다.
또한, 3차원 모델링을 위한 전용 해석시스템 개발수요의 증가는 물론 공학분야 이외에도 의학, 교육, 가상현실 등과 같은 3차원 모델링 응용프로그램 개발분야로 확대되고 있다. 현재 상용화된 3차원 응용프로그램 프레임워크 제품으로는 미국 Tech Soft 3D사(www.techsoft3d.com)의 HOOPS가 있으며, 유사한 분야의 관련 상용화 제품으로 노르웨이 Ceetron ASA사(www.ceetron.com)의 GLView, 미국 Codejock Software사(www.codejock.com)의 ExtremeToolkit 등이 있다.
여기서, 3차원 응용프로그램은 고유의 모델 및 이와 관련한 모델링 기능을 필요로 하고, 공통적으로 모델의 렌더링(Rendering), 디스플레이(Display) 및 Selection, Undo/Redo Function 관리 기능 등을 필요로 한다. 특히, 3차원 응용프로그램에 있어서 대부분의 모델링 기능은 뷰윈도우 상에서 마우스에 의한 모델 선택 작업으로 시작되며, 하나의 기능을 수행하기 위해 여러 단계의 복잡한 모델 선택 작업이 수반되는 등, 모델 선택 작업은 3차원 응용소프트웨어의 편의성과 생산성을 결정하는 중요한 요소라 할 수 있다.
한편 근래에 들어, 전술된 3차원 모델링 응용프로그램에 대한 고객요구수준이 높아짐에 따라 소프트웨어 개발기간과 비용 증가는 물론 프로그램의 크기가 커짐에 따라 품질 확보 방안이 갈수록 중요해지고 있다. 따라서, 향후 3차원 모델링을 위한 개발도구 및 컴포넌트의 역할이 매우 중요시되고 관련 시장은 지속적으로 확대될 것으로 예상된다. 하지만, 종래에 제공되고 있는 3차원 응용프로그램 프레임워크 제품은 기본적인 GUI 라이브러리만이 제공되고 있는 것은 물론 가격이 고가임으로 사실상 CAD/CAM/CAE 분야의 고가의 응용프로그램에서만 사용되고 있다. 즉, 현재 상용화된 3차원 응용프로그램은 가격 및 기능상의 이유로 인해 개인, 연구소, 중소기업 등에서는 사용하기 어렵다는 문제점이 있다.
이러한 문제점들을 해소하기 위해 프레임워크 제품이 개발되고 있으나, 아직까지는 사용상의 어려움으로 인해 3차원 모델링 응용 프로그램의 개발은 물론, 유지보수가 어려워 결국 안정적인 구동을 기대하기 어려운 실정이다. 따라서, 개발자가 쉽게 사용할 수 있는 모델링 기능과 GUI 확장을 기반으로 안정성과 기능성을 확보할 수 있는 제품 개발이 요구되며, 더불어 제품의 신뢰성 향상을 위한 자동 테스트 기능을 부여해야 할 필요성이 있다.
즉, 3차원 모델링 응용소프트웨어에 대한 고객요구수준이 높아짐에 따라 소프트웨어 개발기간과 비용 증가는 물론 프로그램의 크기가 커짐에 따라 품질 확보 방안이 갈수록 중요해지고 있으며, 3차원 모델링 응용소프트웨어를 개발하는 경우 그 해당 3차원 모델링 응용소프트웨어의 성능과 신뢰성을 테스트할 필요가 있을 것이다.
전술된 자동 테스트 기능에 대한 기술로는, 현재 화이트박스 자동 테스트 기술과 블랙박스 자동 테스트 기술이 제시되어 있다. 상기 화이트박스 자동 테스트 기술은 소스 코드를 기반으로 테스트 케이스를 자동 생성하고 이를 이용하여 응용소프트웨어의 성능과 잠재적인 오류를 자동으로 테스트하는 기술이다.
여기서, 종래의 화이트박스 자동 테스트 기술은 소스코드를 기반으로 테스트 케이스를 생성함으로 무한한 경우의 수가 존재하는 사용자의 모델 선택 동작에 대해 신뢰성있는 테스트 케이스 생성이 불가능하다는 문제점이 있다. 또한, 종래의 화이트박스 자동 테스트 기술은 재생 시에 함수호출 및 변수 값 조정을 필요로 함은 물론 소스코드 변경 시에 테스트 케이스를 재생성하여야 하는 문제점이 있다.
그리고, 이러한 종래의 화이트박스 자동 테스트 기술은 소스코드 분석에 의해 테스트 케이스를 생성함으로 view 조작 테스트 케이스 및 selection 테스트 케이스의 생성이 불가능하고, 함수별 입/출력 데이터를 저장하여야 함으로 용량이 큰 모델 데이터의 경우 메모리 용량이 과도하게 증가하게 되어 적용이 불가능하다는 문제점이 있다.
한편 전술된 블랙박스 자동 테스트 기술은, 사용자가 조작한 GUI의 이벤트를 기록하여 테스트 케이스를 생성하고, 재생함으로써 해당 응용소프트웨어의 테스트를 자동화하는 기술이다. 상기 블랙박스 자동 테스트 기술의 일례로는 미국 등록특허 05335342호(명칭 : Automated software testing system)이 있는데, 이 기술은 마우스와 키보드 등의 사용자 입력동작을 기록하고, 그 사용자 입력에 의한 결과 화면을 이미지로 저장하여, 상기 저장된 데이터를 기반으로 사용자 입력 동작을 재생하여, 응용소프트웨어의 테스트를 자동화하고, 결과 화면을 저장된 이미지와 비교함으로써 테스트 결과를 검증하는 기술이다.
그러나, 종래의 블랙 박스 자동 테스트 기술은 마우스와 키보드 등의 사용자 입력 동작을 기록함으로써 모델 선택 동작을 재연하고 테스트할 수는 있으나, 모델 선택 결과에 직접적인 영향을 미치는 화면 조작(예로, 회전, 확대/축소, 이동) 속도와 모델 선택의 감도(범위) 및 방법 등의 사용자 환경변수가 테스트 케이스 생성 후에 변경되면 동일한 작업 결과를 얻을 수 없어 해당 응용소프트웨어의 기능 테스트가 불가능하다는 문제점이 있다.
즉, 사용자에 의한 GUI 이벤트를 기록하여 테스트 케이스를 생성하는 종래의 블랙 박스 자동 테스트 기술은 해당 GUI 요소 식별자가 변경되거나 하나의 GUI 요소를 여러 개로 분리함에 의해 GUI가 변경되는 경우에는 테스트 케이스를 재생성하여야 하는 문제점이 있다.
또한, 종래의 블랙박스 자동 테스트 기술은 사용자 조작을 기록하여 테스트 케이스로 생성하고 재생하는 프로세스 테스트와 성능 테스트만이 가능하며, 테스트 결과 비교를 화면 이미지 비교를 통해서만 수행하므로 화면에 표시되지 않는 데이터의 비교가 불가능하며, 복잡하고 다양한 구성 요소를 갖는 모델 데이터는 단순 이미지 비교만으로는 모델링의 유효하지 않은 결과 오류의 분석과 대처가 힘들다는 문제점도 있다.
즉, 종래의 블랙박스 자동 테스트 기술은 view 조작 처리 속도에 따라 결과가 달라짐으로 이벤트만으로는 view 조작 재연이 불가능하고, view 조작의 정확한 재연이 불가능함으로 selection 테스트가 불가능하며, 이미지만을 비교하는 것임으로 그래픽 카드, 배경색, 모델컬러 등의 많은 요인에 의해 모델 데이터의 비교가 불가능하고, GUI 이벤트 단위의 테스트임으로 정확한 오류 지점 파악이 어려움은 물론 기능 단위의 검증 및 분석이 어렵다는 문제점이 있다.
본 발명은 3차원 응용 프로그램 프레임워크의 구조와, 이를 기반으로 해당 응용 소프트웨어의 기능을 테스트할 수 있는 자동화된 테스트 시스템을 구축하고 있다. 상기한 3차원 응용 프로그램 프레임워크의 구조는 개발자가 사용자 모델 또는 실제의 모델링 기능과 GUI를 용이하게 확장토록 하여 3차원 모델링 응용 프로그램의 개발을 용이하게 수행하고, 응용 프로그램의 유지보수 및 안정적인 수행을 가능하도록 한다.
이와 같이, 본 발명에서 제시되는 3차원 응용 프로그램 프레임워크 구조는, 3차원 모델링 유틸리티(Utility)를 포함하는 제1 모델링 기능과 모델 데이터를 관리하는 모델링 커널을 포함하는 제1 모델링 컴포넌트와, 상기 제1 모델링 컴포넌트를 기반으로 하는 다양한 종류의 모델 디스플레이 및 현재 선택된 모델의 뷰잉(viewing)(예를 들어, 이동, 회전, 확대 등)을 지원하는 제1 디스플레이 컴포넌트와, 상기 제1 디스플레이 컴포넌트에 연결되어 렌더링 툴(Rendering Tool)을 지원하는 제1 렌더링 컴포넌트와, 상기 제1 모델링 컴포넌트를 기반으로 디스플레이된 다양한 종류의 모델 요소(예들 들어, 점, 선, 면 등)에 대한 선택 처리를 수행하는 모델선택처리 컴포넌트와, 모델 디스플레이, 선택 및 뷰잉 등의 동작에 관련하여 사용자와의 인터페이스를 제공하는 제1 GUI(Graphic User Interface) 컴포넌트와, 사용자가 모델링 기능, 디스플레이 기능, 렌더링 기능 및 GUI 기능을 응용프로그램 개발 시에 구현하여 등록할 사용자 확장 컴포넌트와, 상기 사용자 기능들을 관리, 운영함에 있어서, 사용자의 모델 선택 작업을 상기 모델선택처리 컴포넌트에 요청하며 사용자 기능의 GUI 제어를 위해 상기 GUI 컴포넌터를 제어하는 기능관리 컴포넌트와, 3차원 응용프로그램 실행 시의 메인윈도우, 뷰윈도우, 메뉴, 툴바 등을 처리하기 위해 3차원 응용프로그램 개발 시에 구현하는 사용자 메인모듈과 상기 각 컴포넌트의 연결 및 각 컴포넌트 간의 연결을 수행하고, 이벤트 및 시스템 환경 관리를 포함하여 각 컴포넌트의 동작을 제어하는 프레임워크 시스템(framework system)을 포함한다.
구체적으로, 상기 제1 모델링 컴포넌트는 다수의 대용량 모델 데이터를 관리하는 모델링 커널과, 3차원 모델링 유틸리티를 포함하는 모델링 기능 컴포넌트를 포함하며, 상기 렌더링 컴포넌트는 OpenGL, DirectX 등의 렌더링 툴을 포함한다.
또한, 상기 사용자 확장 컴포넌트는 상기 프레임워크 시스템과 결합되는 사용자 메인모듈과, 응용프로그램의 개발자(이하, '개발자'라 칭함)가 확장 구현한 실제의 모델링 기능 및 기타 소프트웨어 작동기능 등의 사용자 기능을 등록하는 사용자 기능 모듈과, 개발자의 필요에 맞게 확장 등록되는 제2 모델링 컴포넌트와, 다양한 종류의 모델 디스플레이 및 현재 선택된 모델의 뷰잉(viewing)을 지원하도록 개발자에 의해 확장 등록되는 제2 디스플레이 컴포넌트와, 개발자의 필요에 맞게 확장한 렌더링 툴(Rendering Tool)을 등록하는 제2 렌더링 컴포넌트와, 사용자와의 인터페이스를 확장하도록 개발자가 구현하는 제2 GUI 컴포넌트를 포함한다.
한편, 본 발명은 3차원 응용프로그램 프레임워크 구조를 기반으로 하는 응용프로그램 구현 방법을 제시하고 있으며 이를 달성하기 위하여, 3차원 응용프로그램 개발에 기본적으로 필요한 구성요소로서 기능관리 컴포넌트, 모델선택처리 컴포넌트 및 3차원 응용프로그램 실행 시에 메인윈도우, 뷰윈도우, 메뉴, 툴바 등의 처리를 위한 사용자 메인 모듈을 상기 컴포넌트들과 결합시키는 프레임워크 시스템을 포함하는 기본 프레임워크를 설치하는 단계와, 3차원 응용프로그램 실행 시 메인윈도우, 뷰윈도우, 메뉴, 툴바 등을 처리하도록 개발자가 작업 프로젝트(project)를 생성하여 사용자 메인모듈을 구현하는 단계와, 상기 기본 프레임워크를 사용자 메인모듈과 결합하는 단계와, 개발자가 사용자 모델 데이터 관리 기능, 모델링 기능, 디스플레이 기능 및 GUI 기능을 확장하여 상기 기본 프레임워크에 등록하는 단계와, 상기 확장 등록된 기능을 실행, 제어하기 위한 사용자 기능을 구현하여, 상기 기본 프레임워크에 추가하는 사용자 기능 구현 단계를 갖는다.
한편, 본 발명에서는 3차원 응용프로그램 프레임워크 구조 또는 이를 기반으로 하는 응용프로그램에 대한 자동화된 테스트 시스템을 구축한다. 전술된 자동화된 테스트 시스템은, 사용자 작업 이력을 기록하여 테스트 케이스를 자동 생성함으로 환경변수(preference) 변경 시에도 view 조작 및 selection의 정확한 재연 및 검증이 가능함은 물론 기능 단위로 결과 모델 데이터의 비교 검증, 기능 단위의 성능 및 정확한 오류 지점 파악 등과 같은 기능단위의 테스트가 가능하다.
본 발명에 따른 테스트 시스템으로써, 사용자 메인 모듈, 사용자 기능 모듈과, 기능관리 컴포넌트, 모델선택처리 컴포넌트, 사용자 확장이 가능한 컴포넌트들을 포함하여, 컴포넌트들의 동작을 제어하는 프레임워크(framework) 시스템으로 구성된 3차원 응용프로그램 프레임워크 구조의 3차원 응용소프트웨어를 테스트하는 시스템에 있어서, 적어도 하나 이상의 테스트 케이스를 저장하는 데이터베이스(DB)와, 단위 기능의 테스트 케이스를 생성하고 그 생성된 테스트 케이스를 상기 DB에 저장하며 GUI(Graphic User Interface)에 대한 테스트를 수행하는 GUI 자동테스트 컴포넌트와, 단위기능 자동 테스트 또는 프로세스 테스트가 실행되면 상기 DB에 기록된 해당 테스트 케이스를 기반으로 3차원 응용소프트웨어에 대해 자동 테스트를 실행하고 그 실행결과를 사용자에게 제공하는 자동 테스트 처리기와, 단위 기능 자동 테스트와 프로세스 테스트에서 각 테스트 단계별로 상기 DB에 저장된 모델 데이터와 비교/검증하고 그 검증결과를 상기 자동 테스트 처리기에 통보하는 모델 테스트 컴포넌트와, 사용자에 의한 자동 테스트를 감지하면 상기 자동 테스트 처리기의 동작을 실행시키는 자동테스트 제어기를 포함한다.
여기서, 상기 자동 테스트 처리기는 단위 기능의 자동 테스트가 실행되면 상기 GUI 자동테스트 컴포넌트를 실행시켜 해당 테스트 케이스를 생성/저장시키고, 상기 DB에 기록된 해당 테스트 케이스를 기반으로 3차원 응용소프트웨어에 대해 단위 기능의 자동 테스트를 실행하며, 프로세스 테스트가 실행되면, 사용자의 응용소프트웨어 조작을 기록하여 상기 DB에 테스트 케이스를 생성/저장시키고, 상기 DB에 기록된 해당 테스트 케이스를 기반으로 3차원 응용소프트웨어에 대해 프로세스 테스트를 실행하며, 상기 실행결과를 사용자에게 제공하도록 구성한다.
그리고, 상기 자동 테스트 제어기는 상기 사용자 기능 모듈에 삽입(추가)되어 3차원 응용소프트웨어에 단위 기능 자동 테스트 및 프로세스 테스트의 제어 기능을 추가시키도록 구성한다.
상기 자동 테스트 처리기는 기능관리 컴포넌트의 프레임워크 처리기를 기반으로 구현되고 상기 기능관리 컴포넌트의 프레임워크 처리기를 대체함으로써 3차원 응용소프트웨어에 단위 기능 자동 테스트 및 프로세스 테스트의 처리 기능을 추가시키도록 구성한다.
상기 GUI 자동테스트 컴포넌트는 GUI 컴포넌트를 기반으로 구현되고 상기 GUI 컴포넌트를 대체함으로써 3차원 응용소프트웨어에 단위 기능 자동 테스트를 위한 샘플링 값에 따른 테스트 케이스 생성 기능과 GUI 테스트 기능을 추가시키도록 구성한다.
상기 모델 테스트 컴포넌트는 3차원 모델링 커널을 기반으로 구현되고 상기 3차원 모델링 커널을 대체함으로써 3차원 응용소프트웨어에 단위 기능 자동 테스트와 프로세스 테스트의 각 테스트 단계별로 DB에 저장된 모델 데이터와의 보다 정밀한 비교/검증 기능을 추가시키도록 구성한다.
한편, 본 발명에 따른 테스트 방법은 자동 테스트의 실행을 판단하는 단계와, 자동 테스트의 실행으로 판단되면 해당 테스트 케이스를 생성하여 저장하는 단계와, 상기 생성/저장된 해당 테스트 케이스를 기반으로 3차원 응용소프트웨어를 테스트하는 단계와, 상기 테스트 결과를 사용자에게 제공하는 단계를 포함한다.
상기 3차원 응용소프트웨어를 테스트하는 단계는 프로세스 테스트가 실행되면 사용자의 응용소프트웨어 조작을 기록하여 해당 테스트 케이스를 생성/저장시키는 과정과, 상기 테스트 케이스를 기반으로 3차원 응용 프로그램에 대해 프로세스 테스트를 실행하는 과정으로 이루어진다.
상기 3차원 응용소프트웨어를 테스트하는 단계는 프로세스 테스트의 각 테스트 단계별로 상기 DB에 저장된 모델 데이터와 비교/검증하는 과정과, 상기 검증결과를 해당 테스트 단계에 피드백시켜 사용자에게 통지하는 과정을 더 포함한다.
도 1은 본 발명의 실시 예를 위한 기본 프레임워크 구조를 보인 도면.
도 2는 본 발명의 실시 예에서 사용자 확장 컴포넌트의 구조를 보인 도면.
도 3은 본 발명의 실시 예에서 사용자 확장 컴포넌트의 구현 과정을 보인 신호 흐름도.
도 4는 도 3의 과정을 통해 구현된 응용프로그램 프레임워크 구조를 보인 도면.
도 5는 본 발명의 실시 예를 위한 자동 테스트 시스템의 블록 구성도.
도 6은 본 발명의 실시 예에서 3차원 모델링 응용소프트웨어 자동 테스트를 위한 연결 관계를 보인 도면.
도 7은 본 발명의 실시 예에서 단위 기능 테스트 과정을 보인 신호 흐름도.
도 8은 본 발명의 실시 예에서 프로세스 테스트 케이스 생성 과정을 보인 신호 흐름도.
도 9는 본 발명의 실시 예에서 프로세스 테스트 과정을 보인 신호 흐름도.
** 도면의 각 부분에 대한 간단한 설명 **
110, 410 : 프레임워크 시스템 120,420 : 기능관리 컴포넌트
131,231,441 : 모델링 기능 컴포넌트
132,232,442 : 모델링 커널 141,241,451 : 디스플레이 컴포넌트
142,242,452 : 렌더링 컴포넌트 143,453 : 모델선택처리 컴포넌트
150,250,460 : GUI 컴포넌트 210,470 : 사용자 메인모듈
220,430 : 사용자 기능모듈 510 : 자동 테스트 제어기
520 : 자동 테스트 처리기 530 : GUI 자동테스트 컴포넌트
540 : DB(DataBase) 550 : 모델테스트 컴포넌트
그러면, 본 발명에서 실시 예에 따른 3차원 응용 프로그램 프레임워크 구조를 첨부된 예시도면에 의거 상세히 설명하면 다음과 같다.
도 1은 본 발명의 실시 예를 위한 기본 프레임워크 구조를 보인 도면이다. 도시된 바와 같이, 3차원 모델링 유틸리티(Utility)를 포함하며, 모델링 작업을 수행하는 모델링 기능 컴포넌트(131)와, 다수의 3차원 모델 데이터를 관리하며 상기 모델링 작업 결과를 해당 모델 데이터에 반영하는 모델링 커널(132)과, openGL, DirectX 등과 같은 렌더링 툴(Rendering Tool)을 지원하는 렌더링 컴포넌트(142)와, 상기 모델링 커널(132)의 모델 데이터를 기반으로 다양한 종류의 모델 디스플레이 및 뷰잉(viewing)(예를 들어, 이동, 회전, 확대 등)을 지원하며, 화면출력용 데이터를 상기 렌더링 컴포넌트(142)에 전달하는 디스플레이 컴포넌트(141)와, 상기 모델링 커널(132)를 기반으로 디스플레이된 모델에 대한 선택 처리를 수행하기 위한 모델선택처리 컴포넌트(143)와, 모델 디스플레이, 선택 및 뷰잉 등의 동작에 관련하여 사용자와의 인터페이스를 제공하는 GUI(Graphic User Interface) 컴포넌트(150)와, History/Batch Operation, Redo/Undo 등의 기능을 포함하여 사용자 기능(예로, 모델링 기능)을 지원함에 있어서, 사용자(프로그램 개발자 또는 작업자)의 모델 선택 작업을 상기 모델선택처리 컴포넌트(143)에 요청하며 상기 GUI 컴포넌트(150)를 제어하여 사용자 기능의 GUI를 제어하기 위한 기능관리 컴포넌트(120)와, 사용자 메인모듈(도1에는 미도시)과 각 컴포넌트의 연결 및 각 컴포넌트 간의 연결을 수행하고, 상기 각 컴포넌트들의 동작을 제어하는 프레임워크 시스템(framework system)(110)을 포함하여 구성한다.
상기 GUI 컴포넌트(150)는 플랫폼에 독립적으로 구현되며, GUI 플랫폼의 대표적인 예로는 MFC(Microsoft Foundatio Class), QT 등이 있다. 상기 MFC(Microsoft foundation class)는 윈도즈용 응용 프로그램의 통합 개발 환경인 마이크로소프트 비주얼 C++에 부속되는 클래스 라이브러리로서, 윈도즈 응용 프로그램 작성에 유용한 많은 클래스를 제공한다.
또한, 상기 QT는 GUI 프로그램 개발을 위한 크로스 플랫폼 위젯 툴킷으로, 주로 C++를 사용하지만, 파이썬, 루비, C, 펄, 파스칼(pascal)로의 바인딩을 제공하고 있는데, SQL 데이터베이스 접근, XML 처리, 스레드 관리, 단일 크로스 플랫폼 파일 관리 API를 제공한다.
상기 위젯(widget)은 첫 째, 컴퓨터에서 운영 체계(OS) 위의 응용 프로그램을 동작시키고 결과를 화면에 표시하는 작은 그래픽 사용자 인터페이스(GUI) 도구를 의미할 수 있거나, 둘째, 응용 프로그램 작성 시에 자주 이용하는 사용자 중심의 그래픽과 데이터 처리 프로그램들을 모은 라이브러리를 의미한다. 예를 들어, X 윈도우가 윈도 관리자에 따라서 서로 다른 모습을 가지는 것은 위젯 라이브러리가 다르기 때문이다. 현재 가장 많이 사용되는 위젯 라이브러리는 리눅스 데스크톱 환경(KDE)의 QT 라이브러리와 GNOME의 GTK+ 라이브러리가 있다.
도 1의 기본 프레임워크(100)는 본 발명에서 제시한 프레임워크에 대응된다.
상기와 같이 프레임워크 제공자가 구성한 도 1의 기본 프레임워크(100)는 3차원 응용프로그램 개발자(이하, '개발자'라 약칭함)에게 제공되어 진다.
이에 따라, 개발자는 본 발명의 기본 프레임워크(100) 컴포넌트를 필요에 따라 확장하거나 새로 구현하고 도 2의 사용자 확장 컴포넌트(200)를 구현하여 도 1의 기본 프레임워크(100)와 결합함으로써 상기 기본 프레임워크(100) 컴포넌트의 기능을 확장하여 도 4와 같은 프레임워크 구조를 갖는 3차원 응용프로그램을 손쉽게 구현할 수 있게 된다.
본 발명의 사용자 확장 컴포넌트(200)는 도 2에 도시한 바와 같이, 개발자가 구현하고자 하는 3차원 응용프로그램의 틀에 해당하며, 3차원 응용프로그램 실행 시에 메인윈도우, 뷰윈도우, 메뉴, 툴바 등을 처리하는 사용자 메인 모듈(210)과, 개발자가 3차원 응용프로그램의 작동기능(모델링, 디스플레이 조작 기능 등)을 구현하여 등록하는 사용자 기능 모듈(220)과, 개발자가 확장한 3차원 모델링 유틸리티(Utility)를 포함하는 모델링기능 컴포넌트(231)와, 개발자가 확장한 3차원 모델 데이터를 관리하는 모델링 커널(232)과, 상기 모델링 커널(232)을 기반으로 개발자가 확장한 다양한 종류의 모델 디스플레이 및 뷰잉(viewing)(예를 들어, 이동, 회전, 확대 등)을 지원하는 디스플레이 컴포넌트(241)와, 개발자가 확장 등록한 렌더링 툴(Rendering Tool)을 지원하는 렌더링 컴포넌트(242)와, 개발자가 확장한 모델 디스플레이, 선택 및 뷰잉 등의 동작에 관련하여 사용자와의 인터페이스를 제공하는 GUI(Graphic User Interface) 컴포넌트(250)를 포함하여 구성한다.
따라서, 본 발명의 실시 예에서 도 2의 사용자 확장 컴포넌트(200)를 구현하는 동작을 도 3의 신호 흐름도를 참조하여 상세히 설명하면 다음과 같다.
도 3은 사용자 확장 컴포넌트의 구현을 위한 신호 흐름도로서 이에 도시한 바와 같이, S1 단계에서 개발툴에 기본 프레임워크(100)가 설치된 후 개발자 정의의 작업 프로젝트(project)를 생성하고, 3차원 응용프로그램의 기능 선택 및 작업 진행을 위한 사용자 메인 모듈(210)을 구현한다.
그리고, S2 단계로 진입하여 기본 프레임워크(100)와 사용자 메인 모듈(210)을 연결하며, S3 단계에서 개발자가 상기 기본 프레임워크(100)에 포함되지 않은 사용자 모델, 모델링 기능, 디스플레이 기능 및 GUI 기능을 확장하여 상기 기본 프레임워크(100)에 등록한다. 이후, S4 단계로 진입하여, 상기 확장 등록된 기능을 실행, 제어하기 위한 사용자 기능을 구현하여 상기 기본 프레임워크(100)에 추가함으로써, 사용자 기능을 구현한다.
이를 구체적으로 설명하면 먼저, 도 1 구조의 기본 프레임워크(100)를 구입한 개발자는 개발툴(예로, 컴퓨터)에 상기 기본 프레임워크(100)를 설치하고, 개발자 정의의 프로젝트(project)를 생성하고, 자신이 원하는 3차원 응용프로그램에 맞게, 상기 개발툴을 이용하여 사용자 메인모듈(210)을 구현하게 된다(S1). 상기 기본 프레임워크(100)는 개발툴에서 읽을 수 있는 기록매체 예로 들어, CD, DVD, USB 메모리 등에 기록되어 개발자에게 제공되거나 인터넷 등의 통신망을 통해 제공될 수 있다. 상기 사용자 메인모듈(210)에는 메뉴, 툴바, 메인 윈도우, 뷰 윈도우 기능이 포함된다.
이후, 프레임워크를 이용하기 위해서 상기 생성된 작업 프로젝트(project)에 상기 기본 프레임워크(100)를 포함시키며, 상기에서 구현된 사용자 메인모듈(210)에 기본 프레임워크(100)를 연결하게 된다(S2).
이후, 개발자는 기본 프레임워크(100)에 포함되지 않은 사용자 모델, 모델링 기능, 디스플레이 기능 및 GUI 기능을 확장 구현하고 이를 프레임워크 시스템(110)을 통해 모델링 커널(232), 모델링기능 영역(231), 디스플레이 컴포넌트(241), 렌더링 컴포넌트(242), GUI 컴포넌트(250)에 등록함으로써 상기 기본 프레임워크(100)에 결합시키게 된다(S3).
또한, 개발자는 상기 과정(S1~S3)으로 구현 등록된 기능을 실행, 제어하기 위한 사용자 기능을 구현하고, 그 구현된 사용자 기능을 사용자 기능 모듈(220)에 등록함으로써 상기 기본 프레임워크(100)에 결합시키게 된다(S4).
따라서, 상기와 같은 과정으로 개발자가 사용자 확장 컴포넌트(200)를 기본 프레임워크(100)와 결합하여 상기 기본 프레임워크(100)를 확장하고 등록하게 되면 최종적으로 3차원 응용프로그램 프레임워크 구조가 구현된다.
전술된 3차원 응용프로그램 프레임워크 구조는 도 4에 도시되고 있으며, 이는 History/Batch Operation, Redo/Undo, 프레임워크 처리기 등의 기능을 포함하여 모델 구현 및 등록 기능을 지원하는 기능관리 컴포넌트(420)와, 사용자가 구현한 3차원 응용소프트웨어의 작동기능(모델링, 디스플레이 조작 기능 등)을 등록하는 사용자 기능 모듈(430)과, 3차원 모델링 유틸리티(Utility)를 포함하며, 사용자가 확장 가능한 3차원 모델링기능 컴포넌트(441)와, 적어도 하나 이상의 3차원 모델 데이터를 관리하며, 사용자가 확장 가능한 3차원 모델링 커널(442)와, 상기 3차원 모델링 커널(442)을 기반으로 다양한 종류의 모델 디스플레이 및 뷰잉(viewing)(예를 들어, 이동, 회전, 확대/축소 등)을 지원하며, 사용자가 확장 가능한 디스플레이 컴포넌트(451)와, OpenGL, DirectX 등과 같은 렌더링 툴(Rendering Tool)을 지원하도록 사용자가 확장 가능한 렌더링 컴포넌트(452)와, 상기 3차원 모델링 커널(442)를 기반으로 디스플레이된 모델에 대한 선택 처리를 수행하는 모델선택처리 컴포넌트(453)와, 모델 디스플레이, 선택 및 뷰잉 등의 동작에 관련하여 사용자와의 인터페이스를 제공하며, 사용자가 확장 가능한 GUI(Graphic User Interface) 컴포넌트(460)와, 사용자가 구현하고자 하는 3차원 응용소프트웨어의 틀에 해당하는 사용자 메인 모듈(470)과, 상기 사용자 메인모듈(470)과 상기 각 컴포넌트를 연결하고, 상기 각 컴포넌트들의 동작을 제어하는 프레임워크 시스템(framework system)(410)으로 구성된다.
이러한, 3차원 응용소프트웨어 프레임워크를 기반으로 사용자 응용소프트웨어를 개발하는 과정을 살펴 보면, 개발자 정의의 작업 프로젝트(project)를 생성하고, 사용자 메인모듈(470)을 구현하는 단계와, 프레임워크 시스템(410)과 상기 사용자 메인모듈(470)을 연결하는 단계와, 프레임워크의 3차원 모델링기능 컴포넌트(441)와 3차원 모델링 커널(442)과 디스플레이 컴포넌트(451)와 렌더링 컴포넌트(452)와 GUI 컴포넌트(460)를 선택적으로 확장하여 프레임워크 시스템(410)에 등록하는 단계와, 사용자 기능을 구현하여 기능관리 컴포넌트(420)에 등록하는 단계로 이루어진다. 여기서 사용자가 프레임워크를 기반으로 응용소프트웨어를 개발하는 과정을 상세히 설명하면 다음과 같다.
먼저, 3차원 응용프로그램 프레임워크를 구입한 개발자는 개발시스템(예로, 컴퓨터)에 상기 프레임워크를 설치한 후 개발 도구(예로, 마이크로소프트 사의 Visual Studio)를 사용하여 사용자 정의 프로젝트(project)를 생성하고, 자신이 원하는 3차원 응용소프트웨어에 맞게, 상기 개발 도구를 이용하여 사용자 메인모듈(470)을 구현하게 된다. 상기 사용자 메인모듈(470)에는 메뉴, 툴바, 메인 윈도우, 뷰 윈도우 등이 포함된다.
이후, 프레임워크를 이용하기 위해서 상기 생성된 작업 프로젝트(project)에 상기 프레임워크를 포함시키며, 상기에서 구현된 사용자 메인모듈(470)에 프레임워크 시스템(410)를 연결하게 된다. 또한 개발자는 프레임워크 컴포넌트에서 제공하지 않는 기능이 필요한 경우 프레임워크의 3차원 모델링기능 컴포넌트(441)와 3차원 모델링 커널(442)과 디스플레이 컴포넌트(451)와 렌더링 컴포넌트(452)와 GUI 컴포넌트(460)를 선택적으로 확장하여 프레임워크 시스템(410)에 재등록함으로써 프레임워크에 결합하고 기존 컴포넌트를 대체할 수 있다.
이후, 개발자는 프레임워크에서 포함되지 않는 사용자 기능(예로, 모델 편집 기능, 모델 불러오기/저장 기능, 환경변수 설정 기능 등)을 구현하여 사용자 기능모듈(430)에 등록함으로써 프레임워크에 결합시키게 된다.
따라서, 개발자는 상기와 같은 과정으로 3차원 응용소프트웨어를 구현하게 되며, 상기와 같이 구현된 3차원 응용소프트웨어는 상용화되어 최종 사용자(예를 들어, CAD 작업자, CAE 설계자 등)에게 판매된다.
그런데, 상기에서 도 1의 구성으로 이루어진 기본프레임워크를 개발자에게 제공하여 개발자가 3차원 모델링 커널, 모델링 기능, 디스플레이 기능 및 GUI 기능을 선택적으로 확장할 수 있도록 하는 경우를 예를 들어 설명하였는데, 기능관리 컴포넌트, 모델선택처리 컴포넌트, 사용자 확장 컴포넌트, 프레임워크 시스템만으로 이루어진 기본프레임워크를 개발자에게 제공하여 개발자가 3차원 모델링 커널, 모델링 기능, 디스플레이 기능 및 GUI 기능을 추가시키도록 구현할 수 있다.
한편, 상기와 같은 과정으로 하나의 3차원 응용프로그램이 상용화되면, 그 3차원 응용프로그램을 구입한 최종 사용자(이하, '작업자'라 칭함)는 그 3차원 응용프로그램을 이용하여 원하는 모델을 구현하는 작업을 수행하게 되는데, 상기의 동작으로 구현한 3차원 응용프로그램을 이용한 작업 과정을 도시된 프레임워크 구조를 참조하여 설명하면 다음과 같다.
먼저, 작업자가 3차원 응용프로그램을 컴퓨터상에서 실행시키면 사용자 메인모듈(470)에 구현된 메인 윈도우와 뷰 윈도우, 다양한 메뉴, 툴바 등을 디스플레이하게 된다. 즉, 작업자가 3차원 응용프로그램을 실행시키면 사용자 메인 모듈(470)이 3차원 응용프로그램에서 필요한 사용자 기능을 기능관리 컴포넌트(420)에 전달하며 3차원 응용프로그램이 초기화된 후 상기 사용자 메인 모듈(470)에 구현된 메인윈도우, 뷰윈도우, 메뉴, 툴바 등이 디스플레이된다.
이후, 사용자 메인 모듈(470)은 사용자 입력을 프레임워크 시스템(410)에 전달하며 상기 프레임워크 시스템(410)은 상기 사용자 입력에 대응하는 기능의 실행을 위해 기능관리 컴포넌트(420)에 요청하며, 사용자가 툴바, 메뉴 등을 조작하면 이에 대응하는 기능의 실행을 상기 기능관리 컴포넌트(420)에 요청하게 된다.
이때, 상기 기능관리 컴포넌트(420)는 사용자 입력에 해당하는 기능을 사용자 기능 모듈(430)에서 실행시키고 이어서 상기 사용자 기능 모듈(430)을 통해 상기 실행된 기능에 해당하는 GUI 요소의 생성을 GUI 컴포넌트(460)에 요청하며 아울러 사용자 기능의 GUI 제어를 위해 상기 GUI 컴포넌트(150)를 제어한다.
이에 따라, GUI 컴포넌트(460)는 해당 GUI 요소를 생성하여 화면에 디스플레이시키고 사용자의 GUI 조작에 따라 해당 이벤트를 발생시키며, 기능관리 컴포넌트(420)는 상기 이벤트를 대응하는 사용자 기능에 전달한다.
예를 들어, 작업자가 메뉴나 툴바 등을 이용하여 사용자 기능의 하나인 '모델링 기능'을 실행시키면 기능관리 컴포넌트(420)는 사용자 기능 모듈(430)을 점검하여 요청된 모델링 기능을 실행시키며, 이어서 상기 사용자 기능 모듈(430)을 통해 GUI 컴포넌트(460)를 동작시킴으로써 해당 모델링 기능 화면을 디스플레이시키게 된다.
이후, 작업자가 원하는 모델링 작업에 대응하는 버튼을 클릭하면 GUI 컴포넌트(460)를 통해 이벤트가 발생되어 기능관리 컴포넌트(420)에 전달되고, 상기 기능관리 컴포넌트(420)는 상기 이벤트를 사용자 기능 모듈(430)에 포함된 현재 실행 중인 모델링 기능에 전송하고, 이벤트를 전송받은 모델링 기능은 모델링 기능 컴포넌트(441)의 모델링 유틸리티(utility)를 이용하여 모델링 커널(442)에 대해 해당 모델링 작업을 수행하게 되며, 이때, 모델링 작업 결과를 디스플레이 컴포넌트(451)와 연동하여 화면에 디스플레이하게 된다.
이후, 작업자가 화면에 디스플레이된 모델에서 자신이 작업하려는 요소(예를 들어, 점, 선, 면 등)를 선택하게 되는데, 기능관리 컴포넌트(420)는 작업자의 선택에 대응하여 사용자 기능 모듈(430)에서 해당하는 모델선택 기능을 찾아 실행하고, 모델선택 기능의 실행에 따라 모델선택처리 컴포넌트(453)가 디스플레이 컴포넌트(451)에 있는 화면출력용 모델 데이터를 이용하여 실제 모델선택 동작을 수행하며, 디스플레이 컴포넌트(451)가 렌더링 컴포넌트(452)를 제어하여 모델 선택 결과를 화면에 디스플레이시키게 된다.
이후, 사용자의 조작에 따라 모델링 작업이 진행됨에 따라 상기 디스플레이 컴포넌트(441)가 3차원 모델링 커널(442)의 모델링 작업이 반영된 모델 데이터를 참고하여 화면출력용 모델 데이터를 갱신하고 렌더링 컴포넌트(442)를 제어하여 화면에 해당 모델링 작업의 결과를 디스플레이시키게 된다.
이에 따라, 작업자가 마우스나 키보드, 또는 대응하는 GUI의 버튼 등을 이 이용하여 화면에 디스플레이된 모델에 대해 수정(예를 들어, 생성, 삭제, 복사, 회전, 이동, 등) 작업을 실행하게 되면 기능관리 컴포넌트(420)는 상기 동작에 상응하여 사용자 기능모듈(430)에 포함된 현재 실행 중인 모델링 기능을 제어함으로써 3차원 모델링 기능(441)을 통해 모델링 작업을 수행하여 해당 모델에 실제 수정 작업을 수행하고 상기 작업결과를 3차원 모델링 커널(442)에 있는 모델 데이터를 반영하여 작업자가 원하는 모델 데이터를 제작하게 된다.
이후, 디스플레이 컴포넌트(451)는 3차원 모델링 커널(442)의 모델링 작업 결과가 반영된 모델 데이터를 참고하여 화면출력용 모델 데이터를 갱신하고 렌더링 컴포넌트(452)를 제어하여 모델링 작업의 결과 화면을 디스플레이시키게 된다.
상기에서 상세히 설명한 바와 같이, 본 발명에 따른 3차원 응용프로그램 프레임워크는 3차원 응용프로그램의 개발에서부터 유지보수까지 지원하는 시스템 솔루션으로서, 이를 통해 사용자는 쉽고 빠르며 안정적으로 원하는 3차원 응용프로그램을 제작할 수 있다.
따라서, 본 발명은 모델링 커널, Display 및 Selection 모듈 등의 컴포넌트를 제공함으로써 CAD/CAM/CAE 공학, 게임/영상처리, 및 기타 지형처리 분야 등의 3차원 응용프로그램의 개발기간 및 비용을 최소 40%, 특히 유지보수 비용의 경우 70%이상을 절감할 수 있는 효과를 달성할 수 있다.
즉, 본 발명은 사용자가 필수적으로 구현하여야 하는 컴포넌트를 제공함으로써 사용자가 수년에 걸친 작업을 통해서 알 수 있는 3차원 응용프로그램에 대한 노하우(know-how) 없이도 손쉽게 3차원 응용프로그램을 개발할 수 있도록 함으로써 작업시간을 단축시킬 수 있는 효과가 있다.
또한, 본 발명은 사용자가 필연적으로 구현하여야 하는 컴포넌트를 제공함으로써 다수의 작업을 동시에 수행하는 경우에도 공통으로 사용할 수 있어 메모리의 최적화를 극대화함은 물론 사용자가 구현하려는 고유업무에 집중할 수 있도록 하여 최상의 응용프로그램을 구현할 수 있도록 하는 효과를 제공한다.
그러면, 전술된 3차원 응용 프로그램 프레임워크 구조를 기반으로 한 자동 테스트 시스템을 살펴 본다. 먼저, 자동 테스트 시스템은 사용자에 의한 기능(function) 실행 이력을 기록하여 테스트 케이스를 자동 생성함으로써, GUI 및 소스코드 변경에 상관없이 상기 테스트 케이스를 이용하여 해당 응용소프트웨어의 기능을 테스트할 수 있게 된다.
전술된 바와 같이 본 발명에 따른 자동 테스트 시스템은 도 5의 블록도를 참조하여 설명하면 다음과 같다.
먼저, 적어도 하나 이상의 테스트 케이스를 저장하는 DB(DataBase)(540)와, 단위 기능의 테스트 케이스를 자동 생성하고 그 생성된 테스트 케이스를 상기 DB(240)에 저장하며 GUI에 대한 테스트를 수행하는 GUI 자동테스트 컴포넌트(530)와, 단위 기능의 자동 테스트가 실행되면 상기 GUI 자동테스트 컴포넌트(530)를 실행시켜 해당 테스트 케이스를 자동 생성/저장시키고, 상기 DB(540)에 기록된 해당 테스트 케이스를 기반으로 자동 테스트 대상인 프레임워크 구조의 3차원 응용 프로그램에 대해 단위 기능의 자동 테스트를 실행하며, 만일, 프로세스 테스트의 실행이면, 사용자의 모든 응용소프트웨어 조작을 기록하여 상기 DB(540)에 테스트 케이스를 생성/저장시키고, 상기 DB(540)에 기록된 해당 테스트 케이스를 기반으로 자동 테스트 대상인 프레임워크 구조의 3차원 응용 프로그램에 대해 프로세스 테스트를 실행하며, 상기 실행결과를 사용자에게 제공하는 자동 테스트 처리기(520)와, 단위 기능 자동 테스트와 프로세스 테스트에서 각 테스트 단계별로 상기 DB(540)에 저장된 모델 데이터와 비교/검증하고 그 검증결과를 상기 자동 테스트 처리기(520)에 통보하는 모델 테스트 컴포넌트(550)와, 사용자에 의한 자동 테스트를 감지하면 상기 자동 테스트 처리기(520)의 동작을 실행시키고 사용자의 설정에 따른 테스트 방법으로 상기 자동 테스트 처리기(520)를 제어하는 자동테스트 제어기(510)를 포함하여 구성한다.
상기 구성의 자동 테스터 시스템은 프레임워크 기반의 3차원 응용소프트웨어를 테스트하기 위한 시스템이다. 이와 같이 구성한 본 발명의 실시 예에 대한 동작 및 작용효과를 도 6 내지 도 9를 참조하여 상세히 설명하면 다음과 같다.
도 6은 본 발명의 실시 예에서 프레임워크 기반의 자동 테스트 시스템을 구현방법과 연결 관계를 보인 도면이고, 도 7은 본 발명의 실시 예에서 단위 기능 테스트 과정을 보인 신호 흐름도이며, 도 8은 본 발명의 실시 예에서 프로세스 테스트 케이스 생성 과정을 보인 신호 흐름도이고, 도 9는 본 발명의 실시 예에서 프로세스 테스트 과정을 보인 신호 흐름도이다.
먼저, 자동 테스트 시스템의 구현 방법과 역할을 도 6을 참조하여 설명하면, 본 발명에서 3차원 응용소프트웨어 프레임워크를 테스트할 수 있도록 프레임워크 기반의 자동 테스트 시스템을 구현하는데, 자동 테스트 제어기(510)는 3차원 응용소프트웨어에 단위 기능 자동 테스트 및 프로세스 테스트의 제어 기능을 제공하고, 자동 테스트 처리기(520)는 프레임워크의 운영체제와 같은 역할을 하는 기능관리 컴포넌트(520)의 프레임워크 처리기를 기반으로 구현되어 3차원 응용소프트웨어에 단위 기능 자동 테스트 및 프로세스 테스트의 처리 기능을 제공하며, GUI 자동테스트 컴포넌트(530)는 GUI 컴포넌트(560)를 기반으로 구현되어 3차원 응용소프트웨어의 단위 기능 테스트 케이스를 GUI의 입력값을 기준으로 자동 생성하고 이렇게 생성된 테스트케이스에 따라 GUI를 동작시킴으로써 단위 기능 자동테스트를 지원하게 되며, 모델 테스트 컴포넌트(550)는 3차원 모델링 커널(442)을 기반으로 구현되어 3차원 응용소프트웨어에 단위 기능 자동 테스트와 프로세스 테스트의 각 테스트 단계별로 DB(540)에 저장된 결과 모델 데이터와의 보다 정밀한 비교/검증을 수행하게 된다.
이렇게 구현된 자동 테스트 시스템을 프레임워크에 결합하고 대체함으로써, 3차원 응용소프트웨어를 자동 테스트할 수 있게 되는데, 이 과정을 상세히 설명하면 다음과 같다.
상기 프레임워크 기반의 3차원 응용소프트웨어 개발자는 개발시스템(예로, 컴퓨터)에 상기 자동 테스트 시스템을 구입하여 설치한 후, 작업 프로젝트(project)에 상기 자동 테스트 시스템을 포함시킨다.
아울러, 상기 자동 테스트 제어기(510)를 프레임워크의 사용자 기능모듈(430)에 추가하고, 상기 자동 테스트 처리기(520)를 프레임워크에 등록함으로써 기존 기능관리 컴포넌트(420)의 프레임워크 처리기를 대체하며, 상기 GUI 자동테스트 컴포넌트(530)을 프레임워크에 등록함으로써 기존 프레임워크의 GUI 컴포넌트(460)를 대체하고, 상기 모델 테스트 컴포넌트(550)을 프레임워크에 등록함으로써 기존 모델링 커널(442)을 대체하여 프레임워크를 기반으로 한 3차원 응용소프트웨어를 자동 테스트할 수 있게 된다.
따라서, 도 6과 같은 구성을 기반으로 단위 기능 자동 테스트 과정을 도4를 참조하여 설명하면 다음과 같다.
사용자가 사용자 기능모듈(430)에 포함된 테스트 대상 기능을 실행하고(S11) 역시 사용자 기능모듈(430)에 포함된 자동테스트 제어기(510)를 실행하며(S12) 이를 통해 단위 기능 테스트를 실행하게 되면(S13), 자동테스트 제어기(510)는 자동 테스트 처리기(520)를 실행시키고, 상기 자동 테스트 처리기(520)는 GUI 자동 테스트 컴포넌트(530)가 테스트 케이스를 자동 생성하도록 한다.(S14)
상기 GUI 자동 테스트 컴포넌트(530)는 해당 단위 기능의 GUI 입력값의 경우에 따라 하나 이상의 테스트 케이스를 생성하고 그 생성된 테스트 케이스들을 DB(540)에 저장하게 된다.
이후, 자동 테스트 처리기(520)는 DB(540)에 저장된 테스트 케이스에 따라 GUI 자동 테스트 컴포넌트(530)를 이용하여 GUI를 동작시키고 3차원 응용 프로그램에 대해 단위 기능의 자동 테스트를 수행하며, 모델 테스트 컴포넌트(550)는 단위 기능 자동 테스트의 각 테스트 단계별로 상기 DB(540)에 저장된 모델 데이터와 비교/검증하고 그 결과를 상기 자동 테스트 처리기(520)에 통보하게 된다. 그리고, 자동 테스트의 실행이 완료되면 자동 테스트 처리기(520)는 상기 테스트 결과를 출력하여 사용자에게 제공하게 된다.
또한, 도 6과 같은 구성을 기반으로 프로세스 테스트 과정을 도 8 및 도 9를 참조하여 설명하면 다음과 같다.
도 8과 같이 사용자가 자동 테스트 제어기(510)의 실행을 요청하면(S21) 프레임워크의 상기 기능관리 컴포넌트(420)는 사용자 기능모듈(430)에 포함된 자동 테스트 제어기(510)를 실행하며, 사용자가 자동 테스트 제어기(510)를 통해 사용자 작업 기록을 시작하면(S22), 자동 테스트 처리기(520)는 이후 모든 사용자의 모든 작업(S23)을 기록하여 프로세스 테스트 케이스를 생성하는데, 세부 과정은 다음과 같다.
자동 테스트 처리기(520)는 사용자의 모든 응용 프로그램 조작에 따라(S23) 프레임워크에서 이루어지는 사용자 기능모듈(430)의 사용자 기능 실행 과정을 모니터링하여 그 실행 과정과 환경 변수 등을 저장하고(S24), 각 실행 단계별로 3차원 모델과 같은 모델 데이터를 포함하여 성능, 메모리 사용량 등의 실행 결과를 저장함으로써 프로세스 테스트 케이스를 생성하게 된다.
이후, 사용자가 테스트 제어기(510)를 통해 사용자 작업의 기록을 중지하면 테스트 제어기(510)는 생성된 프로세스 테스트 케이스를 상기 DB(540)에 등록하게 된다. 그리고, 도 9와 같이 사용자가 자동 테스트 제어기(510)를 실행하고 상기 자동 테스트 제어기(510)을 통해서 도 8의 과정으로 생성한 프로세스 테스트 케이스를 DB(540)로부터 선택하고(S32) 프로세스 테스트를 실행시키면(S33), 상기 자동 테스트 제어기(510)는 자동 테스트 처리기(520)를 실행시키게 되며(S34), 상기 자동 테스트 처리기(520)는 사용자가 선택한 테스트 케이스를 기반으로 3차원 응용 프로그램에 대해 프로세스 테스트를 실행하게 되는데, 상세한 과정은 다음과 같다.
상기 자동 테스트 제어기(510)는 선택된 테스트 케이스를 상기 DB(540)에서 불러오고(S35), 테스트 케이스의 기능 실행 과정에 따라 상기 사용자 기능모듈(430)에 포함된 사용자 기능을 실행하고 조작할 것을 프레임워크의 기능관리 컴포넌트(420)에게 통지한다.(S36)
이때 기능의 각 실행 과정이 끝날 때마다(S37) 자동 테스트 처리기(520)는 실행 성능과 메모리 사용량 등을 비교하고, 모델 테스트 컴포넌트(550)는 테스트 결과 데이터를 상기 DB(540)에 저장된 결과 데이터와 정밀하게 비교/검증하여 그 결과를 상기 자동 테스트 처리기(520)에 통보하게 된다.
이후, 모든 테스트 과정을 수행하여 프로세스 테스트가 완료되면(S39) 자동 테스트 처리기(520)는 상기 테스트 실행 결과를 디스플레이에 출력하여 사용자에게 제공하게 된다.
상기에서 상세히 설명한 바와 같이, 본 발명에 따른 자동 테스트 시스템은 3차원 응용소프트웨어 프레임워크를 기반으로 하여 3차원 응용소프트웨어의 개발과 배포버전에서의 자동테스트를 지원하는 시스템 솔루션으로서, 이를 통해 개발자는 신뢰성있는 3차원 응용소프트웨어를 쉽고 빠르게 개발할 수 있다.
또한, 상기 자동 테스트 시스템은 기존의 유지보수 과정에서 수작업에 의해 반복적으로 수행되던 복잡한 과정의 프로세스 테스트를 자동화하고, 어떠한 환경에서도 동일하게 반복 테스트를 수행함으로써, 3차원 응용소프트웨어의 개발 기간과 비용을 절감하고 품질을 높일 수 있다.
특히, 본 발명은 단위 기능 테스트와 프로세스 테스트에 의해 3차원 응용소프트웨어의 모든 기능에 대해 성능, 메모리, 오류 등을 테스트하는 것은 물론 테스트 기능에 영향을 미치는 사용자 환경변수 등을 포함하는 모든 실행 환경을 기록함으로써 3차원 화면 조작이나 모델 선택 작업 등의 신뢰성 있는 테스트가 어려운 종래의 자동 테스트 기술에서의 문제점을 보완할 수 있고, 3차원 모델과 같은 복잡한 결과 데이터도 정확하게 비교/분석하여, 사용자가 신속하게 오류를 수정할 수 있도록 실질적으로 도움을 주는 3차원 응용소프트웨어 프레임워크 기반의 자동테스트 컴포넌트를 제공함으로써, 프레임워크 사용자가 개발하는 3차원 응용소프트웨어에 대해 최소의 노력으로 자동 테스트 기능을 수행할 수 있다.
한편, 상기에서 설명한 본 발명의 실시 예는 당업자의 이해를 돕기 위한 바람직한 실시 예를 제시한 것일 뿐이며, 본 발명은 상기 설명한 실시 예에 의해서 한정되거나 제한되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변경 및 수정 가능함은 물론 이를 기반으로 하는 다른 실시 예의 구현도 가능하다.
전술한 바와 같이, 본 발명에 따른 차원 응용프로그램 프레임워크 구조 및 이를 기반으로 하는 응용프로그램 구현 방법과, 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템 및 그 방법은, 사용자(개발자)가 구현하여야 할 이벤트 및 시스템 환경 관리 및 기능을 포함하는 프레임워크를 제공하여 개발자가 사용자 모델, 필요로 하는 실제의 모델링 기능 및 GUI(Graphic User Interface)를 용이하게 확장할 수 있으며, 3차원 모델링 응용프로그램의 개발이 효율적으로 질 수 있는 개발 인프라를 구축함으로써 기반 산업으로의 적용 가치가 충분히 높을 것이다.

Claims (14)

  1. 3차원 모델 라이브러리를 기반으로 디스플레이된 다양한 종류의 모델에 대한 선택 처리를 수행하기 위한 모델선택처리 컴포넌트;
    3차원 모델링 커널, 모델링 기능, 디스플레이 기능 및 GUI 기능에 대한 사용자 확장이 가능한 사용자 확장 컴포넌트;
    사용자 입력에 따라 사용자 기능 실행을 상기 사용자 확장 컴포넌트에 요청하며, 모델선택 작업을 상기 모델선택처리 컴포넌트에 요청하기 위한 기능관리 컴포넌트; 및
    컴퓨터에서 3차원 응용프로그램 실행 시에 메인윈도우, 뷰윈도우, 메뉴, 툴바 등을 처리하기 위해 사용자가 구현하는 사용자 메인 모듈에 상기 컴포넌트들을 연결시키며, 사용자 조작에 따라 상기 컴포넌트들의 동작을 제어하는 프레임워크 시스템(framework system)을 포함하는 것을 특징으로 하는 3차원 응용프로그램 프레임워크 구조.
  2. 제 1 항에 있어서,
    상기 프레임워크 구조는, 3차원 모델 데이터를 관리하는 모델링 커널 및 3차원 모델링 유틸리티(Utility)를 구비하는 모델링 커널을 포함하여 상기 사용자 확장 컴포넌트를 통해 모델 데이터를 전달받아 모델링 작업을 수행하는 제1 모델링 컴포넌트;
    상기 제1 모델링 컴포넌트를 기반으로 하는 다양한 종류의 모델 디스플레이 및 현재 선택된 모델의 뷰잉(viewing)을 지원하는 제1 디스플레이 컴포넌트;
    렌더링 툴(Rendering Tool)을 지원하며 상기 제1 디스플레이 컴포넌트의 제어에 따라 화면에 해당 모델을 디스플레이하는 제1 렌더링 컴포넌트; 및
    모델 디스플레이, 선택 및 뷰잉 등의 동작에 관련하여 사용자와의 인터페이스를 제공하며 사용자의 GUI 조작에 따른 이벤트를 발생시키는 제1 GUI(Graphic User Interface) 컴포넌트를 더 포함하는 것을 특징으로 하는 3차원 응용프로그램 프레임워크 구조.
  3. 제 1 항에 있어서,
    상기 사용자 확장 컴포넌트는, 3차원 응용프로그램 실행 시 메인윈도우, 뷰윈도우, 메뉴, 툴바 등을 처리하도록 개발자가 구현하여 상기 프레임워크 시스템에 결합시키는 사용자 메인모듈;
    개발자가 구현한 실제의 모델링 기능 및 작동기능이 등록되며, 기능관리 컴포넌트에서 발생된 이벤트에 따라 해당 기능을 실행시키는 사용자 기능모듈;
    3차원 모델 데이터를 관리하는 모델 커널 및 3차원 모델링 기능 컴포넌트를 개발자가 확장 등록할 수 있는 제2 모델링 컴포넌트;
    모델의 디스플레이 및 디스플레이된 모델의 뷰잉(viewing)을 개발자가 확장 등록할 수 있는 제2 디스플레이 컴포넌트;
    개발자가 선택 구현한 렌더링 툴(Rendering Tool)을 등록하는 제2 렌더링 컴포넌트; 및
    사용자와의 인터페이스를 확장하도록 개발자가 구현하는 제2 GUI 컴포넌트로 이루어진 것을 특징으로 하는 3차원 응용프로그램 프레임워크 구조.
  4. 제 1 항에 따른 3차원 응용프로그램 프레임워크를 기반으로 하는 응용프로그램 구현 방법에 있어서,
    a) 상기 모델선택처리 컴포넌트, 상기 기능관리 컴포넌트 및 상기 프레임워크 시스템(framework system)을 포함하는 기본 프레임워크를 개발툴(컴퓨터)에 설치하는 단계;
    b) 상기 개발툴에서 개발자 정의의 작업 프로젝트를 생성하고 3차원 응용프로그램 실행 시 메인윈도우, 뷰윈도우, 메뉴, 툴바를 처리하는 사용자 메인 모듈을 구현하는 단계;
    c) 상기 b) 단계에서 구현된 상기 사용자 메인 모듈을 상기 프레임워크 시스템에 결합하는 단계;
    d) 사용자 모델 관리 기능, 모델링 기능, 디스플레이 기능, 렌더링 기능 및 GUI 기능을 확장하여 상기 기본 프레임워크에 등록하는 단계; 및
    e) 상기 확장 등록된 기능의 실행, 제어를 위한 사용자 기능을 구현하여 상기 기본 프레임워크에 추가하는 단계를 포함하는 것을 특징으로 하는 3차원 응용프로그램 프레임워크 구조를 기반으로 하는 응용프로그램 구현 방법.
  5. 제 4 항에 있어서,
    상기 d) 단계의 모델링 기능은, 3차원 모델 데이터를 관리하는 모델링 커널 및 3차원 모델링 유틸리티(Utility)를 구비하는 모델링 커널을 포함하여 상기 사용자 확장 컴포넌트를 통해 모델 데이터를 전달받아 모델링 작업이 이루어지고;
    상기 디스플레이 기능은, 상기 모델링 기능을 기반으로 하는 다양한 종류의 모델 디스플레이 및 현재 선택된 모델의 뷰잉(viewing)을 지원하며;
    상기 렌더링 기능은, 렌더링 툴(Rendering Tool)을 지원하고 상기 디스플레이 제어에 따라 화면에 해당 모델을 디스플레이하는 기능이고;
    상기 GUI 기능은, 모델 디스플레이, 선택 및 뷰잉 등의 동작에 관련하여 사용자와의 인터페이스를 제공하여 사용자의 GUI 조작에 따른 이벤트를 발생시키는 것을 특징으로 하는 3차원 응용프로그램 프레임워크 구조를 기반으로 하는 응용프로그램 구현 방법.
  6. 제 1 항에 따른 3차원 응용 프로그램을 구현하기 위한 프레임워크에 대한 3차원 응용소프트웨어를 테스트하는 시스템에 있어서,
    사용자의 기능(function) 실행 기록을 기반으로 생성된 적어도 하나 이상의 테스트 케이스를 저장하는 데이터베이스(DataBase-DB);
    사용자의 기능(function) 실행을 기록하며 상기 DB에 기록된 해당 테스트 케이스를 기반으로 3차원 응용소프트웨어에 대해 자동 테스트를 실행하고 그 실행결과를 사용자에게 제공하는 자동 테스트 처리기;
    단위 기능 자동 테스트와 프로세스 테스트의 각 단계별로 상기 DB에 저장된 모델 데이터와 비교/검증하고 그 검증결과를 상기 자동 테스트 처리기에 통보하는 모델 테스트 컴포넌트; 및
    사용자에 의한 자동 테스트를 감지하면 사용자 요청에 따라 상기 자동 테스트 처리기의 동작 방식을 설정하고 상기 자동 테스트 처리기의 동작을 실행시키는 자동테스트 제어기를 포함하는 것을 특징으로 하는 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템.
  7. 제 6 항에 있어서,
    상기 자동 테스트 처리기는, 프로세스 테스트가 실행될 경우, 사용자의 응용소프트웨어 조작을 기록하여 상기 DB에 테스트 케이스를 생성/저장시키고, 상기 DB에 기록된 해당 테스트 케이스를 기반으로 3차원 응용 프로그램에 대해 프로세스 테스트를 실행하는 것을 특징으로 하는 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템.
  8. 제 6 항 또는 제 7 항에 있어서,
    상기 자동 테스트 처리기는, 상기 기능관리 컴포넌트의 프레임워크 처리기를 기반으로 구현되고, 상기 기능관리 컴포넌트의 프레임워크 처리기를 대체함으로써 3차원 응용소프트웨어에 단위 기능 자동 테스트 및 프로세스 테스트의 처리 기능을 추가시키도록 구성하는 것을 특징으로 하는 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템.
  9. 제 6 항에 있어서,
    상기 자동 테스트 제어기는, 상기 사용자 기능 모듈에 삽입 또는 추가되어 3차원 응용소프트웨어에 단위 기능 자동 테스트 및 프로세스 테스트의 제어 기능을 추가시키도록 구성하는 것을 특징으로 하는 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템.
  10. 제 6 항에 있어서,
    상기 모델 테스트 컴포넌트는, 3차원 모델링 커널을 기반으로 구현되고 상기 3차원 모델링 커널을 대체함으로써 3차원 응용소프트웨어에 대해 프로세스 테스트의 각 테스트 단계별로 비교/검증 기능을 추가하되, 상기 데이터베이스(DB)에 저장된 모델 데이터 보다 정밀도가 향상되도록 구성하는 것을 특징으로 하는 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템.
  11. 제 1 항에 따른 3차원 응용 프로그램을 구현하기 위한 프레임워크에 대한 3차원 응용소프트웨어를 테스트하는 방법에 있어서,
    a) 자동 테스트의 실행을 판단하는 단계;
    b) 자동 테스트의 실행으로 판단되면 사용자의 기능(function) 실행을 기록하는 단계;
    c) 상기 기록된 사용자의 기능 실행을 기반으로 해당 테스트 케이스를 생성하여 저장하는 단계;
    d) 상기 생성/저장된 해당 테스트 케이스를 기반으로 3차원 응용소프트웨어를 테스트하는 단계; 및
    e) 상기 테스트 결과를 사용자에게 제공하는 단계를 포함하는 것을 특징으로 하는 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 방법.
  12. 제 11 항에 있어서,
    f) 사용자에 의한 자동 테스트를 감지하면 사용자 요청에 따라 상기 자동 테스트 처리 방식을 설정하는 단계를 더 포함하는 것을 특징으로 하는 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 방법.
  13. 제 11 항에 있어서,
    상기 d) 단계는, d-1) 프로세스 테스트의 실행으로 판단되면 사용자의 응용소프트웨어 조작을 기록하여 해당 테스트 케이스를 생성/저장시키는 과정; 및
    d-2) 상기 테스트 케이스를 기반으로 3차원 응용 프로그램에 대해 프로세스 테스트를 실행하는 과정을 포함하는 것을 특징으로 하는 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 방법.
  14. 제 13 항에 있어서,
    d-3) 프로세스 테스트의 각 테스트 단계별로 상기 데이터베이스(DB)에 저장된 모델 데이터와 비교/검증하는 과정; 및
    d-4) 상기 검증결과를 해당 테스트 단계에 피드백시켜 사용자에게 통지하는 과정을 더 포함하는 것을 특징으로 하는 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 방법.
PCT/KR2009/001031 2008-03-04 2009-03-03 3차원 응용프로그램 프레임워크 구조 및 이를 기반으로 하는 응용프로그램 구현 방법과, 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템 및 그 방법 WO2009110725A2 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010549565A JP5192055B2 (ja) 2008-03-04 2009-03-03 3次元応用プログラムフレームワーク構造及びこれを基盤とするアプリケーション具現方法、並びに3次元応用ソフトウェアフレームワーク基盤の自動テストシステム及びその方法
US12/672,878 US8676723B2 (en) 2008-03-04 2009-03-03 Automated test system based on three-dimensional application software framework and a method thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2008-0019855 2008-03-04
KR1020080019855A KR100890861B1 (ko) 2008-03-04 2008-03-04 3차원 응용프로그램 프레임워크를 생성하는 방법 및 그 3차원 응용프로그램 프레임워크를 기반으로 하는 응용프로그램 구현 방법
KR10-2008-0045885 2008-05-19
KR1020080045885A KR100949875B1 (ko) 2008-05-19 2008-05-19 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트시스템 및 그 방법

Publications (2)

Publication Number Publication Date
WO2009110725A2 true WO2009110725A2 (ko) 2009-09-11
WO2009110725A3 WO2009110725A3 (ko) 2009-12-17

Family

ID=41056462

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2009/001031 WO2009110725A2 (ko) 2008-03-04 2009-03-03 3차원 응용프로그램 프레임워크 구조 및 이를 기반으로 하는 응용프로그램 구현 방법과, 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템 및 그 방법

Country Status (3)

Country Link
US (1) US8676723B2 (ko)
JP (1) JP5192055B2 (ko)
WO (1) WO2009110725A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104318483A (zh) * 2014-09-22 2015-01-28 国家电网公司 一种虚拟电力应急抢修预案演练系统
US20200126013A1 (en) * 2018-10-23 2020-04-23 Enosix, Inc. Microcomponents for data integration and methods thereof

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101312954B1 (ko) * 2011-03-31 2013-10-01 주식회사 리코시스 3차원 테마를 표현하는 커버페이지를 제공하는 사용자 인터페이스 장치 및 그 구동 방법
WO2013018204A1 (ja) * 2011-08-03 2013-02-07 株式会社日立製作所 画像処理ソフトウェア開発方法、画像処理ソフトウェア開発装置、および、画像処理ソフトウェア開発プログラム
CN103559393A (zh) * 2013-10-30 2014-02-05 武汉大学 基于能力表征模型的对地观测传感器信息共享方法
US9858174B2 (en) 2014-09-26 2018-01-02 Oracle International Corporation Updatable native mobile application for testing new features
US9826045B2 (en) 2014-09-26 2017-11-21 Oracle International Corporation Efficient means to test server generated applications on mobile device
US10073679B2 (en) 2014-09-26 2018-09-11 Oracle International Corporation Efficient and intuitive databinding for mobile applications
US10290133B2 (en) 2014-09-26 2019-05-14 Oracle International Corporation High fidelity interactive screenshots for mobile applications
US9851968B2 (en) 2014-09-26 2017-12-26 Oracle International Corporation High performant iOS template based application build system
US11102313B2 (en) 2015-08-10 2021-08-24 Oracle International Corporation Transactional autosave with local and remote lifecycles
US10582001B2 (en) 2015-08-11 2020-03-03 Oracle International Corporation Asynchronous pre-caching of synchronously loaded resources
US10013668B2 (en) 2015-08-14 2018-07-03 Oracle International Corporation Secure storage of enterprise certificates for cloud services
US10419514B2 (en) 2015-08-14 2019-09-17 Oracle International Corporation Discovery of federated logins
US10452497B2 (en) 2015-08-14 2019-10-22 Oracle International Corporation Restoration of UI state in transactional systems
US10582012B2 (en) 2015-10-16 2020-03-03 Oracle International Corporation Adaptive data transfer optimization
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US9838377B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
EP3465426B1 (en) * 2016-06-06 2023-12-06 Hexagon Technology Center GmbH User interface with movable mini-tabs
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10721237B2 (en) 2016-08-05 2020-07-21 Oracle International Corporation Hierarchical processing for a virtual directory system for LDAP to SCIM proxy service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10169210B2 (en) 2016-08-09 2019-01-01 International Business Machines Corporation Association between a test case and source code
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
EP3513542B1 (en) 2016-09-16 2021-05-19 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US11594307B2 (en) * 2017-12-31 2023-02-28 Laboratory Corporation Of America Holdings Automatic self-documentation in a mobile-native clinical trial operations system and service suite
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
US10904281B2 (en) * 2018-04-18 2021-01-26 Oracle International Corporation Cloud-based security testing interface with security scanners
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
CN108958602B (zh) * 2018-06-25 2021-08-17 广州文冲船厂有限责任公司 3d pdf文件在移动终端上的阅读方法、装置、移动终端及存储介质
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
EP3722942B1 (en) * 2019-04-10 2023-03-22 The Boeing Company Running integration tests using unit tests
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
EP4050489A1 (en) 2021-02-24 2022-08-31 The Boeing Company Automatic generation of integrated test procedures using system test procedures
US11520685B2 (en) * 2021-03-01 2022-12-06 Fmr Llc Systems and methods for an end-to-end automation framework

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060050378A (ko) * 2004-09-29 2006-05-19 마이크로소프트 코포레이션 테스트 자동화 스택 계층화
KR20060087995A (ko) * 2004-10-01 2006-08-03 마이크로소프트 코포레이션 작업 흐름을 모델링하는 방법 및 시스템
KR20070049126A (ko) * 2007-04-11 2007-05-10 학교법인 포항공과대학교 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5335342A (en) * 1991-05-31 1994-08-02 Tiburon Systems, Inc. Automated software testing system
EP0713594B1 (en) * 1993-07-27 1997-10-15 Taligent, Inc. Object-oriented rendering system
US6259969B1 (en) * 1997-06-04 2001-07-10 Nativeminds, Inc. System and method for automatically verifying the performance of a virtual robot
US6921314B2 (en) * 1998-03-13 2005-07-26 George R. Miller Intercleaving spatially dichotomized polyhedral building blocks and extensions
US6907546B1 (en) * 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
JP4516957B2 (ja) * 2003-01-25 2010-08-04 パーデュー リサーチ ファンデーション 3次元オブジェクトについて検索を行なうための方法、システムおよびデータ構造
US8170901B2 (en) 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
JP4691158B2 (ja) * 2005-06-16 2011-06-01 ストライダー ラブス,インコーポレイテッド 三次元クラスモデルを用いた二次元画像における認識システムおよび方法
JP2007102475A (ja) * 2005-10-04 2007-04-19 Dainippon Screen Mfg Co Ltd ソフトウェアシステムのテストケース抽出装置、テストケース抽出プログラムおよびテストケース抽出方法
US20070240102A1 (en) * 2006-03-02 2007-10-11 International Business Machines Corporation Software development tool for sharing test and deployment assets
US20080092057A1 (en) * 2006-10-05 2008-04-17 Instrinsyc Software International, Inc Framework for creation of user interfaces for electronic devices
US8494832B2 (en) * 2007-06-20 2013-07-23 Sanjeev Krishnan Method and apparatus for software simulation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060050378A (ko) * 2004-09-29 2006-05-19 마이크로소프트 코포레이션 테스트 자동화 스택 계층화
KR20060087995A (ko) * 2004-10-01 2006-08-03 마이크로소프트 코포레이션 작업 흐름을 모델링하는 방법 및 시스템
KR20070049126A (ko) * 2007-04-11 2007-05-10 학교법인 포항공과대학교 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104318483A (zh) * 2014-09-22 2015-01-28 国家电网公司 一种虚拟电力应急抢修预案演练系统
US20200126013A1 (en) * 2018-10-23 2020-04-23 Enosix, Inc. Microcomponents for data integration and methods thereof

Also Published As

Publication number Publication date
US20110125448A1 (en) 2011-05-26
JP2011514600A (ja) 2011-05-06
WO2009110725A3 (ko) 2009-12-17
US8676723B2 (en) 2014-03-18
JP5192055B2 (ja) 2013-05-08

Similar Documents

Publication Publication Date Title
WO2009110725A2 (ko) 3차원 응용프로그램 프레임워크 구조 및 이를 기반으로 하는 응용프로그램 구현 방법과, 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트 시스템 및 그 방법
US8281242B2 (en) Editable data tooltips
US8015542B1 (en) System and method for creating a graphical program which invokes methods and properties of objects
US6990652B1 (en) System and method for determining methods and properties to be invoked on objects in a graphical program
US6314470B1 (en) System and method for asynchronously accessing a graphics system for graphics application evaluation and control
US7913170B2 (en) System and method for performing type checking for hardware device nodes in a graphical program
US20080320071A1 (en) Method, apparatus and program product for creating a test framework for testing operating system components in a cluster system
US7743335B2 (en) System and method for accessing registers of a hardware device in a graphical program
US8010839B2 (en) Test system and method which can use tool during debugging
US20080120564A1 (en) System and method for networked software development
US8650500B2 (en) Copy-and-paste functionality for network reconfiguration
RU2678717C9 (ru) Комплекс автоматизации и визуализации тестирования встроенного программного обеспечения электронных устройств
CN112199301A (zh) 用户界面自动化测试方法、电子设备及存储介质
CN112231206A (zh) 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台
US6772228B1 (en) Achieving polymorphism in a COM software architecture or the like
US6895539B1 (en) Universal method and apparatus for controlling a functional test system
KR100949875B1 (ko) 3차원 응용소프트웨어 프레임워크 기반의 자동 테스트시스템 및 그 방법
JP5269450B2 (ja) 試験システム及びバックアノテーション方法
JP2000330970A (ja) シミュレーション装置及びシミュレーション方法
JP2003140895A (ja) 組み替え可能なソフトウェアを持つ検査システム
KR20100096352A (ko) 3차원 응용프로그램 테스트 방법 및 그 방법의 테스트컴포넌트가 기록된 컴퓨터로 읽을 수 있는 기록매체
KR100890861B1 (ko) 3차원 응용프로그램 프레임워크를 생성하는 방법 및 그 3차원 응용프로그램 프레임워크를 기반으로 하는 응용프로그램 구현 방법
Sadr et al. An OO project management strategy
CN115016781A (zh) 嵌入式软件开发方法、装置、电子设备及可读存储介质
CN112307380A (zh) 一种内容展示的控制方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09717882

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 12672878

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2010549565

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09717882

Country of ref document: EP

Kind code of ref document: A2