테스트 및 측정 소프트웨어 선택 가이드

개요

테스트 및 측정 엔지니어는 특정 용도로 만든 도구가 필요합니다. 범용 소프트웨어와 프로그래밍 언어는 널리 접근할 수 있지만, 물리적 테스트 시스템 구축과 테스트 데이터 수집과 관련된 복잡한 문제를 해결하는 능력은 제한적입니다.

내용

테스트 및 측정 어플리케이션의 주요 과제

테스트 및 측정 어플리케이션은 고유하고 개발하기 어려운 유형입니다. 이는 실제 환경과 상호작용해야 하며, 이는 다른 어플리케이션 분야의 개발자들이 결코 만날 수 없는 복잡성을 나타냅니다. 이 어플리케이션은 여러 동기화된 소스로부터 데이터를 수집하고, 특수 알고리즘을 사용하여 데이터를 분석한 후 병렬 프로세스를 실행한 후 원격 시스템에 배포해야 합니다. 이러한 문제를 해결하려면, 엔지니어들은 프로젝트 배송 날짜를 충족하면서 각 요구사항에 대한 도메인 특정 솔루션을 제공하는 개발 소프트웨어가 필요합니다.

 

신호 수집

모든 테스트 및 측정 어플리케이션의 목표는 정확한 제품 기능을 확인하는 데이터를 수집하는 것입니다. 이 프로세스는 신호를 수집하기 위해 여러 인스트루먼트와 디바이스에 올바르게 연결하는 첫 번째 문제를 제시합니다. 가장 간단한 형태의 이 프로세스는 PCI, USB, 시리얼과 같은 통신 버스를 통해 데이터를 스트리밍하는 인스트루먼트 드라이버 의존합니다. 일반적으로 제조업체는 이러한 드라이버를 제공하지만, 개발 환경에 대한 고품질의 지원이 없으면 인스트루먼트와 측정을 자동화하는 것이 어렵습니다. 또한 많은 어플리케이션은 컨디셔닝 아날로그 I/O, 디지털 신호, 통신 버스, RF 등 여러 채널과 신호 타입을 처리해야 합니다. 이러한 채널 사이에는 시간 의존성이 발생합니다. 즉, 신호 타이밍, 트리거링, 동기화가 수집 자체만큼 중요해질 수 있습니다. 이러한 경우, 소프트웨어는 한 번에 하나의 인스트루먼트에만 연결되어 있지 않고 전체 시스템에 접근할 수 있어야 합니다.

 

데이터 처리

데이터를 수집한 후에는 엔지니어가 제품에 대한 통찰력을 얻거나 작업에 영향을 미칠 수 있도록 데이터를 처리하고 디스플레이해야 합니다. 서로 다른 디바이스의 데이터는 어플리케이션에 서로 다른 속도로 들어오는 경우가 많으므로, 무결성을 유지하려면 연속적으로 처리 및 저장되어야 합니다.

또한 이러한 데이터는 리얼타임 모니터링을 위해 사용자에게 표시되어야 하는 경우가 많습니다. 이는 테스트 및 측정 어플리케이션이 일반적으로 병렬로 실행되는 액터 또는 동작 중 일부 의존성이 있는 동작을 필요로 함을 의미합니다. 이러한 어플리케이션은 순차적 또는 오프라인 처리를 위해 설계된 환경에서 빌드하기 어렵기 때문에, 효율적인 개발을 위해서는 병렬 실행에 최적화된 어플리케이션이 필요합니다.

 

시스템 배포 및 관리

측정은 일반적으로 개발 컴퓨터와는 별도의 타겟에 배포되는 자동화 시퀀스의 일부로 실행됩니다. 이 컴퓨터는 원격 PC, 테스트 랙의 컨트롤러, 리얼타임 타겟, 또는 FPGA와 같은 임베디드 타겟이 될 수 있습니다. 이러한 배포는 여러 스테이션을 포함하는 경우가 많으며 원격 또는 국제적인 위치에 있을 수 있습니다. 소프트웨어 개발은 배포 시 끝나지 않습니다. 테스트 및 측정 어플리케이션은 수년 동안 자주 사용되기 때문에, 자동 측정 시퀀스는 시간이 지남에 따라 업데이트, 유지 및 리팩토링해야 합니다.

이 요구사항은 소프트웨어를 편집 가능, 확장 가능, 원격으로 액세스/배포 가능한 방식으로 설계하여 다운타임을 최소화하고 불일치 설정이 발생하여 비용이 많이 드는 재테스트 및 이스케이프를 방지해야 함을 의미합니다. 또한 팀은 설계, 품질 및 생산 그룹 전체에서 일관되게 데이터 수집 및 저장을 관리해야 합니다. 시스템 배포와 주기 고려사항을 신중하게 관리하지 않으면, 조직은 종종 상당한 운영 부하에 직면하게 됩니다.

NI 소프트웨어의 장점

많은 소프트웨어 개발 도구와 언어를 사용할 수 있으며, 가장 광범위하게 사용되는 도구와 언어는 대부분의 사용자 기반을 가지고 있습니다. 그러나 이는 테스트 및 측정 어플리케이션의 요구사항에 적합하지 않습니다.

C와 Python과 같은 언어는 오픈 소스 라이브러리의 생태계, 재능의 가용성, 개발 툴의 생태계 등 다양한 강점이 있습니다. 그러나 익숙한 구문을 벗어나 테스트 및 측정 어플리케이션에 가장 적합하지는 않습니다. 

  • 하드웨어 드라이버, 분석 함수, 사용자 인터페이스 기능, 배포 타겟에 접근할 수 없거나 접근할 수 없기 때문에 진행 속도가 느려지고 엔지니어의 생산성이 저하됩니다.
  • 혁신은 테스트 및 측정 엔지니어를 거의 포함하지 않는 가장 큰 개발자 그룹에 우선 순위를 두는 경향이 있습니다. 따라서 조직은 최신 기술 또는 보안 표준을 적시에 채택한다고 가정할 수 없습니다. 새로운 기술을 채택하면 가장 큰 목소리의 우선 순위가 반영되는 경우가 많습니다. 즉, 테스트를 기본적인 용도의 경우가 아닌 후의 경우로 남겨두는 것입니다.
  • 범용 도구를 사용하는 테스트 엔지니어는 전체적인 컨텍스트 관점에서 테스트 및 측정 어플리케이션 개발의 광범위한 컨텍스트가 아닌 구문에 중점을 두는 경향이 있는 개발 커뮤니티에서 분리될 수 있습니다. 

테스트 및 측정 어플리케이션의 문제를 해결하는 데 중점을 둡니다. 일반적인 용도의 기반을 위한 자체 증폭을 구축하는 데 시간을 낭비하는 대신, 테스트 특정 소프트웨어 툴체인을 채택하면 많은 시간을 확보하여 새로운 기능을 추가하고 고객의 품질을 보장하는 것과 같은 더 중요한 제품 중심의 작업에 집중할 수 있습니다.

NI 소프트웨어는 테스트 및 측정 어플리케이션을 위해 제작된 생산적이고 포괄적인 툴체인입니다. NI 개발자는 테스트 엔지니어의 생산성을 높이고, 변화하는 요구사항을 충족할 수 있는 유연성을 제공하며, 효과적인 협업을 촉진하는 도구 세트를 개발했습니다.

 

빠르고 효율적인 작업

NI 소프트웨어는 테스트 엔지니어의 특정 요구사항을 고려하여 설계되었습니다. 전문적인 소프트웨어를 선택하면 각 태스크가 더 빠르고 효율적으로 수행되므로 엔지니어는 범용 도구를 사용하는 것보다 50퍼센트 더 생산성이 높다는 것을 알 수 있습니다. 엔지니어링 팀은 테스트에 최적화된 도구를 사용하여 프로젝트 전체에서 수백만 달러의 시간을 절약할 수 있습니다. NI 도구는 다음과 같은 다양한 방법으로 이러한 속도와 효율성을 제공합니다.

 
  • 접근 가능한 기능―테스트 및 측정 어플리케이션을 개발하려면 특수한 기능이 필요합니다. 이는 잘 포맷된 웨이브폼 차트에 데이터를 표시하는 것과 같은 간단한 작업에서부터 사운드 및 진동 분석 루틴과 같은 고급 작업에 이르기까지 다양합니다. 범용 소프트웨어와 달리, NI 도구는 이러한 기능을 손쉽게 접근할 수 있습니다. 이렇게 하면 외부 또는 오픈 소스 라이브러리를 검색하고 검증할 때 발생하는 지연을 줄일 수 있습니다.
  • AI의 생산성 향상―AI가 테스트 엔지니어의 생산성에 효과적으로 기여하려면, 테스트 엔지니어가 작업 중인 시스템 정보 및 데이터에 접근할 수 있어야 합니다. AI 인텔리전스는 엔지니어가 사용하는 도구에 기본적으로 내장되어야 할 뿐만 아니라 테스트 엔지니어링의 방법론과 모범 사례를 사용하여 학습해야 합니다. NI 소프트웨어 포트폴리오는 개발 환경 내에서 직접 사용자의 작업 컨텍스트를 사용하여 테스트 개발 지침을 제공하는 NI NigelTM AI로 강화됩니다. Nigel은 시스템 아키텍처 접근 방식을 권장하고, 만든 코드를 도와주고, 데이터 세트로부터 정보를 제공하여 생산성을 향상시킬 수 있습니다.
  • 원활한 하드웨어 통합―NI 소프트웨어는 하드웨어에 기본적으로 연결되므로 자동화된 테스트를 위해 NI의 광범위한 I/O 포트폴리오 및 배포 플랫폼에 쉽게 접근할 수 있습니다. NI 하드웨어를 사용할 때, 설정 유틸리티를 사용하면 여러 인스트루먼트에서 동시에 데이터를 찾고 수집할 수 있습니다. 하나 이상의 섀시에 분산된 모듈형 폼 팩터의 인스트루멘테이션을 함께 동기화하여 신뢰할 수 있는 데이터를 호스트에 연속적으로 스트리밍할 수 있습니다. NI 소프트웨어로 작성된 프로그램은 컴파일 체인에 대한 깊은 지식 없이도 고속, 신뢰성, 타이밍 결정성이 높은 어플리케이션을 위해 Linux Real-Time 타겟 및 FPGA 타겟에 배포할 수 있습니다. NI 소프트웨어 도구 내에서 이 하드웨어를 기본적으로 이해하는 것이 일반적인 용도의 도구를 사용하는 것보다 이 환경을 더욱 빠르고 손쉽게 만듭니다. 

자신감 있는 개발

테스트 및 측정 어플리케이션의 복잡성은 시장에 들어오는 제품과 기술의 급속한 진화로 인해 증가하고 있습니다. 소프트웨어 선택은 개발 팀의 단기적 및 장기적 기능에 모두 영향을 미칩니다. 정적 또는 잘못 정렬된 소프트웨어는 시간이 지남에 따라 제한적이 되고, 요구사항이 변경될 때 천천히 팀의 생산성에 영향을 미칩니다.

NI 소프트웨어는 테스트 기술 분야에서 검증된 역사를 거두었으며, 이를 통해 엔지니어들은 플랫폼을 통해 제품뿐만 아니라 직업을 구축할 수 있습니다! NI 소프트웨어를 사용하는 엔지니어들은 다음과 같은 이점을 갖춘 개방적이고 적응 가능한 플랫폼 아키텍처로 인해 향후 요구사항을 충족할 수 있다고 확신합니다.

  • 고급, 유연한 개발—개방형 프로그래밍 언어와 결합된 빠른 개발 애플리케이션 소프트웨어를 사용하여 범위를 제한하지 않고 개발 시간을 최소화합니다. 이는 채널 설정과 같은 반복적인 또는 일반적인 태스크를 초 단위로 설정할 수 있고, 특수 계측 연결, 고유 IP 또는 사용자 로직과 같은 고유한 기능을 항상 통합할 수 있다는 의미입니다. NI 소프트웨어 플랫폼을 사용하면 엔지니어가 신속하게 작업하고 변화하는 테스트 스펙을 충족할 수 있습니다.

  • 개방형 상호 운용성—NI 소프트웨어 플랫폼을 통해 가능한 가장 광범위한 하드웨어 및 소프트웨어 생태계를 활용할 수 있습니다. 업계 최대의 오픈 저장소인 10,000개 이상의 인스트루먼트 드라이버 중에서 선택할 수 있습니다. Python, C, C++, MathWorks® MATLAB ® 소프트웨어 등의 언어로 작성된 IP를 기본적으로 통합합니다. CAN, I2C, HTTP, 웹 서비스, TCP, UDP 등의 업계 프로토콜 및 표준을 사용합니다. 이러한 개방형 통합 옵션을 사용하면 테스트 엔지니어가 NI 소프트웨어 플랫폼을 사용하여 테스트 시스템의 일부가 아닌 전체 테스트 시스템을 자동화할 수 있다는 확신을 얻을 수 있습니다.
  • 최신 기능—새로운 기술은 빠른 속도로 상업적으로 이용 가능해지고 있으며 개발 프로세스를 중단시킬 수 있는 사람들의 이익을 위해 노력하고 있습니다. NI 소프트웨어는 최신 기술을 사용하여 어플리케이션을 테스트하고 측정하는 데 최선을 다하고 있음을 보여주는 광범위한 공개 로드맵을 제공합니다. 새로운 OS, 인공지능 모델, 프로토콜 등의 소프트웨어에서 GPU 및 FPGA와 같은 하드웨어 요소까지, NI 소프트웨어 플랫폼은 테스트 엔지니어가 필요한 기술을 신뢰할 수 있는 방식으로 구현할 수 있는 첫 번째 장소입니다. 이렇게 하면 엔지니어들은 제품 설계에서 직접 필수 인프라를 구축하는 데 주의를 기울이지 않고도 최첨단 기술을 사용하고 있다고 확신할 수 있습니다.
  • 보안 및 신뢰—NI 소프트웨어는 IT 부서와 정부 규제에 의해 요구되는 사이버 보안 표준을 충족하는 테스트 업계를 선도합니다. NI의 SDL(Secure Development Lifecycle)의 일환으로 NI LabVIEW 및 기타 소프트웨어 제품을 위한 SBOM을 생성합니다. 이는 많은 국방, 항공우주 및 자동화 회사가 참조하는 골드 표준으로 간주되며, EU 및 미국을 포함한 전세계의 규제 지침을 충족하거나 초과합니다. LabVIEW 연속적인 컴파일, 관리되는 버퍼, 메모리 할당 때문에 메모리 안전한 언어입니다±보안상 취약점의 위험을 줄일 수 있습니다. 전체 암호화는 시스템 관리 도구 및 Nigel AI를 포함한 모든 네트워크 기술에서도 사용됩니다. 

 

공동 작업

테스트 및 측정 엔지니어는 협업할 수 있는 경우 가장 효과적입니다. 이것은 많은 사람들에게 문제가 될 수 있습니다. 설계 엔지니어링이 지배하는 조직에서 이 역할을 하위로 간주할 수 있습니다. 또한 테스트 팀은 다양한 위치에 자주 분산되므로 엔지니어가 필요한 지원을 얻는 것이 더 어렵습니다. NI 소프트웨어는 공동 작업을 고려하여 설계되었으며, 공유 및 태깅 기능, 원격 관리 기능, 현대적인 개발 운영 작업 흐름 및 활성 사용자 커뮤니티를 제공합니다. NI 소프트웨어 사용자는 결코 혼자 작업하지 않으며, 다음과 같은 작업을 수행합니다. 

  • 자동 협업—효율적인 테스트 실행을 위해서는 모든 규모의 팀이 함께 작업을 계획, 관리 및 최적화할 수 있는 중앙 집중형 플랫폼이 필요합니다. NI 소프트웨어의 협업 방식은 물리적으로 분산된 그룹이 원격으로 데이터, 아이디어, 주석을 구조적이고 생산적인 방식으로 공유할 수 있는 도구를 제공합니다. 대시보드를 확인하고, 시스템 상태를 확인하고, 소프트웨어를 배포하거나, 조직 전체의 시스템에서 리포트를 생성합니다. Nigel을 사용하면 다양한 소스와 시간에 걸쳐 태스크와 데이터를 검색하고 오케스트레이션하여 동료와 보다 효과적으로 작업할 수 있습니다.

 

  • 사회적 참여—NI 소프트웨어는 서로를 지원하는 테스트 및 측정 애플리케이션에 열정적인 엔지니어들의 활발한 커뮤니티를 지원합니다. 측정 시스템을 구축하려면 모범 사례를 코딩하는 것 이상이 필요합니다. 신호 경로부터 하드웨어 선택, 소프트웨어 구조, 알고리즘의 모든 부분까지 고려해야 합니다. NI 소프트웨어 커뮤니티에는 수천 년의 업계 경험을 보유한 테스트 및 측정 전문가가 포함되어 있습니다. NI 소프트웨어는 건강한 온라인 지원 포럼, 100개 이상의 개인 사용자 그룹, 사용자 지향 컨퍼런스(글로벌 모든 지역) 및 교육 과정을 통해 전세계 엔지니어들이 능력을 향상시키고 성공적인 경력을 쌓을 수 있도록 지원합니다.
  • 팀 개발—테스트 및 측정 애플리케이션이 더욱 복잡해지면 더 큰 개발 그룹의 지원과 테스트를 위한 더 엄격한 프로세스가 필요합니다. NI 소프트웨어는 기존 CI/CD 프로세스 내에서 작동합니다: LabVIEW 내장된 비교 및 병합 함수를 사용하면 단일 코드 기반에서 공동 개발이 가능합니다. 의존성이 포함된 LabVIEW 어플리케이션을 Docker 컨테이너에 패키지로 만들면 자동화된 테스트 또는 개정이 가능합니다.  

NI 테스트 및 측정 소프트웨어 시작하기

NI 소프트웨어는 테스트 및 측정 어플리케이션 개발을 위한 생산적이고 연결된 툴체인을 제공하여 팀이 여러 태스크에서 신속하고 효율적으로 작업할 수 있도록 지원합니다. 범용 도구와 달리, NI 소프트웨어는 테스트에 최적화되어 테스트 엔지니어의 특정 요구 사항과 문제에 맞게 조정됩니다. NI 소프트웨어는 Nigel AI와 테스트 전문성을 갖춘 수만 명의 엔지니어로 구성된 글로벌 커뮤니티를 통해 테스트 팀에게 성공에 필요한 지원을 제공합니다.

MathWorks® 및 MATLAB®은 The MathWorks, Inc.의 등록 상표입니다.