两阶段和三阶段测试
两阶段和三阶段测试
本主题介绍在部署到生产环境之前在过渡环境中进行 QA 测试的最佳实践。
云眼灰度实验自动附带两个环境:和 .选择标帜时,将被定向到环境规则。 Production``Development``Development

可以添加其他环境并更改设置为主环境的环境。有关详细信息,请参阅管理环境。
请记住,每个环境都有一个不同的数据文件,将使用该文件初始化云眼灰度实验 SDK。
📘 注意
您不一定需要单独的环境才能使用 云眼 功能实验的环境功能。例如,可以使用测试 Cookie 为用户创建环境。您只需要实现在用户拥有测试 cookie 时使用测试 cookie 环境初始化 云眼 的逻辑。
两阶段和三阶段测试环境
下面是环境用例的两个示例。可以拥有无限数量的环境,并且使用它们的可能性比我们在此处描述的要多得多。使用工作流所需的任意数量的环境。
通常,使用的环境越少,工作流就越简单。
两阶段“沙盒”质量保证
两阶段“沙盒”QA 用例是 Web 开发中的常见设置,涉及以下单独的顺序环境:
- 本地:代码仅针对开发团队和 QA 运行
- 生产:为所有访问者部署并运行代码
即使应用程序没有单独的部署环境,也可以使用“沙盒”方法。一个常见的用例是在本地文件和生产文件之间切换以进行调试。例如,可以在启用某个“测试”cookie、附加某个 URL 参数(如 ?debug=true)或基于与内部工作流匹配的其他检查时加载本地文件。
三阶段测试
三阶段测试用例涉及以下独立的顺序环境:
- 本地:代码仅供编写它的开发人员运行。无需为每个开发人员创建单独的本地环境,只需在开发期间运行实验的一个环境即可。
- 暂存:代码与更大的开发团队和 QA 共享。
- 生产:为所有访问者部署并运行代码。
示例测试环境方案
假设有三个实验:按名称排序、显示小计和警告空购物车。设置一个名为Testing
的新环境,以便在将实验代码部署到生产环境之前对其进行测试。假设:
- 你已完成按名称排序实验的测试并部署了它。
- 您当前正在测试显示小计实验。
- 警告空车实验已经过测试,但尚未部署。
下面概述了两个环境中三个实验的状态:
实验 | 测试环境活动状态和数据文件状态 | 生产环境活动状态和数据文件状态 |
---|---|---|
按名称排序 | 暂停* | 运行 |
显示小计 | 运行 | 未启动 |
警告空车 | 暂停 | 未启动 |
如果你愿意,可以让实验在测试环境中运行,这些实验也在生产环境中运行。
现在,让我们假设项目所有者创建了第三个环境:Staging
。云眼灰度实验将生成一个名为Staging
的附加数据文件。在Staging
中,每个实验都将处于“未开始”活动状态,并且Staging
数据文件会将实验状态显示为“未开始”。
当实验代码功能齐全并准备好进行测试时,通过将代码指向Testing
数据文件来将其切换到Testing
环境。