"복잡한 웹앱 테스트·QA 부담 덜어드립니다"

센차, HTML5 프레임워크 이어 테스트용 패키지 공개

컴퓨팅입력 :2016/03/22 16:52

기업내 웹 애플리케이션(이하 '웹앱') 개발자와 품질보증(QA)업무 담당 엔지니어를 겨냥한 테스트용 패키지 소프트웨어(SW)가 등장했다. HTML5 프레임워크 전문업체로 알려진 센차(Sencha)가 만든 '센차테스트'다.

센차는 2011년 설립된 미국 벤처회사다. 개발자가 자바스크립트 프로그래밍과 HTML, CSS 코드를 조합해 화면 크기, 운영체제(OS), 브라우저 종류가 다양한 PC와 모바일 환경에 일관되게 작동하는 웹앱을 만들 수 있도록 돕는 ExtJS와 센차터치 등 웹앱 프레임워크를 만들어 공급해 왔다. 4년전 웹표준 기술 및 교육전문업체 미래웹기술연구소를 통해 한국 시장에 소개됐다. 이후 3년간 대기업 개발툴 수요에 초점을 맞춰 영업을 전개했고 지난해 11월 한국지사를 세웠다. 국내에 형성된 플러그인 퇴출 여론을 기회로 금융 및 공공 수요를 발굴하고 있다.

[☞관련기사: HTML5 기술 '봇물'…국내 개발사 선택은?]

[☞관련기사: 센차, 국내 기업용 HTML5 앱개발 공략 가속]

[☞관련기사: HTML5 개발툴, 클라우드 타고 확산될까]

웹앱 프레임워크와는 별개로, 센차는 지난해 웹앱 개발 생산성을 높여 준다는 센차테스트를 만들고 있었다. 본사는 지난해 12월 센차테스트를 초기 시험한으로 배포했다. 올초엔 베타 버전으로 제공하기 시작했다. 2월에 정식판을 소개했다. 이달 초 한국 시장에도 선보였다. 지난 9일 서울 중구 페럼타워에서 '센차 로드쇼'라는 이름으로 열린 기술 설명회를 통해서다. 센차를 사용하고 있는 기업 소속 개발자와 SW엔지니어를 대상으로 웹앱 개발 시나리오에서 복잡해지고 있는 결과물의 결함 파악 및 대응 업무 효율을 높여줄 수 있다는 가치를 강조했다.

현장에서 센차테스트는 자바스크립트 프로그래밍을 핵심으로 하는 웹앱 결과물의 완성도와 신뢰성을 높여 줄 수단으로 묘사됐다. 데스크톱용 웹앱 프레임워크인 ExtJS를 사용하는 기업 환경의 테스트 실무에 최적이며, 기존에 알려진 오픈소스 테스트 플랫폼을 도입한 조직에게도 그걸 더 편리하게 쓸 수 있도록 만들었고, 기업내 개발자에게 복잡한 웹앱 개발과 QA업무의 부담을 낮출 수 있다는 얘기였다.

웹앱 테스트용 패키지SW 센차테스트를 활용한 전체 웹앱 테스트 업무 흐름도.

센차테스트는 웹앱 테스트용 패키지SW다. 웹앱을 만들면서 수행해야 하는 단위 테스트 작성과 실행, 이를 자동화하는 인터페이스와 테스트 재사용 및 분석 결과 확인에 필요한 도구를 포함한다. 오픈소스 테스트 프레임워크 자스민(Jasmine), 소스코드 중 테스트코드가 검사하지 않는 부분을 파악케 해주는 이스탄불(Istanbul), 과거 '허드슨'에서 이름을 바꾼 젠킨스(Jenkins)나 팀시티(TeamCity)같은 자동화 빌드 및 테스트 도구, 소스랩스(SauceLabs)같은 이기종 웹환경 테스트 자동화 서비스 등과 연동할 수 있다.

센차는 센차테스트를 왜 만들었을까. 제프 포프 센차 아태지역 부사장의 설명은 시장 상황에 초점을 맞췄다. 개발부서가 조직에서 요구하는 생산성 수준에 맞춰 일하려면 필요한 수단이라는 뉘앙스다.

"많은 기업들이 웹을 주요 플랫폼으로 인식하고 있습니다. 네이티브 앱을 웹으로 이식하려는 계획을 가진 기업들이 적지 않고요. 상황이 이런만큼 기업에서 개발 부서에 대한 조직내 요구 사항은 계속 늘어나는 상황입니다. 그런데 개발요소의 복잡성과, 내놓아야 결과물의 품질에 대한 요건이 동시에 높아지고 있죠. 기업들이 웹앱 개발 환경에서 이에 대응하려면, 온갖 기기 및 플랫폼에서의 작동을 전제하는 개발 및 테스트 업무를 매끄럽게 수행할 수 있어야 합니다. 이게 저희 미션이라 생각했죠."

개발부서의 실무적 이익에 초점을 맞춘 돈 그리핀 센차 기술총괄 이사의 설명이 이어졌다. 담당자간 단절된 테스트 업무를 연동시켜 효율적으로 만들 수 있는 수단을 제공하려 했다는 내용이었다.

"웹앱 개발 실무의 복잡성과 테스트 비용 증가 현상이 나타나고 있습니다. 개발팀의 업무 환경을 보면 웹앱을 로컬 PC에서 작성하고, 소스코드는 별도의 테스트서버에 올려 구동시킵니다. 테스트서버 브라우저에서만 돌리는 게 아니고 '소스랩스'같은 외부 웹플랫폼 테스트 서비스를 따로 돌리기도 하죠. 그 다음 결과물을 빌드하는 시스템은 또 따로 두고요. 이 과정들이 다 단절돼 있어 불편합니다. 웹앱 개발, 테스트, 빌드에 이르는 각 단계를 매끄럽게 이어주는 게 센차테스트라는 툴의 핵심이죠."

제프 포프 센차 아태지역 담당 부사장(왼쪽)과 돈 그리핀 센차 기술 총괄이사

이런 얘기다. 조직 규모가 큰 경우 SW개발 담당자와 별개로 테스트만 전담하는 QA엔지니어 담당자 업무가 존재한다. 개발자는 자신의 개발 환경에서 코드를 직접 작성하고 테스트할 수 있다. QA엔지니어는 일정한 단위로 갱신, 테스트 환경에 배포되는 코드를 테스트하는 입장이다. 둘의 역할이 분리돼 있어 실무적으로는 단절이 존재한다. 회사측은 센차테스트라는 툴로 두 역할의 업무 프로세스를 묶어, 이런 현업의 단절에 따른 문제를 연결해 줄 수 있다는 입장이다.

그럼 QA 개념이 없거나, QA엔지니어를 따로 둘 만큼 개발 조직 규모가 작아 테스트 업무까지 개발 담당자가 맡는 조직에선 센차테스트가 별로 필요 없는 것 아닐까. 이같은 지적에 회사측은 그렇지 않다고 반박했다. 가급적 전문 테스트 담당자인 QA엔지니어에게 혜택을 주고자 했지만, 두 직군의 수요를 모두 충족 가능한 제품을 의도했다는 설명이었다. 어쩌면 두 역할을 함께 해내야 하는 조직내 실무자 입장에선, 테스트 업무에 대한 부담을 줄일 수 있기에 더 유용할 수 있다고 답하기도 했다.

웹앱 개발 및 QA실무자는 센차테스트를 이런 흐름으로 쓰면 된다. 우선 '테스트스튜디오'로 단위 테스트를 작성한다. 다음 '테스트러너'를 통해 테스트를 실행한다. 반복 테스트는 명령줄인터페이스(CLI) 기반으로 테스트 실행을 자동화할 수 있는 '테스트CLI'로 돌린다. 이후 테스트시나리오에 대한 결과 리포팅을 확인해 고쳐야 할 지점을 찾는다. 코드에서 고칠 부분을 확인하려면 '테스트아카이버'라는 분석도구를 통해 시각화된 테스트 결과를 보면 된다. 재사용 가능한 테스트도 여기서 관리할 수 있다.

관련기사

그리핀 이사는 "센차테스트의 동작 위치는 실제 운영 서버에 올라간 웹앱이 서비스 이용자의 접속에 대응하는 중간 영역에 있어, 실제 이용자의 행동을 바탕으로 발생 가능한 시나리오를 미리 확인 가능하다"며 "클래스와 펑션 단위의 테스트, 이를 통합 통합한 구성요소 테스트, 최종 결과물 테스트, 3가지 수준의 테스트에 모두 센차테스트를 활용할 수 있다"고 강조했다.

한국에서 센차테스트가 얼마나 확산될 수 있을지는 미지수다. 센차의 웹앱 프레임워크 솔루션을 도입한 한국 기업이나, 대략 1천명 가량이라는 국내 사용자들의 관심을 끌 수는 있을 듯하다. 유영훈 센차코리아 대표는 기존 솔루션이 지난해 CJ, 쌍용, LG 등 그룹의 일부 계열사에 신규 도입이 이뤄졌으며, 앞서 도입된 고객사에서도 부분적으로 도입됐다가 그 범위가 확대되는 사례가 많았다고 강조했다. 국내서는 올해 액티브X를 걷어내려는 공공 웹 기술 수요에 대응해 많이 나오고 있는 프로젝트를 공략한다는 구상을 제시했다.