

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# CDN 和 MediaTailor 整合的系統測試方法
<a name="systematic-testing-approach"></a>

AWS Elemental MediaTailor 內容交付網路 (CDN) 整合測試應遵循系統化、分階段的方法，以確保全面涵蓋。遵循此結構化方法，全面測試您的內容交付網路和 MediaTailor 整合。每個階段都以先前的階段為基礎，以隔離潛在問題。

如需系統測試方法的其他指引，請參閱 AWS Well-Architected Framework 中的[可靠性測試](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html)。

## 階段 1：測試直接 MediaTailor 連線
<a name="phase1-direct-emt-testing"></a>

首先測試 MediaTailor 功能，無需 CDN 介入即可建立基準。

1. 直接向 MediaTailor 端點測試資訊清單請求：
   + 測試 HLS 多變量播放清單請求： `curl -v "https://your-emt-endpoint.mediatailor.region.amazonaws.com/v1/master/hls/config-name/master.m3u8"`
   + 測試 DASH MPD 請求： `curl -v "https://your-emt-endpoint.mediatailor.region.amazonaws.com/v1/dash/config-name/manifest.mpd"`
   + 驗證資訊清單回應是否包含預期的廣告休息時間標記
   + 檢查區段 URLs是否指向正確的原始伺服器

1. 驗證廣告插入是否正常運作：
   + 使用不同的廣告目標參數進行測試
   + 確認廣告區段已正確轉碼且可用
   + 檢查廣告休息時間和持續時間
   + 當廣告無法使用時測試備用行為

1. 測量基準效能：
   + 記錄資訊清單請求回應時間
   + 測量廣告決策伺服器回應時間
   + 測試工作階段建立和管理

**成功條件：**所有直接 MediaTailor 請求都會傳回 HTTP 200 回應，其中包含正確格式的資訊清單，其中包含預期的廣告內容。

## 階段 2：測試基本 CDN 整合
<a name="phase2-basic-cdn-integration"></a>

將 CDN 新增至請求路徑並測試基本功能。

1. 透過 CDN 測試資訊清單請求：
   + 使用簡單的路由規則設定 CDN
   + 透過 CDN 端點測試資訊清單請求
   + 驗證 CDN 是否正確轉送請求至 MediaTailor
   + 檢查資訊清單回應是否未快取 (TTL = 0)

1. 測試區段路由：
   + 驗證內容區段路由到原始伺服器
   + 驗證廣告區段路由到 MediaTailor 廣告儲存體
   + 測試區段快取行為

1. 比較 CDN 與直接效能：
   + 測量回應時間差異
   + 檢查回應中是否有任何內容差異
   + 驗證錯誤處理是否正常運作

**成功條件：**CDN 應成功將請求代理至 MediaTailor 和原始伺服器，並將效能影響降至最低。

## 階段 3：測試查詢參數轉送
<a name="phase3-parameter-forwarding"></a>

新增查詢參數轉送和測試廣告個人化。

1. 在 CDN 設定查詢參數轉送：
   + 啟用將所有查詢參數轉送至 MediaTailor
   + 測試工作階段初始化 (MediaTailor 會在第一次請求時自動產生工作階段 ID)
   + 使用自訂目標參數進行測試

1. 測試廣告個人化：
   + 驗證不同的參數產生不同的廣告回應
   + 測試參數編碼和特殊字元
   + 檢查參數是否正確傳遞至 ADS

1. 驗證工作階段管理：
   + 測試工作階段建立和持久性
   + 驗證請求之間的工作階段 ID 一致性
   + 測試工作階段過期處理

**成功條件：**廣告內容會根據查詢參數而有所不同，而且工作階段會正確管理。

## 階段 4：測試標頭轉送
<a name="phase4-header-forwarding"></a>

在 CDN 中新增標頭轉送，並測試裝置特定的目標。

1. 設定所有標頭的標頭轉送。如需最低需求，請參閱 [MediaTailor CDN 整合所需的標頭](cdn-configuration.md#cdn-required-headers)。

1. 測試裝置目標：
   + 使用不同的使用者代理程式字串進行測試 （行動、桌面、電視）
   + 驗證裝置特定的廣告回應
   + 使用不同的 IP 地址測試地理目標

1. 驗證 CORS 處理：
   + 測試 CORS 標頭的 Web 播放器相容性
   + 驗證預檢 OPTIONS 請求是否正常運作
   + 來自不同網域的測試

**成功條件：**裝置和地理目標應正常運作，且 Web 播放器不應遇到 CORS 錯誤。

## 階段 5：全面案例測試
<a name="phase5-comprehensive-testing"></a>

跨多個案例進行測試，以確保強大的操作。

1. 使用不同的玩家類型進行測試：
   + Web 瀏覽器中的 HLS.js 播放器
   + 支援 HLS 和 DASH 的 Video.js 播放器
   + 行動裝置上的原生玩家
   + 智慧電視和機上盒播放器

1. 在不同的裝置和平台上進行測試：
   + 行動裝置 (iOS、Android)
   + 桌面瀏覽器 (Chrome、Firefox、Safari、Edge)
   + 智慧TVs和串流裝置
   + 不同的作業系統版本

1. 測試不同的內容類型：
   + 即時串流內容
   + 隨選視訊 (VOD) 內容
   + 不同的影片格式和位元速率
   + 具有不同廣告休息模式的內容

1. 測試廣告目標案例：
   + 不同的人口統計特性目標參數
   + 跨不同區域的地理目標
   + 以時間為基礎的目標 （一天中的不同時間）
   + 自訂商業邏輯參數

**成功條件：**所有玩家和裝置組合都應正確搭配適當的廣告目標。

## 階段 6：負載和效能測試
<a name="phase6-load-performance-testing"></a>

在實際負載條件下驗證效能。

**重要**  
在**進行負載測試之前，請聯絡 [AWS Support](https://aws.amazon.com/premiumsupport/)：**在執行負載和效能測試之前，請先建立 AWS 支援票證，以通知 MediaTailor 服務團隊您的計劃測試。這可確保：  
服務已為您預期的負載層級做好準備
在您的測試時段提供適當的容量
您的測試不會被誤認為生產事件
您收到有關測試最佳實務和限制的指導
包含在您的支援票證中：預期的並行使用者、測試持續時間、地理區域，以及您計劃測試的任何特定案例。

1. 測試並行使用者案例：
   + 模擬多個並行檢視器
   + 測試 CDN 擴展和快取效能
   + 監控負載下的原始伺服器效能
   + 驗證 MediaTailor 可以處理並行工作階段

1. 測量效能指標：
   + 監控負載下的回應時間
   + 檢查快取命中率是否符合預期 (>80% 的熱門內容）
   + 測量不同案例的第一個影格時間
   + 追蹤尖峰負載期間的錯誤率

1. 測試容錯移轉案例：
   + ADS 無法使用時的測試行為
   + 測試原始伺服器容錯移轉
   + 驗證錯誤處理和復原
   + 測試 CDN 節點容錯移轉

**成功條件：**系統應在預期負載下維持可接受的效能，並在失敗期間正常降級。請確定您聯絡 [AWS Support](https://aws.amazon.com/premiumsupport/)，並在執行之前核准您的負載測試計畫。