KR20190068829A - 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
KR20190068829A
KR20190068829A KR1020170169005A KR20170169005A KR20190068829A KR 20190068829 A KR20190068829 A KR 20190068829A KR 1020170169005 A KR1020170169005 A KR 1020170169005A KR 20170169005 A KR20170169005 A KR 20170169005A KR 20190068829 A KR20190068829 A KR 20190068829A
Authority
KR
South Korea
Prior art keywords
software
functional elements
test
test cases
test case
Prior art date
Application number
KR1020170169005A
Other languages
Korean (ko)
Other versions
KR102485341B1 (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 KR1020170169005A priority Critical patent/KR102485341B1/en
Publication of KR20190068829A publication Critical patent/KR20190068829A/en
Application granted granted Critical
Publication of KR102485341B1 publication Critical patent/KR102485341B1/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

Abstract

According to one embodiment of the present invention, an apparatus for managing a test case for a software test comprises: a case generating unit for generating a plurality of first test cases for testing functional elements of first software and a plurality of second test cases for testing functional elements of second software; a first detection unit for detecting at least one third test case corresponding to a first detection condition among the second test cases by comparing the functional elements of the first and second software functional elements; a second detection unit for detecting at least one fourth test case corresponding to a second detection condition among the first and second test cases by comparing the first and second test cases; and a determination unit for determining at least one of the detected third and fourth test cases as an optimal test case.

Description

소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법{APPARATUS AND METHOD FOR MANAGING TESTCASE FOR TESTING SOFTWARE}[0001] APPARATUS AND METHOD FOR MANAGING TESTCASE FOR TESTING SOFTWARE FOR SOFTWARE TEST [0002]

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

제어기 소프트웨어(SW)는 최초에 기반모델을 개발하고, 기반모델에 포함된 기능이 추가, 변경, 삭제되는 경우 기반모델의 일부를 수정하여 파생모델을 개발하는 방식으로 개발된다. 이렇게 개발된 파생모델은 최초 기반모델에 대해서 테스트를 수행한 테스트케이스를 이용하여 테스트된다. The controller software (SW) is developed by developing the base model first, and when the 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 is tested using the test cases that were tested for the first base model.

테스트를 수행하는 방법은 크게 두 가지가 있다. 하나는 최초 기반모델을 검증할 때, 입력데이터로 사용했던 테스트케이스를 모두 사용하여 검증을 수행하는 방법(SW 재검증)이고, 다른 하나는 검증의 효율성을 위해 최초 기반모델에서 변경된 SW 부분을 고려하여 기반모델 검증에 사용했던 테스트케이스 중 일부를 선택해서 검증을 수행하는 방법(SW 회귀 검증)이다. There are two main ways to perform the test. One is the method of performing verification using all the test cases used as input data (SW re-verification) when verifying the first base model, and the other is considering the changed SW part in the first base model for verification efficiency. (SW regression verification) by selecting some of the test cases that were used to verify the base model.

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

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

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

본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치는 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스 생성하는 케이스 생성부, 상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들을 비교하여 상기 복수의 제 2 테스트케이스 중 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출하는 제 1 검출부, 상기 복수의 제 1 테스트케이스와 상기 복수의 제 2 테스트케이스를 비교하여 상기 복수의 제 1 테스트케이스 및 상기 복수의 제 2 테스트케이스 중 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출하는 제 2 검출부, 및 상기 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정하는 결정부를 포함할 수 있다. The test case management device for software testing according to an embodiment of the present invention includes a plurality of first test cases for testing functional elements of the first software and a plurality of second test cases for testing functional elements of the second software, Comparing the functional elements of the first software and the functional elements of the second software to detect at least one third test case corresponding to the first detection condition among the plurality of second test cases And a second test section for comparing the plurality of first test cases with the plurality of second test cases to detect at least one fourth test case corresponding to a second detection condition among the plurality of first test cases and the plurality of second test cases, A second detecting section for detecting a test case, and a second detecting section for detecting the at least one third test < RTI ID = 0.0 > And the fourth test case as the optimum test case.

일 실시예에서, 상기 제 1 검출조건은 상기 제 2 소프트웨어의 기능 요소들 중에서 상기 제 1 소프트웨어의 기능 요소들과 다른 기능 요소들에 대응되는 테스트케이스를 검출하는 조건일 수 있다. In one embodiment, the first detection condition may be a condition for detecting a test case corresponding to functional elements different from the functional elements of the first software among the functional elements of the second software.

일 실시예에서, 상기 제 2 검출조건은 상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들 중에서 동일한 기능 요소들에 대응되는 테스트케이스들 중 서로 다른 값으로 정의되는 테스트케이스를 검출하는 조건일 수 있다. In one embodiment, the second detection condition detects a test case defined by different values among the test cases corresponding to the same functional elements among the functional elements of the first software and the functional elements of the second software Lt; / RTI >

일 실시예에서, 상기 제 2 소프트웨어의 기능 요소들은 상기 제 1 소프트웨어의 기능 요소들을 일부 삭제하거나 상기 제 1 소프트웨어의 기능 요소들에 다른 기능 요소들을 추가하여 생성될 수 있다. In one embodiment, the functional elements of the second software may be created by deleting some of the functional elements of the first software or adding other functional elements to the functional elements of the first software.

일 실시예에서, 상기 복수의 제 1 테스트케이스 각각은 상기 제 1 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함할 수 있다. In one embodiment, each of the plurality of first test cases may include an input value of variables defined in the functional elements of the first software.

일 실시예에서, 상기 복수의 제 2 테스트케이스 각각은 상기 제 2 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함할 수 있다. In one embodiment, each of the plurality of second test cases may include an input value of variables defined in the functional elements of the second software.

본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법은 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스 생성하는 단계, 상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들을 비교하여 상기 복수의 제 2 테스트케이스 중 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출하는 단계, 상기 복수의 제 1 테스트케이스와 상기 복수의 제 2 테스트케이스를 비교하여 상기 복수의 제 1 테스트케이스 및 상기 복수의 제 2 테스트케이스 중 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출하는 단계, 및 상기 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정하는 단계를 포함할 수 있다. A test case management method for software testing according to an embodiment of the present invention includes a plurality of first test cases for testing functional elements of the first software and a plurality of second test cases for testing functional elements of the second software Detecting at least one third test case corresponding to a first detection condition among the plurality of second test cases by comparing the functional elements of the first software with the functional elements of the second software, Comparing the plurality of first test cases and the plurality of second test cases to detect at least one fourth test case corresponding to a second detection condition among the plurality of first test cases and the plurality of second test cases , And detecting the at least one third test case and the fourth test case The can include determining the optimum test cases.

일 실시예에서, 상기 제 1 검출조건은 상기 제 2 소프트웨어의 기능 요소들 중에서 상기 제 1 소프트웨어의 기능 요소들과 다른 기능 요소들에 대응되는 테스트케이스를 검출하는 조건일 수 있다. In one embodiment, the first detection condition may be a condition for detecting a test case corresponding to functional elements different from the functional elements of the first software among the functional elements of the second software.

일 실시예에서, 상기 제 2 검출조건은 상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들 중에서 동일한 기능 요소들에 대응되는 테스트케이스들 중 서로 다른 값으로 정의되는 테스트케이스를 검출하는 조건일 수 있다. In one embodiment, the second detection condition detects a test case defined by different values among the test cases corresponding to the same functional elements among the functional elements of the first software and the functional elements of the second software Lt; / RTI >

일 실시예에서, 상기 제 2 소프트웨어의 기능 요소들은 상기 제 1 소프트웨어의 기능 요소들을 일부 삭제하거나 상기 제 1 소프트웨어의 기능 요소들에 다른 기능 요소들을 추가하여 생성될 수 있다. In one embodiment, the functional elements of the second software may be created by deleting some of the functional elements of the first software or adding other functional elements to the functional elements of the first software.

일 실시예에서, 상기 복수의 제 1 테스트케이스 각각은 상기 제 1 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함할 수 있다. In one embodiment, each of the plurality of first test cases may include an input value of variables defined in the functional elements of the first software.

일 실시예에서, 상기 복수의 제 2 테스트케이스 각각은 상기 제 2 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함할 수 있다. In one embodiment, each of the plurality of second test cases may include an input value of variables defined in the functional elements of the second software.

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

도 1은 본 발명의 일 실시예에 따른 제 1 소프트웨어 및 제 2 소프트웨어의 기능 요소들을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치를 보여준다.
도 3은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 보여주는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스들을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스들을 설명하기 위한 도면이다.
도 6 및 도 7은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 구체적으로 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 실행하기 위한 컴퓨팅 시스템을 보여준다.
1 is a view for explaining functional elements of a first software and a second software according to an embodiment of the present invention.
2 shows a test case management apparatus for software testing according to an embodiment of the present invention.
3 is a flowchart illustrating a test case management method for software testing according to an embodiment of the present invention.
4 is a diagram illustrating a plurality of first test cases for testing functional elements of a first software according to an embodiment of the present invention.
5 is a view for explaining a plurality of second test cases for testing functional elements of a second software according to an embodiment of the present invention.
FIG. 6 and FIG. 7 illustrate a test case management method for software testing according to an embodiment of the present invention.
FIG. 8 illustrates a computing system for implementing a test case management method for software testing according to an embodiment of the present invention.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference symbols as possible even if they are shown in different drawings. In the following description of the embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the difference that the embodiments of the present invention are not conclusive.

본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In describing the components of the embodiment of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. Also, 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 this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하에서, '소프트웨어'는 차량의 제어기에 의해 실행되는 소프트웨어를 의미할 수 있으나, 이는 이해를 돕기 위한 예시일 뿐이며, 이에 한정되는 것은 아니다. 또한, '소프트웨어'는 제 1 소프트웨어 및 제 2 소프트웨어를 포함할 수 있으며, 제 2 소프트웨어는 제 1 소프트웨어의 기능 요소들의 일부를 삭제하거나, 제 1 소프트웨어의 기능 요소들에 다른 기능 요소들을 추가하거나, 제 1 소프트웨어의 기능 요소들의 전부 또는 일부를 변경한 소프트웨어로 정의될 수 있다. Hereinafter, 'software' may mean software executed by the controller of the vehicle, but this is merely an example for the sake of understanding, but is not limited thereto. Further, the 'software' may include a first software and a second software, and the second software may delete some of the functional elements of the first software, add other functional elements to the functional elements of the first software, May be defined as software that alters all or a portion of the functional elements of the first software.

도 1은 본 발명의 일 실시예에 따른 제 1 소프트웨어 및 제 2 소프트웨어의 기능 요소들을 설명하기 위한 도면이다. 1 is a view for explaining functional elements of a first software and a second software according to an embodiment of the present invention.

도 1을 참조하면, 제 1 소프트웨어(a) 및 제 2 소프트웨어(b)의 기능 요소들이 도시된다. 여기서, 기능 요소는 소프트웨어에 정의된 '상태(state)' 및 '전이(transition)'를 포함할 수 있으며, '상태'는 특정 시점의 차량 제어기의 상태를 의미할 수 있고, '전이'는 각 '상태'들을 연결하는 동작을 의미할 수 있다. 또한, '전이'는 전이가 발생하기 위한 '전이 조건'과 전이 조건을 만족하는 경우 발생되는 동작으로 구성될 수 있다. Referring to Figure 1, functional elements of a first software (a) and a second software (b) are shown. Here, the functional element may include 'state' and 'transition' defined in the software, 'state' may mean the state of the vehicle controller at a specific point in time, and 'transition' May refer to an operation of connecting 'states'. In addition, 'transition' can be composed of 'transition condition' for occurrence of transition and 'action occurring when transition condition is satisfied'.

도 1의 (a)를 참조하면, 제 1 소프트웨어는 기능 요소들(sub 1 내지 sub 8)로 구성될 수 있다. 도 1의 (b)를 참조하면, 제 2 소프트웨어는 기능 요소들(sub 1 내지 3, sub 4, sub 6, sub 8 내지 11)로 구성될 수 있다. 즉, 제 2 소프트웨어는 제 1 소프트웨어의 기능 요소들 중 sub 5가 sub 11로 변경되고, sub 7이 삭제되고, sub 9 및 sub 10이 추가된 형태일 수 있다. 이와 같이 제 2 소프트웨어는 제 1 소프트웨어의 기능 요소들의 일부를 삭제하거나 제 1 소프트웨어의 기능 요소들에 다른 기능 요소들을 추가하거나 제 1 소프트웨어의 기능 요소들의 전부 또는 일부를 변경한 소프트웨어로 정의될 수 있다. 한편, 이해를 돕기 위해 이하에서 제 1 소프트웨어 및 제 2 소프트웨어의 기능 요소는 '전이'로 정의된다. Referring to FIG. 1 (a), the first software may be composed of functional elements (sub 1 to sub 8). Referring to FIG. 1 (b), the second software may be composed of functional elements (sub 1 to 3, sub 4, sub 6, sub 8 to 11). That is, the second software may be a form in which sub 5 of functional elements of the first software is changed to sub 11, sub 7 is deleted, and sub 9 and sub 10 are added. As such, the second software may be defined as software that deletes some of the functional elements of the first software, adds other functional elements to the functional elements of the first software, or alters all or a part of the functional elements of the first software . On the other hand, for the sake of understanding, the functional elements of the first software and the second software are defined as " transition " below.

제 2 소프트웨어의 기능 요소들 중 제 1 소프트웨어의 기능 요소들과 비교하여 추가된 기능 요소(ex. sub 9, 10)와 관련된 테스트케이스(즉, 추가된 기능 요소를 테스트하기 위한 테스트케이스)는 제 2 소프트웨어의 테스트에 이용될 필요가 있다. 또한, 제 2 소프트웨어의 기능 요소들 중 일부 기능 요소가 변경되거나(ex. sub 5 -> sub 11로 변경, 도 1 참조) 삭제되는 경우(ex. sub 7 삭제, 도 1 참조) 변경되거나 삭제된 기능 요소에 의해 영향을 받는 기능 요소와 관련된 테스트케이스(들)도 제 2 소프트웨어의 테스트에 이용될 필요가 있다. A test case (i.e., a test case for testing the added functional element) associated with the added functional elements (ex 9, 10) compared with the functional elements of the first software among the functional elements of the second software 2 software needs to be used for testing. If some of the functional elements of the second software are changed (ex. Sub 5 -> sub 11, see FIG. 1) or deleted (ex. Sub 7 deleted, see FIG. 1) The test case (s) associated with the functional elements affected by the functional elements also need to be used for the testing of the second software.

이에, 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법은 제 2 소프트웨어 테스트를 위한 최적의 테스트케이스를 결정하는 기술적 사상을 포함할 수 있다. Accordingly, the test case management apparatus and method for software testing according to an exemplary embodiment of the present invention may include a technical idea for determining an optimal test case for the second software test.

구체적으로, 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법은 제 2 소프트웨어의 기능 요소들 중 제 1 소프트웨어의 기능 요소들과 다른 기능 요소에 대응되는 테스트케이스 및 제 1 소프트웨어의 기능 요소들과 제 2 소프트웨어의 기능 요소들 중에서 동일한 기능 요소들에 대응되는 테스트케이스들 중 서로 다른 값으로 정의되는 테스트케이스들을 검출하여 최적의 테스트케이스로 결정할 수 있다. 이는 이하에서 도 2 내지 도 7을 참조하여 더욱 구체적으로 설명될 것이다. Specifically, a test case management apparatus and method for software testing according to an embodiment of the present invention includes a test case corresponding to a functional element of a first software and a test case corresponding to a different functional element, Test cases defined by different values among the test cases corresponding to the same functional elements among the functional elements of the software and the functional elements of the second software can be detected and determined as the optimal test cases. This will be described in more detail below with reference to Figs. 2 to 7.

도 2는 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치를 보여준다.2 shows a test case management apparatus for software testing according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치(100)는 케이스 생성부(110), 제 1 검출부(120), 제 2 검출부(130), 및 결정부(140)를 포함할 수 있다. Referring to FIG. 2, a test case management apparatus 100 for software testing according to an exemplary embodiment of the present invention includes a case generation unit 110, a first detection unit 120, a second detection unit 130, (140).

케이스 생성부(110)는 소프트웨어의 테스트를 위한 테스트케이스(test case)를 생성할 수 있다. 예를 들어, 케이스 생성부(110)는 Simulink/Stateflow 모델을 사용하여 소프트웨어의 기능 요소들 중 테스트가 필요한 대상을 검출하고, 검출된 대상의 테스트를 위한 테스트케이스를 생성할 수 있다. The case generation unit 110 may generate a test case for testing the software. For example, the case generation unit 110 may detect a target of the functional elements of the software using a Simulink / Stateflow model and generate a test case for testing the detected target.

케이스 생성부(110)는 제 1 소프트웨어 및 제 2 소프트웨어 각각을 테스트하기 위한 테스트케이스들을 생성할 수 있다. 예를 들어, 케이스 생성부(110)는 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스를 생성할 수 있다. The case generation unit 110 may generate test cases for testing each of the first software and the second software. For example, the case generation unit 110 may generate a plurality of first test cases for testing functional elements of the first software and a plurality of second test cases for testing functional elements of the second software.

상기 복수의 제 1 테스트케이스 각각은 제 1 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함할 수 있고, 상기 복수의 제 2 테스트케이스 각각은 제 2 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함할 수 있다. 여기서, 상기 변수는 기능 요소들의 전이 조건과 관련된 변수일 수 있다. Each of the plurality of first test cases may include an input value of variables defined in the functional elements of the first software and each of the plurality of second test cases may include an input value of variables defined in the functional elements of the second software It may contain an input value. Here, the variable may be a variable related to the transition condition of the functional elements.

제 1 검출부(120)는 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출할 수 있다. 여기서, 제 1 검출조건은 제 2 소프트웨어의 기능 요소들 중에서 제 1 소프트웨어의 기능 요소들과 다른 기능 요소들에 대응되는 테스트케이스를 검출하는 조건으로 정의될 수 있다. 예를 들어, 제 1 검출부(120)는 제 1 소프트웨어의 기능 요소들과 제 2 소프트웨어의 기능 요소들을 비교하여 복수의 제 2 테스트케이스 중 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출할 수 있다. The first detection unit 120 can detect at least one third test case corresponding to the first detection condition. Here, the first detection condition may be defined as a condition for detecting a test case corresponding to functional elements of the first software and functional elements of the second software. For example, the first detection unit 120 compares the functional elements of the first software with the functional elements of the second software to compare at least one third test case corresponding to the first detection condition among the plurality of second test cases Can be detected.

제 2 검출부(130)는 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출할 수 있다. 여기서, 제 2 검출조건은 제 1 소프트웨어의 기능 요소들과 제 2 소프트웨어의 기능 요소들 중에서 동일한 기능 요소들에 대응되는 테스트케이스들 중 서로 다른 값으로 정의되는 테스트케이스를 검출하는 조건으로 정의될 수 있다. 예를 들어, 제 2 검출부(130)는 복수의 제 1 테스트케이스와 복수의 제 2 테스트케이스를 비교하여 복수의 제 1 테스트케이스 및 상기 복수의 제 2 테스트케이스 중 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출할 수 있다. The second detection unit 130 can detect at least one fourth test case corresponding to the second detection condition. Here, the second detection condition may be defined as a condition for detecting a test case defined by different values among the test cases corresponding to the same functional elements among the functional elements of the first software and the functional elements of the second software have. For example, the second detecting unit 130 compares a plurality of first test cases with a plurality of second test cases, and detects at least a first test case and a second test case corresponding to the second detection condition among the plurality of second test cases One fourth test case can be detected.

또한, 제 2 검출부(130)는 제 1 소프트웨어의 테스트를 위한 복수의 제 1 테스트케이스를 이용하여 제 1 소프트웨어 및 제 2 소프트웨어를 시뮬레이션하고, 제 2 소프트웨어의 테스트를 위한 복수의 제 2 테스트케이스를 이용하여 제 1 소프트웨어 및 제 2 소프트웨어를 시뮬레이션하여 획득되는 커버리지 결과에 기초하여 제 4 테스트케이스를 검출할 수 있다. 여기서, 커버리지 결과는 복수의 테스트케이스를 이용하여 소프트웨어를 시뮬레이션 한 결과 얻어지는 패스(pass)/페일(fail) 정보로 정의될 수 있으며, 패스에 대응되는 테스트케이스는 소프트웨어의 테스트가 가능한 테스트케이스이고, 페일에 대응되는 테스트케이스는 소프트웨어의 테스트가 불가능한 테스트케이스일 수 있다.Also, the second detecting unit 130 may simulate the first software and the second software using a plurality of first test cases for testing the first software, and a plurality of second test cases for testing the second software Can be used to simulate the first software and the second software to detect the fourth test case based on the obtained coverage result. Here, the coverage result may be defined as pass / fail information obtained as a result of simulating software using a plurality of test cases, the test case corresponding to the path is a test case capable of testing software, The test case corresponding to the fail may be a test case in which the software can not be tested.

결정부(140)는 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정할 수 있다. The determination unit 140 may determine the detected at least one third test case and the fourth test case as the optimum test case.

도 3은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 보여주는 흐름도이다. 도 4는 본 발명의 일 실시예에 따른 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스들을 설명하기 위한 도면이다. 도 5는 본 발명의 일 실시예에 따른 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스들을 설명하기 위한 도면이다. 도 6 및 도 7은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 구체적으로 설명하기 위한 도면이다. 3 is a flowchart illustrating a test case management method for software testing according to an embodiment of the present invention. 4 is a diagram illustrating a plurality of first test cases for testing functional elements of a first software according to an embodiment of the present invention. 5 is a view for explaining a plurality of second test cases for testing functional elements of a second software according to an embodiment of the present invention. FIG. 6 and FIG. 7 illustrate a test case management method for software testing according to an embodiment of the present invention.

먼저, 도 3을 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법은 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스를 생성하는 단계(S110), 제 1 소프트웨어의 기능 요소들과 제 2 소프트웨어의 기능 요소들을 비교하여 복수의 제 2 테스트케이스 중 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출하는 단계(S120), 복수의 제 1 테스트케이스와 복수의 제 2 테스트케이스를 비교하여 복수의 제 1 테스트케이스 및 복수의 제 2 테스트케이스 중 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출하는 단계(S130), 및 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정하는 단계(S140)를 포함할 수 있다. Referring to FIG. 3, a test case management method for software testing according to an exemplary embodiment of the present invention includes testing a plurality of first test cases for testing functional elements of a first software, (S110), and comparing the functional elements of the first software with the functional elements of the second software to generate at least one test case corresponding to the first one of the plurality of second test cases (S120), comparing the plurality of first test cases and the plurality of second test cases, and comparing the plurality of first test cases with the plurality of second test cases Detecting one fourth test case (S130), and detecting at least one third test case and a fourth test case And determining the optimal test case (S140).

이하에서, 상술한 S110 단계 내지 S140 단계가 도 2, 도 4 내지 도 7을 참조하여 더욱 구체적으로 설명된다.Hereinafter, the above-described steps S110 to S140 will be described in more detail with reference to FIG. 2, FIG. 4 to FIG.

S110 단계에서, 케이스 생성부(110)는 제 1 소프트웨어 및 제 2 소프트웨어 각각을 테스트하기 위한 테스트케이스들을 생성할 수 있다. 예를 들어, 케이스 생성부(110)는 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스를 생성할 수 있다. In step S110, the case generation unit 110 may generate test cases for testing the first software and the second software, respectively. For example, the case generation unit 110 may generate a plurality of first test cases for testing functional elements of the first software and a plurality of second test cases for testing functional elements of the second software.

도 4를 참조하면, 케이스 생성부(110)는 제 1 소프트웨어의 기능 요소들(R1 내지 R9) 각각을 테스트하기 위한 복수의 제 1 테스트케이스들을 생성할 수 있다. 복수의 제 1 테스트케이스들 각각은 제 1 소프트웨어의 기능 요소들의 전이 조건과 관련된 변수들(ex. A 및 B)의 입력값을 포함할 수 있으며, 도 4에 도시된 바와 같이, 각 변수들의 입력값의 집합 형태로 정의될 수 있다. Referring to FIG. 4, the case generation unit 110 may generate a plurality of first test cases for testing each of the functional elements (R1 to R9) of the first software. Each of the plurality of first test cases may include an input value of variables (ex. A and B) related to the transition condition of the functional elements of the first software, and as shown in Fig. 4, It can be defined as a set of values.

도 5를 참조하면, 케이스 생성부(110)는 제 2 소프트웨어의 기능 요소들(R1 내지 R7, R10 및 R11) 각각을 테스트하기 위한 복수의 제 2 테스트케이스들을 생성할 수 있다. 복수의 제 2 테스트케이스들 각각은 제 2 소프트웨어의 기능 요소들의 전이 조건과 관련된 변수들(ex. A 및 B)의 입력값을 포함할 수 있으며, 도 5에 도시된 바와 같이, 각 변수들의 입력값의 집합 형태로 정의될 수 있다. Referring to FIG. 5, the case generation unit 110 may generate a plurality of second test cases for testing each of the functional elements (R1 to R7, R10, and R11) of the second software. Each of the plurality of second test cases may include an input value of variables (ex. A and B) related to the transition condition of the functional elements of the second software, and as shown in Fig. 5, It can be defined as a set of values.

S120 단계에서, 제 1 검출부(120)는 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출할 수 있다. 여기서, 제 1 검출조건은 제 2 소프트웨어의 기능 요소들 중에서 제 1 소프트웨어의 기능 요소들과 다른 기능 요소들(즉, 추가되거나 삭제된 기능 요소들)에 대응되는 테스트케이스를 검출하는 조건으로 정의될 수 있다. In step S120, the first detection unit 120 may detect at least one third test case corresponding to the first detection condition. Here, the first detection condition is defined as a condition for detecting a test case corresponding to the functional elements of the first software and the functional elements other than the functional elements of the second software (i.e., added or deleted functional elements) .

도 4 및 도 5를 참조하면, 제 1 검출부(120)는 제 1 소프트웨어의 기능 요소들과 비교할 때 2 소프트웨어에서 삭제된 기능 요소들(R8 및 R9) 및 제 2 소프트웨어에서 추가된 기능 요소들(R10 및 R11)을 테스트하기 위한 테스트케이스들을 적어도 하나의 제 3 테스트케이스로 검출할 수 있다. 구체적으로, 도 4 및 도 5에서 R8과 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 3)}) 및 R9와 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 3), (1, 0)}), R10과 관련된 테스트케이스({(0, 0), (1, 0), (1, 2)}), 및 R11과 관련된 테스트케이스((0, 0), (1, 0), (1, 2), (1, 0)})를 제 3 테스트케이스로 검출할 수 있다. 한편, 도시되지는 않았지만, 제 2 소프트웨어의 기능 요소 R5는 제 1 소프트웨어의 기능 요소 R5와 동일하나 전이 조건이 변경된 형태로 정의될 수 있으며, 이러한 경우는 상기 제 1 검출조건에는 해당하지 않는 것으로 가정된다. 4 and 5, the first detection unit 120 includes function elements R8 and R9 deleted from two software and function elements added in the second software when compared with the function elements of the first software R10 and R11) can be detected as at least one third test case. Specifically, the test cases ({(0, 0), (1, 0), (1, 1), (1, 3)} related to R8 and test cases { 0, 0), (1, 0), (1, 0), (1, 0) (0, 0), (1, 0), (1, 2), (1, 0)} associated with R11 can be detected as the third test case . On the other hand, although not shown, the functional element R5 of the second software is the same as the functional element R5 of the first software but can be defined as a form in which the transition condition is changed. In this case, it is assumed that the functional element R5 does not correspond to the first detection condition do.

S130 단계에서, 제 2 검출부(130)는 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출할 수 있다. 여기서, 제 2 검출조건은 제 1 소프트웨어의 기능 요소들과 제 2 소프트웨어의 기능 요소들 중에서 동일한 기능 요소들에 대응되는 테스트케이스들 중 서로 다른 값으로 정의되는 테스트케이스를 검출하는 조건으로 정의될 수 있다. In step S130, the second detection unit 130 may detect at least one fourth test case corresponding to the second detection condition. Here, the second detection condition may be defined as a condition for detecting a test case defined by different values among the test cases corresponding to the same functional elements among the functional elements of the first software and the functional elements of the second software have.

도 4 및 도 5를 참조하면, 제 2 검출부(130)는 제 1 소프트웨어의 기능 요소들과 제 2 소프트웨어의 기능 요소들 중에서 동일한 기능 요소들(R1 내지 R7)에 대응되는 테스트케이스들 중 서로 다른 값으로 정의되는 테스트케이스(R6 및 R7에 대응되는 테스트케이스)를 제 4 테스트케이스로 검출할 수 있다. Referring to FIGS. 4 and 5, the second detecting unit 130 detects a test case corresponding to the same functional element (R1 to R7) among the functional elements of the first software and the functional elements of the second software, (A test case corresponding to R6 and R7) defined by a value can be detected as a fourth test case.

구체적으로, 도 4에서 제 2 검출부(130)는 제 1 소프트웨어의 기능 요소 R6과 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 1), (1, 2)}) 및 R7과 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 1), (1, 2), (1, 0)}), 도 5에서 제 2 소프트웨어의 기능 요소 R6과 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 1), (1, 1), (1, 2)}) 및 R7과 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 1), (1, 1), (1, 2), (1, 0)})를 제 4 테스트케이스로 검출할 수 있다. 4, the second detection unit 130 detects the test cases ({0, 0), (1, 0), (1, 1), (1, (1, 0), (1, 1), (1, 1), (1, 2), (1, 0) (1, 0), (1, 1), (1, 1), (1, 1), 1, 1), (1, 1), (1, 2)} and R7 associated with the test cases {(0, 0), (1, 0) (1, 0)}) can be detected as the fourth test case.

또한, 제 2 검출부(130)는 제 1 소프트웨어의 테스트를 위한 복수의 제 1 테스트케이스를 이용하여 제 1 소프트웨어 및 제 2 소프트웨어를 시뮬레이션하고, 제 2 소프트웨어의 테스트를 위한 복수의 제 2 테스트케이스를 이용하여 제 1 소프트웨어 및 제 2 소프트웨어를 시뮬레이션하여 획득되는 커버리지 결과에 기초하여 제 4 테스트케이스를 검출할 수 있다. Also, the second detecting unit 130 may simulate the first software and the second software using a plurality of first test cases for testing the first software, and a plurality of second test cases for testing the second software Can be used to simulate the first software and the second software to detect the fourth test case based on the obtained coverage result.

예를 들어, 도 6을 참조하면, 제 2 검출부(130)는 제 1 소프트웨어를 위한 복수의 제 1 테스트케이스를 이용하여 제 1 소프트웨어의 기능 요소들(M1) 및 제 2 소프트웨어의 기능 요소들(M2)을 시뮬레이션할 수 있다. 시뮬레이션 결과, 제 2 소프트웨어의 기능 요소들(M2) 중 R6 및 R7은 복수의 제 1 테스트케이스에 의해 커버되지 못할 수 있다. 이는 앞서 설명한 기능 요소 R5의 전이 조건 변경이나 R8 및 R9의 삭제에 의해 제 2 소프트웨어의 기능 요소들(M2) 중 R6 및 R7이 영향을 받았을 수 있음을 의미할 수 있다. 따라서, 제 2 검출부(130)는 제 1 소프트웨어의 기능 요소 R6 및 R7과 관련된 테스트케이스들을 제 4 테스트케이스로 검출할 수 있다. 또한, 도 7을 참조하면, 제 2 검출부(130)는 제 2 소프트웨어를 위한 복수의 제 2 테스트케이스를 이용하여 제 1 소프트웨어의 기능 요소들(M1) 및 제 2 소프트웨어의 기능 요소들(M2)을 시뮬레이션할 수 있다. 시뮬레이션 결과, 제 1 소프트웨어의 기능 요소들(M1) 중 R6 및 R7은 복수의 제 2 테스트케이스에 의해 커버되지 못할 수 있다. 이는 앞서 설명한 기능 요소 R5의 전이 조건 변경이나 R10 및 R11의 추가에 의해 제 1 소프트웨어의 기능 요소들(M1) 중 R6 및 R7이 영향을 받았을 수 있음을 의미할 수 있다. 따라서, 제 2 검출부(130)는 제 2 소프트웨어의 기능 요소들 R6 및 R7과 관련된 테스트케이스들을 제 4 테스트케이스로 검출할 수 있다. For example, referring to FIG. 6, the second detecting unit 130 may detect the functional elements M1 of the first software and the functional elements of the second software (e.g., M2 can be simulated. As a result of the simulation, R6 and R7 among the functional elements M2 of the second software may not be covered by the plurality of first test cases. This may mean that R6 and R7 of the functional elements M2 of the second software may have been affected by changing the transition condition of the functional element R5 described above or deleting R8 and R9. Therefore, the second detection unit 130 can detect the test cases associated with the functional elements R6 and R7 of the first software with the fourth test case. 7, the second detecting unit 130 detects the functional elements M1 of the first software and the functional elements M2 of the second software using the plurality of second test cases for the second software, Can be simulated. As a result of the simulation, R6 and R7 among the functional elements M1 of the first software may not be covered by the plurality of second test cases. This may mean that R6 and R7 of the functional elements M1 of the first software may have been influenced by a transition condition change or addition of R10 and R11 of the functional element R5 described above. Accordingly, the second detecting unit 130 can detect the test cases associated with the functional elements R6 and R7 of the second software in the fourth test case.

S140 단계에서, 결정부(140)는 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정할 수 있다. In step S140, the determination unit 140 may determine the detected at least one third test case and the fourth test case as the optimum test case.

즉, 결정부(140)는 제 1 소프트웨어의 기능 요소들 중 R6과 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 1), (1, 2)}), R7과 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 1), (1, 2), (1, 0)}), R8과 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 3)}) 및 R9와 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 3), (1, 0)}), 제 2 소프트웨어의 기능 요소들 중 R6과 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 1), (1, 1), (1, 2)}), R7과 관련된 테스트케이스({(0, 0), (1, 0), (1, 1), (1, 1), (1, 1), (1, 2), (1, 0), R10과 관련된 테스트케이스({(0, 0), (1, 0), (1, 2)}), 및 R11과 관련된 테스트케이스((0, 0), (1, 0), (1, 2), (1, 0)}), 총 8개의 테스트케이스들을 최적 테스트케이스로 결정할 수 있다. That is, the determination unit 140 determines the test cases ({0, 0), (1, 0), (1, 1), (1, 1) (1, 0), (1, 1), (1, 1), (1, 2), (1, 0)} related to R7) (1, 0), (1, 0), (1, 1), (1, 3)} associated with R8 and the test cases {(0, 0) 0), (1, 0), (1, 0)} associated with R6 among the functional elements of the second software, 1, 1), (1, 1), (1, 1), (1, 1) (1, 0), (1, 0), (1, 2)} associated with the test cases (1, 1), (1, 1), (1, 2) , (1, 0), (1, 2), (1, 0)} associated with R11 can be determined as the optimum test cases.

따라서, 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법에 따르면, 모든 기능 요소들을 테스트하기 위한 테스트케이스가 아니라 일부 테스트케이스만을 선택적으로 이용하여 소프트웨어를 테스트할 수 있어 테스트 효율성이 향상될 수 있고, 제 1 검출조건 또는 제 2 검출조건을 만족하는 테스트케이스를 선택적으로 이용하여 소프트웨어를 테스트할 수 있어 테스트 신뢰성이 향상될 수 있다. Therefore, according to the test case management apparatus and method for testing software according to an embodiment of the present invention, it is possible to test software by selectively using only a part of test cases rather than a test case for testing all functional elements, The efficiency can be improved and the software can be tested selectively using the test cases satisfying the first detection condition or the second detection condition, and the test reliability can be improved.

도 8은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 실행하기 위한 컴퓨팅 시스템을 보여준다. FIG. 8 illustrates a computing system for implementing a test case management method for software testing according to an embodiment of the present invention.

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

프로세서(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 memory device 1300 and / or a semiconductor device that performs processing for instructions stored in the storage 1600. Memory 1300 and storage 1600 may include various types of volatile or non-volatile storage media. For example, the memory 1300 may include a ROM (Read Only Memory) and a RAM (Random Access Memory).

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

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

따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, 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 construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

100: 소프트웨어 테스트를 위한 테스트케이스 관리 장치
110: 케이스 생성부
120: 제 1 검출부
130: 제 2 검출부
140: 결정부
1000: 컴퓨팅 시스템
1100: 프로세서
1200: 버스
1300: 메모리
1310: ROM
1320: RAM
1400: 사용자 인터페이스 입력장치
1500: 사용자 인터페이스 출력장치
1600: 스토리지
1700: 네트워크 인터페이스
100: Test case management device for software testing
110: Case generation unit
120: first detection unit
130:
140:
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 (12)

제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스 생성하는 케이스 생성부;
상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들을 비교하여 상기 복수의 제 2 테스트케이스 중 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출하는 제 1 검출부;
상기 복수의 제 1 테스트케이스와 상기 복수의 제 2 테스트케이스를 비교하여 상기 복수의 제 1 테스트케이스 및 상기 복수의 제 2 테스트케이스 중 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출하는 제 2 검출부; 및
상기 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정하는 결정부를 포함하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
A case generation unit for generating a plurality of second test cases for testing functional elements of a plurality of first test cases and second software for testing functional elements of the first software;
A first detecting unit for comparing at least one third test case corresponding to a first detection condition among the plurality of second test cases by comparing the functional elements of the first software with the functional elements of the second software;
Comparing the plurality of first test cases and the plurality of second test cases to detect at least one fourth test case corresponding to a second detection condition among the plurality of first test cases and the plurality of second test cases A second detection unit for detecting the first detection signal; And
And a determination unit for determining the detected at least one third test case and the fourth test case as an optimal test case.
제 1 항에 있어서,
상기 제 1 검출조건은 상기 제 2 소프트웨어의 기능 요소들 중에서 상기 제 1 소프트웨어의 기능 요소들과 다른 기능 요소들에 대응되는 테스트케이스를 검출하는 조건인 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method according to claim 1,
Wherein the first detection condition is a condition for detecting a test case corresponding to the functional elements of the first software and the other functional elements among the functional elements of the second software. .
제 1 항에 있어서,
상기 제 2 검출조건은 상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들 중에서 동일한 기능 요소들에 대응되는 테스트케이스들 중 서로 다른 값으로 정의되는 테스트케이스를 검출하는 조건인 것으로 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method according to claim 1,
The second detection condition is a condition for detecting a test case defined by different values among the test cases corresponding to the same functional elements among the functional elements of the first software and the functional elements of the second software A test case management device for software testing.
제 1 항에 있어서,
상기 제 2 소프트웨어의 기능 요소들은 상기 제 1 소프트웨어의 기능 요소들을 일부 삭제하거나 상기 제 1 소프트웨어의 기능 요소들에 다른 기능 요소들을 추가하여 생성되는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method according to claim 1,
Wherein the functional elements of the second software are generated by partially deleting the functional elements of the first software or adding other functional elements to the functional elements of the first software.
제 1 항에 있어서,
상기 복수의 제 1 테스트케이스 각각은 상기 제 1 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method according to claim 1,
Wherein each of the plurality of first test cases includes an input value of variables defined in the functional elements of the first software.
제 1 항에 있어서,
상기 복수의 제 2 테스트케이스 각각은 상기 제 2 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
The method according to claim 1,
Wherein each of the plurality of second test cases includes an input value of variables defined in the functional elements of the second software.
제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스 생성하는 단계;
상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들을 비교하여 상기 복수의 제 2 테스트케이스 중 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출하는 단계;
상기 복수의 제 1 테스트케이스와 상기 복수의 제 2 테스트케이스를 비교하여 상기 복수의 제 1 테스트케이스 및 상기 복수의 제 2 테스트케이스 중 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출하는 단계; 및
상기 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정하는 단계를 포함하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
Generating a plurality of second test cases for testing functional elements of a plurality of first test cases and second software for testing functional elements of the first software;
Detecting at least one third test case corresponding to a first detection condition among the plurality of second test cases by comparing the functional elements of the first software with the functional elements of the second software;
Comparing the plurality of first test cases and the plurality of second test cases to detect at least one fourth test case corresponding to a second detection condition among the plurality of first test cases and the plurality of second test cases ; And
And determining the detected at least one third test case and the fourth test case as the optimum test case.
제 7 항에 있어서,
상기 제 1 검출조건은 상기 제 2 소프트웨어의 기능 요소들 중에서 상기 제 1 소프트웨어의 기능 요소들과 다른 기능 요소들에 대응되는 테스트케이스를 검출하는 조건인 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
8. The method of claim 7,
Wherein the first detection condition is a condition for detecting a test case corresponding to functional elements of the first software and functional elements of the second software among the functional elements of the second software .
제 7 항에 있어서,
상기 제 2 검출조건은 상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들 중에서 동일한 기능 요소들에 대응되는 테스트케이스들 중 서로 다른 값으로 정의되는 테스트케이스를 검출하는 조건인 것으로 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
8. The method of claim 7,
The second detection condition is a condition for detecting a test case defined by different values among the test cases corresponding to the same functional elements among the functional elements of the first software and the functional elements of the second software A test case management method for software testing.
제 7 항에 있어서,
상기 제 2 소프트웨어의 기능 요소들은 상기 제 1 소프트웨어의 기능 요소들을 일부 삭제하거나 상기 제 1 소프트웨어의 기능 요소들에 다른 기능 요소들을 추가하여 생성되는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
8. The method of claim 7,
Wherein the functional elements of the second software are generated by deleting some of the functional elements of the first software or adding other functional elements to the functional elements of the first software.
제 7 항에 있어서,
상기 복수의 제 1 테스트케이스 각각은 상기 제 1 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
8. The method of claim 7,
Wherein each of the plurality of first test cases includes an input value of variables defined in the functional elements of the first software.
제 7 항에 있어서,
상기 복수의 제 2 테스트케이스 각각은 상기 제 2 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
8. The method of claim 7,
Wherein each of the plurality of second test cases includes an input value of variables defined in the functional elements of the second software.
KR1020170169005A 2017-12-11 2017-12-11 Apparatus and method for managing testcase for testing software KR102485341B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170169005A KR102485341B1 (en) 2017-12-11 2017-12-11 Apparatus and method for managing testcase for testing software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170169005A KR102485341B1 (en) 2017-12-11 2017-12-11 Apparatus and method for managing testcase for testing software

Publications (2)

Publication Number Publication Date
KR20190068829A true KR20190068829A (en) 2019-06-19
KR102485341B1 KR102485341B1 (en) 2023-01-05

Family

ID=67104674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170169005A KR102485341B1 (en) 2017-12-11 2017-12-11 Apparatus and method for managing testcase for testing software

Country Status (1)

Country Link
KR (1) KR102485341B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302552A1 (en) * 2010-06-03 2011-12-08 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and computer readable storage medium
KR101393807B1 (en) * 2012-11-22 2014-05-12 슈어소프트테크주식회사 Apparatus for regression testing of software and method thereof
KR101588027B1 (en) * 2014-10-10 2016-01-25 (주)씽크포비엘 Method and apparatus for generating test case to support localization of software

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302552A1 (en) * 2010-06-03 2011-12-08 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and computer readable storage medium
KR101393807B1 (en) * 2012-11-22 2014-05-12 슈어소프트테크주식회사 Apparatus for regression testing of software and method thereof
KR101588027B1 (en) * 2014-10-10 2016-01-25 (주)씽크포비엘 Method and apparatus for generating test case to support localization of software

Also Published As

Publication number Publication date
KR102485341B1 (en) 2023-01-05

Similar Documents

Publication Publication Date Title
US10691806B2 (en) Self-measuring nonvolatile memory device systems and methods
US6931611B2 (en) Design verification system for avoiding false failures and method therefor
WO2016106605A1 (en) Simulation verification method for fpga functional module and system thereof
US20180174665A1 (en) Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic
JP6096930B2 (en) Unique and non-clonal platform identifier using data-dependent circuit path response
CN104239616A (en) Design method of integrated circuit and hardware trojan detection method
KR102190727B1 (en) Apparatus and method for detecting vulnerability of software
CN111257788B (en) Dynamic test method, system, equipment and medium of power supply
CN112925682A (en) Test device and method with built-in self-test logic
JP6215949B2 (en) System and method for state-based test case generation for software verification
JP5398113B2 (en) Processor configured to receive a digital signal and method for determining the quality of a received digital signal (dynamic determination of signal quality in a digital system)
JP2007206069A (en) Method and device for formatting data automatically based on best matched test result type
KR20190068829A (en) Apparatus and method for managing testcase for testing software
KR102097988B1 (en) Apparatus for error simulation and method thereof
CN113760751B (en) Method for generating test case, electronic device and storage medium
US11947891B2 (en) Balancing cycle stealing with early mode violations
KR102610756B1 (en) Apparatus and method for managing testcase for testing software
US20210132147A1 (en) Test pattern generating method, test pattern generating device and fault model generating method
JP4417084B2 (en) Fault detection simulation system for analog circuits
KR20180103475A (en) Method and apparatus for detecting vulnerability of software
Müelich et al. Channel models for physical unclonable functions based on DRAM retention measurements
JPWO2019229883A1 (en) Inspection device, inspection method, and inspection program
WO2017124926A1 (en) Sensor test method and apparatus
US9477800B1 (en) System, method, and computer program product for automatically selecting a constraint solver algorithm in a design verification environment
KR102170395B1 (en) Response unstability detection apparatus and method based on response decision time for complementary physical unclonable function

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant