자동 테스트 프레임워크
이 문서의 목표는 Microsoft eCDN 자동 테스트 도구를 사용하여 실제 이벤트에 대비하여 회사 네트워크를 감사하는 방법에 대한 회사 웹캐스팅 플랫폼 지침을 관리하는 기술 팀을 제공하는 것입니다.
Microsoft eCDN 자동 테스트 프레임워크를 사용하면 비디오 이벤트의 로드에서 지정된 네트워크가 어떻게 작동하는지 에뮬레이트하고 검사하기 위해 여러 디바이스에서 시뮬레이션을 쉽게 실행할 수 있습니다.
자동 테스트는 최종 사용자 디바이스의 백그라운드(음소거)에서 실행되는 실제 비디오 세션입니다. 사용자는 테스트가 실행되고 있다는 것을 알지 못하고 컴퓨터에서 계속 작업할 수 있지만, 비디오 대역폭에 대한 네트워크 연결 속도가 느려질 수 있습니다.
참고
시뮬레이션된 자동 테스트 이벤트 콘텐츠는 도메인에서 *.ecdn.teams.microsoft.com
호스트됩니다. 따라서 자동 테스트는 시청 또는 기타 라이브 이벤트 제품에 대한 전체적인 테스트로 사용해서는 안 됩니다.
프레임워크는 세 가지 기본 구성 요소로 구성됩니다.
- 실행기 디바이스
- 관리 대시보드
- 분석
이러한 구성 요소는 다음 섹션에서 하나씩 설명합니다.
실행기 디바이스
프레임워크에 연결하는 각 디바이스는 "실행기"로 간주됩니다. 각 실행기는 단일 뷰어를 시뮬레이션하고 Microsoft eCDN의 백 엔드와 통신하여 어떤 테스트를 실행해야 하는지에 대한 지침을 가져옵니다. 대부분의 경우 실행 중인 테스트가 없습니다. 이 경우 실행기는 테스트가 시작될 때까지 유휴 상태로 대기합니다. 모든 컴퓨터에 지정된 에이전트 애플리케이션을 배포하여 실행기 역할을 하는 대신 Microsoft eCDN은 최종 사용자 컴퓨터에 일반적으로 설치된 기존 소프트웨어를 활용하여 백그라운드에서 실행기를 시작합니다.
실행기는 기본적으로 웹 페이지이므로 브라우저 또는 브라우저와 같은 환경에서 열 수 있습니다. 실행기를 인스턴스화하는 방법에는 두 가지가 있습니다.
중요
최종 사용자의 컴퓨터에 Microsoft Edge 또는 Google Chrome을 설치해야 합니다. 또한 자동 테스트에 참여하려면 디바이스를 켜고 인터넷에 연결해야 합니다.
직접 실행기
다음 URL로 실행기 페이지를 수동으로 열고 자리 표시자를 TENANT_ID_HERE
브라우저에서 테넌트의 ID로 바꾸기 위해 주의하는 것은 "직접 실행기"로 간주됩니다.
https://st-sdk.ecdn.teams.microsoft.com/?customerId=TENANT_ID_HERE&adapterId=Direct
주의
자동 실행기는 컴퓨터의 IP 주소를 Microsoft eCDN 서비스에 노출하는 데 필요한 인수로 인스턴스화되지만 Direct Runner는 컴퓨터의 전역 설정을 사용합니다. 따라서 mDNS IP 난독 처리를 사용하지 않도록 설정하지 않은 경우 직접 실행기가 피어링할 가능성이 낮습니다.
자동 실행기
"자동 실행기"로 간주되는 실행기 페이지를 사용하여 백그라운드에서 헤드리스 Chromium 브라우저를 시작하는 PowerShell & Bash 스크립트를 제공합니다. 그런 다음 사용자 그룹에서 스크립트를 실행하여 프레임워크에 연결할 수 있습니다.
자세한 내용은 부록 B: 헤드리스 브라우저를 사용하여 실행기 통합을 참조하세요.
관리 dashboard
관리 dashboard 테스트를 예약, 수정 및 취소할 수 있으며 연결된 실행기 수도 표시합니다. 기본 창에는 보류 중인 테스트, 진행 중인 테스트 및 이미 종료된 과거 테스트가 나열됩니다. 완료된 테스트는 24시간 동안 표시되고 목록에서 숨겨집니다.
분석
테스트가 예약되면 "보류 중" 모드로 설정됩니다. 시작 시간에 도달하면 테스트가 활성화되고 모든 온라인 실행기가 활성화 신호를 보냅니다. 그러면 대상 페이지가 각 실행기에 의해 시작되고(음소거된) 비디오가 숨겨진 창에서 재생되기 시작합니다. Microsoft eCDN SDK는 분석 dashboard 사용할 수 있는 다양한 차트 및 그래프에 표시되는 네트워크 및 UX 메트릭을 수집합니다. 테스트가 실행되는 동안 분석이 보고되므로 관리자는 테스트가 끝나기 전에도 상태 검사 수 있습니다.
동시성
동시성 그래프는 시간에 따른 활성 사용자 수를 보여줍니다. 활성으로 간주하려면 사용자가 비디오를 재생해야 합니다.
HTTP + P2P 속도
네트워크 처리량 그래프는 HTTP 및 P2P의 네트워크 사용량 분석을 보여줍니다.
로 표현됨 | 설명 | Axis |
---|---|---|
진한 파란색 막대 | HTTP 대역폭 | 왼쪽 |
주황색 막대 | P2P 대역폭 | 왼쪽 |
녹색 점선 | 총합계에서 P2P의 비율을 백분율로 표시합니다. | 오른쪽 |
예를 들어 P2P 비율이 90%인 경우 트래픽의 10%만 HTTP를 통해 다운로드되고 나머지는 사용자 간에 피어링되었음을 의미합니다.
P2P가 예상보다 낮은 경우 사용자 동시성이 충분히 높지 않았거나 네트워크에 더 많은 최적화가 필요하다는 의미입니다. 문제 해결은 낮은 피어링 효율성 문제 해결 설명서를 참조하세요.
사용자 환경
사용자 환경 그래프는 재생에 소요된 시간과 리버퍼링에 소요된 시간(고정 비디오)을 보여 줍니다.
로 표현됨 | 설명 | Axis |
---|---|---|
녹색 막대 | 재생 시간(분)을 집계합니다. | 왼쪽 |
빨간색 막대 | 몇 분 안에 리버퍼링에 소요된 결합된 시간 | 왼쪽 |
파란색 점선 | 총 시간 중에서 리버퍼링 비율(백분율)입니다. | 오른쪽 |
예를 들어 2% 리버퍼링 비율은 비디오가 98%의 시간 동안 올바르게 재생되었음을 의미하는 반면, 비디오가 중단된 시간의 2%입니다.
리버퍼링이 1% 미만이어야 합니다. 리버퍼링이 많거나 급증하면 네트워크 정체, 서버 오버로드 또는 잘못 구성된 콘텐츠가 제안될 수 있습니다.
네트워크 요구 사항
자동 테스트 프레임워크는 다음 도메인 및 포트를 사용합니다.
Hostname(호스트 이름) | 포트 | Protocol(프로토콜) | 설명 |
---|---|---|---|
*.ecdn.teams.microsoft.com | 443 | HTTPS | 실행기 페이지 & 리소스 |
*.ecdn.teams.microsoft.com | 443 | WSS | Microsoft eCDN의 백 엔드에 대한 WebSocket 연결 |
어떤 | 높은 포트 10,000 + | SCTP | WebRTC 피어 연결에 필요합니다. LAN으로만 제한할 수 있습니다. |
보안
자동 테스트 프레임워크는 실행기에 테스트를 할당하여 작동합니다. 실행기는 Microsoft eCDN의 백 엔드에 연결하는 정적 페이지이지만 실행된 테스트는 동적이며 모든 대상 페이지를 실행할 수 있습니다. 이러한 이유로 실행기는 브라우저에서 샌드박스로 제공되는 웹 페이지 내에서 실행되며 최신 브라우저에 기본 제공되는 보안 메커니즘을 사용합니다. 통합(사용자 지정 통합 제외)에 관계없이 대상 페이지는 항상 iframe을 사용하여 안전한 클린 컨텍스트에서 실행됩니다.
또한 네트워크 권한은 브라우저에 의해 제한되며 HTTP, WebSocket, WebRTC 등을 비롯한 일반적인 웹 API로 제한됩니다.
테스트가 실행되기를 기다리는 동안 실행기는 WSS(보안 TLS 연결)를 통해 영구 WebSocket 연결을 유지 관리합니다.
부록
부록 A: 자동 테스트를 예약하는 방법
+ 기호 선택
필수 필드 채우기
이름 - 선택한 임의 이름입니다.
날짜 & 시간 - 테스트가 시작되는 특정 시간입니다.
기간 - 테스트 기간입니다. 적절한 시뮬레이션을 허용하려면 최소 20분이 권장됩니다.
대상 URL - 시뮬레이션된 이벤트 중에 비디오를 재생하는 이벤트 페이지의 공개적으로 사용할 수 있는 URL입니다. 기본 제공 페이지를 사용하거나 직접 만들 수 있습니다.
기본 제공 Stream - Microsoft eCDN에는 여러 변환 및 사용자 지정 가능한 스트리밍 프로토콜이 포함된 라이브 스트림이 포함된 이미 통합된 기본 제공 페이지가 포함되어 있습니다.
사용자 지정 Stream - 자체 라이브 스트림만 제공하고 Microsoft eCDN의 자동 통합 페이지를 사용할 수 있습니다. 스트림을 공개적으로 사용할 수 있어야 하며 실행기가 로드할 수 있도록 CORS 헤더를 포함해야 합니다. 테스트가 시작될 때 스트림이 자동으로 재생됩니다.
사용자 지정 페이지 - 사용자 고유의 사용자 지정 페이지입니다. 페이지에는 플레이어와 라이브 스트림이 포함되어야 하며 Microsoft eCDN과 통합되어야 합니다. 테스트 중에는 사용자 상호 작용이 없으므로 플레이어가 자동으로 비디오 재생을 시작해야 합니다. 일부 브라우저는 비디오 자동 재생 기능을 제한합니다. 이러한 이유로 오디오를 음소거하여 제한을 완화하는 것이 좋습니다. 기본 제공 페이지는 기본적으로 음소거됩니다.
디바이스 필터 - 테스트를 특정 디바이스 그룹으로 제한합니다. 경우에 따라 연결된 디바이스의 하위 집합에서 테스트를 실행하려고 할 수 있습니다. 예를 들어 미국의 사무실에서만 테스트를 실행하거나 직접 실행기 디바이스만 실행합니다.
국가 필터 - 특정 국가/지역(GeoIP)의 디바이스만 포함합니다.
통합 필터 - 특정 통합을 통해 연결된 디바이스만 포함합니다.
디바이스 ID 필터 - 특정 디바이스 ID에서만 테스트를 실행합니다. 이 필터는 주로 로컬 디버깅 목적으로 사용됩니다.
일정을 선택하면 테스트가 만들어집니다.
자동 테스트의 시작 시간에 도달하면 테스트가 할당된 연결된 디바이스에서 실행됩니다.
부록 B: 헤드리스 브라우저를 사용하여 실행기 통합
Microsoft eCDN은 설치되지 않은 자동 테스터 스크립트를 제공합니다.
이 스크립트는 지정된 기간 동안 특정 페이지의 컴퓨터 백그라운드에서 Chromium 브라우저를 시작하고 백그라운드 브라우저 프로세스를 닫습니다.
또한 Microsoft eCDN은 Active Directory에 나열된 원격 머신에서 자동 테스터를 실행하는 스크립트를 제공합니다.
참고
컴퓨터를 다시 시작하면 실행기가 자동으로 복원되지 않으며 스크립트를 사용하여 브라우저를 다시 시작해야 합니다.
Windows 환경에 대한 실행 지침
silent-tester-runner-windows.ps1 다운로드 - 24시간 동안 백그라운드에서 크롬 기반 브라우저(Edge를 찾을 수 없는 경우 Microsoft Edge 또는 Google Chrome)를 시작하는 PowerShell 스크립트입니다.
silent-tester-runner-windows.ps1편집:
$TenantID- 을 Microsoft 테넌트 ID로 대체
TENANT_ID
합니다.$TestID- 를 고유 ID 문자열로 대체
TEST_ID
합니다. 이 문자열은 자동 테스트 관리자가 테스트 결과를 고유하게 식별할 수 있도록 로그 파일을 만드는 데 사용됩니다.
중요
각 테스트에는 고유한 $TestID 있어야 합니다. 스크립트가 이전에 현재 instance 동일한 $TestID 실행한 것을 감지하면 자동 테스트를 실행하지 않고 종료됩니다.
(선택 사항) $scenarioDuration - 브라우저 작동 시간 기간을 원하는 값(초)으로 설정합니다. 이 기간 동안 대상 머신에서 자동 테스트를 실행할 수 있습니다. 브라우저가 유휴 상태이기 때문에 테스트를 더 유연하게 실행할 수 있도록 이 값을 며칠로 늘리는 데 아무런 문제가 없습니다. 이 프로세스는 시스템 재부팅에서 유지되지 않습니다. 기본값은 86,400초(24시간)입니다.
(선택 사항) $customChromePath - Microsoft Edge 또는 Google Chrome이 기본 경로(
C:\Program Files
또는C:\Program Files (x86)
)에 설치되어 있지 않은 경우 이 변수를 브라우저의 실행 파일 경로로 설정합니다. 예를 들어:C:\Custom Path\Edge\msedge.exe
다음 옵션 중 하나와 같이 선택한 메서드를 사용하여 대상 컴퓨터에서 스크립트를 실행합니다.
GPO 사용
SCCM 사용
또는 도메인 컨트롤러에서 수동으로. 편의를 위해 호출 스크립트 예제를 제공합니다.
remote-invocation.ps1 다운로드 - Active Directory의 모든 컴퓨터에서 silent-tester-runner-windows.ps1 실행하는 PowerShell 스크립트
(선택 사항) 스크립트를 편집하여 필요에 따라 Active Directory 쿼리를 특정 컴퓨터 그룹으로 제한합니다. 고급 필터링은
Get-ADComputer
cmdlet 설명서를 참조하세요.
참고
silent-tester-runner-windows.ps1 호출 스크립트를 실행 중인 동일한 디렉터리에 있는지 확인합니다.
주의
최상의 결과를 위해 사용자 컨텍스트에서 실행기 스크립트를 실행합니다. SYSTEM 계정에서 실행기 스크립트를 실행하는 것은 권장되지 않습니다.
자동 테스트 dashboard 이동하여 대상 컴퓨터가 이제 온라인 실행기로 표시되는지 확인합니다.
Mac 환경에 대한 실행 지침
silent-tester-runner-mac.sh 다운로드 - 24시간 동안 백그라운드에서 Google Chrome을 시작하는 Bash 스크립트입니다.
silent-tester-runner-mac.sh 편집:
ecdnCustomerId - 를 Microsoft 테넌트 ID로 바꿉
CUSTOMER_ID
니다.(선택 사항) scenarioDuration - 브라우저 작동 시간 기간을 원하는 값(초)으로 설정합니다. 이 기간 동안 대상 머신에서 자동 테스트를 실행할 수 있습니다. 브라우저가 유휴 상태이기 때문에 테스트를 더 유연하게 실행할 수 있도록 이 값을 며칠로 늘리는 데 아무런 문제가 없습니다. 기본값은 86,400초(24시간)입니다.
사이트에서 디바이스를 관리하는 데 사용되는 도구에 따라 Jamf Pro는 다른 컴퓨터에서 스크립트를 실행하는 다양한 방법이 있습니다.