반응형

제목: 클라우드로 테스팅 옮겨가기(Taking Testing to the Cloud)

저자: Vinaya Kumar Mylavarapu, Cognizant

문서유형: 업체 브로셔(10 페이지), 2011

 

테스트 환경을 클라우드로 이동시키게 되는 요인들을 설명한 자료

테스팅은 그 쓰임이 간헐적임에도 불구하고 기반시설(infrastructure)에 막대한 선행 투자를 필요로 하는데, 클라우드의 리소스 유연성이 테스팅의 이런 요구사항에 잘 맞아 떨어짐



테스팅과 클라우드

테스팅이 클라우드로 향하는걸 적극적이도록 만드는 요인들이 아래와 같다.

  • 테스팅은 주기적인 활동이고 각각의 프로젝트를 위한 신규 환경 셋업을 요구함. 회사의 테스트 실험실이 장기간 비용, 전력, 공간을 소비하면서 하는 일 없이 있는게 통상적임. 보고서에 따르면 테스팅을 위해 배정된 기술 기반시설의(technology infrastructure)의 대략 50~70%가 충분히 활용되지 못하고 있다고 함
  • 테스팅이 중요한 활동이긴 하지만 비즈니스에 핵심적인 활동은 아님. 따라서 테스팅을 클라우드로 옮기는 일이 안전한 모험으로 여겨짐(이게 민감한 조직 데이터를 포함하지 않으며 조직의 일상 비즈니스 활동에도 최소한의 영향을 줌)
  • 동적이고, 복잡도가 높으며, 분산화되고, 컴포넌트에 기반하는 애플리케이션이 점점 증가하고 있는데, 이는 테스팅팀에게 많은 새로운 난제를 안겨줌. 예를 들어, 모바일 웹 애플리케이션은 그것의 현실적인 성능을 이해하기 위해 다수의 운영 체제와 업데이트, 다수의 브라우저 플랫폼과 버전, 여러 하드웨어 타입, 많은 수의 동시 사용자로 테스트 되어야 함. 이런 복잡성과 다양성을 반영하는 사내 테스팅 환경(in-house testing environments)을 수동으로 생성하는 전통적인 접근 방법은 막대한 비용과 리소스를 소비함

 

클라우드의 온디맨드식 공급은 이러한 이슈들을 클릭 하나로 해결해 줌. Fujitsu의 최근 연구에 따르면 테스팅 및 애플리케이션 개발(57%)’웹 사이트(61%)’에 이어서 두 번째로 많이 클라우드에 올라오는 워크로드라고 함

[클라우드 상의 가장 많은 애플리케이션 순위 - Fujitsu, 2010]



비용 요인(Cost Factor)

비용 절감은 업체들이 클라우드를 포용하도록 영향을 미치는 주요 요인이다.

  • 클라우드에서의 테스팅은 클라우드 컴퓨팅 기반시설을 활용하여 테스팅 효과성을 높이면서 컴퓨팅의 단위 비용을 줄여줌. 클라우드 기반 테스팅 서비스 공급업자들의 연구에 따르면 기반시설을 포함한 비용 절감이 40~70%에 달한다고 함
  • 높은 비용을 감당할 수 없는 중소 규모 비즈니스들에게도 클라우드 기반 테스팅이 이상적인 접근 방법으로 받아들여짐. 공공 클라우드(public cloud)를 통해 기업들은 기반시설, 툴 라이센스, 테스트 환경의 구성 및 유지보수에 선행 투자를 할 필요가 사라지게되며, 사용한 만큼에 대해서만 비용을 지불하게 됨. 사설 클라우드(private cloud) 경우에는 테스팅 프로세스가 완료되고 나면 기반시설이 임무 해제(decommissioned) 될 수 있으며, 이는 값비싼 운영 비용(operational costs)으로부터 조직을 자유롭게 해 줌
  • 클라우드가 주는 비용 이점의 정도는 선택된 클라우드 타입(사설, 공공, 하이브리드), 테스트 환경의 구성, 수행되는 테스트 타입 같은 여러 요인에 따라 달라짐. 또한 테스팅팀의 올바른 서비스 공급업자를 선택하는 능력, 서비스 공급업자와 협업하는 능력, 비용 최소화를 위해 클라우드를 이해 및 활용하는 능력 같은 여러 추가적인 요인들도 중요한 역할을 함


비용 외 요인(Beyond Costs)

낮은 비용이 클라우드로 이끄는 강력한 미끼임에는 변함 없지만, 비용 절감 외에도 클라우드 기반 테스팅은 다른 이점을 제공한다.

  • 연구에 따르면 결함의 약 30%가 테스트 환경의 부정확한 구성(inaccurate configuration of test environments)에 기인함. 클라우드 기반 테스팅 서비스 공급업자는 표준화된 기반시설과 사전 구성된 소프트웨어 이미지를 제공하므로 이런 에러를 크게 줄일 수 있음
  • 사내 테스트 환경을 생성하는 일은 시간이 많이 걸리고 지연 가능성도 높기 때문에 전통적인 테스트 환경은 제품을 적시에 시장에 출시하는데 있어 종종 제약이 됨(단일 애플리케이션을 위한 단순한 테스트 환경을 셋업 하는데 여러 주 또는 여러 달이 걸릴 수 있고 이는 출시 지연으로 이어짐). 반면 클라우드의 온디맨드식 공급은 요구되는 테스팅 리소스가 이미 클라우드에 존재하고 즉각적으로 공급될 수 있으므로 출시 시점을 맞추는데 도움이 됨
  • 클라우드 기반 테스팅에서는 조직이 더 이상 서버를 찾거나 프로그램과 테스팅 툴 라이센스를 확보하고 설치하는 문제로 걱정할 필요가 없게 됨. 서비스 공급업자는 확장가능하고 바로 사용할 수 있는 가상 실험실(virtual labs)에 테스터가 접근할 수 있게 해주며, 이 가상 실험실은 현실적인 테스트 환경을 생성하는데 필요한 운영 체제, 테스트 관리 및 실행 툴, 미들웨어, 저장소를 갖추고 있음. 테스터가 최소한의 재작업으로(또는 재작업 없이) 기존 애플리케이션과 가상 머신을 실행시킬 수 있으며, 가상화된 기반시설을 사용하여 몇 분 내에 테스트 환경을 확장시킬 수 있음
  • 클라우드 기반 테스트 환경은 테스트를 구축 및 실행하고, 애플리케이션 성능을 분석하고, 테스트 실행 중에 병목과 스트레스 영역을 찾아내는데 있어 테스팅팀이 더 많은 통제권을 갖도록 해 줌. 클라우드는 애플리케이션의 한계점(breaking points)을 평가하기 위해서 테스터가 수 천명의 동시 사용자로부터 수 백만의 동시 사용자로 확장하는걸 허용함. 이는 가능한 런타임 에러에 대해 테스터가 명확히 알도록 하여 생산 에러(production errors)를 줄이게 하고, 예측 못한 수요 수준에 더 잘 대응할 수 있게 함
  • 클라우드의 빌트인 협업 및 관리 툴이 분산된 프로젝트 팀들 간의 실시간 협업을 용이하게 함. 일단 테스터가 로그인하고 테스트를 실행시키면 그 결과가 개발자에게 가용해짐(개발자가 클라우드 상에서 성능을 평가하고 장애를 수정할 수 있게 됨). 이게 에러와 관련하여 테스터와 개발자 간의 왔다갔다하는 의사소통을 줄여줌. 관리자는 프로젝트의 전반적 진척을 모니터할 수 있고, 리뷰를 위해 특정 태스크로 자세히 파고들 수 있게 됨


Intuit의 사례(클라우드를 활용한 부하/스트레스 테스팅)

  • 거대 금융 소프트웨어 업체 Intuit 2009년에 소득세 신고서 온라인 제출이 크게 증가할 것이라는 내부 예측에 따라 자사의 온라인 소득세 서비스인 TurboTax를 테스트 할 필요가 생김. 그 당시 까지는 이 사이트가 4,000명의 동시 사용자를 지원하는 것으로 테스트되었고 인증되어 왔음
  • Intuit는 수요가 갑자기 치솟을 것으로 예상되는 신고 마감일 전 이틀(4 14일과 15) 동안을 특히 주목하였고, 최소한 해당 일자 예상 피크량의 200%로 애플리케이션을 테스트 하기로 함
  • Intuit가 현실 트랙픽을 시뮬레이션 하기 위해 Soasta CloudTest On-Demand 서비스를 선택함. 테스팅이 일차적으로 1,000명의 동시 사용자를 시뮬레이션 했으며, Amazon Elastic Compute Cloud EC2로부터 생성된 부하를 이용하여 점진적으로 램프업 함(25,000명의 고객이 온라인으로 소득세 신고를 하는 동안 궁극적으로 300,000명의 동시 사용자를 시뮬레이션 함)
  • Soasta 33일 동안 Intuit와 작업하였으며, 이 전체 과정이 Intuit 개발팀이 결함을 빠르게 식별 및 수정하고 사이트 성능을 더 잘 이해하도록 도움을 줌. 그 결과 TurboTax 사이트가 가장 우려되었던 일시의 최고 성능 부하(peak performance load)를 감당할 수 있게 됨


반응형

+ Recent posts