더 빠른 테스트로 제품 개발 수명 주기 가속화: V 다이어그램 살펴보기

개요

항공기의 추진 시스템과 같은 전자기계 시스템은 소프트웨어, 컨트롤러 및 기계 부품으로 구성됩니다. 복잡성이 계속 증가함에 따라, 이러한 시스템은 프로젝트 일정과 예산 제약 내에서 요구되는 테스트 커버리지를 달성하기 위해 보다 정교한 테스트 방법을 필요로 합니다. 또한 이러한 테스터는 MRO(Maintenance-Repair-Obsolescence) 서비스 계약을 이행할 수 있도록 수십 년의 프로그램 수명 동안 유지 관리되어야 하며 시스템 업그레이드를 수용할 수 있도록 주기적으로 변경되어야 합니다.

이러한 긴 프로그램 수명 주기 동안 점점 더 복잡해지는 테스트 대상 디바이스(DUT)와 테스트 시스템을 지원하는 것은 특히 제한된 리소스로는 어려운 일입니다. 테스트에 대한 유연한 플랫폼 기반 접근 방식은 이러한 문제를 해결할 수 있는 통합 테스트 아키텍처를 개발하는 데 도움을 줄 수 있습니다. 단일 테스트 아키텍처로 통합하면 개발 주기 또는 프로그램 전반에 걸쳐 여러 그룹으로 작업하는 테스트 팀의 테스트 개발 시간 단축, 재현 노력 최소화 등의 여러 이점을 얻을 수 있습니다.

최대의 이점을 얻으려면 전자기계 시스템용 통합 테스트 아키텍처가 다음을 충족해야 합니다.

• 초기 프로토타이핑부터 소프트웨어, 전기 및 기계적 검증, 시스템 수준의 테스트 장비 및 시스템 통합 랩("아이언 버드"), 생산 테스트에 이르기까지 설계 주기 전반에 걸쳐 서비스 테스트 요구 사항을 처리합니다.
• 모델 기반 제어 및 시뮬레이션을 지원하여 개발 주기 조기에 테스트하고 재현하기 어려운 테스트 케이스와 스트레스 테스트로 구성된 확장된 테스트 매트릭스를 처리합니다.
• 센서, 액추에이터, 계측기 및 소프트웨어와 같은 다양한 I/O 및 타사 디바이스를 통합합니다. 이는 재사용을 최대화하고 통합 작업을 최소화합니다. 설계 프로세스 전반에 걸친 테스트 케이스들의 다양한 I/O 요구를 수용하고 프로그램 전반에서 재사용을 촉진할 수 있도록 설정 가능/확장 가능 및 분산/동기화 I/O 아키텍처가 있어야 합니다.
• 엔터프라이즈 수준의 IT 친화적인 데이터 관리 및 시스템 관리 프레임워크를 제공하여 의사 결정을 개선하고, 반복 테스트를 줄이며, 보고 시간과 노력을 줄이고, 자산 활용도와 가동 시간을 늘립니다.

내용

전자 기계 시스템은 에너지를 기계 작업으로 전환하며 역으로 기계 작업을 에너지로 전환합니다. 여기에는 센서 및 기타 시스템의 입력을 사용하여 특수 제작 소프트웨어의 실행을 통해 물리적 동작, 전기적 작동 및 물리적 구성요소를 제어하는 제어 전자장치(예: 전자 제어 유닛) 또는 임베디드 컨트롤러(예: 라인 교체 가능 장치)가 있습니다. 전자기계 시스템은 차량의 추진력을 제공하며 항공기, 지상 차량 및 선박에서 다양한 기타 기능을 제공합니다.   

차량 내 전자기계 시스템

그림 1. 차량 유형 예와 거기 포함된 전자기계 시스템의 일반적인 유형

이러한 시스템의 기능, 작동 방법 및 설계 요구 사항은 매우 다양할 수 있지만, 전자기계 차량 시스템의 개발 및 테스트는 동일한 일반적 작업 흐름을 따릅니다. 시스템 엔지니어는 전체 차량을 설계하며, 차량의 시스템, 서브시스템 및 구성요소가 충족해야 하는 요구 사항도 설계합니다. 이와 별도의 팀들은 스펙에 따라 적절한 제어 전자 장치, 소프트웨어 및 기계적 구성요소를 개발하여 이러한 요구 사항을 해결합니다. 이 팀들은 자체적 개발 프로세스(일반적으로 특정 조직의 요구에 맞게 조정된 애자일과 같은 일반적인 방법론)에 따라 담당하는 전자기계 차량 시스템의 특정 부분에 대한 설계 및 검증 단계를 진행합니다. 그런 다음, 시스템을 설계와 구현의 반복을 통해 구축, 통합되고 단계별로 테스트되어 완성차가 생산됩니다.

설계 프로세스 전반에 걸친 전자기계 시스템 테스트

그림 2. 전자기계 시스템을 위한 일반화된 제품 개발 프로세스

요구 사항에서 설계 및 검증을 거쳐 진행되는 프로세스는 다양한 방식으로 표현되며, 그 중 하나가 V-모델입니다(그림 3). V-모델과 여러 V-모델의 구현 및 해석을 둘러싼 모든 혼란에도 불구하고, V-모델은 설계 프로세스 전반에 걸친 테스트 요구 사항을 해결하기 위한 범용 테스트 아키텍처의 장점을 검토하는 데는 여전히 유용한 프레임워크입니다.

개발 및 테스트 작업이 포함된 설계 V

그림 3. 개발 프로세스 및 관련 테스트 유형을 나타내는 V-모델 방법

일반적으로 V의 왼쪽은 점진적인 설계 결정을 통해 상위 레벨 요구 사항을 하위 레벨 스펙으로 세분화한 것을 나타냅니다. 이러한 결정은 개발 중인 시스템의 유형에 따라 다양한 CAE(Computer Aided Engineering) 도구를 포함하고 점점 더 모델 기반으로 변하는 설계 접근법을 사용하여 이루어집니다. 이 주제에 대한 자세한 내용은 디지털 혁신 및 디지털 트위닝에 대한 광범위한 관련 문헌을 참조하십시오. V의 맨 아래에는 시스템이 가장 낮은 레벨의 구성요소로 쪼개져 있고, 설계가 구현으로 변환될 준비가 되었으며, 구성요소 프로토타입을 구축할 준비가 된 상태(그리고 코드는 소프트웨어가 실행되는 프로토타입에 배포됨, V의 아래쪽에 "배포"라는 라벨이 붙는 이유)입니다. V의 오른쪽은 이러한 다양한 요소를 통합하고, 스펙에 따라 작동을 확인하고, 기본 레벨 구성요소에서 차량 레벨에 이르기까지 각 통합 단계에서 요구사항에 대한 성능을 검증하는 것을 보여줍니다.

참고: 시스템, 서브시스템 및 구성요소 세부사항이 제공되면 그림 2와 같이 소프트웨어, 전기적 구성요소 및 기계적 구성요소의 개발이 병렬로 진행됩니다. 필요한 전문 지식을 갖춘 별도의 설계 팀과 테스트 팀이 일반적으로 개발 프로세스를 담당합니다.

참고: "확인"과 "검증"이라는 용어는 다소 구별없이 사용되며, 때때로 "V&V"라는 포괄적인 용어가 사용됩니다. 일반적으로 확인 과정에서는 “이렇게 만드는 게 맞나?”라고 묻고, 스펙 세트와 비교하여 시스템이 예상대로(허용 범위 내에서) 작동하는지 확인합니다. 하지만 검증 과정에서는 “이걸 만드는 게 맞나?”라고 묻습니다. 시스템 구현이 완료되면 일련의 요구 사항에 대해 측정된 허용 가능한 성능 내에서 의도된 작업을 수행할 수 있는지 검증합니다.

다음 테스트에 대한 간단한 설명과 정의는 제품 설계 프로세스에서 접하게 되는 순서대로 되어 있으며, 이는 실제로 매우 반복적입니다. 반복적인 설계를 위해 설계 V-모델 위를 효율적으로 움직이는 능력은 경쟁 우위이자 동급 최강 테스트 조직의 핵심 역량입니다. V-모델에 대한 한 가지 비판은 이것이 폭포수 설계 방법론과 같이 순차적 프로세스라는 것입니다.

MIL(Model-in-the-Loop) 테스트

MIL 테스트의 경우 소프트웨어에서 컨트롤러와 플랜트를 모두 모델링합니다. 이러한 유형의 테스트는 설계 프로세스 초기에 수행하여 소프트웨어 시뮬레이션 환경에서 컨트롤러 전략과 시스템 동작을 테스트합니다.

SIL(Software-in-the-Loop) 테스트

SIL 테스트의 경우, 플랜트를 모델링하고 제어 코드는 선택된 개발 언어로 실제로 작성하고 개발 시스템(때로는 가상 머신)에서 컴파일 및 실행하여 모델과 연결합니다.

PIL(Processor-in-the-Loop) 테스트

PIL 테스트는 SIL 테스트와 유사하지만, 제어 코드는 배포 대상 시스템의 프로세서 아키텍처 및 OS에서 실행될 수 있도록 작성되고 컴파일됩니다. 예를 들어, 특정 설정으로 특정 FPGA에서 코드가 실행될 것이라면, 실제 프로세싱 아키텍처에서 실행되었을 때 적절한 기능을 보장하고 충분한 리소스의 가용성을 보장하기 위해, 그 시나리오에 알맞게 코드를 컴파일합니다. 이 단계가 별도의 명명된 테스트 단계인 이유는 배포되는 프로세싱 아키텍처와 하드웨어의 구현은 까다롭고 시간이 많이 소요될 수 있기 때문입니다. 특히 전자 제어 유닛(ECU)의 설계 최적화가 소프트웨어 기능에 제약을 만들고 절충점이 생기는 경우에 그러합니다.

신속 제어 프로토타이핑(RCP)

RCP는 리얼타임 컨트롤러 및/또는 실제 I/O를 통해 실제 플랜트에 연결된 FPGA에서 실행되는 수학적 모델을 사용하여 가능한 제어 방식의 프로토타입을 빠르게 반복하는 데 사용됩니다.

HIL(Hardware-in-the-Loop) 테스트

HIL은 주변의 물리적 구성요소와 센서를 시뮬레이션하여 실제 임베디드 컨트롤러에서 소프트웨어 테스트를 수행함으로써 ECU가 신호 컨디셔닝, 실제 로드 레벨 및 오류 삽입 기능을 사용하여 실제 전기 I/O를 수행할 수 있도록 합니다.

물리적 테스트

물리적 테스트 어플리케이션은 트랜스듀서 기반 측정(예: 온도, 압력, 응력/변형률, 사운드, 가속도, 변위 등)을 사용하여 테스트 대상 구성요소 또는 시스템의 물리적 특성을 테스트합니다. 어플리케이션의 예로는 마이크와 가속도계에서 사운드 및 진동을 측정하는 NVH(Noise, Vibration, and harshness) 테스트가 있습니다. 또 다른 예로는 내구성 테스트/수명 주기 테스트(HALT: Highly Accelerated Life Test, HASS: Highly Accelerated Stress Screen)가 있습니다. 이 테스트는 예상되는 다양한 작동 조건에서 DUT가 어떻게 작동할지 결정하는 데 중점을 둡니다.

시스템 통합 테스트

  1. V-모델의 오른쪽 전체는 연속적인 통합 테스트 레벨을 강조합니다. 일반적으로 통합에는 다음과 같은 두 가지 주요 유형의 시스템이 사용됩니다.
    테스트 장비는 시스템 레벨 테스트를 위해 다양한 구성요소를 단일 (서브)시스템으로 통합하는 테스트에 사용됩니다. 테스트 장비는 다양한 기본 레벨 구성요소를 동작하는 시스템으로 통합하기 때문에 넓은 범위의 가능한 테스트를 처리하는 데 매우 적합합니다. 동작하는 시스템이 있으면 테스트 설정과 실행이 용이합니다.
  2. 차량 레벨에서 테스트하기 위해 여러 서브시스템을 통합하는 시스템 통합 실험체 또는 "아이언 버드"는 실제 차량 레이아웃과 시스템 연결과 유사한 환경을 제공합니다. 이 실험체는 시스템의 시스템 테스트와 시스템 간 통신/상호작용/경계 조건 테스트에 사용됩니다. 일부 테스트 케이스는 이 정도 규모의 테스트 인프라가 있어야만 다룰 수 있습니다. 이것은 실제 필드/주행 테스트/시운전을 위해 프로토타입 차량을 제작하기 전 마지막 테스트 단계입니다.

유지 관리, 수리, 노후화(MRO) 테스트

MRO 또는 차고 테스트는 종종 수십 년, 여러 세대를 넘는 차량 시스템의 긴 수명 동안 필요한 서비스, 수리 및 업그레이드를 제공합니다. 때때로 동일한 장비 또는 수정된 버전이 시스템 테스트 장비에 사용됩니다. MRO 테스트의 과제는 테스터 하드웨어 및 소프트웨어 노후화 문제, 직원 이직, 주기적인 시스템 업그레이드로 인한 요구 사항 변화 전반에 걸쳐 프로그램 수명 동안 테스트 기능을 효율적으로 유지 관리하는 것입니다.  

필드 테스트

필드 테스트에 사용되는 차량은 일반적으로 이러한 유형의 고비용 테스트 중에 차량의 작동에 대한 가능한 많은 데이터를 얻기 위해 많은 장비를 사용합니다. 주요 고려 사항은 무게/크기, 테스트 장비에 전원을 공급하는 능력, 데이터 저장 및 검색입니다. 시간과 비용이 많이 들지만, 필드 테스트는 여전히 제품 개발 프로세스의 핵심 부분입니다. 모델은 완벽할 수 없고 시스템 상호 작용은 복잡하며 이전 테스트 절차에서 다루지 않은 예상치 못한 동작이 발생할 수 있기 때문입니다. 필드 테스트는 운행 준비 상태 여부를 결정합니다.

통합 테스트 아키텍처 설계하기: 설계 주기 전반에 걸쳐 테스트 요구 사항 처리

이제 개발 프로세스 및 관련 테스트 유형에 익숙해졌으므로 통합 테스트 아키텍처의 잠재적인 이점을 볼 수 있을 것입니다. 초기 프로토타이핑부터 소프트웨어, 전기 및 기계적 검증, 시스템 레벨 테스트 셀 및 시스템 통합 랩에 이르기까지 설계 주기 전반에 걸쳐 테스트 요구 사항을 충족하는 기능을 하나의 테스트 플랫폼으로 지원하므로 테스트를 보다 신속하게 개발하고 리소스를 보다 효율적으로 활용할 수 있습니다. 장비와 사람 모두 설계 V와 프로그램 전반에서 상호 운용 및 대체 가능합니다. 테스트 기능 및 반복과 관련하여 V-모델을 보다 빠르고 쉽게 진행할 수 있는 이 능력은 매우 중요합니다.

통합 테스트 아키텍처는 객체 지향 프로그래밍 모델과 유사한 이점을 제공합니다. 유사한 방법을 사용하여 일반적으로 동일한 유형의 시스템을 개발해야 한다는 것을 알고 있다면, 여러 프로젝트에서 사용할 수 있고 각 프로젝트의 고유한 스펙에 맞게 사용자 정의할 수 있는 핵심 빌딩 블록에 투자할 수 있습니다.  

테스트에 대한 이 플랫폼 기반의 접근 방식은, 테스트 아키텍처를 뒷받침하는 유연하고 확장 가능한 플랫폼을 사용하면 시스템의 변화하고 예상치 못한 발생하는 시스템 요구 사항으로 인해 시스템 기능 및 테스트 능력 면에서 "문제"을 일으키지 않는다는 확신을 주기 때문에 더욱 견고합니다. 다시 말해, 이 접근 방식을 사용하면 기능을 명시적으로 설계하지 않음으로써 미지의 사항에 대비하되 미래의 요구 사항을 예측할 수 있습니다. 이는 미래에 필요할 수도 있다고 생각되는 유연성과 확장성을 명시적으로 설계해야 하는 특정 목적의 고정 기능 시스템보다 훨씬 낫습니다. 이러한 고정 기능 시스템은 시간 및 비용과 기능 사이를 절충하도록 강요합니다.

통합 테스트 아키텍처 설계하기: 모델 기반 제어 및 시뮬레이션 지원

더 빨리 반복하면서, 더 저렴하고 안전한 테스트를 보장하려면 개발 프로세스에서 가능한 한 빨리 많은 테스트를 조기에 해야 합니다. 모델 기반 제어 및 시뮬레이션을 사용하면 실험실에서 자극과 실제 조건을 적절하게 표현하여 이를 수행할 수 있습니다. 이를 통해 이전에는 필드 테스트로만 가능했던 분석을 시스템 통합 랩 또는 시스템 레벨 테스트 장비로 앞당길 수 있습니다. 필드에서 실제 자극을 기록하고 모델 제어 동작을 통해 시스템에서 "재생"하는 것과 같은 기술은 이러한 유형의 테스트를 개선하고 있습니다.
또한 다른 팀의 구성요소를 시뮬레이션하여 해당 팀 일정에서 테스트 요구 사항을 분리할 수 있습니다. 그러나 충분한 테스트 결과 충실도를 보장하려면 구성요소를 시뮬레이션하는 데 사용되는 모델과 방법의 정확성과 유효성을 검증하는 데 시간을 할애해야 합니다.
또 다른 이점은 재현하기 어렵고 위험하며 극단적인 테스트 케이스를 더 잘 테스트할 수 있다는 것입니다. 이렇게 테스트 커버리지가 증가하면 설계에 대한 신뢰도가 높아집니다.

통합 테스트 아키텍처 설계하기: 통합 및 상호 운용성

때로는 특정 기능에 사용할 수 있는 센서, 액추에이터, 계측기 또는 소프트웨어의 유형이나 브랜드에 선택의 여지가 많지 않은 경우가 있습니다. 시스템의 모든 이질적인 부분을 함께 작동시키는 것은 테스트 시스템 설계 비용의 상당한 부분을 차지하는 경우가 많습니다. 특히 레거시 테스터의 개조나 재설계 프로젝트에서 노후된 시스템 구성요소를 처리할 때 그렇습니다. 다양한 I/O 및 타사 디바이스 기능이 내장된 플랫폼을 활용할 수 있는 능력은 재사용을 최대화하고 통합 작업을 최소화하여 효율성을 향상시킬 수 있습니다. 설정 가능/확장 가능 및 분산/동기화 I/O 아키텍처는 설계 프로세스 전반에 걸친 테스트 케이스들의 다양한 I/O 요구를 수용하고 프로그램 전반에서 재사용을 촉진합니다.

통합 테스트 아키텍처 설계하기: 데이터 및 시스템 관리

더 많은 측정이 더 빠른 속도로 이루어지면서 다양한 포맷으로 훨씬 더 많은 데이터가 생성되고 있습니다 또한 더 많은 고객이 더 많은 보고서 요구 사항을 충족할 수 있도록 설계 주기의 여러 테스트 단계에서 이 데이터에 접근해야 합니다. 데이터가 사용 가능하고 실제로 사용되도록 하는 것은 그것만으로 어려운 일입니다. 데이터를 효과적으로 찾아서 로드하고, 대화식으로 시각화 및 분석하고, 보고를 자동화하여 시간을 절약할 수 있어야 합니다. 통합 테스트 아키텍처는 엔터프라이즈 수준의 IT 친화적인 데이터 관리 및 시스템 관리 프레임워크를 제공하여 의사 결정을 개선하고, 반복 테스트를 줄이며, 보고 시간과 노력을 줄이고, 데이터를 부채가 아닌 자산으로 만들어 자산 활용도와 가동 시간을 늘려야 합니다.

점점 더, 전 세계에 분산 배치된 개발 및 테스트 팀들이, 마찬가지로 세계 곳곳에 배치된 테스터를 효과적으로 관리하고 모든 곳에서 생성된 데이터의 상관 관계를 분석하는 데 어려움을 겪고 있습니다. 분산된 테스트 시스템과 데이터를 효과적으로 관리하면 운영 통찰력을 향상시켜, 가동 중단 시간을 줄이며, 생성된 데이터의 신뢰도를 높일 수 있습니다.

통합 테스트 아키텍처를 통한 테스트 효율성 향상

소프트웨어 정의 테스트 플랫폼 기반 통합 테스트 아키텍처에 투자하는 것은 첨단 전자기계 차량 시스템을 설계하고 테스트하는 팀에게 동급 최고의 접근 방식입니다. 이 접근 방식은 완전 사내 맞춤형 개발 또는 완전 턴키 아웃소싱에 비해 더 빠른 테스트 개발, 더 나은 테스트 커버리지, 더 효율적인 운영, 더 민첩하고 더 유능한 팀, 더 낮은 자본 지출, 더 나은 장기 테스트 시스템 가동 시간 및 유지 관리성을 제공합니다.