여러분의 비즈니스에 보안 및 SW품질 기술을 더해 사이버공격으로 부터 자산을 보호하고 SW의 품질과 신뢰성을 확보합니다.

Recent Posts
COPYRIGHT ⓒ 2020 SOFTFLOW. ALL RIGHTS RESERVED.
 

유럽원자핵공동연구소의 GUI 테스트 자동화 사례

유럽원자핵공동연구소의 GUI 테스트 자동화 사례

유럽원자핵공동연구소의 GUI 테스트 자동화 사례

 

유럽원자핵공동연구소의 JCOP 프레임 워크 개발
약 10년전 유럽원자핵공동연구소(이하 CERN)은 산업 제어 시스템 개발을 위해 JCOP(Joint Controls Projects) 프레임 워크라는 툴 킷을 개발했습니다이 프레임워크는 대조 실험입자 가속기 및 CERN의 기술 인프라를 제어하기 위한 시스템 생성을 지원하기 위해 설계되었습니다.

JCOP 프레임워크는 Qt 기반의 WINCC-OA로 구성된 SCADA(Supervisory Control and Data Acquisition) 기술에 대한 접근을 단순화하고 통합하기 위해 고안된 소프트웨어 계층입니다. JCOP 프레임워크는 코드 라이브러리와 상당한 양의 GUI 소프트웨어로 구성되어 있습니다이 프레임워크는 CERN 전체에서 널리 사용되기 때문에 고수준의 신뢰성과 안정성을 보장하기위해 규격화되고 자동화된 품질 보증 프로세스가 필요했습니다따라서 여기에 사용되는 자동화 도구는 데일리 회귀시험과 Windows Linux 환경을 모두 지원해야 했습니다.

GUI 테스트 자동화 도구 활용 방안 연구 및 적용 사례
CERN은 다양한 GUI 테스트 도구를 평가한 후 CERN 테스트 엔지니어인 Paul Burkimsher, Manuel Gonzalez-Berges, Stefan Klikovits는 Squish를 최종 선택했으며 2006년부터 사용을 시작했습니다.

CERN은 테스트 엔지니어의 초기 접근 방식은 Squish의 테스트 레코딩 기능을 광범위하게 사용하는 것이었습니다. (이때 자동 생성되는 테스트 스크립트는 파이선을 선택했습니다.) 하지만 복잡한 소프트웨어를 레코딩 기능만으로 테스트하기에는 어려움이 있었습니다.

CERN 테스트 엔지니어는 레코딩된 Squish 테스트 스크립트를 자신들의 High-level 객체지향 테스트 라이브러리를 만들기 위한 기초 데이터로 사용했습니다테스트 라이브러리에는 모든 GUI 클래스들이 포함되어 있어 구조화되고 모듈화된 테스트 케이스 생성이 가능했습니다라이브러리를 활용하면서 단순한 테스트 레코딩을 통해 생성되는 중복 코드를 대폭 줄이고 라이브러리 호출을 통해 GUI 동작의 상호 작용을 추상화 할 수 있었습니다.

이를 통해 라이브러리 호출과 검증에 소요되는 테스트 시간을 줄였습니다또한 테스트 엔지니어는 사전 정의된 모든 기능의 테스트 시나리오를 만들어 테스트 할 수 있기 때문에 테스트가 훨씬 빠르고 쉬워졌습니다이 작업을 통해 테스트에 영향을 주는 소프트웨어 스택의 변경 사항이 있으면대량의 테스트 케이스를 확인하거나 변경하지 않고 하나의 라이브러리 만을 업데이트하여 해결할 수 있게 되어 테스트 케이스 관리 기능이 훨씬 더 강력해졌습니다.

CERN 테스트 엔지니어들의 또 다른 중요한 문제는 Windows와 Linux 환경에서 모두 테스트하는 것이었습니다그들은 여러가지 솔루션을 시도하고 결국 Hudson 도구를 사용하여 CI(Continuous Integration) 환경을 구축하는 방법을 선택했습니다. (Squish는 Hudson 통합을 지원합니다.) 처음에는 모든 테스트를 서로 다른 PC에서 수행했지만지금은 CERN 컴퓨터 센터의 가상 컴퓨터를 사용하여 Squish 기반의 테스트를 실행시킵니다.

CERN의 테스트 엔지니어는 Squish의 적용 사례테스트하며 발생되었던 이슈와 해결 방법 들을 설명하는 논문을 발표했으며이 논문은 ICALEPCS(International Conference on Accelerator and Large Experimental Physics Control Systems)에서 발표되었습니다.

 

댓글이 없습니다.

Sorry, the comment form is closed at this time.