KR20200098078A - Apparatus and method for managing testcase for testing software - Google Patents

Apparatus and method for managing testcase for testing software Download PDF

Info

Publication number
KR20200098078A
KR20200098078A KR1020190015724A KR20190015724A KR20200098078A KR 20200098078 A KR20200098078 A KR 20200098078A KR 1020190015724 A KR1020190015724 A KR 1020190015724A KR 20190015724 A KR20190015724 A KR 20190015724A KR 20200098078 A KR20200098078 A KR 20200098078A
Authority
KR
South Korea
Prior art keywords
software
test case
testing
result information
result
Prior art date
Application number
KR1020190015724A
Other languages
Korean (ko)
Other versions
KR102610756B1 (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 KR1020190015724A priority Critical patent/KR102610756B1/en
Publication of KR20200098078A publication Critical patent/KR20200098078A/en
Application granted granted Critical
Publication of KR102610756B1 publication Critical patent/KR102610756B1/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/3696Methods or tools to render software testable

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

According to one embodiment of the present invention, provided is a test case management device for testing software, which comprises: a first comparison unit which compares the syntactic identity of first software and second software; a second comparison unit which compares result information generated based on test cases respectively input to the first software and the second software; and a determination unit which determines a characteristic of the test case for testing the second software based on a result of comparing the first comparison unit with the second comparison unit.

Description

소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법{APPARATUS AND METHOD FOR MANAGING TESTCASE FOR TESTING SOFTWARE}Test case management device and management method for software testing {APPARATUS AND METHOD FOR MANAGING TESTCASE FOR TESTING SOFTWARE}

본 발명은 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법에 관한 것이다.The present invention relates to a test case management apparatus and a management method for software testing.

제어기 소프트웨어(SW)는 최초에 기반모델을 개발하고, 기반모델에 포함된 기능이 추가, 변경, 삭제되는 경우 기반모델의 일부를 수정하여 파생모델을 개발하는 방식으로 개발된다. 이렇게 개발된 파생모델은 최초 기반모델에 대해서 테스트를 수행한 테스트케이스를 이용하여 테스트된다. The controller software (SW) is developed in a way that initially develops a base model, and when functions included in the base model are added, changed, or deleted, a part of the base model is modified to develop a derivative model. The derived model developed in this way is tested using the test case that tests the initial base model.

테스트를 수행하는 방법은 크게 두 가지가 있다. 하나는 파생 모델을 검증할 때, 처음부터 신규 테스트케이스를 모두 개발하여 검증을 수행하는 방법(SW 재검증)이고, 다른 하나는 검증의 효율성을 위해 최초 기반모델에서 변경된 SW 부분을 고려하여 기반모델 검증에 사용했던 테스트케이스 중 일부를 선택해서 검증을 수행하는 방법(SW 회귀 검증)이다. There are two main ways to perform the test. One is the method of performing verification by developing all new test cases from the beginning when verifying the derived model (SW re-validation), and the other is the base model by considering the changed SW part from the initial base model for verification efficiency. This is a method of selecting some of the test cases used for verification and performing verification (SW regression verification).

그러나 SW 재검증 방법의 경우 테스트의 신뢰도는 확보할 수 있지만, 테스트 시간이 과다하게 걸려 테스트 효율이 떨어지는 문제가 있고, SW 회귀 검증 방법은 소프트웨어의 복잡도가 커지는 경우 적용이 어렵고 테스트 시간은 줄일 수 있지만 테스트 신뢰성이 떨어지는 문제가 있다. However, in the case of the SW re-validation method, the reliability of the test can be secured, but there is a problem that the test efficiency is degraded due to excessive test time. There is a problem of poor test reliability.

본 발명의 일 목적은 소프트웨어 테스트의 효율성 및/또는 신뢰성을 향상시킬 수 있는 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법을 제공하는 데 있다. An object of the present invention is to provide a test case management apparatus and a management method for software testing capable of improving the efficiency and/or reliability of software testing.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치는 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교하는 제1 비교부, 상기 제1 소프트웨어와 상기 제2 소프트웨어에 각각 입력되는 테스트케이스에 기초하여 생성되는 결과 정보들을 비교하는 제2 비교부, 및 상기 제1 비교부 및 상기 제2 비교부의 비교 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 판단부를 포함할 수 있다. A test case management apparatus for a software test according to an embodiment of the present invention includes a first comparison unit for comparing syntactic identity of a first software and a second software, and a test input to the first software and the second software, respectively. Determination of determining the characteristics of the test case for testing the second software based on a second comparison unit comparing result information generated based on a case, and a comparison result of the first comparison unit and the second comparison unit May contain wealth.

일 실시예에서, 상기 테스트케이스는 상기 제1 소프트웨어를 테스트하기 위해 기 생성된 테스트케이스일 수 있다. In one embodiment, the test case may be a test case previously generated to test the first software.

일 실시예에서, 상기 제2 소프트웨어는 상기 제1 소프트웨어에 기능 요소를 추가하거나 상기 제1 소프트웨어의 기능 요소를 삭제 또는 변경하여 생성된 소프트웨어일 수 있다. In an embodiment, the second software may be software generated by adding a functional element to the first software or deleting or changing a functional element of the first software.

일 실시예에서, 상기 결과 정보는 임의의 시간에서의 상기 제1 소프트웨어 및 상기 제2 소프트웨어의 상태와 출력값을 포함할 수 있다. In an embodiment, the result information may include a state and an output value of the first software and the second software at an arbitrary time.

일 실시예에서, 상기 판단부는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 동일하고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 동일하면 상기 테스트케이스는 제2 소프트웨어의 테스트에 사용 가능한 것으로 판단할 수 있다. In an embodiment, if the first software and the second software are syntactically identical, and the result information of the first software and the result information of the second software are the same, the test case is It can be determined that it can be used for testing.

일 실시예에서, 상기 판단부는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 동일하고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 다르면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단할 수 있다. In one embodiment, if the first software and the second software are syntactically identical, and the result information of the first software and the result information of the second software are different, the test case is It can be used for testing, and it can be determined that additional verification is required.

일 실시예에서, 상기 판단부는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 다르고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 동일하면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단할 수 있다. In one embodiment, if the determination unit is syntactically different between the first software and the second software, and the result information of the first software and the result information of the second software are the same, the test case is It can be used for testing, and it can be determined that additional verification is required.

일 실시예에서, 상기 판단부는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 다르고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 다르면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 불가능한 것으로 판단할 수 있다. In one embodiment, if the determination unit is syntactically different between the first software and the second software, and the result information of the first software and the result information of the second software are different, the test case is a test of the second software. It can be determined that it cannot be used.

일 실시예에서, 상기 테스트케이스가 상기 제2 소프트웨어의 테스트에 사용 불가능한 것으로 판단된 경우 상기 제2 소프트웨어를 테스트하기 위한 테스트케이스를 생성하는 테스트케이스 생성부를 더 포함할 수 있다. In an embodiment, when it is determined that the test case is not usable for testing of the second software, a test case generator for generating a test case for testing the second software may be further included.

본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법은 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교하는 단계, 상기 제1 소프트웨어와 상기 제2 소프트웨어에 각각 입력되는 테스트케이스에 기초하여 생성되는 결과 정보들을 비교하는 단계, 및 상기 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교한 결과 및 상기 결과 정보들을 비교한 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 단계를 포함할 수 있다. A test case management method for a software test according to an embodiment of the present invention comprises the steps of comparing syntactic identity of a first software and a second software, based on a test case input to each of the first software and the second software. Comparing the result information generated by the method, and a result of comparing the syntactical identity of the first software and the second software, and a result of comparing the result information, of the test case for testing the second software. It may include the step of determining the characteristics.

일 실시예에서, 상기 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교한 결과 및 상기 결과 정보들을 비교한 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 단계는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 동일하고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 동일하면 상기 테스트케이스는 제2 소프트웨어의 테스트에 사용 가능한 것으로 판단할 수 있다. In one embodiment, the step of determining the characteristics of the test case for testing the second software based on a result of comparing syntactic identity of the first software and the second software and a result of comparing the result information If the first software and the second software are syntactically the same, and the result information of the first software and the result information of the second software are the same, the test case may be determined to be usable for testing the second software. have.

일 실시예에서, 상기 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교한 결과 및 상기 결과 정보들을 비교한 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 단계는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 동일하고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 다르면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단할 수 있다. In one embodiment, the step of determining the characteristics of the test case for testing the second software based on a result of comparing syntactic identity of the first software and the second software and a result of comparing the result information If the first software and the second software are syntactically the same, and the result information of the first software and the result information of the second software are different, the test case can be used for testing of the second software, and additional verification It can be determined that this is necessary.

일 실시예에서, 상기 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교한 결과 및 상기 결과 정보들을 비교한 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 단계는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 다르고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 동일하면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단할 수 있다. In one embodiment, the step of determining the characteristics of the test case for testing the second software based on a result of comparing syntactic identity of the first software and the second software and a result of comparing the result information If the first software and the second software are syntactically different, and the result information of the first software and the result information of the second software are the same, the test case can be used for testing the second software, and additional verification It can be determined that this is necessary.

일 실시예에서, 상기 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교한 결과 및 상기 결과 정보들을 비교한 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 단계는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 다르고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 다르면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 불가능한 것으로 판단할 수 있다. In one embodiment, the step of determining the characteristics of the test case for testing the second software based on a result of comparing syntactical identity of the first software and the second software and a result of comparing the result information If the first software and the second software are syntactically different, and the result information of the first software and the result information of the second software are different, it may be determined that the test case is not usable for testing of the second software. .

본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법에 따르면 소프트웨어 테스트의 효율성 및/또는 신뢰성을 향상시킬 수 있다. According to the test case management apparatus and management method for software testing according to an embodiment of the present invention, it is possible to improve the efficiency and/or reliability of software testing.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치를 보여주는 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치를 보여주는 블록도이다.
도 3은 본 발명의 또 다른 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치를 보여주는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 보여주는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법의 S130 단계를 구체적으로 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 실행하는 컴퓨팅 시스템을 보여주는 도면이다.
1 is a block diagram showing a test case management apparatus for a software test according to an embodiment of the present invention.
2 is a block diagram showing a test case management apparatus for a software test according to another embodiment of the present invention.
3 is a block diagram showing a test case management apparatus for a software test according to another embodiment of the present invention.
4 is a flowchart showing a test case management method for software testing according to an embodiment of the present invention.
5 is a view for explaining in detail step S130 of a test case management method for a software test according to an embodiment of the present invention.
6 is a diagram illustrating a computing system that executes a test case management method for a software test according to an embodiment of the present invention.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to elements of each drawing, it should be noted that the same elements are assigned the same numerals as possible even if they are indicated on different drawings. In addition, in describing an embodiment of the present invention, if it is determined that a detailed description of a related known configuration or function obstructs an understanding of the embodiment of the present invention, a detailed description thereof will be omitted.

본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In describing the constituent elements of the embodiments of the present invention, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only used to distinguish the component from other components, and the nature, order, or order of the component is not limited by the term. In addition, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. Does not.

이하에서, '소프트웨어'는 차량의 제어기에 의해 실행되는 다양한 기능들을 제공하기 위한 소프트웨어를 의미할 수 있으나, 이는 이해를 돕기 위한 예시일 뿐이며, 이에 한정되는 것은 아니다. 또한, '소프트웨어'는 제 1 소프트웨어 및 제 2 소프트웨어를 포함할 수 있으며, 제 2 소프트웨어는 제 1 소프트웨어의 기능 요소들의 일부를 삭제하거나, 제 1 소프트웨어의 기능 요소들에 다른 기능 요소들을 추가하거나, 제 1 소프트웨어의 기능 요소들의 전부 또는 일부를 변경한 소프트웨어로 정의될 수 있다. 여기서, 기능 요소는 소프트웨어에 정의된 '상태(state)' 및 '천이(transition)'를 포함할 수 있으며, '상태'는 특정 시점의 소프트웨어의 실행 상태를 의미할 수 있고, '천이'는 각 '상태'들을 연결하기 위한 동작을 의미할 수 있다. Hereinafter,'software' may refer to software for providing various functions executed by the controller of the vehicle, but this is only an example to aid understanding and is not limited thereto. In addition,'software' may include first software and second software, and the second software deletes some of the functional elements of the first software, or adds other functional elements to the functional elements of the first software, It may be defined as software in which all or part of the functional elements of the first software is changed. Here, the functional element may include a'state' and a'transition' defined in the software, and the'state' may refer to the execution state of the software at a specific time, and the'transition' is each It may mean an operation to connect'states'.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치를 보여주는 블록도이다. 1 is a block diagram showing a test case management apparatus for a software test according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치(100, 이하에서 '관리 장치'로 칭함)는 제 1 비교부(110), 제 2 비교부(120), 및 판단부(130)를 포함할 수 있다. 도 1 에서는 제 1 비교부(110), 제 2 비교부(120), 및 판단부(130)가 별개의 구성으로 도시되어 있지만, 제 1 비교부(110), 제 2 비교부(120), 및 판단부(130)는 하나의 칩(chip) 또는 소자(ex. 프로세서)에 집적되어 구성될 수도 있다. Referring to FIG. 1, a test case management device 100 (hereinafter referred to as a'management device') for a software test according to an embodiment of the present invention includes a first comparison unit 110 and a second comparison unit 120 , And a determination unit 130 may be included. In FIG. 1, the first comparison unit 110, the second comparison unit 120, and the determination unit 130 are shown as separate configurations, but the first comparison unit 110, the second comparison unit 120, And the determination unit 130 may be integrated and configured in one chip or device (eg, a processor).

제 1 비교부(110)는 제 1 소프트웨어와 제 2 소프트웨어의 동일성을 비교할 수 있다. 이를 위해, 제 1 비교부(110)는 제 1 소프트웨어의 파일(file) 및 제 2 소프트웨어의 파일을 입력받을 수 있다. 예를 들어, 제 1 비교부(110)는 제 1 소프트웨어와 제 2 소프트웨어의 구문상(syntactic)의 동일성을 비교할 수 있다. The first comparison unit 110 may compare the identity of the first software and the second software. To this end, the first comparison unit 110 may receive a file of the first software and a file of the second software. For example, the first comparison unit 110 may compare syntactic identity between the first software and the second software.

더욱 구체적으로, 제 1 비교부(110)는 제 2 소프트웨어에 정의된 신호(signal), 기능 블록(function block), 상태(state), 변수(variable), 천이(transition), 동작(action) 등이 제 1 소프트웨어와 비교하여 추가, 삭제 또는 변경되었는지에 기초하여 제 1 소프트웨어와 제 2 소프트웨어의 구문상의 동일성을 비교할 수 있다. More specifically, the first comparison unit 110 includes a signal, a function block, a state, a variable, a transition, an action, etc. defined in the second software. The syntactical identity of the first software and the second software may be compared based on whether it is added, deleted, or changed compared to the first software.

제 1 비교부(110)는 제 1 소프트웨어와 제 2 소프트웨어의 동일성을 비교한 결과를 포함하는 결과 리포트를 생성할 수 있다. 제 1 비교부(110)는 생성된 결과 리포트를 판단부(130)에 전달할 수 있다. The first comparison unit 110 may generate a result report including a result of comparing the identity of the first software and the second software. The first comparison unit 110 may transmit the generated result report to the determination unit 130.

제 2 비교부(120)는 제 1 소프트웨어와 제 2 소프트웨어에 각각 입력되는 테스트케이스에 기초하여 생성되는 결과 정보들을 비교할 수 있다. 이를 위해, 제 2 비교부(120)는 제 1 소프트웨어의 파일, 제 2 소프트웨어의 파일 및 제 1 소프트웨어의 테스트를 위해 생성된 테스트케이스를 입력받을 수 있다. 여기서, 테스트케이스는 제 1 소프트웨어가 정상적으로 동작하는지 테스트하기 위해 기 생성된 테스트케이스일 수 있으며, 테스트케이스는 제 1 소프트웨어의 기능 요소들의 상태 및/또는 천이를 테스트하기 위한 변수(or 값)들을 포함할 수 있다.The second comparison unit 120 may compare result information generated based on test cases respectively input to the first software and the second software. To this end, the second comparison unit 120 may receive a file of the first software, a file of the second software, and a test case generated for testing of the first software. Here, the test case may be a test case previously generated to test whether the first software operates normally, and the test case includes variables (or values) for testing the state and/or transition of the functional elements of the first software. can do.

제 2 비교부(120)는 입력된 테스트케이스를 이용하여 제 1 소프트웨어 및 제 2 소프트웨어 각각의 결과 정보를 생성하는 모듈(미도시)과 생성된 각각의 결과 정보를 서로 비교하는 모듈(미도시)을 포함할 수 있으나, 이에 한정되는 것은 아니다. 일 측면에서, 결과 정보는 제 1 소프트웨어 및 제 2 소프트웨어가 테스트케이스를 입력값으로 하여 실행된 결과값 또는 행동(behavior)의 결과값으로 이해될 수 있으며, 임의의 시간(ex. sample time)에서의 제 1 소프트웨어 및 제 2 소프트웨어의 상태(ex. Active state) 및/또는 출력값을 포함할 수 있다.The second comparison unit 120 is a module (not shown) that generates result information of each of the first software and the second software using the input test case, and a module (not shown) that compares the generated result information with each other. It may include, but is not limited thereto. In one aspect, the result information may be understood as a result value executed by the first software and the second software using a test case as an input value or a result value of a behavior, and at an arbitrary time (ex. sample time). The state of the first software and the second software (ex. Active state) and / or may include an output value.

예를 들어, 제 2 비교부(120)는 임의의 시간에서 테스트케이스를 입력으로 한 제 1 소프트웨어 및 제 2 소프트웨어의 결과 정보가 동일하면 각각의 결과 정보가 동일성이 있는 것으로 판단할 수 있고, 임의의 시간에서 테스트케이스를 입력으로 한 제 1 소프트웨어 및 제 2 소프트웨어의 결과 정보가 다르면 각각의 결과 정보가 동일성이 없는 것으로 판단할 수 있다. For example, the second comparison unit 120 may determine that the result information is identical if the result information of the first software and the second software inputting the test case as an input at an arbitrary time is the same, and If the result information of the first software and the second software having the test case inputted as an input is different at a time of, it may be determined that the result information is not identical.

제 2 비교부(120)는 제 1 소프트웨어 및 제 2 소프트웨어 각각의 결과 정보를 비교한 결과를 포함하는 결과 리포트를 생성할 수 있다. 제 2 비교부(120)는 생성된 결과 리포트를 판단부(130)에 전달할 수 있다.The second comparison unit 120 may generate a result report including a result of comparing result information of each of the first software and the second software. The second comparison unit 120 may transmit the generated result report to the determination unit 130.

판단부(130)는 제 1 비교부(110) 및 제 2 비교부(120)의 비교 결과 내지 판단 결과에 기초하여 제 2 소프트웨어를 테스트하기 위한 테스트케이스의 특성을 판단할 수 있다. 즉, 판단부(130)는 제 1 비교부(110) 및 제 2 비교부(120)의 비교 결과 내지 판단 결과에 기초하여, 제 1 소프트웨어의 테스트를 위해 생성된 테스트케이스를 제 2 소프트웨어의 테스트에 재사용 가능한지를 판단할 수 있다. 예를 들어, 제 2 소프트웨어가 제 1 소프트웨어와 구문상 동일성이 있고, 결과 정보도 제 1 소프트웨어의 결과 정보와 동일성이 있다면 제 1 소프트웨어의 테스트를 위한 테스트케이스를 제 2 소프트웨어의 테스트에 재사용하더라도 제 2 소프트웨어의 충분한 검증이 가능할 수 있기 때문이다.The determination unit 130 may determine a characteristic of a test case for testing the second software based on a comparison result or a determination result of the first comparison unit 110 and the second comparison unit 120. That is, based on the comparison result or determination result of the first comparison unit 110 and the second comparison unit 120, the determination unit 130 tests the test case generated for testing the first software. Can be used to determine if it is reusable. For example, if the second software is syntactically identical to the first software and the result information is also identical to the result information of the first software, even if the test case for testing the first software is reused for testing the second software, 2 This is because sufficient verification of software can be possible.

이러한 측면에서, 판단부(130)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 동일하고, 제 1 소프트웨어의 결과 정보와 제 2 소프트웨어의 결과 정보가 동일하면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 가능한 것으로 판단할 수 있다. 다만, 이러한 경우 판단부(130)는 제 2 소프트웨어의 테스트가 불필요한 것으로 판단할 수 있다. In this respect, if the first software and the second software are syntactically the same, and the result information of the first software and the result information of the second software are the same, the test case is used for testing the second software. It can be judged as possible. However, in this case, the determination unit 130 may determine that testing of the second software is unnecessary.

판단부(130)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 동일하고, 제 1 소프트웨어의 결과 정보와 제 2 소프트웨어의 결과 정보가 다르면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단할 수 있다. 또한 판단부(130)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 다르고, 제 1 소프트웨어의 결과 정보와 상기 제 2 소프트웨어의 결과 정보가 동일하면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단할 수 있다. 여기서, 추가 검증은 상기 테스트케이스가 제 2 소프트웨어의 테스트에 사용 가능한지를 다른 방법 내지 다른 알고리즘을 이용하여 추가로 판단해야함을 의미할 수 있다. If the first software and the second software are syntactically the same and the result information of the first software and the result information of the second software are different, the test case can be used for testing the second software, and additional verification It can be determined that this is necessary. In addition, if the first software and the second software are syntactically different from each other, and the result information of the first software and the result information of the second software are the same, the test case can be used for testing the second software, It can be determined that additional verification is necessary. Here, the additional verification may mean that it is necessary to additionally determine whether the test case can be used for testing of the second software using another method or another algorithm.

판단부(130)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 다르고, 제 1 소프트웨어의 결과 정보와 제 2 소프트웨어의 결과 정보가 다르면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 불가능한 것으로 판단할 수 있다. If the first software and the second software are syntactically different and the result information of the first software and the result information of the second software are different, the determination unit 130 may determine that the test case cannot be used for testing the second software. .

상술한 바와 같이, 판단부(130)는 제 1 소프트웨어의 테스트를 위해 생성된 테스트케이스를 제 2 소프트웨어의 테스트에 사용 가능한지 여부를 판단할 수 있다. 따라서, 제 2 소프트웨어를 테스트함에 있어서 필요한 테스트케이스를 새롭게 생성하지 않아도 되므로 테스트의 시간을 단축시킬 수 있고, 테스트의 신뢰성도 향상시킬 수 있어 테스트의 효율성이 높아질 수 있다. As described above, the determination unit 130 may determine whether the test case generated for testing the first software can be used for testing the second software. Therefore, since it is not necessary to newly generate a test case required for testing the second software, the test time can be shortened, the reliability of the test can be improved, and the efficiency of the test can be increased.

도 2는 본 발명의 다른 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치를 보여주는 블록도이다. 2 is a block diagram showing a test case management apparatus for a software test according to another embodiment of the present invention.

도 2를 참조하면, 본 발명의 다른 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치(200)는 제 1 비교부(210), 제 2 비교부(220), 제 3 비교부(230) 및 판단부(240)를 포함할 수 있다. 제 1 비교부(210) 및 제 2 비교부(220)는 도 1을 참조하여 설명한 제 1 비교부(110) 및 제 2 비교부(120)와 각각 실질적으로 동일할 수 있으므로, 이하에서는 제 3 비교부(230) 및 판단부(240)에 대해서만 구체적으로 설명한다. 2, a test case management apparatus 200 for a software test according to another embodiment of the present invention includes a first comparison unit 210, a second comparison unit 220, a third comparison unit 230, and It may include a determination unit 240. The first comparison unit 210 and the second comparison unit 220 may be substantially the same as the first comparison unit 110 and the second comparison unit 120 described with reference to FIG. 1, respectively. Only the comparison unit 230 and the determination unit 240 will be described in detail.

제 3 비교부(230)는 제 1 소프트웨어와 제 2 소프트웨어에 각각 입력되는 테스트케이스에 기초하여 생성되는 결과 정보들을 비교할 수 있다. 제 3 비교부(230)는 제 1 소프트웨어와 제 2 소프트웨어의 상태(ex. Active state) 뿐만 아니라 이에 추가적으로 각 상태들 간의 천이(transition)에 관한 정보도 결과 정보로서 생성하는 점에서 제 2 비교부(220)와 차이가 있다. 이를 위해, 제 3 비교부(230)는 제 1 소프트웨어의 파일, 제 2 소프트웨어의 파일, 제 1 소프트웨어의 테스트를 위해 생성된 테스트케이스 및 제 1 소프트웨어 및/또는 제 2 소프트웨어의 기능 요소에 관한 정보(ex. 기능 블록 및 변수 정보)를 입력받을 수 있다. The third comparison unit 230 may compare result information generated based on test cases respectively input to the first software and the second software. The third comparison unit 230 generates not only the state of the first software and the second software (ex.active state) but also information about a transition between each state as result information. There is a difference from (220). To this end, the third comparison unit 230 includes a file of the first software, a file of the second software, a test case generated for testing of the first software, and information on the functional elements of the first software and/or the second software. (ex. Function block and variable information) can be input.

제 3 비교부(230)는 임의의 시간에서 테스트케이스를 입력으로 한 제 1 소프트웨어 및 제 2 소프트웨어의 결과 정보가 동일하면 각각의 결과 정보가 동일성이 있는 것으로 판단할 수 있고, 임의의 시간에서 테스트케이스를 입력으로 한 제 1 소프트웨어 및 제 2 소프트웨어의 결과 정보가 다르면 각각의 결과 정보가 동일성이 없는 것으로 판단할 수 있다. 제 3 비교부(230)는 제 1 소프트웨어 및 제 2 소프트웨어 각각의 결과 정보를 비교한 결과를 포함하는 결과 리포트를 생성할 수 있다. 제 3 비교부(230)는 생성된 결과 리포트를 판단부(240)에 전달할 수 있다.The third comparison unit 230 may determine that the result information is identical if the result information of the first software and the second software inputting the test case is the same at an arbitrary time, and the test at an arbitrary time. If the result information of the first software and the second software in which the case is input are different, it may be determined that the result information is not identical. The third comparison unit 230 may generate a result report including a result of comparing result information of each of the first software and the second software. The third comparison unit 230 may transmit the generated result report to the determination unit 240.

판단부(240)는 제 1 비교부(210), 제 2 비교부(220) 및 제 3 비교부(230)의 비교 결과 내지 판단 결과에 기초하여 제 2 소프트웨어를 테스트하기 위한 테스트케이스의 특성을 판단할 수 있다. The determination unit 240 determines the characteristics of the test case for testing the second software based on the comparison result or the determination result of the first comparison unit 210, the second comparison unit 220, and the third comparison unit 230. I can judge.

예를 들어, 판단부(240)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 동일하고, 제 2 비교부(220)의 각각의 결과 정보가 동일하고, 제 3 비교부(230)의 각각의 결과 정보가 동일하면, 테스트케이스는 제 2 소프트웨어의 테스트에 사용 가능한 것으로 판단할 수 있다. 다만, 이러한 경우 판단부(240)는 제 2 소프트웨어의 테스트가 불필요한 것으로 판단할 수 있다. For example, the determination unit 240 is syntactically the same as the first software and the second software, each result information of the second comparison unit 220 is the same, and each of the third comparison unit 230 If the result information is the same, it may be determined that the test case can be used for testing of the second software. However, in this case, the determination unit 240 may determine that testing of the second software is unnecessary.

판단부(240)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 동일하고, 제 2 비교부(220)의 각각의 결과 정보 또는 제 3 비교부(230)의 각각의 결과 정보가 서로 다르면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단할 수 있다. 또한 판단부(240)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 다르고, 제 2 비교부(220)의 각각의 결과 정보 및 제 3 비교부(230)의 각각의 결과 정보가 서로 동일하면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단할 수 있다. If the first software and the second software are syntactically the same and the result information of the second comparison unit 220 or the result information of the third comparison unit 230 are different, the test case May be used for testing of the second software, and it may be determined that additional verification is required. In addition, the determination unit 240 tests if the first software and the second software are syntactically different, and each result information of the second comparison unit 220 and each result information of the third comparison unit 230 are the same. The case can be used for testing of the second software, and it can be determined that additional verification is required.

판단부(240)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 다르고, 제 2 비교부(220)의 각각의 결과 정보 및 제 3 비교부(230)의 각각의 결과 정보가 서로 다르면 다르면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 불가능한 것으로 판단할 수 있다. If the first software and the second software are syntactically different from each other, and the result information of the second comparison unit 220 and the result information of the third comparison unit 230 are different, the test case May be determined to be unavailable for testing of the second software.

도 3은 본 발명의 또 다른 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치를 보여주는 블록도이다. 3 is a block diagram showing a test case management apparatus for a software test according to another embodiment of the present invention.

도 3을 참조하면, 본 발명의 또 다른 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치(300)는 제 1 비교부(310), 제 2 비교부(320), 판단부(330), 및 테스트케이스 생성부(340)를 포함할 수 있다. 제 1 비교부(310), 제 2 비교부(320) 및 판단부(330)는 도 1을 참조하여 설명한 제 1 비교부(110), 제 2 비교부(120) 및 판단부(130)와 각각 실질적으로 동일할 수 있으므로, 이하에서는 테스트케이스 생성부(340)에 대해서만 구체적으로 설명한다. Referring to FIG. 3, a test case management apparatus 300 for a software test according to another embodiment of the present invention includes a first comparison unit 310, a second comparison unit 320, a determination unit 330, and It may include a test case generating unit 340. The first comparison unit 310, the second comparison unit 320, and the determination unit 330 include the first comparison unit 110, the second comparison unit 120, and the determination unit 130 described with reference to FIG. 1. Since each may be substantially the same, only the test case generating unit 340 will be described in detail below.

테스트케이스 생성부(340)는 소프트웨어의 테스트를 위한 테스트케이스를 생성할 수 있다. 예를 들어, 테스트케이스 생성부(340)는 판단부(330)로부터 테스트케이스 생성 요청을 전달받는 경우 테스트케이스를 생성할 수 있다. 도 1을 참조하여 설명한 바와 같이, 판단부(330)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 다르고, 제 1 소프트웨어의 결과 정보와 제 2 소프트웨어의 결과 정보가 다르면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 불가능한 것으로 판단할 수 있고, 이러한 경우 테스트케이스 생성부(340)에 테스트케이스의 생성을 요청할 수 있다. The test case generation unit 340 may generate a test case for testing software. For example, the test case generation unit 340 may generate a test case when receiving a test case generation request from the determination unit 330. As described with reference to FIG. 1, if the first software and the second software are syntactically different, and the result information of the first software and the result information of the second software are different, the test case is It may be determined that the test case cannot be used, and in this case, the test case generation unit 340 may be requested to generate a test case.

테스트케이스 생성부(340)는 제 2 소프트웨어의 테스트를 위한 테스트케이스를 생성할 수 있으며, 생성되는 테스트케이스는 제 1 소프트웨어의 테스트를 위한 테스트케이스와 일부 또는 전부가 상이할 수 있다. 예를 들어, 테스트케이스 생성부(340)는 Simulink/Stateflow 모델을 사용하여 제 2 소프트웨어의 기능 요소들 중 테스트가 필요한 대상을 검출하고, 검출된 대상의 테스트를 위한 테스트케이스를 생성할 수 있다. The test case generation unit 340 may generate a test case for testing the second software, and the generated test case may be partially or entirely different from the test case for testing the first software. For example, the test case generation unit 340 may use a Simulink/Stateflow model to detect an object that needs to be tested among functional elements of the second software and generate a test case for testing the detected object.

도 1 및 도 2를 참조하여 설명한 바와 같이, 판단부(330)는 제 1 소프트웨어의 테스트를 위해 생성된 테스트케이스를 제 2 소프트웨어의 테스트에 사용 가능한지를 판단하고, 사용이 불가능하다고 판단되는 경우에만 테스트케이스 생성부(340)에 테스트케이스의 생성을 요청하므로, 제 2 소프트웨어의 테스트에 소요되는 시간을 단축시킬 수 있고, 테스트의 신뢰성도 향상시킬 수 있어 테스트의 효율성이 높아질 수 있다. As described with reference to FIGS. 1 and 2, the determination unit 330 determines whether the test case generated for testing the first software can be used for testing the second software, and only when it is determined that the use is impossible. Since the test case generation unit 340 is requested to generate a test case, it is possible to shorten the time required for testing of the second software, and improve the reliability of the test, thereby increasing the efficiency of the test.

도 4는 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 보여주는 흐름도이다. 도 5는 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법의 S130 단계를 구체적으로 설명하기 위한 도면이다. 4 is a flowchart showing a test case management method for software testing according to an embodiment of the present invention. 5 is a view for explaining in detail step S130 of a test case management method for a software test according to an embodiment of the present invention.

먼저 도 4를 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법은 1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교하는 단계(S110), 제1 소프트웨어와 제2 소프트웨어에 각각 입력되는 테스트케이스에 기초하여 생성되는 결과 정보들을 비교하는 단계(S120), 및 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교한 결과 및 결과 정보들을 비교한 결과에 기초하여 제2 소프트웨어를 테스트하기 위한 테스트케이스의 특성을 판단하는 단계(S130)를 포함할 수 있다. First, referring to FIG. 4, a test case management method for a software test according to an embodiment of the present invention includes comparing the syntactical identity of the first software and the second software (S110), the first software and the second software Comparing the result information generated based on each input test case (S120), and comparing the result of syntactic identity between the first software and the second software, and the result of comparing the result information. It may include determining the characteristics of the test case for testing (S130).

이하에서, 상술한 S110 단계 내지 S130 단계가 도 1 및 도 5을 참조하여 구체적으로 설명될 것이다. In the following, steps S110 to S130 described above will be described in detail with reference to FIGS. 1 and 5.

S110 단계에서, 제 1 비교부(110)는 제 1 소프트웨어와 제 2 소프트웨어의 동일성을 비교할 수 있다. 이를 위해, 제 1 비교부(110)는 제 1 소프트웨어의 파일(file) 및 제 2 소프트웨어의 파일을 입력받을 수 있다. 예를 들어, 제 1 비교부(110)는 제 1 소프트웨어와 제 2 소프트웨어의 구문상(syntactic)의 동일성을 비교할 수 있다. 제 1 비교부(110)는 제 1 소프트웨어와 제 2 소프트웨어의 동일성을 비교한 결과를 포함하는 결과 리포트를 생성할 수 있다. 제 1 비교부(110)는 생성된 결과 리포트를 판단부(130)에 전달할 수 있다. In step S110, the first comparison unit 110 may compare the identity of the first software and the second software. To this end, the first comparison unit 110 may receive a file of the first software and a file of the second software. For example, the first comparison unit 110 may compare syntactic identity between the first software and the second software. The first comparison unit 110 may generate a result report including a result of comparing the identity of the first software and the second software. The first comparison unit 110 may transmit the generated result report to the determination unit 130.

S120 단계에서, 제 2 비교부(120)는 제 1 소프트웨어와 제 2 소프트웨어에 각각 입력되는 테스트케이스에 기초하여 생성되는 결과 정보들을 비교할 수 있다. 이를 위해, 제 2 비교부(120)는 제 1 소프트웨어의 파일, 제 2 소프트웨어의 파일 및 제 1 소프트웨어의 테스트를 위해 생성된 테스트케이스를 입력받을 수 있다. In step S120, the second comparison unit 120 may compare result information generated based on test cases respectively input to the first software and the second software. To this end, the second comparison unit 120 may receive a file of the first software, a file of the second software, and a test case generated for testing of the first software.

일 측면에서, 결과 정보는 제 1 소프트웨어 및 제 2 소프트웨어가 테스트케이스를 입력값으로 하여 실행된 결과값 또는 행동(behavior)의 결과값으로 이해될 수 있으며, 임의의 시간(ex. sample time)에서의 제 1 소프트웨어 및 제 2 소프트웨어의 상태(ex. Active state) 및/또는 출력값을 포함할 수 있다. 예를 들어, 제 2 비교부(120)는 임의의 시간에서 테스트케이스를 입력으로 한 제 1 소프트웨어 및 제 2 소프트웨어의 결과 정보가 동일하면 각각의 결과 정보가 동일성이 있는 것으로 판단할 수 있고, 임의의 시간에서 테스트케이스를 입력으로 한 제 1 소프트웨어 및 제 2 소프트웨어의 결과 정보가 다르면 각각의 결과 정보가 동일성이 없는 것으로 판단할 수 있다. 제 2 비교부(120)는 제 1 소프트웨어 및 제 2 소프트웨어 각각의 결과 정보를 비교한 결과를 포함하는 결과 리포트를 생성할 수 있다. 제 2 비교부(120)는 생성된 결과 리포트를 판단부(130)에 전달할 수 있다.In one aspect, the result information may be understood as a result value executed by the first software and the second software using a test case as an input value or a result value of a behavior, and at an arbitrary time (ex. sample time). The state of the first software and the second software (ex. Active state) and / or may include an output value. For example, the second comparison unit 120 may determine that the result information is identical if the result information of the first software and the second software inputting the test case as an input at an arbitrary time is the same, and If the result information of the first software and the second software having the test case inputted as an input is different at a time of, it may be determined that the result information is not identical. The second comparison unit 120 may generate a result report including a result of comparing result information of each of the first software and the second software. The second comparison unit 120 may transmit the generated result report to the determination unit 130.

S130 단계에서, 판단부(130)는 제 1 비교부(110) 및 제 2 비교부(120)의 비교 결과 내지 판단 결과에 기초하여 제 2 소프트웨어를 테스트하기 위한 테스트케이스의 특성을 판단할 수 있다. In step S130, the determination unit 130 may determine the characteristics of the test case for testing the second software based on the comparison result or the determination result of the first comparison unit 110 and the second comparison unit 120. .

도 5를 참조하면, 판단부(130)는 제 1 비교부(110) 및 제 2 비교부(120)의 비교 결과 내지 판단 결과에 기초하여, 제 1 소프트웨어의 테스트를 위해 생성된 테스트케이스를 제 2 소프트웨어의 테스트에 재사용 가능한지를 판단할 수 있다. Referring to FIG. 5, the determination unit 130 provides a test case generated for testing the first software based on the comparison result or the determination result of the first comparison unit 110 and the second comparison unit 120. 2 Can judge whether it is reusable for testing of software.

이러한 측면에서, 판단부(130)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 동일하고, 제 1 소프트웨어의 결과 정보와 제 2 소프트웨어의 결과 정보가 동일하면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 가능한 것으로 판단할 수 있다. 다만, 이러한 경우 판단부(130)는 제 2 소프트웨어의 테스트가 불필요한 것으로 판단할 수 있다. In this respect, if the first software and the second software are syntactically the same, and the result information of the first software and the result information of the second software are the same, the test case is used for testing the second software. It can be judged as possible. However, in this case, the determination unit 130 may determine that testing of the second software is unnecessary.

판단부(130)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 동일하고, 제 1 소프트웨어의 결과 정보와 제 2 소프트웨어의 결과 정보가 다르면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단할 수 있다. 또한 판단부(130)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 다르고, 제 1 소프트웨어의 결과 정보와 상기 제 2 소프트웨어의 결과 정보가 동일하면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단할 수 있다. 여기서, 추가 검증은 상기 테스트케이스가 제 2 소프트웨어의 테스트에 사용 가능한지를 다른 방법 내지 다른 알고리즘을 이용하여 추가로 판단해야함을 의미할 수 있다. If the first software and the second software are syntactically the same and the result information of the first software and the result information of the second software are different, the test case can be used for testing the second software, and additional verification It can be determined that this is necessary. In addition, if the first software and the second software are syntactically different from each other, and the result information of the first software and the result information of the second software are the same, the test case can be used for testing the second software, It can be determined that additional verification is necessary. Here, the additional verification may mean that it is necessary to additionally determine whether the test case can be used for testing of the second software using another method or another algorithm.

판단부(130)는 제 1 소프트웨어와 제 2 소프트웨어가 구문상으로 다르고, 제 1 소프트웨어의 결과 정보와 제 2 소프트웨어의 결과 정보가 다르면 테스트케이스는 제 2 소프트웨어의 테스트에 사용 불가능한 것으로 판단할 수 있다. If the first software and the second software are syntactically different and the result information of the first software and the result information of the second software are different, the determination unit 130 may determine that the test case cannot be used for testing the second software. .

도 6은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 실행하는 컴퓨팅 시스템을 보여주는 도면이다.6 is a diagram illustrating a computing system that executes a test case management method for a software test according to an embodiment of the present invention.

도 6을 참조하면, 상술한 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법은 컴퓨팅 시스템을 통해서도 구현될 수 있다. 컴퓨팅 시스템(1000)은 시스템 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다. Referring to FIG. 6, the test case management method for a software test according to an embodiment of the present invention described above may also be implemented through a computing system. The computing system 1000 includes at least one processor 1100 connected through a system bus 1200, a memory 1300, a user interface input device 1400, a user interface output device 1500, a storage 1600, and A network interface 1700 may be included.

프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있다. The processor 1100 may be a central processing unit (CPU) or a semiconductor device that processes instructions stored in the memory 1300 and/or the storage 1600. The memory 1300 and the storage 1600 may include various types of volatile or nonvolatile storage media. For example, the memory 1300 may include read only memory (ROM) and random access memory (RAM).

따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.Accordingly, the steps of the method or algorithm described in connection with the embodiments disclosed herein may be directly implemented in hardware executed by the processor 1100, a software module, or a combination of the two. The software module resides in a storage medium such as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM (i.e., memory 1300 and/or storage 1600). You may. An exemplary storage medium is coupled to the processor 1100, which can read information from and write information to the storage medium. Alternatively, the storage medium may be integral with the processor 1100. The processor and storage media may reside within an application specific integrated circuit (ASIC). The ASIC may reside within the user terminal. Alternatively, the processor and storage medium may reside as separate components within the user terminal.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention.

따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

100: 관리 장치
110, 210, 310: 제 1 비교부
120, 220, 320: 제 2 비교부
130, 240, 330: 판단부
230: 제 3 비교부
340: 테스트케이스 생성부
1000: 컴퓨팅 시스템
1100: 프로세서
1200: 버스
1300: 메모리
1310: ROM
1320: RAM
1400: 사용자 인터페이스 입력장치
1500: 사용자 인터페이스 출력장치
1600: 스토리지
1700: 네트워크 인터페이스
100: management device
110, 210, 310: first comparison unit
120, 220, 320: second comparison unit
130, 240, 330: judgment unit
230: third comparison unit
340: test case generation unit
1000: computing system
1100: processor
1200: bus
1300: memory
1310: ROM
1320: RAM
1400: user interface input device
1500: user interface output device
1600: storage
1700: network interface

Claims (14)

제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교하는 제1 비교부;
상기 제1 소프트웨어와 상기 제2 소프트웨어에 각각 입력되는 테스트케이스에 기초하여 생성되는 결과 정보들을 비교하는 제2 비교부; 및
상기 제1 비교부 및 상기 제2 비교부의 비교 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 판단부를 포함하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
A first comparison unit for comparing syntactic identity between the first software and the second software;
A second comparison unit for comparing result information generated based on test cases respectively input to the first software and the second software; And
A test case management apparatus for software testing, including a determination unit determining characteristics of the test case for testing the second software based on a comparison result of the first comparison unit and the second comparison unit.
제 1 항에 있어서,
상기 테스트케이스는 상기 제1 소프트웨어를 테스트하기 위해 기 생성된 테스트케이스인 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method of claim 1,
The test case management apparatus for software testing, characterized in that the test case is a test case previously generated to test the first software.
제 1 항에 있어서,
상기 제2 소프트웨어는 상기 제1 소프트웨어에 기능 요소를 추가하거나 상기 제1 소프트웨어의 기능 요소를 삭제 또는 변경하여 생성된 소프트웨어인 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method of claim 1,
The second software is software generated by adding a functional element to the first software or deleting or changing a functional element of the first software.
제 1 항에 있어서,
상기 결과 정보는 임의의 시간에서의 상기 제1 소프트웨어 및 상기 제2 소프트웨어의 상태와 출력값을 포함하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method of claim 1,
The result information includes a state and output values of the first software and the second software at an arbitrary time.
제 1 항에 있어서,
상기 판단부는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 동일하고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 동일하면 상기 제2 소프트웨어의 테스트가 불필요한 것으로 판단하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method of claim 1,
The determination unit determines that testing of the second software is unnecessary if the first software and the second software are syntactically identical, and result information of the first software and result information of the second software are the same. Test case management device for software testing performed by the user.
제 1 항에 있어서,
상기 판단부는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 동일하고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 다르면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method of claim 1,
If the determination unit is syntactically the same between the first software and the second software, and the result information of the first software and the result information of the second software are different, the test case can be used for testing the second software, and , Test case management device for software testing, characterized in that it is determined that additional verification is required.
제 1 항에 있어서,
상기 판단부는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 다르고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 동일하면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method of claim 1,
If the determining unit is syntactically different between the first software and the second software, and the result information of the first software and the result information of the second software are the same, the test case can be used for testing the second software, and , Test case management device for software testing, characterized in that it is determined that additional verification is required.
제 1 항에 있어서,
상기 판단부는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 다르고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 다르면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 불가능한 것으로 판단하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method of claim 1,
The determination unit determines that if the first software and the second software are syntactically different and the result information of the first software and the result information of the second software are different, the test case is not usable for testing the second software. Test case management device for software testing, characterized in that to.
제 8 항에 있어서,
상기 테스트케이스가 상기 제2 소프트웨어의 테스트에 사용 불가능한 것으로 판단된 경우 상기 제2 소프트웨어를 테스트하기 위한 테스트케이스를 생성하는 테스트케이스 생성부를 더 포함하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method of claim 8,
And a test case generation unit generating a test case for testing the second software when it is determined that the test case is not usable for testing the second software.
제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교하는 단계;
상기 제1 소프트웨어와 상기 제2 소프트웨어에 각각 입력되는 테스트케이스에 기초하여 생성되는 결과 정보들을 비교하는 단계; 및
상기 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교한 결과 및 상기 결과 정보들을 비교한 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 단계를 포함하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
Comparing the syntactic identity of the first software and the second software;
Comparing result information generated based on test cases respectively input to the first software and the second software; And
A software test comprising the step of determining a characteristic of the test case for testing the second software based on a result of comparing syntactic identity of the first software and the second software and a result of comparing the result information. Test case management method.
제 10 항에 있어서,
상기 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교한 결과 및 상기 결과 정보들을 비교한 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 단계는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 동일하고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 동일하면 상기 제2 소프트웨어의 테스트가 불필요한 것으로 판단하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
The method of claim 10,
The step of determining the characteristics of the test case for testing the second software based on a result of comparing syntactic identity between the first software and the second software and a result of comparing the result information includes: If the second software is syntactically the same, and the result information of the first software and the result information of the second software are the same, it is determined that the test of the second software is unnecessary. Management method.
제 10 항에 있어서,
상기 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교한 결과 및 상기 결과 정보들을 비교한 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 단계는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 동일하고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 다르면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
The method of claim 10,
The step of determining the characteristics of the test case for testing the second software based on a result of comparing syntactic identity between the first software and the second software and a result of comparing the result information includes: If the second software is syntactically the same, and the result information of the first software and the result information of the second software are different, the test case can be used for testing of the second software, and it is determined that additional verification is required. Test case management method for software testing, characterized in that.
제 10 항에 있어서,
상기 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교한 결과 및 상기 결과 정보들을 비교한 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 단계는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 다르고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 동일하면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 가능하며, 추가 검증이 필요한 것으로 판단하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
The method of claim 10,
The step of determining the characteristics of the test case for testing the second software based on a result of comparing syntactic identity between the first software and the second software and a result of comparing the result information includes: If the second software is syntactically different and the result information of the first software and the result information of the second software are the same, the test case can be used for testing of the second software, and it is determined that additional verification is required. Test case management method for software testing, characterized in that.
제 10 항에 있어서,
상기 제1 소프트웨어와 제2 소프트웨어의 구문상의 동일성을 비교한 결과 및 상기 결과 정보들을 비교한 결과에 기초하여 상기 제2 소프트웨어를 테스트하기 위한 상기 테스트케이스의 특성을 판단하는 단계는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 구문상으로 다르고, 상기 제1 소프트웨어의 결과 정보와 상기 제2 소프트웨어의 결과 정보가 다르면 상기 테스트케이스는 상기 제2 소프트웨어의 테스트에 사용 불가능한 것으로 판단하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
The method of claim 10,
The step of determining the characteristics of the test case for testing the second software based on a result of comparing syntactic identity between the first software and the second software and a result of comparing the result information includes: If the second software is syntactically different and the result information of the first software and the result information of the second software are different, the test case is determined to be unusable for testing of the second software. Test case management method.
KR1020190015724A 2019-02-11 2019-02-11 Apparatus and method for managing testcase for testing software KR102610756B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190015724A KR102610756B1 (en) 2019-02-11 2019-02-11 Apparatus and method for managing testcase for testing software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190015724A KR102610756B1 (en) 2019-02-11 2019-02-11 Apparatus and method for managing testcase for testing software

Publications (2)

Publication Number Publication Date
KR20200098078A true KR20200098078A (en) 2020-08-20
KR102610756B1 KR102610756B1 (en) 2023-12-07

Family

ID=72292921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190015724A KR102610756B1 (en) 2019-02-11 2019-02-11 Apparatus and method for managing testcase for testing software

Country Status (1)

Country Link
KR (1) KR102610756B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101393807B1 (en) * 2012-11-22 2014-05-12 슈어소프트테크주식회사 Apparatus for regression testing of software and method thereof
JP2014191652A (en) * 2013-03-27 2014-10-06 Fujitsu Ltd Test case generation method, test case generation device, and test case generation program
JP2017045446A (en) * 2015-08-25 2017-03-02 富士通株式会社 Method for repairing software program, storage medium and system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101393807B1 (en) * 2012-11-22 2014-05-12 슈어소프트테크주식회사 Apparatus for regression testing of software and method thereof
JP2014191652A (en) * 2013-03-27 2014-10-06 Fujitsu Ltd Test case generation method, test case generation device, and test case generation program
JP2017045446A (en) * 2015-08-25 2017-03-02 富士通株式会社 Method for repairing software program, storage medium and system

Also Published As

Publication number Publication date
KR102610756B1 (en) 2023-12-07

Similar Documents

Publication Publication Date Title
US8397104B2 (en) Creation of test plans
JP6096930B2 (en) Unique and non-clonal platform identifier using data-dependent circuit path response
CN104850792A (en) Establishment method and apparatus of trust chain of server
CN108920307A (en) Server Restart test method, device, equipment and computer readable storage medium
CN110888804B (en) Interface test method and interface test platform
CN111352829A (en) Memory leak test method, device and equipment
CN114218882A (en) SoC chip inspection method, device and related equipment
CN111277476A (en) Gateway controller function verification method, gateway controller function verification device, computer equipment and storage medium
KR102610756B1 (en) Apparatus and method for managing testcase for testing software
US9646252B2 (en) Template clauses based SAT techniques
EP3765965B1 (en) Static software analysis tool approach to determining breachable common weakness enumerations violations
KR102024275B1 (en) Test program development system and its method using script
CN110568346A (en) Aging test method and system for smart card
KR102485341B1 (en) Apparatus and method for managing testcase for testing software
US8639978B2 (en) Topology independent network-based automation infrastructure
CN111858136A (en) Method and system for detecting abnormal data of solid state disk, electronic device and storage medium
US8639490B2 (en) Concretization of abstracted traces
JP2009031129A (en) Testing device and testing method
CN113836012B (en) Algorithm testing method and device, electronic equipment and storage medium
CN112560035B (en) Application detection method, device, equipment and storage medium
Bhasin et al. Software Architecture Based Regression Testing
Naware et al. Form Factor Agnostic Platform Silicon to Software Scalable Validation and Debug Methodology
CN113722201A (en) API consistency detection method and PaaS platform
CN117033237A (en) Log test method and device, electronic equipment and storage medium
CN114090357A (en) Hard disk performance test method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right