KR20120051933A - 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법 - Google Patents

시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법 Download PDF

Info

Publication number
KR20120051933A
KR20120051933A KR1020100113313A KR20100113313A KR20120051933A KR 20120051933 A KR20120051933 A KR 20120051933A KR 1020100113313 A KR1020100113313 A KR 1020100113313A KR 20100113313 A KR20100113313 A KR 20100113313A KR 20120051933 A KR20120051933 A KR 20120051933A
Authority
KR
South Korea
Prior art keywords
test
simulator
software component
robot software
component
Prior art date
Application number
KR1020100113313A
Other languages
English (en)
Inventor
국태용
손정례
이영호
박홍성
Original Assignee
성균관대학교산학협력단
강원대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단, 강원대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020100113313A priority Critical patent/KR20120051933A/ko
Publication of KR20120051933A publication Critical patent/KR20120051933A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법에 관한 것이다. 본 발명은, 로봇 소프트웨어 컴포넌트 저장부와 테스트 자원 저장부로 구성된 테스트 자원 저장부; 및 시뮬레이터 디바이스 모듈, 시뮬레이터 API(Application Programming Interface) 및 로봇 소프트웨어 컴포넌트 순으로 계층적 테스트를 수행할 수 있는 환경을 제공하며, 상기 테스트 자원 저장부에 저장된 내용을 기초로 테스트를 수행하는 테스트 드라이버로 구성되어 테스트의 결과를 분석하는 테스트 시스템부; 로 구성된 테스트 에이전트를 포함하는 것을 특징으로 한다. 이에 의해, 로봇 시뮬레이터는 로봇의 개발 단계에서 실제 하드웨어와 소프트웨어 알고리즘을 가상 환경에서 시뮬레이션을 수행 가능한 효과를 제공한다. 또한, 컴포넌트 테스트에 시뮬레이터를 이용함으로써 실제 평가를 수행하며 발생할 수 있는 문제를 사전에 예방할 수 있고, 여러 로봇 하드웨어 및 환경을 모델링이 가능하여 다양한 조건의 평가가 가능하며, 테스트에 소요되는 추가적인 비용 문제를 절감할 수 있는 효과를 제공한다.

Description

시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법{SYSTEM AND METHOD FOR EVALUATING PERFORMANCE ROBOT SOFTWARE COMPONET BASED ON SIMULATOR}
본 발명은 OPRoS 규격을 따르는 로봇 성능평가 시뮬레이션 기술에 관한 것으로, 보다 구체적으로는, 로봇 시뮬레이터는 로봇의 개발 단계에서 실제 하드웨어와 소프트웨어 알고리즘을 가상 환경에서 시뮬레이션을 수행 가능하도록 하기 위한 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법에 관한 것이다.
OPRoS(Open Platform for Robotic Services)는 서비스 로봇 산업 활성화를 위해 로봇 개발에 드는 비용과 시간을 줄이기 위한 과제이다. 사용자 및 개발자가 로봇 콘텐츠 및 컴포넌트를 쉽게 개발하도록 다양한 기존 로봇용 알고리즘을 활용할 수 있도록 만든 로봇용 소프트웨어와 동작 프로그램을 컴포넌트 형으로 제공하거나, 통합개발도구를 사용하여 원하는 로봇 콘텐츠 혹은 컴포넌트를 쉽게 만들 수 있게 해 준다. OPRoS는 로봇 소프트웨어의 재사용성, 상호운용성, 상호호환성을 보장하고, 다양한 지능형 로봇 시스템들의 응용 프로그램을 운영할 수 있는 로봇 소프트웨어 플랫폼이다.
한편, OPRoS 규격을 준수하는 컴포넌트를 이용한 로봇의 개발에 있어서, 로봇 소프트웨어 컴포넌트에 대한 활용도가 높아지더라도 컴포넌트의 성능에 대한 신뢰성과 다른 컴포넌트들 간의 호환성 및 이식성 등이 보장되어야만 로봇 소프트웨어 컴포넌트를 사용하는 이점을 가질 수 있다. 하드웨어 모듈과 연동을 통해 사용되는 로봇 소프트웨어 컴포넌트의 경우 컴포넌트의 테스트를 위해 별도의 하드웨어 모듈을 필요로 하게 된다. 이에 따라, 로봇 소프트웨어 컴포넌트를 테스트하기 위해 하드웨어를 준비해야 하는 불편함과 하드웨어 제작을 위한 비용 등의 문제가 발생하게 된다.
이러한 배경 하에서 해당 기술분야에 있어서는, 로봇 시뮬레이터를 사용함으로써 위의 문제의 해결 가능하다. 로봇 시뮬레이터는 로봇의 개발 단계에서 실제 하드웨어와 소프트웨어 알고리즘을 가상 환경에서 시뮬레이션을 해볼 수 있도록 하기 위한 기술 개발이 요구되고 있다.
본 발명은 상기의 문제점을 해결하기 위한 것으로, 로봇 시뮬레이터는 로봇의 개발 단계에서 실제 하드웨어와 소프트웨어 알고리즘을 가상 환경에서 시뮬레이션을 수행 가능하도록 하기 위한 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법을 제공하기 위한 것이다.
또한, 본 발명은 컴포넌트 테스트에 시뮬레이터를 이용함으로써 실제 평가를 수행하며 발생할 수 있는 문제를 사전에 예방할 수 있고, 여러 로봇 하드웨어 및 환경을 모델링이 가능하여 다양한 조건의 평가가 가능하며, 테스트에 소요되는 추가적인 비용 문제를 절감하도록 하기 위한 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법을 제공하기 위한 것이다.
또한, 본 발명은 시뮬레이터 디바이스 모듈, 시뮬레이터 API(Application Programming Interface), 로봇 소프트웨어 컴포넌트가 계층적으로 테스트 되는 방법을 따름으로써 오류 발생시, 소프트웨어 문제인지, 인터페이스 문제인지 시뮬레이터의 문제인지 명확하게 파악할 수 있도록 하기 위한 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법을 제공하기 위한 것이다.
그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위해 개시된 기술의 제1 측면은, 로봇 소프트웨어 컴포넌트 저장부와 테스트 자원 저장부로 구성된 테스트 자원 저장부; 및 시뮬레이터 디바이스 모듈, 시뮬레이터 API(Application Programming Interface) 및 로봇 소프트웨어 컴포넌트 순으로 계층적 테스트를 수행할 수 있는 환경을 제공하며, 상기 테스트 자원 저장부에 저장된 내용을 기초로 테스트를 수행하는 테스트 드라이버로 구성되어 테스트의 결과를 분석하는 테스트 시스템부; 로 구성된 테스트 에이전트를 포함하는 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템을 제공한다.
상기 기술적 과제를 달성하기 위해 개시된 기술의 제2 측면은, 테스트 시스템과 테스트 저장부를 구비한 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가방법에 있어서, 사용자 인터페이스를 통하여 입력정보에 따른 테스트 방법, 테스트 대상, 테스트 항목, 테스트 수행 횟수 및 테스트하고자 하는 컴포넌트를 선택하는 테스트 환경 설정 단계; 상기 테스트 시스템이, 상기 입력정보에 따른 상기 테스트 자원 저장부에서 테스트 케이스, 설문지, 성능측정 메트릭, 테스트 프로시저 중 적어도 하나 이상을 로드하는 테스트 리소스 단계; 상기 테스트 시스템이, 테스트 케이스의 내용에 따른 명령을 통해 시뮬레이터 동작을 수행하는 테스트 수행 제 1 단계; 및 상기 테스트 시스템이, 테스트를 종료하게 되면 제공받은 성능 측정 메트릭에 따른 결과 도출 및 분석을 하는 테스트 수행 제 2 단계; 를 포함하며, 상기 사용자 인터페이스는, 시뮬레이터 디바이스 모듈, 시뮬레이터 API 및 로봇 소프트웨어 컴포넌트로 구분되어 계층적 테스트를 수행할 수 있는 환경을 제공하는 OPRoS(Open Platform for Robotic Services) 컴포넌트를 테스트하는 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가방법을 제공한다.
본 발명의 실시예에 따른 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법은 로봇 시뮬레이터는 로봇의 개발 단계에서 실제 하드웨어와 소프트웨어 알고리즘을 가상 환경에서 시뮬레이션을 수행 가능한 효과를 제공한다.
또한, 본 발명의 다른 실시예에 따른 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법은, 컴포넌트 테스트에 시뮬레이터를 이용함으로써 실제 평가를 수행하며 발생할 수 있는 문제를 사전에 예방할 수 있고, 여러 로봇 하드웨어 및 환경을 모델링이 가능하여 다양한 조건의 평가가 가능하며, 테스트에 소요되는 추가적인 비용 문제를 절감할 수 있는 효과를 제공한다.
뿐만 아니라, 본 발명의 다른 실시예에 따른 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법은, 시뮬레이터 디바이스 모듈, 시뮬레이터 API(Application Programming Interface), 로봇 소프트웨어 컴포넌트가 계층적으로 테스트 되는 방법을 따름으로써 오류 발생시, 소프트웨어 문제인지, 인터페이스 문제인지 시뮬레이터의 문제인지 명확하게 파악할 수 있도록 할 수 있는 효과를 제공한다.
도 1은 본 발명의 실시 예에 따른 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템을 나타내는 도면이다.
도 2는 본 발명의 실시 예에 따른 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템에서 테스트 에이전트의 구성을 나타내는 도면이다.
도 3은 본 발명의 실시 예에 따른 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가방법에서 로봇 소프트웨어 컴포넌트를 시뮬레이션을 기반으로 하여 테스트하는 순서를 간단히 나타낸 도면이다.
도 4는 본 발명의 실시 예에 따른 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가방법을 나타내는 흐름도이다.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
'제1', '제2' 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 실시 예에 따른 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템을 나타내는 도면이다. 도 1을 참조하면, 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템은 테스트 에이전트(100) 및 시뮬레이터(200)를 포함한다. 보다 구체적으로 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템은 OPRoS (Open Platform for Robotic Services) 규격을 따르는 모듈의 계층적 테스트를 위한 테스트 모델로, 로봇 시뮬레이터 디바이스 모듈인 테스트 에이전트(100), 및 시뮬레이터 API(Application Programming Interface)를 구비한 시뮬레이터(200)로 구성된다.
테스트 에이전트(100)는 테스트 구조의 중추적인 역할을 수행하며, 일련의 테스트 동작들을 수행하고, 실제 실행환경은 로봇 소프트웨어를 이용한 시뮬레이터(200)가 된다. 한편, 테스트 에이전트(100)는 테스트 시스템부(110) 및 테스트 저장부(130)를 포함한다. 한편, 테스트 시스템부(110)는 사용자 인터페이스(111)와 테스트 드라이버(113)을 포함하며, 테스트저장부(130)는 테스트 자원 저장부(131), 로봇 소프트웨어 컴포넌트 저장부(133)를 포함한다. 이하, 각 구성요소에 대해서 살펴본다.
사용자 인터페이스(111)는 사용자로부터 테스트 설정정보를 입력받으며, 시뮬레이터(200)에 대한 디바이스 모듈, 시뮬레이터(200)에 대한 API(Application Programming Interface) 및 로봇 소프트웨어 컴포넌트 순으로 계층적 테스트를 수행할 수 있는 환경을 제공한다. 시뮬레이터(200)에 의한 테스트 환경설정에 따라 시뮬레이션 환경과 모델을 로딩이 완료되면, 사용자는 테스트 시스템부(110)의 사용자 인터페이스(111)를 통하여 테스트 방법, 테스트 대상, 테스트 항목, 테스트 수행 횟수 및 테스트하고자 하는 컴포넌트를 선택한다.
사용자 인터페이스(111)를 보다 세분화하면, 로봇 소프트웨어 컴포넌트를 테스트하기 위한 테스트 설정 정보를 입력받는 제 1 사용자 인터페이스(111a), 시뮬레이터 API를 테스트하기 위한 테스트 설정 정보를 입력받는 제 2 사용자 인터페이스(111b), 그리고 시뮬레이터 디바이스 모듈을 테스트하기 위한 테스트 설정 정보를 입력받는 제 3 사용자 인터페이스(111c)로 구분되며, 테스트 설정 정보는 테스트 대상, 테스트 항목, 테스트 수행 횟수 및 테스트 환경 설정 정보 중 적어도 하나를 포함한다.
사용자 인터페이스(111)는 테스트 설정 정보를 테스트 드라이버(113)로 테스트 설정정보를 전송하며, 테스트 드라이버(113)로부터 테스트 진행 과정 및 테스트 결과를 수신하여 출력한다.
테스트 드라이버(113)는 사용자 인터페이스(111)로부터 테스트 설정 정보를 수신한다.
이에 따라, 테스트 드라이버(113)는 테스트자원요청을 테스트 자원 저장부(131)로 요청하면, 테스트 자원 저장부(131)는 테스트 자원을 반환한다.
이에 따른, 테스트 환경 설정이 끝나면, 테스트 드라이버(113)는 테스트 자원 저장부(131)에서 테스트 케이스, 성능 측정 메트릭, 설문지 등 테스트 환경 설정 단계(S11)의 정보를 이용하여 테스트 리소스를 로드한다.
테스트 드라이버(113)는 테스트 대상 컴포넌트에 대한 파일 요청을 로봇 소프트웨어 컴포넌트 저장부(133)로 전송하면, 로봇 소프트웨어 컴포넌트 저장부(133)는 테스트 대상 컴포넌트에 대한 파일을 반환한다. 여기서 테스트 대상 컴포넌트에 대한 파일은 컴포넌트 정보파일, 컴포넌트 소스파일, 컴포넌트 실행 환경 파일 등을 포함한다.
테스트 드라이버(113)는 테스트 환경 및 모델 정보를 시뮬레이터(200)로 요청하여, 시뮬레이터(200)로부터 테스트 환경 및 모델 정보를 반환받는다.
테스트 드라이버(113)는 시뮬레이터(200)에 대한 테스트 수행 및 모니터링을 요청한다. 보다 구체적으로, 테스트 드라이버(113)는 테스트 케이스, 성능 측정 메트릭, 설문지 등 테스트 환경 설정 단계의 정보 내용에 따른 명령을 통해 시뮬레이터(200)에 대한 동작을 수행하게 된다.
이후, 테스트 드라이버(113)는 사용자 인터페이스(111)로 테스트 진행 과정을 전송한다.
한편, 테스트 드라이버(113)는 시뮬레이터(200)로의 테스트 수행 및 모니터링 요청에 따라 테스트 결과를 수신한다.
이에 따라, 테스트 드라이버(113)는 테스트 결과를 분석한다. 보다 구체적으로, 테스트 드라이버(113)는 테스트 수행에 따른 결과를 로봇 시뮬레이터가 테스트 에이전트로 전송하게 되고 테스트를 종료하게 되면 그에 따른 결과 도출 및 분석을 하게 된다.
테스트 드라이버(113)는 테스트 결과를 사용자 인터페이스(111)로 전송하여 출력하도록 한다.
테스트 자원 저장부(131)는 테스트 드라이버(113)로부터의 테스트자원요청을 수신하면, 기저장된 테스트 자원을 반환한다. 보다 구체적으로, 테스트 자원 저장부(131)는 테스트를 위한 테스트 케이스, 설문지, 성능측정 메트릭, 테스트 프로시저 등을 저장한다.
로봇 소프트웨어 컴포넌트 저장부(133)는 테스트 드라이버(113)로부터의 테스트 대상 컴포넌트에 대한 파일 요청을 수신하면, 기저장된 테스트 대상 컴포넌트에 대한 파일을 반환한다. 보다 구체적으로, 로봇 소프트웨어 컴포넌트 저장부(133)는 로봇 소프트웨어 컴포넌트 정보파일, 컴포넌트 소스파일, 컴포넌트 실행 환경 파일 등을 저장한다.
시뮬레이터(200)는 테스트 에이전트(100)의 요청에 따른 테스트 절차를 단위 테스팅(Unit Testing), 통합 테스팅(Integration Testing), 시스템 테스팅(System Testing)의 순서로 진행된다. 본 발명에서는 테스트 절차를 OPRoS 규격을 따르는 모듈에 적용하여 (A) 시뮬레이터 디바이스 모듈, (B) 시뮬레이터 API, (C) 로봇 소프트웨어 컴포넌트 순으로 계층적 테스트를 진행한다.
실제, 로봇 시스템은 소프트웨어 컴포넌트뿐만 아니라 하드웨어 모듈과도 밀접하게 연결되어 있다. 이에 따라, 로봇 시스템에 대한 하드웨어와 밀접하게 관련되어 있는 소프트웨어 컴포넌트를 테스트할 경우, 소프트웨어 컴포넌트 자체에 에러가 있는지 하드웨어에 결함이 있는지에 대해 알 수 없다. 따라서, 로봇 소프트웨어 컴포넌트를 테스트하기 위해서는 상술한 바와 같이 시뮬레이터 디바이스인 로봇 하드웨어 모듈, 로봇 하드웨어 모듈과 로봇 소프트웨어 컴포넌트 간의 인터페이스인 시뮬레이터 API(Application Programming Interface), 그리고 로봇 소프트웨어 컴포넌트에 대한 테스트가 계층적으로 수행되어야 한다.
시뮬레이터(200)는 하드웨어 모듈의 역할을 대신하여 사용되므로 역시 계층적 테스트 수행을 통하여 테스트를 수행되어야 한다.
도 2는 본 발명의 실시 예에 따른 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템에서 테스트 에이전트(100)의 구성을 나타내는 도면이다. 도 1 및 도 2를 참조하면, 테스트 에이전트(100)는 테스트 시스템부(110)과 테스트 저장부(130)로 구성된다. 또한, 테스트 시스템부(110)는 다시 사용자 인터페이스(111)와 테스트 드라이버(113)로 나뉘는데, 사용자 인터페이스(111)를 통해 테스트 방법과, 테스트하고자 하는 소프트웨어 컴포넌트를 선정하게 되고, 시뮬레이션 환경과 모델을 로딩하게 된다.
테스트 드라이버(113)는 테스트 코드를 포함하며 테스트 수행에 필요한 각종 정보를 테스트 저장부(130)로부터 가져오는 역할을 담당한다.
테스트 저장부(130)는 테스트를 수행함에 있어 필요한 데이터나 정보 파일 등을 보관하는데 사용된다.
테스트 저장부(130)는 테스트 자원 저장부(131)와 로봇 소프트웨어 컴포넌트 저장부(133)로 구분되는데 테스트 자원 저장부(131)는 테스트를 위한 테스트 케이스, 설문지, 성능측정 메트릭, 테스트 프로시저 등을 보관하고, 로봇 소프트웨어 컴포넌트 저장부(133)는 로봇 소프트웨어 컴포넌트와 정보파일 등을 보관한다.
도 3은 본 발명의 실시 예에 따른 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가방법에서 로봇 소프트웨어 컴포넌트를 시뮬레이션을 기반으로 하여 테스트하는 순서를 간단히 나타낸 도면이다. 도 1 내지 도 3을 참조하면, 테스트 에이전트(100)는 시뮬레이터(200)에 대한 테스트 환경을 설정한다(S1). 보다 구체적으로 테스트 에이전트(100)는 사용자 인터페이스(111)를 통하여 입력정보에 따른 시뮬레이터(200)에 대한 테스트 방법, 테스트 대상, 테스트 항목, 테스트 수행 횟수 및 테스트하고자 하는 컴포넌트를 선택한다.
테스트 에이전트(100)는 테스트 리소스를 로드한 뒤(S2), 시뮬레이터(200)로 테스트 명령을 전송한 뒤(S3), 테스트를 수행한다(S4).
보다 구체적으로, 테스트 에이전트(100)는 단계(S1)의 입력정보에 따른 테스트 자원 저장부(131)에서 테스트 케이스, 설문지, 성능측정 메트릭, 테스트 프로시저 등을 로드한다.
이에 따라, 시뮬레이터(200)는 테스트 에이전트(100)로 테스트 수행 결과를 전송하면, 테스트 에이전트(100)는 테스트 결과를 저장한다(S5).
여기서 시뮬레이터(200)는 테스트 케이스의 내용에 따른 명령을 통해 시뮬레이터 동작을 수행하는 제 1 테스트 수행 단계와, 테스트를 종료하게 되면 제공받은 성능 측정 메트릭에 따른 결과 도출 및 분석을 하는 제 2 테스트 수행단계로 구분될 수 있다. 이에 따라, 사용자 인터페이스(111)는, 시뮬레이터 디바이스 모듈, 시뮬레이터 API 및 로봇 소프트웨어 컴포넌트로 구분되어 계층적 테스트를 수행할 수 있는 환경을 제공하는 OPRoS(Open Platform for Robotic Services) 컴포넌트를 테스트할 수 있다.
도 4는 본 발명의 실시 예에 따른 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가방법을 나타내는 흐름도이다. 도 1 내지 도 4를 참조하면, 테스트 에이전트(100)는 시뮬레이터(200)에 대한 시뮬레이션 환경 및 모델을 로드(Load)한다(S11a).
사용자 인터페이스(111)는 사용자로부터 테스트 설정정보를 입력받는다(S11b).
단계(S11)을 보다 구체적으로 살펴보면, 시뮬레이터(200)는 테스트 환경설정에 따라 시뮬레이터에 시뮬레이션 환경과 모델을 로딩이 완료되면, 사용자는 테스트 시스템부(110)의 사용자 인터페이스(111)를 통하여 테스트 방법, 테스트 대상, 테스트 항목, 테스트 수행 횟수 및 테스트하고자 하는 컴포넌트를 선택한다.
이후, 사용자 인터페이스(111)는 테스트 설정 정보를 테스트 드라이버(113)로 테스트 설정정보를 전송한다(S12).
이에 따라, 테스트 드라이버(113)는 테스트자원요청을 테스트 자원 저장부(131)로 요청하면(S13), 테스트 자원 저장부(131)는 테스트 자원을 반환한다(S14). 즉, 단계(S11 및 S12)의 테스트 환경 설정이 끝나면, 테스트 드라이버(113)는 테스트 자원 저장부(131)에서 테스트 케이스, 설문지, 성능측정 메트릭, 테스트 프로시저 등 테스트 환경 설정 단계(S11)의 정보를 이용하여 테스트 리소스를 로드한다.
테스트 드라이버(113)는 테스트 대상 컴포넌트에 대한 파일 요청을 로봇 소프트웨어 컴포넌트 저장부(133)로 전송하면(S15), 로봇 소프트웨어 컴포넌트 저장부(133)는 테스트 대상 컴포넌트에 대한 파일을 반환한다(S16). 테스트 대상 컴포넌트에 대한 파일은 컴포넌트 정보파일, 컴포넌트 소스파일, 컴포넌트 실행 환경 파일을 포함한다.
테스트 드라이버(113)는 테스트 환경 및 모델 정보를 시뮬레이터(200)로 요청하여(S17), 시뮬레이터(200)로부터 테스트 환경 및 모델 정보를 반환받는다(S18).
테스트 드라이버(113)는 시뮬레이터(200)에 대한 테스트 수행 및 모니터링을 요청한다(S19). 보다 구체적으로, 테스트 드라이버(113)는 테스트 환경 설정 단계(S11)의 정보 내용에 따른 명령을 통해 시뮬레이터(200)에 대한 동작을 수행하게 된다.
단계(S19) 이후, 테스트 드라이버(113)는 사용자 인터페이스(111)로 테스트 진행 과정을 전송한다(S20).
한편, 시뮬레이터(200)는 단계(S19)의 테스트 수행 및 모니터링 요청에 따라 테스트 결과를 테스트 드라이버(113)로 전송한다(S21).
이에 따라, 테스트 드라이버(113)는 테스트 결과를 분석한다(S22). 보다 구체적으로, 테스트 드라이버(113)는 테스트 수행에 따른 결과를 로봇 시뮬레이터가 테스트 에이전트로 전송하게 되고 테스트를 종료하게 되면 그에 따른 결과 도출 및 분석을 하게 된다.
테스트 드라이버(113)는 테스트 결과를 사용자 인터페이스(111)로 전송하여 출력하도록 한다(S23).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이러한 개시된 기술인 방법 및 장치는 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 개시된 기술의 진정한 기술적 보호 범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.
100: 테스트 에이전트 110: 테스트 시스템부
111: 사용자 인터페이스 113: 테스트 드라이버
130: 테스트저장부 131: 테스트 자원 저장부
133: 로봇 소프트웨어 컴포넌트 저장부 200: 시뮬레이터

Claims (9)

  1. 로봇 소프트웨어 컴포넌트 저장부와 테스트 자원 저장부로 구성된 테스트 자원 저장부; 및
    시뮬레이터 디바이스 모듈, 시뮬레이터 API(Application Programming Interface) 및 로봇 소프트웨어 컴포넌트 순으로 계층적 테스트를 수행할 수 있는 환경을 제공하며, 상기 테스트 자원 저장부에 저장된 내용을 기초로 테스트를 수행하는 테스트 드라이버로 구성되어 테스트의 결과를 분석하는 테스트 시스템부; 로 구성된 테스트 에이전트를 포함하는 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템.
  2. 제 1 항에 있어서, 상기 테스트 자원 저장부는,
    테스트를 위한 테스트 케이스, 설문지, 성능측정 메트릭, 테스트 프로시저 중 적어도 하나 이상을 저장하는 테스트 자원 저장부; 및
    로봇 소프트웨어 컴포넌트 정보파일, 컴포넌트 소스파일, 컴포넌트 실행 환경 파일 중 적어도 하나 이상을 저장하는 로봇 소프트웨어 컴포넌트 저장부; 를 포함하는 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템.
  3. 제 2 항에 있어서, 상기 테스트 에이전트는,
    상기 시뮬레이터에 대한 상기 시뮬레이터 디바이스 모듈과 연동되어 상기 로봇 소프트웨어 컴포넌트를 테스트하는 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템.
  4. 제 3 항에 있어서, 상기 테스트 시스템부는,
    상기 시뮬레이터 디바이스 모듈, 상기 시뮬레이터 API 및 상기 로봇 소프트웨어 컴포넌트 순으로 계층적 테스트를 수행할 수 있는 환경을 제공하는 사용자 인터페이스; 및
    상기 사용자 인터페이스를 통하여 테스트 설정 정보가 입력되면 상기 테스트 자원 저장부로부터 상기 테스트 케이스, 설문지, 성능측정 메트릭, 테스트 프로시저중적어도 하나 이상을 제공받고, 상기 로봇 소프트웨어 컴포넌트 저장부로부터 상기 테스트 대상 컴포넌트의 컴포넌트 소스 파일을 제공받아, 테스트를 수행하는 테스트 드라이버; 를 포함하는 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템.
  5. 제 4 항에 있어서, 상기 테스트 드라이버는,
    상기 테스트 자원 저장부의 자원을 이용해 상기 테스트 케이스의 내용에 따른 명령을 통해 시뮬레이터 동작을 수행하여 상기 로봇 소프트웨어 컴포넌트를 테스트하는 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템.
  6. 제 4 항에 있어서, 상기 사용자 인터페이스는,
    상기 로봇 소프트웨어 컴포넌트를 테스트하기 위한 테스트 설정 정보를 입력 받는 제 1 사용자 인터페이스;
    상기 시뮬레이터 API를 테스트하기 위한 테스트 설정 정보를 입력받는 제2 사용자 인터페이스 ; 및
    상기 시뮬레이터 디바이스 모듈을 테스트하기 위한 테스트 설정 정보를 입력받는 제 3 사용자 인터페이스; 를 포함하며,
    상기 테스트 설정 정보는 테스트 대상, 테스트 항목, 테스트 수행 횟수 및 테스트 환경 설정 정보 중 적어도 하나 이상을 포함하는 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템.
  7. 테스트 시스템과 테스트 저장부를 구비한 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가방법에 있어서,
    사용자 인터페이스를 통하여 입력정보에 따른 테스트 방법, 테스트 대상, 테스트 항목, 테스트 수행 횟수 및 테스트하고자 하는 컴포넌트를 선택하는 테스트 환경 설정 단계;
    상기 테스트 시스템이, 상기 입력정보에 따른 상기 테스트 자원 저장부에서 테스트 케이스, 설문지, 성능측정 메트릭, 테스트 프로시저 중 적어도 하나 이상을 로드하는 테스트 리소스 단계;
    상기 테스트 시스템이, 테스트 케이스의 내용에 따른 명령을 통해 시뮬레이터 동작을 수행하는 테스트 수행 제 1 단계; 및
    상기 테스트 시스템이, 테스트를 종료하게 되면 제공받은 성능 측정 메트릭에 따른 결과 도출 및 분석을 하는 테스트 수행 제 2 단계; 를 포함하며,
    상기 사용자 인터페이스는, 시뮬레이터 디바이스 모듈, 시뮬레이터 API 및 로봇 소프트웨어 컴포넌트로 구분되어 계층적 테스트를 수행할 수 있는 환경을 제공하는 OPRoS(Open Platform for Robotic Services) 컴포넌트를 테스트하는 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가방법.
  8. 제 7 항에 있어서, 상기 제 테스트 리소스 단계와 상기 테스트 수행 제 1 단계 사이에 수행되는,
    상기 테스트 시스템부가, 테스트 대상 컴포넌트에 대한 파일 요청을 상기 테스트 자원 저장부로 전송하여 테스트 대상 컴포넌트에 대한 파일을 반환받는 단계; 를 더 포함하는 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가방법.
  9. 제 8 항에 있어서, 상기 테스트 대상 컴포넌트에 대한 파일은,
    컴포넌트 정보파일, 컴포넌트 소스파일, 컴포넌트 실행 환경 파일 중 적어도 하나 이상을 포함하는 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가방법.
KR1020100113313A 2010-11-15 2010-11-15 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법 KR20120051933A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100113313A KR20120051933A (ko) 2010-11-15 2010-11-15 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100113313A KR20120051933A (ko) 2010-11-15 2010-11-15 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법

Publications (1)

Publication Number Publication Date
KR20120051933A true KR20120051933A (ko) 2012-05-23

Family

ID=46268799

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100113313A KR20120051933A (ko) 2010-11-15 2010-11-15 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법

Country Status (1)

Country Link
KR (1) KR20120051933A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160041328A (ko) 2014-10-07 2016-04-18 대우조선해양 주식회사 출력값 순환을 이용한 용접로봇 제어장치 및 제어방법
CN105824757A (zh) * 2016-03-18 2016-08-03 北京光年无限科技有限公司 基于机器人操作系统的测试方法及系统
CN110858141A (zh) * 2018-08-23 2020-03-03 西门子股份公司 分层架构软件中代码评估方法、装置及存储介质
CN114355930A (zh) * 2021-12-29 2022-04-15 杭州海康机器人技术有限公司 仿真测试移动机器人的装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160041328A (ko) 2014-10-07 2016-04-18 대우조선해양 주식회사 출력값 순환을 이용한 용접로봇 제어장치 및 제어방법
CN105824757A (zh) * 2016-03-18 2016-08-03 北京光年无限科技有限公司 基于机器人操作系统的测试方法及系统
CN105824757B (zh) * 2016-03-18 2018-05-01 北京光年无限科技有限公司 基于机器人操作系统的测试方法及系统
CN110858141A (zh) * 2018-08-23 2020-03-03 西门子股份公司 分层架构软件中代码评估方法、装置及存储介质
CN114355930A (zh) * 2021-12-29 2022-04-15 杭州海康机器人技术有限公司 仿真测试移动机器人的装置

Similar Documents

Publication Publication Date Title
US9846638B2 (en) Exposing method related data calls during testing in an event driven, multichannel architecture
KR101132560B1 (ko) 로봇 소프트웨어 컴포넌트를 위한 시뮬레이션 기반 인터페이스 테스팅 자동화 시스템 및 그 방법
US8561024B2 (en) Developing software components and capability testing procedures for testing coded software component
US9465718B2 (en) Filter generation for load testing managed environments
CN111651366B (zh) Sdk测试方法、装置、设备及存储介质
US9081595B1 (en) Displaying violated coding rules in source code
US7730452B1 (en) Testing a component of a distributed system
US20080028378A1 (en) Utilizing prior usage data for software build optimization
CN110674047B (zh) 软件测试方法、装置及电子设备
US9645911B2 (en) System and method for debugging firmware/software by generating trace data
Kim et al. Performance testing of mobile applications at the unit test level
US10360135B2 (en) Privilege test and monitoring
CN103377120A (zh) 一种应用程序测试方法及装置
US20150100831A1 (en) Method and system for selecting and executing test scripts
US10592703B1 (en) Method and system for processing verification tests for testing a design under test
CN104484267A (zh) 一种测试系统及方法
CN103729293A (zh) 一种基于uml活动图的gui测试方法
US9612944B2 (en) Method and system for verifying scenario based test selection, execution and reporting
KR20120051933A (ko) 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법
CN105453033A (zh) 程序测试服务
Bombarda et al. Combining model refinement and test generation for conformance testing of the IEEE PHD protocol using abstract state machines
CA2811617A1 (en) Commit sensitive tests
Wang et al. Discrete control for safe execution of IT automation workflows
US10528691B1 (en) Method and system for automated selection of a subset of plurality of validation tests
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application