KR20230114499A - Apparatus and method for testing software - Google Patents
Apparatus and method for testing software Download PDFInfo
- Publication number
- KR20230114499A KR20230114499A KR1020220010734A KR20220010734A KR20230114499A KR 20230114499 A KR20230114499 A KR 20230114499A KR 1020220010734 A KR1020220010734 A KR 1020220010734A KR 20220010734 A KR20220010734 A KR 20220010734A KR 20230114499 A KR20230114499 A KR 20230114499A
- Authority
- KR
- South Korea
- Prior art keywords
- software
- message
- test
- script
- scenario
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 238000012360 testing method Methods 0.000 claims abstract description 181
- 238000013515 script Methods 0.000 claims abstract description 121
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000013522 software testing Methods 0.000 claims abstract description 17
- 238000004891 communication Methods 0.000 claims description 21
- 238000013500 data storage Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000002360 preparation method Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
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/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- 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
-
- 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/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 소프트웨어 시험 장치 및 방법에 관한 것으로서, 보다 상세하게는 시험 대상 기기에 설치된 소프트웨어의 오류를 확인하기 위한 소프트웨어 시험 장치 및 방법에 관한 것이다.
본 발명의 실시 예에 따른 소프트웨어 시험 장치는, 시험 대상 기기에 설치된 소프트웨어에서 실행 가능한 메시지의 형식을 정의하는 스크립트를 결정하기 위한 스크립트 결정부; 정의된 형식을 가지는 메시지로 상기 소프트웨어를 시험할 시나리오를 결정하기 위한 시나리오 결정부; 상기 스크립트 및 시나리오에 따라 상기 시험 대상 기기에 전송할 메시지를 생성하기 위한 메시지 생성부; 생성된 메시지를 시험 대상 기기에 전송하기 위한 메시지 전송부; 및 전송된 메시지가 상기 소프트웨어에서 실행된 시험 결과 데이터를 분석하기 위한 분석부;를 포함한다.The present invention relates to a software testing apparatus and method, and more particularly, to a software testing apparatus and method for checking errors in software installed in a device under test.
A software testing apparatus according to an embodiment of the present invention includes a script determining unit for determining a script defining a format of a message executable in software installed in a device under test; a scenario determining unit for determining a scenario to test the software with a message having a defined format; a message generator for generating a message to be transmitted to the device under test according to the script and scenario; a message transmission unit for transmitting the generated message to the device under test; and an analyzer configured to analyze test result data in which the transmitted message is executed in the software.
Description
본 발명은 소프트웨어 시험 장치 및 방법에 관한 것으로서, 보다 상세하게는 시험 대상 기기에 설치된 소프트웨어의 오류를 확인하기 위한 소프트웨어 시험 장치 및 방법에 관한 것이다.The present invention relates to a software testing apparatus and method, and more particularly, to a software testing apparatus and method for checking errors in software installed in a device under test.
내장형 소프트웨어(software)는 기기를 운용 또는 제어하기 위하여 레이다 체계, 무기 체계 등의 군사용 기기 또는 민간용의 다양한 기기에 설치된다.Embedded software is installed in various military or civilian devices such as radar systems and weapon systems in order to operate or control the devices.
이와 같이 소프트웨어가 설치된 기기는 실제 환경에서 사용되기 전에 먼저 시험 환경에서 소프트웨어가 정상적으로 작동하는지, 즉 설치된 소프트웨어에 오류가 있는지를 확인한다. 여기서, 소프트웨어의 오류 여부의 확인은 소프트웨어 시험 장치를 소프트웨어가 설치된 기기, 즉 시험 대상 기기에 연결하고, 시험용 메시지를 소프트웨어 시험 장치로부터 시험 대상 기기에 전송하여 수행된다.In this way, before the software installed device is used in a real environment, it is first checked whether the software operates normally in a test environment, that is, whether there is an error in the installed software. Here, the confirmation of software error is performed by connecting the software test device to the device on which the software is installed, that is, the device under test, and transmitting a test message from the software test device to the device under test.
종래의 소프트웨어 시험은, 소프트웨어 개발자가 소프트웨어를 개발할 때마다 개발한 소프트웨어에 맞는 소프트웨어 시험 장치를 개발하여 소프트웨어의 시험을 수행하였다. 즉, 소프트웨어 개발자는 개발한 소프트웨어를 시험하기 위한 소스 코드를 수동으로 작성하고 컴파일(compile)한 후, 소프트웨어 시험 장치에서 이를 실행하여 소프트웨어를 정적으로 검사하였다.In the conventional software test, whenever a software developer develops software, he or she develops a software test apparatus suitable for the developed software and tests the software. That is, a software developer manually writes and compiles source codes for testing the developed software, and then statically inspects the software by executing it in a software test device.
그러나, 이와 같은 종래의 소프트웨어 시험 방법은 특정 소프트웨어의 시험만을 위한 것으로, 다른 소프트웨어가 설치된 기기를 시험할 수 없었다. 즉, 종래의 소프트웨어 시험 방법은 개발된 소프트웨어 별로 이에 맞는 시험 프로그램을 다시 전체적으로 작성하여야 하므로, 시험을 위한 부가적인 프로그램의 작성과 이에 따른 추가적인 시간 및 비용이 소요되는 문제점이 있었다.However, such a conventional software test method is only for testing specific software and cannot test devices with other software installed thereon. That is, in the conventional software test method, a test program suitable for each developed software must be rewritten as a whole, so there is a problem in that an additional program for the test is created and additional time and cost are required accordingly.
본 발명은 특정 소프트웨어의 시험에 종속되지 않고, 범용적인 소프트웨어의 시험을 수행할 수 있는 소프트웨어 시험 장치 및 방법을 제공한다.The present invention provides a software testing apparatus and method capable of performing a general-purpose software test without being dependent on a specific software test.
본 발명의 실시 예에 따른 소프트웨어 시험 장치는, 시험 대상 기기에 설치된 소프트웨어에서 실행 가능한 메시지의 형식을 정의하는 스크립트를 결정하기 위한 스크립트 결정부; 정의된 형식을 가지는 메시지로 상기 소프트웨어를 시험할 시나리오를 결정하기 위한 시나리오 결정부; 상기 스크립트 및 시나리오에 따라 상기 시험 대상 기기에 전송할 메시지를 생성하기 위한 메시지 생성부; 생성된 메시지를 시험 대상 기기에 전송하기 위한 메시지 전송부; 및 전송된 메시지가 상기 소프트웨어에서 실행된 시험 결과 데이터를 분석하기 위한 분석부;를 포함한다.A software testing apparatus according to an embodiment of the present invention includes a script determining unit for determining a script defining a format of a message executable in software installed in a device under test; a scenario determining unit for determining a scenario to test the software with a message having a defined format; a message generator for generating a message to be transmitted to the device under test according to the script and scenario; a message transmission unit for transmitting the generated message to the device under test; and an analyzer configured to analyze test result data in which the transmitted message is executed in the software.
상기 스크립트 결정부는, 상기 소프트웨어에서 실행 가능한 메시지의 형식을 정의하는 스크립트를 작성하기 위한 스크립트 작성부; 및 상기 스크립트 작성부에서 작성된 스크립트를 포함하는 적어도 하나의 스크립트를 저장하기 위한 스크립트 저장부;를 포함할 수 있다.The script determination unit may include: a script creation unit for creating a script defining a format of a message executable in the software; and a script storage unit for storing at least one script including the script created by the script creation unit.
상기 시나리오 결정부는, 정의된 형식을 가지는 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성하기 위한 시나리오 데이터 작성부; 및 상기 시나리오 데이터 작성부에서 작성된 시나리오 데이터를 포함하는 적어도 하나의 시나리오 데이터를 저장하기 위한 시나리오 데이터 저장부;를 포함할 수 있다.The scenario determination unit may include: a scenario data creation unit for creating scenario data including a transmission method and content of a message having a defined format; and a scenario data storage unit configured to store at least one scenario data including the scenario data prepared by the scenario data creation unit.
상기 시험 대상 기기와의 통신 환경을 설정하기 위한 통신 환경 설정부;를 더 포함할 수 있다.It may further include a communication environment setting unit for setting a communication environment with the device under test.
상기 시험 결과 데이터를 전시하기 위한 전시부;를 더 포함할 수 있다.A display unit for displaying the test result data may be further included.
또한, 본 발명의 실시 예에 따른 소프트웨어 시험 방법은, 시험 대상 기기에 설치된 소프트웨어의 오류를 확인하기 위한 소프트웨어 시험 방법으로서, 상기 소프트웨어에서 실행 가능한 메시지의 형식을 정의하기 위한 스크립트를 생성하는 과정; 정의된 형식을 가지는 메시지로 상기 소프트웨어를 시험할 시나리오를 생성하는 과정; 상기 스크립트 및 시나리오에 따라 메시지를 생성하여 상기 시험 대상 기기에 전송하는 과정; 및 전송된 메시지가 상기 소프트웨어에서 실행된 시험 결과 데이터를 분석하여 상기 소프트웨어의 오류를 확인하는 과정;을 포함한다.In addition, a software test method according to an embodiment of the present invention is a software test method for checking errors in software installed in a device under test, including: generating a script to define a format of a message executable in the software; generating a scenario to test the software with a message having a defined format; generating a message according to the script and scenario and transmitting the message to the device under test; and analyzing test result data in which the transmitted message is executed in the software to confirm an error in the software.
상기 스크립트를 생성하는 과정은, 상기 소프트웨어에서 실행 가능한 메시지의 형식을 확인하는 과정; 확인된 메시지의 형식을 정의하기 위한 스크립트를 작성하는 과정; 및 작성된 스크립트를 저장하는 과정;을 포함할 수 있다.The process of generating the script may include checking a format of a message executable in the software; The process of writing a script to define the format of acknowledged messages; and a process of storing the prepared script.
상기 작성된 스크립트를 저장하는 과정은, 작성된 스크립트를 XML(eXtensible Markup Language) 파일 또는 JSON(JavaScript Object Notation) 파일로 저장할 수 있다.In the process of saving the written script, the written script may be saved as an XML (eXtensible Markup Language) file or a JSON (JavaScript Object Notation) file.
상기 시나리오를 생성하는 과정은, 정의된 형식을 가지는 메시지의 전송 방식 및 내용을 결정하는 과정; 결정된 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성하는 과정; 및 작성된 시나리오 데이터를 저장하는 과정;을 포함할 수 있다.The process of generating the scenario may include determining a transmission method and contents of a message having a defined format; Creating scenario data including the determined transmission method and content; and storing the created scenario data.
상기 작성된 시나리오 데이터를 저장하는 과정은, 작성된 시나리오 데이터를 CSV(Comma Separated Value) 파일로 저장할 수 있다.In the process of storing the created scenario data, the created scenario data may be saved as a CSV (Comma Separated Value) file.
또한, 본 발명의 실시 예에 따른 소프트웨어 시험 방법은, 시험 대상 기기에 설치된 소프트웨어의 오류를 확인하기 위한 소프트웨어 시험 방법으로서, 상기 소프트웨어에서 실행 가능한 메시지의 형식을 정의하기 위한 스크립트를 선택하는 과정; 정의된 형식을 가지는 메시지로 상기 소프트웨어를 시험할 시나리오를 선택하는 과정; 상기 스크립트 및 시나리오에 따라 메시지를 생성하여 상기 시험 대상 기기에 전송하는 과정; 및 전송된 메시지가 상기 소프트웨어에서 실행된 시험 결과 데이터를 분석하여 상기 소프트웨어의 오류를 확인하는 과정;을 포함할 수 있다.In addition, a software test method according to an embodiment of the present invention is a software test method for checking errors in software installed in a device under test, and includes selecting a script for defining a format of a message executable in the software; selecting a scenario to test the software with a message having a defined format; generating a message according to the script and scenario and transmitting the message to the device under test; and analyzing the transmitted message and test result data executed by the software to confirm an error in the software.
상기 스크립트를 선택하는 과정은, 서로 다른 스크립트가 저장된 복수의 파일 중에서 상기 소프트웨어에서 실행 가능한 메시지의 형식을 정의하는 스크립트가 저장된 파일을 선택할 수 있다.In the process of selecting the script, a file in which a script defining a format of a message executable in the software is stored may be selected from among a plurality of files in which different scripts are stored.
상기 시나리오를 선택하는 과정은, 서로 다른 시나리오 데이터가 저장된 복수의 파일 중에서 상기 소프트웨어를 시험할 시나리오 데이터가 저장된 파일을 선택할 수 있다.In the process of selecting the scenario, a file in which scenario data to test the software is stored may be selected from among a plurality of files in which different scenario data are stored.
상기 시험 대상 기기에 전송하는 과정 전에, 상기 시험 대상 기기로 메시지를 전송하기 위한 통신 환경을 설정하는 과정;을 더 포함할 수 있다.Prior to the process of transmitting the message to the device under test, a step of setting a communication environment for transmitting a message to the device under test may be further included.
상기 소프트웨어의 오류를 확인하는 과정은, 전송된 메시지가 상기 소프트웨어에서 실행된 시험 결과 데이터를 로그 파일로 저장하는 과정; 및 저장된 로그 파일을 분석하여 상기 소프트웨어의 오류 여부를 확인하는 과정;을 포함할 수 있다.The process of checking the error of the software may include: storing the transmitted message and test result data executed in the software as a log file; and analyzing the stored log file to determine whether or not the software has an error.
본 발명의 실시 예에 따르면, 소프트웨어에서 실행 가능한 메시지의 형식만을 스크립트로 정의하고, 정의된 형식을 가지는 메시지로 소프트웨어를 시험할 시나리오를 결정하여 메시지를 생성 및 전송함으로써, 최소화된 시간 및 비용으로 다양한 소프트웨어의 오류를 확인할 수 있다.According to an embodiment of the present invention, only the format of a message executable in software is defined as a script, and a message having a defined format is used to determine a scenario for testing the software, and the message is generated and transmitted, thereby minimizing time and cost. Software errors can be checked.
도 1은 본 발명의 실시 예에 따른 소프트웨어 시험 장치를 개략적으로 나타내는 도면.
도 2은 본 발명의 실시 예에 따라 작성된 시나리오 데이터를 나타내는 도면.
도 3은 본 발명의 실시 예에 따라 저장된 로그 파일을 확인하는 모습을 나타내는 도면.
도 4는 본 발명의 실시 예에 따른 소프트웨어 시험 방법을 개략적으로 나타내는 도면.1 is a diagram schematically illustrating a software testing apparatus according to an embodiment of the present invention;
2 is a diagram showing scenario data created according to an embodiment of the present invention.
3 is a view showing how to check a stored log file according to an embodiment of the present invention;
4 is a diagram schematically illustrating a software testing method according to an embodiment of the present invention;
이하, 첨부된 도면을 참조하여 본 발명의 실시 예들을 상세히 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 발명의 실시 예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 발명을 상세하게 설명하기 위해 도면은 과장되어 도시될 수 있으며, 도면상에서 동일 부호는 동일한 요소를 지칭한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention will not be limited to the embodiments disclosed below, but will be implemented in various different forms, only the embodiments of the present invention will make the disclosure of the present invention complete, and will make the scope of the invention clear to those skilled in the art. It is provided to fully inform you. In order to explain the invention in detail, the drawings may be exaggerated, and like reference numerals refer to like elements in the drawings.
도 1은 본 발명의 실시 예에 따른 소프트웨어 시험 장치를 개략적으로 나타내는 도면이다. 또한, 도 2은 본 발명의 실시 예에 따라 작성된 시나리오 데이터를 나타내는 도면이고, 도 3은 본 발명의 실시 예에 따라 저장된 로그 파일을 확인하는 모습을 나타내는 도면이다.1 is a diagram schematically illustrating a software testing apparatus according to an embodiment of the present invention. 2 is a diagram showing scenario data created according to an embodiment of the present invention, and FIG. 3 is a diagram showing how to check a stored log file according to an embodiment of the present invention.
도 1 내지 도 3을 참조하면, 본 발명의 실시 예에 따른 소프트웨어 시험 장치(100)는, 시험 대상 기기(T)에 설치된 소프트웨어(S)에서 실행 가능한 메시지의 형식을 정의하는 스크립트를 결정하기 위한 스크립트 결정부(110), 정의된 형식을 가지는 메시지로 상기 소프트웨어(S)를 시험할 시나리오를 결정하기 위한 시나리오 결정부(120), 상기 스크립트 및 시나리오에 따라 상기 시험 대상 기기(T)에 전송할 메시지를 생성하기 위한 메시지 생성부(130), 생성된 메시지를 시험 대상 기기(T)에 전송하기 위한 메시지 전송부(140) 및 전송된 메시지가 상기 소프트웨어(S)에서 실행된 시험 결과 데이터를 분석하기 위한 분석부(150)를 포함한다.1 to 3, the
본 발명의 실시 예에 따른 소프트웨어 시험 장치(100)는 명세 기반 테스트, 일명 블랙박스 테스트(blackbox test)를 통해 시험 대상 기기(T)에 설치된 소프트웨어(S)의 오류를 확인할 수 있다. 블랙박스 테스트는 시험 대상인 소프트웨어(S)의 프로그램 코드, 즉 소스 코드(source code)를 열어 오류를 확인하는 것이 아니라, 소프트웨어(S)에 입력되는 입력 값에 대한 예상 출력 값을 정해놓고 그대로 결과가 나오는지를 확인함으로써 소프트웨어(S)의 오류 여부를 확인한다. 이와 같은 블랙박스 테스트는 신택스(syntax) 기법, 동등 분할 기법, 경계 값 분석 기법 등을 통하여 소프트웨어(S)의 오류 여부를 확인한다.The
블랙박스 테스트를 통하여 소프트웨어(S)를 시험하기 위하여는 소프트웨어(S)에 입력되는 입력 값이 기록된 시험 메시지를 해당 소프트웨어가 설치된 시험 대상 기기(T)로 전송하고, 시험 대상 기기(T)로부터 전송된 응답 메시지에 기록된 출력 값을 확인할 필요가 있다. 그런데, 시험 대상 기기(T)에 설치된 소프트웨어(S)가 시험 메시지로부터 입력 값을 확인하기 위하여는 시험 메시지가 특정의 메시지 형식(format)을 가져야 한다. 즉, 소프트웨어(S)가 시험 메시지로부터 입력 값을 확인하기 위하여는 시험 메시지가 실행 가능한 메시지의 형식을 가져야 하며, 시험 메시지가 해당 형식을 만족하는 경우에만 소프트웨어(S)는 시험 메시지에 기록된 입력 값에 대한 출력 값을 제공할 수 있다.In order to test the software (S) through the black box test, a test message in which the input value entered into the software (S) is recorded is transmitted to the test target device (T) in which the corresponding software is installed, and from the test target device (T) It is necessary to check the output value recorded in the transmitted response message. However, in order for the software (S) installed in the device under test (T) to check the input value from the test message, the test message must have a specific message format. That is, in order for the software (S) to check the input value from the test message, the test message must have the format of an executable message, and only when the test message satisfies the corresponding format, the software (S) sends the input recorded in the test message. You can provide an output value for a value.
이에, 스크립트 결정부(110)는 시험 대상 기기(T)에 설치된 소프트웨어(S)에서 실행 가능한 시험 메시지의 형식을 정의하는 스크립트(script)를 결정한다. 여기서, 스크립트는 시험 메시지의 형식을 정의하는 메시지 규격 문서를 포함할 수 있다. 이와 같은 스크립트 결정부(110)는 소프트웨어(S)에서 실행 가능한 시험 메시지의 형식을 정의하는 스크립트를 작성하기 위한 스크립트 작성부 및 상기 스크립트 작성부에서 작성된 스크립트를 포함하는 적어도 하나의 스크립트를 저장하기 위한 스크립트 저장부를 포함할 수 있다.Accordingly, the
스크립트 작성부는 소프트웨어(S)에서 실행 가능한 시험 메시지의 형식을 정의하는 스크립트를 작성하기 위하여 제공된다. 즉, 사용자는 시험 대상 기기(T)에 설치된 소프트웨어(S)에서 실행 가능한 메시지의 형식을 먼저 확인하고, 스크립트 작성부를 통해 확인된 메시지의 형식을 정의하기 위한 스크립트를 작성할 수 있다.The script preparation unit is provided to create a script defining the format of the test message executable in the software (S). That is, the user can first check the format of the message executable in the software S installed in the device under test T, and write a script to define the format of the checked message through the script writer.
스크립트 저장부는 상기 스크립트 작성부에서 작성된 스크립트를 포함하는 적어도 하나의 스크립트를 저장한다. 즉, 스크립트 저장부에는 시험 대상 기기(T)에 설치된 소프트웨어(S)에서 실행 가능한 메시지의 형식을 정의하기 위하여 작성된 스크립트가 저장될 수 있고, 이외에도 다른 소프트웨어(S)에서 실행 가능한 메시지의 형식을 정의하기 위하여 작성된 스크립트 또한 저장될 수 있다. 여기서, 다른 소프트웨어에서 실행 가능한 메시지의 형식을 정의하기 위하여 작성된 스크립트는 다른 소프트웨어에 대하여 이전에 시험을 수행한 경우에 저장된 스크립트일 수 있다. 이와 같이, 작성된 스크립트는 XML(eXtensible Markup Language) 파일 또는 JSON(JavaScript Object Notation) 파일로 저장될 수 있다.The script storage unit stores at least one script including the script prepared by the script creation unit. That is, the script storage unit may store a script prepared to define the format of a message executable in the software (S) installed in the device under test (T), and define the format of a message executable in other software (S). Scripts prepared to do so may also be stored. Here, a script prepared to define a format of a message executable in other software may be a script saved when a test has been previously performed on other software. In this way, the prepared script may be stored as an eXtensible Markup Language (XML) file or a JavaScript Object Notation (JSON) file.
예를 들어, 사용자가 "TEST_MESSAGE_A" 메시지(도 2의 메시지명 참조)의 형식을 정의하는 경우에, 해당 스크립트는 하기와 같이 XML 파일로 저장될 수 있다.For example, when a user defines the format of a “TEST_MESSAGE_A” message (refer to the message name in FIG. 2), the corresponding script can be saved as an XML file as follows.
[스크립트-1][script-1]
[스크립트-2][script-2]
여기서, [스크립트-1]과 [스크립트-2]는 "TEST_MESSAGE_A" 메시지의 형식을 정의하기 위한 스크립트를 분할하여 나타낸 것이며, [스크립트-1]에서 <define>으로 시작하는 라인(line)부터 </define>으로 끝나는 라인은 메시지 헤더의 형식을 정의하며, [스크립트-2]에서 <define>으로 시작하는 라인(line)부터 </define>으로 끝나는 라인은 메시지 바디의 형식을 정의한다.Here, [Script-1] and [Script-2] are split scripts for defining the format of the "TEST_MESSAGE_A" message, and in [Script-1], from the line starting with <define> to </ The line ending with define> defines the format of the message header, and the lines starting with <define> in [Script-2] and ending with </define> define the format of the message body.
시나리오 결정부(120)는 스크립트 결정부(110)에서 정의되는 형식을 가지는 시험 메시지로 상기 소프트웨어(S)를 시험할 시나리오를 결정한다. 즉, 시나리오 결정부(120)는 소프트웨어(S)를 시험하기 위하여 시험 대상 기기(T)로 전송되는 시험 메시지의 전송 방식 및 전송 내용을 결정한다. 예를 들어, 시나리오 결정부(120)는 소프트웨어(S)를 시험하기 위하여 어떠한 순서로 어떠한 종류의 시험 메시지를 어떠한 내용을 기록하여 전송할 것인지를 결정한다. 이를 위하여, 시나리오 결정부(120)는 정의된 형식을 가지는 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성하기 위한 시나리오 데이터 작성부 및 상기 시나리오 데이터 작성부에서 작성된 시나리오 데이터를 포함하는 적어도 하나의 시나리오 데이터를 저장하기 위한 시나리오 데이터 저장부를 포함할 수 있다.The
시나리오 데이터 작성부는 정의된 형식을 가지는 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성하기 위하여 제공된다. 즉, 사용자는 시험 대상 기기(T)에 설치된 소프트웨어(S)에서 실행 가능한 메시지의 형식에 따라 시험 메시지의 전송 방식 및 내용을 결정하고, 시나리오 데이터 작성부를 통해 결정된 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성할 수 있다.The scenario data preparation unit is provided to create scenario data including a transmission method and contents of a message having a defined format. That is, the user determines the transmission method and content of the test message according to the format of the message executable in the software (S) installed in the test device (T), and scenario data including the transmission method and content determined through the scenario data preparation unit can be written.
시나리오 데이터 저장부는 상기 시나리오 데이터 작성부에서 작성된 시나리오 데이터를 포함하는 적어도 하나의 시나리오 데이터를 저장한다. 즉, 시나리오 데이터 저장부에는 시험 대상 기기(T)에 설치된 소프트웨어(S)의 시험을 위하여 결정된 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터가 저장될 수 있고, 이외에도 다른 소프트웨어(S)의 시험을 위하여 결정된 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터 또한 저장될 수 있다. 여기서, 다른 소프트웨어(S)의 시험을 위하여 결정된 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터는 다른 소프트웨어에 대하여 이전에 시험을 수행한 경우에 저장된 시나리오 데이터일 수 있다. 이와 같이, 작성된 시나리오 데이터는 CSV(Comma Separated Value) 파일로 저장될 수 있다.The scenario data storage unit stores at least one scenario data including the scenario data prepared by the scenario data creation unit. That is, the scenario data storage unit may store scenario data including the transmission method and contents of the message determined for the test of the software (S) installed in the device under test (T), and in addition to the test of other software (S). Scenario data including the transmission method and content of the message determined for this purpose may also be stored. Here, the scenario data including the transmission method and contents of the message determined for the test of the other software (S) may be scenario data stored when the test of the other software was previously performed. In this way, the prepared scenario data may be saved as a CSV (Comma Separated Value) file.
도 2에는 본 발명의 실시 예에 따른 소프트웨어 시험 장치(100)를 시험 대상 기기에 연결한 후, 1.1초 후에 "TEST_MESSAGE_A", "TEST_MESSAGE_B", "TEST_MESSAGE_C", "TEST_MESSAGE_D", "TEST_MESSAGE_E", "TEST_MESSAGE_F" 메시지를 동시에 전송하고, 4.1초 후에 "TEST_MESSAGE_A", "TEST_MESSAGE_B", "TEST_MESSAGE_C", "TEST_MESSAGE_D", "TEST_MESSAGE_E", "TEST_MESSAGE_F" 메시지를 동시에 전송하기 위하여 작성된 시나리오 데이터를 예시적으로 나타내었다. 각 메시지는 시나리오 데이터에 포함된 메시지 헤더 및 메시지 바디의 내용을 포함하여 설정된 전송 방식으로 시험 대상 기기(T)로 전송될 수 있다.2 shows "TEST_MESSAGE_A", "TEST_MESSAGE_B", "TEST_MESSAGE_C", "TEST_MESSAGE_D", "TEST_MESSAGE_E", and "TEST_MESSAGE_F" 1.1 seconds after the
메시지 생성부(130)는 스크립트 결정부(110)에서 결정된 스크립트 및 시나리오 결정부(120)에서 결정된 시나리오에 따라 시험 대상 기기(T)에 전송할 시험 메시지를 생성한다. 즉, 메시지 생성부(130)는 스크립트 결정부(110)에서 정의된 형식과 시나리오 결정부(120)에서 작성된 시나리오 데이터에 포함되는 내용에 따라 시험 메시지를 생성하고, 생성된 시험 메시지가 시나리오 데이터에 포함되는 전송 방식으로 시험 대상 기기(T)에 전송되도록 제어한다. 이와 같은 메시지 생성부(130)는 스크립트 저장부에 저장된 XML 파일 또는 JSON 파일과 시나리오 데이터 저장부에 저장된 CSV 파일을 로딩(loading)하여 시험 메시지를 자동으로 생성할 수 있다.The message generating unit 130 generates a test message to be transmitted to the test target device T according to the script determined by the
본 발명의 실시 예에 따른 소프트웨어 시험 장치(100)는, 시험 대상 기기(T)와의 통신 환경을 설정하기 위한 통신 환경 설정부를 더 포함할 수 있다. 통신 환경 설정부에서는 소프트웨어 시험 장치(100)의 IP(Internet Protocol) 주소와 통신 포트, 시험 대상 기기(T)의 IP 주소와 통신 포트를 설정할 수 있으며, 소프트웨어 시험 장치(100)와 시험 대상 기기(T) 사이의 통신 프로토콜을 설정할 수도 있음은 물론이다. 한편, 메시지 전송부(140)는 생성된 시험 메시지를 통신 환경 설정부에서 설정된 통신 환경에서 시험 대상 기기(T)로 전송한다.The
분석부(150)는 시험 대상 기기(T)로 전송된 시험 메시지가 상기 소프트웨어(S)에서 실행된 시험 결과 데이터를 분석한다. 분석부(150)는 시험 대상 기기(T)에 설치된 소프트웨어(S)가 시험 메시지에 기록된 입력 값에 대하여 출력하는 출력 값을 포함하는 시험 결과 데이터를 분석한다. 여기서, 분석부(150)는 문법을 정해놓고 적합한 입력 값 또는 부적합한 입력 값에 따른 예상 출력 값이 제대로 나오는지 시험하거나, 입력 값이 가질 수 있는 복수의 영역에 대한 예상 출력 값을 미리 정해놓고, 입력 값이 속하는 각 영역에서 임의의 값을 입력 값으로 사용하여 실제 결과가 예상 출력 값과 같은지 확인하거나, 각 영역의 경계에 있는 값을 입력 값으로 사용하여 실제 결과가 예상 출력 값과 같은지 확인하여 시험 대상 기기(T)에 설치된 소프트웨어(S)의 오류 여부를 확인할 수 있다. 이와 같은 출력 값이 포함된 시험 결과 데이터는 시험 대상 기기(T)로부터 소프트웨어 시험 장치(100)로 전송되는 응답 메시지에 포함될 수 있으며, 응답 메시지에 포함된 시험 결과 데이터는 소프트웨어 시험 장치(100)에서 로그 파일로 저장되어 분석될 수 있다.The
한편, 본 발명의 실시 예에 따른 소프트웨어 시험 장치(100)는, 시험 결과 데이터를 전시하기 위한 전시부를 더 포함할 수 있다. 도 3에 도시된 바와 같이 전시부를 통해 사용자는 소프트웨어 시험 장치(100)에 저장된 로그 파일을 확인할 수 있으며, 전시부는 시험 결과 데이터 이외에도 스크립트 저장부에 저장된 복수의 스크립트 및 시나리오 데이터에 저장된 복수의 시나리오 데이터를 사용자가 확인하고, 원하는 스크립트 및 시나리오 데이터를 선택하기 위한 화면을 제공할 수도 있음은 물론이다.Meanwhile, the
이하에서는, 본 발명의 실시 예에 따른 소프트웨어 시험 방법을 설명한다. 본 발명의 실시 예에 따른 소프트웨어 시험 방법은 소프트웨어 시험 장치를 사용하여 시험 대상 기기에 설치된 소프트웨어를 시험하는 방법일 수 있으며, 이에 소프트웨어 시험 장치와 관련하여 전술한 내용이 그대로 적용될 수 있으므로 중복되는 내용의 설명은 생략하기로 한다.Hereinafter, a software test method according to an embodiment of the present invention will be described. The software test method according to an embodiment of the present invention may be a method of testing software installed in a test target device using a software test device, and the above information in relation to the software test device may be applied as it is. Description is omitted.
도 4는 본 발명의 실시 예에 따른 소프트웨어 시험 방법을 개략적으로 나타내는 도면이다.4 is a diagram schematically illustrating a software testing method according to an embodiment of the present invention.
도 4를 참조하면, 본 발명의 일 실시 예에 따른 소프트웨어 시험 방법은, 시험 대상 기기(T)에 설치된 소프트웨어(S)의 오류를 확인하기 위한 소프트웨어 시험 방법으로서, 상기 소프트웨어(S)에서 실행 가능한 메시지의 형식을 정의하기 위한 스크립트를 생성하는 과정(S100), 정의된 형식을 가지는 메시지로 상기 소프트웨어(S)를 시험할 시나리오를 생성하는 과정(S300), 상기 스크립트 및 시나리오에 따라 메시지를 생성하여 상기 시험 대상 기기(T)에 전송하는 과정(S500) 및 전송된 메시지가 상기 소프트웨어(S)에서 실행된 시험 결과 데이터를 분석하여 상기 소프트웨어(S)의 오류를 확인하는 과정(S600)을 포함한다.Referring to FIG. 4 , a software test method according to an embodiment of the present invention is a software test method for checking errors in software (S) installed in a device (T) under test, which can be executed in the software (S). The process of generating a script to define the format of the message (S100), the process of generating a scenario to test the software (S) with a message having a defined format (S300), generating a message according to the script and scenario The process of transmitting the transmitted message to the test target device (T) (S500) and the process of analyzing the test result data executed in the software (S) and checking the error of the software (S) (S600). .
여기서, 본 발명의 일 실시 예에 따른 소프트웨어 시험 방법은 해당 소프트웨어(S)에서 실행 가능한 시험 메시지의 형식을 정의하기 위한 스크립트 및 정의된 형식을 가지는 메시지로 해당 소프트웨어(S)를 시험할 시나리오가 미리 마련되지 않은 경우에 수행될 수 있다.Here, the software test method according to an embodiment of the present invention includes a script for defining the format of a test message executable in the software (S) and a scenario to test the software (S) in advance with a message having a defined format. It can be done if not prepared.
한편, 본 발명의 다른 실시 예에 따른 소프트웨어 시험 방법은, 시험 대상 기기(T)에 설치된 소프트웨어(S)의 오류를 확인하기 위한 소프트웨어 시험 방법으로서, 상기 소프트웨어(S)에서 실행 가능한 메시지의 형식을 정의하기 위한 스크립트를 선택하는 과정(S200), 정의된 형식을 가지는 메시지로 상기 소프트웨어(S)를 시험할 시나리오를 선택하는 과정(S400), 상기 스크립트 및 시나리오에 따라 메시지를 생성하여 상기 시험 대상 기기(T)에 전송하는 과정(S500) 및 전송된 메시지가 상기 소프트웨어(S)에서 실행된 시험 결과 데이터를 분석하여 상기 소프트웨어(S)의 오류를 확인하는 과정(S600)을 포함할 수 있다.On the other hand, a software test method according to another embodiment of the present invention is a software test method for checking errors in software (S) installed in a device under test (T), and a format of a message executable in the software (S) is used. A process of selecting a script to define (S200), a process of selecting a scenario to test the software (S) with a message having a defined format (S400), a message is generated according to the script and the scenario, and the device under test (T) may include a process of transmitting (S500) and a process of checking errors in the software (S) by analyzing test result data in which the transmitted message is executed in the software (S) (S600).
여기서, 본 발명의 다른 실시 예에 따른 소프트웨어 시험 방법은 해당 소프트웨어(S)에서 실행 가능한 시험 메시지의 형식을 정의하기 위한 스크립트 및 정의된 형식을 가지는 메시지로 해당 소프트웨어(S)를 시험할 시나리오가 미리 마련되어 저장된 경우에 수행될 수 있다. 그러나, 스크립트 및 시나리오가 미리 마련되지 않은 경우에도, 스크립트 및 시나리오를 생성하여 저장한 후, 저장된 스크립트 및 시나리오 중 해당 소프트웨어(S)의 시험을 위한 스크립트 및 시나리오를 선택하여 소프트웨어(S)의 시험을 수행할 수 있으므로, 이하에서는 이와 같이 스크립트 및 시나리오를 생성, 저장 및 선택하여 소프트웨어(S)의 시험을 수행하는 방법을 예로 들어 통합적으로 설명하기로 한다.Here, in the software test method according to another embodiment of the present invention, a script for defining the format of a test message executable in the corresponding software (S) and a scenario for testing the corresponding software (S) with a message having a defined format are provided in advance. It can be performed when prepared and stored. However, even if the scripts and scenarios are not prepared in advance, after creating and saving the scripts and scenarios, the software (S) is tested by selecting the scripts and scenarios for the test of the software (S) among the saved scripts and scenarios. Since it can be performed, hereinafter, a method of generating, saving, and selecting scripts and scenarios to perform a test of the software (S) will be described as an example in an integrated manner.
스크립트를 생성하는 과정(S100)은 소프트웨어(S)에서 실행 가능한 메시지의 형식을 정의하기 위한 스크립트를 생성한다. 여기서, 스크립트를 생성하는 과정(S100)은, 상기 소프트웨어(S)에서 실행 가능한 메시지의 형식을 확인하는 과정, 확인된 메시지의 형식을 정의하기 위한 스크립트를 작성하는 과정 및 작성된 스크립트를 저장하는 과정을 포함할 수 있다.The process of creating a script (S100) creates a script for defining a format of a message executable in the software (S). Here, the process of generating the script (S100) includes the process of checking the format of the message executable in the software (S), the process of creating a script to define the format of the confirmed message, and the process of storing the created script. can include
메시지의 형식을 확인하는 과정에서는 사용자가 시험 대상 기기(T)에 설치된 소프트웨어(S)에서 실행 가능한 메시지의 형식을 먼저 확인한다. 해당 소프트웨어(S)에서 실행 가능한 메시지의 형식이 확인되면, 스크립트를 작성하는 과정에서 사용자가 확인된 메시지의 형식을 정의하기 위한 스크립트를 작성한다. 작성된 스크립트는 스크립트 저장부에 저장되며, 스크립트 저장부에는 이외에도 다른 소프트웨어(S)에서 실행 가능한 메시지의 형식을 정의하기 위하여 작성된 스크립트 또한 저장될 수 있음은 전술한 바와 같다. 이와 같이, 작성된 스크립트는 XML 파일 또는 JSON 파일로 저장될 수 있다.In the process of checking the format of the message, the user first checks the format of the message executable in the software (S) installed on the device under test (T). When the format of the message executable in the corresponding software (S) is confirmed, the user creates a script to define the format of the confirmed message in the process of preparing the script. The prepared script is stored in the script storage unit, and the script prepared to define the format of the message executable in other software (S) may also be stored in the script storage unit as described above. In this way, the prepared script may be saved as an XML file or JSON file.
스크립트를 선택하는 과정(S200)은 소프트웨어(S)에서 실행 가능한 메시지의 형식을 선택한다. 전술한 바와 같이 스크립트 저장부에는 시험 대상 기기(T)에 설치된 소프트웨어(S)에서 실행 가능한 메시지의 형식을 정의하기 위하여 작성된 스크립트가 파일로 저장될 수 있고, 이외에도 다른 소프트웨어(S)에서 실행 가능한 메시지의 형식을 정의하기 위하여 작성된 스크립트 또한 파일로 저장될 수 있다. 따라서, 사용자는 서로 다른 스크립트가 저장된 복수의 파일 중에서 시험 대상 기기(T)에 설치된 소프트웨어(S)에서 실행 가능한 시험 메시지의 형식을 정의하는 스크립트가 저장된 파일을 선택할 수 있다. 이와 같이 스크립트를 선택하는 과정은 서로 다른 스크립트가 저장된 복수의 파일을 전시부를 통해 디스플레이하고, 사용자가 그 중 원하는 스크립트가 저장된 파일을 선택하여 수행할 수 있다.In the process of selecting a script (S200), a format of a message executable in the software (S) is selected. As described above, in the script storage unit, a script prepared to define a format of a message executable in the software (S) installed in the device under test (T) may be stored as a file, and in addition, a message executable in other software (S) may be stored. The script written to define the format of can also be saved as a file. Accordingly, the user may select a file in which a script defining a format of a test message executable in the software S installed in the test target device T is stored among a plurality of files in which different scripts are stored. In this way, the process of selecting a script can be performed by displaying a plurality of files in which different scripts are stored through the display unit, and selecting a file in which a desired script is stored among them.
시나리오를 생성하는 과정(S300)은 스크립트에 의하여 정의된 형식을 가지는 메시지로 소프트웨어(S)를 시험할 시나리오를 생성한다. 여기서, 시나리오를 생성하는 과정(S300)은 정의된 형식을 가지는 메시지의 전송 방식 및 내용을 결정하는 과정, 결정된 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성하는 과정 및 작성된 시나리오 데이터를 저장하는 과정을 포함할 수 있다.The process of creating a scenario (S300) creates a scenario to test the software (S) with a message having a format defined by the script. Here, the process of creating a scenario (S300) includes the process of determining the transmission method and contents of a message having a defined format, the process of creating scenario data including the determined transmission method and contents, and the process of storing the created scenario data. can include
메시지의 전송 방식 및 내용을 결정하는 과정에서는 사용자가 소프트웨어(S)를 시험하기 위하여 어떠한 순서로 어떠한 종류의 시험 메시지를 어떠한 내용을 기록하여 전송할 것인지를 결정한다. 해당 소프트웨어(S)를 시험하기 위한 메시지의 전송 방식 및 내용이 결정되면, 사용자는 결정된 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성한다. 작성된 시나리오 데이터는 시나리오 데이터 저장부에 저장되며, 시나리오 데이터 저장부에는 이외에도 다른 소프트웨어(S)의 시험을 위하여 결정된 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터 또한 저장될 수 있음은 전술한 바와 같다. 이와 같이 작성된 시나리오 데이터는 CSV 파일로 저장될 수 있다.In the process of determining the transmission method and contents of the message, the user decides in what order and what kind of test message to record and transmit in order to test the software (S). When the transmission method and contents of the message for testing the corresponding software (S) are determined, the user creates scenario data including the transmission method and contents of the determined message. As described above, the prepared scenario data is stored in the scenario data storage unit, and scenario data including transmission methods and contents of messages determined for testing other software (S) may also be stored in the scenario data storage unit. Scenario data created in this way may be saved as a CSV file.
시나리오를 선택하는 과정(S400)은 정의된 형식을 가지는 메시지로 상기 소프트웨어(S)를 시험할 시나리오를 선택한다. 전술한 바와 같이, 시나리오 데이터 저장부에는 시험 대상 기기(T)에 설치된 소프트웨어(S)의 시험을 위하여 결정된 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터가 파일로 저장될 수 있고, 이외에도 다른 소프트웨어(S)의 시험을 위하여 결정된 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터 또한 파일로 저장될 수 있다. 따라서, 사용자는 서로 다른 시나리오 데이터가 저장된 복수의 파일 중에서 시험 대상 기기(T)에 설치된 소프트웨어(S)를 시험할 시나리오 데이터가 저장된 파일을 선택할 수 있다. 이와 같이 시나리오 데이터를 선택하는 과정은 서로 다른 시나리오 데이터가 저장된 복수의 파일을 전시부를 통해 디스플레이하고, 사용자가 그 중 원하는 시나리오 데이터가 저장된 파일을 선택하여 수행할 수 있다.The process of selecting a scenario (S400) selects a scenario to test the software (S) with a message having a defined format. As described above, in the scenario data storage unit, scenario data including the transmission method and contents of the message determined for the test of the software (S) installed in the device under test (T) may be stored as a file, and other software ( Scenario data including the transmission method and content of the message determined for the test of S) can also be saved as a file. Accordingly, the user may select a file in which scenario data for testing the software (S) installed in the test target device (T) is stored among a plurality of files in which different scenario data are stored. In this way, the process of selecting scenario data can be performed by displaying a plurality of files in which different scenario data are stored through the display unit, and the user selects a file in which desired scenario data is stored.
시험 대상 기기(T)에 전송하는 과정(S500)은, 생성 또는 선택된 스크립트 및 시나리오에 따라 시험 메시지를 생성하고, 생성된 시험 메시지를 시험 대상 기기(T)로 전송한다. 여기서, 본 발명의 실시 예에 따른 소프트웨어 시험 방법은 생성된 시험 메시지를 시험 대상 기기(T)로 전송하기 전에, 시험 대상 기기(T)로 시험 메시지를 전송하기 위한 통신 환경을 설정하는 과정을 더 포함할 수 있다. 통신 환경을 설정하는 과정에서는 소프트웨어 시험 장치(100)의 IP(Internet Protocol) 주소와 통신 포트, 시험 대상 기기(T)의 IP 주소와 통신 포트를 설정할 수 있으며, 소프트웨어 시험 장치(100)와 시험 대상 기기(T) 사이의 통신 프로토콜을 설정할 수도 있음은 물론이다. 한편, 시험 대상 기기(T)에 전송하는 과정(S500)은 시험 메시지를 통신 환경을 설정하는 과정에서 설정된 통신 환경 하에서 시험 대상 기기(T)로 전송한다.In the process of transmitting to the test target device T (S500), a test message is generated according to the created or selected script and scenario, and the generated test message is transmitted to the test target device T. Here, in the software test method according to an embodiment of the present invention, prior to transmitting the generated test message to the device under test T, the process of setting a communication environment for transmitting the test message to the device under test T is further performed. can include In the process of setting the communication environment, the IP (Internet Protocol) address and communication port of the
소프트웨어(S)의 오류를 확인하는 과정(S600)은 시험 대상 기기(T)로 전송된 시험 메시지가 상기 소프트웨어(S)에서 실행된 시험 결과 데이터를 분석한다. 소프트웨어(S)의 오류를 확인하는 과정(S600)은 시험 대상 기기(T)에 설치된 소프트웨어(S)가 시험 메시지에 기록된 입력 값에 대하여 출력하는 출력 값을 포함하는 시험 결과 데이터를 분석한다. 여기서, 소프트웨어(S)의 오류를 확인하는 과정(S600)은 문법을 정해놓고 적합한 입력 값 또는 부적합한 입력 값에 따른 예상 출력 값이 제대로 나오는지 시험하거나, 입력 값이 가질 수 있는 복수의 영역에 대한 예상 출력 값을 미리 정해놓고, 입력 값이 속하는 각 영역에서 임의의 값을 입력 값으로 사용하여 실제 결과가 예상 출력 값과 같은지 확인하거나, 각 영역의 경계에 있는 값을 입력 값으로 사용하여 실제 결과가 예상 출력 값과 같은지 확인하여 시험 대상 기기(T)에 설치된 소프트웨어(S)의 오류 여부를 확인할 수 있다.In the process of checking the error of the software (S) (S600), the test message transmitted to the test target device (T) analyzes the test result data executed by the software (S). In the process of checking the error of the software S (S600), test result data including an output value output by the software S installed in the test target device T with respect to the input value recorded in the test message is analyzed. Here, the process of checking the error of the software (S) (S600) is to test whether the expected output value according to the proper input value or the inappropriate input value comes out properly after determining the grammar, or to predict a plurality of areas that the input value can have. After pre-determining the output value, use a random value as an input value in each area to which the input value belongs to check whether the actual result is the same as the expected output value, or use the value at the boundary of each area as an input value so that the actual result is It is possible to check whether the software (S) installed in the device under test (T) has an error by checking whether it is the same as the expected output value.
소프트웨어(S)의 오류를 확인하는 과정(S600)은 전송된 시험 메시지가 해당 소프트웨어(S)에서 실행된 시험 결과 데이터를 로그 파일로 저장하는 과정 및 저장된 로그 파일을 분석하여 상기 소프트웨어(S)의 오류 여부를 확인하는 과정을 포함할 수 있다. 즉, 전술한 출력 값이 포함된 시험 결과 데이터는 시험 대상 기기(T)로부터 소프트웨어 시험 장치(100)로 전송되는 응답 메시지에 포함될 수 있으며, 응답 메시지에 포함된 시험 결과 데이터는 소프트웨어 시험 장치(100)에서 로그 파일로 저장 및 분석되어 출력 값이 예상 출력 값과 같은 경우 소프트웨어(S)에 오류가 없는 것으로 판단하고, 출력 값이 예상 출력 값과 다른 경우 소프트웨어(S)에 오류가 있는 것으로 판단할 수 있다.The process of checking the error of the software (S) (S600) is the process of saving the transmitted test message and the test result data executed in the corresponding software (S) as a log file and analyzing the stored log file to determine the quality of the software (S). It may include a process of checking for errors. That is, the test result data including the above-described output value may be included in a response message transmitted from the device under test T to the
이와 같이, 본 발명의 실시 예에 따르면, 소프트웨어에서 실행 가능한 메시지의 형식만을 스크립트로 정의하고, 정의된 형식을 가지는 메시지로 소프트웨어를 시험할 시나리오를 결정하여 메시지를 생성 및 전송함으로써, 최소화된 시간 및 비용으로 다양한 소프트웨어의 오류를 확인할 수 있다.In this way, according to an embodiment of the present invention, by defining only the format of a message executable in software as a script, determining a scenario to test the software with a message having a defined format, and generating and transmitting the message, the time and You can check for errors in various software at a cost.
상기에서, 본 발명의 바람직한 실시 예가 특정 용어들을 사용하여 설명 및 도시되었지만 그러한 용어는 오로지 본 발명을 명확하게 설명하기 위한 것일 뿐이며, 본 발명의 실시 예 및 기술된 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러 가지 변경 및 변화가 가해질 수 있는 것은 자명한 일이다. 이와 같이 변형된 실시 예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안 되며, 본 발명의 청구범위 안에 속한다고 해야 할 것이다.In the above, although preferred embodiments of the present invention have been described and illustrated using specific terms, such terms are only intended to clearly explain the present invention, and the embodiments and described terms of the present invention are the technical spirit of the following claims. And it is obvious that various changes and changes can be made without departing from the scope. Such modified embodiments should not be individually understood from the spirit and scope of the present invention, and should be said to fall within the scope of the claims of the present invention.
110: 스크립트 결정부
120: 시나리오 결정부
130: 메시지 생성부
140: 메시지 전송부
150: 분석부110: script decision unit 120: scenario decision unit
130: message generation unit 140: message transmission unit
150: analysis unit
Claims (15)
정의된 형식을 가지는 메시지로 상기 소프트웨어를 시험할 시나리오를 결정하기 위한 시나리오 결정부;
상기 스크립트 및 시나리오에 따라 상기 시험 대상 기기에 전송할 메시지를 생성하기 위한 메시지 생성부;
생성된 메시지를 시험 대상 기기에 전송하기 위한 메시지 전송부; 및
전송된 메시지가 상기 소프트웨어에서 실행된 시험 결과 데이터를 분석하기 위한 분석부;를 포함하는 소프트웨어 시험 장치.a script determining unit for determining a script defining a format of a message executable in software installed in a device under test;
a scenario determining unit for determining a scenario to test the software with a message having a defined format;
a message generator for generating a message to be transmitted to the device under test according to the script and scenario;
a message transmission unit for transmitting the generated message to the device under test; and
A software test apparatus comprising: an analyzer configured to analyze test result data in which the transmitted message is executed in the software.
상기 스크립트 결정부는,
상기 소프트웨어에서 실행 가능한 메시지의 형식을 정의하는 스크립트를 작성하기 위한 스크립트 작성부; 및
상기 스크립트 작성부에서 작성된 스크립트를 포함하는 적어도 하나의 스크립트를 저장하기 위한 스크립트 저장부;를 포함하는 소프트웨어 시험 장치.The method of claim 1,
The script determining unit,
a script writing unit for creating a script defining a format of a message executable in the software; and
A software test apparatus comprising a; script storage unit for storing at least one script including the script created by the script creation unit.
상기 시나리오 결정부는,
정의된 형식을 가지는 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성하기 위한 시나리오 데이터 작성부; 및
상기 시나리오 데이터 작성부에서 작성된 시나리오 데이터를 포함하는 적어도 하나의 시나리오 데이터를 저장하기 위한 시나리오 데이터 저장부;를 포함하는 소프트웨어 시험 장치.The method of claim 1,
The scenario decision unit,
a scenario data creation unit for creating scenario data including a transmission method and content of a message having a defined format; and
A software test apparatus comprising: a scenario data storage unit configured to store at least one scenario data including the scenario data prepared by the scenario data creation unit.
상기 시험 대상 기기와의 통신 환경을 설정하기 위한 통신 환경 설정부;를 더 포함하는 소프트웨어 시험 장치.In any one of claims 1 to 3,
A software test apparatus further comprising a communication environment setting unit for setting a communication environment with the device under test.
상기 시험 결과 데이터를 전시하기 위한 전시부;를 더 포함하는 소프트웨어 시험 장치.In any one of claims 1 to 3,
A software test apparatus further comprising a display unit for displaying the test result data.
상기 소프트웨어에서 실행 가능한 메시지의 형식을 정의하기 위한 스크립트를 생성하는 과정;
정의된 형식을 가지는 메시지로 상기 소프트웨어를 시험할 시나리오를 생성하는 과정;
상기 스크립트 및 시나리오에 따라 메시지를 생성하여 상기 시험 대상 기기에 전송하는 과정; 및
전송된 메시지가 상기 소프트웨어에서 실행된 시험 결과 데이터를 분석하여 상기 소프트웨어의 오류를 확인하는 과정;을 포함하는 소프트웨어 시험 방법.As a software test method for checking errors in software installed on a device under test,
generating a script for defining a format of a message executable in the software;
generating a scenario to test the software with a message having a defined format;
generating a message according to the script and scenario and transmitting the message to the device under test; and
A software test method comprising: analyzing test result data of a transmitted message executed in the software to confirm an error in the software.
상기 스크립트를 생성하는 과정은,
상기 소프트웨어에서 실행 가능한 메시지의 형식을 확인하는 과정;
확인된 메시지의 형식을 정의하기 위한 스크립트를 작성하는 과정; 및
작성된 스크립트를 저장하는 과정;을 포함하는 소프트웨어 시험 방법.The method of claim 6,
The process of creating the script is,
checking a format of a message executable by the software;
The process of writing a script to define the format of acknowledged messages; and
A process of saving the written script; software test method including.
상기 작성된 스크립트를 저장하는 과정은,
작성된 스크립트를 XML(eXtensible Markup Language) 파일 또는 JSON(JavaScript Object Notation) 파일로 저장하는 소프트웨어 시험 방법.The method of claim 7,
The process of saving the written script,
A software test method that saves written scripts as XML (eXtensible Markup Language) files or JSON (JavaScript Object Notation) files.
상기 시나리오를 생성하는 과정은,
정의된 형식을 가지는 메시지의 전송 방식 및 내용을 결정하는 과정;
결정된 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성하는 과정; 및
작성된 시나리오 데이터를 저장하는 과정;을 포함하는 소프트웨어 시험 방법.The method of claim 6,
The process of generating the scenario is,
The process of determining the transmission method and content of a message having a defined format;
Creating scenario data including the determined transmission method and content; and
A software test method comprising: saving written scenario data.
상기 작성된 시나리오 데이터를 저장하는 과정은,
작성된 시나리오 데이터를 CSV(Comma Separated Value) 파일로 저장하는 소프트웨어 시험 방법.The method of claim 9,
The process of storing the prepared scenario data,
A software test method that saves written scenario data as a CSV (Comma Separated Value) file.
상기 소프트웨어에서 실행 가능한 메시지의 형식을 정의하기 위한 스크립트를 선택하는 과정;
정의된 형식을 가지는 메시지로 상기 소프트웨어를 시험할 시나리오를 선택하는 과정;
상기 스크립트 및 시나리오에 따라 메시지를 생성하여 상기 시험 대상 기기에 전송하는 과정; 및
전송된 메시지가 상기 소프트웨어에서 실행된 시험 결과 데이터를 분석하여 상기 소프트웨어의 오류를 확인하는 과정;을 포함하는 소프트웨어 시험 방법.As a software test method for checking errors in software installed on a device under test,
selecting a script for defining a format of a message executable in the software;
selecting a scenario to test the software with a message having a defined format;
generating a message according to the script and scenario and transmitting the message to the device under test; and
A software test method comprising: analyzing test result data of a transmitted message executed in the software to confirm an error in the software.
상기 스크립트를 선택하는 과정은,
서로 다른 스크립트가 저장된 복수의 파일 중에서 상기 소프트웨어에서 실행 가능한 메시지의 형식을 정의하는 스크립트가 저장된 파일을 선택하는 소프트웨어 시험 방법.The method of claim 11,
The process of selecting the script,
A software test method of selecting a file in which a script that defines a format of a message executable in the software is stored among a plurality of files in which different scripts are stored.
상기 시나리오를 선택하는 과정은,
서로 다른 시나리오 데이터가 저장된 복수의 파일 중에서 상기 소프트웨어를 시험할 시나리오 데이터가 저장된 파일을 선택하는 소프트웨어 시험 방법.The method of claim 11,
The process of selecting the scenario is,
A software testing method of selecting a file storing scenario data to test the software from among a plurality of files storing different scenario data.
상기 시험 대상 기기에 전송하는 과정 전에,
상기 시험 대상 기기로 메시지를 전송하기 위한 통신 환경을 설정하는 과정;을 더 포함하는 소프트웨어 시험 방법.The method according to any one of claims 6 to 13,
Before the process of transmitting to the device under test,
The software test method further comprising setting a communication environment for transmitting a message to the device under test.
상기 소프트웨어의 오류를 확인하는 과정은,
전송된 메시지가 상기 소프트웨어에서 실행된 시험 결과 데이터를 로그 파일로 저장하는 과정; 및
저장된 로그 파일을 분석하여 상기 소프트웨어의 오류 여부를 확인하는 과정;을 포함하는 소프트웨어 시험 방법.The method according to any one of claims 6 to 13,
The process of checking the error of the software,
saving the transmitted message and test result data executed in the software as a log file; and
A software test method comprising: analyzing stored log files to determine whether or not the software has errors.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220010734A KR102598881B1 (en) | 2022-01-25 | 2022-01-25 | Apparatus and method for testing software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220010734A KR102598881B1 (en) | 2022-01-25 | 2022-01-25 | Apparatus and method for testing software |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230114499A true KR20230114499A (en) | 2023-08-01 |
KR102598881B1 KR102598881B1 (en) | 2023-11-06 |
Family
ID=87561922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220010734A KR102598881B1 (en) | 2022-01-25 | 2022-01-25 | Apparatus and method for testing software |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102598881B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007026306A (en) * | 2005-07-20 | 2007-02-01 | Nec Corp | Program test device and method, and program |
US20180052764A1 (en) * | 2016-08-16 | 2018-02-22 | American Express Travel Related Services Company, Inc. | Systems and methods for software testing and test management |
KR102021466B1 (en) | 2019-02-13 | 2019-09-16 | 국방과학연구소 | Method and apparatus for configuring test environment of tactical data link software and computer readible storage medium therefor |
KR102024275B1 (en) * | 2019-06-10 | 2019-09-23 | 한화시스템(주) | Test program development system and its method using script |
-
2022
- 2022-01-25 KR KR1020220010734A patent/KR102598881B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007026306A (en) * | 2005-07-20 | 2007-02-01 | Nec Corp | Program test device and method, and program |
US20180052764A1 (en) * | 2016-08-16 | 2018-02-22 | American Express Travel Related Services Company, Inc. | Systems and methods for software testing and test management |
KR102021466B1 (en) | 2019-02-13 | 2019-09-16 | 국방과학연구소 | Method and apparatus for configuring test environment of tactical data link software and computer readible storage medium therefor |
KR102024275B1 (en) * | 2019-06-10 | 2019-09-23 | 한화시스템(주) | Test program development system and its method using script |
Also Published As
Publication number | Publication date |
---|---|
KR102598881B1 (en) | 2023-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10872034B2 (en) | Method, device and computer program product for executing test cases | |
CN111651366B (en) | SDK test method, device, equipment and storage medium | |
US8601436B2 (en) | Simulation-based interface testing automation system and method for robot software components | |
US8296736B2 (en) | Automated business process testing that spans multiple platforms or applications | |
US20060265475A9 (en) | Testing web services as components | |
US11245601B2 (en) | Automated integrated test system and method thereof | |
CN107608873B (en) | Software testing method and system and testing platform | |
CN111917603A (en) | Client test method and device, computer equipment and storage medium | |
CN113742215B (en) | Method and system for automatically configuring and calling test tool to perform test analysis | |
US20140317450A1 (en) | Pretest setup planning | |
Barbosa et al. | Verification and validation of (real time) COTS products using fault injection techniques | |
Ateşoğulları et al. | White Box Test Tools: A Comparative View | |
CN112905460A (en) | Device and method for simulating three-party receipt by automatic interface test | |
KR102598881B1 (en) | Apparatus and method for testing software | |
CN112511386B (en) | Vehicle-mounted Ethernet test method and system based on robotframe and Ethernet test equipment | |
CN113986263A (en) | Code automation test method, device, electronic equipment and storage medium | |
CN115878448A (en) | Database test method, distributed database and storage medium | |
CN112035300A (en) | Server BMC automatic test system, method, storage medium and electronic device | |
CN113094281B (en) | Test method and device for hybrid App | |
KR101038877B1 (en) | Testing procedure | |
KR100621576B1 (en) | System and method for testing an embedded system software | |
KR20100062233A (en) | Test automation system and method | |
CN116991720A (en) | Method, device, computer equipment and storage medium for obtaining response message | |
CN113946504A (en) | Automatic test method and system based on service and data | |
CN117971656A (en) | SOA service testing method, device, equipment and readable storage medium |
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 |