KR101935105B1 - 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법 - Google Patents

오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법 Download PDF

Info

Publication number
KR101935105B1
KR101935105B1 KR1020160151976A KR20160151976A KR101935105B1 KR 101935105 B1 KR101935105 B1 KR 101935105B1 KR 1020160151976 A KR1020160151976 A KR 1020160151976A KR 20160151976 A KR20160151976 A KR 20160151976A KR 101935105 B1 KR101935105 B1 KR 101935105B1
Authority
KR
South Korea
Prior art keywords
error
simulation
test
embedded system
scenario
Prior art date
Application number
KR1020160151976A
Other languages
English (en)
Other versions
KR20180054255A (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 KR1020160151976A priority Critical patent/KR101935105B1/ko
Publication of KR20180054255A publication Critical patent/KR20180054255A/ko
Application granted granted Critical
Publication of KR101935105B1 publication Critical patent/KR101935105B1/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/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3692Test management for test results analysis
    • 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

본 발명은 오류모의 시나리오 시뮬레이션 기술에 관한 것으로서, 더 상세하게는 오류모의 함수(Mutation API(Application Programming Interface))를 사용하여 기존 정상 시나리오를 입력하여 오류모의가 반영된 변형된 테스트 시나리오로 자동 생성할 수 있는 자동화 기반 강건성 검증 장치 및 방법에 대한 것이다.

Description

오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법{Apparatus and Method for verifying automation based robustness using mutation Application Programming Interface}
본 발명은 오류모의 시나리오 시뮬레이션 기술에 관한 것으로서, 더 상세하게는 오류모의 함수(Mutation API(Application Programming Interface))를 사용하여 기존 정상 시나리오를 입력하여 오류모의가 반영된 변형된 테스트 시나리오로 자동 생성할 수 있는 자동화 기반 강건성 검증 장치 및 방법에 대한 것이다.
또한, 본 발명은 이렇게 생성된 오류모의 시나리오를 HLA/RTI(High Level Architecture/Real Time Infrastructure) 또는 DDS(Data Distribution Service)로 이루어져 있는 분산 시뮬레이션 네트워크를 통해 연속적으로 다수의 모의기에 장입하여 오류를 모의하고 모의한 테스트결과의 자동 분석을 통해 실시간 임베디드 시스템(Embedded System)의 소프트웨어 강건성(Robustness)을 테스트할 수 있는 자동화 기반 검증 장치 및 방법에 대한 것이다.
실시간 임베디드 시스템(Embedded system)의 소프트웨어의 강건성(Robustness)을 테스트할 수 있는 방법으로 기존에는 테스터에 의해 임의로 만들어진 테스트 케이스에 의한 비정상 모의 또는 예외상황 모의 테스트 등이 있었다.
하지만 이는 다양한 테스트 케이스 생성에 있어 테스터(사용자) 개입으로 인한 테스트 커버리지(범위)의 제한, 테스트 정확도 및 효율 저하 등이 발생할 가능성이 있기 때문에 시스템의 복잡도가 증가하는 단점이 있었다.
또한, 데이터 처리량이 많을수록 테스트의 신뢰도가 저하될 확률이 높아지는 단점이 있었다.
1. 한국등록특허번호 제10-0809291호(2008.02.26)(발명의 명칭: 임베디드 소프트웨어의 API 테스트 장치 및 방법)
1. 김경진외, "재구성이 가능한 임베디드 시스템 테스트 실행기"정보처리학회논문지. 소프트웨어 및 데이터 공학 3권 7호 시작쪽수 243p 2. 성아영, "Interface based embedded software test for real-time operating system : 실시간 운영체제를 위한 인터페이스 기반의 임베디드 소프트웨어 테스트"학위논문(박사) 이화여자대학교 2007년
본 발명은 위 배경기술에 따른 문제점을 해소하기 위해 제안된 것으로서, 오류모의 함수(Mutation API(Application Programming Interface))를 사용하여 기존 정상 시나리오를 입력하여 오류모의가 반영된 변형된 테스트 시나리오로 자동 생성할 수 있는 자동화 기반 강건성 검증 장치 및 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 이렇게 생성된 오류모의 시나리오를 HLA/RTI(High Level Architecture/Real Time Infrastructure) 또는 DDS(Data Distribution Service)로 이루어져 있는 분산 시뮬레이션 네트워크를 통해 연속적으로 다수의 모의기에 장입하여 오류를 모의하고 모의한 테스트결과의 자동 분석을 통해 실시간 임베디드 시스템(Embedded System)의 소프트웨어 강건성(Robustness)을 테스트할 수 있는 자동화 기반 검증 장치 및 방법을 제공하는데 다른 목적이 있다.
본 발명은 위에서 제시된 과제를 달성하기 위해, 오류모의 함수(Mutation API(Application Programming Interface))를 사용하여 기존 정상 시나리오를 입력하여 오류모의가 반영된 변형된 테스트 시나리오로 자동 생성할 수 있는 자동화 기반 강건성 검증 장치를 제공한다.
상기 자동화 기반 강건성 검증 장치는,
운용 통제부;
상기 운용 통제부의 제어에 따라 정상 테스트 시나리오에 오류 모의 함수를 적용하여 다양한 비정상 테스트 시나리오를 생성하는 오류 생성부;
상기 비정상 테스트 시나리오를 이용하여 실제 오류 모의 시뮬레이션을 수행하여 오류 모의 로깅 결과를 생성하는 다수의 오류 모의부;
상기 비정상 테스트 시나리오를 적용하여 실시간으로 임베디드 시스템(Real-time Embedded System)을 테스트하는 시험 대상부;
상기 테스트에 따른 임베디드 시스템 테스트 로깅 결과를 생성하여 저장하는 동작 기록부; 및
상기 임베디드 시스템 테스트 로깅 결과와 오류 모의 로깅 결과를 취합하여 결과를 비교 분석하여 상기 정상 테스트 시나리오의 오류 검출 유무를 판단하는 결과 분석부;를 포함하는 것을 특징으로 할 수 있다.
이때, 상기 운용 통제부는 시뮬레이션 모델의 틀을 설정하고 상기 시뮬레이션 모델의 틀에 근거하여 상기 다수의 오류 모의부의 시뮬레이션 동작을 제어하는 것을 특징으로 할 수 있다.
또한, 상기 운용 통제부는 상기 다수의 오류 모의부의 시뮬레이션 동작에 필요한 시간 설정 정보를 운용자로부터 입력받을 수 있으며, 상기 시간 설정 정보는 상기 다수의 오류 모의부에 대한 시뮬레이션 동작의 진행 시간 및 진행 시간 동안 시뮬레이션 동작 상호간의 시간 간격에 관한 정보를 포함하는 것을 특징으로 할 수 있다.
또한, 상기 오류 생성부 및 상기 다수의 오류 모의부는 각각 HLA/RTI(High Level Architecture/Real Time Infrastructure) 또는 DDS(Data Distribution Service) 분산 시뮬레이션 네트워크에 연결되어 있어서 상호 간에 실시간으로 데이터 공유가 가능한 것을 특징으로 할 수 있다.
또한, 상기 오류모의 함수는 하나의 시나리오에 함수를 하나씩 각각 적용할 수도 있고, 여러 개의 함수 조합이 적용될 수 있는 것을 특징으로 할 수 있다.
또한, 상기 오류모의 함수는 주기 변경을 나타내는 ChangePeriod, 시작 시간 변경을 나타내는 ChangeStartTime, 이벤트 변경을 나타내는 Change, 이벤트 자체를 삭제하는 Remove, 이벤트를 중복 입력하는 Duplicate, 순서 바꿈을 나타내는 Exchange, 메시값의 일부 또는 전부를 변경하는 ChangeValue, 메시지 값의 일부 또는 전부를 삭제하는 RemoveField, 오류 코드를 변경하는 ChangeCRCCode, 메시지 크기를 변경하는 Append ZeroField를 포함하는 오류 연산자를 갖는 것을 특징으로 할 수 있다.
또한, 상기 운용 통제부는 상기 테스트를 반복 수행할 필요 여부 및 반복 수행 횟수를 체크하여 상기 시험 대상부로 하여금 상기 비정상 테스트 시나리오를 적용하여 실시간으로 임베디드 시스템(Real-time Embedded System)을 수회 반복하여 테스트하는 것을 특징으로 할 수 있다.
다른 한편으로, 본 발명의 다른 일실시예는, 운용 통제부의 제어에 따라 오류 생성부가 정상 테스트 시나리오에 오류 모의 함수를 적용하여 다양한 비정상 테스트 시나리오를 생성하는 단계; 다수의 오류 모의부가 상기 비정상 테스트 시나리오를 이용하여 실제 오류 모의 시뮬레이션을 수행하여 오류 모의 로깅 결과를 생성하는 단계; 시험 대상부가 상기 비정상 테스트 시나리오를 적용하여 실시간으로 임베디드 시스템(Real-time Embedded System)을 테스트하는 단계; 동작 기록부가 상기 테스트에 따른 임베디드 시스템 테스트 로깅 결과를 생성하여 저장하는 단계; 및 결과 분석부가 상기 임베디드 시스템 테스트 로깅 결과와 오류 모의 로깅 결과를 취합하여 결과를 비교 분석하여 상기 정상 테스트 시나리오의 오류 검출 유무를 판단하는 단계;를 포함하는 것을 특징으로 하는 오류 모의 함수를 이용한 자동화 기반 강건성 검증 방법을 제공할 수 있다.
본 발명에 따르면, 오류모의 함수(Mutation API(Application Programming Interface))를 사용하여 보다 객관적이고 정확한 테스트 시나리오를 테스트 목적과 용도에 맞도록 다양하게 작성하는 것이 가능하다.
또한, 본 발명의 다른 효과로서는 테스터의 임의 개입 및 주관적인 판단으로 인하여 발생 할 수 있는 테스트의 정확성 저하, 신뢰도 저하를 방지할 수 있다는 점을 들 수 있다.
더불어, 본 발명의 또 다른 효과로서는 각 모의기에 시나리오 장입 시 HLA/RTI(High Level Architecture/Real Time Infrastructure) 또는 DDS(Data Distribution Service)를 사용한 분산 시뮬레이션을 사용함으로써 테스트하려는 실시간 임베디드 시스템(Embedded system)의 소프트웨어 데이터의 양이 많거나 복잡하더라도 전송하고자 하는 데이터 메시지의 순서 관리, 타이밍 관리를 통해 효율적인 데이터 전송이 가능하다는 점을 들 수 있다.
도 1은 본 발명의 일실시예에 따른 실시간 임베디드 시스템(Embedded system)의 소프트웨어 테스트를 위한 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치(100)의 블록 구성도이다.
도 2는 본 발명의 일실시예에 따른 실시간 임베디드 시스템(Embedded system)의 소프트웨어 테스트를 위한 오류 모의 함수를 이용한 자동화 기반 강건성 을 검증하는 과정을 보여주는 흐름도이다.
도 3은 도 1에 도시된 오류 생성부(120)에서 정상 테스트 시나리오에 여러 가지 오류모의 함수(Mutation API)를 적용하여 다양한 오류모의 가능 비정상 테스트 시나리오를 생성하는 개념을 보여주는 개념도이다.
도 4는 본 발명의 일실시예에 따른 테스트 하고자 하는 목적과 용도에 따라 적용할 수 있는 다양한 오류모의 함수(Mutation API)의 세부내역을 정리한 표이다.
도 5는 도 1에 도시된 제 1 내지 제 n 오류 모의부(130-1 내지 130-n)와 동작 기록부(150)로부터 로깅(logging)한 테스트 결과를 각각 수신하여 결과 분석부(160)에서 분석하는 개념을 보여주는 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.
제 1, 제 2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.
이하 첨부된 도면을 참조하여 본 발명의 일실시예에 따른 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법을 상세하게 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 실시간 임베디드 시스템(Embedded system)의 소프트웨어 테스트를 위한 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치(100)의 블록 구성도이다. 도 1을 참조하면, 자동화 기반 강건성 검증 장치(100)는 크게 시스템 전체의 운용을 통제하는 운용 통제부(110), 오류를 생성하는 오류 생성부(120), 오류 모의를 실행하는 제 1 내지 제 n 오류 모의부(130-1, …, 130-n), 오류 모의 결과를 적용하여 실시간으로 임베디드 시스템(Real-time Embedded System)을 테스트하는 시험 대상부(140), 테스트를 위한 시뮬레이션의 로깅(logging) 결과를 저장하는 동작 기록부(150), 오류 모의 로깅 기록 및 테스트 결과를 취합하여 결과를 비교 분석하는 결과 분석부(160) 등을 포함하여 구성될 수 있다.
계속 도 1을 참조하면, 운용 통제부(110)는 오류 생성부(120)에서의 동작을 제어 및/또는 제 1 내지 제 n 오류 모의부(130-1, …, 130-n)에서 수행되는 시뮬레이션 동작들을 통제할 수 있다. 보다 구체적으로, 운용 통제부(110)는 오류 생성부(120)를 제어하여 정상 테스트 시나리오로부터 다양한 비정상 테스트 시나리오를 자동적으로 생성하여 제 1 내지 제 n 오류 모의부(130-1, …, 130-n) 각각의 시뮬레이션 수행에 활용할 수 있는 데이터를 제공할 수 있다.
또한, 운용 통제부(110)는, 시뮬레이션 모델의 틀을 설정하고 모델의 틀에 근거하여 제 1 내지 제 n 오류 모의부(130-1 내지 130-n)의 시뮬레이션 동작을 제어할 수 있다. 또한, 운용 통제부(110)는 데이터를 기 설정된 주기에 따라 교환할 수 있도록 각 오류 모의부(130-1 내지 130-n)들의 시뮬레이션 장치를 통제하고 각 오류 모의부(130-1 내지 130-n)들의 시뮬레이션 동작에 필요한 시간 설정 정보를 운용자(테스터)로부터 입력받을 수 있다.
여기에서 상기 시간 설정 정보는, 제 1 내지 제 n 오류 모의부(130-1 내지 130-n)에 대한 시뮬레이션 동작의 진행 시간 및/또는 진행 시간 동안 시뮬레이션 동작 상호간의 시간 간격에 관한 정보가 포함될 수 있다.
오류 생성부(120)에서는 정상 테스트 시나리오에 오류모의 함수(Mutation API)를 적용하여 다양한 비정상 테스트 시나리오를 생성하는 기능을 수행한다. 이러한 오류모의 함수의 예를 보여주는 도면이 도 4에 도시된다.
도 1을 참조하여 계속 설명하면, 제 1 내지 제 n 오류 모의부(130-1 내지 130-n)에서는 오류 생성부(120)에서 생성된 다양한 비정상 테스트 시나리오들로부터 실제 오류모의 시뮬레이션 동작을 수행한다. 오류 생성부(120)와 제 1 내지 제 n 오류 모의부(130-1, …, 130-n)는 각각 HLA/RTI(High Level Architecture/Real Time Infrastructure) 또는 DDS(Data Distribution Service) 분산 시뮬레이션 네트워크에 연결되어 있어서 이들 간에는 실시간으로 데이터 공유가 가능하다.
시험 대상부(140)에서는 제 1 내지 제 n 오류 모의부(130-1, …, 130-n)에서 모의한 실제 모의 시뮬레이션의 오류 모의 결과에 적용하여 시험 대상 실 장비에서 발사 절차를 진행한다. 즉, 오류 모의부(130-1 내지 130-n)에 장입된 비정상 테스트 시나리오를 적용하여 실시간으로 임베디드 시스템(Real-time Embedded System)을 테스트하고, 이 테스트 결과에 따른 임베디드 시스템 테스트 로깅(logging) 결과를 생성한다.
동작 기록부(150)에서는 시험 대상부(140)에서 테스트를 수행하여 생성되는 임베디드 시스템 테스트 로깅(logging) 결과를 저장한다. 실제 모의 시뮬레이션으로는 발사절차 시뮬레이션을 들 수 있으나 이에 한정되는 것은 아니다.
결과 분석부(160)에서는 최종 동작 기록부(150)에서 로깅(logging)한 결과와 각 오류 모의부(130-1 내지 130-n)에서 시뮬레이션한 테스트 결과를 취합하고 분석하여 결과를 비교한다.
도 2는 본 발명의 일실시예에 따른 실시간 임베디드 시스템(Embedded system)의 소프트웨어 테스트를 위한 오류 모의 함수를 이용한 자동화 기반 강건성 을 검증하는 과정을 보여주는 흐름도이다. 도 2를 참조하면,
1) 먼저 운용 통제부(110)에서 한 사이클의 시뮬레이션이 시작함과 동시에 여러 가지 테스트 케이스를 만들 정상 테스트 시나리오를 준비하고 이를 오류 생성부(120)에 입력한다(단계 S210).
2) 오류 생성부(120)에서는 정상 테스트 시나리오에 오류모의 함수(Mutation API)를 장입하여 다양한 비정상 테스트 시나리오(즉 케이스들)를 생성한다(단계 S220). 이 때 적용하는 오류모의 함수(Mutation API)는 한 시나리오에 함수를 하나씩 각각 적용할 수도 있고, 여러 개의 함수 조합을 적용할 수도 있다.
3) 다양하게 생성한 비정상 테스트 시나리오를 분산 시뮬레이션 네트워크 망인 HLA/RTI(High Level Architecture/Real Time Infrastructure) 또는 DDS(Data Distribution Service)를 통해 복수 개의 오류 모의부(130-1 내지 130-n)에 동시 장입한다(단계 S230).
4) 각 오류 모의부(130-1 내지 133-n)에서는 비정상 테스트 시나리오들을 사용하여 시뮬레이션 테스트를 수행하고 이에 따른 오류 모의 로깅 결과를 생성한다(단계 S240).
5) 시험 대상부(140)는 각 오류 모의부(130-1 내지 130-n)와 테스트 결과를 주고받으며 발사절차를 수행하고, 이에 따른 임베디드 시스템 테스트 로깅 결과를 생성한다(단계 S250).
6) 운용 통제부(110)에서는 테스트에 따라 반복수행 필요 여부 및 반복수행 횟수를 체크하여 다회의 수행결과가 필요한 경우 위 5)의 과정을 반복하며 여러 번의 테스트를 수행한다(단계 S251).
7) 시뮬레이션이 끝나면 테스트 완료 상태가 되고, 테스트 결과(즉, 임베디드 시스템 테스트 로깅 결과)를 동작 기록부(150)로 보낸다(단계 S260).
8) 동작 기록부(150)에서는 운용 통제부(110) 및/또는 시험 대상부(140)로부터 얻은 테스트 결과를 메시지 별로 로깅(logging)하여 로깅 데이터(즉, 임베디드 시스템 테스트 로깅 결과)를 결과 분석부(160)로 전송한다(단계 S270).
9) 결과 분석부(160)에서는 동작 기록부(150)에서 받은 임베디드 시스템 테스트 로깅 결과와 각 오류 모의부(130-1 내지 130-n)에서 로깅한 오류모의 결과를 비교분석하여 시나리오의 오류검출 유무를 판단하고, 이로써 한 타임의 시뮬레이션은 종료된다(단계 S280). 부연하면, 동작 기록부(150)에서 기록된 시험 대상부의 로깅결과와 오류모의 여부를 표시한 메시지가 기록된 결과 분석부의 로깅결과를 비교하여 모의된 오류를 시험 대상부가 검출하거나 이에 상응하는 동작, 예로 시스템 다운 같은 현상이 일어나는지 확인하며, 만일 시험 대상부가 이 오류를 검출하지 못하거나 상응하는 동작이 일어나지 않고, 정상동작을 할 경우, 이것은 시스템이 강건하지 못하다고 판단한다.
도 3은 도 1에 도시된 오류 생성부(120)에서 정상 테스트 시나리오에 여러 가지 오류모의 함수(Mutation API)를 적용하여 다양한 오류모의 가능 비정상 테스트 시나리오를 생성하는 개념을 보여주는 개념도이다. 도 3을 참조하면, 오류 생성부(120)에서, 정상 테스트 시나리오(310)에 여러 가지 오류모의 함수(Mutation API)(330-1,330-2,330-2,...)를 적용하여 다양한 비정상 테스트 시나리오(320)를 각 케이스 형태로 생성한다. 이러한 여러 가지 오류모의 함수에 대한 예를 보여주는 도면이 도 4이다.
도 4는 본 발명의 일실시예에 따른 테스트 하고자 하는 목적과 용도에 따라 적용할 수 있는 다양한 오류모의 함수(Mutation API)의 세부내역을 정리한 표이다. 도 4를 참조하면, 오류 연산자(Mutation operator), 인자(Argument), 시나리오 구조 등이 있다. 오류 연산자로는 주기 변경을 나타내는 ChangePeriod, 시작 시간 변경을 나타내는 ChangeStartTime, 이벤트 변경을 나타내는 Change, 이벤트 자체를 삭제하는 Remove, 이벤트를 중복 입력하는 Duplicate, 순서 바꿈을 나타내는 Exchange, 메시값의 일부 또는 전부를 변경하는 ChangeValue, 메시지 값의 일부 또는 전부를 삭제하는 RemoveField, 오류 코드를 변경하는 ChangeCRCCode, 메시지 크기를 변경하는 Append ZeroField 등을 들 수 있다.
도 4는 정상적인 정상 테스트 시나리오로부터 테스터(사용자)의 목적 및/또는 용도에 따라 다양한 비정상 테스트 시나리오를 생성할 수 있는 여러 가지 특정 오류모의 함수(Mutation API)를 나타낸다. 경우에 따라서는 도 3과 같이 비정상 시나리오 테스트 케이스 생성에 여러 오류모의 함수(Mutation API)의 조합을 활용할 수도 있다.
도 5는 도 1에 도시된 제 1 내지 제 n 오류 모의부(130-1 내지 130-n)와 동작 기록부(150)로부터 로깅(logging)한 테스트 결과를 각각 수신하여 결과 분석부(160)에서 분석하는 개념을 보여주는 개념도이다. 도 5를 참조하면, 결과 분석부(160)는 동작 기록부(120)로부터 시험 대상부(140)의 테스트 결과를 로깅한 결과와, 각 오류 모의부(130-1 내지 130-n)에서 테스트 및 로깅한 데이터를 수신하고 이를 서로 비교/분석하여 최종적으로 운용 통제기(110)가 오류 모의를 탐지했는지 여부를 판단한다.
본 발명에서는 Mutation API라는 오류모의를 위한 전용 함수를 만들어 정상 테스트 시나리오를 오류가 포함된 시나리오로 자동으로 변형할 수 있도록 하여 객관적이고 정확도 있는 테스트 시나리오를 작성하는 것이 가능하다. 더불어 본 발명에서 제안하는 시나리오 자동생성장치는 실시간 Embedded system의 소프트웨어 강건성을 테스트하기 위한 다수의 모의기가 오류모의를 할 수 있도록 오류를 모의한 시나리오를 분산 시뮬레이션 네트워크인 HLA/RTI(High Level Architecture/Real Time Infrastructure) 또는 DDS(Data Distribution Service)를 통해 각 모의기로 전송하고 필요시 이것을 반복 또는 상이한 오류모의 시나리오를 연속적으로 수행하게 하며 오류모의를 수행한 결과는 결과 분석부에서 분석하여 소프트웨어의 강건성 테스트 결과가 자동으로 산출되기 때문에 사용자의 임의 개입 또는 주관적인 판단으로 인한 테스트의 정확성 확보와 신뢰도 저하를 방지할 수 있다.
한편, 당업자는, 여기에 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, …부 및 알고리즘들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로서 구현될 수도 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 나타내기 위해, 다양한 예시적인 블록들은 그들의 기능의 관점에서 일반적으로 상술되었다.
그러한 기능이 하드웨어 또는 소프트웨어로서 구현될지는, 전체 시스템에 부과된 설계 제약들 및 특정한 애플리케이션에 의존한다. 당업자는, 각각의 특정한 애플리케이션에 대해 다양한 방식들로 그 설명된 기능을 구현할 수도 있지만, 그러한 구현 결정이 본 발명의 예시적인 실시형태들의 범위를 벗어나게 하는 것으로 해석되지는 않아야 한다.
여기에 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들은, 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래밍가능한 게이트 어레이(FPGA) 또는 다른 프로그래밍가능한 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 여기에 설명된 기능들을 수행하도록 설계된 그들의 임의의 조합으로 구현되거나 수행될 수도 있다.
범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 그 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 결합, 예를 들어, DSP와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다.
100: 자동화 기반 강건성 검증 장치
110: 운용 통제부 120: 오류 생성부
130-1 내지 130-n: 제 1 내지 제 n 오류 모의부
140: 시험 대상부
150: 동작 기록부
160: 결과 분석부

Claims (8)

  1. 운용 통제부;
    상기 운용 통제부의 제어에 따라 정상 테스트 시나리오에 오류 모의 함수를 적용하여 다양한 비정상 테스트 시나리오를 생성하는 오류 생성부;
    상기 비정상 테스트 시나리오를 이용하여 실제 오류 모의 시뮬레이션을 수행하여 오류 모의 로깅 결과를 생성하는 다수의 오류 모의부;
    상기 비정상 테스트 시나리오를 적용하여 실시간으로 임베디드 시스템(Real-time Embedded System)을 테스트하는 시험 대상부;
    상기 테스트에 따른 임베디드 시스템 테스트 로깅 결과를 생성하여 저장하는 동작 기록부; 및
    상기 임베디드 시스템 테스트 로깅 결과와 오류 모의 로깅 결과를 취합하여 결과를 비교 분석하여 상기 정상 테스트 시나리오의 오류 검출 유무를 판단하는 결과 분석부;를 포함하며,
    상기 오류모의 함수는 주기 변경을 나타내는 ChangePeriod, 시작 시간 변경을 나타내는 ChangeStartTime, 이벤트 변경을 나타내는 Change, 이벤트 자체를 삭제하는 Remove, 이벤트를 중복 입력하는 Duplicate, 순서 바꿈을 나타내는 Exchange, 메시값의 일부 또는 전부를 변경하는 ChangeValue, 메시지 값의 일부 또는 전부를 삭제하는 RemoveField, 오류 코드를 변경하는 ChangeCRCCode, 메시지 크기를 변경하는 Append ZeroField를 포함하는 오류 연산자를 갖는 것을 특징으로 하는 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치.
  2. 제 1 항에 있어서,
    상기 운용 통제부는 시뮬레이션 모델의 틀을 설정하고 상기 시뮬레이션 모델의 틀에 근거하여 상기 다수의 오류 모의부의 시뮬레이션 동작을 제어하는 것을 특징으로 하는 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치.
  3. 제 1 항에 있어서,
    상기 운용 통제부는 상기 다수의 오류 모의부의 시뮬레이션 동작에 필요한 시간 설정 정보를 운용자로부터 입력받을 수 있으며, 상기 시간 설정 정보는 상기 다수의 오류 모의부에 대한 시뮬레이션 동작의 진행 시간 및 진행 시간 동안 시뮬레이션 동작 상호간의 시간 간격에 관한 정보를 포함하는 것을 특징으로 하는 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치.
  4. 제 1 항에 있어서,
    상기 오류 생성부 및 상기 다수의 오류 모의부는 각각 HLA/RTI(High Level Architecture/Real Time Infrastructure) 또는 DDS(Data Distribution Service) 분산 시뮬레이션 네트워크에 연결되어 있어서 상호 간에 실시간으로 데이터 공유가 가능한 것을 특징으로 하는 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치.
  5. 제 1 항에 있어서,
    상기 오류모의 함수는 하나의 시나리오에 함수를 하나씩 각각 적용할 수도 있고, 여러 개의 함수 조합이 적용될 수 있는 것을 특징으로 하는 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 운용 통제부는 상기 테스트를 반복 수행할 필요 여부 및 반복 수행 횟수를 체크하여 상기 시험 대상부로 하여금 상기 비정상 테스트 시나리오를 적용하여 실시간으로 임베디드 시스템(Real-time Embedded System)을 수회 반복하여 테스트하는 것을 특징으로 하는 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치.
  8. 운용 통제부의 제어에 따라 오류 생성부가 정상 테스트 시나리오에 오류 모의 함수를 적용하여 다양한 비정상 테스트 시나리오를 생성하는 단계;
    다수의 오류 모의부가 상기 비정상 테스트 시나리오를 이용하여 실제 오류 모의 시뮬레이션을 수행하여 오류 모의 로깅 결과를 생성하는 단계;
    시험 대상부가 상기 비정상 테스트 시나리오를 적용하여 실시간으로 임베디드 시스템(Real-time Embedded System)을 테스트하는 단계;
    동작 기록부가 상기 테스트에 따른 임베디드 시스템 테스트 로깅 결과를 생성하여 저장하는 단계; 및
    결과 분석부가 상기 임베디드 시스템 테스트 로깅 결과와 오류 모의 로깅 결과를 취합하여 결과를 비교 분석하여 상기 정상 테스트 시나리오의 오류 검출 유무를 판단하는 단계;를 포함하며,
    상기 오류모의 함수는 주기 변경을 나타내는 ChangePeriod, 시작 시간 변경을 나타내는 ChangeStartTime, 이벤트 변경을 나타내는 Change, 이벤트 자체를 삭제하는 Remove, 이벤트를 중복 입력하는 Duplicate, 순서 바꿈을 나타내는 Exchange, 메시값의 일부 또는 전부를 변경하는 ChangeValue, 메시지 값의 일부 또는 전부를 삭제하는 RemoveField, 오류 코드를 변경하는 ChangeCRCCode, 메시지 크기를 변경하는 Append ZeroField를 포함하는 오류 연산자를 갖는 것을 특징으로 하는 오류 모의 함수를 이용한 자동화 기반 강건성 검증 방법.
KR1020160151976A 2016-11-15 2016-11-15 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법 KR101935105B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160151976A KR101935105B1 (ko) 2016-11-15 2016-11-15 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160151976A KR101935105B1 (ko) 2016-11-15 2016-11-15 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20180054255A KR20180054255A (ko) 2018-05-24
KR101935105B1 true KR101935105B1 (ko) 2019-01-03

Family

ID=62296741

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160151976A KR101935105B1 (ko) 2016-11-15 2016-11-15 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101935105B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102253549B1 (ko) * 2020-11-18 2021-05-18 국방과학연구소 오류 정형화를 이용한 발사통제기 자동 점검 방법 및 그 장치
KR20220130419A (ko) * 2021-03-18 2022-09-27 엘아이지넥스원 주식회사 근접 방어 무기 체계의 통합 시험을 위한 시험 일지 생성 시스템 및 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102122704B1 (ko) * 2018-12-26 2020-06-15 한국전력공사 이상 데이터 대응 능력 검사 장치 및 방법
KR102211849B1 (ko) * 2020-04-06 2021-02-03 국방과학연구소 발사통제시스템 검사방법
KR102344661B1 (ko) * 2020-12-29 2021-12-30 쿠팡 주식회사 예상 결과값을 토대로 정보를 제공하는 방법 및 이를 이용한 연산 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101042979B1 (ko) * 2009-10-23 2011-06-21 한국항공대학교산학협력단 임베디드 시스템의 신뢰성 평가를 위한 시뮬레이션 커널을 이용하는 오류주입시험 장치
KR101255744B1 (ko) * 2011-01-06 2013-04-17 나종화 통합 오류주입을 이용한 임베디드 시스템의 신뢰도를 측정하는 시스템 및 그 방법
KR101695015B1 (ko) * 2012-07-05 2017-01-11 한국전자통신연구원 오류 기반 소프트웨어 시험 방법 및 오류 기반 소프트웨어 시험 시스템
KR101410099B1 (ko) * 2012-12-05 2014-06-25 경북대학교 산학협력단 단위 테스트 케이스 재사용 기반의 함수 테스트 장치 및 그 함수 테스트 방법
KR101554424B1 (ko) * 2014-05-02 2015-09-30 (주)씽크포비엘 테스트 케이스 생성 자동화 방법 및 장치
KR101588027B1 (ko) * 2014-10-10 2016-01-25 (주)씽크포비엘 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
L.Shan and H.Zhu, "Generating Structurally Complex Test Cases By Data Mutation: A Case Study Of Testing An Automated Modelling Tool," The Computer Journal, vol.52 No.5, Pages 572-588, 2009*

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102253549B1 (ko) * 2020-11-18 2021-05-18 국방과학연구소 오류 정형화를 이용한 발사통제기 자동 점검 방법 및 그 장치
KR20220130419A (ko) * 2021-03-18 2022-09-27 엘아이지넥스원 주식회사 근접 방어 무기 체계의 통합 시험을 위한 시험 일지 생성 시스템 및 방법
KR102451963B1 (ko) 2021-03-18 2022-10-07 엘아이지넥스원 주식회사 근접 방어 무기 체계의 통합 시험을 위한 시험 일지 생성 시스템 및 방법

Also Published As

Publication number Publication date
KR20180054255A (ko) 2018-05-24

Similar Documents

Publication Publication Date Title
KR101935105B1 (ko) 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법
CN109937418B (zh) 用于仿真的基于波形的重构
US10592703B1 (en) Method and system for processing verification tests for testing a design under test
CN115271736B (zh) 验证事务一致性的方法、装置、设备及存储介质
CN111309581A (zh) 一种数据库升级场景下的应用性能检测方法及装置
CN116362198A (zh) 一种提高芯片验证效率的方法、系统、存储介质及计算设备
CN113079061B (zh) 一种物联网性能测试方法及系统
Kuroiwa et al. Testing environment for CPS by cooperating model checking with execution testing
US10606732B2 (en) Hybrid genetic concolic co-verification of hardware and software
CN114647572A (zh) 用于软件应用组件测试的方法和系统
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
CN116909800A (zh) 崩溃信息的定位方法、崩溃信息的定位装置及存储介质
CN109144806B (zh) 一种寄存器传输级电路的功能验证方法及装置
KR101335657B1 (ko) 실시간 시뮬레이터와 시스템 스위칭을 이용한 대규모 dcs 검증 장치 및 그 검증방법
CN106919748B (zh) 提高fpga原型验证效率的装置及方法
El Mandouh et al. Accelerating the debugging of fv traces using k-means clustering techniques
CN112612702B (zh) 一种基于web的自动测试方法及装置
CN115034165A (zh) 一种芯片仿真验证方法、系统、设备以及存储介质
CA3144852A1 (en) Automatic generation of integrated test procedures using system test procedures
Marsit et al. Estimating the Survival Rate of Mutants.
Allen et al. A model-based approach to the security testing of network protocol implementations
CN112433947A (zh) 一种基于网络数据的混沌工程方法及系统
RU196794U1 (ru) Система моделирования сетевой и потоковой компьютерных разведок
CN115589407B (zh) 一种基于plm-dnc集成系统的文件传输验证方法
CN117313649B (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