테스트 엔지니어링 방식은 빠르게 변하고 있습니다. 복잡한 제품의 업스트림 개발이 가속화되면 목표가 일정하게 유지되더라도 수행해야 할 작업에 근본적인 변화가 발생합니다. 지난 10년 동안 우리는 시간을 사용하는 방식이 변했으며, 협업 개발 방법론에 더 중점을 두고 이전에 주변 작업으로 간주된 작업에 더 많은 시간을 할애했습니다.
그림 1. 지난 10년간 테스트 엔지니어링 시간 배분의 변화
이처럼 작업이 다양해지면서, AI와 같은 생산성 가속기를 마주했을 때 숙련된 테스트 엔지니어링 그룹은 이를 코드 생성이라는 눈길을 끄는 요소에만 적용할 것이 아니라, 수행해야 할 모든 작업에 어떻게 적용할지 종합적으로 고려합니다. 이 기술 백서는 엔지니어의 작업 흐름을 살펴보고 테스트 엔지니어가 더 많은 작업에 AI를 채택해야 하는 이유를 설명합니다.
테스트 엔지니어링은 단순한 IP 개발이 아닌 테스트 전략으로 시작합니다. 그러나 테스트하는 제품의 범위 요건이 증가함에 따라, 이 전략의 계획 및 설계에 소요되는 시간은 불균형적으로 커집니다.
AI는 제품 및 구성요소 영역을 수집하고 이를 테스트 계획으로 변환하여 계획 수립을 지원할 수 있습니다. 이 작업을 수행하려면 테스트 방법론 및 측정 모범 사례에 대한 충분한 지식을 갖춘 전문 지식이 필요하므로 성능이 좋은 계획을 세울 수 있습니다. 이 계획이 스테이션 설계로 전환되면, 병렬 처리와 같은 최적화 전략과 스위치 토폴로지, 디버깅 접근성, 노이즈 소스 등을 효과적으로 활용하기 위해 AI에 기술이 필요합니다.
모든 테스트 엔지니어가 알고 있듯이, 훌륭한 테스트 시스템 설계는 예술, 과학, 경험, 타협의 혼합입니다. 테스트 및 측정 어플리케이션을 전문으로 하는 AI 도구인 NI Nigel™ AI는 력한 권장 사항을 제시할 수 있는 역량을 갖추고 있으며, 에이전트 기능이 빠르게 향상되어 어플리케이션에 가장 특화된 지원을 제공합니다. 그러나 엔지니어는 제안을 검증할 때 자신의 실제 경험을 잊어서는 안 됩니다.
현대 테스트 엔지니어는 경력 발전을 위해 직책을 옮기는 일이 점점 더 흔해짐에 따라 적응력을 갖춰야 합니다. 이러한 변화로 인해 새로운 도구와 프로세스에 대한 거의 지속적인 온보딩이 필요해집니다. 지속적인 온보딩은 교육생의 생산성에 영향을 미치지만, 숙련된 팀원들도 교육자 역할을 수행할 때 직무에서 벗어납니다.
AI 어시스턴트는 새로운 도구를 사용하는 엔지니어를 위한 1차 지원 역할을 할 수 있습니다. 제품 데이터에 따르면, LabVIEW 사용자의 20% 이상이 이와 같은 경우에 Nigel AI를 정기적으로 사용합니다. 명확히 말하자면, 이러한 도구는 제품의 모범 사례를 다루는 보다 구조화된 교육 과정을 대체하는 것은 아닙니다. 이러한 종류의 교육은 여전히 필요하므로, 엔지니어는 어떤 프롬프트를 입력해야 하는지와 좋은 응답이 어떤 모습인지 알 수 있습니다. 그러나 AI 어시스턴트는 유용한 복습 수단으로 작용하며 엔지니어가 동료를 번거롭게 하지 않고 복잡한 소프트웨어 환경을 탐색하여 원하는 기능을 찾는 데 도움이 됩니다.
테스트 IP 개발은 테스트 단계에 특정한 측정 코드를 작성하는 것 이상의 작업을 거의 항상 수반합니다. 데이터로깅, 테스트 시퀀스 관리, 대화식 신호 디버깅과 같은 어플리케이션을 지원하는 매우 완벽한 어플리케이션이 있습니다. 각 어플리케이션은 측정 코드 위에 구축되거나 플러그인할 수 있으므로 엔지니어가 보다 빠르고 추상적인 레벨로 작업할 수 있습니다. NI FlexLogger, NI TestStand 및 NI InstrumentStudio™ 소프트웨어와 같은 많은 제품에는 Nigel AI가 통합되어 있어 개발 속도를 더욱 높입니다.
예를 들어, TestStand에서는 Nigel이 컨텍스트화된 테스트 계획을 기반으로 테스트 시퀀스를 생성할 수 있습니다. 이 도구는 테스트 단계 (LabVIEW, Python 또는 C#와 같은 언어로 작성 가능)를 사용자에게 최소한의 오케스트레이션 오버헤드와 함께 단일 시퀀스로 통합할 수 있기 때문에 시간을 절약할 수 있습니다. 그런 다음 Nigel은 TestStand 엔진 내의 속도 최적화 기능을 자동화하여 성능을 향상시킬 수 있습니다. 이러한 경우 엔지니어는 아직도 제조 플로어에 전달되는 시퀀스를 책임지고 작업을 점검해야 하지만, AI는 클릭 횟수를 줄이고 작업 시작 지점을 생성하여 시간을 절약할 수 있습니다.
AI를 가장 많이 사용하는 경우 중 하나는 사용자에게 코드를 설명하는 것입니다. 엔지니어는 빈 페이지에서 시작하는 경우가 거의 없습니다. 코드를 상속, 재사용, 코드 리팩토링, 코드 재배포 등을 합니다. 많은 경우, 상속된 코드는 선물이 될 수 있지만, 다른 경우에는 오래전에 떠난 동료가 남겨둔 기이하고 문서화가 부족한 어플리케이션의 구조를 이해하는 데 몇 주가 걸릴 수 있습니다.
AI는 코드 모듈 또는 전체 어플리케이션의 기능을 요약한 후, 다음과 같은 자연어 프롬프트를 사용하여 이를 탐색하도록 할 수 있습니다:
이러한 방식으로 AI를 사용하면 AI 에러가 코드 베이스로 전파될 위험이 낮아집니다. AI와 반복적으로 프롬프트를 주고받는 과정에서 엔지니어가 변경을 하게 되기 때문입니다.
테스트 팀 내에서 데이터 통찰력에 대한 기대는 증가하고 있습니다. 데이터를 생성하는 팀이 조작하고 분석하는 것이 가장 적합한 경우가 많습니다. 일반적으로 테스트 데이터 인사이트는 두 그룹으로 분류할 수 있습니다:
측정 데이터의 각 부분에 대한 전체 환경 메타데이터 세트를 구조화되고 표준화된 방식으로 기록하는 것은 가치있는 통찰력을 얻기 위해 필수적입니다. 의미 있는 상관 관계를 도출하려면 제품 (요구사항, 변이, 작동 범위), 테스트 시스템 (자산, 위치, 고정 장치, 운영자), 테스트 IP (소프트웨어 스택, 종속성, 리비전) 및 측정 결과 (스칼라, 웨이브폼, 타임스탬프—사용 중인 모든 계측기에 대해 완전히 동기화됨)에 대한 정보를 기록해야 합니다. 이러한 종류의 데이터는 측정 시점에서 문서화되지 않으면 "다시 추가"할 수 없기 때문에 측정 시스템 내에서 강력한 메타데이터 기록 전략이 나중에 성공적인 AI 기반 인사이트를 얻는 데 필수적입니다.
테스트 엔지니어는 학계와 업계에서 수년간 교육받은 후 교정 스티커, 누락된 케이블, 소프트웨어 불일치 및 이와 유사한 중요하지만 고된 작업을 찾기 위해 실험실이나 라인을 오랜 시간 뒤지도록 훈련받은 것이 아닙니다. AI는 사물을 검색하는 데 능숙하며 실험실 유지 관리에서 좌절스러운 시간을 수 시간 절약할 수 있습니다.
예를 들어, NI SystemLink™ 소프트웨어에서 Nigel을 사용하면 다음과 같은 질문을 할 수 있습니다:
이러한 종류의 관리 작업을 자동화함으로써, 팀은 코어 엔지니어링 직원의 생산 시간을 최대화할 수 있습니다. 이러한 자동화 기능은 실망적이고 반복적이며 낮은 가치의 작업에 소요되는 시간을 줄이기 때문에 팀의 참여와 동기를 높일 수 있습니다.
이 기술 백서는 AI를 사용하여 코드를 작성하는 데 도움이 되는 장점과 단점을 매우 간략하게 다루었으며, 이러한 장점과 단점은 많습니다. 그러나 AI가 엔지니어를 지원할 수 있는 역할을 더 폭넓고 총체적으로 바라봄으로써 엔지니어의 생산성을 향상시킬 수 있는 방법도 제시했습니다.
Nigel AI는 첫 번째 계획 회의부터 최종 보고 회의와 그 사이의 모든 단계에 이르기까지 개발 프로세스 전반에서 테스트 엔지니어를 지원하도록 특별히 최적화되었습니다. 고유한 역량과 이미 테스트에 사용 중인 여러 도구와의 긴밀한 통합을 통해, 기존 프로세스를 방해하지 않고 관리 작업을 추상화하고 자동화하는 한편 가장 가치 있고 창의적인 테스트 작업을 가속하는 촉매 역할을 할 수 있습니다.