KR102485341B1 - 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
KR102485341B1
KR102485341B1 KR1020170169005A KR20170169005A KR102485341B1 KR 102485341 B1 KR102485341 B1 KR 102485341B1 KR 1020170169005 A KR1020170169005 A KR 1020170169005A KR 20170169005 A KR20170169005 A KR 20170169005A KR 102485341 B1 KR102485341 B1 KR 102485341B1
Authority
KR
South Korea
Prior art keywords
software
functional elements
test cases
test
test case
Prior art date
Application number
KR1020170169005A
Other languages
Korean (ko)
Other versions
KR20190068829A (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

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

본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치는 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스 생성하는 케이스 생성부, 상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들을 비교하여 상기 복수의 제 2 테스트케이스 중 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출하는 제 1 검출부, 상기 복수의 제 1 테스트케이스와 상기 복수의 제 2 테스트케이스를 비교하여 상기 복수의 제 1 테스트케이스 및 상기 복수의 제 2 테스트케이스 중 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출하는 제 2 검출부, 및 상기 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정하는 결정부를 포함할 수 있다. A test case management apparatus for software testing according to an embodiment of the present invention includes 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 case generating unit that compares functional elements of the first software and functional elements of the second software to detect at least one third test case corresponding to a first detection condition among the plurality of second test cases; A first detection unit compares the plurality of first test cases with the plurality of second test cases to obtain 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. It may include a second detection unit that detects a test case, and a determination unit that determines at least one of the detected third and fourth test cases as an optimum test case.

Figure 112017122873724-pat00002
Figure 112017122873724-pat00002

Description

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

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

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

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

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

본 발명의 일 목적은 소프트웨어 테스트의 효율성 및/또는 신뢰성을 향상시킬 수 있는 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법을 제공하는 데 있다. One object of the present invention is to provide a test case management apparatus and management 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 technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.

본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치는 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스 생성하는 케이스 생성부, 상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들을 비교하여 상기 복수의 제 2 테스트케이스 중 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출하는 제 1 검출부, 상기 복수의 제 1 테스트케이스와 상기 복수의 제 2 테스트케이스를 비교하여 상기 복수의 제 1 테스트케이스 및 상기 복수의 제 2 테스트케이스 중 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출하는 제 2 검출부, 및 상기 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정하는 결정부를 포함할 수 있다. A test case management apparatus for software testing according to an embodiment of the present invention includes 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 case generating unit that compares functional elements of the first software and functional elements of the second software to detect at least one third test case corresponding to a first detection condition among the plurality of second test cases; A first detection unit compares the plurality of first test cases with the plurality of second test cases to obtain 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. It may include a second detection unit that detects a test case, and a determination unit that determines at least one of the detected third and fourth test cases as an optimum test case.

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

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

일 실시예에서, 상기 제 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 input values of variables defined in functional elements of the first software.

일 실시예에서, 상기 복수의 제 2 테스트케이스 각각은 상기 제 2 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함할 수 있다. In one embodiment, each of the plurality of second test cases may include input values of variables defined in 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 first software and a plurality of second test cases for testing functional elements of second software. generating, comparing functional elements of the first software with functional elements of the second software and detecting at least one third test case corresponding to a first detection condition among the plurality of second test cases; At least one fourth test case corresponding to the second detection condition is detected among the first plurality of test cases and the plurality of second test cases by comparing the plurality of first test cases with the plurality of second test cases. and determining the detected at least one third test case and a fourth test case as an optimal test case.

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

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

일 실시예에서, 상기 제 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 input values of variables defined in functional elements of the first software.

일 실시예에서, 상기 복수의 제 2 테스트케이스 각각은 상기 제 2 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함할 수 있다. In one embodiment, each of the plurality of second test cases may include input values of variables defined in functional elements 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, the 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 diagram for explaining functional elements of first software and second software according to an embodiment of the present invention.
2 shows a test case management device for software testing according to an embodiment of the present invention.
3 is a flowchart showing a test case management method for software testing according to an embodiment of the present invention.
4 is a diagram for explaining a plurality of first test cases for testing functional elements of the first software according to an embodiment of the present invention.
5 is a diagram for explaining a plurality of second test cases for testing functional elements of a second software according to an embodiment of the present invention.
6 and 7 are diagrams for explaining in detail a test case management method for software testing according to an embodiment of the present invention.
8 shows a computing system for executing 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 through exemplary drawings. In adding reference numerals to components of each drawing, it should be noted that the same components have the same numerals as much as possible even if they are displayed 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 hinders understanding of the embodiment of the present invention, the detailed description will be omitted.

본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 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 only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term. In addition, unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present 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 related art, and unless explicitly defined in the present application, they should not be interpreted in an ideal or excessively formal meaning. don't

이하에서, '소프트웨어'는 차량의 제어기에 의해 실행되는 소프트웨어를 의미할 수 있으나, 이는 이해를 돕기 위한 예시일 뿐이며, 이에 한정되는 것은 아니다. 또한, '소프트웨어'는 제 1 소프트웨어 및 제 2 소프트웨어를 포함할 수 있으며, 제 2 소프트웨어는 제 1 소프트웨어의 기능 요소들의 일부를 삭제하거나, 제 1 소프트웨어의 기능 요소들에 다른 기능 요소들을 추가하거나, 제 1 소프트웨어의 기능 요소들의 전부 또는 일부를 변경한 소프트웨어로 정의될 수 있다. Hereinafter, 'software' may refer to software executed by a controller of a 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, adds other functional elements to the functional elements of the first software, or It may be defined as software that changes all or part of the functional elements of the first software.

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

도 1을 참조하면, 제 1 소프트웨어(a) 및 제 2 소프트웨어(b)의 기능 요소들이 도시된다. 여기서, 기능 요소는 소프트웨어에 정의된 '상태(state)' 및 '전이(transition)'를 포함할 수 있으며, '상태'는 특정 시점의 차량 제어기의 상태를 의미할 수 있고, '전이'는 각 '상태'들을 연결하는 동작을 의미할 수 있다. 또한, '전이'는 전이가 발생하기 위한 '전이 조건'과 전이 조건을 만족하는 경우 발생되는 동작으로 구성될 수 있다. Referring to Figure 1, the functional elements of the first software (a) and the second software (b) are shown. Here, the functional element may include 'state' and 'transition' defined in software, 'state' may mean the state of the vehicle controller at a specific point in time, and 'transition' may mean each It may mean an operation connecting 'states'. In addition, 'transition' may consist of a 'transition condition' for generating a transition and an operation that occurs when the 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 (a) of FIG. 1 , the first software may be composed of functional elements (sub 1 to sub 8). Referring to (b) of FIG. 1 , the second software may be composed of functional elements (subs 1 to 3, sub 4, sub 6, and sub 8 to 11). That is, the second software may have a form in which sub 5 is changed to sub 11, sub 7 is deleted, and sub 9 and sub 10 are added among the functional elements of the first software. In this way, the second software may be defined as software in which some of the functional elements of the first software are deleted, other functional elements are added to the functional elements of the first software, or all or some of the functional elements of the first software are changed. . Meanwhile, for ease of understanding, 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 소프트웨어의 테스트에 이용될 필요가 있다. Among the functional elements of the second software, the test cases related to the functional elements (ex. subs 9 and 10) added compared to the functional elements of the first software (ie, test cases for testing the added functional elements) are the first 2 Need to be used for software testing. In addition, 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 changed or deleted The test case(s) related to the functional element affected by the functional element also need to be used for testing of the second software.

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

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

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

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

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

케이스 생성부(110)는 제 1 소프트웨어 및 제 2 소프트웨어 각각을 테스트하기 위한 테스트케이스들을 생성할 수 있다. 예를 들어, 케이스 생성부(110)는 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스를 생성할 수 있다. The case generating unit 110 may generate test cases for testing each of the first software and the second software. For example, the case generator 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 input values of variables defined in functional elements of the first software, and each of the plurality of second test cases may include variables defined in functional elements of the second software. Can contain inputs. Here, the variable may be a variable related to transition conditions of functional elements.

제 1 검출부(120)는 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출할 수 있다. 여기서, 제 1 검출조건은 제 2 소프트웨어의 기능 요소들 중에서 제 1 소프트웨어의 기능 요소들과 다른 기능 요소들에 대응되는 테스트케이스를 검출하는 조건으로 정의될 수 있다. 예를 들어, 제 1 검출부(120)는 제 1 소프트웨어의 기능 요소들과 제 2 소프트웨어의 기능 요소들을 비교하여 복수의 제 2 테스트케이스 중 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출할 수 있다. The first detection unit 120 may 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 test cases corresponding to functional elements different from those of the first software among functional elements of the second software. For example, the first detection unit 120 compares functional elements of the first software with functional elements of the second software to determine at least one third test case corresponding to the first detection condition among a 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 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 test cases defined with different values among test cases corresponding to the same functional elements among the functional elements of the first software and the functional elements of the second software. there is. For example, the second detection unit 130 compares the plurality of first test cases with the plurality of second test cases, and at least corresponds to the second detection condition among the plurality of first test cases and 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) 정보로 정의될 수 있으며, 패스에 대응되는 테스트케이스는 소프트웨어의 테스트가 가능한 테스트케이스이고, 페일에 대응되는 테스트케이스는 소프트웨어의 테스트가 불가능한 테스트케이스일 수 있다.In addition, the second detection unit 130 simulates the first software and the second software using a plurality of first test cases for testing the first software, and uses a plurality of second test cases for testing the second software. The fourth test case can be detected based on the coverage result obtained by simulating the first software and the second software using Here, the coverage result can be defined as pass/fail information obtained as a result of simulating the software using a plurality of test cases, and the test case corresponding to the pass is a test case capable of testing the software, A test case corresponding to a fail may be a test case in which software testing is impossible.

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

도 3은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 보여주는 흐름도이다. 도 4는 본 발명의 일 실시예에 따른 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스들을 설명하기 위한 도면이다. 도 5는 본 발명의 일 실시예에 따른 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스들을 설명하기 위한 도면이다. 도 6 및 도 7은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 구체적으로 설명하기 위한 도면이다. 3 is a flowchart showing a test case management method for software testing according to an embodiment of the present invention. 4 is a diagram for explaining a plurality of first test cases for testing functional elements of the first software according to an embodiment of the present invention. 5 is a diagram for explaining a plurality of second test cases for testing functional elements of a second software according to an embodiment of the present invention. 6 and 7 are diagrams for explaining in detail 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)를 포함할 수 있다. First, referring to FIG. 3, the 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 first software and functional elements of second software. generating a plurality of second test cases (S110); at least one of the plurality of second test cases corresponding to the first detection condition by comparing functional elements of the first software with functional elements of the second software; Detecting a third test case (S120), by comparing the plurality of first test cases with the plurality of second test cases, at least one corresponding to a second detection condition among the plurality of first test cases and the plurality of second test cases. It may include detecting one fourth test case (S130), and determining at least one third and fourth test case as an optimal test case (S140).

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

S110 단계에서, 케이스 생성부(110)는 제 1 소프트웨어 및 제 2 소프트웨어 각각을 테스트하기 위한 테스트케이스들을 생성할 수 있다. 예를 들어, 케이스 생성부(110)는 제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스를 생성할 수 있다. In step S110, the case generation unit 110 may generate test cases for testing each of the first software and the second software. For example, the case generator 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 generating unit 110 may generate a plurality of first test cases for testing each of functional elements R1 to R9 of the first software. Each of the plurality of first test cases may include input values of variables (ex. A and B) related to transition conditions of functional elements of the first software, and as shown in FIG. 4, input values of each variable It can be defined in the form of a set of values.

도 5를 참조하면, 케이스 생성부(110)는 제 2 소프트웨어의 기능 요소들(R1 내지 R7, R10 및 R11) 각각을 테스트하기 위한 복수의 제 2 테스트케이스들을 생성할 수 있다. 복수의 제 2 테스트케이스들 각각은 제 2 소프트웨어의 기능 요소들의 전이 조건과 관련된 변수들(ex. A 및 B)의 입력값을 포함할 수 있으며, 도 5에 도시된 바와 같이, 각 변수들의 입력값의 집합 형태로 정의될 수 있다. Referring to FIG. 5 , the case generator 110 may generate a plurality of second test cases for testing each of functional elements R1 to R7, R10, and R11 of the second software. Each of the plurality of second test cases may include input values of variables (ex. A and B) related to transition conditions of functional elements of the second software, and as shown in FIG. 5, input values of each variable It can be defined in the form of 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 will be defined as a condition for detecting test cases corresponding to functional elements different from those of the first software (ie, added or deleted functional elements) among functional elements of the second software. can

도 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 검출조건에는 해당하지 않는 것으로 가정된다. Referring to FIGS. 4 and 5 , the first detection unit 120 compares functional elements R8 and R9 deleted from the second software and added functional elements from the second software when compared with functional elements of the first software. Test cases for testing R10 and R11) may be detected as at least one third test case. Specifically, in FIGS. 4 and 5, test cases related to R8 ({(0, 0), (1, 0), (1, 1), (1, 3)}) and test cases related to R9 ({( 0, 0), (1, 0), (1, 1), (1, 3), (1, 0)}), test cases related to R10 ({(0, 0), (1, 0), (1, 2)}) and test cases related to R11 ((0, 0), (1, 0), (1, 2), (1, 0)}) can be detected as a third test case. . Meanwhile, although not shown, the functional element R5 of the second software may be defined as the same as the functional element R5 of the first software, but with a changed transition condition, and it is assumed that this case 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 test cases defined with different values among test cases corresponding to the same functional elements among the functional elements of the first software and the functional elements of the second software. there is.

도 4 및 도 5를 참조하면, 제 2 검출부(130)는 제 1 소프트웨어의 기능 요소들과 제 2 소프트웨어의 기능 요소들 중에서 동일한 기능 요소들(R1 내지 R7)에 대응되는 테스트케이스들 중 서로 다른 값으로 정의되는 테스트케이스(R6 및 R7에 대응되는 테스트케이스)를 제 4 테스트케이스로 검출할 수 있다. Referring to FIGS. 4 and 5 , the second detection unit 130 detects differences between test cases corresponding to the same functional elements R1 to R7 among the functional elements of the first software and the functional elements of the second software. A test case defined as a value (a test case corresponding to R6 and R7) can be detected as the 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 테스트케이스로 검출할 수 있다. Specifically, in FIG. 4, the second detection unit 130 performs test cases ({(0, 0), (1, 0), (1, 1), (1, 1), (1, 2)}) and the test cases associated with R7 ({(0, 0), (1, 0), (1, 1), (1, 1), (1, 2), (1, 0) }), test cases related to functional element R6 of the second software in FIG. 5 ({(0, 0), (1, 0), (1, 1), (1, 1), (1, 1), ( 1, 2)}) and test cases related to R7 ({(0, 0), (1, 0), (1, 1), (1, 1), (1, 1), (1, 2), (1, 0)}) can be detected as the fourth test case.

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

예를 들어, 도 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 detection unit 130 determines functional elements M1 of the first software and functional elements (M1) of the second software by using a plurality of first test cases for the first software. M2) can be simulated. As a result of the simulation, R6 and R7 among 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 among the function elements M2 of the second software may be affected by the change in the transition condition of the function element R5 or the deletion of R8 and R9 described above. Accordingly, the second detection unit 130 may detect test cases related to functional elements R6 and R7 of the first software as fourth test cases. Also, referring to FIG. 7 , the second detection unit 130 detects functional elements M1 of the first software and functional elements M2 of the second software by using a plurality of second test cases for the second software. can be simulated. As a result of the simulation, R6 and R7 among 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 among the functional elements M1 of the first software may be affected by the change in the transition condition of the functional element R5 or the addition of R10 and R11 described above. Accordingly, the second detection unit 130 may detect test cases related to functional elements R6 and R7 of the second software as fourth test cases.

S140 단계에서, 결정부(140)는 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정할 수 있다. In step S140, the determination unit 140 may determine at least one of the detected third and fourth test cases 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, 2)}), test cases related to R7 ({(0, 0), (1, 0), (1, 1), (1, 1), (1, 2), (1, 0)}), Test cases related to R8 ({(0, 0), (1, 0), (1, 1), (1, 3)}) and test cases related to R9 ({(0, 0), (1, 0) ), (1, 1), (1, 3), (1, 0)}), test cases related to R6 among the functional elements of the second software ({(0, 0), (1, 0), ( 1, 1), (1, 1), (1, 1), (1, 2)}), test cases related to R7 ({(0, 0), (1, 0), (1, 1), (1, 1), (1, 1), (1, 2), (1, 0), test cases related to R10 ({(0, 0), (1, 0), (1, 2)}) , and test cases related to R11 ((0, 0), (1, 0), (1, 2), (1, 0)}), a total of 8 test cases can be determined as optimal test cases.

따라서, 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법에 따르면, 모든 기능 요소들을 테스트하기 위한 테스트케이스가 아니라 일부 테스트케이스만을 선택적으로 이용하여 소프트웨어를 테스트할 수 있어 테스트 효율성이 향상될 수 있고, 제 1 검출조건 또는 제 2 검출조건을 만족하는 테스트케이스를 선택적으로 이용하여 소프트웨어를 테스트할 수 있어 테스트 신뢰성이 향상될 수 있다. Therefore, 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 test software by selectively using only some test cases instead of test cases for testing all functional elements. Efficiency can be improved, and test reliability can be improved because software can be tested by selectively using a test case that satisfies the first detection condition or the second detection condition.

도 8은 본 발명의 일 실시예에 따른 소프트웨어 테스트를 위한 테스트케이스 관리 방법을 실행하기 위한 컴퓨팅 시스템을 보여준다. 8 shows a computing system for executing 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 , the test case management method for software testing according to an embodiment of the present invention described above may be implemented through a computing system. The computing system 1000 includes at least one processor 1100, memory 1300, user interface input device 1400, user interface output device 1500, 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 commands 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 a method or algorithm described in connection with the embodiments disclosed herein may be directly implemented as hardware executed by the processor 1100, a software module, or a combination of the two. A software module resides in a storage medium (i.e., memory 1300 and/or storage 1600) such as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, or a CD-ROM. You may. An exemplary storage medium is coupled to the processor 1100, and the processor 1100 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 medium may reside within an application specific integrated circuit (ASIC). An ASIC may reside within a user terminal. Alternatively, the processor and storage medium may reside as separate components within a user terminal.

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

따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed according to the claims below, and all technical ideas within the equivalent range should be construed as being included in 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 generating unit
120: first detection unit
130: second detection unit
140: decision 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 (12)

제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스 생성하는 케이스 생성부;
상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들을 비교하여 상기 복수의 제 2 테스트케이스 중 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출하는 제 1 검출부;
상기 복수의 제 1 테스트케이스와 상기 복수의 제 2 테스트케이스를 비교하여 상기 복수의 제 1 테스트케이스 및 상기 복수의 제 2 테스트케이스 중 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출하는 제 2 검출부; 및
상기 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정하는 결정부를 포함하되,
상기 제 1 검출조건은 상기 제 2 소프트웨어의 기능 요소들 중에서 상기 제 1 소프트웨어의 기능 요소들과 다른 기능 요소들에 대응되는 테스트케이스를 검출하는 조건이고, 상기 제 2 검출조건은 상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들 중에서 동일한 기능 요소들에 대응되는 테스트케이스들 중 서로 다른 값으로 정의되는 테스트케이스를 검출하는 조건인 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
a case generating unit generating 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;
a first detection unit which compares functional elements of the first software with functional elements of the second software and detects at least one third test case corresponding to a first detection condition among the plurality of second test cases;
At least one fourth test case corresponding to the second detection condition is detected among the first plurality of test cases and the plurality of second test cases by comparing the plurality of first test cases with the plurality of second test cases. a second detection unit; and
A determination unit for determining the detected at least one third test case and a fourth test case as an optimum test case;
The first detection condition is 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, and the second detection condition is a condition for detecting the functional elements of the first software. A test case management device for software testing, characterized in that it is a condition for detecting test cases defined with different values among test cases corresponding to the same functional elements among functional elements and functional elements of the second software.
삭제delete 삭제delete 제 1 항에 있어서,
상기 제 2 소프트웨어의 기능 요소들은 상기 제 1 소프트웨어의 기능 요소들을 일부 삭제하거나 상기 제 1 소프트웨어의 기능 요소들에 다른 기능 요소들을 추가하여 생성되는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
According to claim 1,
The functional elements of the second software are 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 테스트케이스 각각은 상기 제 1 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
According to claim 1,
The test case management device for software testing, characterized in that each of the plurality of first test cases includes input values of variables defined in functional elements of the first software.
제 1 항에 있어서,
상기 복수의 제 2 테스트케이스 각각은 상기 제 2 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 장치.
According to claim 1,
The test case management device for software testing, characterized in that each of the plurality of second test cases includes input values of variables defined in functional elements of the second software.
제 1 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 1 테스트케이스 및 제 2 소프트웨어의 기능 요소들을 테스트하기 위한 복수의 제 2 테스트케이스 생성하는 단계;
상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들을 비교하여 상기 복수의 제 2 테스트케이스 중 제 1 검출조건에 대응되는 적어도 하나의 제 3 테스트케이스를 검출하는 단계;
상기 복수의 제 1 테스트케이스와 상기 복수의 제 2 테스트케이스를 비교하여 상기 복수의 제 1 테스트케이스 및 상기 복수의 제 2 테스트케이스 중 제 2 검출조건에 대응되는 적어도 하나의 제 4 테스트케이스를 검출하는 단계; 및
상기 검출된 적어도 하나의 제 3 테스트케이스 및 제 4 테스트케이스를 최적 테스트케이스로 결정하는 단계를 포함하되,
상기 제 1 검출조건은 상기 제 2 소프트웨어의 기능 요소들 중에서 상기 제 1 소프트웨어의 기능 요소들과 다른 기능 요소들에 대응되는 테스트케이스를 검출하는 조건이고, 상기 제 2 검출조건은 상기 제 1 소프트웨어의 기능 요소들과 상기 제 2 소프트웨어의 기능 요소들 중에서 동일한 기능 요소들에 대응되는 테스트케이스들 중 서로 다른 값으로 정의되는 테스트케이스를 검출하는 조건인 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
generating 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 functional elements of the first software with functional elements of the second software;
At least one fourth test case corresponding to the second detection condition is detected among the first plurality of test cases and the plurality of second test cases by comparing the plurality of first test cases with the plurality of second test cases. doing; and
Determining the detected at least one third test case and a fourth test case as an optimum test case,
The first detection condition is 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, and the second detection condition is a condition for detecting the functional elements of the first software. A test case management method for software testing, characterized in that the condition for detecting test cases defined with different values among test cases corresponding to the same functional elements among functional elements and functional elements of the second software.
삭제delete 삭제delete 제 7 항에 있어서,
상기 제 2 소프트웨어의 기능 요소들은 상기 제 1 소프트웨어의 기능 요소들을 일부 삭제하거나 상기 제 1 소프트웨어의 기능 요소들에 다른 기능 요소들을 추가하여 생성되는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
According to claim 7,
The test case management method for software testing, characterized in that the functional elements of the second software are 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.
제 7 항에 있어서,
상기 복수의 제 1 테스트케이스 각각은 상기 제 1 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
According to claim 7,
The test case management method for software testing, wherein each of the plurality of first test cases includes input values of variables defined in functional elements of the first software.
제 7 항에 있어서,
상기 복수의 제 2 테스트케이스 각각은 상기 제 2 소프트웨어의 기능 요소들에 정의된 변수들의 입력값을 포함하는 것을 특징으로 하는 소프트웨어 테스트를 위한 테스트케이스 관리 방법.
According to claim 7,
The test case management method for software testing, wherein each of the plurality of second test cases includes input values of variables defined in 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 KR20190068829A (en) 2019-06-19
KR102485341B1 true 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
KR20190068829A (en) 2019-06-19

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
CN107729227B (en) Application program test range determining method, system, server and storage medium
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
CN104215895A (en) Hardware Trojan horse detection method and hardware Trojan horse detection system based on test vectors
CN108920307A (en) Server Restart test method, device, equipment and computer readable storage medium
CN114117977B (en) Method suitable for automatically verifying processor system scene
CN112052160A (en) Code case obtaining method and device, electronic equipment and medium
KR20110023124A (en) Apparatus and method for verification for automotive ecu software
CN111277476A (en) Gateway controller function verification method, gateway controller function verification device, computer equipment and storage medium
KR102485341B1 (en) Apparatus and method for managing testcase for testing software
CN113032202B (en) Chip verification method, system, device, computer equipment and storage medium
KR101334806B1 (en) Method of proudcing input sets of test case in test case generating system
JP6215949B2 (en) System and method for state-based test case generation for software verification
KR102610756B1 (en) Apparatus and method for managing testcase for testing software
KR102097988B1 (en) Apparatus for error simulation and method thereof
CN116069635A (en) SOC system testing method and device, computer equipment and storage medium
CN113138721B (en) Bypass attack vulnerability formal verification method and device
JP4417084B2 (en) Fault detection simulation system for analog circuits
WO2017124926A1 (en) Sensor test method and apparatus
JP5093508B2 (en) Loop optimization system, loop optimization method, and loop optimization program
US7650579B2 (en) Model correspondence method and device
JPWO2019229883A1 (en) Inspection device, inspection method, and inspection program

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