KR20220121175A - 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생 - Google Patents

시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생 Download PDF

Info

Publication number
KR20220121175A
KR20220121175A KR1020220002472A KR20220002472A KR20220121175A KR 20220121175 A KR20220121175 A KR 20220121175A KR 1020220002472 A KR1020220002472 A KR 1020220002472A KR 20220002472 A KR20220002472 A KR 20220002472A KR 20220121175 A KR20220121175 A KR 20220121175A
Authority
KR
South Korea
Prior art keywords
test
test procedure
integration
integration test
procedure
Prior art date
Application number
KR1020220002472A
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 KR20220121175A publication Critical patent/KR20220121175A/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/3696Methods or tools to render software testable
    • 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/2273Test methods
    • 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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
    • 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/2268Logging of test results
    • 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/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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/368Test management for test version control, e.g. updating test cases to a new software version
    • 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/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법은 복수의 시스템 모델 중 각 시스템 모델에 대한 시스템 테스트 케이스를 발생시키는 단계를 포함한다. 방법은 또한 복수의 시스템 모델 중 상호작용하는 시스템 모델의 그룹을 포함하는 통합 테스트 하니스를 자동으로 발생시키는 단계를 포함한다. 상호작용하는 시스템 모델 중 하나 이상으로부터의 출력 신호는 하나 이상의 다른 상호작용하는 시스템 모델에 대한 입력 신호이다. 방법은 통합 테스트 하니스의 각 시스템 모델에 대한 통합 테스트 케이스를 자동으로 발생시키는 단계와 통합 테스트 절차를 이용하여 통합 테스트 케이스를 자동으로 실행하는 단계를 부가적으로 포함한다. 방법은 통합 테스트 케이스의 실행에 응답하여 통합 테스트 절차 커버리지 리포트를 발생시키는 단계를 더 포함한다.

Description

시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생{AUTOMATIC GENERATION OF INTEGRATED TEST PROCEDURES USING SYSTEM TEST PROCEDURES}
본 발명은 운송수단 또는 시스템의 모델 기반 개발에 관한 것으로, 특히 운송수단 또는 시스템의 모델 기반 개발 동안 시스템 테스트 절차(system test procedures)를 이용하는 통합 테스트 절차(integrated test procedures)의 자동 발생에 관한 것이다.
비행기 또는 다른 시스템과 같은 운송수단의 MBD(Model-Based Development) 동안 운송수단 또는 시스템의 여러 시스템은 별도의 모델 시스템으로서 모델링된다. 함께 통합된 모델 시스템은 완성된 운송수단 또는 시스템을 모델링한다. 시스템 테스트 절차는 루프 테스팅(loop testing)으로 소프트웨어 및 하드웨어에 대한 시스템 밸리데이션 및 검증(system validation and verification) 동안 수동으로 여러 번 실행된다. 이는 시간 소모적이고, 따라서 비용이 많이 드는 활동이다. 부가적으로, 다수 및 및 연결된 시스템의 통합 테스팅은 통합 문제의 늦은 발견 및 비용이 많이 드는 시스템 요구사항 변경을 유발하는 MBD 프로세스에서 나중에 야기된다.
예에 따르면, 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법은, 프로세서 회로에 의해, 복수의 시스템 모델 중 각 시스템 모델에 대한 시스템 테스트 케이스를 발생시키는 단계를 포함한다. 방법은 또한, 프로세서 회로에 의해, 복수의 시스템 모델 중 상호작용하는 시스템 모델의 그룹을 포함하는 통합 테스트 하니스를 자동으로 발생시키는 단계를 포함한다. 상호작용하는 시스템 모델 중 하나 이상으로부터의 출력 신호는 하나 이상의 다른 상호작용하는 시스템 모델에 대한 입력 신호이다. 방법은 또한, 프로세서 회로에 의해, 통합 테스트 하니스의 각 시스템 모델에 대한 시스템 테스트 케이스를 이용하여 통합 테스트 케이스를 자동으로 발생시키는 단계를 포함한다. 방법은 부가적으로, 프로세서 회로에 의해, 통합 테스트 절차를 이용하여 통합 테스트 케이스를 자동으로 실행하는 단계를 포함한다. 방법은, 프로세서 회로에 의해, 통합 테스트 케이스의 실행에 응답하여 통합 테스트 절차 커버리지 리포트를 발생시키는 단계를 더 포함한다.
다른 예에 따르면, 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 시스템은 프로세서 회로 및 프로세서 회로와 연관된 메모리를 포함한다. 메모리는 프로세서 회로에 의해 실행될 때 프로세서 회로가 일련의 기능을 수행하도록 하는 컴퓨터 판독가능 프로그램 명령을 포함한다. 일련의 기능은 복수의 시스템 모델 중 각 시스템 모델에 대한 시스템 테스트 케이스를 발생시키는 것을 포함한다. 일련의 기능은 또한 복수의 시스템 모델 중 상호작용하는 시스템 모델의 그룹을 포함하는 통합 테스트 하니스를 자동으로 발생시키는 것을 포함한다. 상호작용하는 시스템 모델 중 하나 이상으로부터의 출력 신호는 하나 이상의 다른 상호작용하는 시스템 모델에 대한 입력 신호이다. 일련의 기능은 또한 통합 테스트 하니스의 각 시스템 모델에 대한 시스템 테스트 케이스를 이용하여 통합 테스트 케이스를 자동으로 발생시키는 것을 포함한다. 일련의 기능은 또한 통합 테스트 절차를 이용하여 통합 테스트 케이스를 자동으로 실행하는 것을 포함한다. 일련의 기능은 또한 통합 테스트 케이스를 실행하는 것에 응답하여 통합 테스트 절차 커버리지 리포트를 발생시키는 것을 더 포함한다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능은 임계 입력의 그룹을 결정하기 위해 통합 테스트 케이스의 하나 이상의 입력과 하나 이상의 출력 사이의 상관관계를 분석하는 단계를 더 포함한다. 임계 입력의 그룹은 통합 테스트 케이스의 각 출력에 영향을 미치는데 필요로 되는 입력이다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능은, 통합 테스트 케이스의 입력과 출력 사이의 상관관계를 분석하는 단계는 임계 입력의 그룹을 결정하기 위해 클러스터링 알고리즘을 이용하여 입력 및 출력을 소팅하는 단계를 포함한다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능은 통합 테스트 케이스의 통합 테스트 절차를 자동으로 발생시키는 단계를 더 포함한다. 통합 테스트 절차는 임계 입력을 포함하는 시스템 테스트 케이스의 테스트 단계의 결합된 서브세트를 포함한다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능은 통합 테스트 케이스를 실행하기 위한 지속시간을 감소시키기 위해 통합 테스트 절차로부터 하나 이상의 불필요한 테스트 단계를 자동으로 제거하는 단계를 더 포함한다. 불필요한 테스트 단계는 여러 입력 값을 갖는 다른 테스트 단계와 동일한 출력 값을 제공하는 특정 입력 값을 갖는 특정 시스템 테스트 케이스의 소정의 테스트 단계이다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능은 하나 이상의 불필요한 테스트 단계가 제거된 통합 테스트 절차를 자동으로 발생시키는 단계를 더 포함한다. 최종적인 통합 테스트 절차는 통합 테스트 케이스의 예상 출력에 대한 임계 입력의 커버리지를 포함한다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능은 복수의 시스템 모델을 수신하는 단계를 더 포함한다. 각 시스템 모델은 시스템이 수행하도록 구성되는 소정의 기능 또는 기능의 그룹을 전자적으로 시뮬레이션하도록 구성된다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능에 있어서, 각 시스템 모델은 시스템이 수행하도록 구성되는 소정의 기능 또는 기능의 그룹을 정의하는 소정의 논리 회로를 포함한다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능에 있어서, 각 시스템 모델은 특정 시스템 모델과 연관된 소정의 논리 회로를 기초로 하나 이상의 입력에 응답하여 하나 이상의 예상 출력을 발생시키도록 구성된다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능은 복수의 시스템 모델 중 각 시스템 모델에 대한 시스템 테스트 하니스를 발생시키는 단계를 더 포함한다. 각 시스템 모델에 대한 시스템 테스트 케이스는 각 시스템 모델에 대한 시스템 테스트 하니스로부터 발생된다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능에 있어서, 각 시스템 모델에 대한 시스템 테스트 하니스로부터 각 시스템 모델에 대한 시스템 테스트 케이스를 발생시키는 단계는 특정 시스템 모델이 특정 시스템 모델에 대해 입력을 제공하는 다른 시스템 모델로부터 독립적으로 테스트되도록 특정 시스템 모델의 환경과 분리되는 특정 시스템 모델을 테스팅하는 단계를 포함한다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능은 각 시스템 모델에 대한 시스템 테스트 절차를 이용하여 시스템 테스트 케이스를 자동으로 실행하는 단계를 더 포함한다. 방법 및 일련의 기능은 각 시스템 모델에 대한 가능한 여러 입력 값의 모든 조합에 대한 각 시스템 모델의 하나 이상의 입력의 각각에 대한 입력 값에 응답하여 각 시스템 모델의 하나 이상의 출력의 각각에 대한 예상 출력 값을 발생시키는 단계를 부가적으로 포함한다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능에 있어서, 시스템 테스트 절차는 서브시스템 테스트 절차, 구성요소 테스트 절차, 또는 부품 테스트 절차 중 적어도 하나를 포함한다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능은 각 시스템 모델에 대한 시스템 테스트 케이스를 실행하는 것에 응답하여 다른 시스템 모델과 독립적인 각 시스템 모델에 대한 테이블 또는 데이터저장소를 자동으로 발생시키는 단계를 더 포함한다. 특정 시스템 모델에 대한 테이블 또는 데이터저장소는 특정 시스템 모델에 대해 가능한 여러 입력 값의 각 조합에 대한 하나 이상의 입력의 각각에 대한 입력 값과 각각 연관된 하나 이상의 출력의 각각에 대한 예상 출력 값을 포함한다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능은 통합 테스트 절차 커버리지 리포트의 분석을 수행하는 단계, 및 통합 테스트 절차 커버리지 리포트의 분석을 수행하는 단계에 응답하여 통합 시스템 분석 리포트를 발생시키는 단계를 더 포함한다.
앞의 예 중 한 예 및 어느 것에 따르면, 방법 및 일련의 기능에 있어서, 복수의 시스템 모델의 각각이 비행기 또는 다른 운송수단에 탑재된 시스템에 대응한다.
논의된 특징, 기능, 및 이점은 다양한 예에서 독립적으로 달성될 수 있거나 다음 설명 및 도면을 참조하여 그 더욱 상세내용을 알 수 있는 다른 예에서 결합될 수 있다.
도 1a 내지 도 1c는 본 발명의 예에 따른 시스템 테스트 절차(system test procedures)를 이용하는 통합 테스트 절차(integrated test procedures)의 자동 발생을 위한 방법의 예의 플로우차트이다.
도 2는 본 발명의 예에 따른 통합 테스트 하니스(integrated test harnesses) 및 통합 테스트 케이스(integrated test cases)를 자동으로 발생시키기 위한 방법의 예의 플로우차트이다.
도 3a는 본 발명의 예에 따른 시스템 A에 대한 시스템 테스트 하니스의 예이다.
도 3b는 본 발명의 예에 따른 시스템 A에 대한 시스템 테스트 케이스의 예이다.
도 4a는 본 발명의 예에 따른 시스템 B에 대한 시스템 테스트 하니스의 예이다.
도 4b는 본 발명의 예에 따른 시스템 B에 대한 시스템 테스트 케이스의 예이다.
도 5는 본 발명의 예에 따른 시스템 A 및 B에 대한 자동으로 발생된 통합 테스트 하니스의 예이다.
도 6은 본 발명의 예에 따른 통합 테스트 하니스의 다른 예이다.
도 7은 본 발명의 예에 따른 시스템 A 및 B에 대해 자동으로 발생된 통합 테스트 케이스의 예이다.
도 8은 임계 입력(critical inputs)을 결정하기 위해 도 7의 예에서 통합 테스트 케이스의 입력과 출력 간의 상관관계를 분석하는 예를 나타낸다.
도 9a는 도 7의 예에서 통합 테스트 케이스에 대한 통합 테스트 절차를 자동으로 발생시키는 예이다.
도 9b는 도 9a의 예에서 통합 테스트 절차로부터 각 시스템에 대한 불필요한 테스트 단계를 자동으로 제거하는 예이다.
도 10은 본 발명의 예에 따른 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 시스템의 예이다.
실시예에 대한 이하의 상세한 설명은 본 발명의 특정 실시예를 예시하는 첨부 도면을 참조한다. 여러 구조 및 동작을 갖춘 다른 실시예는 본 발명의 범위를 벗어나지 않는다. 유사한 참조 부호는 여러 도면에서 동일한 엘리먼트 또는 구성요소를 지칭할 수 있다.
본 발명은 시스템, 방법, 및/또는 컴퓨터 프로그램 제품일 수 있다. 컴퓨터 프로그램 제품은 프로세서가 본 발명의 측면을 수행하도록 하기 위한 컴퓨터 판독가능 프로그램 명령을 갖춘 컴퓨터 판독가능 저장 매체(또는 매체들)를 포함할 수 있다.
컴퓨터 판독가능 저장 매체는 명령 실행 장치(instruction execution device)에 의해 이용하기 위한 명령을 보유하고 저장할 수 있는 유형의 장치(tangible device)일 수 있다. 컴퓨터 판독가능 저장 매체는, 예컨대 이에 한정되는 것은 아니지만, 전자 저장 장치, 자기 저장 장치, 광학 저장 장치, 전자기 저장 장치, 반도체 저장 장치, 또는 이들의 소정의 적절한 조합일 수 있다. 컴퓨터 판독가능 저장 매체의 보다 구체적인 예의 비포괄적인 리스트는 다음을 포함한다: 휴대용 컴퓨터 디스켓, 하드 디스크, RAM, ROM, EPROM 또는 플래시 메모리, SRAM, CD-ROM, DVD, 메모리 스틱, 플로피 디스크, 기록된 명령을 갖춘 홈의 융기 구조체 또는 펀치 카드와 같은 기계적으로 인코딩된 장치, 및 상기한 것의 소정의 적절한 조합. 여기서 이용된 것과 같은, 컴퓨터 판독가능 저장 매체는, 무선파 또는 다른 자유롭게 전파되는 전자기파, 도파관 또는 다른 전송 매체를 통해 전파되는 전자기파(예컨대, 광섬유 케이블을 통해 지나가는 광 펄스), 또는 전선을 통해 전송되는 전기 신호와 같은, 일시적인 신호 그 자체로 해석되어서는 안된다.
여기서 설명된 컴퓨터 판독가능 프로그램 명령은 컴퓨터 판독가능 저장 매체로부터 각각의 컴퓨팅/처리 장치로 다운로드될 수 있거나, 또는 네트워크, 예컨대, 인터넷, 근거리 통신망, 광역 네트워크 및/또는 무선 네트워크를 매개로 외부 컴퓨터 또는 외부 저장 장치로 다운로드될 수 있다. 네트워크는 구리 전송 케이블, 광 전송 섬유, 무선 전송, 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 에지 서버(edge servers)를 구비할 수 있다. 각각의 컴퓨팅/처리 장치의 네트워크 어댑터 카드 또는 네트워크 인터페이스는 네트워크로부터 컴퓨터 판독가능 프로그램 명령을 수신하고 각각의 컴퓨팅/처리 장치 내의 컴퓨터 판독가능 저장 매체에 저장하기 위해 컴퓨터 판독가능 프로그램 명령을 전달한다.
본 발명의 동작을 수행하기 위한 컴퓨터 판독가능 프로그램 명령은 어셈블러 명령, ISA(instruction-set-architecture) 명령, 기계 명령, 기계 종속 명령, 마이크로코드, 펌웨어 명령, 상태 설정 데이터, 또는 Smalltalk, C++ 등과 같은 객체 지향 프로그래밍 언어와, "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어와 같은 기존의 절차적 프로그래밍 언어를 포함하는, 하나 이상의 프로그래밍 언어의 소정의 조합으로 기록된 소스 코드 또는 객체 코드일 수 있다. 컴퓨터 판독가능 프로그램 명령은, 독립 실행형 소프트웨어 패키지로서, 이용자의 컴퓨터 상에서 전체적으로, 이용자의 컴퓨터 상에서 부분적으로, 이용자의 컴퓨터 상에서 전체적으로 그리고 이용자의 컴퓨터 상에서 부분적으로 또는 원격 컴퓨터 또는 서버 상에서 전체적으로 실행될 수 있다. 후자의 시나리오에 있어서, 원격 컴퓨터는, LAN(Local Area Network) 또는 WAN(Wide Area Network)을 포함하는, 소정 형태의 네트워크를 통해 이용자의 컴퓨터에 연결될 수 있고, 또는 연결이 (예컨대, 인터넷 서비스 공급자를 이용하여 인터넷을 통해) 외부 컴퓨터에 대해 이루어질 수 있다. 몇몇 실시예에 있어서, 예컨대 프로그래머블 논리 회로, FPGA(field-programmable gate arrays), 또는 PLA(programmable logic arrays)를 포함하는 전자 회로는, 본 발명의 측면을 수행하기 위해, 전자 회로를 개인화하도록 컴퓨터 판독가능 프로그램 명령의 상태 정보를 활용하는 것에 의해 컴퓨터 판독가능 프로그램 명령을 실행할 수 있다.
본 발명의 측면은 본 발명의 실시예에 따른 방법, 장치(시스템), 및 컴퓨터 프로그램 제품의 플로우차트 예시 및/또는 블록도를 참조하여 여기서 설명된다. 플로우차트 예시 및/또는 블록도의 각 블록, 및 플로우차트 예시 및/또는 블록도의 블록 조합은 컴퓨터 판독가능 프로그램 명령에 의해 구현될 수 있음이 이해될 것이다.
이들 컴퓨터 판독가능 프로그램 명령은 머신을 제조하기 위해 범용 컴퓨터, 특수 목적 컴퓨터, 또는 다른 프로그래머블 데이터 처리 장치의 프로세서에 제공되고, 따라서 컴퓨터의 프로세서 또는 다른 프로그래머블 데이터 처리 장치를 매개로 실행되는 명령은 플로우차트 및/또는 블록도 블록 또는 블록들에서 특정된 기능/행위를 구현하기 위한 수단을 생성한다. 이들 컴퓨터 판독가능 프로그램 명령은 또한 특정 방식으로 기능하도록 컴퓨터, 프로그래머블 데이터 처리 장치, 및/또는 다른 장치를 지시할 수 있는 컴퓨터 판독가능 저장 매체에 저장될 수 있고, 따라서 그 내에 저장된 명령을 갖춘 컴퓨터 판독가능 저장 매체는 플로우차트 및/또는 블록도 블록 또는 블록들에서 특정된 기능/행위의 측면을 구현하는 명령을 포함하는 제조 물품을 구비한다.
컴퓨터 판독가능 프로그램 명령은 또한 컴퓨터 구현 프로세스를 만들어 내기 위해 컴퓨터, 다른 프로그래머블 장치 또는 다른 장치 상에서 수행되어지는 일련의 운영 단계를 야기시키도록 컴퓨터, 다른 프로그래머블 데이터 처리 장치, 또는 다른 장치 상으로 로딩될 수 있고, 따라서 컴퓨터, 다른 프로그래머블 장치, 또는 다른 장치 상에서 실행되는 명령은 플로우차트 및/또는 블록도 블록 또는 블록들에서 특정된 기능/동작을 구현한다.
운송수단, 예컨대 비행기의 시스템, 또는 다른 시스템과 같은, 시스템은 테스트 절차를 이용하여 테스트된다. 테스트 절차는 주제 전문가(subject matter experts) 간의 협업과 다른 프로세에 의해 수동으로 생성될 수 있다. 테스트 절차는 특정 시스템 또는 시스템을 개발하는 동안 그리고 시스템 밸리데이션 및 검증 동안 수동으로 여러 번 실행된다. 예에 따르면, 본 발명의 방법 및 시스템은 시스템 테스트 절차의 실행을 자동화하여 시간과 비용 절감을 초래한다. 테스트 절차의 자동화에 의해, 더 많은 시나리오가 평가될 수 있어 각 시스템의 기능적 요구사항의 풀 커버리지(full coverage)를 초래한다. 부가적으로, 여기에 설명된 예시적인 방법 및 시스템은 개별 시스템에 대한 다중 테스트 절차를 이용하여 시스템의 세트에 대한 통합 테스트 절차를 자동으로 발생시킨다. 통합 테스트 절차는 함께 통합될 때 다수 관련 시스템을 테스트한다. 본 발명의 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 예시적인 방법 및 시스템은 비용 절감을 유발하는 통합 문제의 조기 발견을 초래하는 조기에 자동화된 시스템 통합 테스트를 제공한다.
도 1a 내지 도 1c는 본 발명의 예에 따른 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법(100)의 예의 플로우차트이다. 블록(102)에서, 방법(100)은 복수의 시스템 모델(104)을 수신하는 것을 포함한다. 각 시스템 모델(104)은 시스템 모델(104)에 대응하는 시스템이 수행하도록 구성된 소정 기능 또는 기능의 그룹을 전자적으로 시뮬레이션하도록 구성된다. 본 방식에 있어서, 각 시스템 모델은 특정 시스템 모델에 따라 하나 이상의 입력에 응답하여 하나 이상의 예상 출력(expected outputs)을 발생시키도록 구성된다. 시스템은 소정 형태의 시스템이다. 예에 따르면, 각 복수의 시스템 모델(104)은 비행기 또는 다른 운송수단에 탑재된 시스템에 대응한다. 시스템의 예는 비행 제어 시스템, 엔진 제어 시스템, 내비게이션 시스템, 통신 시스템, 랜딩 기어 시스템 등을 포함하지만, 반드시 이에 한정되는 것은 아니다. 시스템 A에 대한 시스템 모델(104a)의 예가 도 3a에 예시되고, 시스템 B에 대한 시스템 모델(104b)의 예가 도 4a에 예시된다. 각 시스템 모델(104a, 104b)은, 실제 시스템이 수행하도록 구성되는 소정 기능 또는 기능의 그룹을 정의하는, 소정의 논리 회로, 예컨대 도 3a의 논리 회로(302) 및 도 4a의 논리 회로(402)를 포함한다. 각 시스템 모델(104a 또는 104b)은 특정 시스템 모델(104a, 104b)과 연관된 소정 논리 회로(302, 402)를 기초로 하나 이상의 입력((306)(도 3a), 406a 및 406b(도 4a)) 또는 입력 신호(306, 406a, 406b)에 응답하여 하나 이상의 예상 출력((304)(도 3a), 404(도 4a)) 또는 출력 신호(304, 404)를 발생시키도록 구성된다. 논리 회로(302, 402)는 설명의 목적을 위한 예이다. 다른 시스템 모델에 대한 논리 회로는 시스템 모델(104)에 의해 표현된 실제 시스템의 복잡성에 따라 다수 입력 및 출력으로 훨씬 더 복잡할 수 있다.
블록(106)에서, 방법(100)은 복수의 시스템 모델(104a, 104b)의 각 시스템 모델(104)에 대한 시스템 테스트 하니스(108; system test harness)를 발생시키는 것을 포함한다. 테스트 하니스는 여러 시나리오를 테스팅하기 위해 구성된 입력 및 출력으로 테스트 하에서 특정 구성요소를 분리하는 모델로서 정의된다. 구성요소는 소프트웨어, 모델, 3개 모두의 조합의 하드웨어이다. 각 시스템 모델(104)에 대한 시스템 테스트 하니스(108)는 자동 또는 수동으로 발생된다. 시스템 테스트 하니스(108)는: (1) 다음 단계를 완료한 후 시스템 테스트 하니스(108)가 되는 새로운 엠프티 모델(new empty model)을 생성하는 것; (2) 테스트 하에서 시스템 모델(104)을 엠프티 모델로 드래깅하는 것(dragging); (3) 상호작용하거나 인터페이싱하는 시스템 모델에 연결하는데 이용하기 하기 위한 시스템 테스트 하니스 입력 및 출력 포트, 예컨대 외부 연결(external connections)을 생성하는 것; 및 (4) 적용가능하다면, 관련 입력을 계산하도록 논리를 부가하는 것;에 의해 이용자 또는 오퍼레이터에 의해 수동으로 발생된다. 시스템 테스트 하니스(108)를 수동으로 발생시키는 것은 시간 소모적이고 에러를 발생시키기 쉽다. 단계 1-3을 자동으로 수행할 수 있는 소프트웨어 도구가 있다. 시스템 테스트 하니스(108)를 자동으로 발생시키기 위한 소프트웨어 도구의 예는 SIMULINK TESTTM이다. SIMULINK® 및 SIMULINK TESTTM은 미국, 또는 다른 국가, 또는 양쪽에서 이용되는 MathWorks, Inc.의 상표이다.
도 3a, 도 4a 및 도 5를 또한 참조하면, 도 3a는 본 발명의 예에 따른 시스템 A에 대한 시스템 테스트 하니스(108a; system test harness)의 예이다. 도 4a는 본 발명의 예에 따른 시스템 B를 위한 시스템 테스트 하니스(108b)의 예이다. 도 5는 본 발명의 예에 따른 시스템 A 및 B를 위해 자동으로 발생된 통합 테스트 하니스(124; integrated test harness)의 예이다. 도 5는 시스템 A와 시스템 B가 인터페이싱하거나 상호작용하는 것을 예시하는 것으로, 예컨대 시스템 A는 시스템 B에 대한 입력 신호(406a)인 출력 신호(304)를 발생시킨다. 그러나, 각 시스템 A 또는 B, 또는 시스템 모델(104a, 104b)에 대한 시스템 테스트 하니스(108a, 108b)는 서로 독립적으로 테스트된다.
블록(110)에서, 방법(100)은, 프로세서 회로, 예컨대 도 10의 프로세서 회로(1002)에 의해, 복수의 시스템 모델(104) 중 각 시스템 모델(104)에 대한 시스템 테스트 케이스(112)를 발생시키는 것을 포함한다. 각 시스템 모델(104)에 대한 시스템 테스트 케이스(112)는 각 시스템 모델(104)에 대한 시스템 테스트 하니스(108)로부터 발생된다. 단일 시스템 테스트 하니스(108)는 하나 이상의 시스템 테스트 케이스(112)를 실행하는데 이용될 수 있다. 시스템 테스트 케이스(112)는 적어도 테스트 케이스의 목적, 일련의 입력 조건, 요구되는 테스트 커버리지 기준을 달성하기 위한 예상 결과, 및 테스트/실패 기준을 포함한다. 시스템 테스트 케이스(112)를 발생시키는 것은 자동으로 또는 수동으로 수행된다. 시스템 테스트 케이스(112)는 실제 시스템의 행위를 어떻게 검증하는가를 단계별로 설명하는 문서이다. 주제 전문가가 이 문서를 생성한다. 시스템 테스트 케이스(112)는 시스템 테스트 케이스 문서의 컴퓨터 실행가능 버전이다. 시스템 테스트 케이스 문서는, 시나리오, 예컨대 하나의 목적지에서 다른 목적지로의 비행을 생성하기 위해 특정 실제 시스템에 대한 하나 이상의 입력 신호를 정의하는 것에 의해 생성된다. 출력 신호는 또한 시스템의 출력을 검증하기 위해 에러 허용오차(error tolerances)를 갖는 시계열(time series)로서 정의된다. 수동으로 시스템 테스트 케이스(112)를 생성하는 것은 지루할 수 있어 소프트웨어 도구가 시스템 테스트 케이스(112)를 자동으로 발생시키는데 이용가능할 수 있다. 시스템 테스트 케이스(112)를 자동으로 발생시키기 위한 소프트웨어 도구의 예는 SIMULINK DESIGN VERIFIER™와 함께 이용될 수도 있는 SIMULINK Test™이다. SIMULINK DESIGN VERIFIER™는 미국, 다른 국가, 또는 양쪽에서의 MathWorks, Inc.의 상표이다.
각 시스템 모델(104)에 대한 시스템 테스트 하니스(108)로부터 각 시스템 모델(104)에 대한 시스템 테스트 케이스(112)를 발생시키는 것은, 예컨대 특정 시스템 모델(104)이 특정 시스템 모델(104)에 입력을 제공하거나 특정 시스템 모델(104)과 상호작용하는 다른 시스템 모델(104)로부터 독립적으로 테스트되는, 특정 시스템 모델(104)의 환경으로부터 분리되는 특정 시스템 모델(104)을 테스팅하는 것을 포함한다.
도 3b 및 도 4b를 또한 참조하면, 도 3b는 본 발명의 예에 따른 시스템 A에 대한 시스템 테스트 케이스(112a)의 예이다. 도 4b는 본 발명의 예에 따른 시스템 B에 대한 시스템 테스트 케이스(112b)의 예이다. 시스템 테스트 케이스(112a, 112b)는 각 가능한 입력(306) 또는 입력 값(316), 또는 입력(406a 및 406b) 또는 입력 값(416a, 416b)의 조합에 대한 예상 출력(304, 404) 또는 예상 출력 값(314)을 포함하는 테이블 또는 데이터 저장소(310, 410)를 제공한다. 각 여러 가능한 입력(306) 또는 여러 입력(406a 및 406b)의 조합은 시스템 테스트 케이스(112a 또는 112b)의 테스트 단계(312 또는 412)를 정의한다.
블록(114)에서, 방법(100)은 각 시스템 모델(104)에 대한 시스템 테스트 절차(115)를 이용하여 시스템 테스트 케이스(112)를 자동으로 실행하는 것을 포함한다. 시스템 테스트 절차(115)는 어떻게 각 테스트 케이스(112)가 설정되고 실행되어지는지, 어떻게 테스트 결과가 평가되는지, 그리고 이용될 테스트 환경에 대한 적어도 단계별 명령을 포함한다. 방법(100)은 각 시스템 모델(104a, 104b)에 대한 가능한 여러 입력 값(316, 416a, 416b)의 모든 조합에 대한 각 시스템 모델(104a, 104b)의 하나 이상의 입력(306, 406a, 406b)의 각각에 대한 입력 값(316, 416a, 416b)에 응답하여 각 시스템 모델(104a, 104b)의 하나 이상의 출력(304, 404)의 각각에 대한 예상 출력 값(314(도 3b), 414(도 4b))을 발생시키는 것을 더 포함한다. 몇몇 예에 있어서, 시스템 테스트 절차는 서브시스템 테스트 절차, 구성요소 테스트 절차, 또는 부품 테스트 절차 중 적어도 하나를 포함한다.
몇몇 예에 따르면, 블록(114)의 방법(100)은 각 시스템 모델(104a, 104b)에 대한 시스템 테스트 케이스(112a, 112b)를 실행하는 것에 응답하여 다른 시스템 모델(104)과 독립적인 각 시스템 모델(104a, 104b)에 대한 테이블 또는 데이터저장소(310(도 3b), 410(도 4b))를 자동으로 발생시키는 것을 포함한다. 특정 시스템 모델(104)에 대한 테이블 또는 데이터저장소(310, 410)는 특정 시스템 모델(104a, 104b)에 대한 가능한 여러 입력 값(316, 416a, 416b)의 각각의 조합에 대한 하나 이상의 입력(306, 406a, 406b)의 각각에 대한 입력 값(316, 416a, 416b)과 연관된 하나 이상의 출력(304, 404)의 각각에 대한 예상 출력 값(314, 414)을 포함한다.
블록(114)에서, 방법(100)은 시스템 테스트 절차 커버리지 리포트(116; system test procedure coverage report)를 발생시키는 것을 부가적으로 포함한다. 시스템 테스트 절차 커버리지 리포트(116)는 특정 시스템 모델(104a, 104b)에 대한 가능한 여러 입력 값(316, 416a, 416b)의 각 조합에 대한 하나 이상의 입력(306, 406a, 406b)의 각각에 대한 입력 값(316, 416a, 416b)과 각각 연관된 하나 이상의 출력(304, 404)의 각각에 대한 예상 출력 값(314, 414)의 확인(confirmation)을 허용한다.
블록(118)에서, 방법(100)은 입력/출력(I/O) 데이터(120)를 발생시키기 위해 입력/출력(I/O) 관리를 수행하는 것을 포함한다. 입력/출력 관리를 수행하는 것은 시스템 모델(104)의 입력 및 출력을 분석하는 것 및 입력 및 출력의 분석을 기초로 상호작용하는 시스템 모델(104)의 통합을 자동으로 결정하는 것을 포함한다. 시스템 모델(104)의 입력 및 출력을 분석하는 것은 제1 시스템 모델(104)의 출력 또는 출력들의 여러 예상 출력 값을 적어도 제2 시스템 모델(104)의 입력 또는 입력들에 상관시키는 것을 포함한다. 출력 값 및 대응하는 입력 값은 상호작용하는 시스템 모델(104) 사이의 신호로 구현된다. 블록(118)에서, 방법(100)은 입력/출력 데이터(I/O)(120)를 발생시키기 위해 데이터 형태, 디멘젼, 값의 범위, 단위 등의 측면에서 상호작용하는 시스템 모델 사이의 신호를 분석하는 것을 더 포함한다.
블록(122)에서, 방법(100)은, 프로세서 회로, 예컨대 도 10의 프로세서 회로(1002)에 의해, 하나 이상의 통합 테스트 하니스(124)를 자동으로 발생시키는 것을 포함한다. 각 통합 테스트 하니스(124)는 복수의 시스템 모델(104) 중 상호작용하는 시스템 모델(104)의 그룹을 포함한다. 또한 도 5를 참조하면, 도 5는 본 발명의 예에 따른 시스템 A 및 B에 대한 자동으로 발생된 통합 테스트 하니스(124)의 예이다. 통합 테스트 하니스(124)는 함께 통합된 시스템 A용 시스템 테스트 하니스(108a)와 시스템 B용 시스템 테스트 하니스(108b)를 포함한다. 하나 이상의 상호작용하는 시스템 모델(104a 및 104b)로부터의 출력 신호(304)는 하나 이상의 다른 상호작용하는 시스템 모델(104)에 대한 입력 신호(406a)이다. 통합 테스트 하니스(124)는 여러 상호작용하는 시스템 모델(104)의 하나 이상의 그룹이 있는 것에 응답하여 여러 상호작용하는 시스템 모델(104)의 각 그룹에 대해 자동으로 발생된다.
또한 도 6을 참조하면, 이는 본 발명의 예에 따른 통합 테스트 하니스(600)의 다른 예이다. 예시적인 통합 테스트 하니스(600)는 통합 테스트 하니스(600)가 다수의 상호작용 시스템, 예컨대 시스템 A, 시스템 B, 시스템 C 및 시스템 D를 위한 다수의 여러 시스템 테스트 하니스(602a-602d)를 포함하여 복잡할 수 있음을 예시한다. 각 시스템 테스트 하니스(602a-602d)는 다른 시스템 테스트 하니스(602a-602d)와 독립적으로 발생되었다. 도 6의 예에서. 시스템 테스트 하니스(602a-602d)의 각각은 복수의 입력(604) 및 출력(606)을 포함한다. 몇몇 시스템 테스트 하니스(602a-602d)의 출력(606)은 다른 시스템 테스트 하니스(602a-602d)에 대한 입력(604)에 대응한다.
도 1b의 블록(126)에서, 방법(100)은 부가적으로, 프로세서 회로, 예컨대 도 10의 프로세서 회로(1002)에 의해, 통합 테스트 하니스(124)의 각 시스템 모델(104)에 대한 시스템 테스트 케이스(112)를 이용하여 하나 이상의 통합 테스트 케이스(128)를 자동으로 발생시키는 것을 포함한다. 몇몇 예에 있어서, 입력/출력 데이터(120)는 또한 각 통합 테스트 하니스(124)에 대한 통합 테스트 케이스(128)를 발생시키는데 이용된다. 통합 테스트 케이스(128)는 각 통합 테스트 하니스(124)에 대해 자동으로 발생된다. 또한 도 7을 참조하면, 이는 본 발명의 예에 따른 시스템 A 및 B에 대한 자동으로 발생된 통합 테스트 케이스(128)의 예이다. 통합 테스트 케이스(128)는 함께 통합된 시스템 A 및 B에 대한 시스템 테스트 케이스(112a, 112b)를 포함한다. 통합 테스트 하니스(124) 및 통합 테스트 케이스(128)를 자동으로 발생시키기 위한 방법(200)의 예가 도 2를 참조하여 더욱 상세히 설명될 것이다. 도 2의 예시적인 방법을 참조하여 설명된 바와 같이, 각 시스템 모델(104)에 대한 시스템 테스트 케이스(112)를 이용하여 각 통합 테스트 하니스(124)에 대한 하나 이상의 통합 테스트 케이스(128)를 자동으로 발생시키는 것은 입력 및 예상 출력을 포함하는 각 시스템 모델(104)의 시스템 테스트 케이스(112)로부터의 I/O 데이터(120)를 상호연결하는 것을 포함한다. 하나 이상의 통합 테스트 케이스(128)를 자동으로 발생시키는 것은 또한 도 2의 예에서 또한 설명된 바와 같이 임계 입력(critical inputs)을 결정하고 불필요한 테스트 단계를 제거하는 것을 포함한다.
블록(130)에서, 방법(100)은, 프로세서 회로에 의해, 연관된 통합 테스트 절차(131)를 이용하여 통합 테스트 케이스(128)를 자동으로 실행하는 것 및, 프로세서 회로에 의해, 통합 테스트 케이스(128)를 실행하는 것에 응답하여 통합 테스트 절차 커버리지 리포트(132; integrated test procedure coverage report)를 발생시키는 것을 포함한다. 통합 테스트 절차 커버리지 리포트(132)는 통합 테스트 케이스(128)를 정의하는 코드 또는 시스템 모델(104)의 어느 부품이 실행되지 않았는지를 식별한다. 통합 테스트 절차(131)는 어떻게 각 통합 테스트 케이스(128)가 설정되고 실행되어지는지, 어떻게 테스트 결과가 평가되는지, 그리고 이용될 테스트 환경에 대한 적어도 단계별 명령을 포함한다. 예에 따르면, 통합 테스트 절차(131)는 적어도 시스템 A 및 B에 대한 시스템 테스트 절차의 조합을 포함한다.
블록(134)에서, 방법(100)은 통합 테스트 절차 커버리지 리포트(132)의 분석을 수행하는 것 및 통합 테스트 절차 커버리지 리포트(132)의 분석을 수행하는 것에 응답하여 통합 시스템 분석 리포트(136)를 발생시키는 것을 포함한다. 통합 테스트 절차 커버리지 리포트(132)의 분석을 수행하는 것은 실행되지 않았던 통합 테스트 케이스(128)의 부품을 분석하는 것과 통합 테스트 케이스(128)에 정의된 조건에 도달하지 못한 이유에 대한 설명을 제공하는 것을 포함한다. 예컨대, 방법(100)은 통합 테스트 하니스(124)에 대한 입력 신호의 조합이 누락되었는지, 또는 통합 테스트 케이스(128)의 비실행 부품이 통합 테스트 하니스(124)에 대한 입력에 의해 도달될 수 없음을 식별한다. 통합 테스트 절차 커버리지 리포트보고서(132)에 갭이 있다면, 통합 시템 분석 리포트(136)는 어떻게 통합 테스트 하니스(124) 및 통합 테스트 케이스(128)에 의해 백퍼센트(100%) 커버리지를 얻는가에 대한 정보를 제공한다.
도 2는 본 발명의 예에 따른 통합 테스트 하니스(124) 및 통합 테스트 케이스(128)를 자동으로 발생시키기 위한 방법(200)의 예의 플로우차트이다. 블록(202)에서, 방법(200)은 임계 입력(306, 406b)의 그룹을 결정하기 위해 통합 테스트 케이스(128)의 하나 이상의 입력(306, 406a, 406b)과 하나 이상의 출력(404) 사이의 상관관계를 분석하는 것을 포함한다(도 8b). 임계 입력(306 및 406b)의 그룹은 통합 테스트 케이스(128)의 각 출력(404)에 영향을 미치는데 필요한 입력이다. 통합 테스트 케이스(128)의 입력(306, 406a, 406b)과 출력(404) 사이의 상관관계를 분석하는 것은 임계 입력(306, 406a)의 그룹을 결정하기 위해 알고리즘을 이용하여 입력 및 출력을 소팅하는 것(sorting)을 포함한다.
예에 따르면, 통합 테스트 케이스(128)의 입력(306, 406a, 406b)과 출력(404) 사이의 상관관계를 분석하는 것은, 임계 입력(306 및 406b)의 그룹을 결정하기 위해, 도 8a 및 도 8b에 예시된 바와 같이, 클러스터링 알고리즘(clustering algorithm), 예컨대 DSM(design structure matrix) 알고리즘(800)을 이용하는 것을 포함한다. 예에 있어서, DSM 알고리즘(800)을 이용하는 것은 임계 입력(306 및 406b)의 그룹을 결정하기 위해 여기서 설명된 바와 같이 분석되는 최종 DSM(801)(도 8b)을 발생시키거나 생산하는 것을 포함한다. 임계 입력은 시스템 모델(104)에 대응하는 통합 시스템의 테스트를 커버하게 되는 통합 테스트 케이스(128)에 결합된다. DSM 알고리즘(800)이 여기서 설명되지만, 임계 입력(306, 406b)의 그룹을 결정하기 위해 입력 및 출력을 소팅하기 위한 소정의 알고리즘이 이용될 수 있다. 도 8a 및 도 8b를 또한 참조하면, 도 8a 및 도 8b는 DSM 알고리즘(800)을 이용하여 임계 입력을 결정하기 위해 도 7의 예에서 통합 테스트 케이스(128)의 입력(306, 406a, 406b)과 출력(404) 사이의 상관관계를 분석하는 예를 예시한다. 도 8a는 DSM(801)의 행(802)에 대응하는 신호가 DSM(801)의 열(804)에 대응하는 특정 신호에 의존하는 DSM(801)의 셀에 "X"가 배치되는 DSM 알고리즘(800)의 동작을 예시한다. 도 8a의 예에서, 행 입력 신호 "ia"(406a)(in_air input 신호)는 도 8의 셀(808)에서 "X"로 표시된 바와 같이 그리고 또한 도 7의 예시적인 통합 테스트 케이스(128)에 예시된 바와 같이 열 입력 신호 "gs"(306)(groundspeed 신호)에 의존한다. 행 출력 신호 "sov"(404)는 셀(810)에서 "X"에 의해 표시된 바와 같이 열 입력 신호 "ia"(406a) 및 도 8a의 셀(812)에서 "X"에 의해 표시된 바와 같이 그리고 또한 도 7의 예시적인 통합 테스트 케이스(128)에 예시된 바와 같이 열 입력 신호 "oat"(406b)에 의존한다.
블록(204)에서, 방법(200)은 임계 입력을 결정하기 위해 최종 DSM(801)(도 8b)을 분석하는 것을 포함한다. 임계 입력은 통합 테스트 케이스(128)의 각 출력에 대해 필요로 되는 입력이다. 도 8b에 예시된 바와 같이, 행 입력 신호 "ia"(406a)는 DSM 알고리즘(800)에 의해 결정된 바와 같이 열 입력 신호 "gs"(306)에 의존한다. 따라서, 행 출력 "sov"(404)를 결정하기 위한 임계 입력은 도 8b에 예시된 예에 나타낸 바와 같이 열 입력 신호 "gs"(306) 및 "oat"(406b)이다.
블록(206)에서, 방법(200)은 통합 테스트 케이스(128)의 통합 테스트 절차(131)를 자동으로 발생시키는 것을 포함한다. 통합 테스트 절차(131)는 임계 입력(306, 406b)을 포함하는 시스템 테스트 케이스(112a, 112b)의 테스트 단계((312)(도 3b), 412(도 4b))의 결합된 서브세트를 포함한다. 또한 도 9a를 참조하면, 이는 도 7의 예에서 통합 테스트 케이스(128)의 통합 테스트 절차(131)에 대한 통합 테스트 단계(902)를 자동으로 발생시키는 예이다. 각 통합 테스트 단계(902)는 통합 테스트 케이스(128)의 통합 테스트 절차(131)에 대한 임계 입력 또는 임계 입력 값(306, 406b)의 여러 조합을 포함한다.
블록(208)에서, 방법(200)은 통합 테스트 케이스(128)를 실행하기 위한 지속시간(time duration)을 감소시키기 위해 통합 테스트 절차(131)로부터 하나 이상의 불필요한 통합 테스트 단계(902)를 자동으로 제거하는 것을 포함한다. 불필요한 통합 테스트 단계(902)는 여러 입력 값을 갖는 다른 테스트 단계(902)와 동일한 출력 값(414)을 제공하는 특정 입력 값(316)을 갖는 특정 시스템 테스트 케이스(112a 또는 112b)의 소정의 테스트 단계(902)이다. 또한 도 9b를 참조하면, 이는 도 9a의 예에서 통합 테스트 절차(131)에서의 각 시스템 테스트 케이스(112a, 112b)에 대한 불필요한 통합 테스트 단계(902)를 자동으로 제거하는 예이다. 제거되는 불필요한 통합 테스트 단계(902)는 도 9b에서 지워진 것으로 예시된다.
블록(210)에서, 방법(200)은 하나 이상의 불필요한 통합 테스트 단계(902)가 제거된 통합 테스트 절차(131)를 자동으로 발생시키는 것을 더 포함한다. 불필요한 통합 테스트 단계를 제거한 후 최종적인 통합 테스트 절차(131)는 통합 테스트 케이스(128)의 예상 출력(404)에 대한 임계 입력(306, 406b)의 커버리지(coverage)를 포함한다.
도 10은 본 발명의 예에 따른 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 시스템(1000)의 예이다. 실시예에 따르면, 도 1a 내지 도 1c의 방법(100) 및 도 2의 방법(200)은 시스템(1000)으로 구현되고 시스템(1000)에 의해 수행된다. 그러나, 여기서 설명된 동작을 수행할 수 있는 소정의 시스템이 이용될 수 있다. 시스템(1000)은 프로세서 회로(1002) 및 프로세서 회로(1002)와 연관된 메모리(1004)를 포함한다. 메모리(1004)는 프로세서 회로(1002)에 의해 실행될 때 프로세서 회로(1002)가 일련의 기능(1008)을 수행하도록 하는 컴퓨터 판독가능 프로그램 명령(1006)을 포함한다. 예에 따르면, 일련의 기능(1008)은 여기서 설명되는 바와 같이 시스템 테스트 절차(1010)를 이용하는 통합 테스트 절차의 자동 발생을 포함한다. 도 1a 내지 도 1c의 방법(100) 및 도 2의 방법(200)은 일련의 기능으로 구현되고 프로세서 회로(1002)에 의해 수행된다.
몇몇 예에 있어서, 컴퓨터 판독가능 프로그램 명령(1006)은 여기서 설명된 것과 유사하거나 동일한 컴퓨터 프로그램 제품(1012)으로 구현된다. 컴퓨터 판독가능 프로그램 명령(1006)은 프로세서 회로(1002)에 의해 다운로드되고 메모리(1004) 상에 저장된다.
본 발명에 따른 추가의 예시적이고 비배타적인 예가 이하의 단락에서 설명된다:
본 발명에 따른 예에 있어서, 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법(100)으로, 방법(100)은: 프로세서 회로(1002)에 의해, 복수의 시스템 모델(104) 중 각 시스템 모델(104)에 대한 시스템 테스트 케이스(112)를 발생시키는 단계(110); 프로세서 회로에 의해, 복수의 시스템 모델(104) 중 상호작용하는 시스템 모델(104)의 그룹을 구비하는 통합 테스트 하니스(124)를 자동으로 발생시키는 단계(122)로서, 상호작용하는 시스템 모델(104) 중 하나 이상으로부터의 출력 신호(304)가 하나 이상의 다른 상호작용하는 시스템 모델에 대한 입력 신호(406a)인, 단계(122); 프로세서 회로에 의해, 통합 테스트 하니스(124)의 각 시스템 모델에 대한 시스템 테스트 케이스(112)를 이용하여 통합 테스트 케이스(128)를 자동으로 발생시키는 단계(126); 프로세서 회로에 의해, 통합 테스트 절차(131)를 이용하여 통합 테스트 케이스(128)를 자동으로 실행하는 단계(130); 및 프로세서 회로에 의해, 통합 테스트 케이스(128)의 실행에 응답하여 통합 테스트 절차 커버리지 리포트(132)를 발생시키는 단계(130);를 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단의 방법(100)은, 임계 입력(306, 406b)의 그룹을 결정하기 위해 통합 테스트 케이스(128)의 하나 이상의 입력(306, 406a, 406b)과 하나 이상의 출력(404) 사이의 상관관계를 분석하는 단계(202)를 더 포함하고, 임계 입력(306, 406b)의 그룹은 통합 테스트 케이스(128)의 각 출력(404)에 영향을 미치는데 필요로 되는 입력인 것을 특징으로 한다. 선택적으로, 앞 문단 중 하나의 방법(100)에 있어서, 통합 테스트 케이스(128)의 입력과 출력 사이의 상관관계를 분석하는 단계(202)는 임계 입력의 그룹을 결정하기 위해 클러스터링 알고리즘을 이용하여 입력 및 출력을 소팅하는 단계(202)를 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)은, 통합 테스트 케이스(128)의 통합 테스트 절차(131)를 자동으로 발생시키는 단계(206)를 더 포함하고, 통합 테스트 절차가 임계 입력(306, 406b)을 포함하는 시스템 테스트 케이스(112a, 112b)의 테스트 단계(312, 412)의 결합된 서브세트를 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)은, 통합 테스트 케이스(128)를 실행하기 위한 지속시간을 감소시키기 위해 통합 테스트 절차로부터 하나 이상의 불필요한 테스트 단계(902)를 자동으로 제거하는 단계(208)를 더 포함하고, 불필요한 테스트 단계는 여러 입력 값을 갖는 다른 테스트 단계와 동일한 출력 값(404)을 제공하는 특정 입력 값(316)을 갖는 특정 시스템 테스트 케이스(112)의 소정의 테스트 단계인 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)은, 하나 이상의 불필요한 테스트 단계가 제거된 통합 테스트 절차를 자동으로 발생시키는 단계(210)를 더 포함하고, 최종적인 통합 테스트 절차는 통합 테스트 케이스(128)의 예상 출력에 대한 임계 입력의 커버리지를 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)은, 복수의 시스템 모델(104)을 수신하는 단계(102)를 더 포함하고, 각 시스템 모델은 시스템이 수행하도록 구성되는 소정의 기능 또는 기능의 그룹을 전자적으로 시뮬레이션하도록 구성되는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)에 있어서, 각 시스템 모델은 시스템이 수행하도록 구성되는 소정의 기능 또는 기능의 그룹을 정의하는 소정의 논리 회로(302, 402)를 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)에 있어서, 각 시스템 모델(104)은 특정 시스템 모델(104)과 연관된 소정의 논리 회로(302, 402)를 기초로 하나 이상의 입력(306, 406a, 406b)에 응답하여 하나 이상의 예상 출력(304, 404)을 발생시키도록 구성되는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)은, 복수의 시스템 모델 중 각 시스템 모델에 대한 시스템 테스트 하니스(108)를 발생시키는 단계(106)를 더 포함하고, 각 시스템 모델에 대한 시스템 테스트 케이스(112)는 각 시스템 모델(104)에 대한 시스템 테스트 하니스(108)로부터 발생되는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)에 있어서, 각 시스템 모델에 대한 시스템 테스트 하니스(108)로부터 각 시스템 모델에 대한 시스템 테스트 케이스를 발생시키는 단계(110)는 특정 시스템 모델이 특정 시스템 모델에 대해 입력을 제공하는 다른 시스템 모델로부터 독립적으로 테스트되도록 특정 시스템 모델의 환경과 분리되는 특정 시스템 모델을 테스팅하는 단계를 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)은, 각 시스템 모델에 대한 시스템 테스트 절차를 이용하여 시스템 테스트 케이스(112)를 자동으로 실행하는 단계(114); 및 각 시스템 모델에 대한 가능한 여러 입력 값의 모든 조합에 대한 각 시스템 모델의 하나 이상의 입력(306, 406a, 406b)의 각각에 대한 입력 값(316, 416a, 416b)에 응답하여 각 시스템 모델의 하나 이상의 출력(404)의 각각에 대한 예상 출력 값(314, 414)을 발생시키는 단계(114);를 더 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)에 있어서, 시스템 테스트 절차가 서브시스템 테스트 절차, 구성요소 테스트 절차, 또는 부품 테스트 절차 중 적어도 하나를 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)은, 각 시스템 모델에 대한 시스템 테스트 케이스(112)를 실행하는 것에 응답하여 다른 시스템 모델과 독립적인 각 시스템 모델에 대한 테이블 또는 데이터저장소(310, 410)를 자동으로 발생시키는 단계(114)를 더 포함하고, 특정 시스템 모델에 대한 테이블 또는 데이터저장소(310, 410)는 특정 시스템 모델에 대해 가능한 여러 입력 값의 각 조합에 대한 하나 이상의 입력(306, 406a, 406b)의 각각에 대한 입력 값과 각각 연관된 하나 이상의 출력의 각각에 대한 예상 출력 값을 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)은, 통합 테스트 절차 커버리지 리포트(132)의 분석을 수행하는 단계(134); 및 통합 테스트 절차 커버리지 리포트(132)의 분석을 수행하는 단계에 응답하여 통합 시스템 분석 리포트(136)를 발생시키는 단계(134);를 더 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 방법(100)에 있어서, 복수의 시스템 모델의 각각이 비행기 또는 다른 운송수단에 탑재된 시스템에 대응하는 것을 특징으로 한다.
본 발명에 따른 다른 예에 있어서, 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 시스템(1000)으로, 시스템(1000)이: 프로세서 회로(1002); 및 프로세서 회로(1002)와 연관된 메모리(1004);를 구비하여 구성되고, 메모리(1004)는 프로세서 회로(1002)에 의해 실행될 때 프로세서 회로(1002)가: 복수의 시스템 모델 중 각 시스템 모델에 대한 시스템 테스트 케이스를 발생시키는 것(110)과; 복수의 시스템 모델 중 상호작용하는 시스템 모델의 그룹을 구비하는 통합 테스트 하니스를 자동으로 발생시키는 것(122)으로, 상호작용하는 시스템 모델 중 하나 이상으로부터의 출력 신호(304)가 하나 이상의 다른 상호작용하는 시스템 모델에 대한 입력 신호(406a)인 것; 통합 테스트 하니스(124)의 각 시스템 모델에 대한 시스템 테스트 케이스(112)를 이용하여 통합 테스트 케이스(128)를 자동으로 발생시키는 것(126); 통합 테스트 절차(131)를 이용하여 통합 테스트 케이스(128)를 자동으로 실행하는 것(130); 및 통합 테스트 케이스(128)를 실행하는 것에 응답하여 통합 테스트 절차 커버리지 리포트(132)를 발생시키는 것(130);을 포함하는 일련의 기능(1008)을 수행하도록 하는 컴퓨터 판독가능 프로그램 명령(1006)을 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단의 시스템(1000)에 있어서, 일련의 기능(1008)은 임계 입력의 그룹을 결정하기 위해 통합 테스트 케이스의 하나 이상의 입력과 하나 이상의 출력 사이의 상관관계를 분석하는 것(202)을 더 포함하고, 임계 입력의 그룹은 통합 테스트 케이스의 각 출력에 영향을 미치는데 필요로 되는 입력인 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 시스템(1000)에 있어서, 일련의 기능은 통합 테스트 케이스의 통합 테스트 절차를 자동으로 발생시키는 것(206)을 더 포함하고, 통합 테스트 절차는 임계 입력을 포함하는 시스템 테스트 케이스의 테스트 단계의 결합된 서브세트를 포함하는 것을 특징으로 한다.
선택적으로, 앞 문단 중 하나의 시스템(1000)에 있어서, 일련의 가능(1008)이: 통합 테스트 케이스(128)를 실행하기 위한 지속시간을 감소시키기 위해 통합 테스트 절차로부터 하나 이상의 불필요한 테스트 단계를 자동으로 제거하는 것(208), 불필요한 테스트 단계는 여러 입력 값을 갖는 다른 테스트 단계와 동일한 출력 값을 제공하는 특정 입력 값을 갖는 특정 시스템 테스트 케이스(112)의 소정의 테스트 단계이고; 및 하나 이상의 불필요한 테스트 단계가 제거된 통합 테스트 절차를 자동으로 발생시키는 것(210), 최종적인 통합 테스트 절차는 통합 테스트 케이스의 예상 출력에 대한 임계 입력의 커버리지를 포함하고;을 더 포함하는 것을 특징으로 한다.
도면의 플로우차트 및 블록도는 본 발명의 다양한 실시예에 따른 시스템, 방법, 및 컴퓨터 프로그램 제품의 가능한 구현의 아키텍처, 기능, 및 동작을 예시한다. 이와 관련하여, 플로우차트 또는 블록도의 각 블록은 모듈, 세그먼트, 또는 특정 논리적 기능(들)을 구현하기 위한 하나 이상의 실행가능 명령을 포함하는 명령의 일부를 나타낼 수 있다. 몇몇 대안적인 구현에 있어서, 블록에서 주지된 기능은 도면에서 주지된 순서를 벗어나서 야기될 수 있다. 예컨대, 연속적으로 도시된 2개의 블록은 실제로 동시에 실행되거나 포함된 기능에 따라 블록이 때때로 역순으로 실행될 수 있다. 또한 블록도 및/또는 플로우차트 예시의 각 블록, 및 블록도 및/또는 플로우차트 예시의 블록의 조합은 특정 기능 또는 행위를 수행하거나 특수 목적 하드웨어와 컴퓨터 명령의 조합을 수행하는 특수 목적 하드웨어 기반 시스템에 의해 구현될 수 있다.
여기서 이용된 용어는 단지 특정 실시예만을 설명하기 위한 목적을 위한 것으로, 본 발명의 실시 예를 한정하고자 하는 의도는 아니다. 여기서 이용된 바와 같이, 단수 형태는 문맥이 명백하게 달리 나타내지 않는 한 복수 형태도 포함하는 것으로 의도된다. 본 명세서에서 이용될 때, 용어 "포함하는", "구비하는" 및/또는 "구비하는 것"은 명시된 특징, 완전체, 단계, 동작, 엘리먼트 및/또는 구성요소의 존재를 특정하지만, 하나 이상의 다른 특징, 완전체, 단계, 동작, 엘리먼트, 구성요소, 및/또는 그 그룹의 존재 또는 부가를 배제하지는 않는다.
아래의 청구항에서 모든 수단 또는 단계뿐만 아니라 기능 엘리먼트의 대응하는 구조, 재료, 행위 및 균등물은 구체적으로 청구된 다른 청구된 엘리먼트와 조합하여 기능을 수행하기 위한 소정의 구조, 재료, 또는 행위를 포함하도록 의도된다. 본 실시예의 설명은 예시 및 설명의 목적으로 제공되었지만, 개시된 형태의 실시예로 망라하거나 제한되도록 의도되지는 않는다. 많은 수정 및 변형이 실시예의 범위 및 정신을 벗어나는 것 없이 당업자에게 명백할 것이다.
특정 실시예가 여기에서 예시되고 설명됨에도 불구하고, 당업자는 동일한 목적을 달성하기 위해 계산된 소정의 배열이 도시된 특정 실시예를 대체할 수 있고 실시예가 다른 환경에서 다른 어플리케이션을 갖는다는 것을 인식한다. 이 어플리케이션은 소정의 적응 또는 변형을 다루기 위한 것이다. 이하의 청구항은 여기서 설명된 특정 실시 예에 대한 개시의 실시 예의 범위를 제한하고자 하는 의도는 결코 아니다.

Claims (15)

  1. 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법(100)으로, 방법(100)이:
    프로세서 회로(1002)에 의해, 복수의 시스템 모델(104) 중 각 시스템 모델(104)에 대한 시스템 테스트 케이스(112)를 발생시키는 단계(110);
    프로세서 회로에 의해, 복수의 시스템 모델(104) 중 상호작용하는 시스템 모델(104)의 그룹을 구비하는 통합 테스트 하니스(124)를 자동으로 발생시키는 단계(122)로서, 상호작용하는 시스템 모델(104) 중 하나 이상으로부터의 출력 신호(304)가 하나 이상의 다른 상호작용하는 시스템 모델에 대한 입력 신호(406a)인, 단계(122);
    프로세서 회로에 의해, 통합 테스트 하니스(124)의 각 시스템 모델에 대한 시스템 테스트 케이스(112)를 이용하여 통합 테스트 케이스(128)를 자동으로 발생시키는 단계(126);
    프로세서 회로에 의해, 통합 테스트 절차(131)를 이용하여 통합 테스트 케이스(128)를 자동으로 실행하는 단계(130); 및
    프로세서 회로에 의해, 통합 테스트 케이스(128)의 실행에 응답하여 통합 테스트 절차 커버리지 리포트(132)를 발생시키는 단계(130);를 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법.
  2. 제1항에 있어서,
    임계 입력(306, 406b)의 그룹을 결정하기 위해 통합 테스트 케이스(128)의 하나 이상의 입력(306, 406a, 406b)과 하나 이상의 출력(404) 사이의 상관관계를 분석하는 단계(202)를 더 포함하고, 임계 입력(306, 406b)의 그룹은 통합 테스트 케이스(128)의 각 출력(404)에 영향을 미치는데 필요로 되는 입력이고, 통합 테스트 케이스(128)의 입력과 출력 사이의 상관관계를 분석하는 단계(202)는 임계 입력의 그룹을 결정하기 위해 클러스터링 알고리즘을 이용하여 입력 및 출력을 소팅하는 단계(202)를 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법.
  3. 제2항에 있어서,
    통합 테스트 케이스(128)의 통합 테스트 절차(131)를 자동으로 발생시키는 단계(206)를 더 포함하고, 통합 테스트 절차가 임계 입력(306, 406b)을 포함하는 시스템 테스트 케이스(112a, 112b)의 테스트 단계(312, 412)의 결합된 서브세트를 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    통합 테스트 케이스(128)를 실행하기 위한 지속시간을 감소시키기 위해 통합 테스트 절차로부터 하나 이상의 불필요한 테스트 단계(902)를 자동으로 제거하는 단계(208)를 더 포함하고, 불필요한 테스트 단계는 여러 입력 값을 갖는 다른 테스트 단계와 동일한 출력 값(404)을 제공하는 특정 입력 값(316)을 갖는 특정 시스템 테스트 케이스(112)의 소정의 테스트 단계이고;
    하나 이상의 불필요한 테스트 단계가 제거된 통합 테스트 절차를 자동으로 발생시키는 단계(210)를 더 포함하고, 최종적인 통합 테스트 절차는 통합 테스트 케이스(128)의 예상 출력에 대한 임계 입력의 커버리지를 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서,
    복수의 시스템 모델(104)을 수신하는 단계(102)를 더 포함하고,
    각 시스템 모델은 시스템이 수행하도록 구성되는 소정의 기능 또는 기능의 그룹을 전자적으로 시뮬레이션하도록 구성되고,
    각 시스템 모델은 시스템이 수행하도록 구성되는 소정의 기능 또는 기능의 그룹을 정의하는 소정의 논리 회로(302, 402)를 포함하고,
    각 시스템 모델(104)은 특정 시스템 모델(104)과 연관된 소정의 논리 회로(302, 402)를 기초로 하나 이상의 입력(306, 406a, 406b)에 응답하여 하나 이상의 예상 출력(304, 404)을 발생시키도록 구성되는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서,
    복수의 시스템 모델 중 각 시스템 모델에 대한 시스템 테스트 하니스(108)를 발생시키는 단계(106)를 더 포함하고, 각 시스템 모델에 대한 시스템 테스트 케이스(112)는 각 시스템 모델(104)에 대한 시스템 테스트 하니스(108)로부터 발생되고, 각 시스템 모델에 대한 시스템 테스트 하니스(108)로부터 각 시스템 모델에 대한 시스템 테스트 케이스를 발생시키는 단계(110)는 특정 시스템 모델이 특정 시스템 모델에 대해 입력을 제공하는 다른 시스템 모델로부터 독립적으로 테스트되도록 특정 시스템 모델의 환경과 분리되는 특정 시스템 모델을 테스팅하는 단계를 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서,
    각 시스템 모델에 대한 시스템 테스트 절차를 이용하여 시스템 테스트 케이스(112)를 자동으로 실행하는 단계(114); 및
    각 시스템 모델에 대한 가능한 여러 입력 값의 모든 조합에 대한 각 시스템 모델의 하나 이상의 입력(306, 406a, 406b)의 각각에 대한 입력 값(316, 416a, 416b)에 응답하여 각 시스템 모델의 하나 이상의 출력(404)의 각각에 대한 예상 출력 값(314, 414)을 발생시키는 단계(114);를 더 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법.
  8. 제7항에 있어서,
    시스템 테스트 절차가 서브시스템 테스트 절차, 구성요소 테스트 절차, 또는 부품 테스트 절차 중 적어도 하나를 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법.
  9. 제7항에 있어서,
    각 시스템 모델에 대한 시스템 테스트 케이스(112)를 실행하는 것에 응답하여 다른 시스템 모델과 독립적인 각 시스템 모델에 대한 테이블 또는 데이터저장소(310, 410)를 자동으로 발생시키는 단계(114)를 더 포함하고, 특정 시스템 모델에 대한 테이블 또는 데이터저장소(310, 410)는 특정 시스템 모델에 대해 가능한 여러 입력 값의 각 조합에 대한 하나 이상의 입력(306, 406a, 406b)의 각각에 대한 입력 값과 각각 연관된 하나 이상의 출력의 각각에 대한 예상 출력 값을 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법.
  10. 제1항 내지 제3항, 제8항, 또는 제9항 중 어느 한 항에 있어서,
    통합 테스트 절차 커버리지 리포트(132)의 분석을 수행하는 단계(134); 및
    통합 테스트 절차 커버리지 리포트(132)의 분석을 수행하는 단계에 응답하여 통합 시스템 분석 리포트(136)를 발생시키는 단계(134);를 더 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법.
  11. 제1항 내지 제3항, 제8항, 또는 제9항 중 어느 한 항에 있어서,
    복수의 시스템 모델의 각각이 비행기 또는 다른 운송수단에 탑재된 시스템에 대응하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 방법.
  12. 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 시스템(1000)으로, 시스템(1000)이:
    프로세서 회로(1002); 및
    프로세서 회로(1002)와 연관된 메모리(1004);를 구비하여 구성되고, 메모리(1004)는 프로세서 회로(1002)에 의해 실행될 때 프로세서 회로(1002)가:
    복수의 시스템 모델 중 각 시스템 모델에 대한 시스템 테스트 케이스를 발생시키는 것(110)과;
    복수의 시스템 모델 중 상호작용하는 시스템 모델의 그룹을 구비하는 통합 테스트 하니스를 자동으로 발생시키는 것(122)으로, 상호작용하는 시스템 모델 중 하나 이상으로부터의 출력 신호(304)가 하나 이상의 다른 상호작용하는 시스템 모델에 대한 입력 신호(406a)인 것;
    통합 테스트 하니스(124)의 각 시스템 모델에 대한 시스템 테스트 케이스(112)를 이용하여 통합 테스트 케이스(128)를 자동으로 발생시키는 것(126);
    통합 테스트 절차(131)를 이용하여 통합 테스트 케이스(128)를 자동으로 실행하는 것(130); 및
    통합 테스트 케이스(128)를 실행하는 것에 응답하여 통합 테스트 절차 커버리지 리포트(132)를 발생시키는 것(130);을 포함하는 일련의 기능(1008)을 수행하도록 하는 컴퓨터 판독가능 프로그램 명령(1006)을 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 시스템.

  13. 제12항에 있어서,
    일련의 기능(1008)은 임계 입력의 그룹을 결정하기 위해 통합 테스트 케이스의 하나 이상의 입력과 하나 이상의 출력 사이의 상관관계를 분석하는 것(202)을 더 포함하고, 임계 입력의 그룹은 통합 테스트 케이스의 각 출력에 영향을 미치는데 필요로 되는 입력인 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 시스템.
  14. 제13항에 있어서,
    일련의 기능은 통합 테스트 케이스의 통합 테스트 절차를 자동으로 발생시키는 것(206)을 더 포함하고, 통합 테스트 절차는 임계 입력을 포함하는 시스템 테스트 케이스의 테스트 단계의 결합된 서브세트를 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 시스템.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서,
    일련의 가능(1008)이:
    통합 테스트 케이스(128)를 실행하기 위한 지속시간을 감소시키기 위해 통합 테스트 절차로부터 하나 이상의 불필요한 테스트 단계를 자동으로 제거하는 것(208), 불필요한 테스트 단계는 여러 입력 값을 갖는 다른 테스트 단계와 동일한 출력 값을 제공하는 특정 입력 값을 갖는 특정 시스템 테스트 케이스(112)의 소정의 테스트 단계이고; 및
    하나 이상의 불필요한 테스트 단계가 제거된 통합 테스트 절차를 자동으로 발생시키는 것(210), 최종적인 통합 테스트 절차는 통합 테스트 케이스의 예상 출력에 대한 임계 입력의 커버리지를 포함하고;을 더 포함하는 것을 특징으로 하는 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생을 위한 시스템.
KR1020220002472A 2021-02-24 2022-01-07 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생 KR20220121175A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21382157.2 2021-02-24
EP21382157.2A EP4050489A1 (en) 2021-02-24 2021-02-24 Automatic generation of integrated test procedures using system test procedures

Publications (1)

Publication Number Publication Date
KR20220121175A true KR20220121175A (ko) 2022-08-31

Family

ID=75223234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220002472A KR20220121175A (ko) 2021-02-24 2022-01-07 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생

Country Status (6)

Country Link
US (1) US11960385B2 (ko)
EP (1) EP4050489A1 (ko)
JP (1) JP2022136983A (ko)
KR (1) KR20220121175A (ko)
CN (1) CN115033471A (ko)
CA (1) CA3144852A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102618518B1 (ko) * 2022-12-19 2023-12-28 쿠팡 주식회사 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390325A (en) 1992-12-23 1995-02-14 Taligent, Inc. Automated testing system
US6182258B1 (en) 1997-06-03 2001-01-30 Verisity Ltd. Method and apparatus for test generation during circuit design
US6804634B1 (en) 2000-02-17 2004-10-12 Lucent Technologies Inc. Automatic generation and regeneration of a covering test case set from a model
US7284177B2 (en) 2005-03-31 2007-10-16 Verisity, Ltd. Method and apparatus for functionally verifying a physical device under test
JP4850091B2 (ja) 2007-02-23 2012-01-11 富士通株式会社 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
US7653888B2 (en) 2007-04-25 2010-01-26 International Business Machines Corporation System for and method of integrating test structures into an integrated circuit
US20090172647A1 (en) 2007-12-31 2009-07-02 Tarun Telang System and method for model driven unit testing environment
US8196113B2 (en) * 2008-01-29 2012-06-05 Intuit Inc. Realtime creation of datasets in model based testing
US8676723B2 (en) 2008-03-04 2014-03-18 Codese Co., Ltd. Automated test system based on three-dimensional application software framework and a method thereof
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
US8893087B2 (en) 2011-08-08 2014-11-18 Ca, Inc. Automating functionality test cases
US10678666B1 (en) * 2011-09-07 2020-06-09 Innovative Defense Technologies, LLC Method and system for implementing automated test and retest procedures in a virtual test environment
EP2990892B1 (de) 2014-09-01 2019-05-22 dSPACE digital signal processing and control engineering GmbH Verfahren zum Verbinden einer Eingabe/Ausgabe-Schnittstelle eines für das Testen eines Steuergeräts eingerichteten Testgeräts
US10108536B2 (en) * 2014-12-10 2018-10-23 General Electric Company Integrated automated test case generation for safety-critical software
US9940222B2 (en) * 2015-11-20 2018-04-10 General Electric Company System and method for safety-critical software automated requirements-based test case generation
US10025696B2 (en) * 2016-02-09 2018-07-17 General Electric Company System and method for equivalence class analysis-based automated requirements-based test case generation
US20210326228A1 (en) * 2016-11-17 2021-10-21 Vestel Elektronik Sanayi Ve Ticaret A.S. System testing method and system test kit
US10599546B1 (en) * 2017-10-25 2020-03-24 Uatc, Llc Autonomous vehicle testing systems and methods
US10585779B2 (en) * 2018-07-30 2020-03-10 General Electric Company Systems and methods of requirements chaining and applications thereof
EP3722942B1 (en) 2019-04-10 2023-03-22 The Boeing Company Running integration tests using unit tests
DE102020205539A1 (de) * 2020-04-30 2021-11-04 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Prüfen eines technischen Systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102618518B1 (ko) * 2022-12-19 2023-12-28 쿠팡 주식회사 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2024135932A1 (ko) * 2022-12-19 2024-06-27 쿠팡 주식회사 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
US11960385B2 (en) 2024-04-16
US20220269593A1 (en) 2022-08-25
CN115033471A (zh) 2022-09-09
CA3144852A1 (en) 2022-08-24
JP2022136983A (ja) 2022-09-21
EP4050489A1 (en) 2022-08-31

Similar Documents

Publication Publication Date Title
CN107066375B (zh) 安全关键软件自动化基于需求的测试实例生成***和方法
US8930758B2 (en) Automated testing of mechatronic systems
CN111190820B (zh) 一种显示控制软件的配置项测试平台构建方法和测试方法
US10108531B2 (en) Transferring application software from a physical to a virtual computer system
EP3379436A1 (en) Method and apparatus for testing design of satellite wiring harness and signal processing units
CN114139475A (zh) 芯片验证方法、***、设备及存储介质
EP3722942B1 (en) Running integration tests using unit tests
KR20220121175A (ko) 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생
KR101704338B1 (ko) 실시간 시스템을 위한 테스트 케이스 생성 장치 및 방법
CN112860587B (zh) Ui自动测试方法和装置
CN110928761B (zh) 需求链及其应用的***和方法
US10839132B2 (en) Automatic cover point generation based on register transfer level analysis
CN103744757B (zh) 一种基于arinc661的df文件验证方法
Mueller et al. Automated test artifact generation for a distributed avionics platform utilizing abstract state machines
CN111190821B (zh) 一种舱门综合管理软件的测试平台构建方法和测试方法
Erkkinen et al. Model-based design for DO-178B with qualified tools
US20170315521A1 (en) Method for configuring a tester equipped for testing an electronic control unit
Chaaban et al. A partially automated HiL test environment for model-based development using Simulink® and OPC technology
Boydston et al. Joint common architecture (JCA) demonstration architecture centric virtual integration process (ACVIP) shadow effort
Spichkova et al. Towards quality-oriented architecture: Integration in a global context
EP4287027A1 (en) Method and system for generating test cases for an engineering program
Silva Filho et al. An integrated model-driven approach for mechatronic systems testing
CN109800155B (zh) 一种基于Probe的QTE联锁应用软件测试方法及装置
Durrieu et al. Formal proof and test case generation for critical embedded systems using SCADE
Frisini et al. Technology concept of an automated system for integration testing