티스토리 뷰

이 글은 TestStand의 강력한 기능과 유연성에 기여하는 NI TestStand 객체 모델을 사용하는 방법에 대해서 소개합니다. NI TestStand 객체 모델은 특정 기능을 가진 객체들의 모음입니다. 다르게 이야기 하면, NI TestStand 객체 모델은 모든 TestStand 기능을 위한 객체 지향 인터페이스입니다. 대부분의 기본 어플리케이션들은 객체 모델과 직접적으로 연동하지는 않습니다. 그러나 사용자가 TestStand의 내부 동작에 대해서 이해하고 있다면, 사용자는 신속히 고급 TestStand 솔루션을 만들 수 있는 비전을 가질 수 있습니다. 


TestStand 객체 모델은 복잡한 주제이며, 이 글은 TestStand 엔진에 대한 모든 내용을 다루지는 않고 TestStand 아키텍쳐의 개요에 대해서 먼저 다루도록 하겠습니다. 


급격한 제품 사이클, 다양한 제품, 다중 구성의 특성을 가지는 테스트 환경에서, 잘 설계된 테스트 아키텍처는 엄청난 역할을 제공합니다. 테스트 시스템의 수명을 증대시키고, 테스트 개발 비용을 줄이기 위해 사용자는 테스트 시스템의 범위에 일반화된 적응형 아키텍처를 재사용할 수 있습니다. 


NI TestStand는 즉시 실행 가능한 테스트 기반의 관리 개발 환경입니다.  TestStand를 통해서 사용자는 테스트 시퀀스를 개발, 관리 및 실행할 수 있습니다. 이와 같은 시퀀스는 모든 테스트 프로그래밍 언어로 작성된 테스트 모듈을 통합합니다. 시퀀스는 또한 실행 흐름, 리포트, 데이터 베이스 로깅 및 타 기업 시스템으로의 연결 등을 지정합니다.


NI TestStand 아키텍처의 중심 컴포넌트는 실행 엔진입니다. 이 엔진은 open API 기반의 함수를 제공하여 다른 어플리케이션과의 효율적이고 월할한 통신을 간으하게 합니다. 시퀀스 편집기 및 사용자 인터페이스는 NI TestStand 엔진에 접근하기 위해 이 API를 사용합니다.  





TestStand는 테스트 시스템과 관련 테스트의 개발을 단순화 하기 위한 단순한 시퀀스 에디터 기반의 개발 환경과 사용자 기반의 사용자 인터페이스를 제공합니다. 그러나 TestStand는 Test Sequencer보다 이상의 역할을 합니다. TestStand의 실질적인 장점은 복잡하고 유연한 테스트 솔루션을 만드는데 활용할 수 있는 개방형 아키텍처에 있습니다. 아래의 그림 기본 TestStand와 아키텍쳐를 보여줍니다. 

 



위의 그림에서 보여주듯이, TestStand 엔진은 TestStand 아키텍처의 핵심입니다. TestStand는 아키텍처의 다른 구성 요소와 상호 작용과 밀접하게 엔진의 기능을 활용하는 것을 볼 수 있습니다. 시컨스 에디터 와 사용자 인터페이스에서 사용자가 접근할 수 있는 대부분의 기능은 엔진에 있는 기능을 호출합니다. 

 

TestStand는 프리젠테이션 계층과 비즈니스 로직 계층 사이의 구분이 명확히 계층화된 아키텍처를 제공합니다. 이 방법은 TestStand 엔진의 최상위단에서 복잡한 솔루션 개발을 가능하게 하고, 사용자 기반 사용자 인터페이스 생성, 테스트 흐름에 대한 동적 제어, 시퀀스 개발, 고급 솔루션 개발 등의 사용자가 원하는 테스트 어플리케이션의 어떠한 타입을 생성을 위한 모든 기능을 사용할 수도 있습니다. 


TestStand 엔진의 개념적 개요


TestStand 엔진을 이해하는 것은 사용자 인터페이스 컨트롤 및 시퀀스 파일 전송 프레임워크와 같은 TestStand의 다른 주요 API를 활용할 수 있습니다.


TestStand 엔진은 API를 통해 기능을 제공하는 ActiveX/COM 자동화 서버입니다. 마이크로소프트에서 개발한 ActiveX 어플리케이션 통신 표준은 어플리케이션 사이의 통신 방식을 제공하기 위해 개발되었습니다. 수년동안 다양한 산업 기반에서 사용된 ActiveX는 COM 기술 기반으로 만들어졌습니다. TestStand는 COM 기반이기 때문에, ActiveX의 지원이 종료되지 않는다면 미래의 윈도우 OS에서도 지속적으로 동작을 할 것입니다. 


ActiveX는 클라이언/서버 접근 방식을 이용합니다. ActiveX 서버는 ActiveX 표준을 따르는 클라이언트에게 특정 기능을 제공합니다. 게다가 ActiveX 어플리케이션은 엄격한 객체 지향 프로그래밍 접근 방식을 사용합니다. 자동화 서버에 있는 모든 객체들은 캡슐화, 상속, 추상화 및 다형성과 같은 OOP 개념을 따릅니다. 


ActiveX 서버에서 TestStand 엔진은 엔진에 접속하는 클라이언트들에게 기능을 제공하기 위해서 함수와 프로퍼티를 사용합니다. ActiveX 서버 아키텍처는 LabVIEW, LabWindows™/CVI™, C#, VB .NET, C++와 같은 ActiveX 코드를 인보크할 수 있는 언어들을 허용합니다. 


예를 들어 LabVIEW로 만들어진 사용자 인터페이스는 ActiveX 클라이언트로 동작으로 하고, 엔진의 기능을 이용하기 위해서 TestStand 엔진에 접속을 합니다. TestStand와의 통신을 통해서 LabVIEW 사용자 인터페이스는 복잡한 테스트 실행 루틴을 구현할 필요가 없습니다. 모든 LabVIEW 사용자 인터페이스에서 해야하는 일은 TestStand 엔진은 인보크하고, 이 결과를 사용자에게 보여주는 것입니다.


결론

NI TestStand는 테스트 시스템을 개발, 관리, 실행하기 위한 유연성을 갖춘 강력한 프레임워크를 제공합니다. 또한 NI TestStand는 테스트 관리 소프트웨어로 독립 테스트 모듈을 테스팅 프레임워크로 간편하게 통합합니다.  따라서 개발자들은 테스트 시스템 구축에 필요한 테스트 프레임워크가 아닌 테스트 개발 그 자체에 더욱 집중할 수 있습니다.

신속한 개발, 코드 재사용, 향상된 성능, 자동화가 우선시되는 오늘날의 테스트 환경에서 NI TestStand는 중추적인 역할을 합니다.  NI TestStand는 테스트 시스템 개발 및 관리를 위한 바로 실행 가능하면서도 완벽하게 사용자 정의가 가능한 환경을 제공합니다.

이 글에서는 TestStand의 기본적인 개요에 대해서 알아보았습니다.


이 글이 도움이 되셨나요? 그렇다면 아래의 그림을 클릭해주세요.



댓글