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