KR101826618B1 - Method and apparatus for generating test case, computer readable recording medium - Google Patents

Method and apparatus for generating test case, computer readable recording medium Download PDF

Info

Publication number
KR101826618B1
KR101826618B1 KR1020160098504A KR20160098504A KR101826618B1 KR 101826618 B1 KR101826618 B1 KR 101826618B1 KR 1020160098504 A KR1020160098504 A KR 1020160098504A KR 20160098504 A KR20160098504 A KR 20160098504A KR 101826618 B1 KR101826618 B1 KR 101826618B1
Authority
KR
South Korea
Prior art keywords
cause
specification file
item
items
user
Prior art date
Application number
KR1020160098504A
Other languages
Korean (ko)
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 KR1020160098504A priority Critical patent/KR101826618B1/en
Application granted granted Critical
Publication of KR101826618B1 publication Critical patent/KR101826618B1/en

Links

Images

Classifications

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

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

Provided is a method for generating a test case for software verification which automatically reflect a modification on test case generation. The method for generating a test case comprises: reading a first specification file of software; obtaining one or more items from the first specification file; changing each of the one or more items of the first specification file to include predetermined tag information; setting each of the one or more items as a cause item or a result item based on a control input of a user; generating and storing a cause/result table on the one or more items based on the setting; and generating a test case based on the cause/result table.

Description

테스트 케이스 생성 방법, 장치 및 컴퓨터 판독가능 기록매체{METHOD AND APPARATUS FOR GENERATING TEST CASE, COMPUTER READABLE RECORDING MEDIUM}[0001] METHOD AND APPARATUS FOR GENERATING TEST CASE, COMPUTER READABLE RECORDING MEDIUM [0002]

본 발명은, 소프트웨어 검증을 위한 테스트 케이스의 생성 방법 및 장치에 관한 것이며, 보다 구체적으로는 소프트웨어 명세서의 변경 발생에 동적으로 적응할 수 있는 테스트 케이스의 자동 생성 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for generating a test case for software verification, and more particularly, to a method and apparatus for automatically generating a test case that can dynamically adapt to a change in a software specification.

소프트웨어에 오류가 있는지를 검토하고 해당 소프트웨어가 요구 사항에 부합하도록 동작하는지를 검증하기 위해서, 통상적으로, 하나 이상의 테스트 케이스를 설계하고 그 설계된 테스트 케이스에 따라 해당 소프트웨어에 대한 테스트를 실행하며 실행의 결과물을 토대로 해당 소프트웨어에 대한 필요한 수정을 행하는 방법이 이용되고 있다. 따라서, 테스트 케이스를 얼마나 효율적으로 설계할 수 있는지는 소프트웨어의 검증에 있어서 매우 중요한 문제가 된다.To review the software for errors and verify that the software works to meet the requirements, you typically design one or more test cases, run tests on the software in accordance with the designed test cases, A method of making necessary modifications to the software is used. Therefore, how efficiently a test case can be designed is a very important issue in software verification.

이와 관련하여, 종래에는 각 테스트 케이스의 설계 및 생성이 테스트 설계자의 수작업에 의해 주로 행하여져 왔는데, 이러한 경우 테스트 케이스의 작성에 많은 시간과 노력이 소요되는 문제가 있고 아울러 작성된 테스트 케이스의 적절성도 보증하기 어려운 문제가 있었다. In this regard, conventionally, the design and generation of each test case has mainly been performed manually by the test designer. In such a case, there is a problem that it takes much time and effort to prepare the test case. In addition, There was a difficult problem.

또한, 이러한 문제를 해결하기 하여, 대한민국 등록특허 제10-1554424호에서는, 테스트할 소프트웨어의 명세서에 포함된 문장들 및 단어들로부터 원인 항목들과 결과 항목들을 획득하여 원인/결과 테이블을 생성하고, 생성된 원인/결과 테이블에 대응하는 인과 그래프를 생성하며, 인과 그래프를 테스트 시나리오로 변환하여 그에 기초한 테스트 케이스를 제공하는, 테스트 케이스의 생성 자동화에 관한 기술이 제안된 바 있다. 그러나, 등록특허 제10-1554424호에 의하더라도, 소프트웨어의 명세서 상에 수정 변경이 발생하는 경우에는, 그에 따라 원인/결과 테이블을 처음부터 새로이 작성해야 하거나 소프트웨어 개발 보수자나 검증자 등이 명세서의 각각의 수정 변경 사항을 수동으로 취득하고 이를 원인/결과 테이블에 수동으로 반영하여야 하는 문제는 여전히 남아 있다. 소프트웨어의 검증 또는 유지 보수 과정에서 수 차례 수정 변경은 불가피하다는 점을 고려할 때, 이러한 문제는 소프트웨어의 개발 보수자나 검증자 등에게 큰 어려움이 되고 있다. In order to solve such a problem, in Korean Patent No. 10-1554424, a cause / result table is generated by obtaining cause items and result items from sentences and words included in the specification of software to be tested, A technique has been proposed for generating a test case corresponding to a generated cause / result table, converting a causal graph into a test scenario, and providing a test case based on the causal graph. However, even in the case of Patent No. 10-1554424, in the case where a modification is made in the specification of the software, it is necessary to newly create a cause / result table from the beginning, or a software development maintainer or a verifier The problem of manually obtaining changes and manually reflecting them in the cause / effect table still remains. Considering that revision changes are inevitable several times during the verification or maintenance of the software, this problem becomes a big difficulty for software development maintainers and verifiers.

따라서, 소프트웨어의 검증을 위한 테스트 케이스의 생성을 자동화하고, 특히 소프트웨어의 명세서에 수정 변경이 발생하는 경우에도, 소프트웨어의 검증자 등이 명세서의 수정 변경 사항을 일일이 확인할 필요 없이, 그러한 수정 변경 사항이 테스트 케이스의 생성에 자동으로 반영되도록 할 수 있는, 효율적인 테스트 케이스의 생성 자동화 방법 및 장치 등이 필요로 된다.Therefore, it is possible to automate the creation of test cases for verification of the software, and even if the software's verifier does not need to verify the revision changes in the specification, An efficient method and apparatus for generating a test case that can be automatically reflected in the generation of a test case is required.

본 발명의 일 특징에 의하면, 소프트웨어 검증을 위한 테스트 케이스 생성 방법이 제공된다. 본 발명의 방법은, 소프트웨어의 제1 명세서 파일을 판독하는 단계; 제1 명세서 파일로부터 하나 이상의 항목을 획득하는 단계; 제1 명세서 파일의 하나 이상의 항목 각각이 소정의 태그 정보를 포함하도록 변경하는 단계; 사용자 제어 입력에 기초하여, 하나 이상의 항목 각각에 대해, 각각의 항목을 원인 항목 또는 결과 항목으로 설정하는 단계; 설정에 기초하여, 하나 이상의 항목에 대한 원인/결과 테이블을 생성 및 저장하는 단계; 및 원인/결과 테이블에 기초하여 테스트 케이스를 생성하는 단계를 포함할 수 있다.According to one aspect of the present invention, a method of generating a test case for software verification is provided. The method includes reading a first specification file of software; Obtaining one or more items from a first specification file; Changing each of the one or more items of the first specification file to include predetermined tag information; Setting, for each of the one or more items, a respective item as a cause item or a result item based on the user control input; Generating and storing a cause / effect table for one or more items based on the setting; And generating a test case based on the cause / result table.

본 발명의 일 실시예에 의하면, 원인/결과 테이블을 저장한 이후에, 소프트웨어의 제2 명세서 파일이 판독될 수 있다. 제2 명세서 파일은, 제1 명세서 파일의 하나 이상의 항목 중 적어도 하나의 항목을 변경하여 생성된 것일 수 있다. 또한, 방법은, 제2 명세서 파일로부터, 태그 정보를 포함하는 적어도 하나의 항목을 획득하는 단계; 원인/결과 테이블을 검색하는 단계; 및 제2 명세서 파일로부터 획득된 적어도 하나의 항목과 원인/결과 테이블의 대응하는 항목을 비교하여, 적어도 하나의 항목 중에서 원인/결과 테이블의 생성 이후에 변경이 발생한 항목과 변경 내용을 식별하는 단계를 더 포함할 수 있다.According to one embodiment of the present invention, after storing the cause / effect table, the second specification file of the software can be read. The second specification file may be generated by modifying at least one item of one or more items of the first specification file. The method also includes obtaining from the second specification file at least one item comprising tag information; Retrieving a cause / effect table; And comparing the at least one item obtained from the second specification file with the corresponding item in the cause / effect table to identify the item and the change at which the change occurred after creation of the cause / effect table among at least one item .

본 발명의 일 실시예에 의하면, 방법은, 제2 명세서 파일을 사용자 디스플레이 장치에 표시하는 단계; 및 원인/결과 테이블을 사용자 디스플레이 장치에 표시하는 단계를 더 포함할 수 있다. 원인/결과 테이블을 사용자 디스플레이 장치에 표시하는 단계는, 식별된 항목과 변경 내용을 사용자 디스플레이 장치에 표시하는 단계를 포함할 수 있다.According to an embodiment of the present invention, a method includes displaying a second specification file on a user display device; And displaying the cause / effect table on the user display device. The step of displaying the cause / effect table on the user display device may include displaying the identified item and the change on the user display device.

본 발명의 일 실시예에 의하면, 식별된 항목과 변경 내용을 표시하는 단계는, 변경 내용의 반영에 관한 사용자 제어 입력을 수신하기 위한 사용자 인터페이스를 제공하는 단계를 포함할 수 있다.According to one embodiment of the present invention, the step of displaying the identified item and the change may comprise providing a user interface for receiving a user-controlled input regarding the reflection of the change.

본 발명의 일 실시예에 의하면, 방법은, 사용자 인터페이스를 통해 입력된 사용자 제어 입력에 기초하여, 원인/결과 테이블을 수정 및 저장하는 단계; 및 수정된 원인/결과 테이블에 기초하여 새로운 테스트 케이스를 생성하는 단계를 더 포함할 수 있다.According to one embodiment of the present invention, a method includes: modifying and storing a cause / effect table based on a user control input entered via a user interface; And generating a new test case based on the modified cause / result table.

본 발명의 일 실시예에 의하면, 소정의 태그 정보는, 하나 이상의 항목 각각에 대해, 각 항목에 대응하는 식별 정보를 포함할 수 있다.According to one embodiment of the present invention, the predetermined tag information may include identification information corresponding to each item for each of the one or more items.

본 발명의 일 실시예에 의하면, 방법은 제1 명세서 파일을 사용자 디스플레이 장치에 표시하는 단계; 및 사용자 인터페이스를 사용자 디스플레이 장치에 표시하는 단계를 더 포함할 수 있다. 제1 명세서 파일로부터 하나 이상의 항목을 획득하는 단계는 사용자 인터페이스를 통해 하나 이상의 항목을 획득하는 단계를 포함할 수 있다.According to one embodiment of the present invention, a method includes displaying a first specification file on a user display device; And displaying the user interface on the user display device. Obtaining one or more items from the first specification file may include obtaining one or more items via a user interface.

본 발명의 일 실시예에 의하면, 방법은 사용자 인터페이스를 통해 사용자 제어 입력을 수신하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the method may further comprise receiving a user control input via a user interface.

본 발명의 일 실시예에 의하면, 방법은 하나 이상의 항목에 대한 원인/결과 테이블을 사용자 디스플레이 장치에 표시하는 단계를 더 포함할 수 있다.According to one embodiment of the present invention, the method may further comprise displaying a cause / effect table for one or more items on a user display device.

본 발명의 일 실시예에 의하면, 하나 이상의 항목 각각은, 각각의 대응하는 문장 또는 단어를 포함할 수 있다.According to one embodiment of the present invention, each of the one or more items may comprise a respective corresponding sentence or word.

본 발명의 일 실시예에 의하면, 제1 명세서 파일의 하나 이상의 항목 각각이 소정의 태그 정보를 포함하도록 변경하는 단계는, 하나 이상의 항목 각각의 각 대응하는 문장 또는 단어에 대해 태그 정보를 삽입하는 단계를 포함할 수 있다.According to one embodiment of the present invention, the step of modifying each of the one or more items of the first specification file to include predetermined tag information includes inserting tag information for each corresponding sentence or word of each of the one or more items, . ≪ / RTI >

본 발명의 일 실시예에 의하면, 테스트 케이스를 생성하는 단계는, 원인/결과 테이블에 기초하여 인과 그래프를 생성하는 단계; 및 인과 그래프에 기초하여 테스트 케이스를 생성하는 단계를 포함할 수 있다.According to one embodiment of the present invention, the step of generating a test case comprises the steps of: generating a causal graph based on a cause / effect table; And generating a test case based on the causal graph.

본 발명의 다른 특징에 의하면, 하나 이상의 명령어를 수록한 컴퓨터 판독가능 기록매체로서, 하나 이상의 명령어는 컴퓨터에 의해 실행되는 경우 컴퓨터로 하여금, 전술한 방법들 중 어느 하나의 방법을 수행하도록 하는, 컴퓨터 판독가능 기록매체가 제공된다.According to another aspect of the present invention there is provided a computer readable medium having stored thereon one or more instructions for causing a computer to perform any one of the methods described above, A readable recording medium is provided.

본 발명의 또 다른 특징에 의하면, 컴퓨터 장치로서, 사용자 디스플레이 장치; 메모리; 및 프로세서를 포함하고, 프로세서는, 전술한 방법들 중 어느 하나의 방법을 수행하는, 컴퓨터 장치가 제공된다.According to another aspect of the present invention, there is provided a computer apparatus comprising: a user display device; Memory; And a processor, wherein the processor performs any one of the methods described above.

본 발명에 의하면, 소프트웨어의 명세서에 수정 변경이 발생하는 경우에도, 검증자 등이 명세서의 수정 변경 사항을 일일이 확인할 필요 없이 그러한 수정 변경 사항이 테스트 케이스의 생성에 자동으로 반영되도록 할 수 있는, 효율적인 테스트 케이스의 생성 자동화 방법 및 장치 등이 제공될 수 있다. 그러므로, 본 발명에 의하면, 소프트웨어의 검증에 있어서, 검증자 등의 개입을 최소화하여 검증에 소요되는 시간 및 비용을 크게 감소시킬 수 있다. 또한, 본 발명에 의하면, 테스트 케이스의 생성이 객관적 기준에 따라 자동으로 수행되므로, 종래 검증자의 임의 방식에 따르는 경우에 비해, 보다 적절한 테스트 케이스의 생성을 기대할 수 있다.According to the present invention, even if a modification is made in the specification of the software, it is possible to provide an efficient, efficient, and cost-effective method for allowing a verifier to automatically reflect the modification change in the creation of a test case, A method and apparatus for automatic generation of a test case may be provided. Therefore, according to the present invention, it is possible to greatly reduce the time and cost required for verification by minimizing the intervention of a verifier or the like in software verification. Further, according to the present invention, generation of a test case is automatically performed in accordance with an objective criterion, so that generation of a more appropriate test case can be expected as compared with the case of conforming to a conventional method of a verifier.

도 1은, 본 발명의 일 실시예에 따른, 소프트웨어 검증을 위한 테스트 케이스 생성 장치(100)의 기능을 개략적으로 도시한 기능 블록도이다.
도 2는, 본 발명의 일 실시예에 따른, 원인/결과 테이블의 생성 또는 갱신 동작을 보여주는 동작 흐름도이다.
도 3은, 도 1의 동작 제어부(104)의 기능을 자세히 설명하기 위한 기능 블록도이다.
도 4는, 본 발명의 일 실시예에 따른, 명세서 파일 표시와 그로부터 생성된 원인/결과 테이블 표시의 예를 도시한 도면이다.
도 5는, 본 발명의 일 실시예에 따라, 명세서 파일에 변경이 발생한 경우, 그러한 변경에 대응하여 갱신되는 과정 중에 있는 원인/결과 테이블의 표시를 보여주는 도면이다.
1 is a functional block diagram schematically illustrating the function of a test case generating apparatus 100 for software verification according to an embodiment of the present invention.
2 is an operational flow diagram illustrating generation / update operations of a cause / effect table, in accordance with an embodiment of the present invention.
FIG. 3 is a functional block diagram for explaining the functions of the operation control unit 104 of FIG. 1 in detail.
4 is a diagram illustrating an example of a specification file display and cause / effect table display generated therefrom, in accordance with an embodiment of the present invention.
5 is a diagram showing an indication of a cause / effect table in the process of being updated in response to a change in a specification file in accordance with an embodiment of the present invention.

이하, 첨부 도면을 참조하여 본 발명의 실시예에 관하여 상세히 설명한다. 이하에서는, 본 발명의 요지를 불필요하게 흐릴 우려가 있다고 판단되는 경우, 이미 공지된 기능 및 구성에 관한 구체적인 설명을 생략한다. 또한, 이하에서 설명하는 내용은 어디까지나 본 발명의 일 실시예에 관한 것일 뿐 본 발명이 이로써 제한되는 것은 아님을 알아야 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, when it is determined that there is a possibility that the gist of the present invention may be unnecessarily blurred, a detailed description of known functions and configurations will be omitted. In addition, it should be understood that the following description is only an embodiment of the present invention, and the present invention is not limited thereto.

본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 발명을 한정하려는 의도에서 사용된 것이 아니다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 또한, 본 발명의 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present invention. For example, an element expressed in singular < Desc / Clms Page number 5 > terms should be understood as including a plurality of elements unless the context clearly dictates a singular value. In addition, in the specification of the present invention, it is to be understood that terms such as "include" or "have" are intended to specify the presence of stated features, integers, steps, operations, components, It is not intended that the use of the term exclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

본 명세서에 기재된 실시예에 있어서 '블록' 또는 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '블록' 또는 '부'는, 특정한 하드웨어로 구현될 필요가 있는 '블록' 또는 '부'를 제외하고는, 적어도 하나의 소프트웨어 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.As used herein, the term " block " or " part " means a functional part that performs at least one function or operation, and may be implemented in hardware or software or a combination of hardware and software. Also, a plurality of 'blocks' or 'sub-units' may be embodied in at least one processor integrated with at least one software module, except for 'blocks' or 'sub-units' that need to be implemented in specific hardware .

덧붙여, 달리 정의되지 않는 한 기술적 또는 과학적인 용어를 포함하여, 본 명세서에서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의된 용어들은, 관련 기술의 문맥상 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 발명의 명세서에서 명백하게 달리 정의하지 않는 한 과도하게 제한 또는 확장하여 해석되지 않는다는 점을 알아야 한다.In addition, all terms used herein, including technical or scientific terms, unless otherwise defined, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Commonly used predefined terms are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are not to be construed as being excessively limited or extended unless explicitly defined otherwise in the specification of the present invention You should know.

이하, 첨부된 도면을 참조하여, 본 발명의 실시예에 대해 구체적으로 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은, 본 발명의 일 실시예에 따른, 소프트웨어 검증을 위한 테스트 케이스 생성 장치(100)의 기능을 개략적으로 도시한 기능 블록도이다. 도시된 바에 위하면, 테스트 케이스 생성 장치(100)는 명세서 판독/수정부(102)와, 동작 제어부(104)와, 사용자 데이터 입출력부(106)와, 데이터베이스(108)를 포함한다.1 is a functional block diagram schematically illustrating the function of a test case generating apparatus 100 for software verification according to an embodiment of the present invention. The test case generating apparatus 100 includes a specification read / modify section 102, an operation control section 104, a user data input / output section 106, and a database 108.

본 발명의 일 실시예에 의하면, 명세서 판독/수정부(102)는, 외부 또는 내부 메모리로부터 검증 대상이 되는 소프트웨어의 명세서 파일을 판독할 수 있다. 명세서 파일은 다양한 형식의 문서 파일일 수 있는데, 예컨대 .docx, .xlsx 등의 확장자를 갖는 오픈 XML 형식의 문서 파일일 수 있으며, 다만 본 발명이 이로써 제한되는 것은 아니다. 명세서 파일은, 검증하고자 하는 소프트웨어의 구조 및 동작 특징을 기술한 베이스 명세서로서, 예컨대 해당 소프트웨어의 작성 언어, 문법, 해당 소프트웨어의 기능을 설명하는 부분, 이용되는 파라미터들의 이름, 타입 및 기능 설명, 에러 발생 조건 등을 비롯한 각종 정보를 문장 또는 단어들로서 기술한 것일 수 있다. 명세서 파일에 포함된 문장 또는 단어들에는 해당 소프트웨어의 기능과 관련하여 원인에 해당하는 항목(이하, 원인 항목)들과 그 원인에 대응하여 파생하는 결과에 해당하는 항목(이하, 결과 항목)들이 포함될 수 있다. According to one embodiment of the present invention, the specification reading / correcting unit 102 can read the specification file of the software to be verified from the external or internal memory. The specification file can be a document file in various formats, for example, an open XML format document file having an extension of .docx, .xlsx, and the like, but the present invention is not limited thereto. The description file is a base description describing the structure and operation characteristics of the software to be verified. For example, the specification file includes a description language of the software, a grammar, a part describing the function of the software, a name, Occurrence conditions, and the like, as sentences or words. The sentences or words included in the specification file include the items corresponding to the cause of the software (hereinafter referred to as cause items) and the items corresponding to the results of derivation corresponding to the cause (hereinafter, result items) .

본 발명의 일 실시예에 의하면, 명세서 판독/수정부(102)에 의해 판독되는 명세서 파일은 신규 명세서 파일이거나 변경 명세서 파일일 수 있다. 본 명세서에서, 신규 명세서 파일이라 함은, 해당 명세서 파일이 본 발명의 테스트 케이스 생성 장치에 의해 처리된 적이 없는 새로운 명세서로서, 예컨대 해당 명세서 파일에 후술하는 태그 정보가 포함된 항목이 존재하지 않거나 해당 명세서 파일에 관련된 원인/결과 테이블이 데이터베이스(108)에 존재하지 않는 경우의 명세서 파일을 의미한다. 본 명세서에서, 변경 명세서 파일이라 함은, 관련 명세서 파일이 본 발명의 테스트 케이스 생성 장치에 의해 이전에 처리된 적이 있고 이후 그 명세서 파일의 일부 항목에 변경이 발생한 경우로서, 예컨대 해당 명세서 파일에 태그 정보가 포함된 항목이 이미 존재하고 있거나 해당 명세서 파일에 관련된 원인/결과 테이블이 데이터베이스(108)에 이미 존재하고 있는 경우의 명세서 파일을 의미한다. 본 발명의 일 실시예에 의하면, 명세서 파일은 테스트 케이스 생성 장치(100)의 내부 또는 외부 메모리(도시되지 않음)로부터 판독될 수 있다. According to one embodiment of the present invention, the specification file read by the specification reader / writer 102 may be a new specification file or a change specification file. In this specification, a new specification file is a new specification file in which the corresponding specification file has not been processed by the test case generation apparatus of the present invention. For example, if there is no item including tag information described later in the specification file, Means a specification file in the case where the cause / effect table related to the specification file does not exist in the database 108. In the present specification, the change specification file refers to a case where the related specification file has been previously processed by the test case generation apparatus of the present invention, and thereafter, a change occurs in some items of the specification file. For example, Refers to a specification file in which an item including information already exists or a cause / effect table related to the specification file already exists in the database 108. [ According to one embodiment of the present invention, the specification file can be read from the internal or external memory (not shown) of the test case generating apparatus 100. [

본 발명의 일 실시예에 의하면, 동작 제어부(104)는 명세서 판독/수정부(102), 사용자 데이터 입출력부(106), 및 데이터베이스(108)와 통신 가능하게 접속될 수 있다. 동작 제어부(104)는, 명세서 판독/수정부(102)에 의해 판독된 명세서 파일에 관한 정보를 수신하고, 수신된 정보를 사용자 데이터 입출력부(106)를 통해 출력하여 사용자에게 제시할 수 있다. 동작 제어부(104)는 또한 사용자 데이터 입출력부(106)를 통한 사용자와의 인터랙션을 통해 해당 명세서 파일에 관한 원인/결과 테이블을 새로이 생성 또는 갱신할 수 있다. 동작 제어부(104)는 또한 데이터베이스(108)와 통신하여, 판독된 명세서 파일에 관련된 테이블이 데이터베이스(108)에 저장되어 있는지를 판정하고, 관련된 테이블이 있다면 그 테이블에 관한 정보를 판독할 수 있고, 새로이 생성 또는 갱신되는 원인/결과 테이블을 데이터베이스(108)에 저장할 수 있다. 동작 제어부(104)는 또한 생성 또는 갱신된 원인/결과 테이블에 기초하여 인과 그래프를 생성하고, 그에 따라 해당 소프트웨어를 검증하기 위한 테스트 케이스를 생성할 수 있다. 본 발명의 일 실시예에 의하면, 동작 제어부(104)는, 생성된 원인/결과 테이블, 인과 그래프 및 테스트 케이스를 사용자 데이터 입출력부(106)를 통해 사용자에게 출력할 수 있다. 동작 제어부(104)의 구체적인 동작에 관해서는 이후 도 3을 참조하여 더 후술하기로 한다. According to one embodiment of the present invention, the operation control unit 104 can be communicably connected to the specification read / modify unit 102, the user data input / output unit 106, and the database 108. The operation control unit 104 receives the information on the specification file read by the specification reading / modifying unit 102, and outputs the received information through the user data input / output unit 106 to present it to the user. The operation control unit 104 can also newly generate or update the cause / effect table related to the specification file through the interaction with the user through the user data input / output unit 106. [ The operation control 104 also communicates with the database 108 to determine if a table associated with the read specification file is stored in the database 108 and to read information about the table if any, A cause / result table newly generated or updated can be stored in the database 108. [ The operation control unit 104 may also generate a causal graph based on the generated or updated cause / result table and thereby generate a test case for verifying the software. According to an embodiment of the present invention, the operation control unit 104 can output the generated cause / result table, causal graph, and test case to the user through the user data input / output unit 106. [ Concrete operation of the operation control unit 104 will be described later with reference to Fig.

사용자 데이터 입출력부(106)는, 구체적으로 도시되지는 않았으나, 다양한 유형의 사용자 출력 장치들, 예컨대 모니터, 터치 스크린, 각종 디스플레이 장치 등을 포함할 수 있다. 본 발명의 일 실시예에 의하면, 사용자 데이터 입출력부(106)의 사용자 출력 장치들을 통하여, 동작 제어부(104)로부터 수신한 명세서 파일, 사용자와의 인터랙션을 위한 그래픽 사용자 인터페이스 등이 사용자에게 표시될 수 있다. 사용자 데이터 입출력부(106)는 또한, 구체적으로 도시되지는 않았으나, 다양한 유형의 사용자 입력 장치들, 예컨대 마우스, 키보드, 조이스틱, 기타 각종 입력 장치 등을 포함할 수 있다. 본 발명의 일 실시예에 의하면, 사용자 데이터 입출력부(106)의 사용자 입력 장치들을 통해, 사용자가 입력한 제어 정보, 예컨대 판독된 명세서 파일의 각 문장 또는 단어에 관한 원인 또는 결과로의 지정에 관한 정보나, 명세서 파일의 변경 사항의 반영 여부에 관한 사용자 제어 정보 등을 비롯한 각종 사용자 제어 정보가 수신될 수 있다.The user data input / output unit 106 may include various types of user output devices, such as a monitor, a touch screen, various display devices, etc., although not specifically shown. According to an embodiment of the present invention, a specification file received from the operation control unit 104, a graphical user interface for interacting with a user, and the like can be displayed to the user through user output devices of the user data input / output unit 106 have. The user data input / output unit 106 may also include various types of user input devices, such as a mouse, a keyboard, a joystick, and various other input devices, although not specifically shown. According to the embodiment of the present invention, the control information input by the user, for example, regarding the designation of the cause or the result of each sentence or word of the read specification file through the user input devices of the user data input / And various user control information including user control information on whether or not the change of the specification file is reflected.

본 발명의 일 실시예에 의하면, 데이터베이스(108)는 하나 이상의 소프트웨어 명세서 파일에 관한 원인/결과 테이블을 저장할 수 있다. 데이터베이스(108)는 임의의 유형의 메모리 장치일 수 있으며, 본 도면에서는 데이터베이스(108)가 동작 제어부(104)와 별도의 장치로 도시되었으나 본 발명이 이로써 제한되는 것은 아니다. 본 발명의 다른 실시예에 의하면, 데이터베이스(108)는 동작 제어부(104)와 일체화된 일 유형의 메모리 구조일 수도 있다.According to one embodiment of the present invention, the database 108 may store a cause / effect table for one or more software specification files. The database 108 may be any type of memory device, and in this figure the database 108 is shown as a separate device from the operation control 104, but the invention is not so limited. According to another embodiment of the present invention, the database 108 may be a type of memory structure integrated with the operation control unit 104. [

도 2는, 본 발명의 일 실시예에 따른, 원인/결과 테이블의 생성 또는 갱신 동작을 보여주는 동작 흐름도이다.2 is an operational flow diagram illustrating generation / update operations of a cause / effect table, in accordance with an embodiment of the present invention.

우선, 단계(202)에서, 검증할 소프트웨어의 명세서 파일이 판독될 수 있다. 그런 다음, 단계(204)에서는, 판독된 소프트웨어의 명세서 파일이 신규 명세서 파일인지 아니면 변경 명세서 파일인지 판정될 수 있다.First, in step 202, the specification file of the software to be verified can be read. Then, in step 204, it can be determined whether the specification file of the read software is a new specification file or a change specification file.

단계(204)에서, 해당 명세서 파일이 신규 명세서 파일이라고 판정된 경우, 절차는 단계(206)로 진행하여 원인/결과 테이블의 신규 생성 절차가 진행된다. 단계(206)에서는, 주어진 명세서 파일로부터 문장 또는 단어 항목을 획득하고, 그 획득된 문장 또는 단어 항목에 대한 태그 정보를 생성하며, 그 생성된 태그 정보를 주어진 명세서 파일의 해당 항목에 삽입하여 해당 항목을 감싸도록 할 수 있다. 단계(208)에서는, 주어진 문장 또는 단어 항목에 대한 사용자 제어 입력, 예컨대 해당 문장 또는 단어 항목이 원인 항목인지 결과 항목인지에 관한 사용자 선택 정보를 수신할 수 있다. 단계(210)에서는, 해당 문장 또는 단어 항목과, 그에 관한 태그 정보와, 해당 항목에 관한 원인 또는 결과 항목으로서의 사용자 선택 정보를 조합하여, 해당 소프트웨어의 명세서 파일에 관한 원인/결과 테이블을 생성할 수 있다. 그런 다음, 단계(212)에서, 해당 명세서 파일에서 더 처리할 남은 항목이 있는지를 판정하고, 남은 항목이 존재한다면 절차는 단계(206)로 진행하여 남아 있는 다른 항목들에 관한 처리를 계속한다. 단계(212)에서, 명세서 파일에 더 이상 남은 항목이 존재하지 않는 것으로 판정된 경우, 원인/결과 테이블의 생성을 완료하고 단계(228)로 진행하여 생성된 원인/결과 테이블을 데이터베이스(108)에 저장할 수 있다. If it is determined in step 204 that the corresponding specification file is a new specification file, the procedure proceeds to step 206 and a new creation procedure of the cause / effect table proceeds. In step 206, a sentence or word item is obtained from a given statement file, tag information is generated for the obtained sentence or word item, the generated tag information is inserted into the corresponding item of the given statement file, As shown in Fig. In step 208, a user control input for a given sentence or word item, e.g., the user selected information, regarding whether the sentence or word item is a cause item or a result item, may be received. In step 210, a cause / effect table relating to the specification file of the software can be generated by combining the corresponding sentence or word item, tag information on the item, or user selection information as a cause or an effect item related to the item have. Then, in step 212, it is determined whether there are any more items left to process in the corresponding specification file, and if there are any remaining items, the process proceeds to step 206 to continue processing on remaining items. If it is determined in step 212 that there are no more items remaining in the specification file, the generation of the cause / effect table is completed, and the process proceeds to step 228, where the generated cause / effect table is stored in the database 108 Can be stored.

한편, 단계(204)에서, 판독된 소프트웨어의 명세서 파일이 신규 명세서 파일이 아니라고 판정된 경우(예컨대, 해당 명세서 파일에 관련된 원인/결과 테이블이 데이터베이스(108)에 이미 존재하거나, 해당 명세서 파일의 하나 이상의 항목에 태그 정보가 이미 삽입되어 있는 경우 등)라면, 절차는 단계(214)로 진행하여 원인/결과 테이블의 갱신 절차를 진행한다. 단계(214)에서는, 우선 데이터베이스(108)로부터 대응하는 원인/결과 테이블을 판독한다. 그런 다음, 단계(216)에서는, 판독된 명세서 파일을 분석하여 태그 정보가 삽입되어 있는 문장 또는 단어 항목을 획득할 수 있다. 단계(218)에서는, 명세서로부터 획득된 문장 또는 단어 항목을, 데이터베이스(108)로부터 판독된 원인/결과 테이블의 대응하는 문장 또는 단어 항목과 비교하고, 양자의 일치 여부를 판정할 수 있다. 단계(218)에서 명세서로부터 획득된 문장 또는 단어 항목과 데이터베이스(108)로부터 판독된 원인/결과 테이블의 대응하는 문장 또는 단어 항목이 서로 일치하지 않는 것으로 판정된 경우라면, 해당 항목에 변경이 발생한 것이라고 볼 수 있다. 그러므로, 단계(220)에서는 그 불일치 사항, 즉 명세서에서 변경된 사항을 사용자에게 제시할 수 있다. 그런 다음, 단계(222)에서, 사용자로부터 해당 변경 사항을 새로 갱신되는 원인/결과 테이블에 반영할 것인지에 관한 사용자 제어 입력을 수신할 수 있다. 단계(224)에서는, 단계(222)에서 수신한 사용자 제어 입력에 기초하여 해당 변경 사항을 갱신되는 원인/결과 테이블에 반영하거나 반영하지 않도록 원인/결과 테이블을 갱신할 수 있다. 단계(226)에서는, 주어진 명세서 파일에서 더 처리할 남은 항목, 즉 검토되지 않는 태그 정보를 갖는 항목이 남아 있는지를 판정하고, 아직 남은 항목이 존재한다면 절차는 단계(214)로 진행하여 남아 있는 다른 항목들에 관한 처리를 계속한다. 단계(226)에서, 명세서 파일에 더 이상 남은 항목이 존재하지 않는 것으로 판정된 경우라면, 원인/결과 테이블의 갱신을 완료하고 단계(228)로 진행하여 갱신된 원인/결과 테이블을 데이터베이스(108)에 저장할 수 있다.On the other hand, if it is determined in step 204 that the read specification file of the software is not a new specification file (for example, the cause / effect table associated with the specification file already exists in the database 108, The tag information has already been inserted in the above items, etc.), then the procedure goes to step 214 to proceed with the cause / effect table update procedure. In step 214, a corresponding cause / result table is first read from the database 108. Then, in step 216, the read statement file may be analyzed to obtain a sentence or word item in which the tag information is embedded. At step 218, a sentence or word item obtained from the specification may be compared with a corresponding sentence or word item in the cause / effect table read from database 108 to determine whether they match. If it is determined that the sentence or word item obtained from the specification at step 218 and the corresponding sentence or word item of the cause / effect table read from the database 108 do not match with each other, can see. Therefore, at step 220, the inconsistency, i.e., the change in the specification, can be presented to the user. Then, at step 222, the user may receive a user control input as to whether to reflect the change in the cause / effect table that is newly updated. In step 224, based on the user control input received in step 222, the cause / effect table may be updated so that the change is not reflected or reflected in the updated cause / result table. At step 226, it is determined whether there are any remaining items remaining to be processed in the given statement file, i.e., items with unreviewed tag information, and if there are still items remaining, the procedure proceeds to step 214, Continue processing on the items. If it is determined at step 226 that no more items remain in the specification file, the update of the cause / effect table is completed and the process proceeds to step 228 to update the updated cause / Lt; / RTI >

도 3은, 도 1의 동작 제어부(104)의 기능을 자세히 설명하기 위한 기능 블록도이다. 도시된 바에 의하면, 동작 제어부(104)는, 사용자 인터페이스 처리부(302), 명세서 갱신부(304), 원인/결과 테이블 생성부(306), 원인/결과 테이블 갱신부(308), 데이터베이스 처리부(310), 테스트 케이스 생성부(312)를 포함한다.FIG. 3 is a functional block diagram for explaining the functions of the operation control unit 104 of FIG. 1 in detail. The operation control unit 104 includes a user interface processing unit 302, a specification update unit 304, a cause / effect table generation unit 306, a cause / effect table update unit 308, a database processing unit 310 ), And a test case generation unit 312.

본 발명의 일 실시예에 의하면, 사용자 인터페이스 처리부(302)는 도 1의 사용자 데이터 입출력부(106)와 통신 가능하게 접속될 수 있다. 사용자 인터페이스 처리부(302)는, 판독된 명세서 파일을 사용자 데이터 입출력부(106)로 전송되도록 하여 사용자 데이터 입출력부(106)를 통해 사용자에게 제시되도록 할 수 있을 뿐만 아니라, 사용자 제어 입력(예컨대, 소정의 명세서 파일의 각 항목이 원인 항목인지 결과 항목인지를 지정하는 정보, 소정의 명세서 파일의 각 항목에 발생한 변경 내용을 원인/결과 테이블에 반영할 것인지 여부의 선택 정보 등)을 수신하기 위한 사용자 인터페이스 정보를 생성하여 이를 사용자 데이터 입출력부(106)를 통해 사용자에게 제시되도록 할 수 있다. 본 발명의 일 실시예에 의하면, 사용자 인터페이스 처리부(302)는 또한, 사용자 데이터 입출력부(106)를 통해 제시된 사용자 인터페이스를 통하여 수신되는 사용자 제어 입력을 수신할 수 있다. 본 발명의 일 실시예에 의하면, 사용자 인터페이스 처리부(302)는 또한, 동작 제어부(104)에 의해 생성되는 각종 정보들, 예컨대 원인/결과 테이블, 인과 그래프, 테스트 시나리오, 테스트 데이터, 테스트 케이스 등을 사용자 데이터 입출력부(106)를 통해 사용자에게 제시되도록 할 수 있다. According to an embodiment of the present invention, the user interface processing unit 302 may be communicably connected to the user data input / output unit 106 of FIG. The user interface processing unit 302 can transmit the read specification file to the user data input and output unit 106 and be presented to the user through the user data input and output unit 106, Information specifying whether each item of the specification file of the document file is a cause item or an output item, selection information of whether or not the change contents generated in each item of the predetermined specification file is reflected in the cause / effect table, etc.) Information may be generated and presented to the user through the user data input / output unit 106. According to an embodiment of the present invention, the user interface processing unit 302 may also receive a user control input received through the user interface provided through the user data input / According to an embodiment of the present invention, the user interface processing unit 302 may also include various information generated by the operation control unit 104, such as a cause / effect table, a causal graph, a test scenario, test data, And may be presented to the user through the user data input / output unit 106.

본 발명의 일 실시예에 의하면, 동작 제어부(104)가 소프트웨어에 관한 명세서 파일을 수신한 경우, 동작 제어부(104)의 명세서 갱신부(304)는, 수신된 명세서 파일을 분석하고 그것이 신규 명세서 파일인지, 아니면 이전에 검증이 실시된 적이 있는 변경 명세서 파일인지를 판정할 수 있다. 본 발명의 일 실시예에 의하면, 명세서 갱신부(304)는, 예컨대 판독된 명세서 파일을 분석하여, 태그 정보(후술함)를 포함하는 항목이 존재하는지를 판단하고, 태그 정보를 포함하는 항목이 존재하지 않는 경우에 해당 명세서 파일을 신규 명세서 파일이라고 판단할 수 있다. 본 발명의 다른 실시예에 의하면, 명세서 갱신부(304)는, 예컨대 판독된 명세서 파일에 관한 기존의 정보가 데이터베이스(108)에 존재하는지에 따라, 그러한 기존의 정보가 존재하지 않는 경우에, 해당 명세서 파일을 신규 명세서 파일이라고 판단할 수 있다.According to one embodiment of the present invention, when the operation control unit 104 receives the specification file relating to the software, the specification update unit 304 of the operation control unit 104 analyzes the received specification file, , Or a change specification file that has been previously verified. According to an embodiment of the present invention, the specification update unit 304 analyzes, for example, the read specification file to determine whether an item including tag information (to be described later) exists, and if an item including tag information exists It is determined that the specification file is a new specification file. According to another embodiment of the present invention, the specification update unit 304 may update the specification information in accordance with whether existing information about the read specification file exists in the database 108, The specification file can be determined as a new specification file.

본 발명의 일 실시예에 의하면, 명세서 갱신부(304)는, 수신된 명세서 파일이 신규 명세서 파일이라고 판단한 경우, 해당 명세서 파일에 포함된 복수의 문장 및/또는 단어 항목을 획득하고, 각각의 획득된 문장 및/또는 단어 항목에 관한 소정의 태그 정보를 생성할 수 있다. 본 발명의 일 실시예에 의하면, 명세서 갱신부(304)는 해당 명세서 파일의 각 문장 및/또는 단어 항목에 대해 이들 각 항목을 감싸도록 태그 정보를 삽입하여 해당 명세서 파일을 갱신할 수 있다. 본 발명의 일 실시예에 의하면, 소정의 태그 정보는 각 항목이, 후술하는 원인/결과 테이블의 각 항목이라는 점을 나타내는 정보일 수 있다. 본 발명의 일 실시예에 의하면, 소정의 태그 정보는, 해당 태그가 삽입되는 각각의 문장 및/또는 단어 항목을 식별하게 하는 식별 정보를 포함한 각각의 정보일 수 있다.According to one embodiment of the present invention, when the specification specification unit 304 determines that the received specification file is a new specification file, it acquires a plurality of sentences and / or word items contained in the specification file, And generate predetermined tag information about the sentence and / or word item. According to an embodiment of the present invention, the specification update unit 304 may update the corresponding specification file by inserting the tag information so as to surround each item of the statement file and / or the word item of the specification file. According to an embodiment of the present invention, the predetermined tag information may be information indicating that each item is an item of a cause / effect table described later. According to an embodiment of the present invention, the predetermined tag information may be each information including identification information for identifying each sentence and / or word item into which the tag is inserted.

본 발명의 일 실시예에 의하면, 동작 제어부(104)에서 수신된 명세서 파일이 신규 명세서 파일인 경우, 원인/결과 테이블 생성부(306)는 각각의 판독된 문장 및/또는 단어 항목에 대한 사용자 제어 입력, 예컨대 해당 문장 및/또는 항목이 원인 항목인지 결과 항목인지에 관한 사용자 선택 정보를 수신할 수 있다. 원인/결과 테이블 생성부(306)는, 판독된 각 문장 및/또는 단어 항목, 이들 각 항목에 관한 식별 태그 정보, 및 이들 각 항목에 사용자 제어 입력 정보를 조합하여 주어진 소프트웨어 명세서 파일에 관한 원인/결과 테이블을 생성할 수 있다. 본 발명의 일 실시예에 의하면, 데이터베이스 처리부(310)는 새로이 생성된 원인/결과 테이블을 데이터베이스(108)에 저장할 수 있다.According to an embodiment of the present invention, when the specification file received by the operation control unit 104 is a new specification file, the cause / effect table generation unit 306 generates a cause / Input, for example, user selection information regarding whether the sentence and / or item is a cause item or a result item. The cause / result table generating unit 306 generates a cause / result table 306 by combining the read sentence and / or word item, the identification tag information about each item, and the user control input information for each item, You can create a result table. According to an embodiment of the present invention, the database processing unit 310 may store a newly generated cause / result table in the database 108.

본 발명의 일 실시예에 의하면, 동작 제어부(104)에서 수신된 명세서 파일이 변경 명세서 파일인 경우, 데이터베이스 처리부(310)는 데이터베이스(108)에 저장되어 있는 해당 변경 명세서 파일에 관련된 원인/결과 테이블을 검색할 수 있다. 본 발명의 일 실시예에 의하면, 원인/결과 테이블 갱신부(308)는 변경 명세서 파일의 변경 사항을 반영하도록 그 수신된 명세서 파일에 관하여 데이터베이스(108)로부터 검색된 원인/결과 테이블을 갱신할 수 있고, 데이터베이스 처리부(310)가 그 갱신된 원인/결과 테이블을 데이터베이스(108)에 저장할 수 있다. 구체적으로, 원인/결과 테이블 갱신부(308)는 수신된 명세서 파일을 분석하고 각 문장 및/또는 단어 항목을 이들 각각의 태그 정보에 의해 획득할 수 있다. 원인/결과 테이블 갱신부(308)는 또한 태그 정보를 활용하여 명세서 파일로부터 획득된 각 문장 및/또는 단어 항목과, 데이터베이스(108)로부터 검색된 원인/결과 테이블의 대응하는 문장 및/또는 단어 항목을 비교하고, 명세서 파일 중 어떤 항목이 변경되었는지를 판정할 수 있다. 본 발명의 일 실시예에 의하면, 원인/결과 테이블 갱신부(308)는 도 1의 사용자 데이터 입출력부(106)를 통해 어떤 항목이 변경되었는지를 사용자에게 표시할 수 있고, 그 변경된 정보의 반영 여부에 관한 사용자 제어 입력을 수신할 수 있다. 본 발명의 일 실시예에 의하면, 원인/결과 테이블 갱신부(308)는, 수신된 사용자 제어 입력에 기초하여, 원인/결과 테이블을 갱신할 수 있고, 데이터베이스 처리부(310)를 통해 그 갱신된 원인/결과 테이블을 데이터베이스(108)에 저장할 수 있다. According to an embodiment of the present invention, when the specification file received by the operation control unit 104 is a change specification file, the database processing unit 310 generates a cause / effect table related to the change specification file stored in the database 108 Can be searched. According to one embodiment of the present invention, the cause / effect table update unit 308 can update the cause / effect table retrieved from the database 108 with respect to the received specification file to reflect changes in the change specification file , The database processing unit 310 may store the updated cause / result table in the database 108. [ Specifically, cause / result table update unit 308 can analyze the received specification file and obtain each sentence and / or word item by their respective tag information. The cause / effect table update unit 308 also uses the tag information to identify each sentence and / or word item obtained from the specification file and the corresponding sentence and / or word item in the cause / effect table retrieved from the database 108 And determine which item in the specification file has been changed. According to an embodiment of the present invention, the cause / result table update unit 308 can display to the user which item has been changed through the user data input / output unit 106 of FIG. 1, Lt; RTI ID = 0.0 > of < / RTI > According to one embodiment of the present invention, the cause / result table update unit 308 can update the cause / effect table based on the received user control input, / ≪ / RTI > result table in the database 108.

본 발명의 일 실시예에 의하면, 테스트 케이스 생성부(312)는, 생성 또는 갱신된 원인/결과 테이블에 기초하여 그에 대응하는 인과 그래프를 생성할 수 있다. 테스트 케이스 생성부(312)는 또한 인과 그래프로부터 테스트 시나리오를 추출하고 테스트 시나리오에서 사용될 테스트 데이터를 도출할 수 있다. 테스트 케이스 생성부(312)는 테스트 시나리오와 테스트 데이터에 기초하여 테스트 케이스를 생성할 수 있다. 테스트 케이스 생성 동작에 관한 자세한 사항은 본 출원인의 선행 등록특허 제10-1554424호를 참조할 수 있다. 본 발명의 일 실시예에 의하면, 테스트 케이스 생성부(312)에 의해 생성되는 인과 그래프, 테스트 시나리오, 테스트 케이스 등이 사용자 인터페이스 처리부(302)를 통해 사용자 데이터 입출력부(106)로 전달될 수 있고, 사용자 데이터 출력 장치에 의해 사용자에게 제시될 수 있다.According to an embodiment of the present invention, the test case generating unit 312 can generate a causal graph corresponding to the generated / updated cause / result table. The test case generation unit 312 may also extract test scenarios from the causal graph and derive test data to be used in the test scenarios. The test case generation unit 312 can generate a test case based on the test scenario and the test data. Details of the test case generation operation can be found in the applicant's prior registration No. 10-1554424. According to an embodiment of the present invention, causal graphs, test scenarios, test cases, and the like generated by the test case generating unit 312 can be transmitted to the user data input / output unit 106 through the user interface processing unit 302 , And presented to the user by the user data output device.

도 4는, 본 발명의 일 실시예에 따른, 명세서 파일 표시와 그로부터 생성된 원인/결과 테이블 표시의 예를 도시한 도면이다. 4 is a diagram illustrating an example of a specification file display and cause / effect table display generated therefrom, in accordance with an embodiment of the present invention.

도 4의 (a)에는, 본 발명의 일 실시예에 따라, 테스트 케이스 생성 장치(100)가 소프트웨어의 명세서 파일을 판독한 경우, 그 판독된 명세서 파일의 내용이 사용자 디스플레이 장치에 제시되는, 예시적인 명세서 파일 표시가 제시되고 있다. 본 발명의 일 실시예에 따르면, 도시된 바와 같이, 사용자 디스플레이 장치에 제시되는 명세서 파일 표시에서는, 해당 명세서 파일의 각 문장 및 단어 항목이 식별 가능한 형태로 표시되고 아울러 이들 각 항목에 대한 사용자 선택, 즉 각 항목이 원인 항목인지 결과 항목인지의 사용자 선택을 요구하는 그래픽 사용자 인터페이스가 함께 표시될 수 있다.4A shows an example of the contents of the read specification file being presented to the user display device when the test case generation device 100 reads the specification file of the software according to an embodiment of the present invention. A specification file display is presented. According to an embodiment of the present invention, as shown, in the specification file presentation presented on the user display device, each sentence and word item of the specification file is displayed in an identifiable form, and the user selection, That is, a graphical user interface may be displayed that requires a user selection of whether each item is a cause item or a result item.

도 4의 (b)에는, 본 발명의 일 실시예에 따라, 도 4의 (a)에 도시된 명세서 파일 표시에 대응하는 명세서 파일로부터 도출된 각 문장 또는 단어 항목과 이들 각 항목에 관하여 사용자 인터페이스를 통해 수신된 사용자 제어 입력에 기초하여 작성된 원인/결과 테이블 표시가 제시되어 있다. 도시된 바에 의하면, 원인/결과 테이블 표시에는, 원인 항목들(C1-C8)과 결과 항목들(E1-E9)을 포함한 총 17개의 항목이 표시되어 있고, 각 항목은 각 ID와 그에 관한 정의를 포함하는 것으로 표시되어 있다.4 (b) shows, in accordance with an embodiment of the present invention, each sentence or word item derived from a specification file corresponding to the specification file display shown in Fig. 4 (a) A cause / effect table display created based on the user control input received via < / RTI > In the cause / result table display, there are displayed 17 items including cause items (C1-C8) and result items (E1-E9), and each item has a definition of each ID and its related items And the like.

도 5는, 본 발명의 일 실시예에 따라, 명세서 파일에 변경이 발생한 경우, 그러한 변경에 대응하여 갱신되는 과정 중에 있는 원인/결과 테이블의 표시를 보여주는 도면이다.5 is a diagram showing an indication of a cause / effect table in the process of being updated in response to a change in a specification file in accordance with an embodiment of the present invention.

도 5에 도시된 바에 의하면, 도 4의 (b)의 원인/결과 테이블 표시와 비교할 때, 원인 항목(C3-C5)과 결과 항목(E3-E5 및 E7)에 변경이 발생하였음을 알 수 있다. 도 5에 도시된 원인/결과 테이블의 표시에는, 각 변경이 발생한 항목에 대하여 그 변경사항을 원인/결과 테이블에 반영할 것인지를 사용자에게 문의하는 사용자 인터페이스 항목이 포함되어 있다.5, it can be seen that a change has occurred in the cause items (C3-C5) and the result items (E3-E5 and E7) when compared with the cause / result table display of FIG. 4 . The display of the cause / result table shown in Fig. 5 includes a user interface item for inquiring of the user whether or not the change should be reflected in the cause / result table for the item in which each change occurs.

당업자라면 알 수 있듯이 본 발명은 본 명세서에서 기술된 예시에 한정되는 것이 아니라 본 발명의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 재구성 및 대체될 수 있다. 예를 들어, 본원에 기술된 다양한 기술들은 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 따라서, 본원에 따른 소프트웨어 안전성 분석을 위한 분석 머신의 특정한 양태나 부분은 범용 또는 전용 마이크로프로세서, 마이크로-컨트롤러 등에 의해 실행 가능한 하나 이상의 컴퓨터 프로그램으로 구현될 수 있다. 본 발명의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨터 프로세서 등에 의해 판독 가능한 저장 매체, 예컨대 EPROM, EEPROM, 플래시 메모리장치와 같은 비휘발성 메모리, 내장형 하드 디스크와 착탈식 디스크 같은 자기 디스크, 광자기 디스크, 및 CDROM 디스크 등을 포함한 다양한 유형의 저장 매체에 저장된 형태로 구현될 수 있다. 또한, 프로그램 코드(들)는 어셈블리어나 기계어로 구현될 수 있고, 전기 배선이나 케이블링, 광섬유, 또는 기타 임의의 다른 형태의 전송 매체를 통해 전송되는 형태로 구현될 수도 있다. As will be appreciated by those skilled in the art, the present invention is not limited to the examples described herein, but may be variously modified, rearranged and replaced without departing from the scope of the present invention. For example, the various techniques described herein may be implemented in hardware or software, or a combination of hardware and software. Thus, certain aspects or portions of an analysis machine for software safety analysis in accordance with the present disclosure may be implemented with one or more computer programs executable by a general purpose or special purpose microprocessor, micro-controller, or the like. A computer program according to an embodiment of the present invention may be stored in a storage medium readable by a computer processor or the like such as a nonvolatile memory such as EPROM, EEPROM, flash memory device, a magnetic disk such as an internal hard disk and a removable disk, CDROM disks, and the like. Also, the program code (s) may be implemented in assembly language or machine language, and may be implemented in a form that is transmitted over electrical wiring or cabling, optical fiber, or any other form of transmission medium.

본 명세서에서는, 소프트웨어 위험성 분석의 예시적인 실시예에 대해 다양한 도면를 참조하여 주로 기술했지만, 다른 유사한 실시예들이 이용될 수 있다. 본 발명의 진정한 사상 및 범주에 속하는 모든 변형 및 변경을 이하의 특허청구범위에 의해 모두 포괄하고자 한다.Although exemplary embodiments of the software risk analysis are mainly described herein with reference to various drawings, other similar embodiments may be used. And all changes and modifications that fall within the true spirit and scope of the present invention are intended to be embraced by the following claims.

102: 명세서 판독/수정부
104: 동작 제어부
106: 사용자 데이터 입출력부
108: 데이터베이스
102: Specification reading /
104:
106: User data input / output unit
108: Database

Claims (14)

소프트웨어 검증을 위한 테스트 케이스 생성 방법으로서,
상기 소프트웨어의 제1 명세서 파일을 판독하는 단계;
상기 제1 명세서 파일로부터 하나 이상의 항목을 획득하는 단계;
상기 제1 명세서 파일의 상기 하나 이상의 항목 각각이 소정의 태그 정보를 포함하도록 변경하는 단계;
사용자 제어 입력에 기초하여, 상기 하나 이상의 항목 각각에 대해, 상기 각각의 항목을 원인 항목 또는 결과 항목으로 설정하는 단계;
상기 설정에 기초하여, 상기 하나 이상의 항목에 대한 원인/결과 테이블을 생성 및 저장하는 단계;
상기 원인/결과 테이블에 기초하여 상기 테스트 케이스를 생성하는 단계;
상기 원인/결과 테이블을 저장한 이후에, 상기 소프트웨어의 제2 명세서 파일을 판독하는 단계 - 상기 제2 명세서 파일은, 상기 제1 명세서 파일의 상기 하나 이상의 항목 중 적어도 하나의 항목을 변경하여 생성된 것임 -;
상기 제2 명세서 파일로부터, 상기 태그 정보를 포함하는 적어도 하나의 항목을 획득하는 단계;
상기 원인/결과 테이블을 검색하는 단계; 및
상기 제2 명세서 파일로부터 획득된 상기 적어도 하나의 항목과 상기 원인/결과 테이블의 대응하는 항목을 비교하여, 상기 적어도 하나의 항목 중에서 상기 원인/결과 테이블의 생성 이후에 변경이 발생한 항목과 변경 내용을 식별하는 단계
를 포함하는, 테스트 케이스 생성 방법.
A test case generation method for software verification,
Reading a first specification file of the software;
Obtaining one or more items from the first specification file;
Changing each of the one or more items of the first specification file to include predetermined tag information;
Setting, for each of the one or more items, a respective item as a cause item or a result item based on a user control input;
Generating and storing a cause / effect table for the one or more items based on the setting;
Generating the test case based on the cause / result table;
Reading the second specification file of the software after storing the cause / effect table, wherein the second specification file is created by modifying at least one item of the one or more items of the first specification file -;
Obtaining, from the second specification file, at least one item including the tag information;
Retrieving the cause / effect table; And
Comparing the at least one item obtained from the second specification file with a corresponding item in the cause / result table to determine an item in which the change occurred and a change from the at least one item after the generation of the cause / Steps to identify
And generating a test case.
삭제delete 제1항에 있어서,
상기 제2 명세서 파일을 사용자 디스플레이 장치에 표시하는 단계; 및
상기 원인/결과 테이블을 상기 사용자 디스플레이 장치에 표시하는 단계를 더 포함하고,
상기 원인/결과 테이블을 상기 사용자 디스플레이 장치에 표시하는 단계는, 상기 식별된 항목과 변경 내용을 상기 사용자 디스플레이 장치에 표시하는 단계를 포함하는, 테스트 케이스 생성 방법.
The method according to claim 1,
Displaying the second specification file on a user display device; And
Further comprising displaying the cause / effect table on the user display device,
Wherein the step of displaying the cause / effect table on the user display device comprises displaying the identified item and the change on the user display device.
제3항에 있어서,
상기 식별된 항목과 변경 내용을 표시하는 단계는, 상기 변경 내용의 반영에 관한 사용자 제어 입력을 수신하기 위한 사용자 인터페이스를 제공하는 단계를 더 포함하는, 테스트 케이스 생성 방법.
The method of claim 3,
Wherein displaying the identified item and the change further comprises providing a user interface for receiving a user control input regarding the reflection of the change.
제4항에 있어서,
상기 사용자 인터페이스를 통해 입력된 상기 사용자 제어 입력에 기초하여, 상기 원인/결과 테이블을 수정 및 저장하는 단계; 및
상기 수정된 원인/결과 테이블에 기초하여 새로운 테스트 케이스를 생성하는 단계를 더 포함하는, 테스트 케이스 생성 방법.
5. The method of claim 4,
Modifying and storing the cause / effect table based on the user control input inputted through the user interface; And
And generating a new test case based on the modified cause / result table.
제1항에 있어서,
상기 소정의 태그 정보는, 상기 하나 이상의 항목 각각에 대해, 상기 각 항목에 대응하는 식별 정보를 포함하는, 테스트 케이스 생성 방법.
The method according to claim 1,
Wherein the predetermined tag information includes, for each of the one or more items, identification information corresponding to each item.
제1항에 있어서,
상기 제1 명세서 파일을 사용자 디스플레이 장치에 표시하는 단계; 및
사용자 인터페이스를 상기 사용자 디스플레이 장치에 표시하는 단계를 더 포함하고,
상기 제1 명세서 파일로부터 하나 이상의 항목을 획득하는 단계는 상기 사용자 인터페이스를 통해 상기 하나 이상의 항목을 획득하는 단계를 포함하는, 테스트 케이스 생성 방법.
The method according to claim 1,
Displaying the first specification file on a user display device; And
Further comprising displaying the user interface on the user display device,
Wherein acquiring one or more items from the first specification file comprises obtaining the one or more items via the user interface.
제7항에 있어서,
상기 사용자 인터페이스를 통해 상기 사용자 제어 입력을 수신하는 단계를 더 포함하는, 테스트 케이스 생성 방법.
8. The method of claim 7,
Further comprising receiving the user control input via the user interface.
제7항에 있어서,
상기 하나 이상의 항목에 대한 원인/결과 테이블을 상기 사용자 디스플레이 장치에 표시하는 단계를 더 포함하는, 테스트 케이스 생성 방법.
8. The method of claim 7,
Further comprising displaying the cause / effect table for the one or more items on the user display device.
제1항에 있어서,
상기 하나 이상의 항목 각각은, 각각의 대응하는 문장 또는 단어를 포함하는, 테스트 케이스 생성 방법.
The method according to claim 1,
Each of the one or more items comprising a respective corresponding sentence or word.
제10항에 있어서,
상기 제1 명세서 파일의 상기 하나 이상의 항목 각각이 소정의 태그 정보를 포함하도록 변경하는 단계는, 상기 하나 이상의 항목 각각의 각 대응하는 문장 또는 단어에 대해 상기 태그 정보를 삽입하는 단계를 포함하는, 테스트 케이스 생성 방법.
11. The method of claim 10,
Wherein modifying each of the one or more items of the first specification file to include predetermined tag information comprises inserting the tag information for each corresponding sentence or word of each of the one or more items. How to create a case.
제1항에 있어서,
상기 테스트 케이스를 생성하는 단계는,
상기 원인/결과 테이블에 기초하여 인과 그래프를 생성하는 단계; 및
상기 인과 그래프에 기초하여 상기 테스트 케이스를 생성하는 단계를 포함하는, 테스트 케이스 생성 방법.
The method according to claim 1,
Wherein the step of generating the test case comprises:
Generating a causal graph based on the cause / effect table; And
And generating the test case based on the causal graph.
하나 이상의 명령어를 수록한 컴퓨터 판독가능 기록매체로서, 상기 하나 이상의 명령어는 컴퓨터에 의해 실행되는 경우 상기 컴퓨터로 하여금, 제1항, 제3항 내지 제12항 중 어느 한 항에 따른 방법을 수행하도록 하는, 컴퓨터 판독가능 기록매체.A computer-readable medium having stored thereon one or more instructions for causing the computer to perform the method according to any one of claims 1 to 3, The computer-readable recording medium. 컴퓨터 장치로서,
사용자 디스플레이 장치;
메모리; 및
프로세서를 포함하고,
상기 프로세서는, 제1항, 제3항 내지 제12항 중 어느 한 항에 따른 방법을 수행하는, 컴퓨터 장치.
13. A computer device,
A user display device;
Memory; And
A processor,
Wherein the processor is adapted to perform the method according to any one of claims 1 to 12.
KR1020160098504A 2016-08-02 2016-08-02 Method and apparatus for generating test case, computer readable recording medium KR101826618B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160098504A KR101826618B1 (en) 2016-08-02 2016-08-02 Method and apparatus for generating test case, computer readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160098504A KR101826618B1 (en) 2016-08-02 2016-08-02 Method and apparatus for generating test case, computer readable recording medium

Publications (1)

Publication Number Publication Date
KR101826618B1 true KR101826618B1 (en) 2018-02-07

Family

ID=61204142

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160098504A KR101826618B1 (en) 2016-08-02 2016-08-02 Method and apparatus for generating test case, computer readable recording medium

Country Status (1)

Country Link
KR (1) KR101826618B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200071567A (en) * 2018-12-11 2020-06-19 (주)씽크포비엘 Method and apparatus for automatically creating test cases for software
KR20210131215A (en) * 2020-04-21 2021-11-02 유아이패스, 인크. Test automation for robotic process automation
US11797432B2 (en) 2020-04-21 2023-10-24 UiPath, Inc. Test automation for robotic process automation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101554424B1 (en) * 2014-05-02 2015-09-30 (주)씽크포비엘 Method and apparatus for auto generation of test case
JP5942009B1 (en) * 2015-03-31 2016-06-29 エヌ・ティ・ティ・コムウェア株式会社 Software test apparatus, software test method, and software test program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101554424B1 (en) * 2014-05-02 2015-09-30 (주)씽크포비엘 Method and apparatus for auto generation of test case
JP5942009B1 (en) * 2015-03-31 2016-06-29 エヌ・ティ・ティ・コムウェア株式会社 Software test apparatus, software test method, and software test program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200071567A (en) * 2018-12-11 2020-06-19 (주)씽크포비엘 Method and apparatus for automatically creating test cases for software
KR102176133B1 (en) * 2018-12-11 2020-11-09 (주)씽크포비엘 Method and apparatus for automatically creating test cases for software
KR20210131215A (en) * 2020-04-21 2021-11-02 유아이패스, 인크. Test automation for robotic process automation
KR102444475B1 (en) * 2020-04-21 2022-09-16 유아이패스, 인크. Test automation for robotic process automation
US11789853B2 (en) 2020-04-21 2023-10-17 UiPath, Inc. Test automation for robotic process automation
US11797432B2 (en) 2020-04-21 2023-10-24 UiPath, Inc. Test automation for robotic process automation

Similar Documents

Publication Publication Date Title
US9170921B2 (en) Application testing automation
JP4876511B2 (en) Logic extraction support device
JP5874891B2 (en) Program test apparatus, program test method, and program
US7937622B2 (en) Method and system for autonomic target testing
EP3785126B1 (en) Unit testing for changes to version control
JP6440895B2 (en) Software analysis apparatus and software analysis method
KR101826618B1 (en) Method and apparatus for generating test case, computer readable recording medium
JP6409577B2 (en) Test selection program, test selection method, and test selection device
CN114610286A (en) Development document generation method and device, computer equipment and storage medium
KR20100124726A (en) Building operating system images based on applications
JP6336919B2 (en) Source code review method and system
CN111460235A (en) Atlas data processing method, device, equipment and storage medium
JP6451417B2 (en) Debug support device, debug support system, debug support method, and debug support program
JP2014164385A (en) Requirement detection device and requirement detection program
JP6790921B2 (en) Program analyzer, program analysis method and program analysis program
KR102176133B1 (en) Method and apparatus for automatically creating test cases for software
JP6185148B2 (en) Dependency verification device between software specifications and dependency verification method between software specifications
JP6281239B2 (en) Program development support apparatus and method
JP5900212B2 (en) Test data generation apparatus, program, and method
JP2018026056A (en) Software quality determination method
JP5957986B2 (en) Drawing support apparatus, drawing support method, and drawing support program
CN111597119A (en) Test script updating method and device, storage medium and processor
KR101999321B1 (en) Program test system and test method using the same
KR20150027426A (en) Apparatus and Method for Verifying Scripts Automatically
CN115658551B (en) Code testing method, storage medium, electronic device and apparatus

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant