

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# CDN 和 MediaTailor 集成的系统测试方法
<a name="systematic-testing-approach"></a>

AWS Elemental MediaTailor 内容交付网络 (CDN) 集成测试应遵循系统的分阶段方法，以确保全面覆盖。按照这种结构化方法全面测试您的内容交付网络和 MediaTailor 集成。每个阶段都建立在前一个阶段的基础上，以隔离潜在的问题。

有关系统测试方法的更多指导，请参阅 Well-Architecte AWS d [Framework 中的可靠性测试](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html)。

## 第 1 阶段：测试直接 MediaTailor 连接
<a name="phase1-direct-emt-testing"></a>

首先在没有 CDN 参与的情况下测试 MediaTailor 功能以建立基准。

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
   + 测试会话初始化（会话 ID 由 MediaTailor 在第一次请求时自动生成）
   + 使用自定义定位参数进行测试

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 标头的网络播放器兼容性
   + 验证印前检查选项请求是否正常运行
   + 从不同的领域进行测试

**成功标准：**设备和地理位置定位应能正常运行，网络玩家不应遇到 CORS 错误。

## 第 5 阶段：全面的场景测试
<a name="phase5-comprehensive-testing"></a>

在多个场景中进行测试，以确保稳健运行。

1. 使用不同的玩家类型进行测试：
   + 网络浏览器中的 HLS.js 玩家
   + Video.js 支持 HLS 和 DASH 的玩家
   + 移动设备上的原生玩家
   + 智能电视和机顶盒播放器

1. 在不同的设备和平台上进行测试：
   + 移动设备（iOS、安卓）
   + 桌面浏览器（Chrome、火狐浏览器、Safari、Edge）
   + 智能 TVs 和流媒体设备
   + 不同的操作系统版本

1. 测试不同的内容类型：
   + 直播内容
   + 视频点播 (VOD) 内容
   + 不同的视频格式和比特率
   + 具有不同广告插播模式的内容

1. 测试广告定位场景：
   + 不同的受众特征定位参数
   + 跨不同地区的地理定位
   + 基于时间的定位（一天中的不同时间）
   + 自定义业务逻辑参数

**成功标准：**所有玩家和设备组合都应在适当的广告定位下正常运行。

## 第 6 阶段：负载和性能测试
<a name="phase6-load-performance-testing"></a>

在实际负载条件下验证性能。

**重要**  
在进行@@ **负载测试之前，请联系 [AWS S](https://aws.amazon.com/premiumsupport/) upport：**在进行负载和性能测试之前，请创建 AWS 支持票证，将您计划的测试通知 MediaTailor 服务团队。这可确保：  
该服务已准备好满足您的预期负载水平
在测试时段内有适当的容量可用
您的测试不会被误认为是生产事件
您将获得有关测试最佳实践和限制的指导
在您的支持请求中包括：预期的并发用户数、测试持续时间、地理区域以及您计划测试的任何特定场景。

1. 测试并发用户场景：
   + 模拟多个并发观看者
   + 测试 CDN 扩展和缓存性能
   + 监控负载下的源服务器性能
   + 验证是否 MediaTailor 可以处理并发会话

1. 衡量绩效指标：
   + 监控负载下的响应时间
   + 检查缓存命中率是否符合预期（热门内容的命中率> 80%）
   + 测量不同场景下第一帧的时间
   + 跟踪负载峰值期间的错误率

1. 测试故障转移场景：
   + 在 ADS 不可用时测试行为
   + 测试源服务器故障转移
   + 验证错误处理和恢复
   + 测试 CDN 边缘位置故障转移

**成功标准：**系统应在预期负载下保持可接受的性能，并在故障期间正常降级。在执行之前，请务必联系 [AWS Supp](https://aws.amazon.com/premiumsupport/) ort，他们会批准您的负载测试计划。