(기술백서) 더욱 신속한 테스트로 제품 개발 수명 주기 가속화

-
더 빠른 테스트로 제품 개발 수명주기 가속화 : V 다이어그램 탐색
2020.1.14
개요
항공기의 추진 시스템과 같은 전자 기계 시스템은 소프트웨어, 컨트롤러 및 기계 구성 요소로 구성됩니다. 복잡성이 계속 증가함에 따라 이러한 시스템은 프로젝트 일정 및 예산 제약 내에서 필요한 테스트 범위를 달성하기 위해보다 정교한 테스트 방법이 필요합니다. 또한 이러한 테스터는 MRO (유지 보수-수리-노후화) 서비스 계약을 이행하기 위해 수십 년 동안 프로그램 수명 동안 유지 관리 되어야 하며 시스템 업그레이드를 수용하도록 주기적으로 수정 되어야 합니다. 이러한 긴 프로그램 수명주기 동안 점점 더 복잡 해지는 테스트 대상 장치 (DUT) 및 테스트 시스템을 지원하는 것은 특히 제한된 리소스로 인해 어렵습니다.
테스트에 대한 유연한 플랫폼 기반 접근 방식은 이러한 문제를 해결하기 위한 통합 테스트 아키텍처를 개발하는데 도움이 될 수 있습니다. 단일 테스트 아키텍처를 통합하면 개발주기 또는 프로그램 전반에 걸쳐 서로 다른 그룹에서 작업하는 테스트 팀의 테스트 개발 시간 단축 및 복제 노력 최소화 등 여러 가지 이점이 있습니다.
최대의 이점을 위해 전자 기계 시스템 용 통합 테스트 아키텍처는 다음을 충족 해야 합니다.
- 모델 기반 제어 및 시뮬레이션을 지원하여 개발주기 초기에 테스트하고 복제하기 어려운 테스트 사례 및 스트레스 테스트의 확장된 테스트 매트릭스를 포함합니다.
- 센서, 액추에이터, 계측기 및 소프트웨어와 같은 다양한 I/O 및 타사 장치를 통합합니다. 이것은 재사용을 최대화하고 통합 작업을 최소화합니다. 구성 가능 / 확장 가능 및 분산 / 동기화 된 I/O 아키텍처는 설계 프로세스 전반에 걸쳐 테스트 케이스에 대한 다양한 I/O 요구를 수용하고 프로그램간에 재사용 할 수 있어야 합니다.
- 엔터프라이즈 수준의 IT 친화적인 데이터 관리 및 시스템 관리 프레임 워크를 제공하여 의사 결정을 개선하고 반복 테스트를 줄이고 보고 시간과 노력을 줄이고 자산 활용도와 가동 시간을 늘립니다.
전기 기계 시스템은 에너지를 기계 작업으로 변환하거나 그 반대로 변환합니다. 여기에는 센서 및 기타 시스템의 입력을 사용하여 기계, 작동 및 물리적 구성 요소를 제어하는 특수 제작 소프트웨어를 실행하는 제어 전자 장치 (예 : 전자 제어 장치) 또는 임베디드 컨트롤러 (예 : 라인 교체 가능 장치)가 있습니다. 전자 기계 시스템은 차량 추진력을 제공하고 항공기, 지상 차량 및 선박에서 다양한 기타 기능을 제공합니다.
그림 1. 자동차 카테고리의 예와 그에 포함된 전자 기계 시스템의 일반적인 유형
그림 2. 전자 기계 시스템을 위한 일반화된 제품 개발 프로세스
그림 3. 개발 프로세스 및 관련 테스트 유형을 나타내는 V-모델 방법
이러한 시스템의 기능, 작동 방법 및 설계 요구 사항은 매우 다양 할 수 있지만 전기 기계 차량 시스템의 개발 및 테스트는 동일한 일반 워크 플로를 따릅니다. 시스템 엔지니어는 전체 차량과 차량의 시스템, 하위 시스템 및 구성 요소가 충족해야 하는 요구 사항을 설계합니다. 별도의 팀이 사양에 따라 적절한 제어 전자 장치, 소프트웨어 및 기계 구성 요소를 개발하여 이러한 요구 사항을 해결합니다. 이러한 팀은 자체 개발 프로세스 (일반적으로 특정 조직의 요구에 맞게 조정 된 Agile과 같은 일반적인 방법론)를 따라 전기 기계 차량 시스템의 특정 부분에 대한 설계 및 검증 단계를 진행합니다. 그런 다음 시스템은 완성된 차량을 생산하기 위해 단계적으로 구축, 통합 및 테스트됩니다.
요구 사항에서 설계 및 검증에 이르는 프로세스는 다양한 방식으로 표현되며, 그중 하나가 V- 모델입니다 (그림 3). V- 모델을 둘러싼 모든 혼란과 많은 화신과 해석에도 불구하고 디자인 프로세스 전반에 걸쳐 테스트 요구 사항을 해결하기 위해 범용 테스트 아키텍처의 장점을 조사하는데 여전히 유용한 프레임 워크입니다.
일반적으로 V의 왼쪽은 점진적인 설계 결정을 통해 상위 수준 요구 사항을 하위 수준 사양으로 분류한 것입니다. 이러한 결정은 개발중인 시스템 유형에 따라 다양한 CAE (Computer Aided Engineering) 도구를 포함하는 점점 더 모델 기반 설계 접근 방식을 사용하여 이루어집니다. 이 주제에 대한 자세한 내용은 디지털 전환 및 디지털 자매 결연에 대한 실질적인 문헌을 참조하십시오. V의 맨 아래에서 시스템은 가장 낮은 기본 수준의 구성 요소로 분류되고 설계는 구현으로 변환될 준비가 되었으며 구성 요소 프로토타입은 빌드 할 준비가 되었습니다 (및 소프트웨어를 실행하는 프로토타입에 배포 된 코드 , 이것이 V의 하단에 "배포"라는 레이블이 붙는 이유입니다.)
참고 : 시스템, 하위 시스템 및 구성 요소 세부 정보가 제공됨에 따라 소프트웨어, 전기 구성 요소 및 기계 구성 요소의 개발이 그림 2와 같이 병렬로 진행됩니다. 필요한 도메인 전문 지식을 갖춘 별도의 설계 및 테스트 팀이 일반적으로 개발 프로세스를 소유합니다.
참고 : 검증(Verification)과 검증(Validation)이라는 용어는 다소 무차별적으로 사용되며 때로는 "V&V"라는 포괄적인 용어로 사용됩니다. 일반적으로 확인 과정에서 "내가 제대로 구축하고 있는가?"라고 물어보고, 시스템이 일련의 사양과 비교하여 예상대로 (허용 오차 또는 범위로) 작동하는지 확인합니다. 그러나 검증 과정에서 "내가 옳은 것을 만들고 있는가?"라고 묻습니다. 시스템이 완료되면 일련의 요구 사항에 대해 측정된 허용 가능한 성능으로 설계된 작업을 수행 할 수 있는지 확인합니다.
다음 테스트에 대한 간단한 설명과 정의는 제품 설계 프로세스에서 만나는 순서대로 되어 있으며 실제로는 매우 반복적입니다. 설계를 반복하기 위해 설계 V를 통해 빠르고 효율적으로 진행할 수 있는 능력은 동급 최강의 테스트 조직의 경쟁 우위이자 핵심 역량입니다. V-모델에 대한 한 가지 비판은 그것이 Waterfall 설계 방법론과 같은 순차적 프로세스를 나타낸다는 것입니다.
MIL (Model-in-the-Loop) 테스트
MIL 테스트의 경우 소프트웨어에서 컨트롤러와 플랜트를 모두 모델링 합니다. 소프트웨어 시뮬레이션 환경에서 컨트롤러 전략 및 시스템 동작을 테스트하기 위해 설계 프로세스 초기에 이러한 유형의 테스트를 수행합니다.
SIL (Software-in-the-Loop) 테스트
SIL 테스트의 경우 플랜트를 모델링 하지만 선택한 개발 언어로 작성 및 실행되고 개발 시스템, 때로는 가상 머신에서 컴파일 및 실행되는 실제 제어 코드에 인터페이스 합니다.
PIL (Processor-in-the-Loop) 테스트
PIL 테스트는 SIL 테스트와 유사하지만 배포 된 시스템에서 사용할 특정 프로세서 아키텍처 및 OS에 대해 제어 코드가 작성되고 컴파일 됩니다. 예를 들어, 특정 설정으로 특정 FPGA에서 코드를 실행하는 경우 해당 특정 시나리오에 대한 코드를 컴파일 하여 실제 처리 아키텍처에서 적절한 기능을 보장하고 충분한 리소스의 가용성을 보장합니다. 특히 전자 제어 장치 (ECU)의 설계 최적화로 인해 소프트웨어 기능 및 기능에 대한 제한과 절충이 발생하는 경우 배포 된 처리 아키텍처 및 하드웨어의 구현이 까다 롭고 시간이 많이 소요되는 프로세스가 될 수 있으므로 이는 별도의 명명 된 테스트 단계입니다.
RCP (Rapid Control Prototyping)
RCP는 실시간 컨트롤러 및 / 또는 실제 I/O를 통해 실제 플랜트에 연결된 FPGA에서 실행되는 수학적 모델을 사용하여 가능한 제어 체계를 빠르게 반복하는데 사용됩니다.
HIL (Hardware-in-the-Loop) 테스트
HIL은 주변의 물리적 구성 요소와 센서를 시뮬레이션 하여 실제 임베디드 컨트롤러에서 소프트웨어 테스트를 수행하므로 ECU는 신호 컨디셔닝, 실제 부하 수준 및 오류 삽입 기능을 사용하여 실제 전기 I/O를 수행합니다.
물리적 테스트
물리적 테스트 애플리케이션은 트랜스 듀서 기반 측정 (예 : 온도, 압력, 응력 / 변형, 소리, 가속, 변위 등)을 사용하여 테스트중인 구성 요소 또는 시스템의 물리적 특성을 테스트합니다. 애플리케이션 예에는 마이크 및 가속도계에서 소리 및 진동 측정을 수행하는 소음, 진동 및 거칠기 (NVH) 테스트가 포함됩니다. 또 다른 예는 내구성 테스트 / 수명주기 테스트 (고가 속 수명 테스트 또는 HALT 및 고가 속 스트레스 화면 또는 HASS)로, DUT가 다양한 예상 작동 조건에서 어떻게 작동할지 결정하는데 중점을 둡니다.
시스템 통합 테스트
- V 모델의 전체 오른쪽은 연속적인 통합 테스트 수준을 강조합니다. 통합에는 일반적으로 두 가지 주요 유형의 시스템 사용이 포함됩니다. 테스트 장비는 시스템 수준 테스트를 위해 다양한 구성 요소를 단일 (하위) 시스템으로 통합하는 것을 테스트하는데 사용됩니다. 테스트 리그는 다양한 기본 수준 구성 요소를 작동하는 시스템으로 결합하기 때문에 가능한 광범위한 테스트를 처리하는데 적합합니다. 작동하는 시스템이 있으면 테스트 설정 및 실행이 용이합니다.
- 차량 수준에서 테스트하기 위한 여러 하위 시스템의 통합인 시스템 통합 연구소 또는 "철새"는 실제 차량 레이아웃 및 시스템 연결에 가깝습니다. 시스템 시스템 테스트 및 시스템 간 통신 / 상호 작용 / 경계 조건 테스트에 사용됩니다. 일부 테스트 사례는 테스트 인프라에서 이 정도 규모를 가져야만 다룰 수 있습니다. 이것은 실제 현장 / 비행 테스트 / 시험을 위해 프로토 타입 차량이 제작되기 전의 마지막 테스트 단계입니다.
MRO (유지 보수, 수리 및 노후화) 테스트
MRO 또는 디포 테스트는 차량 시스템에 필요한 서비스, 수리 및 업그레이드를 제공합니다. 때로는 동일한 장비 또는 수정 된 버전이 시스템 테스트 장비에 사용됩니다. MRO 테스트의 과제는 테스터 하드웨어 및 소프트웨어 노후화 문제, 직원 이직,주기적인 시스템 업그레이드로 인한 요구 사항 변경 전반에 걸쳐 프로그램 수명 동안 테스트 기능을 효율적으로 유지하는 것입니다.
현장 시험
필드 테스트에 사용되는 차량은 일반적으로 이 값 비싼 유형의 테스트 중에 차량 작동에 대한 가능한 많은 데이터를 제공하기 위해 고도로 계측됩니다. 주요 고려 사항은 무게 / 크기, 테스트 장비에 전원을 공급하는 능력, 데이터 저장 및 검색입니다. 시간이 많이 걸리고 비용이 많이 들지만 모델이 완벽하지 않고 시스템 상호 작용이 복잡하고 이전 테스트 절차에서 다루지 않았던 예상치 못한 동작이 발생할 수 있기 때문에 현장 테스트는 여전히 제품 개발 프로세스의 핵심 부분입니다. 현장 테스트는 운영 준비 상태를 결정합니다.
통합 테스트 아키텍처 설계 : 설계주기 전반에 걸쳐 테스트 요구 사항 처리
이제 개발 프로세스 및 관련 테스트 유형에 익숙해 졌으므로 통합 테스트 아키텍처의 잠재적인 이점을 확인할 수 있습니다. 초기 프로토타이핑에서 소프트웨어, 전기 및 기계 검증, 시스템 수준 테스트 셀 및 시스템 통합 실험실에 이르기까지 설계주기 전반에 걸쳐 테스트 요구 사항을 서비스 할 수 있는 기능은 하나의 테스트 플랫폼을 통해 테스트 개발 속도를 높이고 리소스 활용도를 높일 수 있습니다. 장비와 사람 모두 디자인 V와 프로그램 전체에서 상호 운용성과 대체가 가능합니다. 테스트 기능 및 반복과 관련하여 V 모델을 통해보다 빠르고 쉽게 진행할 수 있는 이 기능은 매우 중요합니다.
통합 테스트 아키텍처는 객체 지향 프로그래밍 모델과 유사한 이점을 제공합니다. 유사한 방법을 사용하여 일반적으로 동일한 유형의 시스템을 개발해야 한다는 것을 알고 있다면 프로젝트 전반에서 사용할 수 있고 각 프로젝트의 고유 한 사양에 맞게 사용자 정의 할 수 있는 핵심 빌딩 블록에 투자 할 수 있습니다.
테스트에 대한이 플랫폼 기반 접근 방식은 테스트 아키텍처를 뒷받침하는 유연하고 확장 가능한 플랫폼을 통해 시스템 기능 및 테스트 기능 측면에서 변화하는 요구 사항과 예상치 못한 향후 요구 사항이 "당신을 망가 뜨리지"않을 것이라고 확신 할 수 있기 때문에 더욱 강력합니다. 또는 달리 말하자면,이 접근 방식을 사용하면 기능을 명시적으로 설계하지 않음으로써 알려지지 않은 상황에 대비할 수 있지만 향후 요구 사항을 예상 할 수 있습니다. 이것은 미래에 필요하다고 생각되는 유연성과 확장성을 명시적으로 설계해야 하는 목적에 맞게 구축된 고정 기능 시스템보다 훨씬 낫습니다. 이러한 고정 기능 시스템을 사용하면 시간과 비용과 기능 간의 균형을 맞출 수 있습니다.
통합 테스트 아키텍처 설계 : 모델 기반 제어 및 시뮬레이션 지원
더 빠르게 반복하고 더 저렴하고 안전한 테스트를 보장하려면 개발 프로세스에서 가능한 한 빨리 테스트를 "프런트로드"해야 합니다. 모델 기반 제어 및 시뮬레이션을 사용하여 실험실에서 자극과 실제 조건을 적절하게 표현 함으로써 이를 수행 할 수 있습니다. 이를 통해 이전에는 현장 테스트로만 가능했던 분석을 시스템 통합 실험실 또는 시스템 수준 테스트 장비로 이동할 수 있습니다. 현장에서 실제 자극을 기록하고 모델 제어 작동을 통해 시스템에서 "재생"하는 것과 같은 기술은 이러한 유형의 테스트를 개선하고 있습니다. 구성 요소를 시뮬레이션 하여 다른 팀의 일정에서 테스트 요구 사항을 분리 할 수 있습니다. 그러나 충분한 테스트 결과 충실도를 보장하려면 구성 요소를 시뮬레이션 하는데 사용되는 모델 및 방법의 정확성과 효율성을 검증하는데 시간을 투자해야 합니다.
또 다른 이점은 복제하기 어렵고 위험하며 극단적인 테스트 사례를 더 잘 테스트 할 수 있다는 것입니다. 이렇게 증가된 테스트 범위는 설계에 대한 더 나은 신뢰를 가져옵니다.
통합 테스트 아키텍처 설계 : 통합 및 상호 운용성
때로는 특정 기능에 사용할 수 있는 센서, 액추에이터, 계측기 또는 소프트웨어의 유형이나 브랜드를 선택할 수 있는 경우가 있습니다. 시스템의 모든 이질적인 부분을 함께 작동시키는 것은 특히 레거시 테스터 개조 또는 재 설계에서 노후된 시스템 구성 요소를 처리 할 때 테스트 시스템 설계 비용의 상당 부분을 차지합니다. 다양한 I/O 및 타사 장치 기능이 내장된 플랫폼을 활용하는 기능은 재사용을 최대화하고 통합 작업을 최소화하여 효율성을 향상시킬 수 있습니다. 구성 가능 / 확장 가능 및 분산 / 동기화 된 I/O 아키텍처는 설계 프로세스 전반에 걸쳐 테스트 케이스에 대한 다양한 I/O 요구를 수용하고 프로그램 전체에서 재사용을 촉진합니다.
통합 테스트 아키텍처 설계 : 데이터 및 시스템 관리
더 높은 속도로 더 많은 측정을 수행하면 다양한 형식으로 더 많은 데이터 (훨씬 더 많은 데이터)가 생성됩니다. 그리고 더 많은 클라이언트가 보고서에 대한 더 많은 요구를 충족하기 위해 설계주기의 다양한 유형의 테스트 에서 이 데이터에 액세스 해야 합니다. 데이터가 사용 가능하고 실제로 사용되는지 확인하는 것은 이미 어려운 일입니다. 데이터를 효과적으로 찾아서 로드하고, 해당 데이터를 대화식으로 시각화 및 분석하고,보고를 자동화하여 시간을 절약 할 수 있어야 합니다. 통합 테스트 아키텍처는 기업 수준의 IT 친화적인 데이터 관리 및 시스템 관리 프레임 워크를 제공하여 의사 결정을 개선하고, 반복 테스트를 줄이고,보고 시간과 노력을 줄이며, 데이터를 책임이 아닌 자산으로 만들어 자산 활용도와 가동 시간을 늘려야 합니다.
점점 더 전 세계적으로 분산 된 개발 및 테스트 팀은 해당 사이트에 배포 된 테스터를 효과적으로 관리하고 사이트 전체에서 생성 된 데이터를 상호 연관시키는 데 어려움을 겪고 있습니다. 분산 된 테스트 시스템 및 데이터를 효과적으로 관리하면 운영 통찰력을 개선하고 다운 타임을 줄이며 생성 된 데이터에 대한 신뢰도를 높일 수 있습니다.
통합 테스트 아키텍처로 더 나은 테스트
소프트웨어 정의 테스트 플랫폼을 기반으로 한 통합 테스트 아키텍처에 투자하는 것은 고급 전자 기계 차량 시스템을 설계하고 테스트하는 팀을 위한 동급 최강의 접근 방식입니다. 이 접근 방식을 사용하면 전체 사내 맞춤형 개발 또는 전체 턴키 아웃소싱에 비해 더 빠른 테스트 개발, 더 나은 테스트 범위, 더 효율적이 운영, 더 민첩하고 더 유능한 팀, 더 낮은 자본 지출, 더 나은 장기 테스트 시스템 가동 시간 및 유지 관리가 가능합니다.