프로세스 및 작업 흐름을 혁신하고 테스트의 가치를 바꾸십시오

개요

이 시대에는 디지털 혁신을 피할 수 없습니다. 모델 기반 기업으로 이동하거나 산업 4.0 접근 방식을 구현하는 것부터 디지털 혁신은 사람들마다 다른 의미를 갖습니다. 하지만 기술 발전에 보조를 맞춰야 합니다. 이를 통해 새로운 기능과 제품을 더 빨리 출시할 수 있습니다.  

 

검증 및 확인(V&V) 팀은 조직의 디지털 혁신에서 중심적인 역할을 할 수 있고 또 해야 합니다. 이 팀이 바로 품질을 보장하고 더 빠른 의사 결정을 가능하게 하는 제품 성능에 대한 통찰력을 제공하는 주체입니다. 진짜 질문해야 할 것은, V&V 테스트 팀이 예산이나 인력 증가 없이 어떻게 이를 수행할 수 있느냐는 것입니다. 디바이스의 복잡성이 지속적으로 증가하여 더 짧은 시간에 더 많은 테스트를 수행해야 하는 상황에서 팀이 이러한 필수적인 통찰력에 도달할 시간을 어떻게 가질 수 있겠습니까?  

 

V&V 작업 흐름 및 프로세스를 평가하여 작은 변화로 큰 영향을 미칠 수 있는 부분을 식별할 수 있는 방법과 V&V 팀을 V&V 단계에서 더 효율적으로 만들어 더 적은 절충안을 택할 수 있게 하여 위험을 줄이는 방법에 대해 논의해 봅시다. 또한 짧은 퀴즈를 풀어 테스트 전략 프로필을 확인하여 팀의 목표에 부합하는 프로세스, 시스템 및 데이터에 대한 맞춤형 추천을 얻어보십시오.

내용

현재 작업 흐름의 제한 사항 식별

제한 사항을 이해하려면 높은 수준에서 시작하여 전체 작업 흐름을 조각조각 분해해야 합니다. 이를 통해 작업 흐름이 제품을 개발, 테스트, 제조하고 고객에게 배송하는 전체 프로세스에 어떻게 들어맞는지 이해할 수 있습니다.  

일반적인 작업 흐름에서 V&V 엔지니어는 EVT(Engineering Validation Test) 단계가 다가올 때, 참여하기 시작하여 설계 엔지니어와 스펙 및 요구 사항에 대해 논의하기 시작합니다. 상위 레벨의 단계를 검토해 보겠습니다.

  1. 테스트 계획 작성—필요한 장비와 개발해야 하는 소프트웨어 테스트 루틴을 확인하기 위해 요구 사항을 수집합니다. 테스트 계획 및 사례를 승인합니다.
  2. 테스트 시스템 구축—시스템을 구축하고 소프트웨어를 개발합니다.
  3. 테스트 시스템 배포—테스트 배포 및 실행을 담당하는 기술자에게 전달하거나 V&V 엔지니어가 테스터에 직접 가서 소프트웨어를 배포하고 테스트를 시작합니다.
  4. 테스트 모니터링—팀이 예기치 않은 실패에 신속하게 대응할 수 있도록 테스트 실행을 모니터링합니다. V&V의 전체 진행 상황을 볼 수 있는 사람이 있는 경우는 드물기 때문에 엔지니어나 기술자가 틈날 때 마다 직접 가서 확인하는 것이 더 흔합니다. 
  5. 결과 분석—테스터의 결과를 분석을 위해 적절한 팀으로 수동으로 전송합니다. 
  6. 결과 보고—설계 엔지니어 및 기타 이해 관계자와 결과를 공유합니다.

제품의 합격 여부에 따라 다음 단계는 또 다른 설계 주기 반복 및 테스트가 될 수도 있고 생산을 위해 제조 부서로 이관하는 것이 될 수도 있습니다.

그림 1. 일반적인 V&V 테스트 엔지니어링 작업 흐름

비효율을 개선하는 방법

​뒤로 물러나 이 일반적인 작업 흐름을 평가하면, 직접 관여해야 하는 단계가 많이 있음을 알 수 있습니다. 이러한 의도하지 않은 비효율성은 처음에는 별것 아닌 것처럼 보일 수, 사람이 이동하는 시간과 데이터 전달 단계를 모두 합하면 그 영향이 상당합니다. 제품이 정시에 출시되지 않을 수 있고, 더 나쁜 경우는 모든 테스트를 다시 실행할 시간이 없어 위험을 감수하게 될 수도 있습니다.

각 단계 자체에도 개선할 수 있는 영역이 있는 경우가 많지만, 일반적으로 간과하는 것은 팀이 어떻게 각 단계를 전환하는 지입니다. 한 단계에서 다음 단계로 이동하는 방식이 비효율적이면 생산성뿐만 아니라, 변경을 문서화하는 것은 수작업이므로 추적 가능성도 잃게 됩니다. 최적화되고 자동화된 경우 작업 흐름에 많은 효율성을 더할 수 있는 몇 가지 영역을 살펴보겠습니다.

테스트 계획

디지털 혁신 노력에서 강력한 결과를 얻는 회사는 종종 부서 간의 벽을 무너뜨리는 데 성공합니다. 특히 V&V 팀의 경우 이는 팀이 참여하고 파이프라인에 어떤 제품이 있는지, 내장하려는 기능은 무엇인지 인지하는 프로세스를 갖는 것을 의미합니다. V&V를 조기에 포함시킬 수록 더 나은 계획을 세울 수 있습니다. 

참여한다는 것은 끝없는 회의에 참여하는 것일 뿐만 아니라 (i) 설계 팀에서 생성한 데이터, 특히 시뮬레이션 데이터에 접근할 수 있다는 것을 의미합니다. V&V 팀이 제품에 대해 더 많이 이해할수록 테스트 계획이 더 좋아질 것입니다.

V&V 테스트 엔지니어가 설계 엔지니어링과 더 가깝게 그리고 더 일찍 작업하기를 원하기도 하지만, 우리는 생산 테스트 팀도 더 일찍 참여시켜야 한다는 점을 기억하는 것이 중요합니다. 생산 팀은 초기에 테스트하는 내용, 사용하는 테스트 방법론, 궁극적으로 테스트 계획의 어떤 영역에서 문제를 발견했는지 이해해야 합니다. 그러면 V&V 단계에서 전달된 최종 제품의 제조 및 테스트를 더 잘 준비할 수 있습니다.  

테스트 개발

V&V 테스트 팀은 다양한 기술에 걸쳐 테스트를 수행할 수 있기 위해 다양한 장비가 필요한 경우가 많습니다. 또한 특이 시나리오에 대해서도 테스트할 수 있을 정도로 시스템에 테스트 범위가 적절한지 확인해야 합니다. 말할 필요도 없이 V&V만 해도 다양한 고가 장비가 필요합니다.  

하드웨어

재사용과 용도 변경에 대해 이야기하지만, 테스트를 위해 어떤 장비를 재활용할 수 있는지 알아내는 것은 상당한 시간 낭비가 될 수 있습니다. 가지고 있는 여러 테스터를 둘러보고, 요구에 맞는 장비를 찾고, 현재 사용 중인지 확인하고, 해당 테스트를 담당하는 사람을 찾고, 필요할 때 진행 중인 테스트가 끝나 있을 지를 알아야 하는 데 이 모든 것은 시간이 걸립니다!  

적절한 장비를 찾으면, 고려해야 할 사항이 더 있습니다. 교정이 필요한 장비와 얼마나 가깝습니까? 보정되지 않은 장비를 사용하여 품질 저하 없이 테스트를 완료할 수 있습니까? 이러한 모든 복잡성 때문에, 기본 조치는 새 장비 조달을 시작하는 것입니다. 새 장비는 고가일 뿐만 아니라 조달 과정에서 더 많은 시간이 소요됩니다. 

장비가 필요할 때마다 이 과정을 반복하는 대신, 시스템 내 디바이스 추적을 자동화해야 합니다. 이렇게 하면 테스트가 실행 중인 경우 어떤 테스터에 어떤 장비가 있는 지와 그 테스터에 있는 장비의 활용률을 모두 한 눈에 빠르게 확인할 수 있습니다. 이 기능이 있으면 길고 지루한 테스트 장비 탐색이 필요 없습니다. 이러한 통찰력이 있으면 팀이 데이터 기반 장비 투자를 수행하고 실제로 필요할 때만 장비를 조달할 수 있습니다. 이는 다른 작업을 수행할 수 있는 예산을 확보합니다. 효율성을 개선할 수 있는 프로세스의 부분을 식별하는 것으로 시작했던 것이 이제 비용을 더 잘 조절할 수 있게 합니다.

소프트웨어

테스트 시스템용 소프트웨어 개발은 V&V 테스트 엔지니어가 수행해야 하는 가장 시간 소모적인 작업 중 하나이지만 가장 중요한 작업 중 하나이기도 합니다. 시간과 기한이 제한되어 있기 때문에 V&V 테스트 엔지니어가 소프트웨어 개발에 사용할 언어를 스스로 선택하도록 하는 것이 좋아 보일지도 모릅니다. 능숙한 언어를 선택할 것이라고 가정하는 것입니다. 그러나 소프트웨어 시스템 전체가 열 몇개의 언어로 구성되면 어떻게 될까요? 공통 프레임워크와 코딩 규칙이 없으면 유지 관리가 불가능하고 코드 재사용이 어려운 맞춤형 테스터를 구축하게 될 수 있습니다. 코드를 만든 엔지니어가 퇴사하거나 다른 역할로 이동한 경우에는 더욱 어려워집니다. 같은 유형의 테스터를 두세 번 구축한 후, 이러한 비효율성의 영향을 제대로 느끼게 됩니다.  

이 상황을 개선하는 방법을 찾으려면, V&V 실험실에서 다양한 유형의 테스트를 실행해야 할지 모른다는 넓은 이해에서 시작하십시오. 누군가는 간단한 사용자 입력을 기반으로 간단한 제어를 하고, 누군가는 엄격한 타이밍 요구 사항을 준수하면서 실행되는 정교한 테스트 루틴이 필요할 수 있습니다. 이 스펙트럼은 효율성 향상을 추구할 때 중요합니다. 간단한 테스트에는 코드가 없거나 거의 없는 방법을 사용하고 소프트웨어가 필요한 테스트에는 소프트웨어 개발 시간에 집중할 수 있어야 합니다.  

 

보다 복잡한 테스트의 경우 표준화된 개방형 프레임워크를 통해 효율성을 얻을 수 있습니다. 이 프레임워크는 다른 언어로 개발된 코드 모듈을 호출할 수 있으며 필요에 따라 유연하게 맞춤화될 수 있습니다. 적절한 기반을 구축하면 데이터 수집, 합격/불합격 평가, 다른 백엔드 시스템과의 통합 등 필요한 공통 구성 요소가 한 번 개발되고 모든 테스터에서 재사용되므로 효율성이 증가하고 위험이 줄어듭니다. 그러면 V&V 테스트 엔지니어는 전체 프레임워크가 아닌 테스트 루틴을 구축하는 데 집중할 수 있으므로 궁극적으로 테스터를 더 빠르게 지원할 수 있습니다. 그러나 이를 진정으로 활용하려면 코드 없는 방법보다 프레임워크를 이용해야 할 때와 장소를 정의하는 프로세스를 수립해야 합니다. 이 단계를 적절하게 정의하면 모든 사람이 테스터를 구축하는 방법을 공통적으로 이해하고 동일한 규칙을 따라 개발 및 유지 관리를 단순화한다는 것을 의미합니다.

테스트 시스템 배포

많은 회사에서 테스트 시스템 배포는 테스트 소프트웨어를 개발 기계에서 테스터로 옮기고 모든 것이 예상대로 작동하는지 확인하는 수작업입니다. 종종 이 단계에서는 일반적으로 테스터에서 직접 적용되는 코드의 작은 조정 및 변경이 생깁니다. 이 수작업 때문에 V&V 테스트 엔지니어는 추적 가능성 및 규정 준수를 위해 최종 버전을 개발 시스템으로 다시 옮기고 문서, 버전 기록 등을 수정해야 한다는 것을 기억해야 합니다. 수작업마다 시간은 늘어나고 오류 가능성이 높아집니다.  

수작업은 연결된 시스템을 활용하지 않으며 시스템이 배포될 때 V&V 엔지니어가 실험실에 있어야 하도록 합니다. 엔지니어의 책상과 실험실 사이의 거리 때문에 왔다 갔다 하는 시간만 해도 상당한 시간을 더해집니다. 또한 테스트 프로그램을 전송하는 데 사용된 USB 스틱이 손상되거나, 엔지니어가 테스트 프로그램을 테스터에 설치한 후 테스터의 작동에 중대한 변경, 즉 다시 개발 기기로 가서 수정해야 하는 변경 사항이 필요하다는 것을 발견한 경우를 생각해 보십시오. 이러한 모든 경우를 고려하면, 엔지니어는 실험실을 왔다갔다 해야 하므로 시스템을 배포하는 데 걸리는 시간이 늘어납니다.

프로세스의 이 부분에서 효율성을 높이려면 회사 내 떨어진 위치에서 보고 관리할 수 있는 연결된 시스템이 필요합니다. 팀은 시스템 준비 상태를 보장하기 위해 시스템에 있는 자산과 소프트웨어를 볼 수 있어야 합니다. 그런 다음 배포는 원격으로 이루어지므로 배포된 내용과 배포한 사람에 대한 전체 버전 기록이 존재하게 되며 추적 가능성이 보장됩니다. 시스템의 자동화 및 원격 관리는 운영 효율성을 높일 뿐만 아니라 각 시스템에 대한 일관된 추적성을 보장합니다.

테스트 모니터링

프로세스의 이 부분은 효율성을 높이려고 할 때 종종 간과됩니다. 다소 자동화된 테스트의 경우 테스트를 실행한 후 가끔 테스터에 들러 테스트 상태를 확인하고 테스트가 완료될 때를 짐작만 하면 된다고 느낄 수 있습니다.   

이를 보다 효율적으로 만들 수 있는 방법을 살펴봅시다.

 

  • 걸음 수 줄이기—운동량 측정기에는 좋을지 몰라도 팀이 책상과 실험실 사이를 오가는 데 걸리는 총 시간은 매우 빠르게 늘어납니다.
  • 정확한 타이밍 파악—테스트가 언제 끝나는지 정확히 아는 것이 중요합니다. 실패했다면 누군가 가서 확인하기 전까지 3시간 동안 아무것도 하지 않고 정지해 있었을 수 있습니다.
  • 원격 접근—팀은 테스트 진행 상황을 언제든지 확인할 수 있도록 시스템에 대한 원격 접근이 필요합니다. 이 모니터링에는 정확히 문제가 발생했을 때 알려주는 경보 기능이 포함되어 있어 조기에 적절한 조치를 취하고 시간과 비용이 많이 드는 재실행을 방지할 수 있어야 합니다.

 

결과 분석 및 보고

프로세스의 이 부분은 핵심적이며 오랜 시간이 소요되는 것으로 유명합니다. 종종 우리는 자동화 및 자동화된 테스트 시스템에 대해 이야기하지만 프로세스의 이 부분을 보는 것을 잊어버리는 경향이 있습니다.

테스트가 완료되면 테스트 엔지니어는 제품이 제대로 동작하는 이유를 이해해야 합니다. 테스트 시나리오에서 예상한 결과를 얻었습니까? 결과는 종종 테스터 자체에 저장되므로 엔지니어가 수작업으로 결과를 얻어야 합니다. 그런 다음 특히 이 자동화가 되어 있지 않으면 데이터 검토, 추출, 변환 및 분석에 시간이 오래 걸립니다.  

여러분의 회사도 다른 영역에서는 효율성에 투자하고 있을 것입니다. 따라서 모든 제품에 걸쳐 분석 프로세스를 표준화하는 것이 좋습니다. 표준 분석을 실행하면 테스트 비용을 줄이고 분석되는 데이터의 양을 늘리고 (ii)에서 통찰력을 얻을 수 있음이 입증되었습니다. 자동화는 중요하지만, 마찬가지로 중요한 것은 애드혹 분석을 빨리 수행할 수 있어서 쉽게 원인 분석을 할 수 있게 지원하는 것입니다. 테스트 데이터를 저장할 중앙의 위치와 테스트 데이터가 들어오는 대로 실행할 수 있는 미리 정의된 루틴을 사용하면 이 단계에서 많은 시간을 절약할 수 있습니다.  또한 보고를 표준화하고 관련 이해 관계자와 쉽게 공유할 수 있는 보고서를 자동 생성하면 올바른 정보를 적절한 팀에 더 빠르게 전달할 수 있으며, 따라서 설계 주기를 더 빨리 반복할 수 있고 출시를 앞당길 수 있습니다.

다음 단계

한 발 물러서서 전체 작업 흐름을 살펴보면 집중해야 하는 프로세스 영역을 식별하는 데 도움이 될 수 있습니다. 똑같은 회사는 없습니다. 앞에서 설명한 문제를 몇 가지 겪고 있을 수 있습니다. 아니면 모두 겪고 있을 수도 있습니다. 오늘날 여러 조직에서 일어나는 혁신 투자와 더 빠른 움직임, 효율성 증대, 경쟁 우위 창출에 중점을 두는 경향 덕분에 V&V 팀은 조직이 테스트를 보고 평가하는 방식을 변경할 수 있는 기회를 가지고 있습니다.  

다음은 앞으로 나아갈 수 있는 몇 가지 방법입니다.

  1. 전체 프로세스의 효율성을 향상시킬 수 있는 자동화로 병목 현상을 어떻게 해결할 수 있는지 생각해 보십시오.
  2. 팀의 프로세스를 변경하여 관련 정보에 실시간으로 접근할 수 있도록 하십시오.
  3. 원하는 결과를 이끌어내는 소프트웨어 연결 시스템으로 구성된 올바른 데이터 기반을 갖고 있는지 평가하십시오.

프로세스 최적화는 회사 전체에 도움이 됩니다. 시작하기가 쉽지는 않지만 노력할 가치가 있으며 혼자 할 필요도 없습니다. NI는 여러 회사에서 효율성을 높일 수 있는 표준화 작업을 도왔습니다. 이는 작업 흐름과 프로세스 이상입니다.

원하는 결과에 대해 이야기하고 모범 사례를 논의할 수 있도록 병목 현상이 있는 영역을 살펴봅시다. NI가 어떻게 효율성을 극대화하고 위험을 최소화하는 데 여러분의 노력을 집중할 수 있도록 돕는지 알아보십시오.