getting started with cloud testing
이 기사에서는 '클라우드 테스트'를 수행하는 방법에 대해 알아 봅니다. 이를 이해하려면 먼저 클라우드 컴퓨팅 개념을 알아야합니다. 이 문서에서는 클라우드 컴퓨팅, 클라우드 테스트 및 클라우드 테스트의 주요 과제에 대해 설명합니다.
클라우드 컴퓨팅 소개
몇 년 전 업계는 '가상화'라는 새로운 유행어와 기술을 목격했습니다. 확장 성을 높이고 자본 비용을 줄이며 IT 인프라를 쉽게 관리 할 수 있도록하기 위해 여러 운영 체제에서 컴퓨팅 리소스를 공유하는 이데올로기 인 가상화의 출현으로 여러 기업의 중추가되었습니다.
중소기업을위한 무료 데이터베이스 소프트웨어
지난 몇 년 동안 IT는 클라우드 컴퓨팅의 형태로 가상화의 진화를 목격했습니다. 클라우드 초보자는 클라우드 컴퓨팅을 모든 것을 '서비스로'보는 모델로 생각해야합니다.
클라우드 컴퓨팅을 IT as a Service를 제공하는 토털 솔루션으로 정의하는 것은 분명합니다. 가상화와 마찬가지로 그 모토는 인터넷을 통해 할당 및 가용성이 주문형으로 이루어지는 리소스 공유입니다.
[영상 출처 ]
클라우드 컴퓨팅을 설명하는 실제 사례 :
우리는 이론을 쉽게 이해할 수 있습니다. 클라우드 컴퓨팅 식당에서 식사를하는 간단한 예를 들어 보겠습니다. 예를 들어 집에서 식사를하는 것과 식당에서 식사를하는 것을 고려하십시오. 목표는 순전히 식사의 소비이지만,이 두 경우에 사용되는 접근 방식이나 모델은 상당히 다양합니다.
집에서 식사에 필요한 모든 재료가 있는지 확인하고 특정 요리를 요리하는 데 필요한 준비가 완료되었는지 확인해야합니다. 당신은 음식을 요리하고 요리가 요리 된 후 주변을 깔끔하게 유지하는 책임은 전적으로 당신에게 있습니다.
이제 식당에서 식사를하는 것은 서비스 인 케이터링이라고 할 수 있습니다. 고객은 레스토랑에 가서 원하는 요리를 주문하고 서비스 비용을 지불하기 만하면됩니다.
재료를 소유하고, 요리를 준비하고, 요리를 준비하고, 요리를 제공하고, 요리를 제공하고, 테이블을 비우고 청소하고, 남은 음식을 과도하게 포장하는 등의 보너스는 모두 레스토랑 관리에 있습니다.
이 예는 클라우드 컴퓨팅의 이념 및 원칙과 유사하게 볼 수 있습니다. '주문형 가용성', '서비스로'및 '사용량에 따라 지불'.
학습 내용 :
클라우드 제공 모델
[영상 출처 ]
클라우드에는 주로 '서비스로서의'기능을 제공하는 세 가지 유형의 제공 모델 또는 구성 요소가 있습니다.
- IaaS (Infrastructure as a Service) : 클라우드의 빌딩 블록을 형성하는 가장 기본적인 레이어입니다. 주로 스토리지, 네트워크 장치, 컴퓨팅 서버 등과 같은 물리적 리소스로 구성됩니다. 이러한 모든 컴퓨팅 리소스는 주문형으로 사용할 수 있으며 사용자는 사용량에 따라 비용을 지불합니다.
- PaaS (Platform as a Service) : 클라우드의 중심 계층은 플랫폼입니다. 여기에서는 기본 인프라를 제어 할 수 없지만 배포 된 애플리케이션에 액세스 할 수 있습니다. 따라서 이것은 개발 또는 테스트 환경이 될 수있는 온 디맨드로 전체 런타임 환경을 제공합니다. 따라서이 모델에서는 가장 일반적으로 필요할 때 사용할 수있는 OS, 필수 미들웨어 등과 같은 완전한 환경을 포함하는 VM이 있습니다.
- SaaS (Software as a Service) : 여기서 최상위 계층은 일반적으로 모든 사용자에게 표시되는 응용 프로그램 계층입니다. 여기에서 사용자는 인터넷을 통해 주문형으로 응용 프로그램 / 제품을 사용할 수 있습니다. 따라서 특정 사용자에 대한 라이선스를 취득하는 대신 라이선스를 항상 사용 중인지 확인하는 가장 비용 효율적인 방법입니다. 예를 들어 Gmail, Google 문서, Photoshop 등이 있습니다.
클라우드 유형
퍼블릭, 프라이빗 및 하이브리드 클라우드의 세 가지 유형의 클라우드 형성이 있습니다.
- 퍼블릭 클라우드 모든 사람이 서비스를 사용할 수 있으며 요청에 따라 리소스가 동적으로 할당되고 프로비저닝되는 것입니다.
- 사설 클라우드 일반적으로 특정 조직의 방화벽 규칙 내에서 관리되며 회사 내 사용자 만 사용할 수 있습니다.
- 하이브리드 클라우드 사설 클라우드와 공용 클라우드가 혼합되어 있습니다. 조직은 모든 사람에게 노출 할 서비스와 조직 내 사용자에게만 노출 할 서비스를 결정할 수 있습니다.
클라우드 테스트-필요
클라우드 테스트는 필요에 따라 사용할 수있는 하드웨어, 소프트웨어 등의 리소스 테스트를 의미합니다. . 여기의 테스트조차도 '서비스로'볼 수 있습니다. 클라우드 제품의 경우 서비스 (제품)가 기능적 요구 사항뿐만 아니라 비 기능적 요구 사항도 충족하는지 확인하는 것이 중요합니다. 클라우드의 다양한 애플리케이션을 통해 이제 클라우드 테스트 전략을 개발하는 것이 필수적이되었습니다.
클라우드 테스트의 이점
클라우드 테스트의 필요성은 너무나 많은 이점을 통해 쉽게 확인할 수 있습니다. 아래에서 우리는 이유를 설명하는 가장 명백한 이점을 논의하려고 시도했습니다. 구름 시간의 필요성입니다.
- 동적 가용성 테스트 환경 : 모든 조직에서 일반적인 테스트 접근 방식은 테스트에 필요한 하드웨어 / 소프트웨어 인프라에 투자하는 것입니다. 거의 많은 사람들이 빠르게 변화하는 요구 사항 때문에 테스트 팀에 제공되는 환경이 고객 환경과 거의 일치하지 않는 데 동의 할 것입니다. 그 결과 기업이이를 유지하는 것이 매우 어렵습니다. 클라우드는 사용자가 고객 환경을 쉽게 복제하고주기 초기에 결함을 찾을 수있는 유일한 해결책입니다.
- 저렴한 비용 : 이전의 또 다른 관점은 기업이 인프라에 투자 할 때 대부분의 서버가 항상 사용되지 않는다는 점입니다. 결과적으로 라이센스 갱신에 추가 비용이 발생할 수 있습니다. 클라우드로 전환하면이 시나리오에서도 도움이됩니다. 사용자가 원하는 때에 어플라이언스를 시운전 할 수 있으므로 조직의 막대한 비용을 절약 할 수 있습니다.
- 쉽게 사용자 정의 가능 : 클라우드를 사용하면 조직이 사용량에 따라 사용자 지정하여 비용과 시간을 절약함으로써 최종 사용자 중심 환경을 에뮬레이션하는 것은 쉬운 작업입니다. 테스트 팀은 다양한 OS, 브라우저, 구성 등과 같은 다양한 순열 및 조합으로로드 및 성능 테스트 시나리오를 쉽게 수행 할 수 있습니다.
- 확장 성 : 이것은 클라우드의 가장 매력적인 기능 중 하나로서 필요할 때마다 컴퓨팅 리소스를 늘리거나 줄일 수 있습니다. 이는 비즈니스 요구 사항이 자주 변경되는 상황에서 널리 사용됩니다.
클라우드 테스트 심층 분석
클라우드와 관련된 테스트는 테스트를 수행하기 위해 기존 및 새로운 시대 방법을 모두 사용합니다. 테스트와 클라우드는 자체 경로에서 똑같이 큰 도메인입니다. 아래 섹션에서 두 가지를 함께 보는 방법을 알아 보겠습니다.
# 1) 클라우드 테스트 양식
클라우드 테스트는 목표에 따라 크게 네 가지 범주로 나눌 수 있습니다.
- 전체 클라우드 테스트 : 클라우드는 기능에 따라 전체 엔티티로 간주되며이를 기반으로 테스트가 수행됩니다.
- 클라우드 내에서 테스트 : 클라우드 내부에서 각각의 내부 기능을 확인하여 수행하는 테스트입니다.
- 클라우드에서 테스트 : 사양에 따라 여기에서는 퍼블릭, 프라이빗 및 하이브리드 클라우드와 같은 다양한 유형의 클라우드에 대해 테스트가 수행됩니다.
- 클라우드에서 SaaS 테스트 : 기능 및 비 기능 테스트는 요구 사항에 따라 수행됩니다.
# 2) 클라우드 테스트 환경
클라우드 테스트 환경에는 3 가지 유형이 있습니다.
- 배포 된 애플리케이션의 품질을 검증해야하는 개인 또는 공용 환경입니다.
- 배포 된 애플리케이션의 품질을 검증해야하는 하이브리드 환경.
- 클라우드에 배포 된 애플리케이션의 품질을 검증해야하는 클라우드 기반 테스트 환경입니다.
# 3) 클라우드에서 수행되는 테스트 유형
클라우드에서의 테스트는 기능적 요구 사항이 충족되는지 확인해야 할뿐만 아니라 비 기능적 테스트에도 중점을 두어야합니다. 수행되는 다양한 종류의 테스트를 살펴 보겠습니다.
기능 테스트 :
오퍼링이 사용자가 지불하는 서비스를 제공하는지 확인하기 위해 기능 테스트를 수행해야합니다. 기능 테스트는 비즈니스 요구 사항이 충족되고 있는지 확인합니다.
일부 기능 테스트는 아래에 설명되어 있습니다.
- 시스템 검증 테스트 : 이렇게하면 다양한 모듈이 서로 올바르게 작동하는지 여부를 확인하여 예상대로 동작하는지 확인합니다.
- 수락 테스트 : 여기에서 클라우드 기반 솔루션이 사용자의 기대에 부합하는지 확인하기 위해 사용자에게 전달됩니다.
- 상호 운용성 테스트 : 모든 애플리케이션은 서로 다른 플랫폼에서 문제없이 작동 할 수있는 유연성을 가져야 할뿐만 아니라 클라우드 인프라에서 다른 플랫폼으로 이동할 때 원활하게 작동해야합니다.
비 기능 테스트 :
비 기능 테스트는 주로 웹 애플리케이션 기반 테스트에 중점을 두어 원하는 요구 사항을 충족하는지 확인합니다.
아래에 설명 된 비 기능 테스트의 몇 가지 형태가 있습니다.
# 1) 가용성 테스트 : 클라우드 감독자 / 공급 업체는 클라우드를 24 시간 사용할 수 있는지 확인해야합니다. 미션 크리티컬 한 활동이 많이 진행될 수 있으므로 관리자는 소비자에게 부정적인 영향이 없는지 확인해야합니다.
소프트웨어 테스트에서 qa 및 qc는 무엇입니까
# 2) 다중 테넌시 테스트 : 여기에서 여러 사용자가 클라우드 제품을 사용합니다. 여러 사용자가 단일 인스턴스를 사용할 때 데이터에 대한 충분한 보안 및 액세스 제어가 있는지 확인하기 위해 테스트를 수행해야합니다.
# 3) 성능 테스트 : 만족해야 할 요청이 많은 경우에도 모든 것이 정상인지 확인하기 위해 응답 시간을 확인해야합니다. 네트워크 대기 시간은 성능을 평가하는 데 중요한 요소 중 하나입니다.
또한 리소스를 해제하여 부하가 감소 할 때 워크로드 밸런싱을 수행해야합니다. 따라서로드 및 스트레스 테스트는 클라우드 오퍼링에서 수행되어 애플리케이션이로드 및 스트레스의 증가 / 감소로 최적의 성능을 발휘하는지 확인합니다.
C ++ 오류 정의되지 않은 참조
# 4) 보안 테스트 : 클라우드를 통해 언제든지 모든 것을 사용할 수 있으므로 모든 사용자의 민감한 정보에 무단 액세스가 없도록하고 사용자의 개인 정보를 그대로 유지하는 것이 중요합니다. 클라우드에서 애플리케이션을 유지할 때 사용자 데이터 무결성도 확인해야합니다.
# 5) 재해 복구 테스트 : 가용성 테스트에서 이미 언급했듯이 클라우드는 항상 사용할 수 있어야하며 네트워크 중단, 극심한 부하로 인한 고장, 시스템 장애 등과 같은 장애가있는 경우 장애가 표시되는 속도와 장애가 있는지 측정합니다. 이 기간 동안 데이터 손실이 발생합니다.
# 6) 확장 성 테스트 : 오퍼링에 필요에 따라 시설을 확장 또는 축소 할 수있는 기능이 있는지 테스트합니다.
클라우드 테스트 도구
이 섹션에서는 클라우드 환경에서 수행되는 다양한 종류의 테스트에 사용되는 일부 도구에 대해 설명합니다. 도구에 대한 자세한 내용은이 기사에서 다루지 않습니다.
클라우드에서 성능 테스트를위한 도구 :
대부분의 도구는 기본적으로 성능,로드, 스트레스 테스트에 사용됩니다. 아래 도구 중 일부는 기능 테스트에도 사용할 수 있습니다.
- SOASTA CloudTest
- LoadStorm
- CloudTestGo
- AppPerfect.
- Jmeter
- Cloudslueth
- CloudTestGo
- AppPerfect
클라우드 보안 테스트 도구 :
일반적으로 사용되는 보안 관련 도구도 있습니다.
- 네소스
- Wireshark
- Nmap
=> 클라우드 기반 자동화 테스트 도구의 전체 목록을 보려면 여기를 클릭하십시오.
클라우드 테스트 과제
구름이 들리는 것처럼 흥미 진진하지만 여기에서 모든 것이 늠름한 것은 아닙니다. 클라우드를 인프라로 사용하고 사용하는 데에도 몇 가지 문제가 있습니다. 클라우드를 사용하는 동안 몇 가지 주요 관심 사항을 살펴 보겠습니다.
당면 과제 1) 모든 사용자가 온 디맨드로 모든 것을 사용할 수 있기 때문에 현재 보안 표준을 설정하기 위해 업계에서 많은 논의와 연구가 진행되고 있기 때문에 보안은 기업의 주요 문제입니다. 사용자 개인 정보 보호, 클라우드의 보안 표준, 클라우드에서 실행되는 애플리케이션의 보안, 보안 테스트 기술 클라우드 인프라에서 해결해야하는 몇 가지 주요 문제입니다.
과제 2) 또 다른 큰 과제는 클라우드, 특히 프라이빗 클라우드의 애플리케이션 성능입니다. 많은 사용자가 공유하므로 지연이 발생할 수도 있습니다. 또한 일부 유지 관리 또는 중단 관련 활동의 경우 대역폭이 부족한 것처럼 보일 수 있습니다.
당면 과제 3) 때때로 테스트 목적으로 클라우드 공급자가 지원하지 않을 수있는 서버, 스토리지 또는 네트워킹과 관련된 특정 구성이 필요합니다. 이로 인해 때때로 고객 환경을 에뮬레이션하기가 어렵습니다.
과제 4 )일반적으로 직면하는 또 다른 과제는 테스터가 네트워크, 데이터베이스, 서버 등을 테스트하는 통합 테스트와 관련됩니다. 이러한 상황에서 테스터는 기본 환경을 제어 할 수 없습니다. 둘째, 테스터가 충돌, 네트워크 고장 또는 서버가 손상되는 것과 같은 위험을 예상해야하기 때문에 이러한 구성 요소간에 상호 작용이 있어야하는 경우 문제가 두 배가됩니다.
결론
오늘날 클라우드 컴퓨팅은 업계에서 '빅뱅'중 하나가되었습니다. 대부분의 조직은 이제 클라우드를 채택하는쪽으로 기울고 있습니다. 유연성, 확장 성 및 비용 절감 .
테스트에 클라우드를 사용하는 것은 조직이 자체적으로 설정하고 나중에 최대 활용도에 대해 걱정할 필요없이 매우 저렴한 비용으로 필요한 도구, 소프트웨어 라이선스, 인프라를 획득하는 데 크게 도움이됩니다.
분명히 클라우드는 오랫동안 머물러 있고 클라우드 테스트도 밝은 미래를 가지고 있습니다. :)
저자 정보 : Sneha Nadig의 게스트 기사입니다. 그녀는 수동 및 자동화 테스트 프로젝트에서 7 년 이상의 경험을 가진 테스트 리드로 일하고 있습니다.
클라우드 테스트를 진행하고 있습니까? 귀하의 경험을 공유하십시오. 아니면 질문이 있습니까? 의견에 자유롭게 게시하십시오.