테스트 계획에서 자동화된 테스트 실행
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
테스트 계획에서 테스트 사례를 자동화하고 Azure Test Plans에서 직접 실행합니다. 자동화된 테스트는 다음과 같은 이점을 제공합니다.
- 빌드 또는 릴리스 워크플로에서 테스트를 실행하는 데 정통하지 않을 수 있는 테스터를 위한 사용자 친화적인 프로세스입니다.
- 필터 조건을 충족하는 모든 테스트가 실행되는 빌드 또는 릴리스 워크플로에서 예약된 테스트가 아닌 필요에 따라 선택한 테스트를 실행할 수 있는 유연성입니다.
- 테스트 인프라 문제로 인해 실패한 몇 가지 테스트를 다시 실행하거나 실패한 테스트에 대한 수정 사항을 포함하는 새 빌드가 있는 기능입니다.
필수 조건
- 다음 항목도 있어야 합니다.
- Visual Studio 2017 또는 Visual Studio 2015 이하를 사용하는 자동화된 테스트 메서드와 연결된 자동화된 테스트를 포함하는 테스트 계획입니다.
- 테스트 이 진 파일을 포함하는 빌드를 생성하는 빌드 파이프라인 입니다.
- 테스트할 앱입니다. 빌드 및 릴리스 워크플로의 일부로 앱을 배포하고 주문형 테스트에도 사용할 수 있습니다.
- 릴리스를 만들고 관리하고, 릴리스 환경을 편집하고, 배포를 관리할 수 있는 권한입니다. 자세한 내용은 릴리스 권한을 참조 하세요.
환경 설정
테스트 계획 페이지에서 테스트 계획을 선택하고 바로 가기 메뉴를 연 다음 테스트 계획 설정을 선택합니다.
테스트 계획 설정 대화 상자에서 테스트 이진 파일이 포함된 빌드를 생성하는 빌드 파이프라인을 선택합니다. 그런 다음 테스트할 특정 빌드 번호를 선택하거나 테스트가 실행되면 시스템에서 자동으로 최신 빌드를 사용하도록 할 수 있습니다.
Azure Test Plans의 테스트 계획에서 테스트를 실행하려면 Test Manager 템플릿에서 자동화된 테스트 실행에서 만든 릴리스 파이프라인이 필요합니다. 이 템플릿을 사용하여 만든 기존 릴리스 파이프라인이 있는 경우 해당 파이프라인을 선택한 다음 테스트 실행을 위해 릴리스 파이프라인의 기존 단계를 선택합니다. 그렇지 않은 경우 대화 상자에서 새로 만들기를 선택하여 Visual Studio 테스트 작업이 이미 추가된 단일 단계가 포함된 새 릴리스 파이프라인을 만듭니다.
필요에 따라 릴리스 파이프라인 및 스테이지에 의미 있는 이름을 할당합니다.
Visual Studio가 에이전트 컴퓨터에 이미 설치된 경우 이 단계를 건너뜁니다. 그렇지 않은 경우 Visual Studio 테스트 플랫폼 설치 관리자 작업을 파이프라인 정의에 추가합니다.
Visual Studio 테스트 태스크를 릴리스 파이프라인에 추가하고 다음과 같이 구성합니다.
Visual Studio 테스트 태스크의 버전 2가 선택되어 있는지 확인합니다. 버전 번호는 작업 설정 패널의 드롭다운 목록에 표시됩니다.
사용하는 테스트 선택이 테스트 실행으로 설정되어 있는지 확인합니다. 이 설정은 무엇을 의미하나요?
테스트 플랫폼 버전 설정의 경우 도구 설치 관리자에서 설치를 선택합니다.
실제 브라우저 또는 두꺼운 클라이언트에서 실행되는 UI 테스트가 있는 경우 에이전트가 자동 로그온을 사용하도록 설정된 대화형 프로세스로 실행되도록 설정되어 있는지 확인합니다. 빌드 또는 릴리스를 큐에 대기하기 전에 대화형으로 실행되도록 에이전트를 설정해야 합니다. 테스트 조합에는 대화형 모드에서 에이전트를 자동으로 구성하지 않는 UI 테스트 확인란이 포함되어 있습니다. 오류 방지를 위해 에이전트를 적절하게 구성하기 위한 미리 알림으로만 사용됩니다.
헤드리스 브라우저에서 UI 테스트를 실행하는 경우 대화형 프로세스 구성이 필요하지 않습니다.
테스트 플랫폼이 프로비전되는 방법 및 Visual Studio 버전 또는 테스트 컴퓨터에 설치된 테스트 플랫폼의 위치를 선택합니다.
테스트에 앱 URL 또는 데이터베이스 연결 문자열 같은 입력 매개 변수가 필요한 경우 빌드 아티팩트에서 관련 설정 파일을 선택합니다. 빌드 파이프라인에서 빌드 아티팩트 게시 작업을 사용하여 이 파일이 아티팩트에 포함되지 않은 경우 설정 파일을 삭제 위치에 게시할 수 있습니다. 다음 예제에서는 애플리케이션 URL이 실행 설정 파일에 노출되고 재정의 테스트 실행 매개 변수 설정을 사용하여 스테이징 URL로 설정하도록 재정의됩니다.
Visual Studio 테스트 태스크의 옵션 설정에 대한 자세한 내용은 Visual Studio 테스트 태스크를 참조 하세요.
에이전트 작업 항목을 선택하고 배포 큐가 테스트를 실행하려는 컴퓨터가 포함된 큐로 설정되어 있는지 확인합니다. 테스트에 에이전트 풀의 특수 머신이 필요한 경우 런타임에 선택하는 요구를 추가할 수 있습니다.
병렬 처리를 여러 실행으로 설정하고 에이전트 수를 지정하여 여러 에이전트에 테스트를 분산하여 테스트 시간을 최소화할 수 있습니다.
참고 항목
IE, Firefox 또는 Chrome과 같은 물리적 브라우저에서 CodeUI 또는 Selenium과 같은 UI 테스트를 실행하는 경우 컴퓨터의 에이전트는 서비스가 아닌 대화형 모드로 실행되어야 합니다. 자세한 내용.
릴리스 파이프라인의 파이프라인 페이지에서 테스트 이진 파일이 포함된 빌드 파이프라인이 이 릴리스 파이프라인에 아티팩트 원본으로 연결되는지 확인합니다.
릴리스 파이프라인을 저장 합니다.
이 예제의 2단계에서 테스트 계획 설정 대화 상자에서 새로 만들기를 선택한 경우 테스트 계획 설정이 포함된 브라우저 페이지로 돌아갑니다. 테스트 계획 설정 대화 상자에서 저장한 릴리스 파이프라인 및 단계를 선택합니다.
자동화된 테스트 실행
테스트 계획 웹 포털에서 테스트 계획을 열고 자동화된 테스트가 포함된 테스트 제품군을 선택합니다.
실행할 테스트를 선택하고 실행 메뉴를 연 다음 테스트 실행을 선택합니다.
이러한 테스트에 대한 테스트 이진 파일은 빌드 파이프라인에서 생성된 빌드 아티팩트에서 사용할 수 있어야 합니다.
확인을 선택하여 테스트 프로세스를 시작합니다. 시스템은 자동화된 테스트만 선택(수동 테스트는 무시됨)하고, Visual Studio 테스트 태스크가 있고 유효한 설정이 있는지 확인하기 위해 단계의 유효성을 검사하고, 선택한 릴리스 파이프라인에 대한 릴리스를 만들 수 있는 사용자의 권한을 확인하고, 테스트 실행을 만든 다음, 선택한 단계로 릴리스 만들기를 트리거합니다.
테스트 실행 보기를 선택하여 테스트 진행률을 확인하고 실패한 테스트를 분석합니다. 테스트 결과에는 오류 메시지, 스택 추적, 콘솔 로그 및 첨부 파일과 같은 실패한 테스트를 디버깅하기 위한 관련 정보가 있습니다.
테스트 실행이 완료되면 Azure 테스트 계획의 실행 페이지에 테스트 결과가 표시됩니다. 실행 요약 페이지에는 실행에 대한 개요가 표시됩니다.
테스트를 실행하는 데 사용되는 릴리스에 대한 링크가 있으므로 나중에 돌아와서 결과를 분석해야 하는 경우 테스트를 실행한 릴리스를 쉽게 찾을 수 있습니다. 릴리스 로그를 보기 위해 릴리스를 열려면 이 링크도 사용합니다.
참고 항목
자동 테스트 결과에는 수동으로 파일 첨부가 지원되지 않습니다.
테스트가 실행되지 않는 경우 확인해야 하는 일반적인 오류 시나리오 또는 문제는 무엇인가요?
테스트 결과 페이지에는 테스트 실행의 각 테스트에 대한 결과가 나열됩니다. 테스트를 선택하여 오류 메시지, 스택 추적, 콘솔 로그 및 첨부 파일과 같은 실패한 테스트에 대한 디버깅 정보를 확인합니다.
테스트 계획 페이지를 열고 테스트 실행이 완료된 후 테스트가 업데이트되는 경우 테스트 계획을 선택하여 테스트 상태를 확인합니다. 테스트를 선택하여 최근 테스트 결과를 확인합니다.
FAQ
Azure Test Plans에 대한 다음과 같은 FAQ(질문과 대답)를 참조하세요.
Q: Azure Test Plans에서 자동화된 테스트를 실행하려면 어떤 권한이 필요합니까?
A: 프로젝트 참가자이거나 다음 권한이 있어야 합니다.
- 릴리스 만들기
- 릴리스 관리
- 릴리스 단계 편집
- 배포 관리
자세한 내용은 릴리스 권한을 참조 하세요.
Q: 테스트 실행의 특정 인스턴스에 대한 테스트 계획 수준에서 빌드 또는 스테이지 집합을 재정의할 수 있나요?
A: 예, 옵션과 함께 실행 명령을 사용하여 이 작업을 수행할 수 있습니다 . 왼쪽 열에서 테스트 도구 모음의 바로 가기 메뉴를 열고 옵션을 사용하여 실행을 선택합니다.
옵션과 함께 실행 대화 상자에서 다음 값을 입력한 다음 확인을 선택합니다.
- 테스트 유형 및 실행기: 릴리스 단계를 사용하여 자동화된 테스트를 선택합니다.
- 빌드: 테스트 이진 파일이 있는 빌드를 선택합니다. 테스트 결과는 이 빌드와 연결됩니다.
- 릴리스 파이프라인: 선택한 빌드 아티팩트를 사용할 수 있는 릴리스 파이프라인 목록에서 파이프라인을 선택합니다.
- 릴리스 단계: 릴리스 파이프라인에 구성된 스테이지의 이름을 선택합니다.
Q: 릴리스 단계를 사용하여 테스트를 실행하는 이유는 무엇인가요?
A: Azure Pipelines는 아티팩트로 테스트 이진 파일을 가져오고 테스트를 실행하는 강력한 오케스트레이션 워크플로를 제공합니다. 이 워크플로는 예약된 테스트 워크플로에 사용되는 것과 동일한 개념을 공유하므로 예약된 워크플로에서 테스트를 실행하는 사용자는 쉽게 적응할 수 있습니다. 예를 들어, 예약된 기존 테스트 릴리스 파이프라인을 복제합니다.
또 다른 주요 이점은 테스트 실행 전후에 다양한 활동을 수행할 수 있도록 하는 작업 카탈로그의 풍부한 작업 집합을 사용할 수 있다는 것입니다. 예를 들어 테스트 데이터 준비 및 정리, 구성 파일 만들기 및 정리 등이 있습니다.
Q: Visual Studio 테스트 작업 버전 2에서 "테스트 실행"을 선택하면 어떻게 작동하나요?
A: 테스트 관리 하위 시스템은 테스트 실행 개체를 사용하여 실행을 위해 선택한 테스트 목록을 전달합니다. 테스트 태스크는 테스트 실행 식별자를 조회하고, 컨테이너 및 테스트 메서드 이름과 같은 테스트 실행 정보를 추출하고, 테스트를 실행하고, 테스트 실행 결과를 업데이트하고, 테스트 실행에서 테스트 결과와 연결된 테스트 지점을 설정합니다. 감사 관점에서 Visual Studio 작업은 기록 릴리스 및 테스트 실행 식별자에서 주문형 테스트 실행을 위해 제출된 테스트에 대한 추적을 제공합니다.
Q: 에이전트가 대화형 모드 또는 서비스로 실행되어야 하나요?
A: 코딩된 UI 또는 Selenium 테스트와 같은 UI 테스트를 실행하는 경우 에이전트가 웹 브라우저를 시작할 수 있도록 하기 위해 서비스가 아닌 자동 로그온이 활성화된 대화형 모드에서 테스트 머신의 에이전트가 실행되고 있어야 합니다. PhantomJS와 같은 헤드리스 브라우저를 사용하는 경우 에이전트를 서비스 또는 대화형 모드로 실행할 수 있습니다. 자세한 내용은 에이전트 빌드 및 릴리스, Windows에 에이전트 배포 및 에이전트 풀을 참조하세요.
Q: Selenium 테스트를 실행하는 방법에 대한 자세한 설명서는 어디에서 찾을 수 있나요?
A: Selenium 테스트 시작 참조
Q: 동일한 테스트에 대해 여러 구성을 선택하면 어떻게 되나요?
A: 현재 주문형 워크플로는 구성을 인식하지 않습니다.
Q: 제품 이진 파일을 다운로드하고 다른 빌드에서 이진 파일을 테스트해야 하는 경우 어떻게 해야 하나요? 또는 Jenkins와 같은 원본에서 아티팩트를 가져와야 하는 경우
A: 현재 기능은 Azure Pipelines 워크플로를 사용하여 주문형으로 테스트할 단일 팀 빌드에 최적화되어 있습니다. 사용자 피드백에 따라 Jenkins와 같은 비 Azure Pipelines 아티팩트 등 다중 아티팩트 릴리스에 대한 지원을 평가합니다.
Q: 이미 예약된 테스트 릴리스 파이프라인이 있습니다. 동일한 파이프라인을 다시 사용하여 주문형 테스트를 실행할 수 있나요? 아니면 새 파이프라인을 만들어야 하나요?
A: 다음과 같은 이유로 Azure Test Plans에서 주문형 자동 테스트를 위해 별도의 릴리스 파이프라인 및 단계를 사용하는 것이 좋습니다.
몇 가지 주문형 테스트를 실행할 때마다 앱을 배포하지 않을 수 있습니다. 예약된 테스트 단계는 일반적으로 제품을 배포한 다음 테스트를 실행하도록 설정됩니다.
새 릴리스는 모든 주문형 실행에 대해 트리거됩니다. 매일 몇 가지 주문형 테스트 실행을 실행하는 테스터가 많은 경우 예약된 테스트 릴리스 파이프라인이 이러한 실행에 대한 릴리스로 오버로드될 수 있으므로 예약된 테스트 및 프로덕션에 배포가 포함된 파이프라인에 대해 트리거되는 릴리스를 찾기가 어렵습니다.
릴리스를 트리거한 항목을 추적할 수 있도록 테스트 실행 식별자를 입력으로 사용하여 Visual Studio 테스트 작업을 구성할 수 있습니다. 자세한 내용은 Visual Studio 테스트 작업에서 "테스트 실행(주문형 실행의 경우)"을 선택하는 방법이 어떻게 작동하나요?를 참조하세요.
Q: Microsoft Test Manager에서 이러한 실행을 트리거하고 결과를 볼 수 있나요?
A: 아니요. Microsoft Test Manager는 Team Foundation 빌드에 대해 자동화된 테스트 실행을 지원하지 않습니다. Azure Pipelines에 대한 웹 기반 인터페이스에서만 작동합니다. 모든 새로운 수동 및 자동화된 테스트 제품 개발 투자는 웹 기반 인터페이스에 있습니다. Microsoft Test Manager에 대한 추가 개발은 계획되지 않습니다. Microsoft Test Manager 사용에 대한 지침을 참조하세요.
Q: 팀에 테스터가 여러 명 있습니다. 동일한 릴리스 파이프라인을 사용하여 다른 테스트 도구 모음 또는 테스트 계획에서 동시에 테스트를 실행할 수 있나요?
A: 다음과 같은 경우 동일한 릴리스 파이프라인을 사용하여 여러 테스트 실행을 병렬로 트리거할 수 있습니다.
스테이지와 연결된 에이전트 풀에는 병렬 요청을 수용하기에 충분한 에이전트가 있습니다. 충분한 에이전트를 사용할 수 없는 경우 실행은 계속 트리거될 수 있지만 에이전트를 사용할 수 있을 때까지 처리를 위해 큐를 해제합니다.
병렬 작업을 사용할 수 있는 충분한 작업이 있습니다. 자세한 내용은 Azure Pipelines의 병렬 작업 또는 TFS의 병렬 작업을 참조하세요.
테스터는 동일한 테스트를 병렬로 실행하지 않습니다. 이렇게 하면 실행 순서에 따라 결과를 덮어쓸 수 있습니다.
여러 테스트 실행을 병렬로 실행할 수 있도록 하려면 다음과 같이 여러 릴리스가 배포되기를 기다리는 경우 동작에 대한 Azure Pipelines 단계 트리거 옵션을 설정합니다.
애플리케이션이 다른 원본에서 병렬로 실행되는 테스트를 지원하는 경우 이 옵션을 설정하여 동시에 여러 릴리스를 배포할 수 있도록 합니다.
애플리케이션이 다른 원본에서 병렬로 실행되는 테스트를 지원하지 않는 경우 이 옵션을 한 번에 하나의 활성 배포만 허용하도록 설정합니다.
Q: 빌드 또는 릴리스 파이프라인에서 내 테스트 코드에 매개 변수를 전달할 어떻게 할까요? 있나요?
A: runsettings 파일을 사용하여 값을 테스트 코드에 매개 변수로 전달합니다. 예를 들어 여러 단계가 포함된 릴리스에서는 각 단계의 각 테스트 작업에 적절한 앱 URL을 전달할 수 있습니다. runsettings 파일 및 일치하는 매개 변수는 Visual Studio 테스트 태스크에서 지정해야 합니다.
Q: 테스트가 실행되지 않는 경우 확인해야 하는 일반적인 오류 시나리오 또는 문제는 무엇인가요?
A: 다음과 같이 문제를 확인하고 해결합니다.
빌드를 선택한 후에는 테스트를 실행하려는 릴리스 파이프라인 및 스테이지가 표시되지 않습니다.
- 빌드를 생성하는 빌드 파이프라인이 릴리스 파이프라인의 아티팩트 탭에서 기본 아티팩트로 연결되어 있는지 확인합니다 .
릴리스를 트리거할 수 있는 충분한 권한이 없다는 오류가 발생합니다.
- 릴리스 파이프라인의 보안 메뉴에서 릴리스 만들기를 구성하고 사용자에 대한 배포 권한을 관리합니다. 릴리스 권한을 참조 하세요.
자동화된 테스트를 찾을 수 없다는 오류가 발생합니다.
- 선택한 테스트의 자동화 상태를 확인합니다. 테스트 사례에 대한 작업 항목에서 수행하거나 Azure Test Plans의 열 옵션 링크를 사용하여 테스트 목록에 Automation 상태 열을 추가합니다. 자세한 내용은 필수 구성 요소 섹션을 참조하세요.
내 테스트가 실행되지 않았고 릴리스 파이프라인이 올바르지 않은 것으로 의심됩니다.
- 실행 요약 페이지의 링크를 사용하여 테스트를 실행하는 데 사용되는 릴리스 인스턴스에 액세스하고 릴리스 로그를 봅니다.
테스트가 오류 상태로 전환되거나 스테이지에 릴리스가 트리거된 후에도 "진행 중"으로 유지됩니다.
- 선택한 릴리스 단계에 올바른 작업 및 버전이 선택되어 있는지 확인합니다. Visual Studio 테스트 작업의 버전 2 이상을 사용해야 합니다. 작업의 버전 1과 기능 테스트 실행 태스크는 지원되지 않습니다.