
测试事件驱动型微服务
|
211
缓解此问题通常需要与基础架构团队密切协调,以确保可以通过访问控制独立地调配测试
环境,或者创建一个供所有人使用的大型公共环境(如本章后面所述,这有其自身的问
题)。开发人员必须将本地临时环境连接到远程资源,但这可能会产生安全问题。清理和
管理远程的临时环境也会出现问题。应对这一挑战的方法很多,但这种情况可能带来的问
题太大,无法在这里全面解决。
好消息是,很多大型封闭源代码服务供应商正在努力提供本地的开发和测试方案,因此先
行者们迟早都会有可用的方案。同时,请谨慎选择服务,并考虑其是否提供本地开发和集
成测试选项。
15.7
完全远程集成测试
完全远程集成测试使你能够执行在本地环境中难以执行的特定测试。例如,性能和负载测
试对于确保被测微服务实现其服务级别目标至关重要。事件处理吞吐量、“请求
–
响应”
延迟、实例伸缩和故障恢复都可通过完全集成测试获得。
完全集成测试的目标是创建一个尽可能接近生产环境的环境,包括应用程序
运行中的事件流、事件数据量、事件
schema
和
“请求
–
响应”模式(如果
适用的话)。
完全集成测试通常使用以下三种方式中的一种。使用临时集成环境,一旦完成测试就丢弃
它;使用共享的测试环境,该环境在集成测试之间持续存在,并由多个团队使用;使用生
产环境本身来进行测试。
15.7.1
程序化创建临时集成测试环境
14.13
节研究了以程序化方式生成事件代理和计算资源管理器的优势。你可以使用这些工
具来生成集成测试的临时环境。可以创建一组单独的代理以及单独保留的计算资源来运行 ...