방법: 분산 부하 테스트에 대한 테스트 설정 만들기
게시: 2016년 7월
테스트 에이전트와 테스트 컨트롤러를 사용하여 테스트를 여러 컴퓨터에 분산할 수 있도록 부하 테스트의 테스트 설정을 구성합니다. Visual Studio에서 부하 테스트를 실행할 때 테스트 컴퓨터에 영향을 주는 방법 또는 수집할 데이터 종류를 지정하는 진단 데이터 어댑터를 사용하도록 테스트 설정을 구성할 수도 있습니다.
요구 사항
- Visual Studio Enterprise
예를 들어 ASP.NET 프로파일러 진단 데이터 어댑터를 사용하여 코드의 성능 분석 정보를 수집할 수 있습니다. 또한 진단 데이터 어댑터를 사용하여 테스트 컴퓨터에서 발생할 수 있는 잠재적 병목 현상을 시뮬레이션하거나 사용 가능한 시스템 메모리를 줄일 수 있습니다.
Visual Studio에 대한 테스트 설정은 파일에 저장됩니다. 테스트 설정은 각 역할에 대한 다음 정보를 정의합니다.
테스트 대상 응용 프로그램에 필요한 역할 집합
테스트를 실행하는 데 사용할 역할
각 역할에 사용할 진단 데이터 어댑터
테스트를 실행할 때 특정 테스트 실행에 필요한 내용에 따라 활성 테스트 설정으로 사용할 테스트 설정을 선택합니다. 테스트 설정 파일은 솔루션의 일부로 저장됩니다. 파일 이름에는 확장명 .testsettings가 포함됩니다.
솔루션에 웹 성능 및 부하 테스트 프로젝트를 추가하면 Default.testsettings 파일이 만들어집니다. 이 파일은 솔루션 항목 폴더의 솔루션에 자동으로 추가됩니다. 이 파일은 진단 데이터 어댑터 없이 테스트를 로컬로 실행합니다. 또 다른 .testsettings 파일을 추가하거나 .testsettings 파일을 편집하여 진단 데이터 어댑터 및 Test Controller를 지정할 수 있습니다.
테스트 컨트롤러에는 테스트 설정의 각 역할에 사용할 수 있는 에이전트가 포함됩니다. 테스트 컨트롤러 및 테스트 에이전트에 대한 자세한 내용은 테스트를 실행하거나 데이터를 수집할 테스트 컴퓨터 설정 및 Visual Studio를 사용하여 테스트 컨트롤러 및 테스트 에이전트 관리를 참조하세요.
Visual Studio를 통해 실행할 부하 테스트의 솔루션에서 테스트 설정을 만들거나 제거하려면 다음 단계를 따르세요.
분산 부하 테스트를 위한 테스트 설정 만들기
분산 부하 테스트를 위한 테스트 설정을 추가하려면
솔루션 탐색기에서 솔루션 항목을 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 항목을 선택합니다.
새 항목 추가 대화 상자가 나타납니다.
설치된 템플릿 창에서 테스트 설정을 선택합니다.
(선택 사항) 이름 상자에서 테스트 설정 파일의 이름을 변경합니다.
추가를 선택합니다.
새 테스트 설정 파일이 솔루션 탐색기의 솔루션 항목 폴더 아래에 나타납니다.
참고
Visual Studio Enterprise에 표시되는 테스트 설정 목록은 솔루션 항목 폴더의 테스트 설정 파일 목록에서 파생됩니다.예를 들어 테스트 메뉴에서 활성 테스트 설정 선택 옵션을 사용하면 솔루션 항목 폴더의 테스트 설정 파일이 표시됩니다.따라서 테스트 설정 파일을 솔루션 계층 구조의 다른 위치로 옮기면 Visual Studio 통합 개발 환경 내에서 해당 파일을 더 이상 테스트 설정으로 사용할 수 없습니다.
테스트 설정 대화 상자가 표시됩니다. 기본적으로 일반 페이지가 선택되어 있습니다.
이제 테스트 설정 값을 편집하고 저장할 수 있습니다.
참고
사용자가 만든 각 테스트 설정은 테스트 메뉴의 활성 테스트 설정 선택 및 테스트 설정 편집 옵션에 대한 선택 항목으로 표시됩니다.
이름 아래에서 테스트 설정의 이름을 입력합니다.
(선택 사항) 테스트 설정이 의도하는 내용을 다른 팀 멤버가 확인할 수 있도록 설명 아래에 테스트 설정에 대한 설명을 입력합니다.
(선택 사항) 테스트 실행에 대해 기본 이름 지정 체계를 사용하려면 기본 이름 지정 체계를 선택합니다. 자신만의 이름 지정 체계를 정의하려면 사용자 정의 체계를 선택하고 접두사 텍스트에 필요한 텍스트를 입력합니다. 테스트 실행 이름에 날짜와 시간을 타임스탬프로 추가하려면 날짜-시간 스탬프 추가를 선택합니다.
역할을 선택합니다.
역할 페이지가 표시됩니다.
테스트를 원격으로 실행하거나, 테스트를 원격으로 실행하고 데이터를 원격으로 수집하려면 테스트 실행 방법 드롭다운 목록을 사용하고 원격 실행을 선택합니다.
컨트롤러 드롭다운을 사용하여 테스트를 실행하거나 데이터를 수집하는 데 사용할 테스트 에이전트의 테스트 컨트롤러를 선택합니다.
참고
컨트롤러를 처음으로 추가하는 경우에는 드롭다운 목록에 컨트롤러가 나열되지 않습니다.이 목록은 다른 테스트 설정에서 지정한 이전 컨트롤러에 의해 채워집니다.목록이 비어 있으면 상자에 컨트롤러의 이름을 입력해야 합니다(예: TestControllerMachine1).
자세한 내용은 부하 테스트에 대한 테스트 컨트롤러 및 테스트 에이전트 구성 및 부하 테스트에서 테스트 컨트롤러 및 테스트 에이전트 사용을 참조하세요.
테스트를 실행하고 데이터를 수집하는 데 사용할 역할을 추가하려면 역할에서 추가를 선택합니다.
이름 열에 역할의 이름을 입력합니다. 예를 들어 "Web Server"와 같은 역할 이름을 사용할 수 있습니다.
12단계 및 13단계를 반복하여 필요한 역할을 모두 추가합니다.
각 역할은 테스트 컨트롤러가 관리하는 테스트 에이전트를 사용합니다.
테스트를 실행하는 데 사용할 역할을 선택한 다음 테스트를 실행할 역할로 설정을 선택합니다.
중요
사용자가 만들고 정의하는 다른 역할은 테스트를 실행하지는 않고, 데이터 및 진단에서 해당 역할에 대해 지정한 진단 데이터 어댑터에 따라 데이터를 수집하는 데만 사용됩니다.
역할에 사용할 수 있는 에이전트를 제한하려면 역할을 선택한 다음 선택한 역할에 대한 에이전트 특성 아래의 도구 모음에서 추가를 선택합니다.
에이전트 선택 규칙 대화 상자가 나타납니다.
특성 이름에 이름을 입력하고 특성 값에 값을 입력한 다음 확인을 선택합니다. 필요한 특성을 모두 추가합니다.
예를 들어 메모리가 16GB를 초과하는 테스트 에이전트 컴퓨터를 필터링하기 위해 값이 "True" 또는 "False"인 "RAM > 16GB"라는 특성을 추가할 수 있습니다. 하나 이상의 테스트 에이전트에 동일한 특성을 적용하려면 테스트 컨트롤러 관리 대화 상자를 사용합니다. 자세한 내용은 Visual Studio를 사용하여 테스트 컨트롤러 및 테스트 에이전트 관리를 참조하세요.
데이터 및 진단을 선택합니다.
데이터 및 진단 페이지가 표시됩니다.
데이터 및 진단 페이지에서 역할이 데이터를 수집하는 데 사용할 진단 데이터 어댑터를 선택하여 역할이 수행하는 작업을 정의합니다. 따라서 역할에 사용할 수 있는 진단 데이터 어댑터가 하나 이상인 경우 테스트 컨트롤러는 역할에 대해 사용자가 정의한 특성을 기준으로 사용 가능한 테스트 에이전트 컴퓨터를 선택하여 지정된 진단 데이터 어댑터에 대한 데이터를 수집합니다. 각 역할에 대해 수집할 데이터 및 진단 데이터 어댑터를 선택하려면 역할을 선택합니다. 각 역할에 대해 테스트 필요성에 따라 진단 데이터 어댑터를 선택합니다. 각 역할에 대해 선택한 각 진단 데이터 어댑터를 구성하려면 구성을 선택합니다.
역할 및 진단 데이터 어댑터의 예:
예를 들어 "SQL 사용" 특성이 "True"로 설정된 "데스크톱 클라이언트"라는 클라이언트 역할과 특성이 "RAM > 16GB"로 설정된 "SQL Server"라는 서버 역할을 만들 수 있습니다. 역할 페이지에서 테스트를 실행할 역할로 설정을 선택하여 "데스크톱 클라이언트"가 테스트를 실행하도록 지정하면 테스트 컨트롤러는 "True"로 설정된 "SQL 사용" 특성을 포함하는 테스트 에이전트가 있는 컴퓨터를 선택하여 테스트를 실행합니다. 또한 테스트 컨트롤러는 "RAM > 16GB" 특성을 포함하는 테스트 에이전트가 있는 SQL 서버 컴퓨터를 선택하여 해당 역할에 포함된 데이터 및 진단 어댑터가 정의한 데이터만 수집합니다. 또한 해당 역할에 대한 데이터 및 진단 어댑터도 선택한 경우 "데스크톱 클라이언트" 테스트 에이전트는 해당 테스트 에이전트가 실행되는 컴퓨터에 대한 데이터도 수집합니다.
각 진단 데이터 어댑터 및 이를 구성하는 방법에 대한 자세한 내용은 다음 표에 나오는 관련 항목을 참조하십시오.
진단 데이터 어댑터에 대한 자세한 내용은 테스트 설정을 사용하여 컴퓨터 설정 및 진단 정보 수집을 참조하세요.
부하 테스트에 대한 진단 데이터 어댑터
진단 데이터 어댑터
부하 테스트에서 사용
관련 항목
IntelliTrace 및 테스트 영향용 ASP.NET 클라이언트 프록시: 이 프록시를 사용하면 IntelliTrace 및 테스트 영향 진단 데이터 어댑터와 관련하여 클라이언트에서 웹 서버로 보내는 HTTP 호출에 대한 정보를 수집할 수 있습니다.
특별히 테스트 에이전트 컴퓨터에 대한 시스템 정보를 수집할 필요가 없으면 이 어댑터를 포함하지 마십시오.
경고
부하 테스트에서는 수집되는 데이터의 양이 많아 문제가 발생할 수 있으므로 IntelliTrace 어댑터를 사용하지 않는 것이 좋습니다.
테스트 영향 데이터는 부하 테스트를 사용하여 수집할 수 없습니다.
IntelliTrace: 로그 파일에 저장되는 특정 진단 추적 정보를 구성할 수 있습니다. 로그 파일의 확장명은 .tdlog입니다. 테스트를 실행했을 때 테스트 단계가 실패하는 경우 버그를 만들 수 있습니다. 진단 추적을 포함하는 로그 파일이 이 버그에 자동으로 연결됩니다. 로그 파일에 수집된 데이터를 활용하면 코드의 오류를 재현하고 진단하는 데 필요한 시간을 줄여 디버깅 생산성을 향상시키는 데 도움이 됩니다. 이 로그 파일을 사용하여 다른 컴퓨터에서 로컬 세션을 재현할 수 있습니다. 그러면 버그가 재현되지 않을 가능성을 줄일 수 있습니다.
자세한 내용은 IntelliTrace 사용를 참조하세요.
부하 테스트에서는 수집 및 기록되는 데이터의 양이 많아 문제가 발생할 수 있으므로 IntelliTrace 어댑터를 사용하지 않는 것이 좋습니다. 실행 시간이 길지 않고 테스트 에이전트를 많이 사용하지 않는 부하 테스트의 경우에만 IntelliTrace 어댑터를 사용해야 합니다.
ASP.NET 프로파일러: ASP.NET 웹 응용 프로그램의 성능 데이터를 수집하는 ASP.NET 프로파일링을 포함하는 테스트 설정을 만들 수 있습니다.
ASP.NET 프로파일러 진단 데이터 어댑터에서는 IIS(Internet Information Services) 프로세스를 프로파일링하므로 개발 웹 서버에서는 이 진단 데이터 어댑터가 작동하지 않습니다. 부하 테스트에서 웹 사이트를 프로파일링하려면 IIS가 실행 중인 컴퓨터에 테스트 에이전트를 설치해야 합니다. 이 테스트 에이전트는 부하를 생성하지 않으며, 수집 전용 에이전트가 됩니다. 자세한 내용은 테스트 에이전트 및 테스트 컨트롤러 설치 및 구성을 참조하세요.
방법: Visual Studio에서 테스트 설정을 사용하여 부하 테스트에 대한 ASP.NET 프로파일러 구성
코드 검사(Visual Studio 2010): 테스트에서 검사하는 코드 범위를 조사하는 데 사용되는 코드 검사 정보를 포함하는 테스트 설정을 만들 수 있습니다.
부하 테스트에 코드 검사 어댑터를 사용할 수는 있지만 이때 코드 검사 데이터는 테스트 실행 역할에 대해서만 수집되고 테스트 설정에 지정된 서버 역할에 대해서는 수집되지 않습니다.
테스트 설정을 사용하는 코드 검사 구성은 더 이상 사용되지 않습니다.
참고
이 어댑터는 Visual Studio 2010 호환성을 위해서만 제공됩니다.
이벤트 로그: 테스트 결과에 포함될 이벤트 로그 수집을 포함하도록 테스트 설정을 구성할 수 있습니다.
네트워크 에뮬레이션: 테스트 설정을 사용하여 테스트에 인위적인 네트워크 부하를 주도록 지정할 수 있습니다. 네트워크 에뮬레이션은 전화 접속과 같이 특정 네트워크 연결 속도를 에뮬레이트하여 컴퓨터의 통신에 영향을 줍니다.
> [!NOTE] > <P>네트워크 에뮬레이션을 사용하여 더 빠른 네트워크 연결 속도를 구현할 수는 없습니다.</P>
부하 테스트에서는 네트워크 에뮬레이션 어댑터가 무시됩니다. 대신 부하 테스트에는 부하 테스트 시나리오의 네트워크 조합에 지정된 설정이 사용됩니다.
자세한 내용은 부하 테스트 시나리오의 가상 네트워크 형식 지정을 참조하세요.
시스템 정보: 시스템 정보 진단 및 데이터 수집기가 실행되는 컴퓨터에 대한 시스템 정보를 포함하도록 테스트 설정을 설정할 수 있습니다. 테스트 설정을 사용하여 테스트 결과에 시스템 정보가 지정됩니다.
부하 에이전트와 테스트 대상 시스템 모두에서 시스템 정보를 수집할 수 있습니다.
이 정보를 수집하는 데 필요한 구성이 없습니다.
테스트 영향: 테스트 사례가 실행될 때 사용된 응용 프로그램 코드의 메서드에 대한 정보를 수집할 수 있습니다. 이 정보를 개발자가 변경한 응용 프로그램 코드와 함께 사용하여 개발 과정에서 변경된 내용이 테스트의 어떤 부분에 영향을 줬는지 확인할 수 있습니다.
테스트 영향 데이터는 부하 테스트를 사용하여 수집할 수 없습니다.
비디오 레코더: 자동화된 테스트를 실행할 때 데스크톱 세션의 비디오 기록을 만들 수 있습니다. 이는 코딩된 UI 테스트에 대한 사용자 작업을 보는 데 유용할 수 있습니다. 이 비디오 기록이 있으면 재현하기 어려운 응용 프로그램 문제도 다른 팀 멤버가 쉽게 파악할 수 있습니다.
> [!NOTE] > <P>원격으로 테스트를 실행할 경우 에이전트가 대화형 프로세스 모드에서 실행되고 있지 않으면 비디오 레코더가 작동하지 않습니다.</P>
> [!WARNING] > <P>부하 테스트에는 비디오 레코더 어댑터를 사용하지 않는 것이 좋습니다.</P>
배포를 선택합니다.
배포 페이지가 표시됩니다.
테스트를 실행할 때마다 배포에 사용할 디렉터리를 개별적으로 만들려면 배포 가능을 선택합니다.
참고
이렇게 하면 테스트를 실행할 때 응용 프로그램을 계속 빌드할 수 있습니다.
테스트를 실행하는 데 사용하고 있는 디렉터리에 파일을 추가하려면 파일 추가를 선택한 다음 추가할 파일을 선택합니다.
참고
부하 테스트를 실행할 때는 플러그 인 어셈블리, 데이터 파일 및 업로드된 파일이 자동으로 배포됩니다.
테스트를 실행하는 데 사용하고 있는 디렉터리에 디렉터리를 추가하려면 디렉터리 추가를 클릭한 다음 추가할 디렉터리를 선택합니다.
참고
속성 및 DeploymentItem 특성을 사용하여 개별 테스트에 대한 파일 및 디렉터리를 배포하는 방법에 대한 자세한 내용은 방법: 테스트에 대한 파일 배포을 참조하세요.
테스트 전후에 스크립트를 실행하려면 설정 및 정리 스크립트를 선택합니다.
설정 및 정리 스크립트 페이지가 표시됩니다.
스크립트 파일의 위치를 설치 스크립트에 입력하거나 줄임표(…)를 선택하고 설정 스크립트를 찾습니다.
스크립트 파일의 위치를 정리 스크립트에 입력하거나 줄임표(…)를 선택하고 정리 스크립트를 찾습니다.
다른 호스트를 사용하여 테스트를 실행하려면 호스트를 선택합니다.
호스트 형식에서 기본값이 선택되어 있는지 확인합니다.
참고
호스트 형식의 ASP.NET은 부하 테스트에서는 지원되지 않습니다.
부하 테스트 내의 웹 성능 및 단위 테스트를 32비트 또는 64비트 프로세스로 실행할지 여부를 선택하려면 "32비트 또는 64비트 프로세스에서 테스트 실행" 드롭다운을 사용합니다.
참고
유연성을 최대화하려면 Any CPU 구성을 사용하여 웹 성능 및 부하 테스트 프로젝트를 컴파일해야 합니다.그러면 32비트 및 64비트 에이전트 모두에서 테스트를 실행할 수 있습니다.64비트 구성을 사용하여 웹 성능 및 부하 테스트 프로젝트를 컴파일할 경우 아무 이점이 없습니다.
(선택 사항) 각 테스트 실행 및 개별 테스트의 시간을 제한하려면 테스트 시간 제한을 선택합니다.
제한 시간을 초과한 테스트 실행을 중단하려면 **총 시간이 다음을 초과하면 테스트 실행 중단:**을 선택한 다음 이 제한 값을 입력합니다.
제한 시간을 초과한 개별 테스트를 실패 처리하려면 실행 시간을 초과하는 개별 테스트를 실패로 표시를 선택한 다음 이 제한 값을 입력합니다.
단위 테스트를 건너뜁니다. 부하 테스트에서는 이러한 설정이 사용되지 않습니다.
웹 테스트를 건너뜁니다. 부하 테스트에서는 이러한 설정이 사용되지 않습니다.
테스트 설정을 저장하려면 다른 이름으로 저장을 선택합니다. 파일의 이름을 개체 이름에 입력합니다.
참고
테스트 설정을 변경해야 하는 경우에는 테스트를 선택하고 테스트 설정 편집을 선택한 다음 사용자가 만든 테스트 설정을 선택합니다.자세한 내용은 방법: 테스트 계획의 기존 테스트 설정 편집을 참조하세요.
솔루션에서 테스트 설정을 제거하려면
솔루션 탐색기의 솔루션 항목 폴더에서 제거할 테스트 설정을 마우스 오른쪽 단추로 클릭한 다음 제거를 선택합니다.
솔루션에서 테스트 설정 파일이 제거됩니다. 이 변경 내용은 테스트 메뉴의 활성 테스트 설정 선택 및 테스트 설정 편집 옵션의 선택 항목 목록에 반영됩니다.
참고 항목
Visual Studio 테스트를 위한 테스트 설정 지정
Test Controller 및 테스트 에이전트를 사용하여 여러 테스트 컴퓨터로 부하 테스트 실행 분산
연습: 부하 테스트에서 테스트 컨트롤러 및 테스트 에이전트 사용
[사용되지 않음] 방법: 테스트 설정에 지정된 Test Controller 및 Test Agent를 사용하여 부하 테스트 실행
테스트 설정을 사용하여 컴퓨터 설정 및 진단 정보 수집