KR101013415B1 - Apparatus and mehtod for testing rtc module - Google Patents
Apparatus and mehtod for testing rtc module Download PDFInfo
- Publication number
- KR101013415B1 KR101013415B1 KR1020090073175A KR20090073175A KR101013415B1 KR 101013415 B1 KR101013415 B1 KR 101013415B1 KR 1020090073175 A KR1020090073175 A KR 1020090073175A KR 20090073175 A KR20090073175 A KR 20090073175A KR 101013415 B1 KR101013415 B1 KR 101013415B1
- Authority
- KR
- South Korea
- Prior art keywords
- test
- robot
- component
- testing
- module
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- 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
-
- 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/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
개시된 기술은 RTC 규격을 따르는 모듈을 테스트 하는 장치 및 방법에 관한 것이다.The disclosed technology relates to an apparatus and method for testing modules that conform to the RTC specification.
RTC(Robot Technology Component)는 OMG(Object Management Group)에서 채택된 로봇의 소프트웨어 컴포넌트에 대한 표준 규격이다. 로봇 소프트웨어 컴포넌트는 로봇에 존재하는 다양한 센서나 액추에이터와 같은 하드웨어를 제어하기 위한 장치 컴포넌트와 이러한 장치 컴포넌트를 이용하여 다양한 로봇 응용을 개발하기 위한 응용 컴포넌트를 포함한다. The Robot Technology Component (RTC) is a standard specification for software components of robots adopted by the Object Management Group (OMG). Robot software components include device components for controlling hardware, such as various sensors or actuators present in the robot, and application components for developing various robotic applications using these device components.
한편, RTC 규격을 준수하는 모듈(이하, RTC 모듈)을 이용한 로봇의 개발에 있어서, 개발비용 및 개발 시간의 많은 부분이 테스트 과정에서 소요되고 있지만, 짧은 개발 기간과 부족한 인력 등의 이유로 테스트 기술에 대한 연구는 활발하게 논의되지 못하고 있다. On the other hand, in the development of a robot using a module that complies with the RTC standard (hereinafter, referred to as an RTC module), a large part of development cost and development time is spent in the test process, but due to the short development period and insufficient manpower, The research about this is not actively discussed.
이러한 배경 하에서, RTC 모듈의 테스트에 소요되는 시간 및 비용을 감소시 키기 위해서 테스트 업무를 자동으로 처리하는 시스템의 개발이 요구되고 있다.Under this background, it is required to develop a system that automatically handles test tasks in order to reduce the time and cost required for testing RTC modules.
개시된 기술이 이루고자 하는 기술적 과제는 RTC 모듈을 테스트 하는 장치 및 방법을 제공하는 데 있다.An object of the present invention is to provide an apparatus and method for testing an RTC module.
상기의 기술적 과제를 이루기 위해 개시된 기술의 제1 측면은 로봇 하드웨어 모듈, 로봇 하드웨어 API(Application Programming Interface) 및 로봇 소프트웨어 컴포넌트 순으로 계층적 테스트를 수행할 수 있는 환경을 제공하는 사용자 인터페이스; 테스트 자원 저장소; 로봇 컴포넌트 저장소; 및 상기 테스트 자원 저장소 및 상기 로봇 컴포넌트 저장소에 저장된 내용을 기초로 테스트를 수행하고, 상기 테스트의 결과를 분석하는 테스트 엔진을 포함하는 RTC(Robot Technology Component) 모듈을 테스트하는 장치를 제공하는 데 있다.A first aspect of the disclosed technology to achieve the above technical problem is a user interface that provides an environment for performing a hierarchical test in the order of a robot hardware module, a robot hardware application programming interface (API) and a robot software component; Test resource repository; Robotic component storage; And a test engine configured to perform a test based on contents stored in the test resource repository and the robot component repository and to analyze a result of the test.
상기의 기술적 과제를 이루기 위해 개시된 기술의 제2 측면은 사용자 인터페이스, 테스트 자원 저장소 및 로봇 컴포넌트 저장소를 구비한 테스트 자동화 장치가 RTC 모듈을 테스트하는 방법에 있어서, 상기 사용자 인터페이스를 통하여 테스트 대상, 테스트 항목, 테스트 수행 횟수 및 테스트 환경 설정 정보를 입력받는 단계; 상기 입력 받은 정보를 기초로, 상기 테스트 자원 저장소에서 테스트 코드, 테스트 프로시저 및 성능 측정 메트릭을 가져오고, 상기 로봇 컴포넌트 저장소에서 테스트 대상이 되는 컴포넌트의 컴포넌트 소스 파일을 가져오는 단계; 상기 입력 받은 정보와 상기 테스트 코드, 테스트 프로시저, 성능 측정 메트릭 및 컴포넌트 소스 파일을 기초로 테스트 대상이 되는 컴포넌트에 대한 테스트를 수행하는 단계; 및 상기 테스트 자원 저장소로부터 제공받은 성능 측정 메트릭에 따라 상기 테스트 결과를 분석하는 단계를 포함하며, 상기 사용자 인터페이스는 로봇 하드웨어 모듈, 로봇 하드웨어 API(Application Programming Interface) 및 로봇 소프트웨어 컴포넌트로 구분되어 계층적 테스트를 수행할 수 있는 환경을 제공하는 RTC(Robot Technology Component)모듈을 테스트하는 방법을 제공하는 데 있다.According to a second aspect of the disclosed technology, a test automation device having a user interface, a test resource store, and a robot component store tests an RTC module, and includes a test object and a test item through the user interface. Receiving input number of test executions and test environment setting information; Importing a test code, a test procedure, and a performance measurement metric from the test resource repository based on the received information, and importing a component source file of a component to be tested from the robot component repository; Performing a test on a component to be tested based on the received information, the test code, a test procedure, a performance measurement metric, and a component source file; And analyzing the test results according to the performance measurement metrics provided from the test resource repository, wherein the user interface is divided into robot hardware modules, robot hardware application programming interfaces (APIs), and robot software components to perform hierarchical testing. The present invention provides a method of testing an RTC (Robot Technology Component) module that provides an environment capable of performing the method.
개시된 기술의 실시예들은 다음의 장점들을 포함하는 효과를 가질 수 있다. 다만, 개시된 기술의 실시예들이 이를 전부 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다. Embodiments of the disclosed technology can have the effect of including the following advantages. However, the embodiments of the disclosed technology are not meant to include all of them, and thus the scope of the disclosed technology should not be understood as being limited thereto.
개시된 기술의 테스트 자동화 장치 및 테스트 방법은 로봇 소프트웨어 컴포넌트, 로봇 하드웨어 API 및 로봇 하드웨어 모듈이 계층적으로 테스트 되는 환경을 제공한다. 따라서, 오류 발생시, 소프트웨어 문제인지, 인터페이스 문제인지 하드웨어 문제인지 명확하게 파악할 수 있다는 장점이 있다.The test automation device and test method of the disclosed technology provide an environment in which robot software components, robot hardware APIs, and robot hardware modules are hierarchically tested. Therefore, when an error occurs, there is an advantage that it is possible to clearly determine whether it is a software problem, an interface problem or a hardware problem.
또한, 개시된 기술은 RTC 모듈을 자동으로 테스트할 수 있는 장치 및 방법을 제공한다. 따라서, 테스트에 소요되는 시간, 노력 및 비용을 절감할 수 있다.In addition, the disclosed technology provides an apparatus and method for automatically testing an RTC module. Thus, the time, effort, and cost of the test can be saved.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으 로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.Description of the disclosed technology is only an embodiment for structural or functional description, the scope of the disclosed technology should not be construed as limited by the embodiments described in the text. That is, the embodiments may be variously modified and may have various forms, and thus the scope of the disclosed technology should be understood to include equivalents capable of realizing the technical idea.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.On the other hand, the meaning of the terms described in the present application should be understood as follows.
“제1”, “제2” 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms " first ", " second ", and the like are used to distinguish one element from another and should not be limited by these terms. For example, the first component may be named a second component, and similarly, the second component may also be named a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" to another component, it should be understood that there may be other components in between, although it may be directly connected to the other component. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring to", should be interpreted as well.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요 소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as "include" or "have" refer to features, numbers, steps, operations, components, parts, or parts thereof described. It is to be understood that the present invention is intended to indicate that there is a combination, and does not preclude the presence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof.
각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.Each step may occur differently from the stated order unless the context clearly dictates the specific order. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다. All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Terms defined in commonly used dictionaries should be interpreted to be consistent with meaning in the context of the relevant art and can not be construed as having ideal or overly formal meaning unless expressly defined in the present application.
도 1은 RTC(Robot Technology Component) 규격을 따르는 모듈의 테스트를 위한 계층적 모델을 설명하기 위한 도면이다.1 is a view for explaining a hierarchical model for testing a module conforming to the Robot Technology Component (RTC) standard.
도 1을 참조하면, 테스트 절차는 도 1의 왼쪽 편에 제시된 바와 같이 단위 테스팅(Unit Testing), 통합 테스팅(Integration Testing), 시스템 테스팅(System Testing)의 순서로 진행된다. 본 발명에서는 상기의 테스트 절차를 RTC 규격을 따르는 모듈(이하, RTC 모듈)에 적용하여, 로봇 하드웨어 모듈, 로봇 하드웨어 API(application programming interface), 로봇 소프트웨어 컴포넌트 순으로 계층적으로 테스트를 진행한다. 본 명세서에서, RTC 모듈은 RTC 규격을 따르는 로봇 소프트웨어 컴포넌트, 로봇 하드웨어 API, 로봇 하드웨어 모듈을 포함하는 개념이다.Referring to FIG. 1, the test procedure is performed in the order of unit testing, integration testing, and system testing, as shown in the left side of FIG. 1. In the present invention, the test procedure is applied to a module (hereinafter, referred to as an RTC module) conforming to the RTC standard, and tests are performed hierarchically in the order of a robot hardware module, a robot hardware API (application programming interface), and a robot software component. In this specification, an RTC module is a concept including a robot software component, a robot hardware API, and a robot hardware module that conforms to the RTC standard.
로봇 시스템은 소프트웨어 컴포넌트뿐만 아니라 하드웨어 모듈과도 밀접하게 연결되어 있다. 하드웨어와 밀접하게 관련되어 있는 소프트웨어 컴포넌트를 테스트 할 경우, 소프트웨어 컴포넌트 자체에 에러가 있는지 하드웨어에 결함이 있는지에 대해 알 수 없다. 따라서, 로봇 소프트웨어 컴포넌트를 테스트하기 위해서는 로봇 하드웨어 모듈, 로봇 하드웨어 모듈과 로봇 소프트웨어 컴포넌트 간의 인터페이스인 API(Application Programming Interface), 그리고 로봇 소프트웨어 컴포넌트에 대한 테스트가 계층적으로 수행되어야 한다. The robotic system is closely connected with hardware modules as well as software components. When testing software components that are closely related to hardware, it is not known whether the software component itself is faulty or defective. Therefore, in order to test the robot software component, a test for the robot hardware module, an application programming interface (API), which is an interface between the robot hardware module and the robot software component, and the robot software component should be performed hierarchically.
도 2는 개시된 기술의 일 실시예에 따른 RTC 모듈을 테스트 하는 장치를 설명하기 위한 블록도이다. 도 2를 참조하면, RTC 모듈 테스트 장치(200)는 사용자 인터페이스(210), 테스트 자원 저장소(220), 로봇 컴포넌트 저장소(230) 및 테스트 엔진(240)을 포함한다. 2 is a block diagram illustrating an apparatus for testing an RTC module according to an embodiment of the disclosed technology. Referring to FIG. 2, the RTC
일 실시예에 따라, 테스트 엔진(240)은 사용자 인터페이스(210)를 통하여 입력 받은 테스트 설정 정보에 따라, 테스트 자원 저장소(220) 및 로봇 컴포넌트 저장소(230)에 저장된 내용을 기초로 테스트를 수행하고, 테스트의 결과를 분석하여 사용자 인터페이스(210)를 통하여 출력할 수 있다. According to an embodiment, the
도 3은 도 2의 사용자 인터페이스를 설명하기 위한 블록도이다. 사용자 인터페이스(210)는 로봇 하드웨어 모듈을 테스트하는 경우 사용되는 인터페이스인 제1 사용자 인터페이스(310), 로봇 하드웨어 API를 테스트 하는 경우 사용되는 인터페 이스인 제2 사용자 인터페이스(320) 및 로봇 소프트웨어 컴포넌트를 테스트하는 경우 사용되는 제3 사용자 인터페이스(330)를 포함하여, 로봇 하드웨어 모듈, 로봇 하드웨어 API(Application Programming Interface) 및 로봇 소프트웨어 컴포넌트 순으로 계층적 테스트를 수행할 수 있는 환경을 제공한다. FIG. 3 is a block diagram illustrating the user interface of FIG. 2. The
예컨대, 사용자는 로봇 하드웨어 모듈에 대한 테스트를 하는 경우, 제1 사용자 인터페이스(310)를 통하여 테스트 설정 정보를 입력할 수 있다. 테스트 설정 정보는 테스트 대상, 테스트 항목, 테스트 수행 횟수 및 테스트 환경 설정 정보 등을 포함할 수 있다. For example, when the user tests the robot hardware module, the user may input test setting information through the
테스트 대상은 테스트 대상이 되는 로봇 하드웨어 모듈(로봇 소프트웨어 컴포넌트를 테스트 하는 경우에는, 해당 로봇 소프트웨어 컴포넌트)의 식별자가 될 수 있다. 테스트 항목은 테스트 대상의 세분화된 테스트 항목이 될 수 있다. 예를 들어, 로봇 하드웨어 모듈이 거리 측정 센서 모듈이라고 가정하면, 테스트 항목은 거리 측정 센서 모듈이 측정하는 값의 정확성이 될 수 있다. 테스트 수행 횟수는 테스트 항목에 대하여 테스트를 수행하는 횟수 또는 테스트 케이스 별로 테스트를 수행하는 횟수 등이 될 수 있다. 테스트 환경 설정 정보는 테스트 수행 시 테스트 베드의 초기값, 입출력 변수, 테스트 수행에 있어서 요구되는 조건 등을 포함할 수 있다. The test object may be an identifier of a robot hardware module (in case of testing a robot software component, the robot software component) to be tested. The test item may be a subdivided test item of the test target. For example, assuming that the robot hardware module is a distance sensor module, the test item may be the accuracy of the value measured by the distance sensor module. The number of test executions may be a number of tests performed on a test item or a number of tests performed for each test case. The test environment setting information may include an initial value of the test bed, an input / output variable, a condition required for the test execution, and the like, when the test is performed.
또한, 로봇 하드웨어 모듈의 테스트에는 문서 테스트, 성능 테스트, 성능 평가가 있을 수 있다. 문서 테스트는 실무자에 대한 문서 테스트 설문조사를 통하여 로봇 하드웨어 모듈과 관련된 데이터 시트, 명세문서 등의 문서 적합성을 평가하는 테스트이다. 성능 테스트는 하드웨어 모듈의 성능을 테스트하는 것으로 예를 들어, 거리 측정 센서 모듈에서 거리 측정이 정확한지를 테스트 하는 것을 말한다. 성능 평가는 성능 테스트 결과를 성능 평가 메트릭을 참고하여, 분석하는 작업을 말한다.In addition, testing of the robot hardware module may include document testing, performance testing, and performance evaluation. The document test is a test to evaluate the suitability of documents such as data sheets and specification documents related to robot hardware modules through document test surveys of practitioners. A performance test is a test of the performance of a hardware module, for example, testing the accuracy of a distance measurement in a distance sensor module. Performance evaluation refers to analyzing performance test results by referring to performance evaluation metrics.
사용자는 마찬가지로, 로봇 하드웨어 API를 테스트 하는 경우에는, 제2 사용자 인터페이스(320)를 통하여 테스트 설정 정보를 입력하며, 로봇 소프트웨어 컴포넌트를 테스트 하는 경우에는 제3 사용자 인터페이스(330)를 통하여 테스트 설정 정보를 입력할 수 있다. Likewise, when testing the robot hardware API, the user inputs test setting information through the
로봇 하드웨어 API는 소프트웨어 컴포넌트에 연결되어 구현되며, 하드웨어 모듈과 소프트웨어 컴포넌트 사이의 통신에 사용되는 언어, 메시지 형식 등을 제공 하는 인터페이스이다. 로봇 하드웨어 API에 대한 테스트는 소프트웨어 컴포넌트 별로 진행된다. 로봇 하드웨어 API의 테스트에는 인터페이스 테스트가 있을 수 있다. 인터페이스 테스트는 로봇 하드웨어 API를 통하여 하드웨어와 소프트웨어 간에 전달되는 데이터 입출력 값의 정확성 또는 로봇 하드웨어 API 포맷을 테스트한다. 로봇 소프트웨어 컴포넌트의 테스트에는 RTC 규격을 따르는 로봇 소프트웨어 컴포넌트의 기능이 올바르게 구현되는지 테스트하는 기능 테스트가 있을 수 있다. The robot hardware API is implemented by connecting to a software component, and is an interface that provides a language, a message format, and the like used for communication between the hardware module and the software component. Testing of the robot hardware API is done by software component. Testing of the robot hardware API may include an interface test. The interface test tests the robot hardware API format or the accuracy of data input / output values passed between hardware and software through the robot hardware API. Testing a robot software component may include a functional test that tests the functionality of a robot software component that conforms to the RTC specification.
도 4는 도 2의 테스트 자원 저장소를 설명하기 위한 블록도이다. 테스트 자원 저장소(220)는 테스트에 필요한 테스트 자원을 저장하는 저장소이다. 일 실시예에 따른 테스트 자원 저장소(220)에는 테스트 코드(410), 테스트 프로시저(420), 테스트 케이스(430), 문서 테스트 설문지(440) 및 성능 측정 메트릭(450)이 저장될 수 있다. 4 is a block diagram illustrating a test resource store of FIG. 2. The
테스트 코드(410)는 테스트를 실행하기 위한 기본적인 틀을 작성한 코드이며, 테스트 프로시저(420)는 테스트 계획, 테스트 진행과정에 대한 프로시저이다. 테스트 케이스(430)는 하드웨어 모듈, 로봇 하드웨어 API 또는 소프트웨어 컴포넌트가 제대로 동작하고 있는지를 검증하기 위하여 선정된 테스트 데이터를 말한다. 문서 테스트 설문지(440)는 RTC 모듈의 명세문서, 데이터시트 등을 참고로 하여 상기 명세문서, 테이터시트 등의 문서가 적합하게 작성되었는지를 테스트하기 위해 실무자를 대상으로 하는 설문지이다. 성능 측정 메트릭(450)은 하드웨어 모듈, 로봇 하드웨어 API 또는 소프트웨어 컴포넌트의 기능성, 신뢰성 및 효율성 등의 속성들이 요구되는 수준을 만족하는지 확인하기 위해, 해당 성능을 평가하는 지표이다. 예를 들어, 성능 측정 메트릭(450)에는 거리 측정 센서 모듈에서 측정 거리의 정밀도, 초음파 감도의 정확성 등이 있을 수 있다. The
도 5은 도 2의 로봇 컴포넌트 저장소를 설명하기 위한 블록도이다. 로봇 컴포넌트 저장소(230)는 로봇 소프트웨어 컴포넌트와 관련된 파일들이 저장되는 저장소이다. 일 실시예에 따른 로봇 컴포넌트 저장소(230)에는 컴포넌트 소스 파일(510), 컴포넌트 정보 파일(520) 및 컴포넌트 실행 환경 파일(530)이 저장될 수 있다.FIG. 5 is a block diagram illustrating the robot component store of FIG. 2.
컴포넌트 소스 파일(510)은 로봇 소프트웨어 컴포넌트의 소스 파일이다. 컴 포넌트 정보 파일(520)은 컴포넌트 소스 파일에 대한 정보를 포함하는 파일로, 예를 들어 해당하는 로봇 소프트웨어 컴포넌트의 라이브러리 형태, 사용 언어, 실행 타입 등을 포함할 수 있다. 컴포넌트 실행 환경 파일(530)은 해당하는 로봇 소프트웨어 컴포넌트가 사용되는 환경에 대한 정보를 포함한 파일로, 예를 들어 로봇 소프트웨어 컴포넌트가 어떤 하드웨어 모듈에서 사용될 수 있는지에 대한 정보를 포함한다. Component source file 510 is a source file of a robot software component. The component information file 520 is a file including information on a component source file. For example, the component information file 520 may include a library type, a language used, and an execution type of a corresponding robot software component. The component
도 6은 도 2의 테스트 엔진을 설명하기 위한 블록도이다. 테스트 엔진(240)은 테스트 자원 저장소(220) 및 로봇 컴포넌트 저장소(230)에 저장된 내용을 기초로 테스트를 수행하고, 테스트의 결과를 분석한다. 일 실시예에 따른 테스트 엔진(240)은 테스트 매니저(610), 테스트 데이터 생성부(620), 테스트 실행부(630) 및 테스트 감시부(640)를 포함한다. FIG. 6 is a block diagram illustrating the test engine of FIG. 2. The
테스트 매니저(610)는 테스트 데이터 생성 명령을 상기 테스트 데이터 생성부(620)에 제공한다. 테스트 매니저(610)는 사용자 인터페이스(210)를 통하여 테스트 설정 정보가 입력되면, 테스트 테이터 생성 명령을 생성하여, 테스트 데이터 생성부(620)에 제공한다. 테스트 매니저(610)는 입력 받은 테스트 설정 정보를 기초로 테스트 데이터 생성을 위하여 필요한 정보들 (예컨대, 테스트 코드, 테스트 프로시저, 성능 평가 메트릭)을 테스트 자원 저장소(220)로부터 제공 받아, 테스트 데이터 생성부(620)에 전송할 수 있다. The
테스트 데이터 생성부(620)는 테스트 데이터 생성 명령을 수신한 것에 응답 하여, 테스트 케이스를 생성한다. 테스트 케이스는 예를 들어, 성능 평가 메트릭(450)에 따라 등가분할 테스트(equivalent partitioning test) 또는 경계값 분석 테스트(boundary value test)기법을 기반으로 생성될 수 있다. 테스트 데이터 생성부(620)는 생성된 테스트 케이스에 대한 정보를 포함하는 테스트 데이터를 테스트 매니저(610)에 전송한다. The
테스트 매니저(610)는, 테스트 데이터 생성부(620)로부터 테스트 데이터를 수신하는 것에 응답하여, 테스트 실행 명령을 생성한다. 테스트 매니저는 입력 받은 테스트 설정 정보를 기초로 테스트 실행을 위하여 필요한 정보들(예컨대, 테스트 대상인 로봇 소프트웨어 컴포넌트의 소스 파일)을 로봇 컴포넌트 저장소(230)로부터 제공받아 테스트 실행 명령과 함께 테스트 실행부(230)에 전송할 수 있다. 이때, 테스트 매니저(610)는 전송 받은 테스트 케이스, 테스트 자원 저장소(220)로부터 제공받은 테스트 코드(410), 테스트 프로시저(420) 등도 함께 전송할 수 있다. The
테스트 실행부(630)는 테스트 매니저(610)로부터 테스트 실행 명령을 수신하는 것에 응답하여, 테스트를 실행한다. 일 실시예에 따라, 테스트 대상이 로봇 하드웨어 모듈인 경우, 테스트 실행부(630)는 테스트 대상인 로봇 하드웨어 모듈이 장착된 로봇 하드웨어 테스트 베드와 연동되어 테스트를 진행할 수 있다. 테스트 실행부(630)는 로봇 소프트웨어 컴포넌트 없이 제공 받은 테스트 코드(410), 테스트 프로시저(420), 성능 측정 메트릭(450)을 기반으로 만들어진 테스트 드라이버를 사용하여 로봇 하드웨어 모듈을 테스트할 수 있으며, 또한, 로봇 하드웨어 모듈을 제어하는 로봇 소프트웨어 컴포넌트를 기반으로 만들어진 테스트 드라이버를 사용 하여 테스트할 수도 있다.The
다른 일 실시예에 따라, 테스트 대상이 로봇 소프트웨어 컴포넌트인 경우, 테스트 실행부(630)는 시뮬레이터 또는 테스트 대상인 로봇 소프트웨어 컴포넌트가 실행되는 로봇 하드웨어 모듈이 장착된 로봇 하드웨어 테스트 베드와 연동 되어 테스트를 진행할 수 있다. 이때, 시뮬레이터는 테스트 대상인 로봇 소프트웨어 컴포넌트가 실행되는 로봇 하드웨어 모듈의 동작을 소프트웨어로 구현하여 로봇 소프트웨어 컴포넌트를 테스트할 수 있는 환경을 제공하는 프로그램 등을 말한다. According to another embodiment, when the test target is a robot software component, the
테스트 감시부(640)는 상기 테스트의 진행 과정을 모니터링한다. 테스트 감시부(640)는 테스트 경과 시간, 테스트 진행 단계, 변수 값의 상태 등을 포함하는 테스트 진행 과정을 모니터링 하여, 테스트 진행 과정을 사용자 인터페이스(210)를 통하여 출력할 수 있다. The test monitor 640 monitors the progress of the test. The test monitor 640 may monitor a test progress including a test elapsed time, a test progress stage, a state of a variable value, and the like, and output the test progress through the
도 7은 개시된 기술의 일 실시예에 따른 RTC 모듈을 테스트 하는 방법을 설명하기 위한 순서도이다. 도 7은 도 2의 RTC 모듈을 테스트 하는 장치(200)가 RTC 모듈을 테스트하는 방법을 설명하고 있다. 도 2를 참조하여 도7의 RTC 모듈을 테스트 하는 방법을 설명하면 다음과 같다. 또한, 도 2의 실시예를 시계열적으로 구현하는 경우도 본 실시예에 해당하므로 도 2의 RTC 모듈을 테스트하는 장치(200)에 대하여 설명된 부분은 본 실시예에도 그대로 적용된다. 7 is a flowchart illustrating a method of testing an RTC module according to an embodiment of the disclosed technology. FIG. 7 illustrates a method for testing the RTC module by the
테스트 엔진(240)은 사용자 인터페이스(210)를 통하여 테스트 대상, 테스트 항목, 테스트 수행 횟수 및 테스트 환경 설정 정보를 포함하는 테스트 설정 정보를 입력 받는다(S710). 테스트 엔진(240)은 입력 받은 테스트 설정 정보를 기초로, 테스트 자원 저장소(220)에 테스트 코드, 테스트 프로시저 및 성능 측정 메트릭 등을 포함하는 테스트 자원을 요청하고(S720), 테스트 자원 저장소(220)는 테스트 엔진(240)에 테스트 자원을 제공한다(S730). 또한, 테스트 엔진(240)은 로봇 컴포넌트 저장소(230)에 테스트 대상이 되는 컴포넌트의 컴포넌트에 대한 파일들을 요청한다(S740). 로봇 컴포넌트 저장소(230)는 컴포넌트 소스 파일, 컴포넌트 정보 파일, 컴포넌트 실행 환경 파일들 중 요청 받은 파일들을 테스트 엔진(240)에 제공한다(S750). The
테스트 엔진(240)은 사용자 인터페이스(210)를 통하여 입력 받은 테스트 설정 정보와 테스트 자원 저장소(220) 및 로봇 컴포넌트 저장소(230)에서 제공받은 정보들을 기초로 테스트를 수행한다(S760). 테스트를 수행하는 과정은 테스트 엔진(240)에 의하여 모니터링 되고, 사용자 인터페이스(210)를 통하여 출력될 수 있다(S770). 테스트가 끝나면, 테스트 엔진(240)은 테스트 결과를 성능 평가 메트릭을 참조하여 분석한다(S780). 분석된 테스트 결과는 사용자 인터페이스(210)를 통하여 출력될 수 있다(S790). The
도 8은 도 7의 S760단계를 자세히 설명하기 위한 순서도이다. 도 8은 테스트 엔진(240)이 테스트를 수행하고, 테스트 과정을 모니터링 하는 방법을 설명한다. FIG. 8 is a flowchart for describing operation S760 of FIG. 7 in detail. 8 illustrates a method in which the
도 2 및 도 7 내지 도 8을 참조하여 설명하면, 테스트 매니저(610)는 사용자 인터페이스(210)를 통하여 테스트 설정 정보가 입력되면, 테스트 케이스 생성 명령 을 생성한다(S810). 또한, 테스트 매니저(610)는 테스트 설정 정보에 따라, 테스트 대상이 되는 RTC 모듈과 관련된 테스트 코드, 테스트 프로시저, 성능 평가 메트릭 등을 테스트 자원 저장소에서 가져 오고, 테스트 대상이 되는 로봇 소프트웨어 컴포넌트를 로봇 컴포넌트 저장소에서 가져온다. Referring to FIGS. 2 and 7 to 8, when the test setting information is input through the
테스트 매니저(610)는 생성된 테스트 케이스 생성 명령을 테스트 데이터 생성부(620)에 전송하고(S820), 테스트 데이터 생성부(620)는 전송 받은 테스트 케이스 생성 명령에 따라, 입력 받은 테스트 설정 정보 및 제공 받은 성능 측정 메트릭, 컴포넌트 소스 코드 등을 기초로 테스트 케이스를 생성한다(S830). 생성된 테스트 케이스를 포함하는 테스트 데이터는 테스트 매니저(610)에 전송된다. The
테스트 매니저(610)는 테스트 데이터를 전송 받은 것에 대한 응답으로 테스트 실행 명령을 생성하고, 테스트 실행부(630)에 생성된 테스트 실행 명령, 테스트 데이터 및 가져온 테스트 코드, 테스트 프로시저 및 컴포넌트 소스 파일을 전송한다(S850). The
테스트 실행부(630)는 테스트 실행 명령에 따라, 테스트 데이터 및 제공받은 테스트 코드, 테스트 프로시저 및 컴포넌트 소스 파일을 기초로 테스트를 수행한다(S860). 테스트 실행부(630)는 테스트 대상이 로봇 하드웨어 모듈인 경우, 로봇 하드웨어 테스트 베드와 연동되어 테스트를 수행할 수 있으며, 테스트 대상이 로봇 소프트웨어 컴포넌트 또는 로봇 하드웨어 API인 경우, 시뮬레이터 또는 로봇 하드웨어 테스트 베드와 연동되어 테스트를 수행할 수 있다. The
테스트 감시부(640)는 테스트가 진행되는 동안 테스트 진행 과정을 모니터링 한다(S870). 테스트 감시부(640)는 테스트 경과 시간, 테스트 진행 단계, 변수 값의 상태 등을 모니터링 하여, 사용자 인터페이스(210)에 제공할 수 있다. The
도 9는 도7 내지 도8의 테스트 방법에 의하여 로봇 하드웨어 모듈을 테스트하는 도2의 테스트 장치를 설명하기 위한 도면이다. 도 9를 참조하면, 사용자 인터페이스(210)를 통하여, 사용자는 테스트 대상, 테스트 항목, 테스트 수행횟수, 테스트 환경 설정 정보 등을 입력 할 수 있다. 테스트 엔진(240)은 테스트 자원 저장소(220)와 로봇 컴포넌트 저장소(230)에 저장된 자료들을 참고로 하여 입력 받은 테스트 설정 정보에 따라 테스트를 수행한다. 테스트 실행부(630)는 로봇 하드웨어 모듈이 장착된 로봇 하드웨어 테스트 베드와 연동되어 테스트를 실행할 수 있으며, 테스트 실행 과정 및 테스트 결과는 사용자 인터페이스(210)를 통하여 출력될 수 있다. FIG. 9 is a diagram for describing a test apparatus of FIG. 2, which tests a robot hardware module by the test method of FIGS. 7 to 8. 9, a user may input a test target, a test item, a test execution count, test environment setting information, and the like through the
이러한 개시된 기술인 방법 및 장치는 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 개시된 기술의 진정한 기술적 보호 범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.The disclosed method and apparatus have been described with reference to the embodiments shown in the drawings for ease of understanding, but these are merely exemplary, and various modifications and equivalent other embodiments are possible to those skilled in the art. Will understand. Therefore, the true technical protection scope of the disclosed technology should be defined by the appended claims.
도 1은 RTC(Robot Technology Component) 규격을 따르는 모듈의 테스트를 위한 계층적 모델을 설명하기 위한 도면이다.1 is a view for explaining a hierarchical model for testing a module conforming to the Robot Technology Component (RTC) standard.
도 2는 개시된 기술의 일 실시예에 따른 RTC 모듈을 테스트 하는 장치를 설명하기 위한 블록도이다.2 is a block diagram illustrating an apparatus for testing an RTC module according to an embodiment of the disclosed technology.
도 3은 도 2의 사용자 인터페이스를 설명하기 위한 블록도이다. FIG. 3 is a block diagram illustrating the user interface of FIG. 2.
도 4는 도 2의 테스트 자원 저장소를 설명하기 위한 블록도이다. 4 is a block diagram illustrating a test resource store of FIG. 2.
도 5는 도 2의 로봇 컴포넌트 저장소를 설명하기 위한 블록도이다. FIG. 5 is a block diagram illustrating the robot component store of FIG. 2.
도 6은 도 2의 테스트 엔진을 설명하기 위한 블록도이다. FIG. 6 is a block diagram illustrating the test engine of FIG. 2.
도 7은 개시된 기술의 일 실시예에 따른 RTC 모듈을 테스트 하는 방법을 설명하기 위한 순서도이다.7 is a flowchart illustrating a method of testing an RTC module according to an embodiment of the disclosed technology.
도 8은 도 7의 S760단계를 자세히 설명하기 위한 순서도이다.FIG. 8 is a flowchart for describing operation S760 of FIG. 7 in detail.
도 9는 도7 내지 도8의 테스트 방법에 의하여 로봇 하드웨어 모듈을 테스트하는 도2의 테스트 장치를 설명하기 위한 도면이다.FIG. 9 is a diagram for describing a test apparatus of FIG. 2, which tests a robot hardware module by the test method of FIGS. 7 to 8.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090073175A KR101013415B1 (en) | 2009-08-10 | 2009-08-10 | Apparatus and mehtod for testing rtc module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090073175A KR101013415B1 (en) | 2009-08-10 | 2009-08-10 | Apparatus and mehtod for testing rtc module |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101013415B1 true KR101013415B1 (en) | 2011-02-14 |
Family
ID=43777241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090073175A KR101013415B1 (en) | 2009-08-10 | 2009-08-10 | Apparatus and mehtod for testing rtc module |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101013415B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115982056A (en) * | 2023-02-27 | 2023-04-18 | 麦岩智能科技(北京)有限公司 | Automatic testing method, storage medium and equipment based on RosTopic |
KR102654694B1 (en) * | 2023-07-06 | 2024-04-04 | 한화시스템 주식회사 | Test equipment and test method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000330821A (en) | 1999-05-21 | 2000-11-30 | Mitsubishi Electric Corp | Production of software for built-in system |
KR20010113718A (en) * | 1999-12-30 | 2001-12-28 | 이데이 노부유끼 | Diagnosis system, diagnosis apparatus, and diagnosis method |
KR20040075464A (en) * | 2003-02-21 | 2004-08-30 | 슈어소프트테크주식회사 | Software testing device and method thereof |
KR20090001725A (en) * | 2007-05-14 | 2009-01-09 | 주식회사 유진로봇 | Hardware simulation method and the system for the robot drive |
-
2009
- 2009-08-10 KR KR1020090073175A patent/KR101013415B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000330821A (en) | 1999-05-21 | 2000-11-30 | Mitsubishi Electric Corp | Production of software for built-in system |
KR20010113718A (en) * | 1999-12-30 | 2001-12-28 | 이데이 노부유끼 | Diagnosis system, diagnosis apparatus, and diagnosis method |
KR20040075464A (en) * | 2003-02-21 | 2004-08-30 | 슈어소프트테크주식회사 | Software testing device and method thereof |
KR20090001725A (en) * | 2007-05-14 | 2009-01-09 | 주식회사 유진로봇 | Hardware simulation method and the system for the robot drive |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115982056A (en) * | 2023-02-27 | 2023-04-18 | 麦岩智能科技(北京)有限公司 | Automatic testing method, storage medium and equipment based on RosTopic |
KR102654694B1 (en) * | 2023-07-06 | 2024-04-04 | 한화시스템 주식회사 | Test equipment and test method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nguyen et al. | GUITAR: an innovative tool for automated testing of GUI-driven software | |
US8756460B2 (en) | Test selection based on an N-wise combinations coverage | |
JP6607565B2 (en) | Integrated automated test case generation for safety critical software | |
Abbaspour Asadollah et al. | A survey on testing for cyber physical system | |
CN101930400B (en) | SDK (Software Development Kit) automatic test system and method | |
CN103425574A (en) | Method and device for testing applications | |
WO2012026881A1 (en) | A method of compliance testing | |
Singh et al. | Software reliability early prediction in architectural design phase: Overview and Limitations | |
Hamza et al. | Web and mobile applications' testing using black and white box approaches | |
EP3959844A1 (en) | Testing iot-applications based on a fleet of iot-devices | |
KR101013415B1 (en) | Apparatus and mehtod for testing rtc module | |
KR102352162B1 (en) | Software development and test automation framework | |
Choi et al. | Efficient safety checking for automotive operating systems using property-based slicing and constraint-based environment generation | |
CN109376076A (en) | A kind of test method and device for integrated system | |
EP3608786B1 (en) | Systems and methods of requirements chaining and applications thereof | |
Cooray et al. | Dynamic test reconfigurationfor composite web services | |
Quadri et al. | Software quality assurance in component based software development—A survey analysis | |
KR20120051933A (en) | System and method for evaluating performance robot software componet based on simulator | |
Avritzer et al. | Automated generation of test cases using a performability model | |
Wienke et al. | Performance regression testing and run-time verification of components in robotics systems | |
Herpel et al. | Model based testing of satellite on-board software—an industrial use case | |
Carson et al. | 2.5. 1 Functional Architecture as the Core of Model‐Based Systems Engineering | |
Peñil et al. | UML-based single-source approach for evaluation and optimization of mixed-critical embedded systems | |
KR20120108374A (en) | Test agent system and method for evaulating performance motor module | |
Parameswaran et al. | A study on product design process and continuous improvement (CI): R&D in embedded computing industry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140106 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150115 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160610 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |