深入浅出可观测性
翁一磊
观测云产品技术总监
4965 人已学习
新⼈⾸单¥29
登录后,你可以任选4讲全文学习
课程目录
已完结/共 18 讲
深入浅出可观测性
15
15
1.0x
00:00/00:00
登录|注册

07 | 软件开发:如何利用可观测性进行驱动?

你好,我是翁一磊。
在上一讲,我们说建立可观测性不仅仅是运维同学的责任,开发同学也应该积极地参与进来,因为代码是开发写出来的,他们是最了解系统和应用的。这节课,我们就更近距离看看可观测性驱动的软件开发,看看它如何更加有效地帮助我们分析生产环境问题,保障生产环境的服务可靠性。

测试驱动的软件开发

如今,在软件投入生产之前,需要先进行一系列的测试,这已经是非常标准的流程了。而你可能也早就听过它的英文首字母缩写 TDD,测试驱动的软件开发(Test Driven Development)。
TDD 指的是一个软件开发过程,它依赖于在软件完全开发之前将软件需求转换为测试用例,然后通过对所有测试用例的重复测试,来跟踪所有软件开发。
简单地说,测试驱动的软件开发包括下面这些流程:
编写一个单元测试,描述程序的一个方面;
运行测试,这个时候测试应该会失败,因为程序缺少该功能;
编写“刚好足够”的代码,尽可能简单,以使测试通过;
“重构”代码,直到它符合简单性标准为止;
重复上述步骤,直到找不到更多驱动编写新代码的测试。
更多详细的介绍,可以访问这个链接
测试驱动的软件开发,可以在许多潜在问题投入生产之前,通过在测试环境中的一系列验证,发现和捕获程序上的问题。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了软件开发中的可观测性对于驱动生产环境的可靠性至关重要。文章提出了测试驱动的软件开发(TDD)和可观测性驱动的软件开发(ODD)两种方法。TDD强调将需求转换为测试用例,并通过重复测试来跟踪开发过程,以发现和捕获潜在问题。然而,生产环境与测试环境不一致,因此需要针对生产环境建立可观测性,让开发人员积极参与到可观测性的建立中。ODD鼓励开发团队在整个开发过程中考虑应用程序的可靠性和软件质量,利用工具或开发人员的插桩来观测系统的状态和行为。文章还提出了选择合适的可观测工具和建立文化和有意义的代码插桩等最佳实践和准则,以及在生产环境中及时发现和解决问题的重要性。通过本文的总结,读者可以了解到如何利用可观测性驱动软件开发,以及在生产环境中建立可观测性的重要性,为保障生产环境的服务可靠性提供了有益的指导。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出可观测性》
新⼈⾸单¥29
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • Jxin
    1.维度有点多,就不一一不列了。 2.存在无法复现的问题,毕竟生产/测试 1:1 的公司没见过。线上可复现的就打堆栈,线下分析。线上不可复现的,处不处理先判断下,只要不会资损,影响的scope有限,那就算了吧,何必和自己过不去呢。必须得处理的,用有限的日志构建上下文,用意念硬撸代码还原现场,不断排除正常模块,锁点问题点,本地模拟环境debug验证。

    作者回复: 感谢分享你的实际经验!所以还是希望能够多靠数据,减少意念。。

    2022-09-29归属地:上海
    5
  • includestdio.h
    感觉TDD转ODD会有很多困难,甚至会有一些风险,很多东西感觉要从根部矫正,特别是文化方面的东西,不过确实ODD感觉会更合理一些
    2022-09-28归属地:陕西
    2
  • 三毛
    一般性能造成的问题比较难解决,对可观测性的要求也比较高
    2022-10-09归属地:北京
    1
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部