

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

# CDN 集成测试程序
<a name="cdn-testing-procedures"></a>

在将 MediaTailor CDN 集成部署到生产环境之前，必须进行适当的测试。这些测试程序有助于识别不同设备和平台之间的配置问题、性能问题和兼容性问题。

## 基本集成验证
<a name="basic-integration-testing"></a>

执行以下基本测试以验证您的 CDN 集成是否正常运行：

1. **测试清单交付**：
   + 通过您的 CDN 请求清单并验证它是否返回了有效的响应
   + 验证清单是否包含预期的内容和广告插入点
   + 检查清单是否 URLs 使用你的 CDN 域名，而不是来源
   + 使用 HLS 或 DASH 验证工具验证清单语法

1. **验证网址重写**：
   + 检查清单 URLs 中的内容段是否指向你的 CDN 域名
   + 验证广告区段 URLs 指向你的 CDN 域名
   + 确保所有亲属 URLs 都得到正确解析

1. **测试内容播放**：
   + 通过视频播放器播放内容并验证播放流畅
   + 验证内容和广告都能畅通无阻地播放
   + 检查内容和广告之间的过渡是否正确
   + 测试搜索和擦洗功能

1. **验证 CDN 路由**：
   + 监控 CDN 访问日志，确保请求路由正确
   + 验证缓存 hit/miss 模式是否符合预期
   + 检查是否只有在缓存未命中时才会发出源请求

## 高级测试程序
<a name="advanced-integration-testing"></a>

执行以下额外测试以进行全面验证：

1. **跨平台兼容性测试**：
   + 在多台设备（台式机、手机、平板电脑、智能电视）上进行测试
   + 验证不同浏览器的兼容性
   + 使用各种视频播放器（HLS.js、Video.js、原生播放器）进行测试
   + 在不同的操作系统上进行验证

1. **性能测试**：
   + 衡量清单请求的响应时间（目标：缓存时间小于 100 毫秒）
   + 测试不同比特率下的片段加载性能
   + 验证启动时间是否符合性能目标
   + 在各种网络条件下进行测试

1. **广告跟踪验证**：
   + 验证广告跟踪信标是否正确触发
   + 检查广告分析数据的准确性
   + 测试印象和完成跟踪
   + 验证点击功能

1. **错误状态测试**：
   + 测试源暂时不可用时的行为
   + 验证是否对格式错误的请求进行优雅处理
   + 测试 CDN 故障转移场景
   + 验证错误消息的清晰度和实用性

## 创建测试环境
<a name="test-environment-setup"></a>

设置一个反映您的生产配置的测试环境以进行全面验证：

1. 设置单独的 CDN 发行版进行测试：
   + 创建与生产版本具有相同缓存行为的测试 CDN 分发
   + 配置反映您的生产设置的测试来源
   + 使用单独的域名以避免与生产流量发生冲突

1. 创建测试 MediaTailor 配置：
   + 使用与制作相同的设置来设置测试回放配置
   + 配置测试广告决策服务器端点
   + 使用与您的制作广告格式相匹配的测试广告内容

1. 实施系统的测试流程：
   + 为配置更改创建测试清单
   + 为您的团队记录测试程序
   + 尽可能设置自动测试

## 在多个场景中进行测试
<a name="multi-scenario-testing"></a>

在不同的场景和条件下验证您的集成，以确保全面覆盖：

1. 使用多种玩家类型和设备进行测试：
   + 使用不同的视频播放器（网络、手机、联网电视）进行测试
   + 在不同的操作系统和浏览器上进行验证
   + 测试各种网络条件和连接速度

1. 创建自动测试脚本：
   + 自动验证清单请求
   + 创建脚本以测试广告插入场景
   + 针对高流量场景实施性能测试

1. 验证广告定位和个性化：
   + 使用不同的用户资料和定位参数进行测试
   + 验证广告决策服务器集成
   + 在广告不可用时测试备用场景

## 测试工具和技术
<a name="testing-tools-techniques"></a>

使用以下工具和技术进行有效的测试：

浏览器开发者工具  
使用 “网络” 选项卡检查 HTTP 请求和响应  
监控控制台 JavaScript 是否存在错误和警告  
验证响应标头和缓存行为  
查看时序信息以进行性能分析

命令行测试  
使用 curl 来测试特定的标题 URLs 并检查标题：  

```
curl -I "https://your-cdn-domain.com/path/to/manifest.m3u8"
```
使用 wget 进行下载测试和时序分析  
使用像 httpie 这样的工具进行更具可读性的 HTTP 测试

视频播放器测试  
使用多个玩家实现进行测试  
使用玩家调试模式检查内部行为  
监控玩家事件和错误回调  
验证自适应比特率切换行为

CDN 分析和监控  
在测试期间监控实时 CDN 指标  
查看访问日志以了解请求模式  
如果有 CDN 特定的测试工具，请使用  
为测试验证设置临时警报

有关其他全面的测试方法和系统验证方法，请参阅[CDN 和集成的测试和 MediaTailor 验证](cdn-integration-testing.md)。