사례 연구: CMS를 위한 테스트 자동화

고객

고객사는 세계 최대규모의 TV 사업을 운영하며 고품질 정보 및 엔터테인먼트 콘텐츠를 제공하는 글로벌 미디어 기업입니다.

비즈니스 수요

고객사는 웹 인터페이스 어플리케이션을 위한 원스탑 솔루션을 제공해줄 해외파트너를 원했습니다. 고객사의 어플리케이션은 기술전문가가 아닌 일반이용자들이 멀티미디어 자산을 반입, 공유, 각색한 후 매스매디어에 공개(publishing)하는 과정을 관리하도록 해줍니다. 이 시스템은 다음의 기능을 지원합니다.
자동화된 템플레이트
• 기존 디지털 자산 관리(Digital Assets Management) 시스템과의 통합
• 일반 이용자들이 콘첸츠를 제작하고 편집하도록 도와주는 편집툴인 WYSIWYG(What You See Is What You Get)
• 단일 콘텐츠의 복수 버전을 추적, 관리하는 기능
• 콘텐츠 접속을 지원하기 위해 콘텐츠를 프리뷰하고 저장소에 공개하는 기능
• 기사(article) 출판을 위한 업무 흐름
• 복수 플랫폼 지원(웹, PDA, 모바일, 양방향 TV)
• 제작까지 소요되는 시간 단축을 위해 유지관리 단계에서 회귀분석 테스트 자동화가 요구됩니다. 회귀분석 테스트는 각각의 콘텐츠 제작물 배포를 위해 필요합니다.

과제

막대한 규모의 데이터베이스를 재구성하여 효율성을 향상시키는 작업은 힘든 과업이었습니다. FPT 소프트웨어는 다음의 문제점들을 선별했습니다:
• 시작부터 요구사항들이 명확하지 않았습니다.
• 복잡한 시스템이 배포되었습니다.
• 극도로 커뮤니케이션 집약적인 유형의 프로젝트입니다.
• 극도로 빠듯한 일정으로 팀의 규모가 커졌습니다.

솔루션

시간은 비용절감 만큼이나 중요한 요소였으므로, FPT 소프트웨어는 역내외(Onsite-Offshore) 모델을 사용하였고, 18명으로 구성된 프로젝트 팀이 10개월만에 프로젝트를 완료하였습니다. 비즈니스 애널리스트팀이 현장에 파견되어 1개월 동안 현장의 요구사항과 비즈니스 이용자들(콘텐츠 제작사, 프로세스 오너, IT 부서 등)의 적극적 개입을 조사하였습니다. 이 작업이 완료된 후, 프로젝트 팀으로 지식이 이전되어 설계, 코딩, 테스팅 영역의 주요사항을 결정하였습니다.
FPT 소프트웨어팀은 IBM Websphere 5.0, Oracle 9i, TEAMS 5.0을 사용하여 Sun Solaris 2.9 서버에서 시스템을 개발하기 위한 엔드-투-엔드 콘텐츠 관리 시스템 솔루션을 제공하였습니다.
새로운 시스템 구조는 수명주기 단계에서 역외 개발 & 테스팅 단계와 역내 설계 & 사용자 검수 단계간 연계를 최대한 활용하기 위한 것이었습니다. 이 모델은 고객사와 함께 신속한 결과물과 통합 효과를 창출하기 위해 고안되었습니다.
프로젝트 진행상황을 모니터링하고 위험성 완화, 요구사항 및 솔루션을 논의하기 위해 안전하고 신뢰할만한 커뮤니케이션 링크를 통해 프로젝트팀과 고객사간 정기적인 컨퍼런스 콜이 실시되었습니다.
FPT 소프트웨어팀은 또한 이용자 검수 테스트가 완료된 이후에도 3개월 동안 고객사가 시스템을 배치하고 유지관리하는 작업을 지원했습니다.
테스트 자동화 요구사항과 관련하여, FPT 소프트웨어는 WATIR(Web Application Testing in Ruby)를 사용하기로 결정하였습니다.

효과

• 기술인력에 대한 요구가 감소하여 비용이 절감됩니다.
• 기술지식이 없는 일반직원들도 테스트 작업을 수행할 수 있게 되었습니다. 게다가 일반직원들은 어떤 제작물이 공개되었는지, 언제 공개사이트에서 라이브 중계되는지 통제할 수 있게 되었습니다.
• 자동화된 공개 프로세스를 통해 모든 멀티미디어 자산의 콘텐츠 포맷 및 스타일이 동일해졌습니다.
• 웹사이트 콘텐츠의 유지관리 활동을 분산시켜 병목현상을 감소시켰습니다.
WATIR 어플리케이션 활용
장점:
• 이 프로젝트에서 테스트 사례의 70%가 WATIR을 이용하였습니다.
• 각 릴리스(release)당 회귀분석 테스트에 소요되는 시간이 1주일로 감축되었습니다(과거에는 3주 정도 소요됨). 테스팅 스크립트는 UAT에서 재사용가능하며, 원하는대로 변경사용이 가능하기 때문에 생산까지 소요되는 시간을 줄여줍니다.
• 테스트 시간이 감축되면서 오류 해결에 투입되는 시간이 증가하고, 중요한 사례에 더욱 시간을 투자할 있게 되어 품질이 향상됩니다.
단점:
• 테스트하는 직원이 Ruby 언어를 모르는 경우, 학습효과가 나타나는데 시간이 걸립니다(학습 곡선 효과).
• 초기에 테스트 스크립트를 작성하는데 노력이 소요됩니다.(하지만 스크립트가 재사용되고 점차 테스트 결과가 누적되면, 이같은 비용/노력을 절감할 수 있을 것입니다.)
• Ruby는 IE 웹브라우저만을 지원하므로, 일부 UI를 지원하지 않아 텍스트 길이가 제한될 수 있습니다.

사용 기술:

• J2EE, Oracle 9.2.0.2, Sun Solaris 9, TEAMS 5.0
• HTML, Java, JSP, JavaScript, XML, JSLT 1.0
• Struts, IBM WebSphere 5.0 studio, VSS, ErWin 4.0
• Ruby, WATIR