KR20100136775A - Robot software test system and method which consists of independent test case generater and independent test driver generater - Google Patents

Robot software test system and method which consists of independent test case generater and independent test driver generater Download PDF

Info

Publication number
KR20100136775A
KR20100136775A KR1020090055055A KR20090055055A KR20100136775A KR 20100136775 A KR20100136775 A KR 20100136775A KR 1020090055055 A KR1020090055055 A KR 1020090055055A KR 20090055055 A KR20090055055 A KR 20090055055A KR 20100136775 A KR20100136775 A KR 20100136775A
Authority
KR
South Korea
Prior art keywords
test
information
generating
suite
test suite
Prior art date
Application number
KR1020090055055A
Other languages
Korean (ko)
Other versions
KR101550926B1 (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 KR1020090055055A priority Critical patent/KR101550926B1/en
Publication of KR20100136775A publication Critical patent/KR20100136775A/en
Application granted granted Critical
Publication of KR101550926B1 publication Critical patent/KR101550926B1/en

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/25Testing of logic operation, e.g. by logic analysers
    • 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

Abstract

PURPOSE: A robot software test system in which a test case generating device and a driver generating device are independently configured and an operating method thereof are provided to distributively install the test case generating device and the driver generating device. CONSTITUTION: A test case generating device(120) generates a test suite which is a group of test cases using a test target source file. The test case generating device generates test suite information including information necessary for generating a test drive by a common format. A test driver generating device(130) checks a test target using the test suite information. The test driver generating device generates a test driver using the test target source file corresponding to the test target and the test suite.

Description

테스트 케이스 생성 장치와 테스트 드라이버 생성 장치가 독립적으로 구성된 로봇 소프트웨어 테스트 시스템 및 그 동작 방법{ROBOT SOFTWARE TEST SYSTEM AND METHOD WHICH CONSISTS OF INDEPENDENT TEST CASE GENERATER AND INDEPENDENT TEST DRIVER GENERATER}Robot software test system composed of test case generating device and test driver generating device independently, and its operation method.

본 발명의 실시예들은 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치가 독립적으로 구성된 로봇 소프트웨어 테스트 시스템 및 그 동작 방법에 관한 것이다.Embodiments of the present invention relate to a robot software test system in which a test case generation device and a test driver generation device are independently configured, and a method of operating the same.

미리 만들어진 컴포넌트를 조립하여 새로운 소프트웨어를 개발하는 방법은 개발비용과 기간을 획기적으로 줄일 수 있다는 장점으로 널리 사용되고 있다.The method of developing new software by assembling pre-made components is widely used because it can drastically reduce development cost and time period.

이때, 신뢰성 있는 컴포넌트의 사용 여부는 곧 소프트웨어의 품질과 직결되는 중요한 사항이라 할 수 있다. In this case, whether the reliable component is used is an important matter directly related to the quality of the software.

그러나, 컴포넌트는 PC와 임베디드 보드를 포함하는 다양한 하드웨어와 원도우즈(Windows) 및 리눅스(Linux)를 포함하는 다양한 플랫폼을 기반으로 개발되며, 컴포넌트를 생성하는 언어도 C++와 Java를 포함하는 다양한 언어가 사용될 수 있다.However, components are developed based on various hardware including PCs and embedded boards, and various platforms including Windows and Linux. Languages for generating components also include various languages including C ++ and Java. Can be used.

따라서, 다양한 언어와 다양한 하드웨어 및 다양한 플랫폼으로 생성된 컴포넌트들이 호환될 수 있도록 하는 시스템 및 방법이 필요한 실정이다.Therefore, there is a need for a system and method for making components generated in various languages, various hardware, and various platforms compatible.

본 발명의 일실시예는 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치를 분리하여 독립적으로 동작하도록 함으로써 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치를 서로 분산하여 설치할 수 있는 로봇 소프트웨어의 테스트 시스템을 제공한다.One embodiment of the present invention provides a test system for robot software that can separate and install a test case generating device and a test driver generating device by separately operating the test case generating device and the test driver generating device.

본 발명의 일실시예는 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치 간 상호 작용 시 표준 기술(記述) 형식인 XML을 사용함으로써 다양한 형태로 정보를 표현할 수 있는 로봇 소프트웨어의 테스트 시스템을 제공한다.One embodiment of the present invention provides a test system of robot software that can express information in various forms by using XML, which is a standard description format, when interacting between a test case generating device and a test driver generating device.

본 발명의 일실시예에 따른 로봇 소프트웨어의 테스트 시스템은 서브 루틴의 입출력 범위 또는 서브 루틴의 입출력 값이 포함된 테스트 대상 소스 파일을 저장하는 소스 파일 저장부; 상기 테스트 대상 소스 파일을 사용하여 테스트 케이스의 집합인 테스트 스윗을 생성하고, 테스트 드라이브 생성에 필요한 정보가 포함된 테스트 스윗 정보를 공통 포맷으로 생성하는 테스트 케이스 생성 장치; 및 상기 테스트 스윗 정보를 사용하여 테스트 대상을 확인하고, 상기 테스트 대상에 대응하는 상기 테스트 대상 소스 파일과 상기 테스트 스윗을 사용하여 테스트 드라이버를 생성하는 테스트 드라이버 생성 장치를 포함한다.The test system of the robot software according to an embodiment of the present invention includes a source file storage unit for storing a test target source file including an input / output range of a subroutine or an input / output value of the subroutine; A test case generating device generating a test suite which is a set of test cases using the test target source file, and generating test suite information including information necessary for generating a test drive in a common format; And a test driver generating apparatus for identifying a test target using the test suite information and generating a test driver using the test target source file corresponding to the test target and the test suite.

본 발명의 일실시예에서 테스트 케이스 생성 장치는, 상기 테스트 대상 소스 파일을 분석하여 테스트 케이스 생성에 필요한 정보를 추출하는 소스 코드 분석 모듈; 상기 테스트 케이스 생성에 필요한 정보를 기초로 각 패러미터의 테스트 후보를 생성하는 테스트 후보 값 생성 모듈; 상기 각 패러미터의 테스트 후보를 조합하여 테스트 스윗을 생성하는 테스트 후보 값 조합 모듈; 상기 테스트 스윗을 기 설정된 포맷으로 변환하여 테스트 드라이버 생성 장치로 전송하는 테스트 스윗 생성 모듈; 및 상기 소스 코드 분석 모듈에서 추출된 정보를 기초로 상기 테스트 스윗 정보를 생성하는 테스트 스윗 정보 생성 모듈을 포함한다.In one embodiment of the present invention, a test case generating apparatus includes: a source code analysis module configured to analyze the test target source file and extract information necessary for generating a test case; A test candidate value generation module for generating a test candidate for each parameter based on the information necessary for generating the test case; A test candidate value combination module that generates a test suite by combining the test candidates of each parameter; A test suite generation module for converting the test suite into a predetermined format and transmitting the test suite to a test driver generation device; And a test suite information generation module configured to generate the test suite information based on the information extracted from the source code analysis module.

본 발명의 일실시예에 따른 로봇 소프트웨어의 테스트 방법은 서브 루틴의 입출력 범위 또는 서브 루틴의 입출력 값이 포함된 테스트 대상 소스 파일을 사용하여 테스트 케이스의 집합인 테스트 스윗을 생성하는 단계; 테스트 드라이브 생성에 필요한 정보가 포함된 테스트 스윗 정보를 공통 포맷으로 생성하는 단계; 상기 테스트 스윗 정보를 사용하여 테스트 대상을 확인하는 단계; 및 상기 테스트 대상에 대응하는 상기 테스트 대상 소스 파일과 상기 테스트 스윗을 사용하여 테스트 드라이버를 생성하는 단계를 포함한다.According to one or more exemplary embodiments, a method of testing robot software may include: generating a test suite that is a set of test cases using a test target source file including an input / output range of a subroutine or an input / output value of a subroutine; Generating test suite information including information necessary for generating a test drive in a common format; Identifying a test object using the test suite information; And generating a test driver by using the test target source file and the test suite corresponding to the test target.

본 발명의 일실시예에 따르면, 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치를 분리하여 독립적으로 동작하도록 함으로써 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치를 서로 분산하여 설치할 수 있어 다양한 테스트 시스템을 유연하게 구축할 수 있다. According to an embodiment of the present invention, the test case generating device and the test driver generating device may be separated and operated independently of each other so that the test case generating device and the test driver generating device may be distributed to each other, thereby flexibly constructing various test systems. Can be.

또한, 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치 간 상호 작용 시 표준 기술(記述) 형식인 XML을 사용함으로써 다양한 형태로 정보를 표현할 수 있어 테스터는 쉽게 테스트 대상 정보를 확인하고 수정할 수 있다. In addition, when the test case generator and the test driver generator interact with each other, XML can be expressed in various forms so that the tester can easily check and modify the test target information.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. Like reference numerals in the drawings denote like elements.

본 발명의 일실시예는 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치가 독립적으로 구성된 로봇 소프트웨어 테스트 시스템 및 그 동작 방법을 제공한다.One embodiment of the present invention provides a robot software test system and a method of operating the test case generating device and the test driver generating device independently configured.

도 1은 본 발명의 일실시예에 따른 로봇 소프트웨어의 테스트 시스템의 개괄적인 구성을 도시한 일례이다.1 is an example showing the general configuration of a test system for robot software according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 로봇 소프트웨어의 테스트 시스템은 소스 파일 저장부(110)와, 테스트 케이스 생성 장치(120) 및 테스트 드라이버 생성 장치(130)로 구성된다.Referring to FIG. 1, a test system of robot software according to an embodiment of the present invention includes a source file storage unit 110, a test case generating device 120, and a test driver generating device 130.

소스 파일 저장부(110)는 서브 루틴의 입출력 범위 또는 서브 루틴의 입출력 값이 포함된 테스트 대상 소스 파일을 저장할 수 있다.The source file storage unit 110 may store a test target source file including an input / output range of the subroutine or an input / output value of the subroutine.

테스트 케이스 생성 장치(120)는 테스트 케이스 생성에 필요한 정보를 사용하여 테스트 케이스의 집합인 테스트 스윗을 생성하고, 테스트 드라이브 생성에 필요한 정보가 포함된 테스트 스윗 정보를 공통 포맷으로 생성할 수 있다.The test case generating apparatus 120 may generate a test suite which is a set of test cases using information necessary for generating the test case, and generate test suite information including information necessary for generating the test drive in a common format.

이때, 테스트 케이스 생성 장치(120)는 소스 파일 저장부(110)에 저장된 테스트 대상 소스 파일에서 테스트 케이스 생성에 필요한 정보를 추출할 수 있다.In this case, the test case generating apparatus 120 may extract information necessary for generating the test case from the test target source file stored in the source file storage 110.

이때, 테스트 케이스 생성 장치(120)는 도 1에 도시된 바와 같이 소스 코드 분석 모듈(121)과, 테스트 후보 값 생성 모듈(122)과, 테스트 후보 값 조합 모듈(123)과 테스트 스윗 생성 모듈(124) 및 테스트 스윗 정보 생성 모듈(125)로 구성될 수 있다.In this case, the test case generating apparatus 120 may include a source code analysis module 121, a test candidate value generation module 122, a test candidate value combination module 123, and a test suite generation module as illustrated in FIG. 1. 124 and the test suite information generation module 125.

소스 코드 분석 모듈(121)은 소스 파일 저장부(110)에 저장된 테스트 대상 소스 파일을 분석하여 테스트 케이스 생성에 필요한 정보를 추출하고, 추출한 정보를 테스트 후보 값 생성 모듈(122)에 제공할 수 있다.The source code analysis module 121 may analyze the test target source file stored in the source file storage unit 110, extract information required for generating a test case, and provide the extracted information to the test candidate value generation module 122. .

또한, 소스 코드 분석 모듈(121)은 사용자로부터 입력 받은 소프트웨어 설계 명세로부터 테스트 케이스 생성에 필요한 정보를 추출하여 테스트 후보 값 생성 모듈(122)에 제공할 수도 있다.In addition, the source code analysis module 121 may extract the information necessary for generating the test case from the software design specification input from the user and provide it to the test candidate value generation module 122.

테스트 후보 값 생성 모듈(122)은 소스 코드 분석 모듈(121)에서 추출하여 제공된 정보를 기초로 각 패러미터의 테스트 후보를 생성할 수 있다.The test candidate value generation module 122 may generate a test candidate of each parameter based on the information provided by the source code analysis module 121.

이때, 테스트 후보 값 생성 모듈(122)은 소스 코드 분석 모듈(121)에서 추출하여 제공된 정보에 경계 값 분석, 또는 동치 분할을 사용하여 각 패러미터의 테스트 후보를 생성할 수 있다.In this case, the test candidate value generation module 122 may generate a test candidate for each parameter by using boundary value analysis or equivalence splitting on information provided by the source code analysis module 121.

테스트 후보 값 조합 모듈(123)은 테스트 후보 값 생성 모듈(122)에서 생성된 각 패러미터의 테스트 후보를 조합하여 테스트 스윗을 생성할 수 있다.The test candidate value combination module 123 may generate a test suite by combining the test candidates of each parameter generated by the test candidate value generation module 122.

이때, 상기 테스트 스윗에 포함된 각 테스트 케이스는 특정 프로그래밍 언어에 국한되지 않는 독립적인 표현 방법으로 입출력 데이터의 값 또는 범위를 표기할 수 있다.In this case, each test case included in the test suite may indicate the value or range of the input / output data by an independent expression method that is not limited to a specific programming language.

또한, 테스트 후보 값 조합 모듈(123)은 테스트 후보 값 생성 모듈(122)에서 생성된 각 패러미터의 테스트 후보에 모든 조합 또는 직교 배열법을 사용한 쌍-조합을 사용하여 테스트 스윗을 생성할 수 있다.In addition, the test candidate value combination module 123 may generate a test suite using a pair-combination using all combinations or orthogonal array methods for the test candidates of each parameter generated in the test candidate value generation module 122.

테스트 스윗 생성 모듈(124)은 테스트 후보 값 조합 모듈(123)에서 생성된 테스트 스윗을 기 설정된 포맷으로 변환하여 테스트 드라이버 생성 장치(130)로 전송할 수 있다.The test suite generation module 124 may convert the test suite generated by the test candidate value combination module 123 into a preset format and transmit the converted test suite to the test driver generation device 130.

일례로 테스트 스윗 생성 모듈(124)은 테스트 후보 값 조합 모듈(123)에서 생성된 테스트 스윗을 도 2에 도시된 표(200)와 같은 포맷으로 변환할 수 있다.For example, the test suite generation module 124 may convert the test suite generated by the test candidate value combination module 123 into a format such as the table 200 illustrated in FIG. 2.

테스트 스윗 정보 생성 모듈(125)은 소스 코드 분석 모듈(121)에서 추출된 정보를 기초로 테스트 스윗 정보를 생성할 수 있다.The test suite information generation module 125 may generate test suite information based on the information extracted from the source code analysis module 121.

이때, 테스트 스윗 정보는 테스터가 입력한 단위 테스트 대상의 정보, 대상 플랫폼 정보, 서브 루틴의 이름 및 패러미터 타입 중에 적어도 하나를 포함할 수 있다. In this case, the test suite information may include at least one of unit test target information, target platform information, subroutine name, and parameter type input by the tester.

또한, 테스트 스윗 정보 생성 모듈(125)은 데이터 표현 방법의 표준에 따라 테스트 스윗 정보를 도 3에 도시된 바와 같은 XML(300)로 생성함으로써 테스트 스윗 정보에 범용성을 부여하고 호환성을 향상 시킬 수 있다.In addition, the test suite information generation module 125 may generate test suite information with the XML 300 as shown in FIG. 3 according to a standard of a data representation method, thereby providing generality to the test suite information and improving compatibility. .

그리고, 테스트 스윗 정보는 테스트케이스 생성 장치(120)와 테스트 드라이버 생성 장치(130) 간의 정보를 가시화 시켜 정확한 테스트를 수행하는지에 대한 모니터링 및 스케쥴링이 가능해 지도록 할 수 있다.In addition, the test suite information may visualize information between the test case generating apparatus 120 and the test driver generating apparatus 130 to enable monitoring and scheduling of whether an accurate test is performed.

테스트 드라이버 생성 장치(130)는 테스트 스윗 정보를 사용하여 테스트 대 상을 확인하고, 테스트 대상에 대응하는 테스트 대상 소스 파일과 테스트 스윗을 사용하여 테스트 드라이버를 생성할 수 있다.The test driver generating apparatus 130 may identify the test target using the test suite information and generate the test driver using the test target source file and the test suite corresponding to the test target.

일례로 회귀 테스트를 수행할 경우에 테스트 드라이버 생성 장치(130)는 서브루틴의 원형이 변하지 않으면 테스트 대상 소스 파일 전체가 아닌 테스트 스윗만 수정하여 테스트 드라이버를 생성할 수 있다.For example, when performing a regression test, the test driver generating apparatus 130 may generate a test driver by modifying only the test suite, not the entire test target source file, unless the prototype of the subroutine is changed.

이때, 테스트 드라이버는 테스트를 실행하고 테스트 결과를 검사할 수 있는 구성이며, 테스트 드라이버 생성 장치(130)는 도 1에 도시된 바와 같이 테스트 인자 생성 모듈(131)과 테스트 실행부 생성 모듈(132) 및 테스트 결과 검사부 생성 모듈(133)로 구성될 수 있다.In this case, the test driver is configured to execute a test and inspect the test result, and the test driver generating device 130 includes the test factor generating module 131 and the test executing unit generating module 132 as shown in FIG. 1. And a test result checker generation module 133.

테스트 인자 생성 모듈(131)은 테스트 대상에 대응하는 테스트 대상 소스 파일과 테스트 스윗을 사용하여 테스트에 사용할 파라미터인 테스트 인자를 생성할 수 있다.The test factor generation module 131 may generate a test factor which is a parameter to be used for a test by using a test target source file and a test suite corresponding to the test target.

테스트 실행부 생성 모듈(132)은 테스트 인자 생성 모듈(131)에서 생성된 테스트 인자들을 사용하여 테스트를 하는 테스트 실행부를 생성할 수 있다.The test execution unit generation module 132 may generate a test execution unit for testing by using the test factors generated by the test factor generation module 131.

테스트 결과 검사부 생성 모듈(133)은 테스트 실행부에서 실행된 결과를 검사하여 테스트 결과를 판단하는 테스트 결과 검사부를 생성할 수 있다.The test result checker generation module 133 may generate a test result checker that determines a test result by checking a result executed by the test execution unit.

도 4는 본 발명의 일실시예에 따른 로봇 소프트웨어의 테스트 시스템을 적용한 일례이다.4 is an example of applying a test system of the robot software according to an embodiment of the present invention.

본 발명의 일실시예에 따른 로봇 소프트웨어의 테스트 시스템은 테스트 케이스 생성 장치(120)와 테스트 드라이버 생성 장치(130)가 독립적으로 동작하므로 테스트 케이스 생성 장치(120)와 테스트 드라이버 생성 장치(130)를 서로 분산하여 설치할 수 있어 다양한 테스트 시스템을 유연하게 구축할 수 있다. In the test system of the robot software according to the exemplary embodiment of the present invention, since the test case generating device 120 and the test driver generating device 130 operate independently, the test case generating device 120 and the test driver generating device 130 are operated. It can be installed distributed to each other to flexibly build various test systems.

따라서, 테스트 드라이버 생성 장치(130)는 테스트 케이스 생성 장치(120)로부터 전송된 테스트 스윗 정보를 사용하여 하나의 테스트 스윗에서 C++ 테스트 드라이버(410)와 Java 테스트 드라이버(420)와 같이 서로 다른 시스템에 적용되는 테스트 드라이버를 생성할 수 있다.Therefore, the test driver generating apparatus 130 may use the test suite information transmitted from the test case generating apparatus 120 in different systems such as the C ++ test driver 410 and the Java test driver 420 in one test suite. You can create test drivers that apply.

이때, C++ 테스트 드라이버(410)는 리눅스(Linux)/C++기반 로봇(411)과 윈도우(Windows)/C++기반 로봇(412)에 설치되어 테스트를 실행할 수 있고, Java 테스트 드라이버(420)는 Java 기반 로봇(421)에 설치되어 테스트를 실행할 수 있다.In this case, the C ++ test driver 410 may be installed on a Linux / C ++ based robot 411 and a Windows / C ++ based robot 412 to execute a test, and the Java test driver 420 may be based on Java. The robot 421 may be installed to execute a test.

도 5는 본 발명의 일실시예에 따른 로봇 소프트웨어의 테스트 방법을 나타낸 흐름도이다.5 is a flowchart illustrating a test method of robot software according to an embodiment of the present invention.

단계(S510)에서 소스 코드 분석 모듈(121)은 테스트 케이스 생성에 필요한 정보를 획득할 수 있다.In operation S510, the source code analysis module 121 may acquire information necessary for generating a test case.

구체적으로 소스 코드 분석 모듈(121)은 소스 파일 저장부(110)에 저장된 테스트 대상 소스 파일을 분석하여 테스트 케이스 생성에 필요한 정보를 추출하여 획득할 수도 있고, 사용자로부터 입력 받은 소프트웨어 설계 명세로부터 테스트 케이스 생성에 필요한 정보를 추출하여 획득할 수도 있다.In more detail, the source code analysis module 121 may extract and obtain information required to generate a test case by analyzing a test target source file stored in the source file storage unit 110, or from a software design specification received from a user. Information necessary for generation may be extracted and obtained.

단계(S520)에서 테스트 후보 값 생성 모듈(122)은 단계(S510)에서 획득한 테스트 케이스 생성에 필요한 정보를 기초로 각 패러미터의 테스트 후보를 생성할 수 있다.In operation S520, the test candidate value generation module 122 may generate a test candidate for each parameter based on the information required for generating the test case obtained in operation S510.

단계(S530)에서 테스트 후보 값 조합 모듈(123)은 단계(S520)에서 생성된 각 패러미터의 테스트 후보를 조합하여 테스트 스윗을 생성할 수 있다. 일례로 테스트 후보 값 조합 모듈(123)은 상기 각 패러미터의 테스트 후보에 직교 배열법을 사용한 쌍-조합을 사용하여 테스트 스윗을 생성할 수 있다.In operation S530, the test candidate value combination module 123 may generate a test suite by combining the test candidates of each parameter generated in operation S520. For example, the test candidate value combination module 123 may generate a test suite using a pair-combination using an orthogonal array method for the test candidates of each parameter.

단계(S540)에서 테스트 스윗 생성 모듈(124)은 단계(S530)에서 생성된 테스트 스윗을 기 설정된 포맷으로 변환할 수 있다. 일례로 테스트 스윗 생성 모듈(124)은 단계(S530)에서 생성된 테스트 스윗을 도 2에 도시된 표(200)와 같은 포맷으로 변환할 수 있다.In operation S540, the test suite generation module 124 may convert the test suite generated in operation S530 into a preset format. For example, the test suite generation module 124 may convert the test suite generated in operation S530 into a format such as the table 200 illustrated in FIG. 2.

단계(S550)에서 테스트 스윗 정보 생성 모듈(125)은 단계(S510)에서 획득한 테스트 케이스 생성에 필요한 정보를 기초로 테스트 스윗 정보를 생성할 수 있다.In operation S550, the test suite information generation module 125 may generate test suite information based on the information necessary for generating the test case obtained in operation S510.

이때, 생성되는 테스트 스윗 정보는 테스터가 입력한 단위 테스트 대상의 정보, 대상 플랫폼 정보, 서브 루틴의 이름 및 패러미터 타입 중에 적어도 하나를 포함할 수 있다.In this case, the generated test suite information may include at least one of unit test target information, target platform information, subroutine name, and parameter type input by the tester.

또한, 테스트 스윗 정보 생성 모듈(125)은 테스트 스윗 정보를 도 3에 도시된 바와 같은 XML(300)로 생성할 수 있다.In addition, the test suite information generation module 125 may generate the test suite information as the XML 300 as shown in FIG. 3.

단계(S560)에서 테스트 케이스 생성 장치(120)는 단계(S530)에서 생성된 테스트 스윗과 단계(S550)에서 생성된 테스트 스윗 정보를 테스트 드라이버 생성 장치(130)로 전송할 수 있다.In operation S560, the test case generating apparatus 120 may transmit the test suite generated in operation S530 and the test suite information generated in operation S550 to the test driver generating apparatus 130.

단계(S560)에서 테스트 드라이버 생성 장치(130)는 단계(S550)에서 생성된 테스트 스윗 정보를 사용하여 테스트 대상을 확인하고, 소스 파일 저장부(110)에서 검색한 테스트 대상에 대응하는 테스트 대상 소스 파일과 단계(S530)에서 생성된 테스트 스윗을 사용하여 테스트 드라이버를 생성할 수 있다.In operation S560, the test driver generating apparatus 130 confirms the test object using the test suite information generated in step S550, and the test object source corresponding to the test object retrieved by the source file storage 110. The test driver may be generated using the file and the test suite generated in step S530.

따라서, 본 발명의 일실시예는 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치를 분리하여 독립적으로 동작하도록 함으로써 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치를 서로 분산하여 설치할 수 있어 다양한 테스트 시스템을 유연하게 구축할 수 있다. Therefore, in one embodiment of the present invention, the test case generation device and the test driver generation device can be distributed and installed separately from each other by separating the test case generation device and the test driver generation device so as to flexibly build various test systems. Can be.

또한, 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치 간 상호 작용 시 표준 기술(記述) 형식인 XML을 사용함으로써 다양한 형태로 정보를 표현할 수 있어 테스터는 쉽게 테스트 대상 정보를 확인하고 수정할 수 있다. In addition, when the test case generator and the test driver generator interact with each other, XML can be expressed in various forms so that the tester can easily check and modify the test target information.

본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니 라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the present invention include computer readable media including program instructions for performing various computer implemented operations. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The media may be program instructions that are specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, 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 code, such as produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by specific embodiments such as specific components and the like. For those skilled in the art to which the present invention pertains, various modifications and variations are possible.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and all of the equivalents or equivalents of the claims as well as the claims to be described later will belong to the scope of the present invention. .

도 1은 본 발명의 일실시예에 따른 로봇 소프트웨어의 테스트 시스템의 개괄적인 구성을 도시한 일례이다.1 is an example showing the general configuration of a test system for robot software according to an embodiment of the present invention.

도 2는 본 발명의 일실시예에 따라 테스트 스윗 생성 모듈에서 변환한 테스트 스윗의 일례이다. 2 is an example of a test suite converted by the test suite generation module according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따라 XML로 생성된 테스트 스윗 정보의 일례이다.3 is an example of test suite information generated in XML according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 로봇 소프트웨어의 테스트 시스템을 적용한 일례이다.4 is an example of applying a test system of the robot software according to an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 로봇 소프트웨어의 테스트 방법을 나타낸 흐름도이다.5 is a flowchart illustrating a test method of robot software according to an embodiment of the present invention.

Claims (16)

서브 루틴의 입출력 범위 또는 서브 루틴의 입출력 값이 포함된 테스트 대상 소스 파일을 저장하는 소스 파일 저장부;A source file storage unit for storing a test target source file including an input / output range of the subroutine or an input / output value of the subroutine; 상기 테스트 대상 소스 파일을 사용하여 테스트 케이스의 집합인 테스트 스윗을 생성하고, 테스트 드라이브 생성에 필요한 정보가 포함된 테스트 스윗 정보를 공통 포맷으로 생성하는 테스트 케이스 생성 장치; 및A test case generating device generating a test suite which is a set of test cases using the test target source file, and generating test suite information including information necessary for generating a test drive in a common format; And 상기 테스트 스윗 정보를 사용하여 테스트 대상을 확인하고, 상기 테스트 대상에 대응하는 상기 테스트 대상 소스 파일과 상기 테스트 스윗을 사용하여 테스트 드라이버를 생성하는 테스트 드라이버 생성 장치A test driver generating apparatus for identifying a test target using the test suite information and generating a test driver using the test target source file and the test suite corresponding to the test target 을 포함하는 로봇 소프트웨어의 테스트 시스템.Test system of the robot software comprising a. 제1항에 있어서,The method of claim 1, 상기 테스트 스윗에 포함된 각 테스트 케이스는 특정 프로그래밍 언어에 국한되지 않는 독립적인 표현 방법으로 입출력 데이터의 값 또는 범위를 표기하는 로봇 소프트웨어의 테스트 시스템.Each test case included in the test suite is a robot software test system for indicating the value or range of the input and output data in an independent expression method that is not limited to a specific programming language. 제1항에 있어서,The method of claim 1, 상기 테스트 케이스 생성 장치는,The test case generating device, 상기 테스트 대상 소스 파일을 분석하여 테스트 케이스 생성에 필요한 정보 를 추출하는 소스 코드 분석 모듈;A source code analysis module configured to analyze the test target source file and extract information necessary to generate a test case; 상기 테스트 케이스 생성에 필요한 정보를 기초로 각 패러미터의 테스트 후보를 생성하는 테스트 후보 값 생성 모듈;A test candidate value generation module for generating a test candidate for each parameter based on the information necessary for generating the test case; 상기 각 패러미터의 테스트 후보를 조합하여 테스트 스윗을 생성하는 테스트 후보 값 조합 모듈;A test candidate value combination module that generates a test suite by combining the test candidates of each parameter; 상기 테스트 스윗을 기 설정된 포맷으로 변환하여 테스트 드라이버 생성 장치로 전송하는 테스트 스윗 생성 모듈; 및A test suite generation module for converting the test suite into a predetermined format and transmitting the test suite to a test driver generation device; And 상기 소스 코드 분석 모듈에서 추출된 정보를 기초로 상기 테스트 스윗 정보를 생성하는 테스트 스윗 정보 생성 모듈Test suite information generation module for generating the test suite information on the basis of the information extracted from the source code analysis module 을 포함하는 로봇 소프트웨어의 테스트 시스템.Test system of the robot software comprising a. 제3항에 있어서,The method of claim 3, 상기 테스트 스윗 정보는 테스터가 입력한 단위 테스트 대상의 정보, 대상 플랫폼 정보, 서브 루틴의 이름 및 패러미터 타입 중에 적어도 하나를 포함하는 로봇 소프트웨어의 테스트 시스템.The test suite information includes at least one of unit test target information input by a tester, target platform information, a name of a subroutine, and a parameter type. 제4항에 있어서,The method of claim 4, wherein 상기 테스트 스윗 정보는 XML로 생성되는 로봇 소프트웨어의 테스트 시스템.And the test suite information is generated in XML. 제3항에 있어서,The method of claim 3, 상기 소스 코드 분석 모듈은 사용자로부터 입력 받은 소프트웨어 설계 명세로부터 테스트 케이스 생성에 필요한 정보를 추출하는 로봇 소프트웨어의 테스트 시스템.The source code analysis module is a test system of the robot software for extracting information required for generating test cases from the software design specification received from the user. 제3항에 있어서,The method of claim 3, 상기 테스트 후보 값 조합 모듈은 상기 각 패러미터의 테스트 후보에 직교 배열법을 사용한 쌍-조합을 사용하여 테스트 스윗을 생성하는 로봇 소프트웨어의 테스트 시스템.And the test candidate value combination module generates a test suite using a pair-combination using orthogonal alignment to the test candidates of each parameter. 서브 루틴의 입출력 범위 또는 서브 루틴의 입출력 값이 포함된 테스트 대상 소스 파일을 사용하여 테스트 케이스의 집합인 테스트 스윗을 생성하는 단계;Generating a test suite which is a set of test cases using a test target source file including an input / output range of a subroutine or an input / output value of the subroutine; 테스트 드라이브 생성에 필요한 정보가 포함된 테스트 스윗 정보를 공통 포맷으로 생성하는 단계; Generating test suite information including information necessary for generating a test drive in a common format; 상기 테스트 스윗 정보를 사용하여 테스트 대상을 확인하는 단계; 및Identifying a test object using the test suite information; And 상기 테스트 대상에 대응하는 상기 테스트 대상 소스 파일과 상기 테스트 스윗을 사용하여 테스트 드라이버를 생성하는 단계Generating a test driver by using the test target source file and the test suite corresponding to the test target 를 포함하는 로봇 소프트웨어의 테스트 방법.Test method of the robot software comprising a. 제8항에 있어서,The method of claim 8, 상기 테스트 스윗에 포함된 각 테스트 케이스는 특정 프로그래밍 언어에 국한되지 않는 독립적인 표현 방법으로 입출력 데이터의 값 또는 범위를 표기하는 로봇 소프트웨어의 테스트 방법.Each test case included in the test suite is a robot software test method for indicating the value or range of the input and output data in an independent expression method not limited to a specific programming language. 제8항에 있어서,The method of claim 8, 상기 테스트 스윗을 생성하는 단계는,Generating the test suite, 상기 테스트 대상 소스 파일을 분석하여 테스트 케이스 생성에 필요한 정보를 추출하는 단계;Analyzing the test target source file and extracting information necessary to generate a test case; 상기 테스트 케이스 생성에 필요한 정보를 기초로 각 패러미터의 테스트 후보를 생성하는 단계; Generating a test candidate for each parameter based on information required for generating the test case; 상기 각 패러미터의 테스트 후보를 조합하여 테스트 스윗을 생성하는 단계; 및Combining test candidates of each parameter to generate a test suite; And 상기 테스트 스윗을 기 설정된 포맷으로 변환하여 전송하는 단계Converting and transmitting the test suite into a preset format 를 포함하는 로봇 소프트웨어의 테스트 방법.Test method of the robot software comprising a. 제10항에 있어서,The method of claim 10, 테스트 스윗 정보를 공통 포맷으로 생성하는 단계는 상기 정보를 추출하는 단계에서 추출된 정보를 기초로 상기 테스트 스윗 정보를 생성하는 로봇 소프트웨어의 테스트 방법.The generating of the test suite information in a common format may include generating the test suite information based on the extracted information in the extracting of the information. 제11항에 있어서,The method of claim 11, 상기 테스트 스윗 정보는 테스터가 입력한 단위 테스트 대상의 정보, 대상 플랫폼 정보, 서브 루틴의 이름 및 패러미터 타입 중에 적어도 하나를 포함하는 로봇 소프트웨어의 테스트 방법.The test suite information includes at least one of unit test target information input by a tester, target platform information, a name of a subroutine, and a parameter type. 제12항에 있어서,The method of claim 12, 상기 테스트 스윗 정보는 XML로 생성되는 로봇 소프트웨어의 테스트 방법.And the test suite information is generated in XML. 제10항에 있어서,The method of claim 10, 상기 정보를 추출하는 단계는 사용자로부터 입력 받은 소프트웨어 설계 명세로부터 테스트 케이스 생성에 필요한 정보를 추출하는 로봇 소프트웨어의 테스트 방법.The extracting of the information may include extracting information required to generate a test case from a software design specification received from a user. 제10항에 있어서,The method of claim 10, 상기 테스트 스윗을 생성하는 단계는 상기 각 패러미터의 테스트 후보에 직교 배열법을 사용한 쌍-조합을 사용하여 테스트 스윗을 생성하는 로봇 소프트웨어의 테스트 방법.The generating of the test suite may include generating a test suite using a pair-combination using an orthogonal array method to test candidates of each parameter. 제8항 내지 제15항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method of any one of claims 8 to 15.
KR1020090055055A 2009-06-19 2009-06-19 Robot software test system and method which consists of independent test case generater and independent test driver generater KR101550926B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090055055A KR101550926B1 (en) 2009-06-19 2009-06-19 Robot software test system and method which consists of independent test case generater and independent test driver generater

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090055055A KR101550926B1 (en) 2009-06-19 2009-06-19 Robot software test system and method which consists of independent test case generater and independent test driver generater

Publications (2)

Publication Number Publication Date
KR20100136775A true KR20100136775A (en) 2010-12-29
KR101550926B1 KR101550926B1 (en) 2015-09-09

Family

ID=43510707

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090055055A KR101550926B1 (en) 2009-06-19 2009-06-19 Robot software test system and method which consists of independent test case generater and independent test driver generater

Country Status (1)

Country Link
KR (1) KR101550926B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101393807B1 (en) * 2012-11-22 2014-05-12 슈어소프트테크주식회사 Apparatus for regression testing of software and method thereof
CN114020623A (en) * 2021-11-04 2022-02-08 上海复深蓝软件股份有限公司 Software testing method, device, equipment and medium based on intelligent identification
KR20220084776A (en) * 2020-12-14 2022-06-21 현대오토에버 주식회사 Apparatus and method for generating test case of aigbag system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021114B (en) * 2016-06-02 2018-07-10 北京光年无限科技有限公司 Towards the automated testing method and system of intelligent robot
KR102563171B1 (en) * 2021-08-25 2023-08-03 엘아이지넥스원 주식회사 Apparatus and method for generating test driver automatically for software dynamic test

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100625597B1 (en) * 1999-12-27 2006-09-20 한국전자통신연구원 Automatic testcase generation method for testing of object - oriented CHILL programs

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101393807B1 (en) * 2012-11-22 2014-05-12 슈어소프트테크주식회사 Apparatus for regression testing of software and method thereof
KR20220084776A (en) * 2020-12-14 2022-06-21 현대오토에버 주식회사 Apparatus and method for generating test case of aigbag system
CN114020623A (en) * 2021-11-04 2022-02-08 上海复深蓝软件股份有限公司 Software testing method, device, equipment and medium based on intelligent identification

Also Published As

Publication number Publication date
KR101550926B1 (en) 2015-09-09

Similar Documents

Publication Publication Date Title
CN105701008B (en) System and method for test case generation
CN110764945B (en) Crash log processing method, device, equipment and storage medium
US8601436B2 (en) Simulation-based interface testing automation system and method for robot software components
US8527950B2 (en) Verification of software applications
CN106528100A (en) System and method for model based technology and process for safety-critical software development
US20120116561A1 (en) Program testing apparatus, method of testing a program, and program testing program
CN110825431B (en) Interface document processing method, device, system, storage medium and electronic equipment
CN105103148A (en) Automated contextual-based software localization
CN103049371A (en) Testing method and testing device of Android application programs
KR20100136775A (en) Robot software test system and method which consists of independent test case generater and independent test driver generater
US11237948B2 (en) Rendering engine component abstraction system
CN103180834A (en) An automated operating system test framework
KR102588856B1 (en) Method for verifying software and apparatus therefor
CN115904989A (en) Interface testing method, device, equipment and readable storage medium
KR20100124726A (en) Building operating system images based on applications
CN109710523B (en) Visual draft test case generation method and device, storage medium and electronic equipment
CN103885341A (en) Performance analysis system and method based on automobile performance simulator
CN110309046A (en) Modeling
Amalfitano et al. Improving code coverage in android apps testing by exploiting patterns and automatic test case generation
US20170337112A1 (en) Code update based on detection of change in runtime code during debugging
Sprouse et al. The berkeley phonetics machine
US8949167B2 (en) Method and device for the quality analysis of system models
KR102603330B1 (en) Apparatus and method for display the test coverage
CN114791885A (en) Interface test method, device, equipment and medium
WO2012049816A1 (en) Model checking device, method, and program

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 5

R401 Registration of restoration