반응형
제목: 클라우드 테스팅: 이슈, 과제, 요구사항, 관행(Cloud Testing - Issues, Challenges, Needs and Practice)
저자: Jerry Gao 외 2인, 미국
문서유형: 학계 저널 페이퍼(총 15페이지), 2011년
클라우드 테스팅과 클라우드 기반 애플리케이션 테스팅에 대하여 전반적인 개념과 이슈들을 정리한 자료
클라우드 컴퓨팅
- 인터넷 진화의 다음 단계
- 전형적인 클라우드의 속성으로 신축성과 확장성(elasticity and scalability), 복수 차용성(multi-tenancy), 자기 관리 기능(self-managed function capabilities), 서비스 빌링과 계량 기능(service billing and metering functions), 연결성 인터페이스 및 기술(connectivity interfaces and technologies)을 들 수 있다.
- 또한 클라우드는 인터넷상의 분산된 위치에서의 대규모 사용자 접근을 지원하고, 시간 제약 없이 주문형(on-demand) 애플리케이션 서비스를 제공하며, 고객에게 가상 설비 또는 실제 물리적인 설비를 제공한다.
- 3가지 타입의 클라우드: 방화벽 뒤의 사설 네트워크를 기반으로 한 사설 클라우드(private clouds), 인터넷 상의 공공 접근을 허용하는 공용 클라우드(public clouds), 공용과 사설이 섞인 혼합형 클라우드(hybrid clouds)
클라우드 테스팅 정의
- 위키피디아의 정의: 클라우드 컴퓨팅 환경을 활용하는 웹 애플리케이션이 웹사이트의 부하 및 스트레스 테스팅을 위해 현실의 사용자 트래픽을 시뮬레이션 하는 소프트웨어 테스팅의 한 형태
- 본 페이퍼의 정의: 클라우드 기반 환경과 인프라구조에서 클라우드 기술과 솔루션을 활용하여 수행되는 테스팅 및 측정 활동
클라우드 테스팅의 주요 목표
- 클라우드에 전개된 클라우드 기반 애플리케이션의 품질을 보장. 즉, 클라우드의 애플리케이션 기반 시스템 요구사항들을 기준으로 기능 서비스, 비즈니스 프로세스, 시스템 성능, 확장성 등을 확인
- 클라우드 환경에서의 SaaS(software as a service)를 검증. 특정 경제 단위와 사전 정의된 SLA(서비스수준합의서)를 기준으로 소프트웨어 성능, 확장성, 보안성, 정량적 평가 지표를 확인
- 자동 제공되는 클라우드 기반 기능 서비스(예, auto-provisioned functions)를 체크
- SaaS와 클라우드 인프라구조의 애플리케이션들간의 클라우드 호환성(cloud compatibility) 및 상호운영성(inter-operation capability)을 확인 예) SaaS API와 클라우드의 다른 것들과의 연결성(cloud connectivity)을 체크
클라우드 기반 소프트웨어 테스팅의 형태
각기 다른 중점과 목표를 가진 4가지 형태의 클라우드 기반 소프트웨어 테스팅이 존재함
- 클라우드에서의 SaaS를 테스팅(Testing a SaaS in a cloud): 클라우드에 있는 SaaS의 품질을 기능 및 비기능 서비스 요구사항을 기준으로 확인
- 클라우드를 테스팅(Testing of a cloud): 클라우드의 기능 및 서비스에 대한 제공되는 명세를 기준으로 외부 관점에서 클라우드의 품질을 평가. 최종사용자 뿐만 아니라 클라우드와 SaaS 벤더도 이런 타입의 테스팅을 수행하는데 관심을 가짐
- 클라우드 내부에서 테스팅(Testing inside a cloud): 클라우드의 내부 인프라구조와 명세된 클라우드 기능을 기준으로 내부 관점에서 클라우드의 품질을 확인. 내부 인프라구조나 연결점에 접근할 수 있는 클라우드 벤더 만이 수행할 수 있는 테스팅 타입
- 클라우드 상에서 테스팅(Testing over clouds): 시스템 레벨 애플리케이션 서비스 요구사항과 명세서를 기준으로 클라우드 기반 서비스 애플리케이션을 클라우드 상에서 테스트. 대개 클라우드 기반 애플리케이션 시스템 공급업자에 의해 수행됨
클라우드 테스팅의 신규 요구사항
- 클라우드 기반 테스팅 환경(Cloud-based testing environment): 선택된 특정 클라우드 인프라구조(또는 플랫폼)를 확장 가능한 여러 컴퓨팅 자원, 시스템 인프라구조, 도구 등이 구비된 테스트 베드의 기지로 사용
- 서비스수준합의서(Service-level-agreements: SLAs): 클라우드, SaaS, 애플리케이션 모두가 대개 잘 정의된 서비스수준합의서에 기반한 서비스를 고객과 최종사용자에게 제공하므로 이 합의서가 테스팅과 품질 보증 요구사항의 한 부분이 된다.
- 가격 모델과 서비스 빌링(Price models and service billing): 가격 모델과 사용에 따른 비용 청구가 기본이 됨(즉, 컴퓨팅 자원, 인프라구조, 도구, 테스팅 서비스 등이 사전 정의된 가격 모델에 따라 비용 청구됨)
- 클라우드 기반 데이터 및 트래픽의 대규모 시뮬레이션(Large-scale cloud-based data and traffic simulation): 연결성 인터페이스(connectivity interfaces)에서 대규모 온라인 사용자 액세스와 트랙픽 데이터를 적용하고 시뮬레이션 하는 것은 클라우드 테스팅(특히, 시스템 레벨 기능 검증과 성능 테스팅)에서 필수적임
TaaS(Testing as a Service)
- 클라우드 테스팅의 고유 특징 중 하나인 TaaS는 서비스 제공자가 고객 요구에 따라 클라우드 인프라구조에서 주어진 애플리케이션 시스템의 소프트웨어 테스팅 활동을 책임지는 신규 비즈니스/서비스 모델
- 시간 제약 없이 주문에 따른 정적 또는 동적 테스팅 서비스를 제공
- TaaS 서비스 모델을 따르는 제 3조직에 소프트웨어 테스팅 업무를 아웃소싱 함으로써 비즈니스 조직은 핵심 업무에 집중하고 IT 예산을 줄일 수 있음
TaaS 서비스 기능
TaaS는 다음과 같은 주요 서비스 기능을 가지며, 이들 간의 작업 흐름은 아래 그림에 표현됨
- TaaS 프로세스 관리: 테스트 프로젝트 관리 및 프로세스 통제를 제공
- QoS 요구사항 관리: 소프트웨어 테스팅 및 QoS 요구사항의 명세와 모델링을 지원(품질 보증 모델링 포함)
- 테스트 환경 서비스: 필요한 가상(또는 실제) 클라우드 기반 컴퓨팅 자원, 인프라구조, 도구를 마련해주는 주문형 테스트 환경 서비스를 제공
- 테스트 솔루션 서비스: 체계적 테스팅 솔루션(예, 테스트 모델링과 테스트 방법)과 테스트웨어 생성 및 관리 서비스를 제공
- 테스트 시뮬레이션 서비스: 선택된 설비(예, 도구)를 갖춘 테스트 시뮬레이션 환경을 마련하고 필요한 테스트 데이터/메시지 생성을 지원
- 주문형 테스트 서비스: 선택된 일정과 테스트웨어를 기반으로 주문형 테스트 실행 서비스를 제공
- 추적 및 모니터 서비스: 테스트 엔지니어가 여러 다른 레벨에서 다양한 프로그램 동작을 추적 및 모니터 할 수 있게 해주는 서비스
- TaaS 가격 책정 및 청구(pricing and billing): TaaS 벤더가 사전 정의된 가격 모델과 빌링 서비스에 기반한 선택 가능한 테스팅 서비스 계약을 고객에게 제공
[TaaS 작업 흐름도]
반응형
'시스템유형별 > 분산' 카테고리의 다른 글
영상자료 - 분산 알고리즘 검증을 위한 소프트웨어 모델 체킹 by Chaki (0) | 2018.05.09 |
---|---|
문서요약 - 분산 시스템의 모델 기반 테스팅 by Saifan (0) | 2018.05.07 |
페이퍼요약 - 분산 인터넷 시스템 테스팅 사례 연구 by GOESCHL (0) | 2018.05.04 |
페이퍼요약 - TTCN-3 분산 시스템 블랙박스 테스팅을 위한 신규 테스트 명세 언어 by Grabowski (0) | 2018.05.02 |
문서요약 - OSI 적합성 테스팅의 개요 by Tretmans (0) | 2018.04.30 |