KR100919222B1 - 테스트 케이스의 성능 평가 방법 및 장치 - Google Patents

테스트 케이스의 성능 평가 방법 및 장치

Info

Publication number
KR100919222B1
KR100919222B1 KR1020070095525A KR20070095525A KR100919222B1 KR 100919222 B1 KR100919222 B1 KR 100919222B1 KR 1020070095525 A KR1020070095525 A KR 1020070095525A KR 20070095525 A KR20070095525 A KR 20070095525A KR 100919222 B1 KR100919222 B1 KR 100919222B1
Authority
KR
South Korea
Prior art keywords
error
program
test case
test
generation engine
Prior art date
Application number
KR1020070095525A
Other languages
English (en)
Other versions
KR20090030156A (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 KR1020070095525A priority Critical patent/KR100919222B1/ko
Priority to US12/155,932 priority patent/US8042003B2/en
Publication of KR20090030156A publication Critical patent/KR20090030156A/ko
Application granted granted Critical
Publication of KR100919222B1 publication Critical patent/KR100919222B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • 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/3676Test management for coverage analysis

Landscapes

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

Abstract

본 발명은 프로그램 테스트 기술에 관한 것으로, 특히 프로그램의 테스트에 이용되는 테스트 케이스의 오류 검출 능력을 기반으로 테스트 케이스의 성능을 평가하기 위한 장치 및 방법을 제공하기 위한 것이다. 이를 위하여, 본 발명의 일실시 예에 따른 테스트 케이스의 성능 평가 방법은, 테스트 케이스의 성능을 평가하는 데 이용되는 대상 프로그램을 입력받는 단계; 상기 대상 프로그램에 오류를 삽입하여 오류 프로그램을 생성하는 단계; 상기 생성된 오류 프로그램을 대상으로 상기 테스트 케이스를 실행하여 상기 오류를 검출하는 단계; 및 상기 삽입된 오류의 수와 상기 검출된 오류의 수의 비율에 따라 상기 테스트 케이스의 평가 점수를 산출하는 단계를 포함함으로써, 프로그램의 테스트에 사용되는 테스트 케이스의 오류 검출 능력을 평가할 수 있는 이점이 있다.

Description

테스트 케이스의 성능 평가 방법 및 장치{THE METHOD AND APPARATUS FOR EVALUATING PERFORMANCE OF TEST CASE}
본 발명은 프로그램 테스트 기술에 관한 것으로, 특히 프로그램의 테스트에 이용되는 테스트 케이스의 성능을 평가하기 위한 장치 및 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-086-03, 과제명: 디바이스 드라이버 소스코드 자동생성 기술개발].
종래 임베디드 시스템은 간단하고 단순한 반복 작업을 필요로 하는 곳에 주고 사용되었으나 최근에는 휴대폰, 자동차, 의료 장비 및 각종 전자 기기에 이르기까지 그 사용 범위가 확대되고 있다. 이와 함께 임베디드 시스템의 안전성이 제품의 상품성에 매우 중요한 요인이 되면서, 개발 및 생산뿐만 아니라 검증 과정도 중요해지고 있다. 특히 임베디드 시스템의 하드웨어의 품질 검증뿐만 아니라 임베디드 시스템에 내장된 프로그램(디바이스 드라이버 등)의 품질을 검증하는 프로그램 테스트의 중요성이 부각되고 있다.
프로그램 테스트란 테스트 대상 프로그램을 대상으로 테스트 케이스를 실행시킨 후, 상기 실행 결과에 따라 테스트 대상 프로그램이 제대로 구현되었는지의 여부를 판단하는 것을 말한다. 따라서, 이러한 프로그램 테스트에 이용되는 테스트 케이스의 성능을 평가하는 것이 중요하다.
그런데, 종래 프로그램 테스트 시에는 테스트 케이스의 오류 검출 능력에 대한 평가 없이 프로그램 테스트가 이루어져 왔다. 즉 테스트 케이스의 오류 검출 능력과는 무관하게 테스트 대상 프로그램을 대상으로 테스트 케이스를 실행하여 테스트 케이스가 대상 프로그램의 소스 코드를 모두 수행시키는지 또는 프로그램 내의 분기문들을 모두 수행시키는 여부에 따라 테스트 케이스를 평가했을 뿐이다.
특히, 디바이스 드라이버는 디바이스 드라이버가 내장되는 임베디드 시스템의 사용 환경에 따라 살펴보아야 하는 내용이 다르고 발생하는 오류가 다르므로 해당 환경에 적절한 평가 기준을 사용해 테스트 케이스들을 평가해야 하는데, 종래 평가 시스템은 이를 고려하지 않고 단일한 평가 기준으로 테스트 케이스를 평가하기 때문에 디바이스 드라이버의 사용 환경에 적합한 테스트 케이스의 평가가 힘들다.
따라서, 프로그램 테스트에 이용되는 테스트 케이스의 오류 검출 능력을 평가하기 위한 기술이 요구된다.
따라서, 본 발명의 목적은, 테스트 케이스의 오류 검출 능력을 기반으로 테스트 케이스의 성능을 평가하기 위한 장치 및 방법을 제공하는 데 있다.
이를 위하여, 본 발명의 일실시 예에 따른 테스트 케이스의 성능 평가 방법은, 테스트 케이스의 성능을 평가하는 데 이용되는 대상 프로그램을 입력받는 단계; 미리 정의된 오류 유형 중 적어도 하나의 오류 유형을 입력받아 상기 입력된 오류 유형에 대응되는 오류 생성 엔진을 로딩하고, 상기 로딩된 오류 생성 엔진을 구동시켜 상기 대상 프로그램에 상기 입력된 오류 유형에 따른 오류를 삽입하여 오류 프로그램을 생성하는 단계; 상기 생성된 오류 프로그램을 대상으로 상기 테스트 케이스를 실행하여 상기 오류를 검출하는 단계; 및 상기 삽입된 오류의 수와 상기 검출된 오류의 수의 비율에 따라 상기 테스트 케이스의 평가 점수를 산출하는 단계를 포함한다.
또한, 이를 위하여, 본 발명의 일실시 예에 따른 테스트 케이스의 성능 평가 장치는, 테스트 케이스의 성능을 평가하는 데 이용되는 대상 프로그램을 입력받아 상기 대상 프로그램에 오류를 삽입하여 오류 프로그램을 생성하는 오류 프로그램 생성기, 상기 생성된 오류 프로그램을 대상으로 상기 테스트 케이스를 실행하여 상기 오류를 검출하는 오류 검출기를 포함하는 프로그램 테스트 모듈; 상기 삽입된 오류의 수와 상기 검출된 오류의 수의 비율에 따라 상기 테스트 케이스의 평가 점수를 산출하는 평가 점수 산출 모듈; 및 미리 정의된 오류 유형에 따른 오류를 생성하는 하나 이상의 오류 생성 엔진을 포함하고, 상기 오류 프로그램 생성기는, 상기 미리 정의된 오류 유형 중 적어도 하나의 오류 유형을 입력받아 상기 입력된 오류 유형에 대응되는 오류 생성 엔진을 로딩하고, 상기 로딩된 오류 생성 엔진을 구동시켜 상기 대상 프로그램에 상기 입력된 오류 유형에 따른 오류를 삽입하여 상기 오류 프로그램을 생성한다.
상술한 바와 같이 본 발명은, 프로그램의 테스트에 사용되는 테스트 케이스의 오류 검출 능력을 평가할 수 있는 이점이 있다. 또한, 프로그램이 사용될 환경에 따라 빈번하게 발생할 것으로 예상되는 오류에 대한 테스트 케이스의 오류 검출 능력을 평가함으로써, 좀 더 안정적인 프로그램을 개발하게끔 할 수 있는 이점이 있다.
도 1은 본 발명의 일실시 예에 따른 테스트 케이스의 성능 평가 장치의 블록 구성도,
도 2는 본 발명의 일실시 예에 따른 테스트 케이스의 성능 평가 방법을 나타내는 흐름도.
도 1은 본 발명의 일실시 예에 따른 테스트 케이스의 성능 평가 장치의 블록 구성도이다. 본 발명의 일실시 예에 따른 테스트 케이스의 성능 평가 장치는 프로그램 테스트 모듈(100), 평가 점수 산출 모듈(110) 및 저장 모듈(120)을 포함한다. 이하, 도 1을 참조하여 본 발명의 일실시 예에 따른 테스트 케이스의 성능 평가 장치의 구성 및 동작에 대하여 상세히 설명한다.
본 발명의 일실시 예에 따른 프로그램 테스트 모듈(100)은 대상 프로그램에 오류를 삽입하여 오류 프로그램을 생성하는 오류 프로그램 생성기(102) 및 상기 생성된 오류 프로그램으로부터 오류를 검출하는 오류 검출기(104)를 포함한다.
대상 프로그램이란, 테스트 케이스의 평가를 위해 사용되는 프로그램으로서, 본 발명의 일실시 예에 따라 대상 프로그램에 오류가 삽입되면 오류 프로그램이 된다.
본 발명의 일실시 예에 따른 오류 프로그램 생성기(102)는, 테스트 케이스의 성능을 평가하는 데 이용되는 대상 프로그램을 입력받고, 상기 대상 프로그램에 오류를 삽입하여 오류 프로그램을 생성한 후, 상기 생성된 오류 프로그램을 오류 검출기(104)로 출력한다.
또한, 본 발명의 일실시 예에 따른 오류 프로그램 생성기(102)는, 미리 정의된 오류 유형 중 적어도 하나의 오류 유형을 입력받고, 상기 입력된 오류 유형에 따른 오류를 대상 프로그램에 삽입하여 오류 프로그램을 생성할 수 있다.
오류 유형이란, 대상 프로그램에 삽입할 오류의 종류로서, 예를 들면, 동일한 상태에서 동일한 사건이 벌어진 경우 두 개 이상의 상태로 전이가 가능한 상태의 오류인 모호성 오류, 발생할 수 없는 조건이 기술된 모순 오류 등이 포함된다. 기타 프로그램에서 발생할 수 있는 여러 가지 오류 유형이 있을 수 있고 이에 대한 상세한 설명은 생략한다. 다만, 앞서 말한 모호성 오류 및 모순 오류에 대하여 하기에서 좀더 상세한 예를 들어 설명한다.
모호성 오류에 대하여 <표 1>을 참조하여 좀 더 상세히 설명하면 다음과 같다.
현재상태 조건 다음상태
S1 A==5 S1
A==5 && B==3 S2
<표 1>과 같이 현재 상태가 'S1'인 경우, 만약 'A'의 값은 '5'이고, 'B'의 값은 '3'인 경우, <표 1>의 두 조건이 모두 만족된다. 따라서, 이때 시스템은 다음 상태를 현재 상태와 마찬가지로 'S1'으로 유지할지 아니면 'S2'로 변경할지 결정할 수 없게 된다.
모순성 오류에 대하여 <표 2>를 참조하여 좀 더 상세히 설명하면 다음과 같다.
현재상태 조건 다음상태
S1 A>5 && A<5 S2
S1 B==3 || B!=3 S2
<표 1>과 같이 현재 상태가 'S1'인 경우, 첫 번째 조건과 같이 'A'가 '5'보다 크면서 동시에 '5'보다 작은 경우는 있을 수 없기 때문에 시스템은 위와 같은 조건이 삽입된 프로그램을 처리하는 중에 오류를 발생시키게 된다. 마찬가지로 두 번째 조건과 같이 'B'가 '3'이면서 동시에 '3'이 아닌 경우는 있을 수 없기 때문에 이 때 역시 시스템은 두 번째 조건이 삽입된 프로그램을 처리하는 중에 오류를 발생시키게 된다.
다시 도 1을 참조하여 설명하면, 본 발명의 일실시 예에 따른 오류 프로그램 생성기(102)는, 입력받은 오류의 유형에 따른 오류 생성 엔진을 저장 모듈(120)의 오류 생성 엔진 저장소(124)로부터 로딩하고, 상기 로딩한 오류 생성 엔진을 구동시켜 대상 프로그램에 오류를 삽입하여 오류 프로그램을 생성할 수 있다.
또한, 본 발명의 일실시 예에 따른 오류 프로그램 생성기(120)는, 오류 생성 엔진 매핑 테이블(mapping table)(122)을 참조하여, 입력된 오류 유형에 따른 오류 생성 엔진을 오류 생성 엔진 저장소(124)로부터 로딩하고, 상기 로딩한 오류 생성 엔진을 구동시켜 대상 프로그램에 오류를 삽입하여 오류 프로그램을 생성할 수 있다.
본 발명의 일실시 예에 따른 오류 검출기(104)는, 오류 프로그램 생성기(102)로부터 출력되는 오류 프로그램을 대상으로 테스트 케이스를 실행하여 오류를 검출한다. 일반적으로 테스트 케이스는, 테스트 절차를 나타내는 테스트 스크립트, 테스트 스크립트를 수행할 때 필요한 테스트 데이터 및 테스트 수행 결과의 오류 유무를 판정하기 위한 테스트 오라클(test oracle)을 포함한다. 테스트 오라클이란 테스트 케이스에 대한 예측 시험 결과를 계산하거나 실제 결과가 정확한지를 확인하는 메커니즘이나 장치를 말한다.
또한, 본 발명의 일실시 예에 따른 오류 검출기(104)는, 검출된 오류의 개수와 오류의 유형에 관한 정보를 평가 점수 산출 모듈(110)로 출력한다.
본 발명의 일실시 예에 따른 평가 점수 산출 모듈(110)은, 오류 프로그램 생성기(102)에서 삽입한 오류의 개수 및 오류 검출기(104)에서 검출한 오류의 개수를 비교하여 테스트 케이스의 평가 점수를 산출한다.
예를 들어, 오류 프로그램 생성기(102)에서 삽입한 오류는 10개이고, 테스트 케이스 A를 이용하여 오류 검출기(104)에서 검출한 오류는 7개인 경우, 테스트 케이스 A의 점수는 70점((7/10) x 100=70)이 된다.
또한, 본 발명의 일실시 예에 따른 평가 점수 산출 모듈(100)은, 오류 프로그램 생성기(102)에서 삽입한 오류의 개수, 오류의 유형 및 오류 검출기(104)에서 검출한 오류의 개수, 오류의 유형 및 미리 정해진 오류 유형에 따른 가중치를 비교하여 테스트 케이스의 평가 점수를 산출한다.
예를 들어, 오류 프로그램 생성기(102)에서 대상 프로그램에 삽입한 오류가 모호성 오류 5개, 모순 오류 5개이고, 모호성 오류의 가중치가 3, 모순 오류의 가중치가 1이라고 하자. 이 때, 테스트 케이스 B를 이용하여 오류 검출기(104)에서 검출한 오류가 모호성 오류 3개, 모순 오류 2개인 경우, 테스트 케이스 B의 점수는 55점((3 x 3 + 2 x 1) / (5 x 3 + 5 x 1) x 100 = 55)이 된다.
본 발명의 일실시 예에 따른 저장 모듈(120)은 오류 생성 엔진 매핑 테이블(122) 및 오류 생성 엔진 저장소(124)를 포함한다.
본 발명의 일실시 예에 따른 오류 생성 엔진 매핑 테이블(122)에는, 오류 생성 엔진 저장소(124)에 저장된 오류 생성 엔진에 대한 정보가 등록된다. 상기 오류 생성 엔진에 대한 정보에는 오류 생성 엔진이 생성하는 오류의 유형 정보, 오류 생성 엔진이 저장된 위치 정보, 오류 생성 엔진의 실행 파일 이름 정보 및 오류 생성 엔진의 작성에 사용된 프로그램 언어 정보 등이 포함된다.
본 발명의 일실시 예에 따른 오류 생성 엔진 저장소(124)에는 대상 프로그램에 삽입할 오류를 생성하는 오류 생성 엔진이 저장된다.
도 2는 본 발명의 일실시 예에 따른 테스트 케이스의 성능 평가 방법을 나타내는 흐름도이다. 이하, 도 2를 참조하여 본 발명의 일실시 예에 따른 테스트 케이스의 성능 평가 방법에 대하여 상세히 설명한다.
단계(200)에서 오류 프로그램 생성기(102)는, 대상 프로그램 및 대상 프로그램에 삽입할 오류 유형을 입력받고, 단계(202)로 진행한다.
단계(202)에서 오류 프로그램 생성기(102)는, 입력된 오류 유형에 따른 오류 생성 엔진의 정보를 오류 생성 엔진 매핑 테이블(122)에서 살핀 후, 단계(204)로 진행한다.
단계(204)에서 오류 프로그램 생성기(102)는, 오류 생성 엔진 매핑 테이블(122)에 등록된 오류 생성 엔진 정보를 참조하여, 오류 생성 엔진 저장소(124)로부터 상기 입력된 오류 유형에 따른 오류 생성 엔진을 로딩한 후, 단계(206)로 진행한다.
단계(206)에서 오류 프로그램 생성기(102)는, 대상 프로그램에 삽입할 오류의 위치 및 개수를 결정한 후, 단계(208)로 진행한다. 이 때, 삽입할 오류의 개수는 사용자로부터 입력받을 수 있고, 오류를 삽입할 위치는 프로그램을 탐색하여 입력된 오류 유형이 적용될 수 있는 블록을 오류 프로그램 성성기(102)가 결정한다. 즉, <표 1> 및 <표 2>에서 보인 모호성 오류나 모순 오류는 조건문 상에서 발생하는 오류이므로 대상 프로그램에 조건문이 존재하는 위치를 탐색한 후, 오류를 삽입할 위치를 결정하는 것이다.
단계(208)에서 오류 프로그램 생성기(102)는, 단계(204)에서 로딩한 오류 생성 엔진을 구동하여 상기 대상 프로그램에 오류를 삽입하여 오류 프로그램을 생성한 후, 상기 생성된 오류 프로그램을 오류 검출기(104)로 출력한다.
단계(210)에서 오류 검출기(104)는, 오류 프로그램 생성기(102)로부터 출력된 오류 프로그램을 대상으로 테스트 케이스를 실행하여 오류를 검출한 후, 검출된 오류에 관한 정보를 평가 점수 산출 모듈(110)로 출력한다. 이 때, 실행되는 테스트 케이스는 하나일 수도 있고, 다수 개일 수도 있다. 또한, 상기 다수 개의 테스트 케이스는 하나의 프로그램에 대하여 여러 가지 테스트를 하는 비슷한 유형의 테스트 케이스로 구성된 테스트 케이스 집합일 수 있다. 예를 들면, 휴대 단말기에 내장되는 디바이스 드라이버의 사용 환경에 따라 디바이스 드라이버를 테스트하기 위한 테스트 케이스들과 같이, 동일한 사용환경에서 다양한 테스트를 하기 위한 여러 테스트 케이스로 구성된 테스트 케이스 집합일 수 있다. 만약, 단계(210)에서 대상 프로그램에 대하여 테스트 케이스 집합을 실행하는 경우, 테스트 케이스 집합에 속한 어느 하나의 테스트 케이스가 검출한 오류가 속한 블록은 다른 테스트 케이스 실행 시에 이를 건너뛸 수 있다. 이는 테스트 케이스 집합의 성능 평가 시에 소모되는 시간을 감축할 수 있는 효과가 있다.
단계(212)에서 평가 점수 산출 모듈(110)은, 오류 검출기(104)로부터 출력되는 검출된 오류에 관한 정보 및 오류 프로그램 생성기에서 입력된 오류에 관한 정보를 기반으로 테스트 케이스의 평가 점수를 산출한다. 즉, 평가 점수 산출 모듈(110)은, 오류 프로그램 생성기(102)에서 삽입한 오류의 개수 및 오류 검출기(104)에서 검출한 오류의 개수를 비교하여 테스트 케이스의 평가 점수를 산출한다. 또한, 평가 점수 산출 모듈(110)은, 오류 프로그램 생성기(102)에서 삽입한 오류의 개수, 오류의 유형 및 오류 검출기(104)에서 검출한 오류의 개수, 검출된 오류의 유형 및 미리 정해진 오류 유형에 따른 가중치를 비교하여 테스트 케이스의 평가 점수를 산출할 수 있다. 만약, 단계(210)에서 테스트 케이스 집합을 실행시킨 경우, 테스트 케이스 집합 전체에 대하여 평가 점수를 산출할 수 있다.
상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서, 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허 청구 범위와 특허 청구 범위의 균등한 것에 의해 정해져야 한다.

Claims (11)

  1. 테스트 케이스의 성능을 평가하는 데 이용되는 대상 프로그램을 입력받는 단계;
    미리 정의된 오류 유형 중 적어도 하나의 오류 유형을 입력받아 상기 입력된 오류 유형에 대응되는 오류 생성 엔진을 로딩하고, 상기 로딩된 오류 생성 엔진을 구동시켜 상기 대상 프로그램에 상기 입력된 오류 유형에 따른 오류를 삽입하여 오류 프로그램을 생성하는 단계;
    상기 생성된 오류 프로그램을 대상으로 상기 테스트 케이스를 실행하여 상기 오류를 검출하는 단계; 및
    상기 삽입된 오류의 수와 상기 검출된 오류의 수의 비율에 따라 상기 테스트 케이스의 평가 점수를 산출하는 단계
    를 포함하는 테스트 케이스의 성능 평가 방법.
  2. 삭제
  3. 제 1항에 있어서,
    상기 생성된 오류 프로그램에 대하여 하나의 테스트 케이스 집합에 속하는 다수 개의 테스트 케이스를 실행하는 경우, 상기 다수 개의 테스트 케이스 중 어느 하나가 검출한 오류가 포함된 블록은 상기 테스트 케이스 집합에 속한 다른 테스트 케이스의 실행 시에 이를 건너뛰는 단계
    를 포함하는 테스트 케이스의 성능 평가 방법.
  4. 제 1항에 있어서, 상기 테스트 케이스의 평가 점수를 산출하는 단계는,
    상기 미리 정의된 오류 유형에 따라 가중치를 부여하고, 상기 검출된 오류의 수와 상기 검출된 오류의 유형에 각각 부여된 가중치에 따라 상기 테스트 케이스의 평가 점수를 산출하는 단계
    를 포함하는 테스트 케이스의 성능 평가 방법.
  5. 테스트 케이스의 성능을 평가하는 데 이용되는 대상 프로그램을 입력받아 상기 대상 프로그램에 오류를 삽입하여 오류 프로그램을 생성하는 오류 프로그램 생성기, 상기 생성된 오류 프로그램을 대상으로 상기 테스트 케이스를 실행하여 상기 오류를 검출하는 오류 검출기를 포함하는 프로그램 테스트 모듈;
    상기 삽입된 오류의 수와 상기 검출된 오류의 수의 비율에 따라 상기 테스트 케이스의 평가 점수를 산출하는 평가 점수 산출 모듈; 및
    미리 정의된 오류 유형에 따른 오류를 생성하는 하나 이상의 오류 생성 엔진을 포함하고,
    상기 오류 프로그램 생성기는, 상기 미리 정의된 오류 유형 중 적어도 하나의 오류 유형을 입력받아 상기 입력된 오류 유형에 대응되는 오류 생성 엔진을 로딩하고, 상기 로딩된 오류 생성 엔진을 구동시켜 상기 대상 프로그램에 상기 입력된 오류 유형에 따른 오류를 삽입하여 상기 오류 프로그램을 생성하는
    테스트 케이스의 성능 평가 장치.
  6. 삭제
  7. 삭제
  8. 제 5항에 있어서,
    상기 오류 생성 엔진의 정보가 등록된 오류 생성 엔진 매핑 테이블을 더 포함하고,
    상기 오류 프로그램 생성기는, 상기 미리 정의된 오류 유형 중 적어도 하나의 오류 유형을 입력받아 상기 오류 생성 엔진 매핑 테이블을 참조하여 상기 입력된 오류 유형에 따른 오류 생성 엔진을 로딩하고, 상기 로딩된 오류 생성 엔진을 구동시켜 상기 대상 프로그램에 상기 입력된 오류 유형에 따른 오류를 삽입하여 상기 오류 프로그램을 생성하는
    테스트 케이스의 성능 평가 장치.
  9. 제 8항에 있어서, 상기 오류 생성 엔진의 정보는,
    오류 생성 엔진이 생성하는 오류의 유형 정보, 오류 생성 엔진이 저장된 위치 정보, 오류 생성 엔진의 실행 파일 이름 정보 및 오류 생성 엔진의 작성에 사용된 프로그래밍 언어 정보 중 적어도 하나를 포함하는
    테스트 케이스의 성능 평가 장치.
  10. 제 5항에 있어서, 상기 오류 검출기는,
    상기 생성된 오류 프로그램에 대하여 하나의 테스트 케이스 집합에 속하는 다수 개의 테스트 케이스를 실행하는 경우, 상기 다수 개의 테스트 케이스 중 어느 하나가 검출한 오류가 포함된 블록은 상기 테스트 케이스 집합에 속한 다른 테스트 케이스의 실행 시에 이를 건너뛰는
    테스트 케이스의 성능 평가 장치.
  11. 제 5항에 있어서, 상기 평가 점수 산출 모듈은,
    상기 미리 정의된 오류 유형에 따라 가중치를 부여하고, 상기 검출된 오류의 수 및 상기 검출된 오류의 유형에 따라 부여된 가중치를 기반으로 상기 테스트 케이스의 평가 점수를 산출하는
    테스트 케이스의 성능 평가 장치.
KR1020070095525A 2007-09-19 2007-09-19 테스트 케이스의 성능 평가 방법 및 장치 KR100919222B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070095525A KR100919222B1 (ko) 2007-09-19 2007-09-19 테스트 케이스의 성능 평가 방법 및 장치
US12/155,932 US8042003B2 (en) 2007-09-19 2008-06-11 Method and apparatus for evaluating effectiveness of test case

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070095525A KR100919222B1 (ko) 2007-09-19 2007-09-19 테스트 케이스의 성능 평가 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20090030156A KR20090030156A (ko) 2009-03-24
KR100919222B1 true KR100919222B1 (ko) 2009-09-28

Family

ID=40455876

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070095525A KR100919222B1 (ko) 2007-09-19 2007-09-19 테스트 케이스의 성능 평가 방법 및 장치

Country Status (2)

Country Link
US (1) US8042003B2 (ko)
KR (1) KR100919222B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101042979B1 (ko) * 2009-10-23 2011-06-21 한국항공대학교산학협력단 임베디드 시스템의 신뢰성 평가를 위한 시뮬레이션 커널을 이용하는 오류주입시험 장치
KR101230902B1 (ko) * 2010-12-02 2013-02-07 현대자동차주식회사 차량 시뮬레이터를 이용한 차량 장치의 자동 평가 시스템
KR101940486B1 (ko) * 2011-08-25 2019-01-21 한국전자통신연구원 저비용 오류 기반 프로그램 테스트 장치 및 그 방법
US9703679B2 (en) 2013-03-14 2017-07-11 International Business Machines Corporation Probationary software tests
US8997052B2 (en) 2013-06-19 2015-03-31 Successfactors, Inc. Risk-based test plan construction
CN106201875B (zh) * 2016-07-05 2019-01-04 四川恒进依科技有限公司 基于等级模型系数的移动智能终端测试用例评价方法
KR102122704B1 (ko) * 2018-12-26 2020-06-15 한국전력공사 이상 데이터 대응 능력 검사 장치 및 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5345393A (en) * 1990-08-22 1994-09-06 Matsushita Electric Industrial Co., Ltd. Logic circuit generator
US5808919A (en) * 1993-11-23 1998-09-15 Hewlett-Packard Company Diagnostic system
JP3139312B2 (ja) * 1994-11-25 2001-02-26 株式会社富士通ゼネラル ディスプレイ駆動方法および装置
US5561762A (en) * 1995-06-06 1996-10-01 Union Switch & Signal Inc. Malicious fault list generation method
EP0794495A3 (en) * 1996-03-08 1998-07-22 Hewlett-Packard Company Automated analysis of a model-based diagnostic system
US6243833B1 (en) * 1998-08-26 2001-06-05 International Business Machines Corporation Apparatus and method for self generating error simulation test data from production code
JP3732708B2 (ja) * 2000-03-27 2006-01-11 株式会社東芝 テストパターン選別装置、テストパターン選別方法およびテストパターン選別プログラムを格納したコンピュータ読取り可能な記録媒体
CA2358563A1 (en) * 2001-10-05 2003-04-05 Ibm Canada Limited - Ibm Canada Limitee Method and system for managing software testing
CA2414632A1 (en) * 2002-12-18 2004-06-18 Logicvision, Inc. Method and circuit for collecting memory failure information
US7216339B2 (en) * 2003-03-14 2007-05-08 Lockheed Martin Corporation System and method of determining software maturity using Bayesian design of experiments
US7512503B2 (en) * 2003-05-12 2009-03-31 Simmonds Precision Products, Inc. Wire fault detection
US7584455B2 (en) * 2003-10-23 2009-09-01 Microsoft Corporation Predicate-based test coverage and generation
US7246271B2 (en) * 2003-10-23 2007-07-17 Agilent Technologies, Inc. Method for diagnosing complex system faults
US20050261859A1 (en) * 2004-05-24 2005-11-24 Jeremy Petsinger Systems and methods for evaluating a test case
US7565369B2 (en) * 2004-05-28 2009-07-21 International Business Machines Corporation System and method for mining time-changing data streams
US20050272024A1 (en) * 2004-06-08 2005-12-08 Gradiance Corporation Automated training and evaluation
US7600169B2 (en) * 2004-11-12 2009-10-06 Hewlett-Packard Development Company, L.P. Systems and methods of test case generation with feedback
US7404107B2 (en) * 2004-12-15 2008-07-22 Microsoft Corporation Fault injection selection
US7509259B2 (en) * 2004-12-21 2009-03-24 Motorola, Inc. Method of refining statistical pattern recognition models and statistical pattern recognizers
DE502005005807D1 (de) * 2005-04-28 2008-12-11 Tektronix Int Sales Gmbh Testgerät für ein Telekommunikationsnetzwerk und Verfahren zum Durchführen eines Tests an einem Telekommunikationsnetzwerk
JP4871687B2 (ja) * 2005-10-03 2012-02-08 日立オートモティブシステムズ株式会社 車両制御システム
JP2007102475A (ja) * 2005-10-04 2007-04-19 Dainippon Screen Mfg Co Ltd ソフトウェアシステムのテストケース抽出装置、テストケース抽出プログラムおよびテストケース抽出方法
US7664989B2 (en) * 2005-10-24 2010-02-16 Infosys Technologies Ltd. Automated software testing architecture using a multi-level framework
WO2007057296A2 (en) * 2005-11-18 2007-05-24 International Business Machines Corporation Test effort estimator
US10783458B2 (en) * 2006-05-01 2020-09-22 Topcoder, Inc. Systems and methods for screening submissions in production competitions
US20070266349A1 (en) * 2006-05-09 2007-11-15 Craig Jesse E Directed random verification
US7672669B2 (en) * 2006-07-18 2010-03-02 Veriwave, Inc. Method and apparatus for controllable simulation of mobility
US7685472B1 (en) * 2007-01-30 2010-03-23 Intuit, Inc. Method and apparatus for testing object-oriented-programming methods
US20080215925A1 (en) * 2007-03-02 2008-09-04 International Business Machines Corporation Distributed fault injection mechanism
US20090006066A1 (en) * 2007-06-28 2009-01-01 Behm Michael L Method and System for Automatic Selection of Test Cases
US7992059B2 (en) * 2007-09-11 2011-08-02 International Business Machines Corporation System and method for testing a large memory area during processor design verification and validation
JP4881332B2 (ja) * 2008-02-15 2012-02-22 株式会社東芝 半導体集積回路のテスト品質評価装置、および半導体集積回路のテスト品質評価方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
김상운 외 4인, "소프트웨어 시험 기술 현황", 정보과학회지 제23권 제3호, 2005.3.
윤회진 외 1인, "컴포넌트 맞춤 오류를 위한 테스트 기법", 정보과학회논문지 제27권 제2호, 2000.2.

Also Published As

Publication number Publication date
US8042003B2 (en) 2011-10-18
KR20090030156A (ko) 2009-03-24
US20090077427A1 (en) 2009-03-19

Similar Documents

Publication Publication Date Title
KR100919222B1 (ko) 테스트 케이스의 성능 평가 방법 및 장치
US20150370685A1 (en) Defect localization in software integration tests
US8522214B2 (en) Keyword based software testing system and method
US10437702B2 (en) Data-augmented software diagnosis method and a diagnoser therefor
US10152406B2 (en) Software program repair
US8978009B2 (en) Discovering whether new code is covered by tests
US20100269099A1 (en) Software Reuse Support Method and Apparatus
CN111104335B (zh) 一种基于多层次分析的c语言缺陷检测方法及装置
CN108804326B (zh) 一种软件代码自动检测方法
CN108959067B (zh) 搜索引擎的测试方法、装置及计算机可读存储介质
CN106406918B (zh) 源代码自动合并方法和源代码自动合并装置
CN109726123A (zh) 代码质量的检测系统和检测方法
US20100313187A1 (en) Method and system for detecting infeasible paths
CN109684213A (zh) 一种测试方法、装置及存储介质
CN110727602B (zh) 覆盖率数据的处理方法、装置及存储介质
US10853051B2 (en) Automated candidate repair patch generation
CN109684205B (zh) 系统测试方法、装置、电子设备及存储介质
US20050102566A1 (en) Method for diagnosing complex system faults
CN114138669A (zh) 一种基于函数级选择符号化混合执行的软件自动测试方法
CN113312054A (zh) 针对嵌入式软件架构的软件栈消耗分析方法及分析装置
GB2609110A (en) Executing tests in deterministic order
Zhou et al. A fault-localization approach based on the coincidental correctness probability
CN112905488A (zh) 链路测试方法、装置、计算机设备及存储介质
CN112631944A (zh) 基于抽象语法树的源码检测方法及装置、计算机存储介质
CN111124922A (zh) 基于规则的自动程序修复方法、存储介质和计算设备

Legal Events

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

Payment date: 20120910

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee