持续交付 36 讲
王潇俊
携程系统研发部总监
39681 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
开篇词 (1讲)
结束语 (1讲)
持续交付 36 讲
15
15
1.0x
00:00/00:00
登录|注册

09 | 测试环境要多少?从成本与效率说起

让环境自己说话
制定统一配置解决方案
使用 mock service 模拟服务
利用泳道隔离相关测试应用
抽象公共环境
测试成本
沟通成本
测试数据维护
配置管理
可用性维护
随需求增加而增加
高成本
性能测试环境的独立性
确保子环境副本数满足测试需求
减少大环境数量
减轻配置的复杂度
避免产生多套公共环境
公共与泳道的设计
流程成本
管理成本
机器资源成本
思考题
总结
如何调解效率和成本的矛盾
成本问题
测试环境的成本与效率

该思维导图由 AI 生成,仅供参考

在上一篇文章中,我分享了互联网公司测试环境的常见结构,以及对用户来说什么样的测试环境才是好用的。然而对测试环境来说,只是高效好用还不够,还要考虑到成本问题。
效率和成本永远是一对矛盾体。今天,我就从成本和效率出发,和你聊聊构建测试环境时,还需要考虑的其他维度。

测试环境的成本

谈到环境成本,你很自然地就会想到云计算,《持续交付:发布可靠软件的系统方法》一书出版时,云计算还是一个时髦的概念,而 8 年后的今天,云技术已经非常成熟了。
今天,部分传统企业和互联网企业都在选择混合云架构,而创业公司选择公有云已经有了点模式化的意味。公有云非常好地满足了 DevOps 的“基础设施即代码”的理念,哪怕你完全不使用公有云,那在环境中整合开源的私有云技术依然能为你带来不少便利。
然而,云计算并非“银弹”,我们上云后,在成本上,还是有很多值得去思考和做的事情。
尤其是当环境数量增加时,你很容易就可以想到成本会增加,但是你可能并不明白要增加哪些方面的成本,以及会增加多少的问题。那么,接下来,我就跟你聊聊当环境数量增加时,你需要考虑的成本有哪些呢?
首先是机器资源成本
保证环境的独立性,是你构建更多套环境的一个主要原因。但是,一套独立的、拥有完整链路的环境成本是非常高的。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

构建测试环境时需要考虑成本与效率的平衡。本文从成本和效率的角度出发,讨论了构建测试环境时需要考虑的多个维度。首先介绍了测试环境的成本,包括机器资源成本、管理成本和流程成本。其次,提出了如何调解效率和成本的矛盾,包括抽象公共环境、避免产生多套公共环境和减轻配置的复杂度等建议。通过这些方法,可以在保证效率的同时降低测试环境的成本。文章内容深入浅出,为读者提供了在构建测试环境时需要考虑的关键因素和解决方案。 在构建测试环境时,需要考虑成本与效率的平衡。本文从成本和效率的角度出发,讨论了构建测试环境时需要考虑的多个维度。首先介绍了测试环境的成本,包括机器资源成本、管理成本和流程成本。其次,提出了如何调解效率和成本的矛盾,包括抽象公共环境、避免产生多套公共环境和减轻配置的复杂度等建议。通过这些方法,可以在保证效率的同时降低测试环境的成本。文章内容深入浅出,为读者提供了在构建测试环境时需要考虑的关键因素和解决方案。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《持续交付 36 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(10)

  • 最新
  • 精选
  • 童飞帆
    老师你好,请假一个问题,在创建子环境的时候,启动应用时候是否做了数据库隔离?若数据库未隔离,则子环境间数据难免会互相污染;若数据库隔离,那么是否意味着创建子环境时同时也要新建数据表单同时插入初始化数据?

    作者回复: 从微服务的方向来说是独立隔离数据库的,但也并不绝对,比如公用的用户数据库等还是可以共用,但可以以数据相隔离,比如使用不同的用户,但这类数据库要保证向前兼容

    2018-12-30
    1
  • Robert小七
    老师说的中间件来进行隔离子环境,请问有具体的示范嘛?

    作者回复: 这个讲起来会比较复杂,建议可以学习一下服务治理,服务发现,链路等相关知识

    2019-09-03
  • zhf_sy
    请问,spring cloud微服务,敏捷方式: 设计,开发,测试,一般时间占比是多少? 微服务与传统单体应用会慢多少?

    作者回复: 这个很难回答啊,任何应用之间,人和人之间都没有可比性的,而且敏捷不是一味追求快速度哦,是找到合适自己团队的节奏 另外,也没有人说微服务比单体应用慢呢

    2018-08-31
  • 最真实的自己
    第一,公共与泳道的 这种方案真能解决并行开发,开行测试的问题么,如果公共环境中的模块正在开发呢?

    作者回复: 2种方案,一种,公共中保持老版本,独立一个泳道测试新版本;第二种,公共中更新新版本,需要依赖老版本的应用在自己的泳道中部署老版本。当然,实际上肯定是推荐第一种方法的

    2018-07-26
  • 旭东(Frank)
    性能测试还是一个独立干净的环境更容易达到测试目的。如果和别的测试环境混搭,机器性能指数都不太准确,对测试结果的精确度以及正确性都会有影响,所以尽量使用独立测试环境
    2018-07-24
    8
  • 李奋斗
    性能测试可以夜里在验收环境上跑,验收环境在部署与数据上跟生产最相近。
    2018-07-24
    1
    5
  • Robert小七
    前一章的开发,功能测试,验收,预生产,生产环境,和这节课的集成,公共有什么联系?看懵了
    2019-07-02
    1
  • Robert小七
    前一章的开发,功能测试,验收,预生产,生产环境,和这节课的集成,公共有什么联系?看懵了
    2019-07-02
  • 春之绿野
    应该是独立的大环境比较合适吧,作为子环境的话和其他子环境公用一个大环境,性能会受到其他子环境的影响。测试的结果不准确。
    2019-06-08
  • 一笑
    性能测试最佳的实践是怎么样的?
    2019-05-07
    1
收起评论
显示
设置
留言
10
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部