KR20230114499A - Apparatus and method for testing software - Google Patents

Apparatus and method for testing software Download PDF

Info

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
Application number
KR1020220010734A
Other languages
Korean (ko)
Other versions
KR102598881B1 (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 KR1020220010734A priority Critical patent/KR102598881B1/en
Publication of KR20230114499A publication Critical patent/KR20230114499A/en
Application granted granted Critical
Publication of KR102598881B1 publication Critical patent/KR102598881B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • 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

소프트웨어 시험 장치 및 방법{APPARATUS AND METHOD FOR TESTING SOFTWARE}Software testing apparatus and method {APPARATUS AND METHOD FOR TESTING SOFTWARE}

본 발명은 소프트웨어 시험 장치 및 방법에 관한 것으로서, 보다 상세하게는 시험 대상 기기에 설치된 소프트웨어의 오류를 확인하기 위한 소프트웨어 시험 장치 및 방법에 관한 것이다.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.

KRKR 10-2021466 10-2021466 B1B1

본 발명은 특정 소프트웨어의 시험에 종속되지 않고, 범용적인 소프트웨어의 시험을 수행할 수 있는 소프트웨어 시험 장치 및 방법을 제공한다.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 software testing apparatus 100 according to an embodiment of the present invention is for determining a script defining a format of a message executable in software S installed in a device under test T. Script determining unit 110, a scenario determining unit 120 for determining a scenario to test the software S with a message having a defined format, and a message to be transmitted to the test target device T according to the script and the scenario A message generating unit 130 for generating a message, a message transmitting unit 140 for transmitting the generated message to the device under test (T), and the transmitted message analyzing the test result data executed by the software (S). It includes an analysis unit 150 for

본 발명의 실시 예에 따른 소프트웨어 시험 장치(100)는 명세 기반 테스트, 일명 블랙박스 테스트(blackbox test)를 통해 시험 대상 기기(T)에 설치된 소프트웨어(S)의 오류를 확인할 수 있다. 블랙박스 테스트는 시험 대상인 소프트웨어(S)의 프로그램 코드, 즉 소스 코드(source code)를 열어 오류를 확인하는 것이 아니라, 소프트웨어(S)에 입력되는 입력 값에 대한 예상 출력 값을 정해놓고 그대로 결과가 나오는지를 확인함으로써 소프트웨어(S)의 오류 여부를 확인한다. 이와 같은 블랙박스 테스트는 신택스(syntax) 기법, 동등 분할 기법, 경계 값 분석 기법 등을 통하여 소프트웨어(S)의 오류 여부를 확인한다.The software testing apparatus 100 according to an embodiment of the present invention may check an error in the software S installed in the device under test T through a specification-based test, a so-called black box test. The black box test does not open the program code of the software (S) to be tested, that is, the source code, to check for errors, but sets the expected output value for the input value to the software (S) and returns the result as it is. By checking whether or not there is an error in the software (S), it is confirmed. Such a black box test checks whether or not the software S has an error through a syntax technique, an equal division technique, a boundary value analysis technique, and the like.

블랙박스 테스트를 통하여 소프트웨어(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 script determining unit 110 determines a script defining a format of a test message executable in the software S installed in the test target device T. Here, the script may include a message specification document defining the format of the test message. The script determining unit 110 is configured to store at least one script including a script creating unit for creating a script defining a format of a test message executable in the software S and a script created by the script creating unit. A script storage unit may be included.

스크립트 작성부는 소프트웨어(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 scenario determining unit 120 determines a scenario to test the software S with a test message having a format defined by the script determining unit 110 . That is, the scenario determining unit 120 determines the transmission method and contents of the test message transmitted to the test target device T in order to test the software S. For example, the scenario determining unit 120 determines in what order and what kind of test message contents to be recorded and transmitted in order to test the software (S). To this end, the scenario determination unit 120 includes a scenario data creation unit for creating scenario data including a transmission method and contents of a message having a defined format, and at least one scenario data including the scenario data created by the scenario data creation unit. A scenario data storage unit for storing scenario data may be included.

시나리오 데이터 작성부는 정의된 형식을 가지는 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성하기 위하여 제공된다. 즉, 사용자는 시험 대상 기기(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 software testing device 100 according to an embodiment of the present invention is connected to the device under test. " messages simultaneously, and after 4.1 seconds, "TEST_MESSAGE_A", "TEST_MESSAGE_B", "TEST_MESSAGE_C", "TEST_MESSAGE_D", "TEST_MESSAGE_E", and "TEST_MESSAGE_F" messages are simultaneously transmitted. Each message may be transmitted to the device under test (T) in a set transmission method including the content of the message header and message body included in the scenario data.

메시지 생성부(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 script determining unit 110 and the scenario determined by the scenario determining unit 120 . That is, the message generating unit 130 generates a test message according to the format defined by the script determining unit 110 and the content included in the scenario data created by the scenario determining unit 120, and the generated test message is included in the scenario data. It is controlled to be transmitted to the device under test (T) by the included transmission method. The message generator 130 may automatically generate a test message by loading an XML file or JSON file stored in the script storage unit and a CSV file stored in the scenario data storage unit.

본 발명의 실시 예에 따른 소프트웨어 시험 장치(100)는, 시험 대상 기기(T)와의 통신 환경을 설정하기 위한 통신 환경 설정부를 더 포함할 수 있다. 통신 환경 설정부에서는 소프트웨어 시험 장치(100)의 IP(Internet Protocol) 주소와 통신 포트, 시험 대상 기기(T)의 IP 주소와 통신 포트를 설정할 수 있으며, 소프트웨어 시험 장치(100)와 시험 대상 기기(T) 사이의 통신 프로토콜을 설정할 수도 있음은 물론이다. 한편, 메시지 전송부(140)는 생성된 시험 메시지를 통신 환경 설정부에서 설정된 통신 환경에서 시험 대상 기기(T)로 전송한다.The software test apparatus 100 according to an embodiment of the present invention may further include a communication environment setting unit for setting a communication environment with the test target device T. In the communication environment setting unit, the IP (Internet Protocol) address and communication port of the software test apparatus 100 and the IP address and communication port of the test target device (T) can be set, and the software test apparatus 100 and the test target device ( It goes without saying that a communication protocol between T) may be set. Meanwhile, the message transmission unit 140 transmits the generated test message to the test target device T in the communication environment set in the communication environment setting unit.

분석부(150)는 시험 대상 기기(T)로 전송된 시험 메시지가 상기 소프트웨어(S)에서 실행된 시험 결과 데이터를 분석한다. 분석부(150)는 시험 대상 기기(T)에 설치된 소프트웨어(S)가 시험 메시지에 기록된 입력 값에 대하여 출력하는 출력 값을 포함하는 시험 결과 데이터를 분석한다. 여기서, 분석부(150)는 문법을 정해놓고 적합한 입력 값 또는 부적합한 입력 값에 따른 예상 출력 값이 제대로 나오는지 시험하거나, 입력 값이 가질 수 있는 복수의 영역에 대한 예상 출력 값을 미리 정해놓고, 입력 값이 속하는 각 영역에서 임의의 값을 입력 값으로 사용하여 실제 결과가 예상 출력 값과 같은지 확인하거나, 각 영역의 경계에 있는 값을 입력 값으로 사용하여 실제 결과가 예상 출력 값과 같은지 확인하여 시험 대상 기기(T)에 설치된 소프트웨어(S)의 오류 여부를 확인할 수 있다. 이와 같은 출력 값이 포함된 시험 결과 데이터는 시험 대상 기기(T)로부터 소프트웨어 시험 장치(100)로 전송되는 응답 메시지에 포함될 수 있으며, 응답 메시지에 포함된 시험 결과 데이터는 소프트웨어 시험 장치(100)에서 로그 파일로 저장되어 분석될 수 있다.The analysis unit 150 analyzes the test result data of the test message transmitted to the device under test (T) executed by the software (S). The analysis unit 150 analyzes 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. Here, the analysis unit 150 determines the grammar and tests whether the expected output value according to the suitable input value or the inappropriate input value comes out properly, or sets the expected output value for a plurality of areas that the input value can have in advance, and inputs the input value. In each region to which the value belongs, a random value is used as an input value to check whether the actual result is equal to the expected output value, or a value at the boundary of each region is used as an input value to check whether the actual result is equal to the expected output value. It is possible to check whether the software (S) installed in the target device (T) has an error. Test result data including such an output value may be included in a response message transmitted from the device under test (T) to the software testing device 100, and the test result data included in the response message may be included in the software testing device 100. It can be saved as a log file and analyzed.

한편, 본 발명의 실시 예에 따른 소프트웨어 시험 장치(100)는, 시험 결과 데이터를 전시하기 위한 전시부를 더 포함할 수 있다. 도 3에 도시된 바와 같이 전시부를 통해 사용자는 소프트웨어 시험 장치(100)에 저장된 로그 파일을 확인할 수 있으며, 전시부는 시험 결과 데이터 이외에도 스크립트 저장부에 저장된 복수의 스크립트 및 시나리오 데이터에 저장된 복수의 시나리오 데이터를 사용자가 확인하고, 원하는 스크립트 및 시나리오 데이터를 선택하기 위한 화면을 제공할 수도 있음은 물론이다.Meanwhile, the software test apparatus 100 according to an embodiment of the present invention may further include a display unit for displaying test result data. As shown in FIG. 3, the user can check the log files stored in the software test device 100 through the display unit, and the display unit includes a plurality of scripts stored in the script storage unit and a plurality of scenario data stored in the scenario data in addition to the test result data. Of course, a screen for the user to check and select desired script and scenario data may be provided.

이하에서는, 본 발명의 실시 예에 따른 소프트웨어 시험 방법을 설명한다. 본 발명의 실시 예에 따른 소프트웨어 시험 방법은 소프트웨어 시험 장치를 사용하여 시험 대상 기기에 설치된 소프트웨어를 시험하는 방법일 수 있으며, 이에 소프트웨어 시험 장치와 관련하여 전술한 내용이 그대로 적용될 수 있으므로 중복되는 내용의 설명은 생략하기로 한다.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 software test apparatus 100, and the IP address and communication port of the test target device (T) may be set, and the software test apparatus 100 and the test subject It goes without saying that a communication protocol between the devices T may be set. Meanwhile, in the process of transmitting to the test target device (T) (S500), the test message is transmitted to the test target device (T) under the communication environment set in the process of setting the communication environment.

소프트웨어(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 software test device 100, and the test result data included in the response message may be included in the software test device 100. ) is saved as a log file and analyzed, and if the output value is the same as the expected output value, it is determined that there is no error in the software (S), and if the output value is different from the expected output value, it is determined that the software (S) has an error. can

이와 같이, 본 발명의 실시 예에 따르면, 소프트웨어에서 실행 가능한 메시지의 형식만을 스크립트로 정의하고, 정의된 형식을 가지는 메시지로 소프트웨어를 시험할 시나리오를 결정하여 메시지를 생성 및 전송함으로써, 최소화된 시간 및 비용으로 다양한 소프트웨어의 오류를 확인할 수 있다.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.
청구항 1에 있어서,
상기 스크립트 결정부는,
상기 소프트웨어에서 실행 가능한 메시지의 형식을 정의하는 스크립트를 작성하기 위한 스크립트 작성부; 및
상기 스크립트 작성부에서 작성된 스크립트를 포함하는 적어도 하나의 스크립트를 저장하기 위한 스크립트 저장부;를 포함하는 소프트웨어 시험 장치.
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.
청구항 1에 있어서,
상기 시나리오 결정부는,
정의된 형식을 가지는 메시지의 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성하기 위한 시나리오 데이터 작성부; 및
상기 시나리오 데이터 작성부에서 작성된 시나리오 데이터를 포함하는 적어도 하나의 시나리오 데이터를 저장하기 위한 시나리오 데이터 저장부;를 포함하는 소프트웨어 시험 장치.
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.
청구항 1 내지 청구항 3 중 어느 한 청구항에 있어서,
상기 시험 대상 기기와의 통신 환경을 설정하기 위한 통신 환경 설정부;를 더 포함하는 소프트웨어 시험 장치.
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.
청구항 1 내지 청구항 3 중 어느 한 청구항에 있어서,
상기 시험 결과 데이터를 전시하기 위한 전시부;를 더 포함하는 소프트웨어 시험 장치.
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.
청구항 6에 있어서,
상기 스크립트를 생성하는 과정은,
상기 소프트웨어에서 실행 가능한 메시지의 형식을 확인하는 과정;
확인된 메시지의 형식을 정의하기 위한 스크립트를 작성하는 과정; 및
작성된 스크립트를 저장하는 과정;을 포함하는 소프트웨어 시험 방법.
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.
청구항 7에 있어서,
상기 작성된 스크립트를 저장하는 과정은,
작성된 스크립트를 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.
청구항 6에 있어서,
상기 시나리오를 생성하는 과정은,
정의된 형식을 가지는 메시지의 전송 방식 및 내용을 결정하는 과정;
결정된 전송 방식 및 내용을 포함하는 시나리오 데이터를 작성하는 과정; 및
작성된 시나리오 데이터를 저장하는 과정;을 포함하는 소프트웨어 시험 방법.
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.
청구항 9에 있어서,
상기 작성된 시나리오 데이터를 저장하는 과정은,
작성된 시나리오 데이터를 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.
청구항 11에 있어서,
상기 스크립트를 선택하는 과정은,
서로 다른 스크립트가 저장된 복수의 파일 중에서 상기 소프트웨어에서 실행 가능한 메시지의 형식을 정의하는 스크립트가 저장된 파일을 선택하는 소프트웨어 시험 방법.
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.
청구항 11에 있어서,
상기 시나리오를 선택하는 과정은,
서로 다른 시나리오 데이터가 저장된 복수의 파일 중에서 상기 소프트웨어를 시험할 시나리오 데이터가 저장된 파일을 선택하는 소프트웨어 시험 방법.
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.
청구항 6 내지 청구항 13 중 어느 한 청구항에 있어서,
상기 시험 대상 기기에 전송하는 과정 전에,
상기 시험 대상 기기로 메시지를 전송하기 위한 통신 환경을 설정하는 과정;을 더 포함하는 소프트웨어 시험 방법.
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.
청구항 6 내지 청구항 13 중 어느 한 청구항에 있어서,
상기 소프트웨어의 오류를 확인하는 과정은,
전송된 메시지가 상기 소프트웨어에서 실행된 시험 결과 데이터를 로그 파일로 저장하는 과정; 및
저장된 로그 파일을 분석하여 상기 소프트웨어의 오류 여부를 확인하는 과정;을 포함하는 소프트웨어 시험 방법.
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.
KR1020220010734A 2022-01-25 2022-01-25 Apparatus and method for testing software KR102598881B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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