KR20210023722A - 요구 사항에 대한 시스템의 테스트 방법 - Google Patents

요구 사항에 대한 시스템의 테스트 방법 Download PDF

Info

Publication number
KR20210023722A
KR20210023722A KR1020200103036A KR20200103036A KR20210023722A KR 20210023722 A KR20210023722 A KR 20210023722A KR 1020200103036 A KR1020200103036 A KR 1020200103036A KR 20200103036 A KR20200103036 A KR 20200103036A KR 20210023722 A KR20210023722 A KR 20210023722A
Authority
KR
South Korea
Prior art keywords
requirements
test
requirement
simulation
determined
Prior art date
Application number
KR1020200103036A
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 로베르트 보쉬 게엠베하
Publication of KR20210023722A publication Critical patent/KR20210023722A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31718Logistic aspects, e.g. binning, selection, sorting of devices under test, tester/handler interaction networks, Test management software, e.g. software for test statistics or test evaluation, yield 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/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/048Monitoring; Safety
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • 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
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32039Send also testing program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 하나 이상의 요구 사항에 대한 시스템의 테스트를 위한, 컴퓨터로 구현되는 방법에 관한 것이며, 상기 방법은,
- 요구 사항이, 기계 판독 가능한 형태로 수신되는 단계,
- 수신된 요구 사항에 대한 시스템의 테스트를 위해, 하나 이상의 제1 입력 변수가 결정되는 단계,
- 시스템의 실행이 상기 결정된 제1 입력 변수에 따라 시뮬레이션되는 단계,
- 시뮬레이션된 시스템의 출력 변수가 결정되고, 상기 출력 변수에 따라, 시스템이 요구 사항을 충족시키는지 여부가 결정되는 단계,
- 시뮬레이션이 품질 요구 사항을 충족시키는지 여부가 검사되는 단계,
- 시뮬레이션이 품질 요구 사항을 충족시키고, 시스템이 요구 사항을 충족시키는 경우, 요구 사항에 대해 충분한 테스트 커버리지가 달성되는지 여부가 검사되는 단계,
- 요구 사항에 대한 충분한 테스트 커버리지가 달성되었다면, 요구 사항에 대한 테스트가 종료되는 단계를 포함한다.

Description

요구 사항에 대한 시스템의 테스트 방법{METHOD FOR TESTING A SYSTEM TO A REQUEST}
본 발명은 요구 사항에 대한 시스템의 테스트를 위한, 컴퓨터로 구현되는 방법과; 이를 위해 구성된 컴퓨터 프로그램과; 이를 위해 구성된 테스트 시스템;에 관한 것이다.
제품들의 타당성 검사 주기는 개발의 중요 구성 요소이다. 이 경우, 요구되는 품질 요구 사항들이 실제 작동에서 달성되는지가 검사된다. 안전성 위험 요소들을 사전에 방지하기 위해, 가능한 한 많은 시나리오들을 미리 테스트하는 것이 중요하다. 그러나 이러한 테스트들은 많은 시간 소모 및 리소스 소모와 연관된다. 기술 시스템들의 복잡성이 꾸준히 증가하고 제품 주기가 더욱 짧아지고 있으며, 제품들의 신규 기능들 및 보완 사항들이 소프트웨어로도 공급될 수 있기 때문에, 필요한 테스트들의 수가 급격히 증가할 것으로 예상 가능하다. 계획된 적용 환경에서의 실제 시스템에 대한 복잡한 타당성 검사를 줄이기 위해, 소프트웨어 내의 신뢰 가능한 시뮬레이션을 사용하여 타당성 검사 주기가 보조될 수 있다. 이로 인해, 비용 뿐만 아니라 필요한 테스트 시간도 감소될 수 있으며, 이에 따라 제품 출시 기간(Time to Market)이 확실히 감소될 수 있다. 또한, 특히 제품들에 대한 안전성 요구 사항들도, 컴퓨터로 구현되는 테스트 방법들로 더욱 신뢰 가능하고 더욱 효율적으로 검사될 수 있다.
DE 20 2018 106888호에는 시스템의 시뮬레이션 테스트를 위한 테스트 커버리지가 특정 요구 사항들과 관련하여 연산되도록 하고, 테스트 커버리지에 따라 테스트가 지속되거나 종료되도록 하는 방법이 개시되어 있다.
DE 10 2019 209538호로부터는, 시스템을 테스트하기 위한 테스트의 선택 방법이 공지되어 있다.
DE 10 2019 209539호는 품질 속성을 특징으로 하는, 시뮬레이션에 대한 요구 사항들을 설명하기 위한 방법이 설명된다.
하나 이상의 요구 사항에 대한 시스템의 테스트를 위한, 컴퓨터로 구현되는 방법이 제시된다.
이 경우, 시스템은 특히 컴퓨터 프로그램, 하드웨어 또는 임베디드 시스템을 포함한다. 특히 바람직하게, 상기 방법은, 테스트된 시스템이 적어도 부분 자율형인 차량 또는 적어도 부분 자율형인 로봇의 서브 시스템이거나, 테스트된 시스템이 적어도 부분 자율형인 차량 또는 적어도 부분 자율형인 로봇인 경우에 사용될 수 있다.
이 경우, 요구 사항은 특히 기능적 요구 사항 또는 성능 관련 요구 사항 또는 (실제의) 시스템 실행 시에 시스템의 기능적 안전성에 대한 요구 사항을 포함한다.
제시된 방법에서, 요구 사항은 기계 판독 가능한 형태로 수신된다. 수신된 요구 사항에 대한 시스템의 테스트를 위해, 하나 이상의 제1 입력 변수가 결정되고, 시스템의 실행이 이러한 결정된 제1 입력 변수에 따라 시뮬레이션된다.
또한, 시뮬레이션된 시스템의 출력 변수가 결정되고, 이러한 출력 변수에 따라, 시스템이 요구 사항을 충족시키는지 여부가 결정된다.
또한, 시뮬레이션이 품질 요구 사항을 충족시키는지 여부가 검사된다. 이 경우, 검사는 특히, 시뮬레이션이 허용 매개변수 범위를 벗어나거나, 사전 결정된 한계 조건들을 위반하는지, 또는 시뮬레이션에 필요한 모델들 또는 서브 모델들이 가용한지에 대한 검사를 포함한다.
시뮬레이션이 품질 요구 사항을 충족시키고, 시스템이 요구 사항을 충족시키는 경우, 제시된 방법에서는 요구 사항에 대해 충분한 테스트 커버리지가 달성되는지 여부가 검사된다. 요구 사항에 대한 충분한 테스트 커버리지가 달성되었다면, 요구 사항에 대한 테스트는 종료된다.
따라서, 시스템들의 시뮬레이션 테스트들을 위한, 특히 신뢰 가능하고 효율적인 자동화된 테스트 방법이 제공된다. 사용된 시뮬레이션들의 품질 요구 사항들에 대해 자동화되어 실행되는 영구적 검사를 통해, 그리고 테스트 커버리지의 업데이트를 위해 상기 검사를 상응하게 고려함으로써, 테스트 종료는 허용된 시뮬레이션들에 따라서만 신뢰성 있게 결정될 수 있다. 테스트 방법의 유효성은 지속적으로 검사된다. 자동 테스트 생성, 테스트 시스템의 품질 평가, 및 테스트 종료 조건의 결정이 서로 연결되므로, 자동화된 테스트 진행 과정이 가상 플랫폼에서 효율적으로 구현될 수 있다.
바람직한 일 실시예에서, 상기 방법은, 모든 가용한 요구 사항들이 처리될 때까지 바로 다음 요구 사항에 대해 재개된다. 이와 같이, 테스트 방법의 자동화는 요구 사항 또는 요구 사항 세트를 통해서도 가능하며, 이는 테스트 방법의 효율을 추가로 향상시킨다.
테스트 커버리지가 달성되지 않은 경우, 바람직하게는 하나 이상의 추가 입력 변수가 요구 사항에 따라 결정되고, 시스템은 이러한 하나 이상의 추가 입력 변수에 대해 시뮬레이션된다. 특히, 요구 사항에 따라 결정된 추가 입력 변수들에 대한 추가 시뮬레이션들이 실행될 수 있으며, 요구 사항에 대한 테스트 커버리지가 달성될 때까지, 상응하는 추가 출력 변수들이 테스트 시스템을 통해 검사된다. 따라서, 테스트 종료가 자동으로 확인될 때까지, 상기 방법은 자동으로 지속된다. 바람직하게, 시뮬레이션이 품질 요구 사항을 충족시키지 않는 경우, 상기 시뮬레이션은 테스트 커버리지의 연산을 위해 고려되지 않는다.
바람직한 일 실시예에서, 추가 입력 변수는, 시스템이 제1 입력 변수에 대해 요구 사항을 얼마나 양호하게 충족시키는지를 설명하는 견고성 값에 따라 결정된다. 특히, 견고성 값은 시뮬레이션된 시스템의 출력 변수에 따라 결정된다. 따라서, 예를 들어 탐색 기반 테스트(Search-Based Testing)와 같은 최적화 방법으로, 테스트 케이스 생성이 특히 효율적으로 구현될 수 있다.
바람직한 추가의 일 실시예에서, 제1 입력 변수에 대한 시뮬레이션에서 요구 사항이 위반될 때, 에러가 확인되고, 에러는 저장 및/또는 출력된다. 이 경우, 에러 저장 및/또는 에러 출력은 특히, 위반된 요구 사항 및 제1 입력 변수에 대한 정보를 포함할 수 있다. 바람직하게, 에러 출력 또는 에러 저장은 요구 사항 위반 정도에 대한 정보를 포함한다. 특히 바람직한 일 변형예에서는, 확인된 에러에 따라 시스템의 자동 보정이 실행된다. 따라서, 테스트를 기반으로 하여, 테스트된 시스템의 무결성 및 안전성이 보장되거나 자동화되어 곧 형성될 수 있다.
하기에는 본 발명의 실시예들이 첨부 도면을 참조로 더 상세히 설명된다. 도 1은 예시적인 테스트 시스템의 개략적인 도면이다.
복잡한 시스템, 예를 들어 전자 시스템, 임베디드 시스템, 유압 시스템 또는 메카트로닉 시스템에 있어서, 시스템의 실행 시에 시스템 요구 사항들에 대한 완전한 검사는 종종 구현하기 힘들지만, 시스템 안전성 요구 사항으로 인해, 충분한 테스트 커버리지가 요구될 수 있다. 차량들 또는 로봇들과 같은 부분 자율형 시스템들을 위해서는, 안전성 요구 사항들에 대한 신뢰 가능하고 효율적인 테스트들이 특히 중요하다. 시스템의 실제 실행 시의 인간에 의한 보정 가능성의 감소와, 시스템 에러들의 강력한 영향들로 인해, 특히 높은 안전성 요구 사항들이 적용된다. 이와 동시에, 이러한 유형의 시스템들은 매우 유연하고 복잡하며, 시스템들에 가능한 시나리오들 및 환경 조건들은 한눈에 알기가 거의 불가능하다. 이러한 시스템들에 대해서도, 이미 개발 단계에서 사용자 및 환경을 위한 안전성이 보장되어야 한다.
도 1에는 시스템의 테스트를 위한 예시적인 테스트 시스템 또는 예시적인 테스트 환경이 개략적으로 도시되어 있다. 요구 사항 관리부(11)로부터는, 기계 판독 가능한 요구 사항들이 제공될 수 있으며, 시험될 시스템은 이러한 기계 판독 가능한 요구 사항들에 대해 시험되어야 한다. 블록 "12"에서는 수신된 요구 사항들이 평가 및 형식화될 수 있고, 테스트 케이스 또는 상응하는 입력 변수들에 대해 결정되거나 생성될 수 있다. 블록 "13"에서는 결정 또는 생성된 입력 변수들에 대한 시스템의 시뮬레이션이 실행된다. 블록 "14"에서는 시뮬레이션의 출력 변수에 따라 품질 요구 사항이 검사될 수 있다. 블록 "15"에서는 실제 테스트에 대해 이로 인해 테스트된 요구 사항과 관련하여 테스트 커버리지가 결정될 수 있다. 블록 "12"에서는 테스트 커버리지에 따라, 요구 사항을 위한 테스트의 지속 또는 종료가 결정될 수 있다. 또한, 블록 "12"에서는, 시스템을 통해 요구 사항이 얼마나 양호하게 충족되었는지를 설명하는 견고성 크기가 결정되거나 고려될 수 있다. 요구 사항과, 필요한 경우에는 견고성 크기에 따라서, 블록 "12"에서는 계속 진행되는 테스트에서 추가의 시뮬레이션들을 위한 추가의 입력 변수들이 생성될 수 있다.
상응하는 테스트 방법이, 특히 부분 자율형 차량의 테스트의 예시에서 설명되며, 이러한 부분 자율형 차량은 차량 운동 제어의 범주에서 자율 비상 제동을 야기한다.
시스템에 대한 시뮬레이션 테스트의 범주에서의 검사의 경우, 고려되는 시스템에 대해, 특히 시스템에 대한 특정 요구 사항에 대해 특별한 관련성을 갖는 출력 변수들에 중점을 둔다. 전형적으로, 더 복잡한 시스템들은 복수의 관련 출력 변수들을 갖는다.
비상 제동 기능의 예시에서, 이는 예를 들어 차량의 요 레이트, 종방향 속도 또는 종방향 가속도일 수 있다.
테스트의 기반은, 예를 들어 법적 요구 사항들, 시스템 사양으로부터의 요구 사항, 또는 시스템의 기능 안전성에 대한 요구 사항들을 기계 판독 가능한 방식으로 제공하는 요구 사항 관리부 또는 요구 사항 모듈(11)로부터의 요구 사항들이다.
이후, 요구 사항들은 단계 "112"에서 블록 또는 모듈 "12"로 전송된다. 그곳에서는, 자동화된 정량적 테스트 생성을 보조하기 위해, 수신된 요구 사항들의 평가 및 형식화가 실행될 수 있다. 형식화는 예를 들어 기계 판독 가능한 텍스트 요구 사항들을, 특히 시변 요구 사항들에 대한 방정식들, 공식들 또는 함수들로 변환하는 것을 포함할 수 있다. 바람직하게, 요구 사항은 요구 사항 충족의 정량적 평가 및 필요한 경우에는 충족도의 정량적 평가도 가능해지도록 형식화된다. 이 경우, 요구 사항들은 시스템 또는 시스템 실행에 대한 한계 조건들도 포함할 수 있다. 여러 가지 요구 사항들이 추가의 단계들을 위해 조합될 수도 있다.
비상 제동 기능의 예시의 경우, 예를 들어 종방향 감속 시에 최대 감속을 초과해서는 안된다는 요구 사항이 수신될 수 있다. 한계 조건으로서는, 테스트가 마찰 계수들에 대한 특정 입력 변수 범위 또는 매개변수 범위를 위해, 그리고 도로 경사도에 대한 특정 입력 변수 범위 또는 매개변수 범위를 위해 충족되어야 한다는, 테스트에 대한 요구 사항도 추가로 포함될 수 있다. 이후, 이러한 요구 사항들은 평가 및 형식화되고, 필요한 경우에는 조합되어 하나의 요구 사항을 형성할 수 있다.
후속적으로, 블록 "12"에서는, 요구 사항을 통해 사전 결정된 규정된 매개변수 공간 내에서 자동화된 테스트 케이스 생성이 실행된다. 테스트 케이스 생성을 위해서, 바람직하게는 탐색 기반 테스트와 같은 최적화 방법들이 사용될 수 있다. 이 경우, 요구 사항이 위반될 확률이 증가할 것으로 예상되는 시뮬레이션 모델들에 대한 입력 변수들 또는 파라미터들이 특히 의도한 대로 결정되거나 생성된다. 검색 기반 테스트와 같은 최적화 방법들의 사용을 통해, 테스트 케이스 생성의 품질과 테스트 방법의 효율은 전체적으로 확실히 증가될 수 있다.
블록 "13"은, 단계 "123"에서 생성된 입력 변수들 또는 시뮬레이션 매개변수들을 수신하고, 이들에 따라 테스트할 시스템을 시뮬레이션한다. 이 경우, 시뮬레이션에서 시스템은, 특히 경로 모델을 포함하는 시스템 모델에 기초하여 실행된다. 시뮬레이션에 의해, 테스트된 시스템은 형식화된 요구 사항에 대하여 검사된다.
블록 "12"에서는, 단계 "132"에서 블록 "13"으로부터 수신된 시뮬레이션의 출력 변수에 의해서, 요구 사항이 충족되는지 여부가 결정될 수 있다. 추가로, 출력 변수에 의해서는, 시스템이 요구 사항을 얼마나 양호하게 또는 불량하게 충족하는지 또는 충족하지 않는지의 크기도 결정될 수 있다(견고성 크기). 출력 변수(132)와, 필요한 경우에는 견고성 크기에 따라서, 블록 "12"에서는 추가 시뮬레이션을 위한 신규 입력 변수들이 생성 또는 결정될 수 있다.
테스트 케이스 생성 시에는, 테스트 시스템이나 테스트 환경 또는 시뮬레이션이 비유효 범위에서 작동하는 테스트도 생성될 수 있다. 예를 들어, 사용된 모델은 필요한 다이내믹을 재현할 수 없다. 상기 품질 요구 사항들에 대한 시뮬레이션의 상응하는 검사 및 품질 요구 사항이 충족되는지 여부에 대한 또는 어떻게 품질 요구 사항이 충족되는지에 대한 상응하는 평가가 블록 "14"에서, 블록 "14"가 단계 "134"에서 블록 "13"으로부터 수신하는 출력 변수에 의해 실행될 수 있다. 이를 위해, 블록 "14"에서는, 시뮬레이션 환경 또는 사용된 시뮬레이션 모델의 정량적 품질 평가를 위한 알고리즘들이 저장된다. 객관화된 정량적 품질 요구 사항들에 의한 상응하는 평가를 통해, 상응하는 테스트의 탄력성은 확실히 증가한다. 따라서, 테스트들은 예를 들어 개발중인 시스템의 개선, 추가 개발 및 제품 출시에 대한 결정 근거로서도 더욱 신뢰성 있고 유의미하다.
이제, 블록 "14"는 단계 "154"에서, 시뮬레이션에 대한 품질 요구 사항이 이를 통해 충족되는지 여부 및 필요한 경우에는 어떻게 충족되는지를 의미하는 변수를 출력할 수 있다.
블록 "15"에서는, 테스트 방법을 위해, 특정 요구 사항 또는 일 세트의 요구 사항들과 관련한 테스트 커버리지의 크기가 결정될 수 있다. 이러한 테스트 커버리지 크기는 바람직하게는, 특히 아직 테스트되지 않은 입력 변수 또는 파라미터 공간에 대한 요구 사항을 시스템이 위반할 확률이 어느 정도인지에 따라 결정된다.
상기 결정은, 테스트된 입력 변수에 대해, 시뮬레이션 내의 테스트된 시스템이 테스트된 요구 사항을 충족시키는지 여부 및 필요한 경우에는 어떻게 충족시키는 지에 대한, 단계 "125"에서 블록 "12"로부터 얻어진 정보에 따라 실행된다. 이 경우, 결정된 테스트 커버리지 크기를 위한 시뮬레이션의 고려는, 바람직하게는 시뮬레이션에 대한 품질 요구 사항이 이를 통해 충족되는지 여부 및 필요한 경우에는 어떻게 충족되는지를 포함하는, 단계 "154"에서 블록 "14"로부터 얻어진 변수에 따라 실행될 수 있다.
테스트 커버리지 크기가, 특히 에러에 대한 사전 결정된 잔여 확률 또는 사전 결정된 테스트 커버리지와의 비교를 통한 충분한 커버리지를 제공한다면, 실제 테스트된 요구 사항 또는 실제 테스트된 요구 사항들 세트를 위한 테스트는 종료될 수 있다. 그렇지 않으면, 블록 "12"로부터의 추가 입력 변수들 또는 시뮬레이션 매개변수들로 인해, 시스템에 대한 추가 테스트들이 요구 사항을 위해 실행될 수 있다. 테스트들의 종료 또는 지속에 대한 상응하는 정보는 단계 "152"에서 블록 "15"로부터 블록 "12"로 전송될 수 있다.
즉, 블록 "15"는 특히 테스트 플랫폼이 유효 범위 내에서 작동하였는지에 대한 정보 및 테스트 결과를 수신하고, 그로부터 요구 사항이 이미 충분하였는지를 결정한다. 예를 들어, 하기의 입력 조건들 및 결과들이 발생할 수 있다.
1) 시스템을 통해 요구 사항이 충족되고, 테스트 환경에 대한 품질 요구 사항이 충족됨. 테스트 결과는 테스트 커버리지를 위해 고려됨.
2) 시스템을 통해 요구 사항이 충족되지만, 테스트 환경에 대한 품질 요구 사항이 충족되지 않음. 테스트 결과는 테스트 커버리지를 위해 고려되지 않음.
3) 시스템을 통해 요구 사항이 충족되지 않고, 테스트 환경에 대한 품질 요구 사항이 충족됨. 테스트 결과는 테스트 커버리지를 위해 고려됨.
4) 시스템을 통해 요구 사항이 충족되지 않고, 테스트 환경에 대한 품질 요구 사항이 충족되지 않음. 테스트 결과는 테스트 커버리지를 위해 고려되지 않음.
비상 제동 기능의 예시에서는, 예를 들어 남아 있는 1% 미만의 입력 변수 공간 또는 매개변수 공간 내 에러 발생에 대한 잔여 확률에 상응하게, 99% 초과의 테스트 커버리지가 필요하다.
제1 테스트 케이스의 경우, 입력 변수로서 제1 마찰값 및 제1 경사값이 이를 위해 각각 허용된 매개변수 범위들 이내에서 생성되고, 시스템은 이들에 대해 시뮬레이션한다. 예를 들어, 시뮬레이션은 종방향 속도에서의 특정 매개변수 범위에 대한 시스템의 실행을 수행할 수 있다. 시뮬레이션의 출력 변수로서는, 예를 들어 이 경우 시뮬레이션에서 발생하는 차량의 종방향 감속이 모니터링되고 평가된다. 이것이, 테스트된 요구 사항을 충족시키고, 즉 허용된 최대 감속 미만이고, 시뮬레이션이 이를 향한 품질 요구 사항을 충족시키는 경우, 테스트 커버리지는 증가한다. 검사 결과, 요구되는 테스트 커버리지가 아직 달성되지 않았다면, 신규 테스트가 시작되거나 신규 테스트 케이스가 생성된다.
이러한 제2 테스트 케이스의 경우, 마찰값 및 도로 경사도에 대한 아직 테스트되지 않은 한 쌍의 입력 변수들이, 재차 이를 위해 각각 허용된 매개변수 범위들 이내에서 결정된다. 이러한 입력 변수들에 대하여, 시스템은 재차 시뮬레이션된다. 예를 들어, 시뮬레이션은 종방향 속도에서의 특정 매개변수 범위에 대한 시스템의 실행을 재차 수행할 수도 있다. 시뮬레이션의 출력 변수로서는, 예를 들어 이 경우 시뮬레이션에서 발생하는 차량의 종방향 감속이 재차 모니터링되고 평가될 수 있다. 이것이, 테스트된 요구 사항은 충족시키지만, 즉 허용된 최대 감속 미만이지만, 시뮬레이션이 이를 향한 품질 요구 사항을 충족시키지 않는 경우, 상기 시뮬레이션은 테스트 커버리지를 위해 고려되지 않는다. 예를 들어, ABS 개입을 통한 감속의 조절이 실행될 수 있지만, 시뮬레이션 또는 시뮬레이션을 위해 사용된 모델은 자신의 주어진 한계 조건들 하의 상기 ABS 개입을 위해 그리고 테스트된 입력 변수들을 위해 충분한 타이어 모델을 포함하지 않는다. 따라서, 시뮬레이션을 통해 테스트 커버리지가 증가하지 않았으므로, 신규 테스트가 시작되거나 신규 테스트 케이스가 생성된다.
이러한 제3 테스트 케이스의 경우, 마찰값 및 도로 경사도에 대한 아직 테스트되지 않은 한 쌍의 입력 변수들이, 재차 이를 위해 각각 허용된 매개변수 범위들 이내에서 결정된다. 이러한 입력 변수들에 대하여, 시스템은 재차 시뮬레이션된다. 예를 들어, 시뮬레이션은 종방향 속도에서의 특정 매개변수 범위에 대한 시스템의 실행을 재차 수행할 수도 있다. 시뮬레이션의 출력 변수로서는, 예를 들어 이 경우 시뮬레이션에서 발생하는 차량의 종방향 감속이 재차 모니터링되고 평가될 수 있다. 이것이, 테스트된 요구 사항을 충족시키지 않고, 즉 허용된 최대 감속을 초과하는 경우, 상응하는 에러가 저장되거나 출력될 수 있고, 자동 에러 제거가 실행될 수 있으며, 발생한 에러에 따라 테스트가 중지될 수도 있다. 발생한 에러에 의한 중지의 대안으로서, 시뮬레이션이 이를 향한 품질 요구 사항을 충족시키는 경우, 테스트 커버리지의 업데이트를 위해 시뮬레이션이 사용될 수 있다. 검사 결과, 요구되는 테스트 커버리지가 아직 달성되지 않았다면, 신규 테스트가 시작되거나 신규 테스트 케이스가 생성된다.
이러한 제4 테스트 케이스의 경우, 마찰값 및 도로 경사도에 대한 아직 테스트되지 않은 한 쌍의 입력 변수들이, 재차 이를 위해 각각 허용된 매개변수 범위들 이내에서 결정된다. 이러한 입력 변수들에 대하여, 시스템은 재차 시뮬레이션된다. 예를 들어, 시뮬레이션은 종방향 속도에서의 특정 매개변수 범위에 대한 시스템의 실행을 재차 수행할 수도 있다. 시뮬레이션의 출력 변수로서는, 예를 들어 이 경우 시뮬레이션에서 발생하는 차량의 종방향 감속이 재차 모니터링되고 평가될 수 있다. 이것이, 테스트된 요구 사항을 충족시키고, 즉 허용된 최대 감속 미만이고, 시뮬레이션이 이를 향한 품질 요구 사항을 충족시키는 경우, 테스트 커버리지의 업데이트를 위해 시뮬레이션은 고려될 수 없다. 검사 결과, 99%의 요구되는 테스트 커버리지가 이제 달성되었다면, 이러한 테스트된 요구 사항에 대한 테스트가 종료된다.

Claims (19)

  1. 하나 이상의 요구 사항에 대한 시스템(13)의 테스트를 위한, 컴퓨터로 구현되는 방법이며, 상기 방법은,
    - 요구 사항(11)이, 기계 판독 가능한 형태로 수신되는 단계(112),
    - 수신된 요구 사항(11, 112)에 대한 시스템(13)의 테스트를 위해, 하나 이상의 제1 입력 변수가 결정되는 단계(12),
    - 시스템(13)의 실행이 상기 결정된 제1 입력 변수에 따라 시뮬레이션되는 단계,
    - 시뮬레이션된 시스템(13)의 출력 변수가 결정되고, 상기 출력 변수에 따라, 시스템(13)이 요구 사항을 충족시키는지 여부가 결정되는 단계,
    - 시뮬레이션이 품질 요구 사항을 충족시키는지(14) 여부가 검사되는 단계,
    - 시뮬레이션이 품질 요구 사항을 충족시키고(14), 시스템이 요구 사항을 충족시키는 경우(12), 요구 사항에 대해 충분한 테스트 커버리지가 달성되는지 여부가 검사되는 단계(15),
    - 요구 사항에 대한 충분한 테스트 커버리지가 달성되면(15), 요구 사항에 대한 테스트가 종료되는 단계를 포함하는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  2. 제1항에 있어서, 상기 방법은, 모든 가용한 요구 사항들이 처리될 때까지 바로 다음 요구 사항에 대해 재개되는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  3. 제1항 또는 제2항에 있어서, 테스트 커버리지가 달성되지 않은 경우(15), 하나 이상의 추가 입력 변수가 요구 사항에 따라 결정되고(12), 시스템(13)은 상기 하나 이상의 추가 입력 변수에 대해 시뮬레이션되는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  4. 제3항에 있어서, 추가 입력 변수는, 시스템(13)이 제1 입력 변수에 대해 요구 사항을 얼마나 양호하게 충족시키는지를 설명하는 견고성 값에 따라 결정되는(12) 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  5. 제4항에 있어서, 견고성 값은 시뮬레이션된 시스템(13)의 출력 변수(132)에 따라 결정되는(12) 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  6. 제3항 내지 제5항 중 어느 한 항에 있어서, 요구 사항에 따라 결정된 추가 입력 변수들에 대한 추가 시뮬레이션들이 실행되며, 요구 사항에 대한 테스트 커버리지가 달성될 때까지, 상응하는 추가 출력 변수들이 테스트 시스템을 통해 검사되는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 시뮬레이션이 품질 요구 사항을 충족시키지 않는 경우, 상기 시뮬레이션은 테스트 커버리지의 연산을 위해 고려되지 않는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  8. 제7항에 있어서, 품질 요구 사항은, 시뮬레이션이 허용 매개변수 범위를 벗어나거나, 사전 결정된 한계 조건들을 위반하는지, 또는 시뮬레이션에 필요한 모델들 또는 서브 모델들이 가용한지에 대한 검사를 포함하는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 테스트된 시스템(13)은 컴퓨터 프로그램, 하드웨어 또는 임베디드 시스템을 포함하는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 테스트된 시스템(13)이 적어도 부분 자율형인 차량 또는 적어도 부분 자율형인 로봇의 서브 시스템이거나, 테스트된 시스템(13)이 적어도 부분 자율형인 차량 또는 적어도 부분 자율형인 로봇인 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 요구 사항은 시스템의 기능적 안전성에 대한 요구 사항을 포함하는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 제1 입력 변수에 대한 시뮬레이션에서 요구 사항이 위반될 때, 에러가 확인되고, 에러는 저장 및/또는 출력되는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  13. 제12항에 있어서, 에러 저장 및/또는 에러 출력은 특히, 위반된 요구 사항 및 제1 입력 변수에 대한 정보를 포함하는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  14. 제13항에 있어서, 에러 출력 또는 에러 저장은 요구 사항 위반 정도에 대한 정보를 포함하는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서, 확인된 에러에 따라 시스템의 자동 보정이 실행되는 것을 특징으로 하는, 요구 사항에 대한 시스템의 테스트 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 따른 방법을 실행하도록 구성된 컴퓨터 프로그램.
  17. 제16항에 따른 컴퓨터 프로그램이 저장되는 기계 판독 가능한 메모리.
  18. 제1항 내지 제15항 중 어느 한 항에 따른 방법을 실행하도록 구성된 테스트 시스템.
  19. 제18항에 있어서, 제17항에 따른 메모리 및 제16항에 따른 컴퓨터 프로그램을 처리하기 위한 프로세서를 구비한, 테스트 시스템.
KR1020200103036A 2019-08-21 2020-08-18 요구 사항에 대한 시스템의 테스트 방법 KR20210023722A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019212458.5 2019-08-21
DE102019212458.5A DE102019212458A1 (de) 2019-08-21 2019-08-21 Verfahren zum Testen eines Systems auf eine Anforderung

Publications (1)

Publication Number Publication Date
KR20210023722A true KR20210023722A (ko) 2021-03-04

Family

ID=71465055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200103036A KR20210023722A (ko) 2019-08-21 2020-08-18 요구 사항에 대한 시스템의 테스트 방법

Country Status (5)

Country Link
US (1) US11280828B2 (ko)
EP (1) EP3783493A1 (ko)
KR (1) KR20210023722A (ko)
CN (1) CN112416748A (ko)
DE (1) DE102019212458A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021109133A1 (de) 2021-04-13 2022-10-13 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Erstellen von Testfällen für ein Testsystem

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202018106888U1 (de) 2018-12-04 2018-12-20 Robert Bosch Gmbh Testvorrichtung

Also Published As

Publication number Publication date
US11280828B2 (en) 2022-03-22
US20210055346A1 (en) 2021-02-25
DE102019212458A1 (de) 2021-02-25
EP3783493A1 (de) 2021-02-24
CN112416748A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
US8683442B2 (en) Software test case generation from a partial design model
US9606902B2 (en) Malfunction influence evaluation system and evaluation method using a propagation flag
US20050223295A1 (en) Method for the creation of sequences for testing software
Rana et al. Increasing efficiency of iso 26262 verification and validation by combining fault injection and mutation testing with model based development
Jeong et al. Software-in-the-loop simulation for early-stage testing of autosar software component
US20200409823A1 (en) Method and apparatus for optimal distribution of test cases among different testing platforms
KR102122795B1 (ko) 자율주행차 알고리즘 테스트 방법
Bressan et al. A systematic process for applying the chess methodology in the creation of certifiable evidence
US8751094B2 (en) Method for validation of a graphically based executable control specification using model extraction
KR20210023722A (ko) 요구 사항에 대한 시스템의 테스트 방법
Rinaldo et al. A hybrid model for safety and security assessment of autonomous vehicles
Jianyu et al. Model-based systemic hazard analysis approach for connected and autonomous vehicles and case study application in automatic emergency braking system
Fritzsch et al. Experiences from Large-Scale Model Checking: Verifying a Vehicle Control System with NuSMV
Mhenni et al. Towards the integration of safety analysis in a model-based system engineering approach with SysML
Rana et al. Early verification and validation according to iso 26262 by combining fault injection and mutation testing
Zander-Nowicka et al. Automotive validation functions for on-line test evaluation of hybrid real-time systems
Gallina et al. Multiconcern, dependability-centered assurance via a qualitative and quantitative coanalysis
CN115270902A (zh) 用于测试产品的方法
EP4050489A1 (en) Automatic generation of integrated test procedures using system test procedures
Abraham Verification and validation spanning models to code
US10394688B2 (en) Method for detecting computer module testability problems
US11403077B2 (en) Method and system for preparing block diagrams for code generation
EP4191462A1 (en) Method and system for quantifying vehicle requirement
Wittel et al. Automatic Test Evaluation for Driving Scenarios Using Abstraction Level Constraints
US20210026999A1 (en) Method and device for validating a simulation of a technical system