Share via


응용 프로그램 수명 주기에 가상 랩 사용

Visual Studio Lab Management는 Microsoft Test Manager의 확장으로, Microsoft Hyper-V 기술의 사용을 최적화하여 Visual Studio 2010에서 응용 프로그램을 테스트, 빌드 및 개발할 때 가상 컴퓨터를 관리하고 사용할 수 있도록 도와줍니다. Visual Studio Lab Management는 SCVMM(System Center Virtual Machine Manager)과 통합되어 가상 컴퓨터를 호스팅하는 여러 실제 컴퓨터를 관리하고 SCVMM 라이브러리 서버에서 가상 컴퓨터, 가상 컴퓨터 템플릿 및 기타 구성 파일의 저장소를 관리할 수 있게 합니다.

가상 환경은 Lab Management에서 관리하는 가상 컴퓨터 그룹입니다. 가상 환경을 사용하면 다음이 가능합니다.

  • 버그 또는 기타 개발 문제의 조건을 정확하게 재현합니다.

    Lab Management 스냅숏은 특정 시점에 환경의 모든 컴퓨터 상태를 캡처합니다. 환경의 스냅숏을 프로젝트 팀의 멤버와 공유할 수 있습니다. 마우스만 몇 번 클릭하여 환경의 복사본을 만들 수 있도록 저장된 스냅숏에 대한 참조를 Visual Studio Team Foundation Server 작업 항목에 포함할 수 있습니다. Microsoft IntelliTrace 데이터가 작업 항목에 포함되어 있는 경우 버그가 발생한 구성으로 응용 프로그램에서 버그 실행 경로를 완벽하게 재현할 수 있습니다.

  • 새로운 환경에서 응용 프로그램을 자동으로 빌드, 배포 및 테스트합니다.

    Visual Studio Team Foundation Server 빌드, 환경, 스냅숏 및 Microsoft Test Manager 자동화된 테스트에 대해 Lab Management 워크플로를 사용하여 응용 프로그램의 일별 빌드를 새로운 환경에 스테이징할 수 있습니다. 테스트가 실행된 후 환경을 스냅숏에 저장한 다음 다시 사용할 수 있도록 환경을 원래 상태로 복원할 수 있습니다.

  • 응용 프로그램을 테스트할 컴퓨터를 만들고 구성하는 데 필요한 시간을 줄입니다.

    Lab Management에 저장된 가상 컴퓨터 및 템플릿을 사용하면 고객의 프로덕션 환경 구성을 다시 만드는 사용자 지정 환경을 신속하게 배포할 수 있습니다.

  • 테스트 또는 개발의 복사본을 동시에 여러 개 실행합니다.

    Lab Management에 저장된 가상 환경을 사용하면 도메인에서 관리되지 않는 가상 컴퓨터의 사용을 제한할 수 있는 컴퓨터 이름 충돌 없이 가상 환경의 복사본을 동시에 여러 개 배포할 수 있습니다.

  • 팀 멤버가 시스템 관리자 권한 없이 가상 환경을 만들고 관리할 수 있게 합니다.

    Lab Management 권한을 사용하여 시스템 관리자 권한 없이 가상 환경을 배포, 생성 및 관리할 수 있는 팀 멤버의 역할 기반 셀프 서비스 그룹을 만들 수 있습니다. 조직의 특정 요구 사항을 충족하기 위해 Lab Management 권한을 Visual Studio Team Foundation Server 및 SCVMM 권한과 결합할 수도 있습니다.

Microsoft Test Manager를 사용하여 환경을 만들고 개발, 테스트 또는 실행하려는 응용 프로그램에 필요한 각 역할에 가상 컴퓨터를 할당합니다. 예를 들어 데스크톱 클라이언트, 웹 서버 및 데이터베이스 서버라는 세 개의 역할이 필요한 다중 계층 응용 프로그램을 개발하려는 경우, Lab Management를 사용하면 각 역할에 가상 컴퓨터를 할당하고, Team Foundation Build를 사용하여 응용 프로그램의 각 부분을 관련 가상 컴퓨터에 배포한 다음, 테스트를 위해 이 세 가상 컴퓨터를 단일 응용 프로그램 인스턴스로 실행하는 가상 환경을 만들 수 있습니다. 다음 그림에서는 데스크톱 클라이언트, 웹 서버 및 데이터베이스 서버라는 세 개의 역할을 사용하는 가상 환경을 보여 줍니다.

다중 계층 응용 프로그램 환경

복잡한 응용 프로그램의 경우 가상 환경에서 여러 가상 컴퓨터를 동일한 역할에 할당할 수 있습니다. 마찬가지로, 동일한 두 개의 역할을 각기 다른 토폴로지에 배포해야 하는 응용 프로그램을 개발할 수 있습니다. 예를 들어 데이터 계층과 응용 프로그램 계층이 한 토폴로지의 동일한 컴퓨터에 있을 수도 있고, 서로 다른 토폴로지의 개별 컴퓨터에 있을 수도 있습니다. 첫 번째 토폴로지는 하나의 가상 환경에서 나타내고 두 번째 토폴로지는 개별 가상 환경에서 나타냅니다. 이제 가상 랩에는 테스트에 사용할 두 개의 환경이 포함됩니다.

응용 프로그램의 일부 구성 요소만 배포되고 다른 구성 요소는 환경 간에 공유되는 가상 환경을 만들 수도 있습니다. 예를 들어 응용 프로그램에 대용량 데이터베이스가 필요한 경우 실제 컴퓨터에서 공유 데이터베이스를 호스팅하도록 할 수 있습니다. 모든 가상 환경에는 필요할 때 공유 데이터베이스에 연결할 수 있는 클라이언트 계층과 응용 프로그램 계층을 위한 가상 컴퓨터만 포함됩니다.

참고

완전한 물리적 환경이나 타사 가상 컴퓨터로 구성된 물리적 환경에서 수동 또는 자동 테스트를 수행할 경우 Hyper-V 사용, SCVMM 구성 또는 Lab Management 구성을 수행할 필요가 없습니다. 대신 물리적 컴퓨터에 테스트 에이전트를 설치하고 팀 프로젝트 컬렉션에 테스트 컨트롤러를 등록한 다음 해당 테스트 컨트롤러를 사용하도록 테스트 에이전트를 구성할 수 있습니다. 이 작업을 수행한 후 Microsoft Test Manager에서 랩 센터를 사용하여 실제 환경을 새로 만듭니다. 물리적 환경을 만들고 테스트를 실행하는 단계는 테스트에 사용할 실제 환경 만들기를 참조하십시오.

주요 개념

Lab Management를 사용하려면 먼저 몇 가지 핵심 개념을 이해해야 합니다.

가상 컴퓨터(Hyper-V)

주요 개념

설명

가상 컴퓨터

가상 컴퓨터는 마치 실제 컴퓨터인 것처럼 프로그램을 실행하는 소프트웨어 방식으로 구현된 컴퓨터입니다. 따라서 한 대의 실제 컴퓨터에서 여러 가상 컴퓨터를 실행할 수 있습니다. 가상 컴퓨터를 설치할 때는 운영 체제와 필요한 기타 소프트웨어를 함께 설치해야 합니다.

호스트

가상 컴퓨터를 실행하는 실제 컴퓨터입니다.

스냅숏

스냅숏은 특정 시점에서의 가상 컴퓨터 상태를 저장합니다. 필요할 때 언제든지 가상 컴퓨터를 이 스냅숏으로 복원하고 해당 스냅숏이 만들어진 알려진 상태에서 이 가상 컴퓨터를 사용할 수 있습니다.

SCVMM(System Center Virtual Machine Manager)

주요 개념

설명

템플릿

템플릿은 컴퓨터 이름과 제품 키 등의 식별 정보가 제거된 일반화된 가상 컴퓨터 이미지입니다. 도메인에서 컴퓨터 이름 충돌을 생성하지 않고 템플릿을 통해 여러 가상 컴퓨터를 만들 수 있습니다.

호스트 그룹

가상 컴퓨터를 실행하는 데 사용할 수 있는 호스트인 실제 컴퓨터의 그룹입니다. 호스트 그룹을 사용하면 호스트 모음에 대한 가상 컴퓨터의 배포가 최적화되므로 각 가상 컴퓨터가 배포되는 호스트를 선택할 필요가 없습니다. Team Foundation Server에서 팀 프로젝트와 팀 프로젝트 컬렉션에 호스트 그룹을 할당할 수 있습니다.

라이브러리 서버

가상 컴퓨터, 템플릿 및 기타 리소스를 저장하는 데 사용되는 컴퓨터입니다.

라이브러리 공유

가상 컴퓨터, 템플릿 및 기타 리소스를 저장할 수 있는 라이브러리 서버의 공유 위치입니다. 여러 개의 라이브러리 공유를 사용할 수 있으며, 이러한 라이브러리 공유를 Team Foundation Server에서 팀 프로젝트와 팀 프로젝트 컬렉션에 할당할 수 있습니다.

Lab Management

주요 개념

설명

가상 환경

Hyper-V 호스트에서 실행되고, System Center Virtual Machine Manager에서 관리되며, Lab Management가 하나의 논리 단위로 관리하는 가상 컴퓨터 컬렉션입니다. 환경에 추가하는 각 가상 컴퓨터는 응용 프로그램의 한 가지 역할에 사용됩니다. 예를 들어 가상 컴퓨터에 웹 서버 역할을 선택할 수 있습니다.

실제 환경

각각 테스트 에이전트가 설치되어 있는 실제 컴퓨터 컬렉션입니다. Hyper-V가 아닌 플랫폼에서 실행 중인 가상 컴퓨터가 있는 경우 Lab Management에서 실제 컴퓨터로 모델링할 수 있습니다.

랩 센터

팀 프로젝트의 SCVMM 호스트 그룹에 배포된 가상 컴퓨터와 환경을 관리하고 운영할 수 있는 Microsoft Test Manager의 활동 영역입니다.

팀 프로젝트 라이브러리

팀 프로젝트의 SCVMM 라이브러리 공유에 있는 저장된 가상 컴퓨터, 템플릿 및 저장된 환경을 관리할 수 있는 테스트 관리자의 활동 영역입니다.

실제 또는 가상 컴퓨터를 사용하여 환경을 만들고 관리하거나, 테스트하거나, 빌드 배포할 수 있습니다.

환경 만들기 및 관리

템플릿에서 가상 컴퓨터 만들기, 네트워크 격리를 사용하여 환경 복제, 시작/중지/스냅숏/일시 중지 등의 VM 작업은 Hyper-V 기반 가상 환경에만 사용할 수 있고 Hyper-V가 아닌 환경이나 실제 환경에는 사용할 수 없습니다.

테스트

Microsoft Test Manager를 사용하여 가상 및 실제 환경에서 모두 테스트를 실행할 수 있습니다. 이 경우 기능이 동일하기 때문에 Hyper-V 환경, Hyper-V가 아닌 환경, 실제 환경 등 모든 종류의 환경에서 자동화된 테스트와 수동 테스트를 실행하고 다양한 진단 데이터를 수집할 수 있습니다.

빌드 배포

TFS 2010에 포함된 템플릿(labdefaulttemplate.xaml)을 사용하여 Hyper-V 가상 환경에서 빌드-배포-테스트 워크플로를 쉽게 자동화할 수 있습니다.

실제 환경에는 이러한 템플릿을 사용할 수 없습니다. 하지만 이 자동화는 Windows Workflow Foundation 4.0을 기반으로 하기 때문에 도구 상자의 활동을 통해 템플릿을 사용자 지정하거나 새로 만들어 실제 컴퓨터에서 빌드 배포 및 테스트를 자동화할 수 있습니다. 이는 Hyper-V가 아닌 환경에 대해서도 동일한 작업을 수행할 수 있음을 의미하지만, 가상 환경과 관련된 작업(스냅숏으로 복원/환경 시작/환경 중지)은 실제 환경과 Hyper-V가 아닌 환경에 사용할 수 없습니다.

Lab Management는 Hyper-V 및 실제 환경에 호스팅된 가상 환경에서 모두 작동하지만 각 환경 형식의 기능이 서로 다릅니다. Hyper-V가 아닌 호스트의 가상 환경은 실제 환경과 동일하게 처리됩니다. 다음 표에는 각 환경 형식에서 서로 다른 기능이 요약되어 있습니다.

기능

가상 환경(Hyper-V)

실제 환경

가상 환경(Hyper-V 아님)

테스트

단위 테스트 실행

지원

지원

지원

수동 테스트 실행

지원

지원

지원

코딩된 UI 및 기타 자동화된 테스트 실행

지원

지원

지원

진단 어댑터를 사용하여 다양한 버그 파일링

지원

사용자 지정 필요

사용자 지정 필요

빌드 배포

자동 빌드-배포-테스트 워크플로

지원

환경 만들기 및 관리

VM 템플릿에서 환경 만들기

지원

n/a

지원 안 함

환경 시작/중지/스냅숏

지원

지원 안 함

지원 안 함

환경 뷰어를 사용하여 연결

지원

지원 안 함

지원 안 함

네트워크 격리를 사용하여 환경 복제

지원

n/a

지원 안 함

Hyper-V가 아닌 호스트(예: VMWare)에서 실행 중인 가상 컴퓨터를 사용하는 환경 지원에 대한 최신 정보는 이 Microsoft 웹 페이지를 참조하십시오.

다음 단계

Task

관련 내용

시도: 처음에 Team Foundation Server, SCVMM 및 Lab Management를 구성한 다음 환경에서 가상 컴퓨터를 만들고 실행하기 위한 리소스를 찾습니다.

Lab Management 시작

랩에 대한 가상 환경 만들기: Lab Management는 가상 환경을 만들고 사용하는 여러 가지 방법을 제공합니다. 요구에 가장 맞는 가상 환경을 만드는 방법을 알아봅니다.

가상 환경 개념 및 지침

가상 환경 만들기

테스트 수명 주기에 Lab Management 통합: 가상 환경을 사용하여 보다 효율적으로 테스트하고 버그 재현을 쉽게 만들고 공유할 수 있게 하는 방법을 알아봅니다.

가상 환경을 사용하여 테스트

가상 환경의 전체 상태 캡처: Lab Management 스냅숏을 사용하면 특정 시점의 환경 상태를 정확하게 저장할 수 있습니다. 그런 후에 테스터와 개발자가 환경을 해당 상태로 롤백할 수 있습니다. 스냅숏을 사용하여 테스트 환경을 새로 만들거나 버그 또는 개발 문제를 재현할 수 있습니다.

스냅숏을 사용하여 가상 환경의 상태 저장, 재현 및 공유

자동으로 응용 프로그램 빌드, 배포 및 테스트: Lab Management 가상 환경을 팀 빌드 워크플로 및 테스트 관리자 테스트 계획과 결합하여 개발 중인 응용 프로그램의 정기 예약된 빌드 배포와 테스트를 자동화합니다.

가상 환경에 응용 프로그램 배포

기본 워크플로 템플릿 사용자 지정: 빌드-배포-테스트 시나리오의 추가 요구 사항을 충족하기 위해 랩 기본 워크플로 템플릿에 활동을 더 추가합니다.

Lab Management 워크플로 사용자 지정

MSDN 블로그 및 포럼에서 추가 정보와 지원 찾기: Lab Management 블로그 및 포럼은 가상 환경 사용과 관련된 특정 질문에 대한 대답과 문제 해결 정보를 제공합니다.

Lab Management 문제 해결

참고 항목

작업

Lab Management 구성 및 관리

개념

IntelliTrace를 사용한 디버깅

응용 프로그램 테스트

기타 리소스

처음으로 Lab Management 구성