07 | 软件开发:如何利用可观测性进行驱动?
翁一磊
你好,我是翁一磊。
在上一讲,我们说建立可观测性不仅仅是运维同学的责任,开发同学也应该积极地参与进来,因为代码是开发写出来的,他们是最了解系统和应用的。这节课,我们就更近距离看看可观测性驱动的软件开发,看看它如何更加有效地帮助我们分析生产环境问题,保障生产环境的服务可靠性。
测试驱动的软件开发
如今,在软件投入生产之前,需要先进行一系列的测试,这已经是非常标准的流程了。而你可能也早就听过它的英文首字母缩写 TDD,测试驱动的软件开发(Test Driven Development)。
TDD 指的是一个软件开发过程,它依赖于在软件完全开发之前将软件需求转换为测试用例,然后通过对所有测试用例的重复测试,来跟踪所有软件开发。
简单地说,测试驱动的软件开发包括下面这些流程:
编写一个单元测试,描述程序的一个方面;
运行测试,这个时候测试应该会失败,因为程序缺少该功能;
编写“刚好足够”的代码,尽可能简单,以使测试通过;
“重构”代码,直到它符合简单性标准为止;
重复上述步骤,直到找不到更多驱动编写新代码的测试。
测试驱动的软件开发,可以在许多潜在问题投入生产之前,通过在测试环境中的一系列验证,发现和捕获程序上的问题。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了软件开发中的可观测性对于驱动生产环境的可靠性至关重要。文章提出了测试驱动的软件开发(TDD)和可观测性驱动的软件开发(ODD)两种方法。TDD强调将需求转换为测试用例,并通过重复测试来跟踪开发过程,以发现和捕获潜在问题。然而,生产环境与测试环境不一致,因此需要针对生产环境建立可观测性,让开发人员积极参与到可观测性的建立中。ODD鼓励开发团队在整个开发过程中考虑应用程序的可靠性和软件质量,利用工具或开发人员的插桩来观测系统的状态和行为。文章还提出了选择合适的可观测工具和建立文化和有意义的代码插桩等最佳实践和准则,以及在生产环境中及时发现和解决问题的重要性。通过本文的总结,读者可以了解到如何利用可观测性驱动软件开发,以及在生产环境中建立可观测性的重要性,为保障生产环境的服务可靠性提供了有益的指导。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出可观测性》,新⼈⾸单¥29
《深入浅出可观测性》,新⼈⾸单¥29
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- Jxin1.维度有点多,就不一一不列了。 2.存在无法复现的问题,毕竟生产/测试 1:1 的公司没见过。线上可复现的就打堆栈,线下分析。线上不可复现的,处不处理先判断下,只要不会资损,影响的scope有限,那就算了吧,何必和自己过不去呢。必须得处理的,用有限的日志构建上下文,用意念硬撸代码还原现场,不断排除正常模块,锁点问题点,本地模拟环境debug验证。
作者回复: 感谢分享你的实际经验!所以还是希望能够多靠数据,减少意念。。
2022-09-29归属地:上海5 - includestdio.h感觉TDD转ODD会有很多困难,甚至会有一些风险,很多东西感觉要从根部矫正,特别是文化方面的东西,不过确实ODD感觉会更合理一些2022-09-28归属地:陕西2
- 三毛一般性能造成的问题比较难解决,对可观测性的要求也比较高2022-10-09归属地:北京1
收起评论