KR101469880B1 - 테이블 요구사항 기반 테스트 케이스 및 기대 값 자동 생성 방법 - Google Patents

테이블 요구사항 기반 테스트 케이스 및 기대 값 자동 생성 방법 Download PDF

Info

Publication number
KR101469880B1
KR101469880B1 KR20140060246A KR20140060246A KR101469880B1 KR 101469880 B1 KR101469880 B1 KR 101469880B1 KR 20140060246 A KR20140060246 A KR 20140060246A KR 20140060246 A KR20140060246 A KR 20140060246A KR 101469880 B1 KR101469880 B1 KR 101469880B1
Authority
KR
South Korea
Prior art keywords
test case
test
input
expected value
mode
Prior art date
Application number
KR20140060246A
Other languages
English (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 KR20140060246A priority Critical patent/KR101469880B1/ko
Application granted granted Critical
Publication of KR101469880B1 publication Critical patent/KR101469880B1/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

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

Abstract

본 발명은 테이블 요구사항을 이용하여 테스트 자동 실행 시스템에서 실행할 수 있는 테스트 케이스 및 기대 값의 자동 생성 방법에 관한 것으로, 본 발명의 방법은, 테이블 요구사항을 기술하는 테이블 요구사항 기술부와, 테이블 요구사항 기반으로 테스트 케이스 및 기대값을 생성하는 테스트 케이스 및 기대값 생성부와, 시뮬레이션 모드의 테스트 케이스를 입력받아 시뮬레이션을 통해 기대 값을 제공하는 모델 시뮬레이터와, 생성된 테스트 케이스의 테스트 스크립트에 따라 테스트를 자동으로 실행하는 테스트 자동화시스템으로 구성된 시스템을 이용한 테스트 케이스 자동 생성 방법에 있어서, 상기 테이블 요구사항 기술부가 입력조합을 기술하는 제 1 단계; 상기 테이블 요구사항 기술부가 기대값을 기술하는 제 2 단계; 상기 테스트 케이스 및 기대값 생성부가 테스트 스크립트 구조를 정의하는 제 3 단계; 상기 테스트 케이스 및 기대값 생성부가 테스트 케이스를 생성하는 제 4 단계; 및 상기 모델 시뮬레이터가 시뮬레이션 모드의 기대값을 생성하는 제 5 단계로 구성된다.

Description

테이블 요구사항 기반 테스트 케이스 및 기대 값 자동 생성 방법{ TABLE REQUIREMENTS BASED TEST CASE AND EXPECTATION GENERATION METHOD}
본 발명은 테스트 케이스 자동 생성 기술에 관한 것으로, 더욱 상세하게는 테이블 요구사항을 이용하여 테스트 자동 실행 시스템에서 실행할 수 있는 테스트 케이스 및 기대 값의 자동 생성 방법에 관한 것이다.
일반적으로, 자동차, 중공업 장비, 가전제품 등과 같은 다양한 전장품(임베디드 시스템)을 개발하는 프로세스에서, 테스트 단계는 제품의 품질을 보장하기 위해서 필수적으로 요구되는 프로세스이다. 이러한 테스트 단계는 여러 단계를 걸쳐서 이루어지는데, 테스트를 수행하기 위해서는 각 단계별 목적에 맞는 테스트 케이스를 생성하는 것이 중요하다.
종래에 알려진 자동 테스트 케이스 생성 방법으로는 등록번호 제10-0709664호로 등록된 자동 테스트 케이스 생성 방법 및 시스템이 있는데, 종래의 자동 케이스 생성 시스템은 변환규칙에 따라 판독 가능한 데이터로 표준 SDL을 변환하는 SDL 변환모듈과, 변환된 SDL을 분석하고 검증하여 그 커버리지를 계산하는 커버리지 분석모듈과, 커버리지 분석모듈의 분석 및 검증결과에 따라 변환된 SDL에 대응하는 표 결합 표기법 형식의 테스트 케이스를 생성하는 테스트 케이스 생성모듈로 이루어져 통신시스템에 사용되는 테스트 케이스를 생성하였다.
한편, 시스템의 기능을 테스트할 때의 테스트 케이스는 그 특성상 크게 세 가지 경우로 나뉠 수 있다. 첫째로, 동시에 여러 입력들의 값을 변화시켜 다양한 조건이 발생 할 수 있는 환경에서 각 기능들이 실행되는 우선순위가 존재하는 경우이다. 이 경우는 Simulink/Stateflow 모델을 이용하여 테스트 케이스를 자동 생성하면 수월하다. 둘째로, 많은 입력들의 값이 선행조건(preconditioin)으로 정해진 상태에서, 특정 입력 몇 개의 입력 조합으로 테스트하는 경우이다. 이 경우는 테이블 기반으로 테스트해야 하는 입력 값들의 조합을 기술하고, 각 조합마다 테스트 케이스를 생성하면, 비슷한 형태의 테스트 케이스를 반복하여 기술해야 하는 단점을 해소할 수 있다. 셋째로, 테스트 입력의 절차가 매우 복잡하고, 그에 해당하는 검증 절차도 복잡한 경우이다. 이 경우는 시험자가 수동으로 테스트 케이스를 기술하여 자동 실행하도록 한다.
테이블 요구사항 기반 테스트 케이스는 기본적으로 실행 선행조건(execution precondition), 입력 값의 집합(set of inputs), 예상 결과(expected result)로 구성되며, 어떤 테스트 조건을 커버하기 위해 생성한다. 입력 값의 집합에는 시스템에 들어가는 입력뿐만 아니라 시간 또한 포함될 수 있다. 입력 값 조합을 이용하여 테스트 케이스를 자동 생성하는 경우에는 테스트 케이스에 따른 기대 값을 기술하기가 매우 어려운 문제점이 있다.
KR 10-1334806 B1 KR 10-1291817 B1
본 발명은 배경기술에서 설명한 세 가지 테스트 케이스 생성 기법 분류 중 두 번째인 테이블 요구사항 기반의 테스트 케이스 및 기대 값 생성 기법으로서, 본 발명의 목적은 테이블 요구사항을 이용하여 테스트 자동 실행 시스템에서 실행할 수 있는 테스트 케이스 및 기대 값의 자동 생성 방법을 제공하는 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 테이블 요구사항을 기술하는 테이블 요구사항 기술부와, 테이블 요구사항 기반으로 테스트 케이스 및 기대값을 생성하는 테스트 케이스 및 기대값 생성부와, 시뮬레이션 모드의 테스트 케이스를 입력받아 시뮬레이션을 통해 기대 값을 제공하는 모델 시뮬레이터와, 생성된 테스트 케이스의 테스트 스크립트에 따라 테스트를 자동으로 실행하는 테스트 자동화시스템으로 구성된 시스템을 이용한 테스트 케이스 자동 생성 방법에 있어서,
상기 테이블 요구사항 기술부가 입력조합을 기술하는 제 1 단계; 상기 테이블 요구사항 기술부가 기대값을 기술하는 제 2 단계; 상기 테스트 케이스 및 기대값 생성부가 테스트 스크립트 구조를 정의하는 제 3 단계; 상기 테스트 케이스 및 기대값 생성부가 테스트 케이스를 생성하는 제 4 단계; 및 상기 모델 시뮬레이터가 시뮬레이션 모드의 기대값을 생성하는 제 5 단계를 포함하는 것을 특징으로 한다.
상기 제 1 단계는 선행조건(Precondition)을 설정하는 단계와, 입력값 목록을 설정하는 단계와, 필터링 타임을 설정하는 단계와, 조합 모드를 설정하는 단계와, 기대값 모드를 설정하는 단계와, 기대값을 설정하는 단계와, 제한사항을 설정하는 단계로 구성되어 테이블 형태로 기술하는 것이고, 상기 제 2 단계는 기대값 모드를 판별하는 단계와, 콘디션 모드이면 입력조합의 조건에 따라 기대값을 생성하는 단계와, 시물레이션 모드이면 입력조합을 simulink 모델에 인가하여 Expectation script를 생성하는 단계와, 테스트 케이스를 모델 시뮬레이터에 인가하여 기대값을 생성하는 단계로 구성되며, 상기 제 4 단계는 조합모드를 판별하는 단계와, Sequential 모드이면 각 입력들의 입력값을 pair-wise 기반으로 조합하고, 조합목록을 생성하는 단계와, Combinatorial 모드이면 각 입력들을 입력값의 순서대로 차례로 조합하여 생성하는 단계로 구성된다.
본 발명에 따르면, 입력값의 조합을 이용하는 테이블 요구사항 기반에서 비슷한 형태의 테스트 케이스를 반복할 필요가 없어 테스트 효율을 개선할 수 있고, 특히 모드(Expectation mode)에 따라 기대값을 용이하게 기술하여 기대값을 신속하게 구할 수 있으며, 모드(Generation mode)에 따라 테스트 케이스를 효율적으로 생성할 수 있는 효과가 있다.
도 1은 본 발명에 따라 테이블 요구사항을 이용하여 테스트 케이스를 생성하는 시스템을 도시한 개략도,
도 2는 본 발명에 따라 테이블 요구사항을 이용하여 테스트 케이스를 생성하는 절차를 도시한 순서도,
도 3은 도 2에 도시된 입력 조합 기술 절차를 도시한 세부 순서도,
도 4는 도 2에 도시된 기대값 기술 절차를 도시한 세부 순서도,
도 5는 도 2에 도시된 테스트 케이스 생성 절차를 도시한 순서도이다.
본 발명과 본 발명의 실시에 의해 달성되는 기술적 과제는 다음에서 설명하는 본 발명의 바람직한 실시예들에 의하여 보다 명확해질 것이다. 다음의 실시예들은 단지 본 발명을 설명하기 위하여 예시된 것에 불과하며, 본 발명의 범위를 제한하기 위한 것은 아니다.
도 1은 본 발명에 따라 테이블 요구사항을 이용하여 테스트 케이스를 생성하는 시스템을 도시한 개략도이다.
본 발명에 따라 테이블 요구사항을 이용하여 테스트 케이스를 생성하는 시스템(100)은 도 1에 도시된 바와 같이, 테이블 요구사항을 기술하는 테이블 요구사항 기술부(10)와, 테이블 요구사항 기반으로 테스트 케이스 및 기대값을 생성하는 테스트 케이스 및 기대값 생성부(20)와, 시뮬레이션 모드의 테스트 케이스를 입력받아 시뮬레이션을 통해 기대 값을 제공하는 모델 시뮬레이터(30)와, 생성된 테스트 케이스의 테스트 스크립트에 따라 테스트를 자동으로 실행하는 테스트 자동화시스템(40)으로 구성된다.
도 2는 본 발명에 따라 테이블 요구사항을 이용하여 테스트 케이스를 생성하는 절차를 도시한 순서도이다.
본 발명에 따라 테이블 요구사항을 이용하여 테스트 케이스를 생성하는 방법은 도 2에 도시된 바와 같이, 입력조합을 기술하는 단계(S1)와, 기대값을 기술하는 단계(S2), 테스트 스크립트 구조를 정의하는 단계(S3), 테스트 케이스를 생성하는 단계(S4), 시뮬레이션 모드의 기대값을 생성하는 단계(S5)로 구성된다.
도 2를 참조하면, 입력조합을 기술하는 단계와 기대값을 기술하는 단계는 테이블 요구사항 기술 방법에 해당되는데, 테이블 요구사항은 테이블을 이용하여 기술되며, 하나의 테스트 수트에 한 개 이상의 테이블 요구사항이 포함 될 수 있다. 테이블 요구사항으로부터 생성된 테스트 케이스는 해당 테스트 수트에 추가된다. 여기서, 테스트 수트란 테스트 대상 시스템의 테스트 케이스를 전부 관리하는 테스트 케이스 그룹이라할 수 있다.
도 3은 도 2에 도시된 입력 조합을 기술 단계를 도시한 세부 순서도이다.
본 발명에 따라 입력조합을 기술하는 단계(S1)는 도 3에 도시된 바와 같이, 선행조건(Precondition)을 설정하는 단계(S11)와, 입력값 목록을 설정하는 단계(S12), 필터링 타임을 설정하는 단계(S13), 조합 모드를 설정하는 단계(S14), 기대값 모드를 설정하는 단계(S15), 기대값을 설정하는 단계(S16), 제한사항을 설정하는 단계(S17)로 구성되어 테이블 형태로 기술한다.
도 3을 참조하면, 입력 조합을 기술하는 단계에서 하나의 테이블은 복수 개의 입력 조합 규칙을 가지며, 하나의 입력 조합 규칙은 다음 표 1과 같은 구성 요소를 가진다.
항목
Precondition
Input
Filtering time
Generation Mode
Expectation Mode
Expectation
Constraint
상기 표 1에서 선행조건(Precondition) 항목은 테스트 케이스의 서두에 붙는 테스트 입력으로서, 테스트 스크립트 형태로 기술된다. 입력(Input) 항목은 조합할 테스트 입력의 해당 입력 값의 목록을 comma로 구분하여 입력한다. 이때 특수 입력 값 *은 해당 입력의 입력 값을 생성하지 않는다는 것을 의미한다. 또한 각 입력 마다 대기시간(wait time)을 설정하는데, 해당 입력이 입력 시작 시점에서 얼마나 지연된 후 입력될 것인가를 결정한다. 입력의 순서가 지켜져야 하는 경우 이 항목(wait time)을 이용하여 제어할 수 있으며, 이 항목들은 각 입력마다 기술된다. 입력(Input) 항목의 예는 다음 표 2와 같다.
구분 InputA InputB InputC
Value *,1,2,3,4,5 *,1,2 *,6,7,13.5,16,17
Wait Time 30 0 50
상기 표 2에서 처음 InputB가 먼저 입력되고, 30ms 뒤에 InputA가 입력된다. 그 후 20ms 후에 InputC가 입력된다. 입력 값은 (*, 1, 2, 3, 4, 5), (*, 1, 2), (*,6,7,13.5,16,17)이 조합되어 생성된다.
상기 표 1에서 '필터링 타임(Filtering Time)' 항목은 기대값(Expectation)을 실행하기 전에 입력을 지속할 시간을 지정한다. 즉, 입력이 완료되고 Expectation이 수행되기 전까지의 지연 시간이다. '조합 모드(Generation Mode)' 항목은 기술한 입력 값의 목록을 어떤 방식으로 조합할지를 결정한다. 조합 모드는 Sequential과 Combinatorial 두 가지가 존재한다. '기대값 모드(Expectation Mode)' 항목은 생성된 테스트 케이스의 기대값(Expectation)을 생성할 방식을 결정한다. 'Expectation 모드' 항목은 Simulation과 Conditional이 존재하며, 'Expectation' 항목은 각 Expectation 모드에 따라 기술해야 하는 Expectation 내용이 달라지는데, Simulation 모드는 확인해야 할 출력의 목록을 작성하고, Condition 모드는 생성된 입력 조합의 조건에 따라 수행해야 하는 Expectation을 기술한다. 'Constraint' 항목은 입력 조합 결과 값이 만족해야 할 조건을 수식으로 기술한 것이며, 해당 조건을 만족하는 입력 조합만 테스트 케이스로 생성된다.
상기 표 1에서 조건식은 일반적인 산술 연산자, 관계 연산자, 논리 연산자를 사용하여 기술할 수 있으며, 추가적으로 Contains()라는 연산자가 추가된다. 이 연산자는 입력 조합에 해당 입력 값이 포함되어 있으면 'true', 그렇지 않을 경우 'false'를 반환한다.
도 4는 도 2에 도시된 기대값 기술 단계를 도시한 세부 순서도이다.
본 발명에 따라 기대값을 기술하는 단계(S2)는 도 4에 도시된 바와 같이, 기대값 모드를 판별하는 단계(S21)와, 콘디션 모드이면 입력조합의 조건에 따라 기대값을 생성하는 단계(S22,S23)와, 시물레이션 모드이면 입력조합을 simulink 모델에 인가하여 Expectation script를 생성하는 단계(S24,S25)와, 테스트 케이스를 모델 시뮬레이터에 인가하여 기대값을 생성하는 단계(S26)로 구성된다.
도 4를 참조하면, Expectation 기술 방법은 각 Expectation 생성 모드에 따라 달라지는데, Condition 모드는 입력 조합의 조건에 따라 직접 Expectation 값을 테스트 스크립트 형태로 기술한다. 예를 들어, 앞서 표 2와 같은 입력 조합이 요구사항으로 기술되었을 때, Expectation은 다음 표 3과 같이 기술할 수 있다.
Condition Expectation script
InputA > 3 OutputC.inspect(1);
OutputD.inspect(0);
OutputE.inspect(1);
InputA <= 3 OutputC.inspect(0);
OutputD.inspect(0);
OutputE.inspect(1);
Contains(InputA) == false OutputC.inspect(1);
OutputD.inspect(1);
OutputE.inspect(1)
;OutputC.inspect(0);
OutputD.inspect(0);
OutputE.inspect(0);
상기 표 3에서 각 Condition 중 가장 먼저 만족되는 condition의 Expectation script가 선택된다. Condition이 비어 있는 항목은 default 항목으로, 모든 condition이 만족되지 않을 경우 선택되는 Expectation script이다.
한편, Simulation 모드는 생성된 입력 조합을 Simulink 모델에 인가하여 실행한 후 그 결과를 이용하여 Expectation script를 생성한다. Simulation 모드에서 Expectation 생성을 위한 정보를 기술할 때에는 테스트 케이스에서 확인할 출력의 목록을 기술해 준다. 예컨대, 테스트 케이스에서 확인할 출력의 목록이 (OutputC, OutputD, OutputE)일 경우에 다음 표 4와 같이 Expectation script가 생성된다.
OutputC.inspect(0);
OutputD.inspect(0);
OutputE.inspect(0);
이 때 각 출력의 출력 예상 값은 모두 0으로 채워지게 되는데, 이는 더미로 할당된 출력 예상 값이며 올바른 값이 아니다. 생성된 테스트 케이스를 모델 시뮬레이터를 이용하여 Simulink 모델에 인가하면 자동으로 올바른 출력 예상 값으로 업데이트된다.
도 5는 도 2에 도시된 테스트 케이스 생성 절차를 도시한 순서도이다.
본 발명에 따라 테스트 케이스를 생성하는 단계는 도 5에 도시된 바와 같이, 조합모드를 판별하는 단계(S41)와, Sequential 모드이면 각 입력들의 입력값을 pair-wise 기반으로 조합하고, 조합목록을 생성하는 단계(S42,S43)와, Combinatorial 모드이면 각 입력들을 입력값의 순서대로 차례로 조합하여 생성하는 단계(S44,S45)로 구성된다.
도 5를 참조하면, 테이블 기반 테스트 케이스 생성 기법 및 생성된 테스트 케이스의 구조는 다음 표 5와 같이, 테이블에 기술된 각 조합 규칙에 따라 테스트 케이스가 생성된다. 테스트 케이스 생성 방법은 조합 규칙의 생성 모드에 따라 나뉜다. 생성 모드는 Combinatorial/Sequential 두 가지가 있으며, 각 모드에 대한 테스트 케이스 생성 기법을 기술한다. 생성된 테스트 케이스는 테스트 자동화 도구에서 실행할 수 있는 테스트 스크립트 형태로 변환되며, 결과 테스트 스크립트의 구조는 표 5와 같다. 테이블 기반 테스트 케이스 생성 기법에 따라 생성된 테스트 케이스는 다음 표 5와 같은 구조의 스크립트 형태이다.
[Precondition Script]
[Input Combination]
[Filtering Time]
[Expectation]
상기 표 5에서 Precondition script는 표 1의 테이블 요구사항에서 기술한 Precondition script이고, Input combination은 입력 조합에 따라 생성된 스크립트이며, Filtering Time은 표 1의 테이블 요구사항에서 기술한 Filtering Time으로서 Wait(time) 형태로 기술된다. Expectation은 표 1에서 기술한 출력 검증 script이다.
이와 같이 본 발명에 따른 테스트 케이스 생성 방법은 생성 모드에 따라 Combinatorial 모드에서는 각 입력들의 입력 값을 pair-wise 기반으로 조합하고, 조합 목록의 항목 하나마다 테스트 케이스가 한 개씩 생성된다.
입력 조합의 예가 앞서 설명한 표 2와 같다고 할 경우에 Combinatory 모드에 따른 테스트 케이스는 다음 표 6과 같다. 위의 입력 값 조합을 pair-wise 방식으로 생성하면 표 6과 같은 경우의 조합들이 생성되는데, *는 입력을 하지 않음을 나타낸다.
InputA InputB InputC Script
* * * -
* 1 6 InputB.write(1);
Wait(50);
InputC.write(6);
* 1 7 InputB.write(1);
Wait(50);
InputC.write(7);
1 * 6 Wait(30);
InputA.write(1);
Wait(20);
InputC.write(6);
1 * 7 Wait(30);
InputA.write(1);
Wait(20);
InputC.write(7);
1 1 * InputB.write(1);
Wait(30);
InputA.write(1);
2 * 6 Wait(30);
InputA.write(2);
Wait(20);
InputC.write(6);
2 * 7 Wait(30);
InputA.write(2);
Wait(20);
InputC.write(7);
2 1 * InputB.write(2);
Wait(30);
InputA.write(1);
상기 표 6을 참조하면, 입력 값의 조합으로 총 9개의 경우가 만들어진다. 해당 입력 조합으로 만들어진 테스트 스크립트가 조합 우측 열이고, 생성된 입력 조합 테스트 스크립트는 표 5에서 기술한 테스트 스크립트 구조의 Input combination에 삽입된다.
한편, Sequential 모드에서는 각 입력들을 기술한 입력 값의 순서대로 차례로 조합하여 테스트를 수행한다. 테스트 케이스는 조합한 입력 순서대로 지연 시간을 가지고 생성된다. 생성된 테스트 케이스는 스크립트 형태로 변환되어 표 5의 테스트 스크립트 구조에서 Input Combination 부분에 삽입 된다. 예를 들어, 입력 조합의 예가 앞서 설명한 표 2와 같을 경우에 입력 값 조합에서 각 입력의 처음 값을 선택하여 조합하면 (1, 1, 6)이 된다. 그 다음 값을 조합하면 (2, 2, 6)이 된다. 선택할 값이 더 이상 없으면 맨 처음 값을 다시 선택한다. 따라서 세 번째 값을 조합하면 (3, 1, 6)이 된다. 두 번째 값 조합을 입력하기 위해서 먼저 첫 번째 값 조합을 입력하고, 세 번째 값 조합을 입력하기 위해서 첫 번째, 두 번째 값 조합을 순서대로 입력한 다음에 세 번째 값 조합을 입력한다.
이와 같이 Sequential에서는 값 조합을 생성할 횟수를 정하고 그 개수만큼 테스트 케이스가 생성된다. 다음 표 7은 예제 입력 조합을 가지고 7개의 Sequential을 생성할 때의 입력 조합과 생성되는 테스트 스크립트의 예이다. 각 입력 조합 사이는 Filtering Time 만큼의 지연 시간을 갖는다. Filtering Time을 100ms로 가정하면 다음 표 7과 같다.
InputA InputB InputC Script
1 1 6 InputB.write(1);
Wait(30);
InputA.write(1);
Wait(20);
InputC.write(6);
2 2 6 InputB.write(1);
Wait(30);
InputA.write(1);
Wait(20);
InputC.write(6);
Wait(100)
InputB.write(2);
Wait(30);
InputA.write(2);
Wait(20);
InputC.write(6);
3 1 6 InputB.write(1);
Wait(30);
InputA.write(1);
Wait(20);
InputC.write(6);
Wait(100)
InputB.write(2);
Wait(30);
InputA.write(2);
Wait(20);
InputC.write(6);
Wait(100)
InputB.write(3);
Wait(30);
InputA.write(1);
Wait(20);
InputC.write(6)
4 2 6 ...
5 1 6 ...
1 2 6 ...
2 1 6 ...
이와 같이 본 발명에 따르면, 입력값의 조합을 이용하는 테이블 요구사항 기반에서 비슷한 형태의 테스트 케이스를 반복할 필요가 없어 테스트 효율을 개선할 수 있고, 특히 모드(Expectation mode)에 따라 기대값을 용이하게 기술하여 기대값을 신속하게 구할 수 있으며, 모드(Generation mode)에 따라 테스트 케이스를 효율적으로 생성할 수 있다.
이상에서 본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나, 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
10: 테이블 요구사항 기술부 20: 테스트케이스 및 기대값 생성부
30: 모델 시뮬레이터 40: 테스트 자동화 시스템

Claims (5)

  1. 테이블 요구사항을 기술하는 테이블 요구사항 기술부와, 테이블 요구사항 기반으로 테스트 케이스 및 기대값을 생성하는 테스트 케이스 및 기대값 생성부와, 시뮬레이션 모드의 테스트 케이스를 입력받아 시뮬레이션을 통해 기대 값을 제공하는 모델 시뮬레이터와, 생성된 테스트 케이스의 테스트 스크립트에 따라 테스트를 자동으로 실행하는 테스트 자동화시스템으로 구성된 시스템을 이용한 테스트 케이스 및 기대 값 자동 생성 방법에 있어서,
    상기 테이블 요구사항 기술부가 입력조합을 기술하는 제 1 단계;
    상기 테이블 요구사항 기술부가 기대값을 기술하는 제 2 단계;
    상기 테스트 케이스 및 기대값 생성부가 테스트 스크립트 구조를 정의하는 제 3 단계;
    상기 테스트 케이스 및 기대값 생성부가 테스트 케이스를 생성하는 제 4 단계; 및
    상기 모델 시뮬레이터가 시뮬레이션 모드의 기대값을 생성하는 제 5 단계를 포함하고,
    상기 제 1 단계는
    선행조건(Precondition)을 설정하는 단계와, 입력값 목록을 설정하는 단계와, 필터링 타임을 설정하는 단계와, 조합 모드를 설정하는 단계와, 기대값 모드를 설정하는 단계와, 기대값을 설정하는 단계와, 제한사항을 설정하는 단계로 구성되어 테이블 형태로 기술하고,
    상기 제 2 단계는
    기대값 모드를 판별하는 단계와, 콘디션 모드이면 입력조합의 조건에 따라 기대값을 생성하는 단계와, 시물레이션 모드이면 입력조합을 simulink 모델에 인가하여 Expectation script를 생성하는 단계와, 테스트 케이스를 모델 시뮬레이터에 인가하여 기대값을 생성하는 단계로 구성되며,
    상기 제 4 단계는
    조합모드를 판별하는 단계와, Sequential 모드이면 각 입력들의 입력값을 pair-wise 기반으로 조합하고, 조합목록을 생성하는 단계와, Combinatorial 모드이면 각 입력들을 입력값의 순서대로 차례로 조합하여 생성하는 단계로 구성된 것을 특징으로 하는 테이블 요구사항 기반 테스트 케이스 및 기대 값 자동 생성 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 상기 테스트 스크립트 구조는
    Precondition script와, 입력 조합에 따라 생성된 스크립트인 Input combination과, Filtering Time과, Expectation을 포함하는 것을 특징으로 하는 테이블 요구사항 기반 테스트 케이스 및 기대 값 자동 생성 방법.
KR20140060246A 2014-05-20 2014-05-20 테이블 요구사항 기반 테스트 케이스 및 기대 값 자동 생성 방법 KR101469880B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140060246A KR101469880B1 (ko) 2014-05-20 2014-05-20 테이블 요구사항 기반 테스트 케이스 및 기대 값 자동 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140060246A KR101469880B1 (ko) 2014-05-20 2014-05-20 테이블 요구사항 기반 테스트 케이스 및 기대 값 자동 생성 방법

Publications (1)

Publication Number Publication Date
KR101469880B1 true KR101469880B1 (ko) 2014-12-08

Family

ID=52677924

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140060246A KR101469880B1 (ko) 2014-05-20 2014-05-20 테이블 요구사항 기반 테스트 케이스 및 기대 값 자동 생성 방법

Country Status (1)

Country Link
KR (1) KR101469880B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180104414A (ko) * 2017-03-13 2018-09-21 국방과학연구소 임베디드 시스템의 테스팅을 위한 테스트 스크립트 생성 장치 및 그 방법
KR102558933B1 (ko) 2022-08-19 2023-07-25 델타인덱스주식회사 시간 조건을 포함한 한글 요구사항을 위한 체계적 테스트 케이스 생성 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110083121A1 (en) * 2009-10-02 2011-04-07 Gm Global Technology Operations, Inc. Method and System for Automatic Test-Case Generation for Distributed Embedded Systems
KR20110036796A (ko) * 2008-05-19 2011-04-11 존슨 컨트롤스 테크놀러지 컴퍼니 하나의 소프트웨어의 적어도 일 부분을 검증하기 위해 테스트 케이스들을 자동 공식화하는 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110036796A (ko) * 2008-05-19 2011-04-11 존슨 컨트롤스 테크놀러지 컴퍼니 하나의 소프트웨어의 적어도 일 부분을 검증하기 위해 테스트 케이스들을 자동 공식화하는 방법
US20110083121A1 (en) * 2009-10-02 2011-04-07 Gm Global Technology Operations, Inc. Method and System for Automatic Test-Case Generation for Distributed Embedded Systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180104414A (ko) * 2017-03-13 2018-09-21 국방과학연구소 임베디드 시스템의 테스팅을 위한 테스트 스크립트 생성 장치 및 그 방법
KR101989311B1 (ko) * 2017-03-13 2019-06-14 국방과학연구소 임베디드 시스템의 테스팅을 위한 테스트 스크립트 생성 장치 및 그 방법
KR102558933B1 (ko) 2022-08-19 2023-07-25 델타인덱스주식회사 시간 조건을 포함한 한글 요구사항을 위한 체계적 테스트 케이스 생성 방법 및 장치

Similar Documents

Publication Publication Date Title
CN107066375B (zh) 安全关键软件自动化基于需求的测试实例生成系统和方法
US10025696B2 (en) System and method for equivalence class analysis-based automated requirements-based test case generation
Lochau et al. Incremental model-based testing of delta-oriented software product lines
JP5102304B2 (ja) 要求ベーステスト生成
JP5412510B2 (ja) 1個のソフトウェアの少なくとも一部を検証するためにテストケースを自動的に形成する方法
Rahmandad et al. Modeling the rework cycle: capturing multiple defects per task
KR101469880B1 (ko) 테이블 요구사항 기반 테스트 케이스 및 기대 값 자동 생성 방법
JP6310527B1 (ja) オブジェクト分析装置、オブジェクト分析方法、及びプログラム
KR101704338B1 (ko) 실시간 시스템을 위한 테스트 케이스 생성 장치 및 방법
Chaves et al. Verifying digital systems with MATLAB
Kolchin et al. An approach to creating concretized test scenarios within test automation technology for industrial software projects
Vörtler et al. Using constraints for SystemC AMS design and verification
CN110928761B (zh) 需求链及其应用的系统和方法
EP3572945A1 (en) System and method for safety-critical software automated requirements-based test case generation
WO2019142266A1 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
WO2016141973A1 (en) Method and device for automatic testing
US6968523B2 (en) Design method of logic circuit using data flow graph
KR101989311B1 (ko) 임베디드 시스템의 테스팅을 위한 테스트 스크립트 생성 장치 및 그 방법
CN105683938A (zh) 记录应用测试
Kajtazovic et al. Constraint-based verification of compositions in safety-critical component-based systems
Dong et al. A model DrivenTesting solution for embedded system with simulink/stateflow model
Falah et al. Taxonomy dimensions of complexity metrics
US20170220450A1 (en) Analytic method and analyzing apparatus
US20240241816A1 (en) Automated test generation
Assunção et al. Determining integration and test orders in the presence of modularization restrictions

Legal Events

Date Code Title Description
E601 Decision to refuse application
AMND Amendment
GRNT Written decision to grant
X701 Decision to grant (after re-examination)
FPAY Annual fee payment

Payment date: 20171227

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee