사례 연구 : 컨텐츠 관리 시스템을위한 자동화 테스팅

클라이언트

클라이언트는 미디어 업계에서 가장 광범위한 국제 TV 회사 중 하나를 운영하는 선도적 인 미디어 회사로서 전세계에 정보를 제공을 위한 엔터테인먼트하고 영감을주는 고품질의 컨텐츠를 제공한다.

비즈니스 요구 사항

클라이언트는 비기술 사용자가 멀티 미디어 자산을 매스 미디어에 게시하기 전에 입력 , 공유 및 버저닝프로세스를 관리 할 수 있는 웹 인터페이스 애플리케이션에 원 스톱 솔루션을 제공 가능할 해외 파트너만 원했다. 시스템은 다음 기능을 지원해야 한다:
• 자동화된 템플릿.
• 기존 디지털 관리와 통합한다.
• WYSIWYG (당신이 보게 되는 것은 당신이 얻는 것이다) 편집자가 아닌 비 기술자들은 컨텐츠를 작성하고 편집 가능한 도구.
• 단일 콘텐츠 인스턴스의 여러 버전을 추적하고 관리하는 기능.
• 컨텐츠에 대한 액세스를 지원하기 위해 컨텐츠를 미리보고 저장소에 게시하는 기능.
• 기사 게시를 위한 워크 플로.
• 다양한 플랫폼 (WEB, PDA, 모바일 및 대화식 TV) 지원.
• 유지 단계에서는 생산 시간을 단축하기 위해 각 생산 릴리스에 필요한 회귀 테스트에 대한 자동화 테스트가 필요하다.

도전 과제

거대한 데이터베이스를 가져 와서 효율성을 높이기 위해 재구성하는 것은 어려운 작업이었다. FPT 소프트웨어는 다음과 같은 사실을 발견했다:
• 출발점은 정확하지 않는 요구 사항이었다.
• 시스템이 복잡하고 분산되어 있었다.
• 매우 통신 집약형 프로젝트이다.
• 매우 타이트한 스케줄으로 인해 대규모 팀 있어야 한다.

솔루션

시간이 비용 절감하는 것처럼 중요했기 때문에 FPT 소프트웨어는 현지 및 해외 모델을 사용했으며 18명으로 팀을 구성하고 프로젝트는 10 개월 만에 완료했다. 비즈니스 분석팀이 1 개월 동안 현지에서 근무하면서 비즈니스 사용자 (컨텐트 프로듀서, 프로세스 소유자, IT 부서 등)의 강력한 참여뿐만 아니라 요구 사항을 연구를 위해 보냈다. 이를 완료되면, 지식을 팀으로 전송하며 설계, 코딩 및 테스트 영역에서 하기로 했다.
FPT Software 팀은 IBM Websphere 5.0, Oracle 9i 및 TEAMS 5.0을 사용하여 Sun Solaris 2.9 Server에서 시스템을 개발하는 엔드 – 투 – 엔드 Content Management System 솔루션을 제공했다.
새로운 구조는 라이프 사이클 단계들 사이의 자연스러운 연관성을 개발을 위한 것이었다 – 개발 및 테스트 단계는 오프 쇼어에서 동시 수행하며, 설계 및 사용자 승인하는 것은 on – site에서 수행한다. 이 모델은 신속한 전달 및 통합 혜택을 얻을 수 있게 클라이언트와 함께 고려되었다.
팀과 고객 사이트 간의 안전하고 믿을 수있는 통신 링크를 통해 프로젝트 진행 상황을 모니터링하고 위험 문제를 완화 할 뿐만 아니라 요구 사항과 솔루션을 상의하기 위해 프로젝트 관리 각 등급은 자주 회의 요청한다.
또한 FPT 소프트웨어는 수락 테스트가 완료된 후 3 개월 동안 시스템을 유지 관리 및 진행을 지원한다.
필요한 자동화 테스트를 요구 사항에 대한 FPT는 WATIR 사용하기로 했다(Ruby에서 웹 응용 프로그램 테스팅)

혜택

• 기술 직원의 자원 요구 사항을 줄러서 비용을 절감하다.
• 비 기술적인 인력은 스스로 일을 가능하다. 그 외에 출판 될 내용과 공개 사이트에 게시 될 때를 완전히 제어 가능하다.
• 자동화 된 게시 프로세스를 통해 모든 멀티미디어 자산의 형식과 스타일이 동일할 가능하다.
• 사이트 콘텐츠의 유지 관리를 분권해서 보틀넥 현상 줄리다.
프로젝트에서 WATIR의 적용하는 것에 대해:
장점:
• 프로젝트의 70 % 테스트 케이스가 WATIR의 적용되었다
• 각 릴리스에 대한 회귀 테스트 시간이 1 주 (최종 3 주 정도 소요)로 단축되었다. 테스트 스크립트는 UAT에서 고객 크기로 다시 사용할 수 있으므로 생산 시간을 단축 가능하다.
• 테스트의 스팬 시간이 단축되고 테스트 / 버그 수정 시간이 많이 있으며 릴리스의 중요한 경우에도 하는 시간이 더 많으니 품질이 향상되었다.
단점 :
• 테스터를위한 루비 학습 곡선.
• 초기에 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