KR20130029224A - Apparatus for testing application program automatically based on web - Google Patents
Apparatus for testing application program automatically based on web Download PDFInfo
- Publication number
- KR20130029224A KR20130029224A KR1020110092492A KR20110092492A KR20130029224A KR 20130029224 A KR20130029224 A KR 20130029224A KR 1020110092492 A KR1020110092492 A KR 1020110092492A KR 20110092492 A KR20110092492 A KR 20110092492A KR 20130029224 A KR20130029224 A KR 20130029224A
- Authority
- KR
- South Korea
- Prior art keywords
- test
- document
- application
- development
- manager
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치는 응용 프로그램의 개발과 관련된 정보를 기초로, 상기 응용 프로그램의 개발 각 단계마다에 대한 문서를 요구 제안서, 요구 사항 명세서, 상세 요구 사항 명세서, 설계 명세서 및 소스 코드 중 어느 하나의 단계 문서로 분류하고, 상기 각 단계마다에 대한 문서의 이력을 관리하는 문서 관리자; 및 상기 응용 프로그램의 개발 각 단계마다 필요한 테스트 데이터를 생성하고, 상기 어느 하나의 단계 문서와 상기 어느 하나의 단계 문서에 대응하는 테스트 항목 간의 연관 관계를 이용하여 상기 응용 프로그램을 테스트 하는 테스트 관리자를 제공할 수 있다.According to an embodiment, an apparatus for automatically testing an application developed based on the web may include a document for each stage of development of the application based on information related to the development of the application. A document manager which classifies the document into one of the detailed requirements specification, the design specification, and the source code, and manages the history of the document for each step; And generating a test data required for each stage of the development of the application, and testing the application by using an association between the one step document and a test item corresponding to the one step document. can do.
Description
아래의 실시예들은 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에 관한 것이다.The following embodiments relate to an apparatus for automatically testing an application developed based on the web.
요구 사항 분석은 소프트웨어를 개발하는 첫 단계로서 무엇을 개발해야 하는지를 파악하는 중요한 단계라고 할 수 있다. 요구 사항 분석은 고객이 원하는 요구 사항을 개발자의 관점에서 이해하고, 그것을 향후 개발 공정에 적용시킬 수 있도록 사용자의 관점으로 표현하는 과정이다. 따라서, 예를 들어 요구 공학과 같이 이러한 과정을 체계적으로 처리할 수 있는 방법이 필요하다. Requirements analysis is the first step in developing software, which is an important step in understanding what needs to be developed. Requirements analysis is the process of understanding the customer's requirements from the developer's point of view and expressing them from the user's point of view so that they can be applied to future development processes. Therefore, there is a need for a method that can systematically handle this process, such as requirements engineering.
요구 공학은 개발될 시스템에 대한 요구 사항 문서를 생성하고 유지하는 모든 활동을 포함하는 프로세스를 의미한다. 요구 공학은 시스템의 타당성 조사, 요구 사항의 도출과 분석, 요구 사항의 명세화 및 문서화, 그리고 요구 사항의 검증 등과 같은 프로세스 활동으로 구성될 수 있다. Requirements engineering refers to a process that includes all the activities of creating and maintaining requirements documents for the system to be developed. Requirements engineering can consist of process activities such as feasibility studies of systems, derivation and analysis of requirements, specification and documentation of requirements, and verification of requirements.
요구 공학에서는 요구 사항에 대한 추적성이 중요하게 고려된다. 추적성은 요구 사항과 그로부터 파생되는 다른 산출물들의 관계를 관리하는 능력을 의미한다. 예를 들어, 요구 사항으로부터 파생된 산출물들이 요구 사항 명세서에 기재된 모든 기능들을 만족시키고 정확하게 반영하였는지를 검증 및 확인하는 것은 앞서 정의한 추적성을 뒷받침할 수 있는 활동들이다. 요구 사항으로부터 파생된 산출물들로는 설계 문서, 소스 코드 및 실행 파일 등과 같은 각종 구현물, 테스트 계획서 등을 일 예로 들 수 있다. In requirements engineering, traceability to requirements is important. Traceability refers to the ability to manage the relationship between requirements and other deliverables derived from them. For example, verifying and confirming that artifacts derived from requirements have met and accurately reflected all the features described in the requirements specification are activities that can support the traceability defined above. Deliverables derived from requirements include, for example, various implementations such as design documentation, source code, and executables, and test plans.
검증은 요구 사항 분석의 결과가 사용자의 요구를 만족시킬 수 있는 것인지, 사용자가 원하는 올바른 제품을 만들었는지 검사하는 활동들이다. 또한, 확인은 개발 주기 상에서 현 단계의 산출물이 바로 이전 단계의 산출물과 일치하는가를 결정하는 과정으로, 사용자가 바라는 대로 소프트웨어가 만들어졌음을 확신할 수 있도록 수행하는 활동이다. 이와 같은 요구 사항의 기능적 요소를 정확하게 반영하기 위해서는 요구 사항 명세서에 기재된 기능들에 대한 추적을 수행할 수 있어야 한다.Verification is an activity that checks whether the results of the requirements analysis can meet the user's needs and create the right product for the user. In addition, verification is the process of determining whether the output of the current stage matches the output of the previous stage in the development cycle, to ensure that the software is created as the user desires. In order to accurately reflect the functional elements of such requirements, it is necessary to be able to track the functions described in the requirements specification.
일 실시예에 따르면, 웹 브라우저를 통해 개발 산출물(예를 들어, 단계 문서)과 테스트 항목 간의 연관 관계를 설정함으로써 문서 작성 단계에서 입력된 정보를 그대로 이용하여 테스트에 필요한 테스트 데이터를 자동적으로 생성할 수 있는 장치를 제공할 수 있다. According to an embodiment of the present invention, the test output required for the test may be automatically generated by using the information input in the document creation step by establishing an association between the test product and the test product through a web browser. It can provide a device that can.
일 실시예에 따르면, 분산된 환경에서 동작하는 소프트웨어에 대한 프로젝트 관리를 웹을 통해 수행함으로써 소프트웨어 개발자 및 테스터에게 편의를 제공할 수 있다. According to an embodiment, project management for software operating in a distributed environment may be performed through the web to provide convenience to software developers and testers.
일 실시예에 따르면, 웹 브라우저를 통해 소프트웨어를 개발함으로써 요구 사항의 관리 및 추적을 위한 각 단계 문서의 작성 절차에 대한 일관성을 제공하는 한편, 단계 문서의 각 항목을 자동적으로 테스트하여 안정성과 신뢰성을 확보할 수 있다.According to one embodiment, software is developed through a web browser to provide consistency for the creation of each step document for managing and tracking requirements, while automatically testing each item of the step document to ensure stability and reliability. It can be secured.
일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치는 응용 프로그램의 개발과 관련된 정보를 기초로, 상기 응용 프로그램의 개발 각 단계마다에 대한 문서를 요구 제안서, 요구 사항 명세서, 상세 요구 사항 명세서, 설계 명세서 및 소스 코드 중 어느 하나의 단계 문서로 분류하고, 상기 각 단계마다에 대한 문서의 이력을 관리하는 문서 관리자; 및 상기 응용 프로그램의 개발 각 단계마다 필요한 테스트 데이터를 생성하고, 상기 어느 하나의 단계 문서와 상기 어느 하나의 단계 문서에 대응하는 테스트 항목 간의 연관 관계를 이용하여 상기 응용 프로그램을 테스트 하는 테스트 관리자를 포함한다. According to an embodiment, an apparatus for automatically testing an application developed based on the web may include a document for each stage of development of the application based on information related to the development of the application. A document manager which classifies the document into one of the detailed requirements specification, the design specification, and the source code, and manages the history of the document for each step; And a test manager generating test data required for each stage of development of the application and testing the application by using an association between the one step document and a test item corresponding to the one step document. do.
웹 브라우저를 통해 수신한 사용자의 요청에 따라, 응용 프로그램의 개발과 관련된 정보를 저장하고, 상기 응용 프로그램의 개발에 따른 산출물에 대한 요구 질의(query)를 생성하는 프로젝트 관리자를 더 포함할 수 있다.The project manager may further include a project manager configured to store information related to the development of the application and generate a request query for the output according to the development of the application according to a user's request received through the web browser.
상기 문서 관리자는 상기 사용자로부터 입력된 상기 응용 프로그램의 개발 단계별 문서 정보를 이용하여 상기 어느 하나의 단계 문서의 적어도 하나의 단위 항목에 대한 문서를 생성하는 단위 항목 입력기; 및 상기 응용 프로그램의 개발 단계별 문서 정보를 이용하여 상기 적어도 하나의 단위 항목 간의 연관 관계를 설정하는 연관 관계 설정기를 포함할 수 있다. The document manager may further include: a unit item input unit configured to generate a document for at least one unit item of the one step document by using document information for each step of development of the application program input from the user; And an association relationship setter for establishing an association relationship between the at least one unit item using document information for each stage of development of the application program.
상기 어느 하나의 단계 문서와 상기 테스트 항목 간의 연관 관계를 포함하는 테스트 대상 정보를 이용해 테스트 케이스를 자동으로 생성하고, 상기 테스트를 수행하는 데에 이용되는 테스트 대상 함수 및 인터페이스를 호출하기 위한 테스트 드라이버 코드를 생성하여 상기 응용 프로그램의 개발 각 단계마다에 대한 테스트를 실행하는 테스트 코어를 더 포함할 수 있다. Test driver code for automatically generating test cases using test target information including an association between the one step document and the test item, and calling test target functions and interfaces used to perform the test. It may further include a test core for generating a test to execute a test for each step of the development of the application.
일 실시예에 따르면, 소프트웨어 개발 시의 요구 사항에 대한 관리와 요구 사항에 대한 추적성을 향상시키기 위해 문서를 작성하는 공통된 프로세스를 제공함으로써, 컴포넌트 혹은 모듈 기반의 소프트웨어 개발을 위한 보다 효율적인 장치를 제공할 수 있다. According to one embodiment, by providing a common process for creating a document to improve the management of requirements and traceability of requirements during software development, providing a more efficient device for developing software based on components or modules can do.
일 실시예에 따르면, 소프트웨어 개발자로부터 입력된 정보에 따라 각 단계 문서의 단위 항목을 작성하고, 각 단위 항목의 요구 사항 추적을 위해 설정된 연관 관계를 이용함으로써 모듈 간의 인터페이스 호출 관계를 보다 용이하게 확인할 수 있다. According to an embodiment of the present disclosure, the interface call relationship between modules can be more easily identified by creating a unit item of each step document according to information input from a software developer and using an association set for tracking the requirements of each unit item. have.
일 실시예에 따르면, 개발된 소프트웨어에 대해 단위 테스트와 통합 테스트를 수행할 때 자동적으로 테스트 드라이버 및 테스트 케이스를 생성하여 테스트 수행 절차를 자동화 함으로써 소프트웨어에 대한 테스트를 간편하게 수행할 수 있다.According to an embodiment of the present disclosure, when unit tests and integration tests are performed on the developed software, test drivers and test cases are automatically generated to automate the test execution procedure, thereby making it easy to test the software.
또한, 일 실시예에 따르면, 컴포넌트 혹은 모듈 기반으로 소프트웨어를 개발할 때 웹 브라우저에 의해 효율적으로 프로젝트를 관리함으로써 소프트웨어 개발 및 테스트 비용을 절감하는 동시에 개발 기간 또한 단축할 수 있다. In addition, according to an embodiment, when developing a software based on a component or module, the project can be efficiently managed by a web browser, thereby reducing the cost of software development and testing and shortening the development period.
도 1은 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 문서 관리자가 단계 문서를 생성하는 과정을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 응용 소프트웨어의 개발 문서와 개발 문서를 시험 및 검증하기 위한 테스트 문서 간의 관계를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 문서 관리를 위한 프로젝트를 생성하는 과정에 따른 데이터 흐름을 나타낸 도면이다.
도 4는 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 단위 항목 정보의 입력에 따른 데이터 흐름을 나타낸 도면이다.
도 5는 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 연관 관계를 설정하는 과정을 나타낸 도면이다.
도 6은 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 테스트 코어가 테스트를 수행하는 절차를 나타낸 도면이다.
도 7은 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 테스트 프로젝트를 생성하여 테스트를 수행하는 때의 데이터 흐름을 나타낸 도면이다.
도 8은 일 실시예에 따른 문서 관리자 및 테스트 관리자를 포함하는 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치의 구조를 나타낸 도면이다.
도 9는 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 단계 문서 간의 연관 관계와 소프트웨어 모듈 간의 인터페이스 호출을 나타낸 도면이다.
도 10은 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치의 테스트 코어에서 테스트 프로젝트를 생성함에 따라 테스트 드라이버 모듈이 생성되는 구조를 나타낸 도면이다. FIG. 1 is a diagram for describing a process of generating a step document by a document manager in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
FIG. 2 is a diagram for describing a relationship between a development document of an application software and a test document for testing and verifying a development document in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
3 is a diagram illustrating a data flow according to a process of generating a project for document management in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
4 is a diagram illustrating a data flow according to input of unit item information in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
5 is a diagram illustrating a process of establishing an association in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
6 is a diagram illustrating a test core performed by a test core in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
FIG. 7 is a diagram illustrating a data flow when a test project is generated by performing a test in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
8 is a diagram illustrating a structure of an apparatus for automatically testing an application program developed based on a web including a document manager and a test manager, according to an exemplary embodiment.
FIG. 9 is a diagram illustrating an association relationship between step documents and an interface call between software modules in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
FIG. 10 is a diagram illustrating a structure in which a test driver module is generated as a test project is generated in a test core of an apparatus for automatically testing an application program developed based on the web, according to an embodiment.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Also, like reference numerals in the drawings denote like elements.
소프트웨어 테스트는 시스템에 존재하는 결함의 발견과 처리가 주요 목적이다. 소프트웨어 테스트에는 현재 시스템의 위험 요소를 파악하고 관리하기 위한 요구 또한 존재한다. 소프트웨어 테스트의 레벨에 따라, 가장 낮은 수준에서 일어나는 테스트를 단위 테스트 또는 모듈 테스트라 한다. 소프트웨어의 테스트 시에 단위들을 각각 테스트하여 저 수준의 버그들을 발견하여 수정하고 나면, 이들을 한데 모아 모듈 그룹 단위로 통합 테스트를 시행한다. 이런 방식의 테스트는 더 많은 조각들을 모아서 한 번에 전체 제품에 대한 테스트를 할 수 있을 때까지 계속되며, 전체 소프트웨어에 대한 통합 테스트를 시스템 테스트라 한다.
Software testing is primarily aimed at finding and dealing with defects in the system. Software testing also requires the identification and management of current system risks. Depending on the level of software test, the tests that occur at the lowest level are called unit tests or module tests. When testing software, each unit is tested and low-level bugs are found and fixed. Then, they are put together and run integration tests in module groups. This type of testing continues until you can gather more pieces and test the entire product at once, and the integrated test of the entire software is called system testing.
도 1은 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 문서 관리자가 단계 문서를 생성하는 과정을 설명하기 위한 도면이다. FIG. 1 is a diagram for describing a process of generating a step document by a document manager in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치(이하, 테스트 장치)는 프로젝트 관리자(110) 및 문서 관리자(150)를 포함한다.According to an embodiment, an apparatus for automatically testing an application developed based on the web (hereinafter, a test apparatus) includes a
프로젝트 관리자(110)는 컴포넌트 혹은 모듈 기반 소프트웨어 개발 프로젝트의 요구 사항 관리를 위하여 개발 각 단계별로 산출되는 문서 작성을 위한 일관된 프로세스를 제공하는 역할을 한다. The
보다 구체적으로 프로젝트 관리자(110)는 웹 브라우저를 통해 수신한 사용자의 요청에 따라, 응용 프로그램의 개발과 관련된 정보를 저장하고, 응용 프로그램의 개발에 따른 산출물에 대한 요구 질의(query)를 생성한다. 여기서, 응용 프로그램의 개발과 관련된 정보는 응용 프로그램과 관련된 이벤트 정보 및 상태 정보를 포함할 수 있다. More specifically, the
일 실시예에 따르면, 프로젝트 관리자(110)는 단계 유형 입력 처리기(113) 및 프로젝트 생성기(115)를 포함할 수 있다. 단계 유형 입력 처리기(113)는 사용자로부터 입력된 프로젝트의 단계 문서의 유형에 대한 단계 유형 정보에 기초하여 자료 구조 리스트를 생성한다. 프로젝트 생성기(115)는 프로젝트의 단계별 및 사용자별 저장 공간을 생성하기 위한 프로젝트를 생성한다. According to an embodiment, the
또한, 문서 관리자(150)는 응용 프로그램의 개발과 관련된 정보를 기초로, 응용 프로그램의 개발 각 단계마다에 대한 문서를 요구 제안서, 요구 사항 명세서, 상세 요구 사항 명세서, 설계 명세서 및 소스 코드 중 어느 하나의 단계 문서로 분류하고, 각 단계마다에 대한 문서의 이력을 관리한다. In addition, the
보다 구체적으로, 문서 관리자(150)는 응용 프로그램의 개발과 관련된 정보를 기초로, 응용 프로그램의 개발 각 단계마다에 대한 단계 문서를 작성하고, 단계 문서에 대한 요구 사항을 추적하기 위한 연관 관계를 설정한다. 일 실시예에서는 연관 관계의 설정을 통해 사용자의 요구 사항을 만족시키기 위해 필요한 컴포넌트 및 모듈의 선정과 서로 간의 인터페이스 호출 관계를 보다 용이하게 파악할 수 있다. 뿐만 아니라, 웹을 통해 작성된 문서의 이력 추적을 통해 개발의 진행 과정 또한 용이하게 파악할 수 있다. More specifically, the
일 실시예에 따르면 문서 관리자(150)는 단위 항목 입력기(151), 연관 관계 설정기(153) 및 뷰어(155)를 포함할 수 있다. According to an embodiment, the
단위 항목 입력기(151)는 프로젝트 생성 후, 사용자로부터 입력된 응용 프로그램의 개발 단계별 문서 정보(예를 들어, 단위 항목의 기본 요소와 확장 요소를 포함하는 단위 항목에 대한 단위 항목 정보)를 이용하여 프로젝트 각 단계의 단계 문서의 적어도 하나의 단위 항목에 대한 XML 파일을 생성할 수 있다. After creating a project, the unit
연관 관계 설정기(153)는 사용자로부터 입력된 응용 프로그램의 개발 단계별 문서 정보(예를 들어, 사용자가 지정한 소스 항목과 목적 항목에 대한 정보와 같은 연관 관계 설정 정보)를 이용하여 프로젝트 각 단계에서 적어도 하나의 단위 항목 간의 연관 관계를 설정하고, 연관 관계에 대한 정보를 저장 및 관리한다. The
뷰어(Viewer)(155)는 단위 항목 입력기(151) 및 연관 관계 설정기(153)에 의해 수행된 문서 작업의 결과물을 웹 브라우저를 통해 사용자에게 보여준다.The
또한, 문서 관리자(150)는 응용 프로그램의 개발 각 단계마다에 대한 단계 문서를 아래의 [표 1]에 나타난 단계 문서 중 어느 하나의 단계 문서로 분류하고, 각 단계마다에 대한 단계 문서의 이력을 관리할 수 있다. In addition, the
단계 문서는 예를 들어, 요구 제안서(Request For Proposal; RFP), 요구 사항 명세서(Software Requirements Specification; SRS), 상세 요구 사항 명세서(Detailed SRS; DSRS), 설계 명세서(Software Design Specification; SDS) 및 소스 코드(Source Code) 등을 포함할 수 있다. Step documents can include, for example, Request For Proposal (RFP), Software Requirements Specification (SRS), Detailed SRS (DSRS), Software Design Specification (SDS), and Source. Code (Source Code) and the like can be included.
또한, 테스트 장치는 개발된 컴포넌트 및 모듈의 안정성 및 신뢰성을 확보하기 위해, 각각의 인터페이스와 모듈의 조합을 통해 설계된 요구 기능에 대한 테스트를 수행하는 테스트 관리자를 포함한다. 테스트 관리자에 대하여는 도 7을 참조하여 설명한다.
In addition, the test apparatus includes a test manager that performs a test on a required function designed through a combination of respective interfaces and modules, in order to ensure the stability and reliability of the developed components and modules. The test manager will be described with reference to FIG. 7.
도 2는 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 응용 소프트웨어의 개발 문서와 개발 문서를 시험 및 검증하기 위한 테스트 문서 간의 관계를 설명하기 위한 도면이다.FIG. 2 is a diagram for describing a relationship between a development document of an application software and a test document for testing and verifying a development document in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
일 실시예에서 프로젝트에 의한 개발 문서(210)의 유형에는 요구 제안서(RFP)(212), 요구 사항 명세서(SRS)(214), 상세 요구 사항 명세서(DSRS)(216) 및 설계 명세서(SDS)(218) 등이 포함될 수 있다. In one embodiment, the type of
또한, 소프트웨어의 개발 문서(210)에 대응하는 테스트 문서(250)의 유형에는 인수 테스트(Acceptance Test)(252), 시스템 테스트(System Test)(254), 통합 테스트(Integration Test)(256) 및 단위 테스트(Unit Test)(258) 등이 포함될 수 있다. In addition, the types of
일 실시예에서 각 단계별 유형 간에 연관성이 부여된 단위 항목들을 연결하는 것을 연관 관계 설정(230)이라 한다. 단위 항목들을 서로 연결하는 때에 왼쪽에 위치하는 단계의 단위 항목이 소스 항목(240)이 되고, 오른쪽에 위치하는 단위 항목이 목적 항목(245)이 되어 연관 관계가 설정된다. In one embodiment, the association of unit items given association between the types of steps may be referred to as association setting 230. When the unit items are connected to each other, the unit item in the step located on the left becomes the
프로젝트 전체에서 단위 항목들 간의 연관 관계는 사용자의 요구 사항에 대한 단위 항목으로부터 프로젝트의 최종적인 구현 결과에 해당하는 단위 항목까지 유기적으로 연결된다. 또한, 연관 관계는 개발 문서(210)의 단계별 유형뿐만 아니라 테스트 문서(250)의 각 테스트 단계별 유형에 대하여도 적용된다. The associations between unit items throughout the project are organically linked from the unit item for the user's requirements to the unit item corresponding to the final implementation of the project. In addition, the association applies to each type of test step of
테스트 문서(250)의 단계별 유형들(테스트 항목들)간의 관계는 개발 문서(210)의 단계별 유형들(단위 항목들) 간의 연관 관계와도 서로 밀접하게 관계를 맺는다. The relationship between the step types (test items) of the
따라서, 특정 단위 항목이 테스트 문서(250)를 포함하는 경우, 해당 특정 단위 항목이 속한 단계 유형 내의 다른 단위 항목과 연관 관계를 갖는 동시에 특정 항목과 연계되는 테스트 문서의 단계 유형 내의 테스트 항목(260)과 연관 관계(220)를 갖는다.Thus, if a particular unit item includes a
이때, 개발 문서(210)의 단위 항목(240, 250)과 테스트 문서(250)의 테스트 항목(260) 간의 연관 관계(220)를 연결하는 점선은 연관 관계가 N : M의 관계가 될 수 있음을 나타낸다. 또한, 요구 사항 명세서(SRS)(214)의 단위 항목은 시스템 테스트(254) 및 통합 테스트(256)의 테스트 항목과 동시에 연관 관계를 형성할 수도 있다. In this case, the dotted line connecting the
이와 같은 연관 관계 설정(230)을 통해 사용자는 소프트웨어가 사용자의 요구 사항으로부터 적정하게 도출된 중간 단계의 설계 과정을 거쳐 구현에 이르렀는지 여부는 물론 해당 개발 단계에 대한 테스트가 정확하게 이루어졌는지를 간편하게 확인할 수 있다.
This association setting 230 allows the user to easily determine whether the software has been implemented through an intermediate design process derived appropriately from the user's requirements, and whether the development has been correctly tested. Can be.
도 3은 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 문서 관리를 위한 프로젝트를 생성하는 과정에 따른 데이터 흐름을 나타낸 도면이다. 3 is a diagram illustrating a data flow according to a process of generating a project for document management in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
프로젝트의 생성은 단계 문서 작성기의 사용자(이하, '사용자')(301)로부터의 프로젝트 생성 요청(325)으로부터 시작된다. 사용자(301)는 프로젝트의 생성 시에 단계 문서 작성기의 입력창을 통해 예를 들어, 프로젝트 명, 프로젝트의 시작일 및 종료일, 프로젝트 참여자 및 단계 유형 등과 같은 프로젝트와 관련된 정보를 입력한다(320). 여기서, 사용자(301)는 해당 프로젝트의 관리자 이상 등급의 사용자에 해당하는 것으로 한다. The creation of the project begins with a
사용자로부터 프로젝트와 관련된 정보를 포함하는 프로젝트 생성 요청을 수신함에 따라, 프로젝트 관리자(305)는 프로젝트와 관련된 정보를 데이터베이스에 등록한다(330).Upon receiving a project creation request including information related to the project from the user, the
프로젝트 관리자(305)는 프로세스 제어기(309)에게 프로젝트를 위한 저장 공간(즉. 메인 저장소) 및 프로젝트의 참여자들 각각을 위한 사용자별 저장 공간(저장소)의 생성을 요청한다(335).The
프로세스 제어기(309)는 외부 프로세스(311)인 서브 버전(SVN)(313)의 동작을 제어하여(340) 저장 공간(저장소)을 생성한다(345).The
프로세스 제어기(309)로부터 저장 공간(저장소)의 생성 결과가 반환되면(350), 프로젝트 관리자(305)는 해당 결과를 데이터베이스(DB)에 등록한다(355).When the result of the creation of the storage space (store) is returned from the process controller 309 (350), the
이후, 문서 관리자(307)는 사용자(301)에 의해 입력된 단계 (유형)(여기서는 기본 단계)에 대한 정보(즉, 단계 유형 정보)를 이용하여 XML 파일을 생성한다(360).Thereafter, the
문서 관리자(307)의 업로드 요청(365)에 따라, 프로세스 제어기(309)는 기본 단계 (유형)의 문서 파일을 프로젝트에 참여한 모든 참여자들 각각의 저장 공간(저장소)에 업로드 한다(370).In response to the upload
문서 관리자(307)는 프로세스 제어기(309)로부터 기본 단계 (유형)의 문서 파일에 대한 업로드 결과를 반환 받아(375) 그 결과를 저장한다(380).The
문서 관리자(307)로부터 프로젝트 생성 결과를 수신(385)한 뷰어(Viewer)(303)는 해당 결과를 출력하여(390) 사용자(301)가 그 결과를 확인(395)할 수 있도록 함으로써 문서 관리를 위한 프로젝트의 생성을 마치게 된다.
The
도 4는 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 단위 항목 정보의 입력에 따른 데이터 흐름을 나타낸 도면이다. 4 is a diagram illustrating a data flow according to input of unit item information in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
단위 항목 생성기(410)는 단위 항목 입력창(411)을 통해 단계 문서 작성기의 사용자(이하, '사용자')(401)로부터 단위 항목 정보를 수신하여 단위 항목에 대한 기본 정보를 데이터베이스에 저장한다(435,440).The unit item generator 410 receives unit item information from a user (hereinafter, 'user') 401 of the step document creator through the unit
단위 항목 생성기(410)는 해당 정보(단위 항목 정보)를 XML 스키마에 저장한다(445). 이때, 단위 항목 입력창(411)을 통해 단위 항목의 기본 요소와 확장 요소를 입력 받은 단위 항목 생성기(410)는 입력 받은 정보를 정해진 구조체에 저장한다. 그리고, XML 처리기(415)는 구조체에 저장된 정보를 이용하여 XML 파일을 작성한다. The unit item generator 410 stores the corresponding information (unit item information) in the XML schema (445). At this time, the unit item generator 410 that receives the basic element and the extended element of the unit item through the unit
단위 항목 생성기(410)는 프로세스 관리자(420)에게 XML 처리기(415)에 의해 작성된 단위 항목에 대한 XML 파일의 업로드를 요청한다(450). 프로세스 관리자(420)는 프로세스 제어기(425)에 의해 외부 프로세서(430)인 서브 버전(417)의 동작을 제어(455)하여 해당 단위 항목에 대한 XML 파일을 프로젝트 생성 시에 만들어진 저장 공간(저장소)로 업로드 한다(460).The unit item generator 410 requests the
이 후, 프로세스 제어기(425)로부터 반환(465)된 업로드 결과는 프로세스 관리자(420)에 저장(470)된 후, 다시 단위 항목 생성기(410)로 반환(475)되어, 데이터베이스에 등록된다(480).Thereafter, the upload result returned from the
단위 항목 입력창(411)은 단위 항목에 대한 생성 결과를 뷰어(405)를 통해 사용자(401)에게 알리고(485, 490), 사용자(401)는 뷰어(405)를 통해 그 결과를 확인한다(495). 이후, 프로젝트의 참여자에 의해 단위 항목이 수정되면, 서브 버전(417)의 리비전 번호에 의해 버전에 대한 관리가 수행될 수 있다.
The unit
도 5는 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 연관 관계를 설정하는 과정을 나타낸 도면이다. 5 is a diagram illustrating a process of establishing an association in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
도 5에서 연관 관계 설정기(510)는 단계 문서 작성기의 사용자(이하, '사용자')(501)가 설정한 단위 항목 간 연관 관계에 대한 연관 관계 설정 정보를 데이터베이스에 레코드 형태로 저장하여 관리한다. 사용자(501)가 단위 항목 간 연관 관계를 삭제하거나, 해당 단위 항목을 삭제하면, 해당 단위 항목과 관련하여 삽입된 레코드는 데이터베이스에서 삭제된다. In FIG. 5, the association setter 510 stores and manages association relationship setting information about association relationships between unit items set by a user (hereinafter, referred to as a 'user') 501 of the step document creator in a database in record form. . When the
사용자(501)로부터 연관 관계 설정 정보를 수신(515)한 연관 관계 설정기(510)의 연관 관계 정보 처리기(505)는 데이터베이스 컨트롤러(507)에게 연관 관계에 대한 정보의 저장을 요청할 수 있다(520).The
505의 요청에 따라 연관 관계 설정기(510)는 해당 정보(연관 관계에 대한 정보)를 연관 관계 테이블에 삽입하여 저장(525)하고, 그 처리 결과를 뷰어(503)에게 전송한다(530). 사용자(501)는 뷰어(503)를 통해 결과가 출력(535)됨에 따라 처리 결과를 확인할 수 있다(540).
In response to the request of 505, the association setter 510 inserts the corresponding information (information about association) into the association table and
도 6은 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 테스트 코어가 테스트를 수행하는 절차를 나타낸 도면이다. 6 is a diagram illustrating a test core performed by a test core in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
일 실시예에 따른 테스트 코어(600)는 문서 관리자와 연동하여 테스트를 자동으로 수행하기 위한 모듈로써, 단계 문서와 테스트 항목 간의 연관 관계를 포함하는 테스트 대상 정보를 이용해 테스트 케이스를 자동으로 생성하고, 테스트를 수행하는 데에 이용되는 테스트 대상 함수 및 인터페이스를 호출하기 위한 테스트 드라이버 코드를 생성할 수 있다. 테스트 코어(600)는 생성된 테스트 케이스 및 테스트 드라이버 코드를 이용하여 응용 프로그램의 개발 각 단계마다에 대한 테스트를 실행할 수 있다. The
테스트 코어(600)는 테스트 대상 정보 수집기(610), 테스트 케이스 생성기(620), 테스트 드라이버 생성기(630), 테스트 실행기(640), 테스트 결과 분석기(650), 단위 항목 시험기 뷰어(660) 및 컴포넌트 플랫폼(670)을 포함할 수 있다. The
테스트 대상 정보 수집기(610)는 문서 관리자로부터 적어도 하나의 단위 항목과 테스트 항목 간의 연관 관계를 포함하는 테스트 대상 정보를 수집한다.The test
테스트 케이스 생성기(620)는 사용자로부터 테스트 대상 정보(135)와 테스트 케이스 후보 값 생성 조건을 입력 받아 테스트 케이스를 자동으로 생성한다. The
테스트 드라이버 생성기(630)는 테스트를 수행하는 데에 이용되는 테스트 대상 함수 및 인터페이스를 호출하기 위한 테스트 드라이버 코드를 생성한다.The
테스트 실행기(640)는 테스트 드라이버 코드를 이용하여 상기 프로젝트의 개발 단계마다 산출되는 결과물에 대한 테스트를 실행한다. 테스트 실행기(640)는 단위 테스트 실행기(641)와 통합 테스트 실행기(645)로 구분될 수 있다. The
단위 테스트 실행기(641)는 사용자로부터 입력된 단계 문서의 단위 항목으로부터 수집된 인터페이스 정보 및 인터페이스 정보와 관련된 코드 항목에 대한 정보를 테스트할 수 있다. The unit test executor 641 may test the interface information collected from the unit item of the step document input from the user and the information about the code item related to the interface information.
또한, 통합 테스트 실행기(645)는 단계 문서의 상위 단계 문서에서 요구되는 기능과 관련된 함수의 인터페이스 및 상위 단계 문서 간의 연관 관계를 이용하여 프로젝트를 위한 적어도 하나의 모듈 및 소스 코드 상호 간의 상호 연동을 테스트할 수 있다. 통합 테스트 실행기(645)는 테스트에 필요한 추가적인 환경 구성 정보 및 컴포넌트 플랫폼(670)를 제어하기 위한 플랫폼 컨트롤러를 포함할 수 있다. In addition, the
테스트 관리자를 통한 테스트의 수행은 도 2의 문서 항목과 테스트 항목 간의 연관 관계를 이용하여 단계 문서 작성기(680)에 의한 단계 문서 작성 단계에서 입력된 개발 소프트웨어의 정보를 테스트 대상 정보 수집기(610)가 수집함으로써 이루어질 수 있다. The test
컴포넌트 및 모듈의 단위 테스트를 수행하기 위해서, 테스트 코어(600)는 요구 사항 명세서(SDS)로부터 인터페이스 정보를 수집하고, 그와 관련된 코드 항목의 정보를 수집하여 테스트할 수 있다. In order to perform unit tests of components and modules, the
또한, 테스트 코어(600)는 통합 테스트를 위해서 상세 요구 사항 명세서(DSRS)로부터 단위 요구 기능 정보와 그와 관련된 함수의 인터페이스 및 코드를 설정한 단계 문서 간 연관 관계를 이용하여 테스트를 수행할 수 있다.In addition, the
테스트 대상 정보가 수집되면 테스트 코어(600)에 의해 테스트 케이스의 생성, 테스트 드라이버의 생성, 테스트의 수행이 자동으로 수행되고, 테스트 결과는 사용자에게 통보된다. 사용자는 문서 관리자 혹은 테스트 관리자에 의해 테스트 결과를 확인할 수 있다.When the test target information is collected, the
통합 테스트 실행기(645)에 의해 수행되는 통합 테스트는 여러 모듈 및 소스 코드가 상호 연동하여 동작하는 기능에 대한 테스트이므로 내부적으로 대상 기능을 동작시키기 위한 요구 플랫폼의 동작을 수행하는 기능을 포함할 수 있다.
The integration test performed by the
도 7은 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 테스트 프로젝트를 생성하여 테스트를 수행하는 때의 데이터 흐름을 나타낸 도면이다. FIG. 7 is a diagram illustrating a data flow when a test project is generated by performing a test in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
소프트웨어에 대한 시험 및 검증의 수행은 문서 관리 단계 및 테스트 단계 간의 연관 관계를 이용하여 수행될 수 있다. 테스트 항목의 연관 관계는 테스트 프로젝트를 생성함에 따라 설정된다. Performing testing and verification of the software can be performed using the association between the document management phase and the test phase. The association of test items is established by creating a test project.
단위 항목 시험기의 사용자(이하, 사용자(701)로부터 테스트 요청(720)을 수신한 테스트 관리자(705)는 테스트 코어(710)에게 테스트 프로젝트를 생성할 것을 요청한다(725). The user of the unit item tester (hereinafter, the
여기서, 테스트 프로젝트는 문서 관리 프로세스 중 단계 유형의 세부 아이템에 대한 테스트 프로젝트이며, 개발 프로젝트와 테스트 프로젝트 간에는 1:N의 관계가 성립할 수 있다. 즉, 단계 유형의 세부 아이템에 대하여 여러 개의 테스트 프로젝트가 생성될 수 있다.Here, the test project is a test project for detailed items of the step type in the document management process, and a 1: N relationship may be established between the development project and the test project. That is, several test projects may be generated for the detailed items of the step type.
테스트 관리자(705)는 개발된 개개의 컴포넌트와 컴포넌트가 조합된 응용 소프트웨어의 기능을 테스트하기 위해 테스트 드라이버의 생성과 테스트 인터페이스의 추가, 테스트 케이스 생성을 포함하는 테스트의 수행을 자동적으로 실시한다. 이러한 테스트 자동화는 단계 문서 작성기를 통해 입력된 개발 정보와 문서 정보 및 문서 간의 연관 관계를 이용하여 컴포넌트 혹은 모듈 기반으로 설계된 소프트웨어를 효율적으로 테스트 할 수 있게 한다.The
테스트 관리자(705)는 테스트 프로젝트의 정보를 데이터베이스에 등록하고 문서 관리자에 의해 설정된 항목의 연관 관계 설정 정보를 이용해 개발 프로세스와 테스트 프로세스(또는 개발 문서와 테스트 문서) 간의 연관 관계를 설정한다. The
또한, 테스트 관리자(705)는 응용 프로그램의 개발 각 단계마다 필요한 테스트 데이터를 생성하고, [표 1]에 나타난 단계 문서들 중 어느 하나의 단계 문서와 어느 하나의 단계 문서에 대응하는 테스트 항목 간의 연관 관계를 이용하여 응용 프로그램을 테스트 한다. In addition, the
이때 설정된 연관 관계에 의해 테스트 케이스 생성기(713)는 테스트 케이스를 생성할 수 있다. 또한, 설정된 연관 관계에 의해, 프로젝트 관리자는 테스트의 수행 후에 문서 단위 항목에 대한 테스트가 정확히 이루어졌는지를 용이하게 확인할 수 있다. In this case, the
도 7에서 테스트 코어(710)는 단계 문서와 테스트 항목 간의 연관 관계를 포함하는 테스트 대상 정보를 이용해 테스트 케이스를 자동으로 생성하고, 테스트를 수행하는 데에 이용되는 테스트 대상 함수 및 인터페이스를 호출하기 위한 테스트 드라이버 코드를 생성하여 응용 프로그램의 개발 각 단계마다에 대한 테스트를 실행할 수 있다. In FIG. 7, the test core 710 automatically generates a test case using test target information including an association between a step document and a test item, and calls a test target function and interface used to perform a test. You can generate test driver code to run tests for each stage of your application development.
이를 위해, 테스트 관리자(705)로부터 테스트 프로젝트의 생성 요청을 수신한 테스트 코어(710)의 테스트 정보 수집기(711)는 단계 문서의 적어도 하나의 단위 항목과 테스트 항목 간의 연관 관계를 포함하는 테스트 대상 정보를 수집할 수 있다(730). 테스트 정보 수집기(711)는 테스트 케이스 생성기(713)에게 테스트 케이스의 생성을 요청한다(735).To this end, the
735의 요청에 따라, 테스트 케이스 생성기(713)는 테스트 대상 정보 및 테스트를 위한 후보값 생성 조건 등을 이용하여 단계 문서의 테스트에 이용되는 테스트 케이스를 자동으로 생성한다(740). 이 후, 테스트 케이스 생성기(713)는 테스트 드라이버 생성기(715)에게 테스트 드라이버의 생성을 요청한다(745). 테스트 드라이버 생성기(715)는 745의 요청에 따라, 테스트 드라이버를 생성(750)한 후, 뷰어(703)를 통해 테스트 준비가 완료 되었음을 알린다(755). 이와 같이 사용자가 테스트 방법을 선정하게 되면, 테스트 코어(710)는 설정된 연관 관계를 이용하여 테스트 케이스 및 테스트 드라이버를 자동 생성할 수 있다. In response to the request of 735, the
테스트 케이스 및 테스트 드라이버의 생성이 완료되면, 테스트 관리자(705)는 프로젝트 관리자에게 테스트 수행에 대한 준비가 완료되었음을 알린다. 이때, 테스트의 모든 절차는 테스트 코어(710)에 의해 진행되며, 이후 테스트가 완료되면 테스트 관리자(705)의 내부 모듈인 테스트 결과 수신기가 테스트가 완료되었음을 통보 받아 그 결과를 사용자에게 알려주게 된다.When generation of test cases and test drivers is complete,
사용자(701)는 테스트 준비가 완료됨에 따라 테스트 실행기(717)에게 테스트를 실행할 것을 요청한다(760).The
테스트 실행기(717)는 앞서 생성한 테스트 케이스 및 테스트 드라이버에 의해 테스트를 수행하고, 그 결과를 저장한다(765). 테스트 실행기(717)의 테스트 결과에 대한 분석 요청(770)에 따라, 테스트 결과 분석기(719)는 테스트 결과를 분석하고(775) 그 결과를 테스트 관리자(705)에게 전달한다(780).The
이때, 테스트 결과는 화면을 통해 출력되고(785), 테스트 관리자(705)는 전달받은 테스트 결과를 데이터베이스에 저장한다(790).In this case, the test result is output through the screen (785), the
테스트 관리자(705)는 뷰어(703)를 통해 결과를 출력(795)함으로써 사용자(701)가 테스트 분석 결과를 확인할 수 있도록 한다(797).
The
도 8은 일 실시예에 따른 문서 관리자 및 테스트 관리자를 포함하는 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치의 구조를 나타낸 도면이다. 8 is a diagram illustrating a structure of an apparatus for automatically testing an application program developed based on a web including a document manager and a test manager, according to an exemplary embodiment.
일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치(이하, '테스트 장치')(800)는 개발 산출물(예를 들어, 단계 문서)과 테스트 항목 간의 관계 설정을 통해 소프트웨어 개발에 의해 산출되는 문서에 대한 관리, 프로젝트 참여자 간의 협업, 개발 결과물에 대한 자동화된 테스트를 통해 소프트웨어의 안정성 및 신뢰성 검증을 효율적으로 수행할 수 있다. According to an embodiment, an apparatus for automatically testing an application developed based on the web (hereinafter, referred to as a “test apparatus”) 800 may be configured by establishing a relationship between a development product (eg, a step document) and a test item. Management of documentation generated by development, collaboration among project participants, and automated testing of development results can effectively validate software stability and reliability.
이를 지원하기 위해, 테스트 장치(800)는 웹 브라우저(860)를 통해 접근하는 웹 서비스 모듈로 구성된 클라이언트 부분(Seed Client)(810)과 다자간 협력을 위한 프로젝트 관리를 수행하는 서버(SEED Server)(820), 개발된 소프트웨어를 시험 및 검증을 수행하기 위한 테스트 코어(Test Core)(830) 및 외부 응용 프로세스(840)를 포함할 수 있다. In order to support this, the test apparatus 800 includes a client client (Seed Client) 810 composed of a web service module accessed through a
클라이언트 부분(810)은 웹 브라우저(860)를 통해 접근하는 웹 서비스 모듈들을 포함할 수 있다.
클라이언트 부분(810)은 사용자의 요청을 직접 수신하는 클라이언트 서비스(861), 사용자의 요청의 종류에 따라 상태를 천이(862)하며 클라이언트 부분(810)에서의 프로젝트 관리를 수행하는 프로젝트 관리자(863)를 포함한다.The
서버(820)는 웹 브라우저(860)를 통해 수신한 사용자의 요청에 따라, 소프트웨어를 개발하는 프로젝트의 개발 단계마다 산출되는 단계 문서를 관리하고, 단계 문서의 적어도 하나의 단위 항목과 적어도 하나의 단위 항목에 대응하는 테스트 항목 간의 연관 관계를 기초로 테스트 대상 정보를 수집한다. The
서버(820)는 프로젝트 관리자(Project Manager)(821), 문서 관리자(Document Manager)(822), 형상 관리자(SCM Manager)(823), 테스트 관리자(Test Manager)(824), 이슈 관리자(Issue Manager)(825) 및 이벤트 통보자(Event Notifier)(826)를 포함할 수 있다. The
또한, 서버(820)는 TCP/IP(850)로 연결된 클라이언트 부분(810)으로부터 수신한 요청을 처리하고, 그 처리 결과를 클라이언트 부분(810)으로 송신할 수 있다. In addition, the
프로젝트 관리자(821)는 현재의 프로젝트 정보에 대한 요청을 클라이언트 부분(810)으로부터 수신하고, 클라이언트 부분(810)으로부터 수신한 데이터를 가공 및 보관한다. 프로젝트 관리자(821)는 프로젝트와 관련된 이벤트 정보 및 상태 정보를 저장하며, 프로젝트의 하위 항목(예를 들어, 단위 항목 또는 테스트 항목)에 관한 전반적인 요구 질의(query)를 생성할 수 있다.
프로젝트 관리자(821)는 웹 브라우저를 통해 수신한 사용자의 요청에 따라, 응용 프로그램의 개발과 관련된 정보를 저장하고, 응용 프로그램의 개발에 따른 산출물에 대한 요구 질의(query)를 생성할 수 있다. The
이 밖에도 프로젝트 관리자(821)는 데이터베이스(841)나 형상 관리자(823)로부터 수신한 데이터의 질의 및 가공을 수행하며, 클라이언트 부분(810)으로 정보를 송, 수신 할 수 있다. In addition, the
문서 관리자(822)는 응용 프로그램의 개발과 관련된 정보를 기초로, 상기 응용 프로그램의 개발 각 단계마다에 대한 단계 문서를 작성하고, 상기 단계 문서에 대한 요구 사항을 추적하기 위한 연관 관계를 설정한다. Based on the information related to the development of the application, the
문서 관리자(822)는 프로젝트의 개발 각 단계마다 산출되는 단계 문서를 관리할 수 있으며, 프로젝트의 개발 단계마다 산출되는 단계 문서, 즉, 개발 단계별 산출물로써 상술한 [표 1]과 같은 5가지의 문서 템플릿을 지원할 수 있다. 문서 템플릿은 예를 들어, 요구 제안서(Request For Proposal; RFP), 요구 사항 명세서(Software Requirements Specification; SRS), 상세 요구 사항 명세서(Detailed SRS; DSRS), 설계 명세서(Software Design Specification; SDS) 및 소스 코드(Source Code) 등을 포함할 수 있다. The
형상 관리자(823)는 프로젝트를 통해 개발되는 문서(즉, 개발 문서) 및 소스 코드의 통합적인 버전 관리를 지원한다. 형상 관리자(823)는 기존의 버전 컨트롤 도구인 서브 버전(Subversion)(842)과 연동하여 사용자를 위한 저장 공간을 생성하고, 커밋(Commit), 체크아웃(CheckOut) 및 갱신(Update) 등 서브 버전의 기능들을 자동으로 수행함으로써 사용자의 추가적인 조작 없이 형상 관리를 지원한다.The
테스트 관리자(824)는 응용 프로그램의 개발 각 단계마다 필요한 테스트 데이터를 생성하고, 단계 문서와 단계 문서에 대응하는 테스트 항목 간의 연관 관계를 이용하여 응용 프로그램을 테스트 한다. The
이를 위해, 테스트 관리자(824)는 단계 문서의 적어도 하나의 단위 항목 등에서 필요한 테스트 데이터(또는 테스트 케이스 및 테스트 드라이버)를 생성한다. 또한, 테스트 관리자(824)는 적어도 하나의 단위 항목과 적어도 하나의 단위 항목에 대응하는 적어도 하나의 테스트 항목 간의 연관 관계를 설정한다. To this end, the
이를 통해, 사용자는 단계 문서의 적어도 하나의 단위 항목과 적어도 하나의 단위 항목에서 필요한 테스트 항목과의 연계성을 확인하고, 테스트 코어(830)로부터 수신한 테스트 결과를 확인할 수 있다. In this way, the user may check the linkage between the at least one unit item of the step document and the test item required in the at least one unit item, and check the test result received from the
테스트 관리자(824)는 테스트 코어(830)에 의한 테스트 결과를 통보 받기 위한 이벤트 통보자(826)를 더 포함할 수 있다.The
테스트 코어(830)는 테스트 대상 정보를 기초로 프로젝트를 위한 테스트 데이터를 자동으로 생성하고, 테스트 데이터를 이용하여 프로젝트의 개발 각 단계마다 산출되는 결과물에 대한 테스트를 실행한다. 여기서, '테스트 데이터를 자동으로 생성'하는 것의 의미는 테스트 케이스의 생성, 테스트 드라이버의 생성을 포함하는 의미로 사용될 수 있다. The
외부 응용 프로세스(840)는 프로젝트 및 XML(843) 문서 정보를 보관하기 위한 데이터베이스(841) 및 형상 관리를 위한 버전 관리 컨트롤러(Subversion)(842)를 포함한다. 이때, 버전 관리 컨트롤러(842)는 다른 버전 컨트롤 도구를 이용할 수도 있다.
The
도 9는 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치에서 단계 문서 간의 연관 관계와 소프트웨어 모듈 간의 인터페이스 호출을 나타낸 도면이다. FIG. 9 is a diagram illustrating an association relationship between step documents and an interface call between software modules in an apparatus for automatically testing an application program developed based on the web, according to an exemplary embodiment.
웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치(이하, '테스트 장치')는 각 단위 항목에 대한 작성이 완료되면 전후 단계 문서의 단위 항목(예를 들어, 소스 항목과 목적 항목) 간 연관 관계를 설정한다. 따라서, 테스트 장치는 연관 관계를 이용하여 사용자의 요구 사항을 만족시키는데 필요한 모듈과 인터페이스 간의 호출 관계를 도출할 수 있다. Devices that automatically test web-developed applications (hereafter referred to as "test devices") are required to complete the unit-level (e.g., source and destination) sections of the document before and after the completion of each unit item. Set an association. Accordingly, the test apparatus may derive the call relation between the module and the interface necessary to satisfy the user's requirement using the association relation.
테스트 장치는 개발할 응용 소프트웨어의 세부 요구 기능을 단계 문서들 중 상세 요구 사항 명세서(DSRS)의 단위 항목으로 입력하고, 기능 구현에 필요한 컴포넌트와 인터페이스를 설계 명세서(SDS)의 단위 항목으로 입력한다.The test apparatus inputs the detailed requirements of the application software to be developed as a unit item of the detailed requirements specification (DSRS) among the step documents, and inputs components and interfaces necessary for implementing the function as the unit item of the design specification (SDS).
또한, 테스트 장치는 이들(여기서는 단위 항목) 사이의 연관 관계를 이용해 소프트웨어의 요구 사항을 만족시키기 위해 필요한 모듈 사이의 인터페이스 관계를 확인할 수 있다. 이때, 모듈과 인터페이스의 종류는 단위 항목 간의 연관 관계를 이용하여 설계되고, 인터페이스의 호출 방향은 단위 항목의 상, 하위 관계를 이용하여 설계될 수 있다.
In addition, the test device can use the associations between these (in this case, unit items) to verify the interface relationships between the modules needed to meet the requirements of the software. In this case, the type of the module and the interface may be designed using an association relationship between the unit items, and the call direction of the interface may be designed using the upper and lower relationships of the unit items.
도 10은 일 실시예에 따른 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치의 테스트 코어에서 테스트 프로젝트를 생성함에 따라 테스트 드라이버 모듈이 생성되는 구조를 나타낸 도면이다.FIG. 10 is a diagram illustrating a structure in which a test driver module is generated as a test project is generated in a test core of an apparatus for automatically testing an application program developed based on the web, according to an embodiment.
테스트 정보 수집기에 의해 테스트의 대상이 되는 응용 소프트웨어에 대한 정보 수집이 완료되면, 테스트 드라이버 생성기는 테스트 드라이버 모듈을 자동 생성한다. 여기서, 테스트 드라이버 모듈은 테스트의 대상이 되는 소프트웨어 모듈에 대한 요구 인터페이스를 보유하여, 테스트 코어가 해당 요구 인터페이스를 호출함으로써 테스트를 수행할 수 있도록 하는 모듈을 말한다. The test driver generator automatically generates a test driver module after collecting information about the application software to be tested by the test information collector. Here, the test driver module refers to a module having a request interface for a software module to be tested, so that the test core can perform a test by calling the request interface.
통합 테스트를 위해 테스트 코어(보다 정확히는 테스트 드라이버 생성기)는 도 9의 ②에 나타난 기존 모듈의 연결 구조에서 문서 항목과 테스트 항목 간의 연관 관계를 이용해 테스트를 위한 runTest 인터페이스(1010)를 추가하여 테스트 드라이버 모듈(MoveObject TestDriver Comp)(1030)을 생성할 수 있다. 사용자는 runTest 인터페이스(1010)의 내부에 테스트 할 알고리즘을 작성하여 조합된 모듈에 대한 기능 테스트를 자동적으로 수행할 수 있다.
For the integrated test, the test core (or more precisely, the test driver generator) adds a test driver module by adding a
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
The method according to an embodiment of the present invention can be implemented in the form of a program command which can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be construed as being limited to the embodiments described, but should be determined by equivalents to the appended claims, as well as the appended claims.
110: 프로젝트 관리자
113: 단계 유형 입력 처리기
115: 프로젝트 생성기
150: 문서 관리자
151: 단위 항목 입력기
153: 연관 관계 설정기
155: 뷰어110: project manager
113: Step type input handler
115: project generator
150: document manager
151: unit item input method
153: Association Setter
155: viewer
Claims (4)
상기 응용 프로그램의 개발 각 단계마다 필요한 테스트 데이터를 생성하고, 상기 어느 하나의 단계 문서와 상기 어느 하나의 단계 문서에 대응하는 테스트 항목 간의 연관 관계를 이용하여 상기 응용 프로그램을 테스트 하는 테스트 관리자
를 포함하는 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치.Based on the information related to the development of the application, the document for each stage of the development of the application is classified into a stage document of any one of a request proposal, a requirements specification, a detailed requirements specification, a design specification, and source code, A document manager for managing a history of documents for each step; And
A test manager which generates necessary test data for each stage of development of the application and tests the application by using an association between the one step document and a test item corresponding to the one step document.
Apparatus for automatically testing the application developed based on the web.
웹 브라우저를 통해 수신한 사용자의 요청에 따라, 응용 프로그램의 개발과 관련된 정보를 저장하고, 상기 응용 프로그램의 개발에 따른 산출물에 대한 요구 질의(query)를 생성하는 프로젝트 관리자
를 더 포함하는 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치.The method of claim 1,
The project manager stores information related to the development of the application and generates a request query for the output according to the development of the application according to a user's request received through a web browser.
Apparatus for automatically testing the application developed based on the web further comprising.
상기 문서 관리자는
상기 사용자로부터 입력된 상기 응용 프로그램의 개발 단계별 문서 정보를 이용하여 상기 어느 하나의 단계 문서의 적어도 하나의 단위 항목에 대한 문서를 생성하는 단위 항목 입력기; 및
상기 응용 프로그램의 개발 단계별 문서 정보를 이용하여 상기 적어도 하나의 단위 항목 간의 연관 관계를 설정하는 연관 관계 설정기
를 포함하는 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치.The method of claim 1,
The document manager
A unit item input unit configured to generate a document for at least one unit item of the one step document by using document information for each step of development of the application program input from the user; And
An association relationship setter for establishing an association relationship between the at least one unit item using document information for each stage of development of the application program
Apparatus for automatically testing the application developed based on the web.
상기 어느 하나의 단계 문서와 상기 테스트 항목 간의 연관 관계를 포함하는 테스트 대상 정보를 이용해 테스트 케이스를 자동으로 생성하고, 상기 테스트를 수행하는 데에 이용되는 테스트 대상 함수 및 인터페이스를 호출하기 위한 테스트 드라이버 코드를 생성하여 상기 응용 프로그램의 개발 각 단계마다에 대한 테스트를 실행하는 테스트 코어
를 더 포함하는 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치.The method of claim 1,
Test driver code for automatically generating a test case using test target information including an association between the one step document and the test item, and calling a test target function and interface used to perform the test. Create a test core to run a test for each stage of development of the application
Apparatus for automatically testing the application developed based on the web further comprising.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020110092492A KR20130029224A (en) | 2011-09-14 | 2011-09-14 | Apparatus for testing application program automatically based on web |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020110092492A KR20130029224A (en) | 2011-09-14 | 2011-09-14 | Apparatus for testing application program automatically based on web |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20130029224A true KR20130029224A (en) | 2013-03-22 |
Family
ID=48179250
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020110092492A Ceased KR20130029224A (en) | 2011-09-14 | 2011-09-14 | Apparatus for testing application program automatically based on web |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20130029224A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210158015A (en) * | 2020-06-23 | 2021-12-30 | (주)지산웨어 | Software engineering platform for automatically creating program and database by designing information system and for automatically performing test |
| CN114384351A (en) * | 2021-12-01 | 2022-04-22 | 中广核核电运营有限公司 | Automatic testing method and device for distribution board |
-
2011
- 2011-09-14 KR KR1020110092492A patent/KR20130029224A/en not_active Ceased
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210158015A (en) * | 2020-06-23 | 2021-12-30 | (주)지산웨어 | Software engineering platform for automatically creating program and database by designing information system and for automatically performing test |
| WO2021261708A1 (en) * | 2020-06-23 | 2021-12-30 | (주)지산웨어 | Software engineering platform designing information system to automatically generate program and database and automatically perform test |
| CN114384351A (en) * | 2021-12-01 | 2022-04-22 | 中广核核电运营有限公司 | Automatic testing method and device for distribution board |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101320264B1 (en) | Automation appratus for developing and testing software based on web | |
| US9898280B2 (en) | Automatic code review and code reviewer recommendation | |
| KR101132560B1 (en) | System and method for automatic interface testing based on simulation for robot software components | |
| JP5970617B2 (en) | Development support system | |
| JP2010231782A (en) | Method and system for function automation | |
| CN105324769A (en) | Solution for generating script sets for automated database migrations | |
| CN108345532A (en) | A kind of automatic test cases generation method and device | |
| CN104090776A (en) | Software development method and system | |
| US20240330167A1 (en) | Intelligent Process For Iterative Software Testing and Development | |
| US20230153723A1 (en) | Workflow manager | |
| US9690617B2 (en) | Adjustment of a task execution plan at runtime | |
| Essebaa et al. | Model Driven Architecture and Agile Methodologies: Reflexion and discussion of their combination | |
| CN110674024A (en) | Electronic equipment integration test system and method thereof | |
| KR20130029224A (en) | Apparatus for testing application program automatically based on web | |
| Hsieh et al. | Test-Duo: A framework for generating and executing automated acceptance tests from use cases | |
| Nguyen et al. | Automated test input generation via model inference based on user story and acceptance criteria for mobile application development | |
| CN105487912B (en) | Public problem modification multi-branch maintenance system and method | |
| CN119537213A (en) | A method for interface automation testing based on RPA | |
| Satyarthi et al. | Framework for Requirement Management using Requirement Traceability. | |
| Hannonen | Automated testing for software process automation | |
| Dalal et al. | Software Testing-Three P'S Paradigm and Limitations | |
| Lamba et al. | An automated data driven continuous testing framework | |
| Basha et al. | A Prelimanary Exploration on component based software engineering | |
| Wienke et al. | Continuous regression testing for component resource utilization | |
| JP6677345B2 (en) | Development operation support system, development management server, operation management server, their methods and programs |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20110914 |
|
| PA0201 | Request for examination | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20120919 Patent event code: PE09021S01D |
|
| PG1501 | Laying open of application | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20130530 Patent event code: PE09021S01D |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
Patent event date: 20130807 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20130530 Comment text: Notification of reason for refusal Patent event code: PE06011S01I Patent event date: 20120919 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |