KR102176133B1 - 소프트웨어 테스트 케이스 자동 생성 방법 및 장치 - Google Patents

소프트웨어 테스트 케이스 자동 생성 방법 및 장치 Download PDF

Info

Publication number
KR102176133B1
KR102176133B1 KR1020180159434A KR20180159434A KR102176133B1 KR 102176133 B1 KR102176133 B1 KR 102176133B1 KR 1020180159434 A KR1020180159434 A KR 1020180159434A KR 20180159434 A KR20180159434 A KR 20180159434A KR 102176133 B1 KR102176133 B1 KR 102176133B1
Authority
KR
South Korea
Prior art keywords
term
test
cause
generating
logical expression
Prior art date
Application number
KR1020180159434A
Other languages
English (en)
Other versions
KR20200071567A (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 KR1020180159434A priority Critical patent/KR102176133B1/ko
Publication of KR20200071567A publication Critical patent/KR20200071567A/ko
Application granted granted Critical
Publication of KR102176133B1 publication Critical patent/KR102176133B1/ko

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

소프트웨어 검증을 위한 테스트 케이스 자동 생성 방법이 제공된다. 본 개시의 방법은, 설계 명세서 파일을 판독하는 단계; 상기 판독된 설계 명세서 파일로부터 원인/결과 테이블을 생성하는 단계; 상기 원인/결과 테이블에 대응되는 인과 그래프를 생성하는 단계; 상기 인과 그래프로부터, 하나 이상의 논리식을 생성하는 단계- 각각의 상기 논리식은 DNF(Disjunctive Normal Form) 형식을 가지며, 하나 이상의 변수로 구성된 하나 이상의 항을 포함함 -; 상기 각 논리식의 상기 각 항 및 상기 각 변수에 관한 하나 이상의 테스트 데이터를 도출하는 단계; 및 상기 각 논리식 및 상기 테스트 데이터를 기반으로 하나 이상의 테스트 케이스를 생성하는 단계를 포함한다.

Description

소프트웨어 테스트 케이스 자동 생성 방법 및 장치{METHOD AND APPARATUS FOR AUTOMATICALLY CREATING TEST CASES FOR SOFTWARE}
본 개시는, 소프트웨어 테스트를 위한 테스트 케이스의 자동 생성 방법 및 장치에 관한 것이며, 보다 구체적으로는, 소프트웨어 개발 명세서와 구현 간 차이에 따른 결함을 발견하기 위한 테스트 케이스의 자동 생성 방법 및 장치에 관한 것이다.
근래에는, 전자제품, 자동차, 항공기 등 많은 제품들에 있어서, 그 각 제품의 동작을 제어하는 소프트웨어의 성능 및 안전성이 곧 해당 제품의 성능과 안전성에 직접 연결되고 있다. 따라서, 이러한 소프트웨어의 개발 명세 및/또는 구현에 있어서의 결함 유무를 확인하고 필요로 되는 적절한 조치를 사전에 취하기 위한 테스트의 수행은 여러 제품 개발에 있어서 매우 중요한 일이며, 이러한 테스트 수행이 제대로 이루어지지 않을 경우 큰 사고로 이어질 수 있는 위험이 있다.
소프트웨어의 결함 유무를 검토하고 해당 소프트웨어가 요구 사항에 부합하도록 동작하는지 등을 검증하기 위한 테스트의 수행은, 통상, 하나 이상의 테스트 케이스를 설계 및 생성하고 그 생성된 테스트 케이스에 따라 해당 소프트웨어에 대한 테스트를 실행하며, 실행의 결과물을 토대로 해당 소프트웨어에 대한 필요한 수정을 행하는 방식으로 이루어진다. 따라서, 테스트 케이스의 설계 및 생성은 소프트웨어 테스트의 기초가 되는 작업이며, 테스트 케이스를 얼마나 효율적으로 잘 설계하는 지에 따라 소프트웨어의 결함을 얼마나 정확하고 빠르게 찾아낼 수 있는지가 결정된다. 그런데, 종래에는, 이러한 각 테스트 케이스의 설계 및 생성이, 주로 테스트 설계자의 수작업에 의해 행하여 지는 경우가 많았는데, 이는 테스트 케이스의 작성에 많은 시간과 노력이 소요되도록 하는 문제가 있었고 아울러 그 작성된 테스트 케이스의 적절성도 보증하기 어려운 문제가 있었다.
이러한 문제를 해결하기 하여, 본 출원인의 선행 특허인, 대한민국 등록특허 제10-1554424호에서는, 테스트할 소프트웨어의 명세서에 포함된 문장들 및 단어들로부터 원인 항목들과 결과 항목들을 획득하여 원인/결과 테이블을 생성하고, 생성된 원인/결과 테이블에 대응하는 인과 그래프를 생성하며, 인과 그래프를 테스트 시나리오로 변환하여 그에 기초한 테스트 케이스를 제공하는, 테스트 케이스의 생성 자동화에 관한 기술이 제안된 바 있다. 그러나, 이러한 등록특허 제10-1554424호에 개시된 테스트 케이스의 자동 생성 기술은, 주로 소프트웨어 개발 명세서 상의 결함 검증을 위한 테스트 케이스 생성에 초점이 맞춰져 있고, 개발 명세서와 달리 구현 상의 결함이 있는 경우에 그러한 구현 상의 결함을 빠르고 정확하게 확인할 수 있는 테스트 케이스의 생성에 대해서는 별다른 인식을 하고 있지 못한 한계가 있었다.
그러므로, 소프트웨어의 개발 명세서와 다른 구현 프로그램 상의 결함 유무 및 유형을 빠르고 정확하게 확인할 수 있게 하는, 테스트 케이스의 자동 생성 방법 등이 제공될 필요가 있다.
본 개시의 일 특징에 의하면, 소프트웨어 검증을 위한 테스트 케이스 자동 생성 방법이 제공된다. 본 개시의 방법은, 설계 명세서 파일을 판독하는 단계; 상기 판독된 설계 명세서 파일로부터 원인/결과 테이블을 생성하는 단계; 상기 원인/결과 테이블에 대응되는 인과 그래프를 생성하는 단계; 상기 인과 그래프로부터, 하나 이상의 논리식을 생성하는 단계- 각각의 상기 논리식은 DNF(Disjunctive Normal Form) 형식을 가지며, 하나 이상의 변수로 구성된 하나 이상의 항을 포함함 -; 상기 각 논리식의 상기 각 항 및 상기 각 변수에 관한 하나 이상의 테스트 데이터를 도출하는 단계; 및 상기 각 논리식 및 상기 테스트 데이터를 기반으로 하나 이상의 테스트 케이스를 생성하는 단계를 포함한다.
본 개시의 일 실시예에 의하면, 상기 각 논리식의 상기 각 항 및 상기 각 변수에 관한 하나 이상의 테스트 데이터를 도출하는 단계는, 상기 각 항에 관한 UTP(Unique True Point) 값들을 도출하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 의하면, 상기 각 논리식의 상기 각 항 및 상기 각 변수에 관한 하나 이상의 테스트 데이터를 도출하는 단계는, 상기 각 항의 각 변수에 관한 NFP(Near False Point) 값들을 도출하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 의하면, 상기 각 논리식의 상기 각 항 및 상기 각 변수에 관한 하나 이상의 테스트 데이터를 도출하는 단계는, 소정의 프로그램에 따라 자동으로 수행될 수 있다.
본 개시의 일 실시예에 의하면, 상기 설계 명세서 파일에 대응하는 구현 프로그램 파일을 판독하는 단계; 및 상기 생성된 테스트 케이스를 적용하여, 상기 구현 프로그램 파일의 결함을 확인하는 단계를 더 포함할 수 있다.
본 개시의 일 실시예에 의하면, 상기 판독된 설계 명세서 파일을 사용자 디스플레이 장치에 표시하는 단계; 사용자 인터페이스를 상기 사용자 디스플레이 장치에 표시하는 단계- 상기 원인/결과 테이블은 상기 사용자 인터페이스를 통한 사용자와의 인터랙션에 기초하여 생성됨 -; 상기 원인/결과 테이블을 상기 사용자 디스플레이 장치에 표시하는 단계; 및 상기 하나 이상의 논리식 및 상기 하나 이상의 테스트 데이터를 각각 상기 사용자 디스플레이 장치에 표시하는 단계를 더 포함할 수 있다.
본 개시의 다른 특징에 의하면, 하나 이상의 명령어를 수록한 컴퓨터 판독가능 기록매체로서, 상기 하나 이상의 명령어는 컴퓨터에 의해 실행되는 경우, 컴퓨터로 하여금, 전술한 방법들 중 어느 하나의 방법을 수행하도록 하는, 컴퓨터 판독가능 기록매체가 제공된다.
본 개시의 또 다른 특징에 의하면, 컴퓨터 장치로서, 메모리; 및 프로세서를 포함하고, 상기 프로세서는, 전술한 방법들 중 어느 하나의 방법을 수행하도룩 구성된, 컴퓨터 장치가 제공된다.
본 개시에 의하면, 자동으로 소프트웨어 테스트 케이스의 생성 등이 이루어질 수 있으며, 특히 소프트웨어의 개발 명세서와 다른 구현 상의 결함을 빠르고 정확하게 확인할 수 있게 하는 테스트 케이스의 생성이 자동으로 이루어질 수 있게 된다. 본 개시에 의하면, 소프트웨어 테스트 케이스의 생성 및 검증 동작이 객관적이고 논리적 기준에 따라 수행되도록 함으로써 동작의 정확성이 확보될 수 있고, 소프트웨어 테스트에 소요되는 시간과 비용이 획기적으로 감소될 수 있다. 특히, 본 개시에 의하면, 소프트웨어의 개발 명세서와 다른 구현 상의 결함의 검증 및 수정이 신속하고 정확하게 이루어질 수 있게 되어, 보다 정확한 테스트 결과를 제공할 수 있게 된다.
도 1은, 본 개시의 일 실시예에 따른, 테스트 케이스 자동 생성 및 검증 장치(100)의 기능적 구성을 개략적으로 도시한 블록도이다.
도 2는, 도 1의 동작 제어부(104)의 기능을 좀 더 자세히 설명하기 위한 기능 블록도이다.
도 3은, 본 개시의 일 실시예에 따른 구현 결함 유형들 간의 관계를 도시한 도면이다.
도 4는, 소정의 예시적 논리식에서 각 항에 대한 MUTP를 구하는 과정을 보여주는 도면이다.
도 5는, 소정의 예시적 논리식에서 각 항의 각 변수에 대한 MNFP를 구하는 과정을 보여주는 도면이다.
도 6은, 소프트웨어 설계 명세서로부터 도출된 DNF 폼의 논리식의 특정 항과 관련하여, 해당 논리식으로부터 획득된 해당 항의 MUTP 입력 값들을, 구현 프로그램 상의 대응 논리식의 대응 항에 적용함으로써, 구현 프로그램 상의 해당 항에 존재하는 결함을 발견하는 실시예를 보여주는 도면이다.
이하, 첨부 도면을 참조하여 본 개시의 실시예에 관하여 상세히 설명한다. 이하에서는, 본 개시의 요지를 불필요하게 흐릴 우려가 있다고 판단되는 경우, 이미 공지된 기능 및 구성에 관한 구체적인 설명을 생략한다. 또한, 이하에서 설명하는 내용은 어디까지나 본 개시의 일 실시예에 관한 것일 뿐 본 개시가 이로써 제한되는 것은 아님을 알아야 한다.
본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 개시를 한정하려는 의도에서 사용된 것이 아니다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 또한, 본 개시의 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다.
본 명세서에 기재된 실시예에 있어서 '블록' 또는 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '블록' 또는 '부'는, 특정한 하드웨어로 구현될 필요가 있는 '블록' 또는 '부'를 제외하고는, 적어도 하나의 소프트웨어 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
덧붙여, 달리 정의되지 않는 한 기술적 또는 과학적인 용어를 포함하여, 본 명세서에서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의된 용어들은, 관련 기술의 문맥상 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 개시의 명세서에서 명백하게 달리 정의하지 않는 한 과도하게 제한 또는 확장하여 해석되지 않는다는 점을 알아야 한다.
이하, 첨부된 도면을 참조하여, 본 개시의 실시예에 대해 구체적으로 설명하기로 한다.
도 1은, 본 개시의 일 실시예에 따른, 테스트 케이스 자동 생성 및 검증 장치(100)의 기능적 구성을 개략적으로 도시한 블록도이다. 도시된 바에 의하면, 장치(100)는, 설계 명세서/구현 프로그램 판독부(102), 동작 제어부(104), 사용자 데이터 입출력부(106), 및 데이터베이스(108)를 포함할 수 있다.
본 개시의 일 실시예에 의하면, 소프트웨어 설계 명세서/구현 프로그램 판독부(102)는, 외부 또는 내부 메모리로부터 검증 대상이 되는 소프트웨어의 설계 명세서 파일 및/또는 구현 프로그램 파일을 각각 판독할 수 있다. 본 개시의 일 실시예에 의하면, 설계 명세서는 다양한 형식의 문서 파일일 수 있는데, 예컨대 .docx, .xlsx 등의 확장자를 갖는 오픈 XML 형식의 문서 파일일 수 있으며, 다만 본 개시가 이로써 제한되는 것은 아니다. 설계 명세서는, 검증하고자 하는 소프트웨어의 구조 및 동작 특징을 기술한 베이스 명세서로서, 예컨대 해당 소프트웨어의 작성 언어, 문법, 해당 소프트웨어의 기능을 설명하는 부분, 이용되는 파라미터들의 이름, 타입 및 기능 설명, 에러 발생 조건 등을 비롯한 각종 정보를 문장 또는 단어들로서 기술한 것일 수 있다. 명세서 파일에 포함된 문장 또는 단어들에는 해당 소프트웨어의 기능과 관련하여 원인에 해당하는 항목(이하, 원인 항목)들과 그 원인에 대응하여 파생하는 결과에 해당하는 항목(이하, 결과 항목)들이 포함될 수 있다.
본 개시의 일 실시예에 의하면, 구현 프로그램은, 위 소프트웨어 설계 명세서 파일에 기초하여, 실제로 개발자에 의해 소정의 프로그램 언어 및 문법에 따라 구현된 프로그램 파일일 수 있다. 본 개시의 일 실시예에 의하면, 구현 프로그램은, 설계 명세서와 같이 다양한 형식의 문서 파일일 수 있는데, 예컨대 .docx, .xlsx 등의 확장자를 갖는 오픈 XML 형식의 문서 파일일 수 있으며, 다만 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 구현 프로그램은, 소정의 프로그래밍 에디터에 의해 작성된 문서 파일일 수 있다.
본 개시의 일 실시예에 의하면, 동작 제어부(104)는 설계 명세서/구현 프로그램 판독부(102), 사용자 데이터 입출력부(106), 및 데이터베이스(108)와 통신 가능하게 접속될 수 있다. 동작 제어부(104)는, 설계 명세서/구현 프로그램 판독부(102)에 의해 판독된 설계 명세서 및/또는 구현 프로그램 파일에 관한 정보를 수신하고, 수신된 정보를 사용자 데이터 입출력부(106)를 통해 출력하여 사용자에게 제시할 수 있다. 본 개시의 일 실시예에 의하면, 동작 제어부(104)는, 예컨대 사용자 데이터 입출력부(106)를 통한 사용자와의 인터랙션에 기초하여(그러나 본 개시가 이로써 제한되는 것은 아님), 위 판독된 설계 명세서 파일에 관련된 원인/결과 테이블을 생성하고 그 생성된 원인/결과 테이블을 데이터베이스(108)에 저장할 수 있다. 본 개시의 일 실시예에 의하면, 동작 제어부(104)는 또한 위 생성된 원인/결과 테이블에 기초하여 인과 그래프를 생성하고, 그에 따라 해당 소프트웨어를 검증하기 위한 테스트 시나리오를 생성할 수 있다. 본 개시의 일 실시예에 의하면, 동작 제어부(104)는, 생성된 테스트 시나리오로부터, 복수의 원인과 결과에 관한 논리식을 생성할 수 있고, 생성된 각 논리식을 위한 하나 이상의 테스트 데이터(예컨대, 복수의 원인을 위한 각 데이터 값 등)를 도출할 수 있다. 본 개시의 일 실시예에 의하면, 동작 제어부(104)는, 각 생성된 논리식 및 도출된 테스트 데이터에 기초하여, 복수의 테스트 케이스를 생성할 수 있다.
본 개시의 일 실시예에 의하면, 동작 제어부(104)는, 생성된 원인/결과 테이블, 인과 그래프, 각각의 생성된 논리식, 그에 관하여 도출된 테스트 데이터, 및/또는 생성된 복수의 테스트 케이스에 관한 정보를, 사용자 데이터 입출력부(106)를 통해 출력하여 사용자에게 제시할 수 있다. 동작 제어부(104)의 구체적인 동작에 관해서는 이후 도 2 내지 5를 참조하여 더 자세히 후술하기로 한다.
본 개시의 일 실시예에 의하면, 사용자 데이터 입출력부(106)는, 구체적으로 도시되지는 않았으나, 다양한 유형의 사용자 출력 장치들, 예컨대 모니터, 터치 스크린, 각종 디스플레이 장치 등을 포함할 수 있다. 본 발명의 일 실시예에 의하면, 사용자 데이터 입출력부(106)의 사용자 출력 장치들을 통하여, 동작 제어부(104)로부터 수신한 명세서 파일, 사용자와의 인터랙션을 위한 그래픽 사용자 인터페이스 등이 사용자에게 표시될 수 있다. 본 개시의 일 실시예에 의하면, 사용자 데이터 입출력부(106)는 또한, 구체적으로 도시되지는 않았으나, 다양한 유형의 사용자 입력 장치들, 예컨대 마우스, 키보드, 조이스틱, 기타 각종 입력 장치 등을 포함할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 데이터 입출력부(106)의 사용자 입력 장치들을 통해, 사용자가 입력한 제어 정보, 예컨대 판독된 명세서 파일의 각 문장 또는 단어에 관한 원인 또는 결과로의 지정에 관한 정보를 비롯한 각종 사용자 제어 정보가 수신될 수 있다.
본 개시의 일 실시예에 의하면, 데이터베이스(108)는 하나 이상의 소프트웨어 명세서 파일에 관한 원인/결과 테이블을 저장할 수 있다. 데이터베이스(108)는 임의의 유형의 메모리 장치일 수 있으며, 본 도면에서는 데이터베이스(108)가 동작 제어부(104)와 별도의 장치로 도시되었으나 본 발명이 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 데이터베이스(108)는 동작 제어부(104)와 일체화된 일 유형의 메모리 구조일 수도 있다.
도 2는, 도 1의 동작 제어부(104)의 기능을 좀 더 자세히 설명하기 위한 기능 블록도이다. 도시된 바에 의하면, 동작 제어부(104)는, 사용자 인터페이스 처리부(202), 원인/결과 테이블 생성부(204), 테스트 시나리오 생성부(206), 테스트 데이터 도출부(208), 및 테스트 케이스 생성부(210)를 포함한다.
본 개시의 일 실시예에 의하면, 사용자 인터페이스 처리부(202)는 도 1의 사용자 데이터 입출력부(106)와 통신 가능하게 접속될 수 있다. 사용자 인터페이스 처리부(202)는, 판독된 설계 명세서 파일 및/또는 구현 프로그램 파일에 관한 정보가 사용자 데이터 입출력부(106)로 전송되도록 하여 사용자 데이터 입출력부(106)를 통해 사용자에게 제시되도록 할 수 있을 뿐만 아니라, 사용자 제어 입력(예컨대, 소정의 설계 명세서 파일 상의 각 항목이 원인 항목인지 결과 항목인지를 지정하는 정보 등)을 수신하기 위한 사용자 인터페이스 정보를 생성하여 이를 사용자 데이터 입출력부(106)를 통해 사용자에게 제시되도록 할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 인터페이스 처리부(202)는 또한, 사용자 데이터 입출력부(106)를 통해 제시된 사용자 인터페이스를 통하여 수신되는 각종 사용자 제어 입력을 수신할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 인터페이스 처리부(202)는, 동작 제어부(104)에 의해 생성되는 각종 정보들, 예컨대 원인/결과 테이블, 인과 그래프, 각 생성된 논리식, 그에 관하여 도출된 테스트 데이터, 및/또는 생성된 복수의 테스트 케이스에 관한 정보를 사용자 데이터 입출력부(106)를 통해 사용자에게 제시되도록 할 수 있다.
본 개시의 일 실시예에 의하면, 원인/결과 테이블 생성부(204)는, 판독된 설계 명세서 파일의 각 문장 및/또는 단어 항목에 대한 사용자 제어 입력, 예컨대 해당 문장 및/또는 항목이 원인 항목인지 결과 항목인지에 관한 사용자 선택 정보를 수신할 수 있다. 본 개시의 일 실시예에 의하면, 원인/결과 테이블 생성부(204)는, 판독된 각 문장 및/또는 단어 항목 및 이들 각 항목에 대한 사용자 제어 입력 정보를 조합하여 주어진 소프트웨어 설계 명세서 파일에 관한 원인/결과 테이블을 생성할 수 있다. 본 개시의 일 실시예에 의하면, 원인/결과 테이블 생성부(204)는, 사용자 인터페이스(202) 및 사용자 데이터 입출력부(106)를 통한 사용자와의 인터랙션에 기초하여 생성된 원인/결과 테이블 상의 각 원인 및 결과 항목들 중 축약이 가능한 항목들을 축약할 수 있다. 본 개시의 일 실시예에 의하면, 원인/결과 테이블 생성부(204)는, 생성된 원인/결과 테이블을 도 1의 데이터베이스(108)에 저장할 수 있다.
본 개시의 일 실시예에 의하면, 테스트 시나리오 생성부(206)는, 원인/결과 테이블 생성부(204)에 의해 생성된 원인/결과 테이블에 기초하여 그에 대응하는 인과 그래프를 생성할 수 있다. 본 개시의 일 실시예에 의하면, 테스트 시나리오 생성부(206)는 또한 생성된 인과 그래프로부터 복수의 테스트 시나리오를 추출할 수 있다. 본 개시의 일 실시예에 의하면, 테스트 시나리오 생성부(206)는, 인과 그래프로부터, 복수의 원인과 결과에 관한 논리식을 생성할 수 있다. 본 개시의 일 실시예에 의하면, 테스트 시나리오 생성부(206)에 의해 생성되는 논리식은, 사용자 인터페이스(202) 및 사용자 데이터 입출력부(106)를 통한 사용자와의 인터랙션 또는 기타 다양한 방식에 따라, 불(boolean) 규칙에 기초하여, 예컨대 각 항은 or 연산자로 연결되고 각 항 내의 각 변수(절, literal)는 and 연산자로 연결된 DNF(Disjunctive Normal Form; 논리합 표준형) 형식을 갖도록 생성될 수 있다. 본 개시의 일 실시예에 의하면, 테스트 시나리오 생성부(206)에 의해 생성되는 논리식은, 예컨대 리던던트하지 않은 DNF(irredundant Disjunctive Normal Form) 형식을 갖도록 생성될 수 있다.
본 개시의 일 실시예에 의하면, 테스트 데이터 도출부(208)는, 테스트 시나리오 생성부(206)에 의해 생성된 각각의 원인 및 결과에 관한 각 논리식을 위한, 하나 이상의 테스트 데이터(예컨대, 논리식의 각 입력에 해당하는 복수의 원인을 위한 각 데이터 값 등)를 도출할 수 있다. 본 개시의 일 실시예에 의하면, 테스트 데이터 도출부(208)는, 예컨대 테스트 시나리오 생성부(206)에 의해 생성된 각 DNF 폼의 논리식에 대해, 각 항에 대한 MUTP(Multiple Unique True Point-다중 유일 참 값) 세트를 생성할 수 있다. 정의에 의하면, MUTP는, 주어진 논리식이 단항식인 경우에는 그 논리식의 항에 포함된 각 변수(절, literal)마다에 대해, 해당 변수 하나만이 참(다른 변수는 거짓)이 되는 입력 값들의 조합 각각을 나타내고, 주어진 논리식이 다항식인 경우에는 그 논리식의 각 항(term)마다에 대해, 해당 항 하나만이 참(다른 항은 거짓)이 되는 입력 값들의 조합을 지칭할 수 있다. 표 1은, MUTP를 구하는 과정을 보여주는 슈도 코드를 나타낸다. 본 개시의 일 실시예에 의하면, 테스트 데이터 도출부(208)는, 예컨대 표 1의 슈도 코드에 따라, 논리식의 각 항에 대한 MUTP 세트를 생성할 수 있다.
MUTP 테스트 케이스 도출을 위한 자동화 슈도 코드
function MUTP 도출 (in: 단순화된 논리식(= 축약된 논리식))
new 결과 리스트

if (논리식 연산자 == AND)
for each 변수 in 항
항에서 상기 변수만 참이고, 나머지 변수는 거짓인 테스트 케이스 생성
결과 리스트에 생성된 테스트 케이스 추가

else//논리식 연산자 == OR
new 테스트 케이스 목록

for each 항 in 논리식
논리식에서 상기 항만 참이고 나머지 항은 거짓인 테스트 케이스 목록 생성
테스트 케이스 목록에 테스트 케이스 추가

for each 케이스 in 테스트 케이스 목록
if 참인 항과 거짓인 항에서 중복되는 변수가 동일한 값을 가짐//=유효한 조합인 경우
결과 리스트에 생성된 테스트 케이스 추가
반환: 결과 리스트
본 개시의 일 실시예에 의하면, 테스트 데이터 도출부(208)는, 예컨대 테스트 시나리오 생성부(206)에 의해 생성된 각 DNF 폼의 논리식에 대해, 각 항의 각 변수(절, literal)마다에 대한 MNFP(Multiple Near False Point-다중 근처 거짓 값) 세트를 생성할 수 있다. 정의에 의하면, MNFP는, 주어진 논리식이 단항식인 경우에는 그 논리식의 항에 포함된 각 변수(절, literal)마다에 대해, 해당 변수 값 만을 반전(negate)시키고 나머지 변수 값은 그대로 두었을 때 해당 항이 참이 되는 입력 값들의 조합을 나타내고, 주어진 논리식이 다항식인 경우에는 그 논리식의 값을 거짓으로 만들지만, 해당 변수의 값(다른 변수는 그대로 두고) 만을 반전시켰을 때, 해당 논리식 값이 참이 되도록 하는 입력 값들의 조합을 나타낼 수 있다. 본 개시의 일 실시예에 의하면, 테스트 데이터 도출부(208)는, 예컨대 다음 슈도 코드에 따라, 논리식의 각 항의 각 변수에 대한 MNFP 세트를 생성할 수 있다. 표 2는, MNFP를 구하는 과정을 보여주는 슈도 코드를 나타낸다. 본 개시의 일 실시예에 의하면, 테스트 데이터 도출부(208)는, 예컨대 표 2의 슈도 코드에 따라, 논리식의 각 항의 각 변수에 대한 MNFP 세트를 생성할 수 있다.
MNFP 테스트 케이스 도출을 위한 자동화 슈도 코드

function MNFP 도출 (in: 단순화된 논리식(=축약된 논리식))
new 결과 리스트

if (논리식 연산자 == AND)
for each 변수 in 항
항에서 상기 변수의 값만 반전시키고 나머지 변수의 값은 그대로인 테스트 케이스 생성
결과 리스트에 생성된 테스트 케이스 추가

else//논리식 연산자 == OR
new 테스트 케이스 목록

for each 기준항 in 논리식
MNFP 도출 (기준항)
반전된 식 = 논리식에서 상기 항을 제외한 나머지 항의 값을 반전시킴
For each 반전항 in 반전된 식
MNFP 도출 (반전항)
For each 반전항 MNFP in 도출된 반전항의 MNFP 목록
if 기준항의 과 반전항의 MNFP에서 중복되는 변수가 동일한 값을 가짐//= 유효한 조합인 경우
테스트 케이스 = 기준항의 MNFP와 반전항의 MNFP 조합
결과 리스트에 테스트 케이스 추가

반환: 결과 리스트
본 개시의 일 실시예에 의하면, 테스트 데이터 도출부(208)에 의해 도출된 입력 값들, 예컨대 논리식의 각 항에 대한 MUTP 세트 및 각 항의 각 변수에 대한 MNFP 세트를 이용하여, 테스트 케이스를 위한 다양한 데이터 세트를 도출해낼 수 있다. 예컨대, 본 개시의 일 실시예에 의하면, 논리식의 각 항에 대한 MUTP 세트, 각 항에 대한 MUTP 세트 및 해당 항의 각 절의 MNFP 세트, 각 항의 각 절의 MNFP 세트 등의 다양한 조합이 테스트 케이스를 위한 데이터 세트로서 도출될 수 있다.본 개시의 일 실시예에 의하면, 테스트 케이스 생성부(210)는, 위 생성된 논리식 및 도출된 테스트 데이터에 기초하여 복수의 테스트 케이스를 자동으로 생성할 수 있다. 본 개시의 일 실시예에 의하면, 테스트 케이스 생성부(210)는, 테스트 시나리오 생성부(206)에 의해 생성된 각 논리식과 테스트 데이터 도출부(208)에 의해 도출된 데이터 값들, 예컨대 MUTP 및/또는 MNFP 세트 등(그러나, 이로써 제한되는 것은 아님)을 이용하여, 테스트 케이스들을 자동으로 생성할 수 있다. 본 개시의 일 실시예에 의하면, 테스트 케이스 생성부(210)에 의해 생성되는 테스트 케이스들은, 소프트웨어 설계 명세서의 요구가, 실제 구현 프로그램에서 잘못 반영된 경우의 결함을 발견하기 위한 것일 수 있다. 본 개시의 일 실시예에 의하면, 예컨대 소프트웨어 설계 명세서로부터 도출된 DNF 폼의 논리식의 각 항 및 각 절과 관련하여, 해당 논리식으로부터 획득된 MUTP 입력 값들 및/또는 MNFP 입력 값들을, 구현 프로그램 상에서 해당 논리식의 대응 항 및 절에 적용하였을 때 얻어지는 결과로부터, 구현 프로그램 상의 해당 항 및/또는 절에 결함이 있음을 알 수 있다.
도 3은, 본 개시의 일 실시예에 따른 구현 결함 유형들 간의 관계를 도시한 도면이다. 소프트웨어 설계 명세서에 기초한 테스트에 의해 구현 프로그램 상에서 발견될 수 있는 결함의 예로서, 예컨대 하기 9가지의 결함이 알려져 있다.
ENF:
Expression Negation Fault(표현식 부정 결함)
설계 명세서로부터의 논리식이 구현에서 논리식이 f일 때, 구현 상의 대응 논리식에서 f를 반전시킨 결함
TNF: Term Negation Fault(텀 부정 결함) 설계 명세서로부터의 논리식의 특정 항에 대해, 구현 상의 대응 논리식에서 대응 항을 반전시킨 결함
TOF: Term Omission Fault(텀 누락 결함) 설계 명세서로부터의 논리식의 특정 항을 구현 상의 대응 논리식에서 누락한 결함
LNF: Literal Negation Fault(절 부정 결함) 설계 명세서로부터의 논리식의 특정 항의 특정 변수를 구현 상의 대응 논리식에서 대응 항의 대응 절(변수)을 반전시킨 결함
LRF: Literal Reference Fault(절 참조 결함) 설계 명세서로부터의 논리식의 특정 항의 특정 변수를 구현 상의 대응 논리식에서 대응 항의 대응 변수를 다른 것으로 잘못 교체한 결함
LOF: Literal Omission Fault(절 누락 결함) 설계 명세서로부터의 논리식의 특정 항의 특정 변수를 구현 상의 대응 논리식에서 대응 항의 대응 변수를 누락한 결함
LIF: Literal Insertion Fault(절 삽입 결함) 설계 명세서로부터의 논리식의 특정 항에 대해, 구현 상의 대응 논리식에서 대응 항에 잘못된 절(변수)을 삽입한 결함
ORF+: Operator Reference Fault(연산자 참조 결함-OR) 설계 명세서로부터의 논리식의 or 연산자를 구현 상의 대응 논리식에서 and로 잘못 쓴 결함
ORF*: Operator Reference Fault(연산자 참조 결함-AND) 설계 명세서로부터의 논리식의 or 연산자를 구현 상의 대응 논리식에서 and로 잘못 쓴 결함
전술한 바와 같이, 본 개시의 일 실시예에 의하면, 도 2의 테스트 케이스 생성부(210)는, 테스트 시나리오 생성부(206)에 의해 생성된 각 논리식과 테스트 데이터 도출부(208)에 의해 도출된 데이터 값들, 예컨대 MUTP 및/또는 MNFP 세트 등(그러나, 이로써 제한되는 것은 아님)을 이용하여, 다양한 테스트 케이스들을 자동으로 생성할 수 있는데, 그 생성되는 테스트 케이스들은, 구현 프로그램 상의 결함을 발견하기 위한 테스트 케이스들일 수 있다. 예컨대, 소프트웨어 설계 명세서로부터 도출된 DNF 폼의 논리식의 어느 한 항에 대하여 획득된 MUPT 세트를, 구현 프로그램 상의 대응 논리식에 적용하였을 때 그 대응 논리식으로부터 하나라도 거짓의 결과가 도출되는 경우가 있다면, 해당 구현 프로그램 상에 LIF(절 삽입 결함)가 있는 것으로 볼 수 있는데, 본 개시의 일실시예에 의하면, 테스트 케이스 생성부(210)에 의해서 생성되는 테스트 케이스들은, 테스트 시나리오 생성부(206)로부터 생성된 논리식과 테스트 데이터 도출부(208)로부터 도출된 특정 항의 MUTP 세트를 이용하여, 전술한 구현 상의 LIF를 발견하기 위한 테스트 케이스들을 생성할 수 있을 것이다. 예컨대, 소프트웨어 설계 명세서로부터 도출된 DNF 폼의 논리식의 어느 한 항의 어느 한 변수(절)에 대하여 획득된 MNFP 세트를, 구현 프로그램 상의 대응 논리식에 적용하였을 때 그 대응 논리식으로부터 참의 결과가 도출되는 경우가 있다면, 해당 구현 프로그램 상에 LOF(절 누락 결함)가 있는 것으로 볼 수 있는데, 본 개시의 일실시예에 의하면, 테스트 케이스 생성부(210)에 의해서 생성되는 테스트 케이스들은, 테스트 시나리오 생성부(206)로부터 생성된 논리식과 테스트 데이터 도출부(208)로부터 도출된 특정 항의 특정 변수의 MNFP 세트를 이용하여, 전술한 구현 상의 LOF를 발견하기 위한 테스트 케이스들을 생성할 수 있을 것이다. 예컨대, 소프트웨어 설계 명세서로부터 도출된 DNF 폼의 논리식의 어느 한 항에 대하여 획득된 MUPT 세트와, 그 항의 어느 한 변수(절)에 대하여 획득된 MNFP 세트가 각각 해당 논리식에 적용되었을 때 각각 서로 다른 결과 값을 도출해내는데, 동일한 값들을 구현 프로그램 상의 대응 논리식에 적용하였을 때에 서로 동일한 결과를 도출해낸다면, 해당 구현 프로그램 상에 LRF(절 참조 결함)가 있는 것으로 볼 수 있는데, 본 개시의 일실시예에 의하면, 테스트 케이스 생성부(210)에 의해서 생성되는 테스트 케이스들은, 테스트 시나리오 생성부(206)로부터 생성된 논리식과 테스트 데이터 도출부(208)로부터 도출된 특정 항의 MUTP 세트 및 특정 절의 MNFP 세트를 이용하여, 전술한 구현 상의 LRF를 발견하기 위한 테스트 케이스들을 생성할 수 있을 것이다. 또한, 도 3에 도시된 바와 같이, 전술한 각 결함들 간에는 계층 관계가 있음을 알아야 한다. 본 개시의 일 실시예에 의하면, 도 2의 테스트 케이스 생성부(210)는, 도 3의 각 결함들 간의 계층 관계를 고려하여, 테스트 시나리오 생성부(206)로부터 생성된 각 논리식 및 테스트 데이터 도출부(208)로부터 도출된 각 데이터 세트들, 예컨대 각 MUTP 세트들 및 MNFP 세트들을 조합하여, 전술한 9가지 구현 프로그램 상에서 발견될 수 있는 각 결함들을 발견할 수 있도록 하는, 다양한 테스트 케이스들을 생성해낼 수 있음을 알아야 할 것이다.
도 4는, 소정의 예시적 논리식에서 각 항에 대한 MUTP를 구하는 과정을 보여주는 도면이다. 예컨대, 주어진 DNF 형식의 논리식이
Figure 112018124347981-pat00001
인 경우, 각 항
Figure 112018124347981-pat00002
Figure 112018124347981-pat00003
의 각 UTP는 각각 {TTT} 및 {FTF}로 획득될 수 있다.
도 5는, 소정의 예시적 논리식에서 각 항의 각 변수에 대한 MNFP를 구하는 과정을 보여주는 도면이다. 예컨대, 주어진 DNF 형식의 논리식이
Figure 112018124347981-pat00004
인 경우, 항
Figure 112018124347981-pat00005
의 절 a 및 b에 대한 MNFP는 각각 {FTT} 및 {TFT, TFF}로 획득될 수 있고, 항
Figure 112018124347981-pat00006
의 절 b 및
Figure 112018124347981-pat00007
에 대한 MNFP는 각각 {TFF, FFF} 및 {FTT}로 획득될 수 있다.
도 6은, 소프트웨어 설계 명세서로부터 도출된 DNF 폼의 논리식의 특정 항과 관련하여, 해당 논리식으로부터 획득된 해당 항의 MUTP 입력 값들을, 구현 프로그램 상의 대응 논리식의 대응 항에 적용함으로써, 구현 프로그램 상의 해당 항에 존재하는 결함을 발견하는 실시예를 보여주는 도면이다.
도시된 바에 의하면, 예컨대 테스트 시나리오 생성부(206)에 의해 설계 명세서 파일로부터 생성된 논리식이 f=ab+cd인데, 그에 대응한 구현 프로그램 상의 논리식이 f'=abc+cd인 경우를 가정해보자(즉 LIF 결함이 존재하는 경우). 본 개시의 일 실시예에 의하면, 이러한 상황에서, 테스트 데이터 도출부(208)가, 예컨대 설계 명세서 파일로부터 생성된 논리식의 제1항, 즉 ab항에 대한 MUTP 세트로서 {TTTF, TTFT, TTFF}를 도출해낼 수 있다. 본 개시의 일 실시예에 의하면, 테스트 케이스 생성부(210)는, 도출된 MUTP를 적용하는 테스트 케이스들을 생성할 수 있다. 본 예시의 경우, 위 MUTP 세트 중 {TTFT} 및 {TTFF} 값들은 각각 구현 프로그램 상의 논리식에 적용될 경우 거짓의 결과를 도출할 것이고, 그로부터 LIF 결함이 있음을 나타내게 될 것이다.
당업자라면 알 수 있듯이 본 개시는 본 명세서에서 기술된 예시에 한정되는 것이 아니라 본 개시의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 재구성 및 대체될 수 있다. 예를 들어, 본원에 기술된 다양한 기술들은 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 따라서, 본원에 따른 소프트웨어 안전성 분석을 위한 분석 머신의 특정한 양태나 부분은 범용 또는 전용 마이크로프로세서, 마이크로-컨트롤러 등에 의해 실행 가능한 하나 이상의 컴퓨터 프로그램으로 구현될 수 있다. 본 개시의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨터 프로세서 등에 의해 판독 가능한 저장 매체, 예컨대 EPROM, EEPROM, 플래시 메모리장치와 같은 비휘발성 메모리, 내장형 하드 디스크와 착탈식 디스크 같은 자기 디스크, 광자기 디스크, 및 CDROM 디스크 등을 포함한 다양한 유형의 저장 매체에 저장된 형태로 구현될 수 있다. 또한, 프로그램 코드(들)는 어셈블리어나 기계어로 구현될 수 있고, 전기 배선이나 케이블링, 광섬유, 또는 기타 임의의 다른 형태의 전송 매체를 통해 전송되는 형태로 구현될 수도 있다.
본 명세서에서는, 예시적인 실시예에 대해 다양한 도면를 참조하여 주로 기술했지만, 다른 유사한 실시예들이 이용될 수 있다. 본 개시의 진정한 사상 및 범주에 속하는 모든 변형 및 변경을 이하의 특허청구범위에 의해 모두 포괄하고자 한다.

Claims (8)

  1. 소프트웨어 검증을 위한 테스트 케이스 자동 생성 방법으로서,
    설계 명세서 파일을 판독하는 단계;
    상기 판독된 설계 명세서 파일로부터 원인/결과 테이블을 생성하는 단계;
    사용자 입력에 기초하여 상기 생성된 원인/결과 테이블 상의 각 원인 및 결과 항목들 중 축약이 가능한 항목들을 축약하는 단계;
    상기 원인/결과 테이블에 대응되는 인과 그래프를 생성하는 단계;
    상기 인과 그래프로부터, 하나 이상의 논리식을 생성하는 단계 - 각각의 상기 논리식은 리던던트하지 않은 DNF(Disjunctive Normal Form) 형식을 가지며, 하나 이상의 변수로 구성된 하나 이상의 항을 포함함 -;
    상기 각 논리식의 각 항 및 각 변수에 관한 하나 이상의 테스트 데이터를 도출하는 단계; 및
    상기 각 논리식 및 상기 테스트 데이터를 기반으로 하나 이상의 테스트 케이스를 생성하는 단계;를 포함하고,
    상기 각 논리식의 각 항 및 각 변수에 관한 하나 이상의 테스트 데이터를 도출하는 단계는, 각 항에 관한 MUTP(Multiple Unique True Point) 세트를 도출하는 단계를 포함하는, 테스트 케이스 자동 생성 방법.
  2. 삭제
  3. 소프트웨어 검증을 위한 테스트 케이스 자동 생성 방법으로서,
    설계 명세서 파일을 판독하는 단계;
    상기 판독된 설계 명세서 파일로부터 원인/결과 테이블을 생성하는 단계;
    사용자 입력에 기초하여 상기 생성된 원인/결과 테이블 상의 각 원인 및 결과 항목들 중 축약이 가능한 항목들을 축약하는 단계;
    상기 원인/결과 테이블에 대응되는 인과 그래프를 생성하는 단계;
    상기 인과 그래프로부터, 하나 이상의 논리식을 생성하는 단계 - 각각의 상기 논리식은 리던던트하지 않은 DNF(Disjunctive Normal Form) 형식을 가지며, 하나 이상의 변수로 구성된 하나 이상의 항을 포함함 -;
    상기 각 논리식의 각 항 및 각 변수에 관한 하나 이상의 테스트 데이터를 도출하는 단계; 및
    상기 각 논리식 및 상기 테스트 데이터를 기반으로 하나 이상의 테스트 케이스를 생성하는 단계;를 포함하고,
    상기 각 논리식의 각 항 및 각 변수에 관한 하나 이상의 테스트 데이터를 도출하는 단계는, 각 항의 각 변수에 관한 MNFP(Multiple Near False Point) 값들을 도출하는 단계를 포함하는, 테스트 케이스 자동 생성 방법.
  4. 제1항에 있어서,
    상기 각 논리식의 각 항 및 각 변수에 관한 하나 이상의 테스트 데이터를 도출하는 단계는, 소정의 프로그램에 따라 자동으로 수행되는, 테스트 케이스 자동 생성 방법.
  5. 제1항에 있어서,
    상기 설계 명세서 파일에 대응하는 구현 프로그램 파일을 판독하는 단계; 및
    상기 생성된 테스트 케이스를 적용하여, 상기 구현 프로그램 파일의 결함을 확인하는 단계를 더 포함하는, 테스트 케이스 자동 생성 방법.
  6. 제1항에 있어서,
    상기 판독된 설계 명세서 파일을 사용자 디스플레이 장치에 표시하는 단계;
    사용자 인터페이스를 상기 사용자 디스플레이 장치에 표시하는 단계- 상기 원인/결과 테이블은 상기 사용자 인터페이스를 통한 사용자와의 인터랙션에 기초하여 생성됨 -;
    상기 원인/결과 테이블을 상기 사용자 디스플레이 장치에 표시하는 단계; 및
    상기 하나 이상의 논리식 및 상기 하나 이상의 테스트 데이터를 각각 상기 사용자 디스플레이 장치에 표시하는 단계
    를 더 포함하는, 테스트 케이스 자동 생성 방법.
  7. 하나 이상의 명령어를 수록한 컴퓨터 판독가능 기록매체로서, 상기 하나 이상의 명령어는 컴퓨터에 의해 실행되는 경우, 컴퓨터로 하여금, 제1항, 제3항 내지 제6항 중 어느 항에 따른 방법을 수행하도록 하는, 컴퓨터 판독가능 기록매체.
  8. 컴퓨터 장치로서,
    메모리; 및
    프로세서를 포함하고,
    상기 프로세서는, 제1항, 제3 내지 제6항 중 어느 한 항에 따른 방법을 수행하도룩 구성된, 컴퓨터 장치.
KR1020180159434A 2018-12-11 2018-12-11 소프트웨어 테스트 케이스 자동 생성 방법 및 장치 KR102176133B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180159434A KR102176133B1 (ko) 2018-12-11 2018-12-11 소프트웨어 테스트 케이스 자동 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180159434A KR102176133B1 (ko) 2018-12-11 2018-12-11 소프트웨어 테스트 케이스 자동 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200071567A KR20200071567A (ko) 2020-06-19
KR102176133B1 true KR102176133B1 (ko) 2020-11-09

Family

ID=71137531

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180159434A KR102176133B1 (ko) 2018-12-11 2018-12-11 소프트웨어 테스트 케이스 자동 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102176133B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893978B (zh) * 2023-09-08 2024-02-20 东莞信宝电子产品检测有限公司 一种基于ptcrb认证的测试计划生成方法、系统和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185592A (ja) 2002-10-09 2004-07-02 Fujitsu Ltd 検証支援方法、検証支援プログラムおよび検証支援装置
KR101826618B1 (ko) * 2016-08-02 2018-02-07 (주)씽크포비엘 테스트 케이스 생성 방법, 장치 및 컴퓨터 판독가능 기록매체
JP2018092374A (ja) 2016-12-02 2018-06-14 株式会社日立製作所 テストケース生成装置、及びテストケース生成方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101149828B1 (ko) * 2010-10-20 2012-05-24 홍익대학교 산학협력단 유스케이스 다이어그램을 기반으로 하는 테스트 케이스 생성 프로그램 및 이를 이용하여 테스트 케이스를 생성하는 방법
KR101989802B1 (ko) * 2017-02-28 2019-06-18 주식회사 스패로우 테스트 케이스를 이용하여 테스트를 수행하는 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185592A (ja) 2002-10-09 2004-07-02 Fujitsu Ltd 検証支援方法、検証支援プログラムおよび検証支援装置
KR101826618B1 (ko) * 2016-08-02 2018-02-07 (주)씽크포비엘 테스트 케이스 생성 방법, 장치 및 컴퓨터 판독가능 기록매체
JP2018092374A (ja) 2016-12-02 2018-06-14 株式会社日立製作所 テストケース生成装置、及びテストケース生成方法

Also Published As

Publication number Publication date
KR20200071567A (ko) 2020-06-19

Similar Documents

Publication Publication Date Title
US9703694B2 (en) Techniques for testing software
US20150370685A1 (en) Defect localization in software integration tests
US20130014093A1 (en) Code inspection executing system for performing a code inspection of abap source codes
KR101554424B1 (ko) 테스트 케이스 생성 자동화 방법 및 장치
JP6173972B2 (ja) 検出装置、修正システム、検出方法およびプログラム
US10049031B2 (en) Correlation of violating change sets in regression testing of computer software
CN108710571B (zh) 一种生成自动化测试代码的方法和装置
KR20130133203A (ko) 양방향 텍스트 검사기
US11544176B1 (en) Systems and methods for automatically assessing and conforming software development modules to accessibility guidelines in real-time
CN112181800A (zh) 车辆功能测试装置及其控制方法
US9703683B2 (en) Software testing coverage
EP3239843A2 (en) Method for automatically validating data against a predefined data specification
Tierno et al. Open issues for the automotive software testing
KR102176133B1 (ko) 소프트웨어 테스트 케이스 자동 생성 방법 및 장치
US8826185B2 (en) GUI evaluation system, GUI evaluation method, and GUI evaluation program
JP2013218492A (ja) ソフトウェアテスト自動評価装置および方法
KR101826618B1 (ko) 테스트 케이스 생성 방법, 장치 및 컴퓨터 판독가능 기록매체
US8930765B2 (en) Systems and methods for feedback driven regression testing
CN113051262B (zh) 一种数据质检方法、装置、设备及存储介质
CN106909500B (zh) 机载软件开发过程中引入错误的检测方法和系统
CN112631852B (zh) 宏检查方法、装置、电子设备和计算机可读存储介质
JP6002507B2 (ja) ソフトウェア検証用プログラムおよびソフトウェア検証システム
US11740895B2 (en) Generation of software program repair explanations
JP6006577B2 (ja) デグレードテスト支援システム、デグレードテスト支援方法及びデグレードテスト支援プログラム
JP2016126700A (ja) プログラム検証装置、プログラム検証方法及びプログラム検証プログラム

Legal Events

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