KR20180083531A - Test automation system and test automation method for satellite control software - Google Patents
Test automation system and test automation method for satellite control software Download PDFInfo
- Publication number
- KR20180083531A KR20180083531A KR1020170005919A KR20170005919A KR20180083531A KR 20180083531 A KR20180083531 A KR 20180083531A KR 1020170005919 A KR1020170005919 A KR 1020170005919A KR 20170005919 A KR20170005919 A KR 20170005919A KR 20180083531 A KR20180083531 A KR 20180083531A
- Authority
- KR
- South Korea
- Prior art keywords
- test
- management system
- source code
- error
- satellite control
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64G—COSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
- B64G3/00—Observing or tracking cosmonautic vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Abstract
Description
아래 설명은, 위성관제 소프트웨어를 위한 테스트 자동화 방법, 테스트 자동화 시스템에 관한 것이다.The following description relates to a test automation method and a test automation system for the satellite control software.
위성관제 시스템은 우주공간에서 운용되고 있는 위성의 상태를 감시 및 제어 할 수 있다. 위성관제 시스템은 위성 수명기간 동안 정상적으로 임무를 수행할 수 있도록 위성 임무를 계획하고 전달하는 기능을 수행하는 핵심적인 기술이다.The satellite control system can monitor and control the state of the satellite operating in space. A satellite control system is a key technology that performs the functions of planning and delivering satellite missions so that they can perform their mission normally during the life of the satellite.
우주공간에서 운용되고 있는 위성은 통신, 관측, 탐색 등의 임무를 수행하고 있다. 위성관제 시스템은 다양한 임무를 수행하는 위성을 감시, 제어 및 임무에 필요한 명령을 수행하기 위하여, 위성 종류 및 임무에 따라 다르게 구성될 수 있다. The satellites operating in outer space are performing tasks such as communication, observation and navigation. The satellite control system may be configured differently depending on the type and mission of the satellite, in order to monitor, control, and perform the commands necessary for the mission to perform various missions.
일 실시예에 따른, 위성관제 소프트웨어를 위한 테스트 자동화 시스템은, 상기 위성관제 소프트웨어의 테스트를 관리하는 품질 관리 시스템; 상기 위성관제 소프트웨어의 소스코드의 버전을 확인하고, 상기 소스코드를 테스트 수행 시스템에 전송하는 소스 형상 관리 시스템; 상기 형상 관리 시스템으로부터 수신한 소스코드를 테스트하고, 테스트의 수행 결과에 오류가 있는지 여부를 검사하는 테스트 수행 시스템; 상기 테스트의 수행 결과에서 발견된 오류에 대한 오류 정보를 관리하는 결함 관리 시스템; 및 상기 소스코드의 동적 테스트에 이용되는 테스트케이스를 생성하고, 상기 생성된 테스트케이스를 상기 테스트 수행 시스템에 전송하는 테스트케이스 관리 시스템을 포함할 수 있다.According to one embodiment, a test automation system for satellite control software comprises: a quality control system for managing a test of the satellite control software; A source configuration management system for verifying the version of the source code of the satellite control software and transmitting the source code to the test execution system; A test execution system for testing the source code received from the configuration management system and checking whether there is an error in the result of the test; A defect management system for managing error information on an error found in the test result; And a test case management system for generating a test case used for dynamic testing of the source code and transmitting the generated test case to the test execution system.
일 실시예에 따른, 상기 테스트케이스 관리 시스템은, 상기 동적 테스트의 수행 시 입출력 결과를 확인하는데 필요한 테스트케이스 생성을 위한 요구 사항 분석 및 변경, 테스트케이스의 설계 및 보안, 및 테스트케이스의 생성의 기능을 수행할 수 있다.According to one embodiment, the test case management system includes: a requirement analysis and change for generating a test case necessary for confirming an input / output result when performing the dynamic test; design and security of a test case; Can be performed.
일 실시예에 따른, 상기 테스트 수행 시스템은, 상기 테스트케이스 관리 시스템에 의해 생성된 테스트케이스에 기초하여 동적 테스트를 수행할 수 있다.According to one embodiment, the test performing system may perform a dynamic test based on a test case generated by the test case management system.
일 실시예에 따른, 상기 테스트 수행 시스템, 상기 결함 관리 시스템, 상기 품질 관리 시스템 및 상기 소스 형상 관리 시스템은 인터넷을 통해 서로 연동될 수 있다.According to one embodiment, the test execution system, the defect management system, the quality management system, and the source configuration management system may be interworked with each other via the Internet.
일 실시예에 따른, 테스트 자동화 방법은, 품질 관리 시스템이 개발자 단말로부터 테스트하고자 하는 위성관제 소프트웨어에 관한 소스코드의 테스트 등록 요청을 수신하는 단계; 상기 테스트 등록 요청된 소스코드가 상기 개발자 단말로부터 소스 형상 관리 시스템에 전달되면, 소스 형상 관리 시스템이 상기 소스코드가 최신 버전인지 여부를 확인하는 단계; 상기 소스코드가 최신 버전인 경우, 테스트 수행 시스템이 상기 소스코드에 대해 정적 테스트를 수행하는 단계; 상기 테스트 수행 시스템이 상기 테스트의 수행 결과에서 오류가 발생한 경우, 상기 오류에 대한 오류 정보를 결함 관리 시스템으로 전달하는 단계; 및 상기 결함 관리 시스템이 상기 수신한 오류 정보를 상기 개발자 단말로 전송하는 단계를 포함할 수 있다.According to one embodiment, a test automation method includes receiving a test registration request of a source code for a satellite control software that the quality management system wants to test from a developer terminal; Confirming whether the source configuration management system is the latest version of the source code when the source code of the test registration request is transmitted from the developer terminal to the source configuration management system; Performing a static test on the source code if the source code is the latest version; When the test execution system generates an error in the result of the test, transmitting error information on the error to the defect management system; And transmitting the error information received by the defect management system to the developer terminal.
일 실시예에 따른, 테스트 자동화 방법은, 품질 관리 시스템이 개발자 단말로부터 테스트하고자 하는 위성관제 소프트웨어에 관한 소스코드의 테스트 등록 요청을 수신하는 단계; 상기 테스트 등록 요청된 소스코드가 상기 개발자 단말로부터 소스 형상 관리 시스템에 전달되면, 소스 형상 관리 시스템이 상기 소스코드가 최신 버전인지 여부를 확인하는 단계; 테스트케이스 관리 시스템이 상기 개발자 단말로부터 테스트케이스의 생성을 위한 조건 정보를 수신하고, 상기 수신한 조건 정보에 기초하여 동적 테스트에 이용되는 테스트케이스를 생성하는 단계; 상기 소스코드가 최신 버전인 경우, 테스트 수행 시스템이 상기 생성된 테스트케이스에 기초하여 상기 소스코드에 대해 동적 테스트를 수행하는 단계; 상기 테스트 수행 시스템이 상기 테스트의 수행 결과에서 오류가 발생한 경우, 상기 오류에 대한 오류 정보를 결함 관리 시스템으로 전달하는 단계; 및 상기 결함 관리 시스템이 상기 수신한 오류 정보를 상기 개발자 단말로 전송하는 단계를 포함할 수 있다.According to one embodiment, a test automation method includes receiving a test registration request of a source code for a satellite control software that the quality management system wants to test from a developer terminal; Confirming whether the source configuration management system is the latest version of the source code when the source code of the test registration request is transmitted from the developer terminal to the source configuration management system; The test case management system receiving condition information for generating a test case from the developer terminal and generating a test case used in the dynamic test based on the received condition information; Performing a dynamic test on the source code based on the generated test case when the source code is the latest version; When the test execution system generates an error in the result of the test, transmitting error information on the error to the defect management system; And transmitting the error information received by the defect management system to the developer terminal.
일 실시예에 따르면, 비정지궤도 및 정지궤도 위성의 관제시스템 개발시 소스코드 검증에서부터 실행 파일 확인까지 위성관제 소프트웨어의 품질관리를 체계적으로 수행할 수 있는 효과가 있다.According to one embodiment, there is an effect that the quality control of the satellite control software can be systematically performed from the source code verification to the execution file verification in the development of the control system of the non-geostationary or geostationary satellite.
일 실시예에 따르면, 위성 별 관제시스템의 소스코드 결함 및 테스트케이스 생성 결과를 축적하고 테스트 자동화 시스템 운영에 피드백하여 활용하는 경우, 보다 신뢰성 높은 관제시스템 소프트웨어를 개발할 수 있는 효과가 있다.According to one embodiment, when accumulation of source code defects and test case generation results of the satellite-specific control system is accumulated and feedback is utilized to the operation of the test automation system, more reliable control system software can be developed.
도 1은 일 실시예에 따른 위성관제 소프트웨어를 위한 테스트 자동화 방법을 나타내는 개념도이다.
도 2는 일 실시예에 따른 테스트 자동화 시스템을 나타내는 블록도이다.
도 3은 일 실시예에 따른 위성관제 소프트웨어를 위한 테스트 자동화 방법을 나타내는 도면이다.
도 4는 일 실시예에 따른 테스트 자동화 시스템의 테스트 수행 시스템, 결함 관리 시스템, 및 품질 관리 시스템의 관계를 나타내는 도면이다.
도 5는 일 실시예에 따른 위성관제 소프트웨어를 위한 테스트 자동화 방법의 정적 테스트 수행을 나타내는 도면이다.
도 6은 일 실시예에 따른 위성관제 소프트웨어를 위한 테스트 자동화 방법의 동적 테스트 수행을 나타내는 도면이다.
도 7은 일 실시예에 따른 품질 관리 시스템을 나타내는 블록도이다.
도 8은 일 실시예에 따른 테스트 자동화 시스템을 나타내는 블록도이다.
도 9는 일 실시예에 따른 결함 관리 시스템을 나타내는 블록도이다.
도 10은 일 실시예에 따른 소스 형상 관리 시스템을 나타내는 블록도이다.
도 11은 일 실시예에 따른 테스트 자동화 시스템이 수행하는 테스트 자동화 방법의 정적 테스트에 관한 과정을 나타내는 흐름도이다.
도 12는 일 실시예에 따른 테스트 자동화 시스템이 수행하는 테스트 자동화 방법의 동적 테스트에 관한 과정을 나타내는 흐름도이다.
도 13은 일 실시예에 따른 테스트 자동화 시스템이 수행하는 테스트 자동화 방법을 나타내는 흐름도이다.
도 14는 일 실시예에 따른 결함 관리 시스템을 포함하는 테스트 자동화 시스템이 수행하는 테스트 자동화 방법을 나타내는 흐름도이다.1 is a conceptual diagram illustrating a method for automating a test for satellite control software according to one embodiment.
2 is a block diagram illustrating a test automation system in accordance with one embodiment.
3 is a diagram illustrating a test automation method for the satellite control software according to one embodiment.
4 is a diagram showing a relationship between a test execution system, a defect management system, and a quality management system of a test automation system according to an embodiment.
5 is a diagram illustrating static test execution of a test automation method for satellite control software according to one embodiment.
6 is a diagram illustrating dynamic test execution of a test automation method for satellite control software in accordance with one embodiment.
7 is a block diagram illustrating a quality management system according to one embodiment.
8 is a block diagram illustrating a test automation system in accordance with one embodiment.
9 is a block diagram illustrating a defect management system according to an embodiment.
10 is a block diagram illustrating a source configuration management system according to an embodiment.
11 is a flowchart illustrating a process for static testing of a test automation method performed by the test automation system according to an exemplary embodiment.
12 is a flowchart illustrating a process for dynamic testing of a test automation method performed by a test automation system according to an exemplary embodiment.
13 is a flowchart illustrating a method of automating a test performed by a test automation system according to an embodiment.
14 is a flowchart illustrating a test automation method performed by a test automation system including a defect management system according to an embodiment.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of embodiments are set forth for illustration purposes only and may be embodied with various changes and modifications. Accordingly, the embodiments are not intended to be limited to the specific forms disclosed, and the scope of the disclosure includes changes, equivalents, or alternatives included in the technical idea.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first or second, etc. may be used to describe various elements, but such terms should be interpreted solely for the purpose of distinguishing one element from another. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected or connected to the other element, although other elements may be present in between.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises ", or" having ", and the like, are used to specify one or more of the described features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and a duplicate description thereof will be omitted.
도 1은 일 실시예에 따른 위성관제 소프트웨어를 위한 테스트 자동화 방법을 나타내는 개념도이다.1 is a conceptual diagram illustrating a method for automating a test for satellite control software according to one embodiment.
먼저, 도 1을 참조하면, 테스트 자동화 시스템은 위성관제 소프트웨어 품질을 관리하기 위하여, 테스트 수행 시스템(110), 결함 관리 시스템(120), 및 품질 관리 시스템(130)을 포함할 수 있다.Referring first to FIG. 1, a test automation system may include a
테스트 수행 시스템(110), 결함 관리 시스템(120), 및 품질 관리 시스템(130)은 각각 서버와 같이 메모리, 프로세서, 데이터 송수신기를 포함하는 컴퓨팅 디바이스일 수 있다.The
테스트 자동화 방법은 정지궤도 및 저궤도 위성의 다양한 임무에 따라 개발되는 관제시스템 소프트웨어의 품질 및 신뢰성을 확보할 수 있도록 소스코드 구현 단계에서부터 시스템 통합테스트 단계까지 체계적이고 종합적으로 소프트웨어 테스트를 수행할 수 있다.The test automation methodology enables systematic and comprehensive software testing from the source code implementation stage to the system integration test stage to ensure the quality and reliability of the control system software developed according to various missions of geostationary and low orbit satellites.
또한, 체계적이고 종합적으로 소프트웨어 테스트를 수행하기 위하여, 테스트 수행 시스템(110)은 테스트케이스 관리 시스템을 포함하거나 테스트케이스 관리 시스템을 포함하는 장치와 연동될 수 있다.In addition, in order to perform systematic and comprehensive software testing, the
테스트 자동화 방법은 향후 정지궤도 및 저궤도 위성관제 시스템 소프트웨어 개발 시 보다 완성도 높은 제품을 구현할 수 있는 장점이 있다. 테스트 자동화 방법은, 위성관제 시스템 개발 소프트웨어의 검증 및 확인을 위하여, 테스트 수행 시스템(110), 결함 관리 시스템(120)에 의하여 수행될 수 있으며, 경우에 따라서, 품질 관리 시스템(130)에 의하여 수행될 수도 있다.The test automation method has a merit that it can implement more complete products in the future development of stationary orbit and low orbit satellite control system software. The test automation method may be performed by the
테스트 수행 시스템(110)은 소스 형상 관리 시스템 또는 테스트케이스 관리 시스템을 포함할 수도 있다. 경우에 따라서, 소스 형상 관리 시스템 또는 테스트케이스 관리 시스템은 테스트 수행 시스템(110)이 아닌 다른 서버와 같은 다른 장치에 포함되고, 테스트 수행 시스템(110)과 연결되거나 연동될 수도 있다.The
경우에 따라서, 테스트 수행 시스템(110)은 정적 테스트 수행 시스템과 동적 테스트 수행 시스템을 포함할 수도 있다. 동적 테스트 수행 시스템은 테스트에 필요한 테스트케이스를 생성 및 관리할 수 있는 테스트케이스 관리 시스템을 포함하거나, 테스트케이스 관리 시스템과 연결될 수도 있다.Optionally,
결함 관리 시스템(120)은 테스트 수행 시스템(110)이 수행하는 테스트에서 발생한 오류 내용을 관리하고, 품질 관리 시스템(130) 등의 오류 수정 요청에 따라 개발자 또는 관리자와 같은 시스템 사용자에게 소프트웨어 테스트 중 발생한 오류를 전달할 수도 있다.The
품질 관리 시스템(130)은 소스코드 테스트를 등록 또는 승인할 수 있으며, 테스트 결과를 관리할 수도 있다. 품질 관리 시스템(130)은 테스트 관련 제반 정보를 저장 및 관리할 수도 있다. 품질 관리 시스템(130)은 위성관제 소프트웨어 소스코드 구현에서부터 시스템 테스트까지 개발단계에 따라 소프트웨어의 결함을 검증 및 확인할 수 있도록, 웹(Web) 기반으로 구현된 웹 기반 품질 관리 시스템일 수 있다.The
도 2는 일 실시예에 따른 테스트 자동화 시스템을 나타내는 블록도이다.2 is a block diagram illustrating a test automation system in accordance with one embodiment.
도 2를 참조하면, 테스트 자동화 시스템(200)은 품질 관리 시스템(210), 소스 형상 관리 시스템(220), 테스트 수행 시스템(230), 결함 관리 시스템(240), 테스트케이스 관리 시스템(250)을 포함할 수 있다.2, a
품질 관리 시스템(210)은 위성관제 소프트웨어의 테스트를 관리할 수 있다. 품질 관리 시스템(210)은 소스코드의 테스트를 위한 등록, 승인 및 테스트의 수행 결과를 관리하고, 테스트 관련 정보를 저장 및 관리할 수 있다.The
소스 형상 관리 시스템(220)은 위성관제 소프트웨어의 소스코드의 버전을 확인하고, 소스코드를 테스트 수행 시스템에 전송할 수 있다.The source
테스트 수행 시스템(230)은 형상 관리 시스템으로부터 수신한 소스코드를 테스트하고, 테스트의 수행 결과에 오류가 있는지 여부를 검사할 수 있다. 테스트 수행 시스템(230)은 테스트케이스 관리 시스템에 의해 생성된 테스트케이스에 기초하여 동적 테스트를 수행할 수 있다.The
결함 관리 시스템(240)은 테스트의 수행 결과에서 발견된 오류에 대한 오류 정보를 관리할 수 있다. The
테스트케이스 관리 시스템(250)은 소스코드의 동적 테스트에 이용되는 테스트케이스를 생성하고, 생성된 테스트케이스를 테스트 수행 시스템(230)에 전송할 수 있다. 테스트케이스 관리 시스템(250)은 소스코드의 동적 테스트 수행 시 입출력 결과를 확인하는데 이용되는 테스트케이스를 생성할 수 있다. 테스트케이스 관리 시스템(250)은 생성된 테스트케이스를 테스트 수행 시스템 및 품질 관리 시스템 중 적어도 하나에 전달할 수 있다.The test
도 3은 일 실시예에 따른 위성관제 소프트웨어를 위한 테스트 자동화 방법을 나타내는 도면이다.3 is a diagram illustrating a test automation method for the satellite control software according to one embodiment.
도 3을 참조하면, 위성관제 소프트웨어를 위한 테스트 자동화 방법의 흐름을 알 수 있다. 위성관제 소프트웨어를 위한 테스트 자동화 방법은 위성관제 시스템 소프트웨어의 검증 및 확인에 특화되어 구현될 수 있다. 테스트 수행 시스템(310), 소스 형상 관리 시스템을 포함하는 서버, 이슈 관리부를 포함하는 결함 관리 시스템(320), 및 품질 관리 시스템은 인터넷을 통해 시스템이 서로 연동되도록 구현될 수 있다. 경우에 따라서, 소스 형상 관리 시스템은 테스트 수행 시스템(310)에 포함될 수도 있다. Referring to FIG. 3, the flow of the test automation method for the satellite control software can be seen. Test automation methods for satellite control software can be implemented specifically for verification and verification of satellite control system software. The
테스트 수행 시스템(310)은 정적 테스트 자동화 시스템과 동적 테스트 자동화 시스템으로 구성될 수 있다. 테스트 수행 시스템(310)의 동적 테스트 자동화 시스템은 테스트에 필요한 테스트케이스를 생성 및 관리할 수 있다. 테스트 수행 시스템(310)은 새로운 관제시스템에 대한 요구사항 기반의 테스트 케이스 생성 및 관리할 수 있으며, 기존 궤도 별 및 임무 별 위성에 대해 이미 생성된 테스트케이스도 관리할 수 있다. 테스트 자동화 시스템이 수행하는 위성관제 소프트웨어를 위한 테스트 자동화 방법은 소프트웨어 동적 테스트가 일괄적이고 효율적으로 수행될 수 있는 환경으로 구현될 수 있다.The
품질 관리 시스템은 개발자가 구현한 소스코드 또는 실행 파일의 소프트웨어 테스트를 위해 신규 등록 또는 수정 등록을 수행하는 등록부를 포함할 수 있다. 품질 관리 시스템은 등록된 소프트웨어 테스트를 관리자가 승인하는 승인부를 포함할 수도 있다. 승인부는 기저장된 설정에 따라 등록된 소프트웨어 테스트를 자동으로 승인할 수도 있다.The quality management system may include a register that performs a new registration or a modification registration for software testing of the source code or executable file implemented by the developer. The quality management system may include an approval unit for the administrator to approve the registered software test. The approval department may automatically approve the registered software test according to the pre-stored settings.
소스 형상 관리 시스템은 승인된 소프트웨어 테스트를 위해 소스코드 또는 실행 파일을 커밋하는 커밋부, 커밋된 소스코드 또는 실행 파일이 최신인지를 확인하고 커밋된 소스코드 또는 실행 파일을 테스트 수행 시스템(310)으로 전달하는 버전 확인 및 전달부를 포함할 수도 있다. 소스 형상 관리 시스템이 테스트 수행 시스템(310)과 다른 서버로 구현될 경우, 버전 확인 및 전달부는 확인된 버전에 따라 커밋된 소스코드 또는 실행 파일을 테스트 수행 시스템(310)으로 전송할 수 있다.The source configuration management system checks whether the commit part for committing the source code or the executable file for the approved software test, the committed source code or the executable file is the latest, and transmits the committed source code or executable file to the
테스트 수행 시스템(310)은 전달된 소스코드 또는 실행 파일을 빌드하고 테스트를 진행하는 빌드 및 테스트부를 포함할 수 있다. 테스트 수행 시스템(310)은 테스트 결과를 출력하는 테스트 결과 출력부를 포함할 수도 있다. 테스트 수행 시스템(310)의 테스트 결과 출력부는 테스트 수행 시스템(310)과 연결되거나 포함된 디스플레이의 화면 상에 테스트 결과를 디스플레이할 수도 있다. 경우에 따라서, 개발자 및 관리자가 실시간으로 테스트 결과를 확인하도록, 테스트 수행 시스템(310)의 테스트 결과 출력부는 실시간으로 테스트 결과를 디스플레이할 수도 있다.The
테스트 수행 시스템(310)은 소프트웨어 테스트시 발견된 오류를 결함 관리 시스템(320)의 이슈 관리부로 전달되도록 발견된 오류를 전송하는 오류 전달부를 포함할 수 있다. 테스트 결과 및 관련 정보를 품질 관리 시스템의 저장매체 또는 품질 관리 시스템과 연결된 데이터베이스(340)에 저장할 수 있도록, 테스트 수행 시스템(310)은 테스트 결과 및 관련 정보를 품질 관리 시스템에 전송하는 테스트 결과 전송부를 포함할 수도 있다.The
품질 관리 시스템은 저장매체 또는 데이터베이스(340)에 저장된 테스트 결과를 테스트 결과 관리 화면으로 디스플레이하는 테스트 결과 표출부를 포함할 수 있다. 테스트 결과 표출부에서 확인된 오류 내용에 대한 수정 및 재테스트를 위하여, 품질 관리 시스템은 결함 관리 시스템(320)에 접수된 오류내용을 개발자에게 전송하는 것을 요청하는 오류 수정 요청부를 포함할 수도 있다.The quality management system may include a test result display unit that displays a test result stored in the storage medium or the
결함 관리 시스템(320)은 테스트 수행 시스템(310)의 빌드 및 테스트 중 발생된 오류 내용을 수신할 수 있다. 결함 관리 시스템(320)은 수신된 오류 내용을 관리하고, 품질 관리 시스템의 오류 수정 요청부로부터 수신된 오류 수정 요청에 따라 개발자에게 소프트웨어 테스트 중 발생한 오류를 전달하는 이슈 관리부를 포함할 수도 있다. The
테스트 수행 시스템(310)은 소프트웨어 동적 테스트시 필요한 요구사항 기반의 테스트케이스를 생성 및 관리하고 동적 테스트 자동화 시스템에서 사용 되도록 테스트케이스를 전달하는 테스트케이스 관리 시스템을 포함할 수 있다. 테스트케이스 관리 시스템은, 테스트케이스를 전달함과 동시에 품질 관리 시스템의 저장 장치 또는 데이터베이스(340)에 생성된 테스트케이스를 저장할 수도 있다. 또한, 테스트케이스 관리 시스템은, 테스트 수행 시스템(310)의 저장 장치 또는 테스트 수행 시스템(310)과 연결된 데이터베이스에 생성된 테스트케이스를 저장할 수도 있다.
도 4는 일 실시예에 따른 테스트 자동화 시스템의 테스트 수행 시스템, 결함 관리 시스템, 및 품질 관리 시스템의 관계를 나타내는 도면이다.4 is a diagram showing a relationship between a test execution system, a defect management system, and a quality management system of a test automation system according to an embodiment.
도 4를 참조하면, 소프트웨어 정적 테스트 및 동적 테스트를 위한 위성관제 소프트웨어를 위한 테스트 자동화 방법을 수행하는, 테스트 자동화 시스템의 테스트 수행 시스템(410), 결함 관리 시스템(420), 및 품질 관리 시스템(430)의 관계를 알 수 있다. Referring to FIG. 4, a
품질 관리 시스템(430)은 개발자가 새로운 또는 수정 소프트웨어를 테스트하기 위하여 등록 요청을 입력 받고, 등록된 소프트웨어 테스트를 관리자가 승인할 수 있다. 품질 관리 시스템(430)은 MySQL과 같은 데이터베이스 관리 시스템을 포함할 수 있으며, 테스트 수행 시스템(410)으로부터 소프트웨어 테스트 결과 및 관련정보를 수신하고, 포함되거나 연결된 데이터베이스 등의 저장 장치에 저장할 수 있다. The
품질 관리 시스템(430)은 데이터베이스장치에 기록된 소프트웨어 테스트 결과를 시스템 화면 등 포함되거나 연결된 디스플레이 상에 디스플레이할 수 있다. 이때, 디스플레이 상에서 확인된 오류내용에 대한 수정 및 재테스트를 위하여 결합 관리 시스템(420)이 개발자에게 오류내용을 전달하도록 결합 관리 시스템(420)에 요청할 수 있다.The
소스 형상 관리 시스템(412)은 개발자가 품질 관리 시스템(430)에서 소프트웨어 테스트 승인을 받아 소스코드 또는 실행 파일을 소스 형상 관리 시스템(412)로 커밋할 수 있다. 또한, 소스 형상 관리 시스템(412)은 커밋된 소스코드 또는 파일이 최신 소스코드 또는 파일인지 확인한 후 최신버전인 경우 테스트 수행 시스템으로 전송할 수 있다. 또한, 소스 형상 관리 시스템(412)은 커밋된 소스코드 또는 파일이 최신버전이 아닌 경우 최신버전이 아님을 개발자에게 공지하고 테스트를 계속 진행할 지를 개발자에게 확인할 수도 있다.The source
테스트 수행 시스템(410)은 소스 형상 관리 시스템(412)로부터 전달된 소스코드 또는 파일을 테스트 수행 시스템(410)에 빌드할 수 있다. 테스트 수행 시스템(410)은 정적 테스트 자동화 시스템 및 동적 테스트 자동화 시스템을 포함함으로써, 정적 테스트 또는 동적 테스트를 수행할 수 있다. 일 실시예에서, 정적 테스트 자동화 시스템은 정적 테스트를 위한 정적 테스트 툴(tool)을 포함하고, 동적 테스트 자동화 시스템은 동적 테스트를 위한 동적 테스트 툴을 포함할 수 있다. 테스트 수행 시스템(410)은 정적 테스트 또는 동적 테스트 결과를 테스트 수행 시스템(410)에 포함되거나 연결된 디스플레이에서 개발자 및 관리자가 실시간으로 확인할 수 있도록 테스트 결과를 출력하거나 디스플레이할 수 있다.The
또한, 테스트 수행 시스템(410)은 정적 테스트 또는 동적 테스트시 발견된 오류를 결함 관리 시스템(420)으로 전달할 수 있고, 품질 관리 시스템(430)의 저장 매체 등에 소프트웨어 테스트 결과 및 관련 정보를 저장할 수 있도록 품질 관리 시스템(430) 등에 전송할 수도 있다.The
결함 관리 시스템(420)은 테스트 수행 시스템(410)으로부터 접수된 테스트 중 발생한 오류 내용을 관리하고, 품질 관리 시스템(430)으로부터 접수된 오류 수정 요청에 따라 개발자에게 소프트웨어 테스트 중 발생한 오류를 전달할 수 있다.The
테스트케이스 관리 시스템(411)는 테스트 수행 시스템(410)에서 동적 테스트 수행 시 입출력 결과를 확인하는데 필요한 테스트케이스 생성을 위한 요구사항을 분석하거나 변경할 수 있다. 테스트케이스 관리 시스템(411)은 테스트케이스를 설계 및 보완할 수도 있으며, 테스트케이스를 도출하도록 구현될 수도 있다. 도출된 테스트케이스는 동적 테스트 자동화 시스템으로 전달되어 동적 테스트에 사용될 수 있다. 또한, 도출된 테스트케이스는 동시에 품질 관리 시스템(430)의 저장장치로 전달되어 저장될 수도 있다. 저장장치에 저장된 테스트케이스는 현재 테스트 이후 현재 테스트 중인 소프트웨어와 유사한 위성관제 소프트웨어 개발시 호출되어 재사용될 수 있다.The test
한편, 테스트 수행 시스템(410)은 개발 과정 중 개발자가 소스코드 또는 실행 파일 구현과정 중 소스코드 및 실행 파일의 오류확인을 하기 위한 소프트웨어 테스트를 위하여 자체테스트를 수행할 수도 있다. 소프트웨어 테스트 대상은 소스 형상 관리 시스템(412)의 형상관리 대상에서 제외될 수 있다. 또한, 테스트 중 발생된 오류도 결함 관리 시스템(420)에서 관리되지 않고, 소프트웨어 테스트 결과는 개발자에게만 제공될 수도 있다.Meanwhile, during the development process, the
도 5는 일 실시예에 따른 위성관제 소프트웨어를 위한 테스트 자동화 방법의 정적 테스트 수행을 나타내는 도면이다.5 is a diagram illustrating static test execution of a test automation method for satellite control software according to one embodiment.
도 5를 참조하면, 위성관제 소프트웨어를 위한 테스트 자동화 방법의 정적 테스트 수행 과정을 알 수 있다. 위성관제 소프트웨어의 개발자는 테스트하고자 하는 개발 소프트웨어 소스코드 또는 수정 소프트웨어 소스코드를 품질 관리 시스템의 화면(531)의 테스트 등록을 이용하여 소프트웨어 테스트 등록을 요청할 수 있다. 품질 관리 시스템의 화면(531)은 요청된 소프트웨어 테스트등록이 완료되었다는 승인에 관한 정보를 디스플레이할 수 있다.Referring to FIG. 5, a static test execution process of the test automation method for the satellite control software can be known. The developer of the satellite control software can request the software test registration using the test registration of the
개발자가 품질 관리 시스템에 등록된 소스코드를 소스 형상 관리 시스템(512)에 커밋하면, 소스 형상 관리 시스템(512)는 커밋된 소스코드가 최신버전 여부를 확인한 이후 테스트 수행 시스템(510)의 정적 테스트 자동화 시스템에 전달 될 수 있다. 테스트 수행 시스템(510)의 정적 테스트 자동화 시스템은 소스코드를 빌드하고 정적 테스트를 수행할 수 있다.When the developer commits the source code registered in the quality management system to the source
정적 테스트 결과는 테스트 수행 시스템(510)의 디스플레이 등을 통해 개발자 및 관리자가 실시간으로 확인할 수 있도록 디스플레이 될 수 있다. 이때, 정적 테스트 발견된 오류는 결함 관리 시스템(530)으로 전송되거나 전달될 수 있다. The static test result may be displayed on the display of the
또한, 정적 테스트 수행 결과는 품질 관리 시스템의 저장매체에 소프트웨어 테스트 결과 및 관련 정보로서 기록되도록 품질 관리 시스템으로 전송될 수 있다. 품질 관리 시스템의 저장매체에 저장된 테스트 결과는 관리자가 테스트 결과를 확인할 수 있도록 품질 관리 시스템의 결과관리 화면(532)을 통해 테스트 결과가 디스플레이될 수 있다.In addition, the results of the static test execution may be transmitted to the quality management system to be recorded as software test results and related information on a storage medium of the quality management system. The test results stored in the storage medium of the quality management system may be displayed on the
디스플레이된 테스트 결과를 확인 중 위성관제 소프트웨어의 품질 등을 관리하는 관리자에 의하여 품질 관리 시스템은 오류 수정을 결함 관리 시스템(530)으로 요청할 수도 있다. 결함 관리 시스템(530)은 빌드 및 정적 테스트 수행 중 발생한 오류와 관리자 오류 수정 요청을 접수 및 관리하고, 접수한 오류 수정을 개발자에게 요청할 수도 있다. 또한, 오류 수정을 접수 받은 개발자는 소스코드 수정 후 정적 테스트 과정에 따라 테스트를 다시 진행할 수도 있다.The quality management system may request an error correction to the
한편, 테스트 수행 시스템(510)은 커밋된 소스 코드 또는 파일의 코드를 검증하거나, 코드 테스트 수행시 메모리 상의 오류를 검증할 수도 있다. 또한, 코드 테스트 수행시 복잡도 또는 중복도를 검증할 수도 있다.On the other hand, the
도 6은 일 실시예에 따른 위성관제 소프트웨어를 위한 테스트 자동화 방법의 동적 테스트 수행을 나타내는 도면이다.6 is a diagram illustrating dynamic test execution of a test automation method for satellite control software in accordance with one embodiment.
도 6을 참조하면, 위성관제 소프트웨어를 위한 테스트 자동화 방법의 동적 테스트의 수행 과정을 알 수 있다. 위성관제 소프트웨어의 개발자는 테스트하고자 하는 개발 소프트웨어 파일 또는 수정 소프트웨어 파일을 품질 관리 시스템(630)의 테스트등록을 통해 소프트웨어 테스트등록을 요청하고, 요청된 소프트웨어 테스트등록이 완료되었음을 확인할 수 있다.Referring to FIG. 6, it can be seen how the dynamic test of the test automation method for the satellite control software is performed. The developer of the satellite control software can request the software test registration through the test registration of the
또한, 개발자는 동적 테스트시 필요한 테스트케이스 생성을 위해 요구사항을 테스트케이스 관리 시스템(611)에 등록 또는 변경 요청을 할 수 있다. 요구사항이 등록되면 테스트케이스 관리 시스템(611)은 요구사항 분석, 테스트케이스 설계 및 테스트케이스 도출 절차를 통해 동적 테스트에 필요한 테스트케이스를 도출할 수 있다. 또한, 요구사항이 변경되면 테스트케이스 관리 시스템(611)은 요구사항 변경, 테스트케이스 보완 및 테스트케이스 도출 절차를 통해 동적 테스트에 필요한 테스트케이스를 도출할 수도 있다.In addition, the developer can request or register the requirements to the test
도출된 테스트케이스는 테스트 수행 시스템(610)의 동적 테스트 자동화 시스템으로 전달될 수 있다. 또한, 동시에 도출된 테스트케이스는 차후 동일한 위성 또는 유사한 위성에 관한 위성관제 소프트웨어 개발시 재사용할 수 있도록 품질 관리 시스템(630)의 저장장치로 전달되어 저장될 수도 있다.The derived test case may be passed to the dynamic test automation system of
개발자는 품질 관리 시스템(630)에 등록된 소프트웨어 파일을 소스 형상 관리 시스템(612)에 커밋시킬 수 있다. 소스 형상 관리 시스템(612)는 커밋된 소프트웨어 파일이 최신버전인지 여부를 확인한 후 테스트 수행 시스템(610)의 동적 테스트 자동화 시스템으로 전달 또는 전송할 수 있다. 또한, 테스트 수행 시스템(610)은, 테스트하고자 하는 코드에 탐침 코드를 삽입하고 바이너리(binary) 실행을 수행할 수도 있다.The developer can commit the software file registered in the
테스트 수행 시스템(610)의 동적 테스트 자동화 시스템은 전달된 소프트웨어 파일을 빌드하고 동적 테스트를 수행할 수 있다. 테스트 수행 시스템(610)의 디스플레이 등에서 플러그 인 등을 이용하여 테스트 자동화 도구 개발자 화면(613)을 통해 개발자 및 관리자가 실시간으로 확인할 수 있도록, 커버리지 테스트 데이터에 관한 동적 테스트 결과 및 세부 내용이 디스플레이의 스크린 상에서 디스플레이 및 표출될 수도 있다. The dynamic test automation system of
동적 테스트시 발견된 오류는 결함 관리 시스템(620)으로 전달될 수 있다. 또한, 품질 관리 시스템(630)의 저장매체로 소프트웨어 테스트 결과 및 관련 정보로서 저장될 수 있도록, 동적 테스트 수행 결과는 품질 관리 시스템(630) 또는 품질 관리 시스템(630)과 연결되거나 포함된 데이터베이스(640)으로 전송될 수도 있다. Errors found during dynamic testing may be communicated to the
관리자가 테스트 결과를 확인할 수 있도록, 품질 관리 시스템(630)의 저장매체 또는 연결되거나 포함된 데이터베이스(640)에 저장된 테스트 결과는 품질 관리 시스템(630)의 결과관리 화면(632)을 통해 디스플레이될 수도 있다.The test results stored in the storage medium of the
디스플레이된 테스트 결과를 관리자 등의 사용자가 확인 중 사용자에 의하여 품질 관리 시스템(630)에서 제공되는 인터페이스를 이용하여 오류 수정을 요청하는 오류 수정에 관한 정보가 입력되면, 오류 수정 요청이 결함 관리 시스템(620)에 전달 또는 전송될 수 있다. 결함 관리 시스템(620)은 빌드 및 동적 테스트 수행 중 발생한 오류와 관리자 오류 수정 요청을 접수 및 관리하고, 접수한 오류 수정을 개발자에게 요청할 수도 있다. 오류 수정을 접수 받은 개발자는 결함 관리 시스템(620)이 전달한 오류 상세 내용 등을 기초로 소프트웨어 파일 수정 후 동적 테스트 과정에 따라 테스트를 재 진행할 수도 있다.If a user such as an administrator confirms the displayed test result, information on the error correction requesting the error correction using the interface provided by the
한편, 데이터베이스(640) 또는 품질 관리 시스템(630) 등은 애플리케이션 프로그래밍 인터페이스(API)를 제공하는 인터페이스 서버(650)과 연결되거나 연동될 수도 있다.Meanwhile, the
도 7은 일 실시예에 따른 품질 관리 시스템을 나타내는 블록도이다.7 is a block diagram illustrating a quality management system according to one embodiment.
도 7을 참조하면, 품질 관리 시스템(700)은 등록부(710), 승인부(720), 테스트 결과 출력부(730), 오류 수정 요청부(740)를 포함할 수 있다.7, the
등록부(710)는 개발자 단말로부터 위성관제 소프트웨어의 테스트를 수행하기 위한 등록 요청을 수신할 수 있고, 승인부(720)는 등록 요청된 위성관제 소프트웨어의 테스트를 승인할 수 있다.The
테스트 결과 출력부(730)는 테스트 수행부로부터 위성관제 소프트웨어의 테스트 수행 결과에 대한 정보를 수신하고, 수신한 정보를 디스플레이할 수 있고, 오류 수정 요청부(740)는 위성관제 소프트웨어의 테스트 수행 결과에서 발견된 오류 내용을 개발자 단말로 전달할 수 있다.The test
도 8은 일 실시예에 따른 테스트 자동화 시스템을 나타내는 블록도이다.8 is a block diagram illustrating a test automation system in accordance with one embodiment.
도 8을 참조하면, 위성관제 소프트웨어를 위한 테스트 수행 시스템(800)은 테스트 수행부(810), 테스트 결과 확인부(820), 오류 전달부(830), 테스트 결과 전송부(840)를 포함할 수 있다.8, the
테스트 수행부(810)는 소스 형상 관리 시스템에서 전달된 소스코드를 테스트할 수 있고, 테스트 결과 확인부(820)는 테스트 수행부에 의한 테스트의 수행 결과를 제공할 수 있다.The
오류 전달부(830)는 테스트의 수행 결과에서 발견된 오류 정보를 결함 관리 시스템으로 전달할 수 있고, 테스트 결과 전송부(840)는 품질 관리 시스템으로 테스트의 수행 결과에 대한 정보를 전송할 수 있다.The
테스트 수행부(810)는 위성관제 소프트웨어의 소스코드 또는 실행 파일을 테스트할 수 있다. 테스트 수행부(810)는 위성관제 소프트웨어의 소스코드 또는 실행 파일을 정적 또는 동적 테스트할 수 있다. 테스트 수행부(810)는 소스코드에 대해 정적 테스트를 수행하는 정적 테스트 수행부, 소스코드에 대해 동적 테스트를 수행하는 동적 테스트 수행부를 포함할 수 있다. 동적 테스트 수행부는 소스코드의 테스트에 이용되는 테스트케이스를 생성 및 관리할 수 있다. 정적 테스트 수행부는 정적 테스트 자동화 시스템이고, 동적 테스트 수행부는 동적 테스트 자동화 시스템일 수 있다.The
테스트 결과 확인부(820)는 테스트의 수행 결과를 출력할 수 있고, 오류 전달부(830)는 테스트의 수행 결과에 따라 소스코드 또는 실행 파일에 오류가 존재하는 것이 확인된 경우, 오류에 대한 정보를 결함 관리 시스템에 전달할 수 있다.The test
경우에 따라서, 테스트 수행 시스템(800)은 소스코드 또는 실행 파일의 변경 사항을 관리하는 소스 형상 관리 시스템을 더 포함할 수도 있다. 또한, 테스트 수행 시스템(800)은 동적 테스트를 위한 테스트케이스를 관리하는 테스트케이스 관리 시스템을 더 포함할 수도 있다.Optionally, the
한편, 테스트 수행 시스템(800)은 정적 테스트 및 동적 테스트를 수행할 수 있으므로, 위성관제 시스템 소프트웨어 개발 단계에서부터 기능 구현 단계까지 체계적으로 소프트웨어 테스트를 수행할 수 있다. 테스트 수행 시스템(800)은 품질 관리 시스템을 이용하여, 공식적인 소프트웨어 테스트의 소스코드, 소프트웨어 파일의 등록 및 관리를 할 수 있으며, 테스트 결과 저장 관리, 관리자에 의한 테스트 결과의 확인 및 보고서 출력을 수행할 수도 있다. Meanwhile, since the
또한, 테스트 수행 시스템(800)은 동적 테스트의 테스트케이스 관리를 함으로써, 축적된 테스트케이스를 활용하여 위성관제 소프트웨어 테스트를 보다 용이하게 수행할 수도 있다는 장점이 있다.In addition, the
도 9는 일 실시예에 따른 결함 관리 시스템을 나타내는 블록도이다.9 is a block diagram illustrating a defect management system according to an embodiment.
도 9를 참조하면, 결함 관리 시스템(900)은 이슈 관리부(910)를 포함할 수 있다. 이슈 관리부(910)는 테스트에서 발생한 오류 정보를 관리하고, 품질 관리 시스템으로부터 오류 수정 요청을 수신하는 경우 개발자 단말에 오류 수정 요청에 대한 정보를 전송할 수 있다.Referring to FIG. 9, the
이슈 관리부(910)는 테스트 자동화 시스템의 오류 전달부로부터 위성관제 소프트웨어의 소스코드 또는 실행 파일의 오류에 대한 정보를 수신할 수 있다. 테스트 자동화 시스템의 빌드 및 테스트부는 위성관제 소프트웨어의 소스코드 또는 실행 파일을 테스트할 수 있다. 테스트의 수행 결과에 따라 소스코드 또는 실행 파일에 오류가 존재하는 것이 확인된 경우, 테스트 자동화 시스템의 오류 전달부는 오류에 대한 정보를 전송할 수 있다.The
이슈 관리부(910)는 오류에 대한 정보를 위성관제 소프트웨어의 개발자에게 전달할 수 있다. 이슈 관리부(910)는 오류에 대한 정보를 위성관제 소프트웨어의 관리자에게 전달할 수도 있다.The
도 10은 일 실시예에 따른 소스 형상 관리 시스템을 나타내는 블록도이다.10 is a block diagram illustrating a source configuration management system according to an embodiment.
도 10을 참조하면, 소스 형상 관리 시스템(1000)은 커밋부(1010), 버전 확인 및 전송부(1020)를 포함할 수 있다.Referring to FIG. 10, the source
커밋부(1010)는 개발자 단말로부터 위성관제 소프트웨어의 소스코드를 소스 형상 관리 시스템에 커밋(commit)할 수 있다.The commit
버전 확인 및 전송부(1020)는 커밋된 소스코드의 버전이 최신 버전인지 여부를 확인하고, 커밋된 소스코드의 버전이 최신 버전인 경우 커밋된 소스코드를 테스트 수행 시스템으로 전송할 수 있다.The version checking and
도 11은 일 실시예에 따른 테스트 자동화 시스템이 수행하는 테스트 자동화 방법의 정적 테스트에 관한 과정을 나타내는 흐름도이다.11 is a flowchart illustrating a process for static testing of a test automation method performed by the test automation system according to an exemplary embodiment.
도 11을 참조하면, 테스트 자동화 시스템이 수행하는 테스트 자동화 방법의 정적 테스트에 관한 과정은 하기와 같은 단계를 포함할 수 있다. 테스트 자동화 시스템의 테스트 수행 시스템은 실시간으로 정적 테스트의 수행 결과를 표출할 수 있다. 또한, 테스트 자동화 시스템의 품질 관리 시스템은 정적 테스트의 수행 결과를 저장할 수 있다.Referring to FIG. 11, the process for static testing of the test automation method performed by the test automation system may include the following steps. The test execution system of the test automation system can display the execution result of the static test in real time. In addition, the quality management system of the test automation system can store the results of performing static tests.
단계(1110)에서, 품질 관리 시스템이 개발자 단말로부터 테스트하고자 하는 위성관제 소프트웨어에 관한 소스코드의 테스트 등록 요청을 수신할 수 있다. 단계(1120)에서, 테스트 등록 요청된 소스코드가 개발자 단말로부터 소스 형상 관리 시스템에 전달되면, 소스 형상 관리 시스템이 소스코드가 최신 버전인지 여부를 확인할 수 있다.In
단계(1130)에서, 소스코드가 최신 버전인 경우, 테스트 수행 시스템이 소스코드에 대해 정적 테스트를 수행할 수 있다. 단계(1140)에서, 테스트 수행 시스템이 테스트의 수행 결과에서 오류가 발생한 경우, 오류에 대한 오류 정보를 결함 관리 시스템으로 전달할 수 있다.In
단계(1150)에서, 결함 관리 시스템이 수신한 오류 정보를 개발자 단말로 전송할 수 있다. 결함 관리 시스템은 품질 관리 시스템으로부터 오류 수정 요청을 수신하는 경우, 개발자 단말에 오류 수정 요청에 대한 정보를 전송할 수도 있다.In
도 12는 일 실시예에 따른 테스트 자동화 시스템이 수행하는 테스트 자동화 방법의 동적 테스트에 관한 과정을 나타내는 흐름도이다.12 is a flowchart illustrating a process for dynamic testing of a test automation method performed by a test automation system according to an exemplary embodiment.
도 12를 참조하면, 테스트 자동화 시스템이 수행하는 테스트 자동화 방법의 동적 테스트에 관한 과정은 하기와 같은 단계를 포함할 수 있다. 테스트 자동화 시스템의 결함 관리 시스템은 오류와 오류에 대한 수정 요청을 수신하고, 수정 요청을 개발자 단말로 전송할 수 있다. 테스트 자동화 시스템의 품질 관리 시스템은 동적 테스트의 수행 결과를 저장하고, 저장된 수행 결과를 표출할 수 있다. 테스트 자동화 시스템의 테스트 수행 시스템은 실시간으로 동적 테스트의 수행 결과를 표출할 수도 있다.Referring to FIG. 12, the process of dynamic testing of the test automation method performed by the test automation system may include the following steps. The defect management system of the test automation system can receive a correction request for errors and errors, and can transmit a correction request to the developer terminal. The quality management system of the test automation system can store the results of the dynamic test and display the stored performance results. The test execution system of the test automation system may display the execution result of the dynamic test in real time.
단계(1210)에서, 품질 관리 시스템이 개발자 단말로부터 테스트하고자 하는 위성관제 소프트웨어에 관한 소스코드의 테스트 등록 요청을 수신할 수 있다. 단계(1220)에서, 테스트 등록 요청된 소스코드가 개발자 단말로부터 소스 형상 관리 시스템에 전달되면, 소스 형상 관리 시스템이 소스코드가 최신 버전인지 여부를 확인할 수 있다.In
단계(1230)에서, 테스트케이스 관리 시스템이 개발자 단말로부터 테스트케이스의 생성을 위한 조건 정보를 수신하고, 수신한 조건 정보에 기초하여 동적 테스트에 이용되는 테스트케이스를 생성할 수 있다. 단계(1240)에서, 소스코드가 최신 버전인 경우, 테스트 수행 시스템이 생성된 테스트케이스에 기초하여 소스코드에 대해 동적 테스트를 수행할 수 있다.In
단계(1250)에서, 테스트 수행 시스템이 테스트의 수행 결과에서 오류가 발생한 경우, 오류에 대한 오류 정보를 결함 관리 시스템으로 전달할 수 있다. 단계(1260)에서, 결함 관리 시스템이 수신한 오류 정보를 개발자 단말로 전송할 수 있다.In
도 13은 일 실시예에 따른 테스트 자동화 시스템이 수행하는 테스트 자동화 방법을 나타내는 흐름도이다.13 is a flowchart illustrating a method of automating a test performed by a test automation system according to an embodiment.
도 13을 참조하면, 테스트 자동화 시스템이 수행하는, 위성관제 소프트웨어를 위한 테스트 자동화 방법은 하기와 같은 단계를 포함할 수 있다.Referring to FIG. 13, a test automation method for satellite control software, performed by a test automation system, may include the following steps.
단계(1310)에서, 테스트 자동화 시스템의 테스트 수행 시스템은 위성관제 소프트웨어의 소스코드 또는 실행 파일을 테스트할 수 있다. 테스트 자동화 시스템은 테스트의 수행 결과를 실시간으로 디스플레이할 수도 있다. 테스트 자동화 시스템은 테스트의 수행 결과를 테스트 자동화 시스템에 포함되거나 연결된 디스플레이에 실시간으로 디스플레이할 수도 있다. 또한, 테스트 자동화 시스템의 테스트 수행 시스템은 테스트의 수행 결과를 테스트 자동화 시스템의 품질 관리 시스템에 실시간 전송함으로써, 테스트 자동화 시스템의 품질 관리 시스템에 포함되거나 연결된 디스플레이에 실시간으로 디스플레이할 수도 있다. 테스트 자동화 시스템은 위성관제 소프트웨어의 소스코드 또는 실행 파일을 정적 테스트 또는 동적 테스트할 수 있고, 정적 테스트 또는 동적 테스트의 수행 결과를 실시간으로 디스플레이할 수도 있다.At
경우에 따라서, 테스트 자동화 시스템은 소스코드 또는 실행 파일의 변경 사항을 관리할 수도 있다. 테스트 자동화 시스템은 소스코드 또는 실행 파일을 커밋할 수 있고, 커밋된 소스코드 또는 실행 파일의 버전을 확인할 수 있다. 또한, 테스트 자동화 시스템은 확인된 버전에 따라, 테스트 진행 여부의 확인을 요청할 수도 있다. 테스트 자동화 시스템은 확인된 버전에 따라, 소스코드 또는 실행 파일을 빌드할 수도 있다. 테스트 자동화 시스템은 획득된 정보를 기초로, 확인된 버전이 최신의 버전이라고 판단될 경우, 소스코드 또는 실행 파일을 빌드할 수 있다In some cases, the test automation system may manage changes to source code or executable files. The test automation system can commit the source code or executable, and can check the version of the source code or executable that has been committed. The test automation system may also request verification of the progress of the test depending on the verified version. The test automation system may build the source code or executable, depending on the verified version. The test automation system can build the source code or executable file if it is determined that the verified version is the latest version, based on the information obtained
단계(1320)에서, 테스트 자동화 시스템의 테스트 수행 시스템은 테스트의 수행 결과를 출력하고, 테스트의 수행 결과에 따라 소스코드 또는 실행 파일에 오류가 존재하는 것이 확인된 경우, 오류에 대한 정보를 테스트 자동화 시스템의 결함 관리 시스템에 전달할 수 있다. 테스트 자동화 시스템은 테스트의 최종 수행 결과를 출력할 수 있다. 또한, 테스트 자동화 시스템의 테스트 수행 시스템은 테스트의 수행 결과 상에 소스코드 또는 실행 파일에 오류가 존재하는 것으로 판단되는 경우, 오류에 대한 정보를 테스트 자동화 시스템의 결함 관리 시스템에 전달할 수 있다.In
테스트 자동화 시스템의 결함 관리 시스템은 테스트 자동화 시스템으로부터 전달 또는 수신된 오류에 대한 정보를 위성관제 소프트웨어의 개발자 또는 관리자의 단말에 전송 또는 전달할 수 있다. 위성관제 소프트웨어의 개발자 또는 관리자의 단말은 디스플레이를 포함하거나 연결된 컴퓨팅 디바이스일 수 있다. 한편, 위성관제 소프트웨어의 개발자 또는 관리자의 단말은 테스트 자동화 시스템의 결함 관리 시스템, 품질 관리 시스템, 테스트 수행 시스템 중 적어도 하나와 네트워크 등을 통하여 연결될 수 있으며, 위성관제 소프트웨어를 위한 테스트 자동화 방법에서 이용되는 각종 정보를 경우에 따라서, 입력 또는 출력하거나, 수신 또는 전송할 수도 있다. 테스트 자동화 시스템의 결함 관리 시스템은 테스트 자동화 시스템의 품질 관리 시스템으로부터 오류 수정 요청을 받을 경우, 오류에 대한 정보를 개발자에게 전달할 수도 있다.The defect management system of the test automation system may transmit or convey information about errors received or received from the test automation system to the developer or manager terminal of the satellite control software. The developer or administrator terminal of the satellite control software may be a computing device that includes or is connected to a display. Meanwhile, the developer or administrator terminal of the satellite control software may be connected to at least one of the defect management system, the quality management system, and the test execution system of the test automation system through a network or the like and used in a test automation method for the satellite control software Various types of information may be input or output, received, or transmitted, as the case may be. The defect management system of the test automation system may inform the developer about the error when receiving the error correction request from the quality management system of the test automation system.
테스트 자동화 시스템의 품질 관리 시스템은 테스트의 수행 결과를 수신 및 출력하고, 테스트의 수행 결과에 따라 소스코드 또는 실행 파일에 오류가 존재하는 것이 확인된 경우, 오류에 대한 수정을 테스트 자동화 시스템의 결함 관리 시스템에 요청할 수 있다. 또한, 테스트 자동화 시스템의 품질 관리 시스템은 테스트의 등록 요청에 따라 테스트의 등록을 확인할 수 있다.The quality management system of the test automation system receives and outputs the result of the test, and if it is confirmed that there is an error in the source code or the executable file according to the result of the test, You can ask the system. In addition, the quality management system of the test automation system can confirm the registration of the test according to the registration request of the test.
경우에 따라서, 테스트 자동화 시스템은 동적 테스트를 위한 테스트케이스를 관리할 수도 있다.In some cases, the test automation system may manage test cases for dynamic testing.
또한, 경우에 따라서, 테스트 자동화 시스템의 테스트 수행 시스템은 테스트의 수행 결과를 테스트 자동화 시스템의 품질 관리 시스템으로 전송할 수도 있다. 전송된 테스트의 수행 결과는, 테스트 자동화 시스템의 품질 관리 시스템의 데이터베이스에 저장될 수 있다.In some cases, the test performing system of the test automation system may also transmit the result of the test execution to the quality management system of the test automation system. The results of the performance of the transmitted test may be stored in a database of the quality management system of the test automation system.
도 14는 일 실시예에 따른 결함 관리 시스템을 포함하는 테스트 자동화 시스템이 수행하는 테스트 자동화 방법을 나타내는 흐름도이다.14 is a flowchart illustrating a test automation method performed by a test automation system including a defect management system according to an embodiment.
도 14를 참조하면, 결함 관리 시스템을 포함하는 테스트 자동화 시스템이 수행하는, 위성관제 소프트웨어를 위한 테스트 자동화 방법은 하기와 같은 단계를 포함할 수 있다.Referring to FIG. 14, a test automation method for a satellite control software, performed by a test automation system including a defect management system, may include the following steps.
단계(1410)에서, 테스트 자동화 시스템의 결함 관리 시스템은 테스트 자동화 시스템으로부터 위성관제 소프트웨어의 소스코드 또는 실행 파일의 오류에 대한 정보를 수신할 수 있다. 테스트 자동화 시스템의 테스트 수행 시스템은 위성관제 소프트웨어의 소스코드 또는 실행 파일을 테스트하고, 테스트의 수행 결과에 따라 소스코드 또는 실행 파일에 오류가 존재하는 것이 확인된 경우, 오류에 대한 정보를 전송할 수 있다.In
단계(1420)에서, 테스트 자동화 시스템의 결함 관리 시스템은 오류에 대한 정보를 위성관제 소프트웨어의 개발자에게 전달할 수 있다. 경우에 따라서, 테스트 자동화 시스템의 결함 관리 시스템은 오류에 대한 정보를 위성관제 소프트웨어의 관리자에게 전달할 수도 있다.In
위성관제 소프트웨어를 위한 테스트 자동화 방법은 정지궤도 및 저궤도 위성의 다양한 임무에 따라 개발되는 관제시스템 소프트웨어의 품질 및 신뢰성을 확보할 수 있도록 소스코드 구현 단계에서부터 시스템 통합테스트 단계까지 체계적이고 종합적으로 소프트웨어 테스트를 수행할 수 있다. 체계적이고 종합적으로 소프트웨어 테스트를 수행하기 위하여, 테스트 자동화 방법은 테스트케이스 관리 시스템 등이 연동되는 소프트웨어 테스트 자동화 시스템으로 구현될 수 있다.Test automation method for satellite control software is systematic and comprehensive software test from source code implementation stage to system integration test stage to ensure quality and reliability of control system software developed according to various missions of geostationary and low orbit satellites Can be performed. In order to perform systematic and comprehensive software testing, the test automation method can be implemented as a software test automation system in which a test case management system and the like are interlocked.
또한, 위성관제 소프트웨어를 위한 테스트 자동화 방법은 향후 정지궤도 및 저궤도 위성관제시스템 소프트웨어 개발시 보다 높은 완성도의 제품 구현에 기여할 수 있다는 장점이 있다.In addition, the test automation method for the satellite control software has an advantage that it can contribute to the implementation of the product with higher perfection in the future development of the geostationary orbit orbit orbit control system software.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented in hardware components, software components, and / or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, such as an array, a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that 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, and the like, alone or in combination. Program instructions to be recorded on a computer-readable medium may be those specially designed and constructed for an embodiment 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 embodiments, and vice versa.
실시예들에서 설명된 구성요소들은 하나 이상의 DSP (Digital Signal Processor), 프로세서 (Processor), 컨트롤러 (Controller), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array)와 같은 프로그래머블 논리 소자 (Programmable Logic Element), 다른 전자 기기들 및 이것들의 조합 중 하나 이상을 포함하는 하드웨어 구성 요소들(hardware components)에 의해 구현될 수 있다. 실시예들에서 설명된 기능들(functions) 또는 프로세스들(processes) 중 적어도 일부는 소프트웨어(software)에 의해 구현될 수 있고, 해당 소프트웨어는 기록 매체(recording medium)에 기록될 수 있다. 실시예들에서 설명된 구성요소들, 기능들 및 프로세스들은 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다.The components described in the embodiments may be implemented by a programmable logic device such as one or more DSP (Digital Signal Processor), a processor, a controller, an application specific integrated circuit (ASIC), and a field programmable gate array Logic Element, other electronic devices, and combinations thereof. ≪ RTI ID = 0.0 > At least some of the functions or processes described in the embodiments may be implemented by software, and the software may be recorded in a recording medium. The components, functions and processes described in the embodiments may be implemented by a combination of hardware and software.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the drawings, various technical modifications and variations may be applied to those skilled in the art. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
Claims (6)
상기 위성관제 소프트웨어의 테스트를 관리하는 품질 관리 시스템;
상기 위성관제 소프트웨어의 소스코드의 버전을 확인하고, 상기 소스코드를 테스트 수행 시스템에 전송하는 소스 형상 관리 시스템;
상기 형상 관리 시스템으로부터 수신한 소스코드를 테스트하고, 테스트의 수행 결과에 오류가 있는지 여부를 검사하는 테스트 수행 시스템;
상기 테스트의 수행 결과에서 발견된 오류에 대한 오류 정보를 관리하는 결함 관리 시스템; 및
상기 소스코드의 동적 테스트에 이용되는 테스트케이스를 생성하고, 상기 생성된 테스트케이스를 상기 테스트 수행 시스템에 전송하는 테스트케이스 관리 시스템
을 포함하는 테스트 자동화 시스템.1. A test automation system for satellite control software,
A quality management system for managing a test of the satellite control software;
A source configuration management system for verifying the version of the source code of the satellite control software and transmitting the source code to the test execution system;
A test execution system for testing the source code received from the configuration management system and checking whether there is an error in the result of the test;
A defect management system for managing error information on an error found in the test result; And
A test case management system for generating a test case used for dynamic testing of the source code and transmitting the generated test case to the test execution system,
The test automation system comprising:
상기 테스트케이스 관리 시스템은,
상기 동적 테스트의 수행 시 입출력 결과를 확인하는데 필요한 테스트케이스 생성을 위한 요구 사항 분석 및 변경, 테스트케이스의 설계 및 보안, 및 테스트케이스의 생성의 기능을 수행하는 것을 특징으로 하는 테스트 자동화 시스템.The method according to claim 1,
The test case management system includes:
A function of analyzing and changing requirements for generating a test case necessary for confirming an input / output result when performing the dynamic test, designing and securing a test case, and generating a test case.
상기 테스트 수행 시스템은,
상기 테스트케이스 관리 시스템에 의해 생성된 테스트케이스에 기초하여 동적 테스트를 수행하는 것을 특징으로 하는 테스트 자동화 시스템.The method according to claim 1,
The test execution system comprises:
And a dynamic test is performed based on the test case generated by the test case management system.
상기 테스트 수행 시스템, 상기 결함 관리 시스템, 상기 품질 관리 시스템 및 상기 소스 형상 관리 시스템은 인터넷을 통해 서로 연동되는 것을 특징으로 하는 테스트 자동화 시스템.The method according to claim 1,
Wherein the test execution system, the defect management system, the quality management system, and the source configuration management system interact with each other via the Internet.
상기 테스트 등록 요청된 소스코드가 상기 개발자 단말로부터 소스 형상 관리 시스템에 전달되면, 소스 형상 관리 시스템이 상기 소스코드가 최신 버전인지 여부를 확인하는 단계;
상기 소스코드가 최신 버전인 경우, 테스트 수행 시스템이 상기 소스코드에 대해 정적 테스트를 수행하는 단계;
상기 테스트 수행 시스템이 상기 테스트의 수행 결과에서 오류가 발생한 경우, 상기 오류에 대한 오류 정보를 결함 관리 시스템으로 전달하는 단계; 및
상기 결함 관리 시스템이 상기 수신한 오류 정보를 상기 개발자 단말로 전송하는 단계
를 포함하는 테스트 자동화 방법.The quality management system receiving a test registration request of the source code related to the satellite control software to be tested from the developer terminal;
Confirming whether the source configuration management system is the latest version of the source code when the source code of the test registration request is transmitted from the developer terminal to the source configuration management system;
Performing a static test on the source code if the source code is the latest version;
When the test execution system generates an error in the result of the test, transmitting error information on the error to the defect management system; And
The defect management system transmitting the received error information to the developer terminal
/ RTI >
상기 테스트 등록 요청된 소스코드가 상기 개발자 단말로부터 소스 형상 관리 시스템에 전달되면, 소스 형상 관리 시스템이 상기 소스코드가 최신 버전인지 여부를 확인하는 단계;
테스트케이스 관리 시스템이 상기 개발자 단말로부터 테스트케이스의 생성을 위한 조건 정보를 수신하고, 상기 수신한 조건 정보에 기초하여 동적 테스트에 이용되는 테스트케이스를 생성하는 단계;
상기 소스코드가 최신 버전인 경우, 테스트 수행 시스템이 상기 생성된 테스트케이스에 기초하여 상기 소스코드에 대해 동적 테스트를 수행하는 단계;
상기 테스트 수행 시스템이 상기 테스트의 수행 결과에서 오류가 발생한 경우, 상기 오류에 대한 오류 정보를 결함 관리 시스템으로 전달하는 단계; 및
상기 결함 관리 시스템이 상기 수신한 오류 정보를 상기 개발자 단말로 전송하는 단계
를 포함하는 테스트 자동화 방법.The quality management system receiving a test registration request of the source code related to the satellite control software to be tested from the developer terminal;
Confirming whether the source configuration management system is the latest version of the source code when the source code of the test registration request is transmitted from the developer terminal to the source configuration management system;
The test case management system receiving condition information for generating a test case from the developer terminal and generating a test case used in the dynamic test based on the received condition information;
Performing a dynamic test on the source code based on the generated test case when the source code is the latest version;
When the test execution system generates an error in the result of the test, transmitting error information on the error to the defect management system; And
The defect management system transmitting the received error information to the developer terminal
/ RTI >
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170005919A KR20180083531A (en) | 2017-01-13 | 2017-01-13 | Test automation system and test automation method for satellite control software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170005919A KR20180083531A (en) | 2017-01-13 | 2017-01-13 | Test automation system and test automation method for satellite control software |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180083531A true KR20180083531A (en) | 2018-07-23 |
Family
ID=63102773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170005919A KR20180083531A (en) | 2017-01-13 | 2017-01-13 | Test automation system and test automation method for satellite control software |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20180083531A (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109270366A (en) * | 2018-08-20 | 2019-01-25 | 上海微小卫星工程中心 | A kind of test method of short cycle batch productionization satellite |
KR20200021191A (en) * | 2018-08-20 | 2020-02-28 | 대우조선해양 주식회사 | System and method for developing application for ship by using simulation |
CN110968515A (en) * | 2019-12-03 | 2020-04-07 | 中国科学院软件研究所 | Software testing bed based on software defined satellite |
KR20200129232A (en) * | 2019-05-07 | 2020-11-18 | 한국정보통신기술협회 | Test automation framework system for medical software and method of test automation |
WO2021230394A1 (en) * | 2020-05-13 | 2021-11-18 | 한국시험인증원 주식회사 | Software development and test automation framework |
CN113703419A (en) * | 2021-08-08 | 2021-11-26 | 中国航空工业集团公司沈阳飞机设计研究所 | Automatic testing method and device for redundancy management algorithm of flight control system |
CN114518584A (en) * | 2021-12-29 | 2022-05-20 | 北京空间飞行器总体设计部 | Automatic test system for satellite performance in batches |
KR20220067384A (en) * | 2020-11-17 | 2022-05-24 | 전북대학교산학협력단 | Operating Method of Execution Environment for reuse of software and computing device supporting the same |
CN114661615A (en) * | 2022-04-11 | 2022-06-24 | 成都迪真计算机科技有限公司 | FPGA software testing method and device |
CN113703419B (en) * | 2021-08-08 | 2024-05-17 | 中国航空工业集团公司沈阳飞机设计研究所 | Automatic testing method and device for redundancy management algorithm of flight control system |
-
2017
- 2017-01-13 KR KR1020170005919A patent/KR20180083531A/en unknown
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109270366A (en) * | 2018-08-20 | 2019-01-25 | 上海微小卫星工程中心 | A kind of test method of short cycle batch productionization satellite |
KR20200021191A (en) * | 2018-08-20 | 2020-02-28 | 대우조선해양 주식회사 | System and method for developing application for ship by using simulation |
KR20200129232A (en) * | 2019-05-07 | 2020-11-18 | 한국정보통신기술협회 | Test automation framework system for medical software and method of test automation |
CN110968515A (en) * | 2019-12-03 | 2020-04-07 | 中国科学院软件研究所 | Software testing bed based on software defined satellite |
CN110968515B (en) * | 2019-12-03 | 2021-06-15 | 中国科学院软件研究所 | Software testing bed based on software defined satellite |
KR20210138933A (en) * | 2020-05-13 | 2021-11-22 | 한국시험인증원 주식회사 | Software development and test automation framework |
WO2021230394A1 (en) * | 2020-05-13 | 2021-11-18 | 한국시험인증원 주식회사 | Software development and test automation framework |
KR20220067384A (en) * | 2020-11-17 | 2022-05-24 | 전북대학교산학협력단 | Operating Method of Execution Environment for reuse of software and computing device supporting the same |
CN113703419A (en) * | 2021-08-08 | 2021-11-26 | 中国航空工业集团公司沈阳飞机设计研究所 | Automatic testing method and device for redundancy management algorithm of flight control system |
CN113703419B (en) * | 2021-08-08 | 2024-05-17 | 中国航空工业集团公司沈阳飞机设计研究所 | Automatic testing method and device for redundancy management algorithm of flight control system |
CN114518584A (en) * | 2021-12-29 | 2022-05-20 | 北京空间飞行器总体设计部 | Automatic test system for satellite performance in batches |
CN114518584B (en) * | 2021-12-29 | 2023-10-17 | 北京空间飞行器总体设计部 | Automatic testing system for batch production satellite performance |
CN114661615A (en) * | 2022-04-11 | 2022-06-24 | 成都迪真计算机科技有限公司 | FPGA software testing method and device |
CN114661615B (en) * | 2022-04-11 | 2024-01-30 | 成都迪真计算机科技有限公司 | FPGA software testing method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180083531A (en) | Test automation system and test automation method for satellite control software | |
US10346158B2 (en) | Application management platform | |
US8051031B2 (en) | Metadata for software aircraft parts | |
US8055393B2 (en) | Method and apparatus for loading software aircraft parts | |
US8615384B2 (en) | Method and apparatus for simulating aircraft data processing systems | |
AU2015200543B2 (en) | Vehicle configuration driven loading of software parts | |
US10108531B2 (en) | Transferring application software from a physical to a virtual computer system | |
EP3002679A1 (en) | Software aircraft part installation system | |
US20150161618A1 (en) | Aircraft Configuration and Software Part Management Using a Configuration Software Part | |
US20090327002A1 (en) | Automated workflow for content localization management | |
US9996450B2 (en) | Transferring application software between virtual machines | |
US11226813B2 (en) | System and method for automated source code generation to provide service layer functionality for legacy computing systems in a service-oriented architecture | |
US10810108B2 (en) | Testing application programs using a virtual machine | |
AU2019240576B2 (en) | System and method for certifying and deploying instruction code | |
EP3839746A1 (en) | Validation of system functionality subsequent to modification using parallel regression testing | |
US10809992B1 (en) | Method and apparatus for continuous delivery of permissioned blockchain application | |
Reza et al. | Toward model-based requirement engineering tool support | |
Boydston et al. | Joint common architecture (JCA) demonstration architecture centric virtual integration process (ACVIP) shadow effort | |
CN111694556A (en) | Verification method and system, computer system and medium | |
KR101675634B1 (en) | Apparatus and method for monitoring remote | |
US20230011250A1 (en) | Intelligent Dynamic Web Service Testing Apparatus in a Continuous Integration and Delivery Environment | |
US20230153494A1 (en) | Machine and Process to Design, Validate, and/or Test a Fluid System | |
Parmentier | A secured path to an EGS-CC based future for AIRBUS space programs | |
US20230236956A1 (en) | Objective-driven test cases and suites | |
KR20230053313A (en) | System and method for automating software code coverage for artificial intelligence-based embedded |